API browser of generalInvoiceRequest430 COM module


/images/arrow_right.png IGeneralInvoiceResult::GetXtraTreatment method
Retrieves the additional treatment input data if eRoleType=enRoleHospital and/or ePlaceType=enPlaceHospital.

VARIANT_FALSE is returned if the data are not defined.

space
 
/images/arrow_right.png C/C++ calling syntax
HRESULT GetXtraTreatment( TreatmentType
DATE
long
HospitalizationType
HospitalizationMode
HospitalizationClass
BSTR
YesNoType
AdmissionType
DischargeType
VARIANT_BOOL
*peTreatmentType,
*pdDateHospitalization,
*plTreatmentDays,
*peHospitalizationType,
*peHospitalizationMode,
*peHospitalizationClass,
*pbstrSectionMajor,
*peHasExpenseLoading,
*peAdmissionType,
*peDischargeType,
*pbStatus);
 
/images/arrow_right.png Calling argument description
[out] TreatmentType *peTreatmentType The type of treatment -ambulatory or stationary- given by the TreatmentType enumeration
[out] DATE *pdDateHospitalization dDateHospitalization is the date and time of the hospitalization. This information is meaningless in the ambulatory case and should be ignored!

Note, that this date must be less or equal the dDateBegin of the treatment period set in IGeneralInvoiceRequest::SetTreatment method.

[out] long *plTreatmentDays lTreatmentDays is the number of treatment days within the given treatment period. This information is meaningless in the ambulatory case and should be ignored!

The calculation of these treatment days is dependent on whether SwissDRG is used nor not!
The treatment days are calculated as

  • None-SwissDRG: «(treatment@date_end - treatment@date_begin + 1 - vacation_days)»
  • SwissDRG: «(treatment@date_end - treatment@date_begin - vacation_days)»
where vacation_days is the number of vacation days (the leave days when the patient was not in the hospital for treatment).
[out] HospitalizationType *peHospitalizationType The type/reason of hospitalization given by the HospitalizationType enumeration
[out] HospitalizationMode *peHospitalizationMode The mode/indication of hospitalization given by the HospitalizationMode enumeration.

This information is meaningless in the ambulatory case and should be ignored!

[out] HospitalizationClass *peHospitalizationClass The hospitalization class given by the HospitalizationClass enumeration.

This information is meaningless in the ambulatory case and should be ignored!

[out] BSTR *pbstrSectionMajor The major BfS section code as defined by Swiss Federal Statistical Office
[out] YesNoType *peHasExpenseLoading The Boolean eHasExpenseLoading defines if there is an expense loading by the patient ("Spitalkostenbeitrag").

This information is meaningless in the ambulatory case and should be ignored!

[out] AdmissionType *peAdmissionType The type/reason of the patient's admission given by the AdmissionType enumeration which is basically the DRG grouper admission enumeration.

This information is meaningless in the ambulatory case and should be ignored!

[out] DischargeType *peDischargeType The type/reason of the patient's discharge given by the DischargeType enumeration which is basically the DRG grouper discharge enumeration.

This information is meaningless in the ambulatory case and should be ignored!

[out, retval] VARIANT_BOOL *pbStatus Return status of the method. If pbStatus is VARIANT_FALSE the data are undefined
 
/images/arrow_right.png C/C++ return value
S_OK This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
E_name This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.