API browser of generalInvoiceRequest440 COM module


/images/arrow_right.png IGeneralInvoiceRequest::AddTarmedService method
Adds a Tarmed service to the list of Tarmed services.
 
The method automatically auto-expand the "missing data", namely bstrText, dAmount, dUnitMT, dUnitInternalScalingFactorMT, dAmountMT, dUnitTT, dUnitInternalScalingFactorTT, dAmountTT.
 
If the return status is VARIANT_FALSE then the service record is not added!
space
 
/images/arrow_right.png C/C++ calling syntax
HRESULT AddTarmedService( ITarmedInput
BSTR
BSTR
BSTR
double
long
DATE
SideType
YesNoType
double
double
double
ObligationType
BSTR
BSTR
long
long
VARIANT_BOOL
*pITarmedInput,
bstrTariffType,
bstrCode,
bstrReferenceCode,
dQuantity,
lSessionNumber,
dDate,
eSide,
eIgnoreValidate,
dUnitFactorMT,
dUnitFactorTT,
dVatRate,
eIsObligatory,
bstrRemark,
bstrSectionCode,
lServiceAttributes,
*plID,
*pbStatus);
 
/images/arrow_right.png Calling argument description
[in] ITarmedInput *pITarmedInput ITarmedInput interface instance.
[in] BSTR bstrTariffType The official Tarmed tariff type.
 
The tariff type is currently ignored and fixed to "001"
[in] BSTR bstrCode The Tarmed service code.
[in] BSTR bstrReferenceCode The Tarmed reference code if one must be supplied (otherwise bstrReferenceCode is ignored)
[in] double dQuantity The floating point quantity.
 
Note that quantity changes the sign if a credit advice or a storno request is produced.
[in] long lSessionNumber The Tarmed session number
[in] DATE dDate The date of the service's application
[in] SideType eSide The Tarmed side type
[in] YesNoType eIgnoreValidate 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.
[in] double dUnitFactorMT Tax point value for the medical Tarmed part of the service.
[in] double dUnitFactorTT Tax point value for the technical Tarmed part of the service.
[in] double dVatRate The VAT rate that should be applied to this service.
[in] ObligationType eIsObligatory 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.
[in] BSTR bstrRemark An optional remark for the given service
 
Patch for populating service attributes
If service attribute keywords
{Code207 | Franchisefree_12e_d}
are supplied (case-independent) as part of the remark, than these keywords are migrated into the lServiceAttributes variable and thereafter removed from the remark.
Thus, this is an alternative method of setting lServiceAttributes - cf. below.
[in] BSTR bstrSectionCode 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!
[in] long lServiceAttributes 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] long *plID This is the internal ID of the service record.
 
Currently unused for Tarmed records.
[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.