API browser of generalInvoiceRequest440 COM module


/images/arrow_right.png IGeneralInvoiceResult::GetFirstTarmedService method
Retrieves the first Tarmed service record
 
VARIANT_FALSE is returned if the end of the Tarmed service list is reached.
space
 
/images/arrow_right.png C/C++ calling syntax
HRESULT GetFirstTarmedService( BSTR
BSTR
BSTR
double
long
DATE
SideType
BSTR
double
double
double
double
double
double
double
double
double
double
YesNoType
BSTR
BSTR
YesNoType
long
TreatmentType
double
double
BSTR
BSTR
BillingRoleType
MedicalRoleType
long
VARIANT_BOOL
*pbstrTariffType,
*pbstrCode,
*pbstrReferenceCode,
*pdQuantity,
*plSessionNumber,
*pdDate,
*peSide,
*pbstrText,
*pdUnitMT,
*pdUnitFactorMT,
*pdUnitInternalScalingFactorMT,
*pdAmountMT,
*pdUnitTT,
*pdUnitFactorTT,
*pdUnitInternalScalingFactorTT,
*pdAmountTT,
*pdAmount,
*pdVatRate,
*peIsObligatory,
*pbstrRemark,
*pbstrSectionCode,
*peIgnoreValidate,
*plServiceAttributes,
*peTreatmentType,
*pdExternalFactorMT,
*pdExternalFactorTT,
*pbstrProviderEAN,
*pbstrResponsibleEAN,
*peBillingRole,
*peMedicalRole,
*plID,
*pbStatus);
 
/images/arrow_right.png Calling argument description
[out] BSTR *pbstrTariffType The official Tarmed tariff type.
 
The tariff type is currently ignored and fixed to "001"
[out] BSTR *pbstrCode The Tarmed service code.
[out] BSTR *pbstrReferenceCode The Tarmed reference code if one must be supplied otherwise empty
[out] double *pdQuantity The floating point quantity.
 
Note that quantity changes the sign if a credit advice or a storno request is produced.
[out] long *plSessionNumber The Tarmed session number
[out] DATE *pdDate The date of the service's application
[out] SideType *peSide The Tarmed side type
[out] BSTR *pbstrText The service name as defined by the Tarmed tariff
[out] double *pdUnitMT Tax points for the medical Tarmed part of the service.
[out] double *pdUnitFactorMT Tax points for the medical Tarmed part of the service.
[out] double *pdUnitInternalScalingFactorMT Internal scaling factor for medical part of the Tarmed service.
[out] double *pdAmountMT The amount in CHF for the medical part of the Tarmed service supplied in 2-digit precision.
 
Note that medical amount changes the sign if a credit advice or a storno request is produced.
[out] double *pdUnitTT Tax points for the technical Tarmed part of the service.
[out] double *pdUnitFactorTT Tax points for the technical Tarmed part of the service.
[out] double *pdUnitInternalScalingFactorTT Internal scaling factor for technical part of the Tarmed service.
[out] double *pdAmountTT The amount in CHF for the technical part of the Tarmed service supplied in 2-digit precision.
 
Note that technical amount changes the sign if a credit advice or a storno request is produced.
[out] double *pdAmount The amount in CHF of the Tarmed service as sum from the MT and TT part supplied in 2-digit precision.
 
Note that amount changes the sign if a credit advice or a storno request is produced.
[out] double *pdVatRate The VAT rate that should be applied to this service.
[out] YesNoType *peIsObligatory Enumerator indicating whether the given service record is obligatory regarding the given law (UVG,KVG,...). If the enumerator is set to enObligationAutomatic then the status is set internally using some ad hoc rules.
[out] BSTR *pbstrRemark An optional remark for the given service
[out] BSTR *pbstrSectionCode An optional BfS section code where the service was applied as defined by Swiss Federal Statistical Office - this code is only given for eRoleType=enRoleHospital!
[out] YesNoType *peIgnoreValidate Flag indicating whether the validation was ignored.
 
This flag might be useful in the following situation: the user wants to add the service even if the validation failed, perhaps he has a special agreement with the insurance or patient.
[out] long *plServiceAttributes lServiceAttributes is a 32-bit integer where each bit position defines a special information.
 
Defined bit positions as of February 2021
Bit Meaning
Bit 1:
(0x000001)
Code207: no drug substitution due to medical reasons. Applies to drug services only!
 
If this bit ("Code207") is set, the service provider declares that the drug prescribed must not be substituted due to medical reasons.
Bit 2:
(0x000002)
franchisefree_12e_d: Franchise exemption according to Art. 12e lit. D KLV
 
If this bit ("franchisefree_12e_d") is set, the service provider declares that the service was prescribed as part of a preventive care program and the health care company must bill this service as franchise-free.
[out] TreatmentType *peTreatmentType The type of treatment (ambulatory or stationary) given by the TreatmentType enumeration
[out] double *pdExternalFactorMT The external scaling factor of the medical part used to scale the tax point value e.g. to give a discount
 
Note that due to backwards compatibility the external scale factor of the medical part is defined with the ITarmedInput::ExternalFactor_MT property
[out] double *pdExternalFactorTT The external scaling factor of the medical part used to scale the tax point value e.g. to give a discount
 
Note that due to backwards compatibility the external scale factor of the technical part is defined with the ITarmedInput::ExternalFactor_TT property
[out] BSTR *pbstrProviderEAN EAN number of the service provider party.
 
Note if bstrProviderEAN is undefined and bstrResponsibleEAN is defined then bstrResponsibleEAN is copied into the bstrProviderEAN variable. If both variables are undefined the pseudo EAN "2099999999999" is set.
[out] BSTR *pbstrResponsibleEAN EAN number of the service responsible party.
 
Note if bstrResponsibleEAN is undefined and bstrProviderEAN is defined then bstrProviderEAN is copied into the bstrResponsibleEAN variable. If both variables are undefined the pseudo EAN "2099999999999" is set.
[out] BillingRoleType *peBillingRole The Tarmed billing role used for this service
[out] MedicalRoleType *peMedicalRole The Tarmed medical role used for this service
[out] long *plID This is the internal ID of the service record.
[out, retval] VARIANT_BOOL *pbStatus Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
 
/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.