API browser of generalInvoiceRequest450 COM module


/images/arrow_right.png IGeneralInvoiceResult::GetFirstServiceEx method space
Retrieves the first "extended" service from the list of services.
 
Please note, that "extended" qualifies as being added by the IGeneralInvoiceRequest::AddServiceEx method.
 
VARIANT_FALSE is returned if the end of the service list is reached.
space
/images/arrow_right.png Restful webservice calling syntax
[POST] /baseURL/IGeneralInvoiceResult/GetFirstServiceEx
[JSON input data] pIGeneralInvoiceResult: longValue,    //interface address
[JSON result data] pbstrTariffType:
pbstrCode:
pbstrReferenceCode:
pdQuantity:
plSessionNumber:
pdDateBegin:
pdDateEnd:
peSide:
pbstrText:
pdUnitMT:
pdUnitFactorMT:
pdUnitInternalScalingFactorMT:
pdAmountMT:
pdUnitTT:
pdUnitFactorTT:
pdUnitInternalScalingFactorTT:
pdAmountTT:
pdAmount:
pdVatRate:
peIsObligatory:
pbstrRemark:
plGroupSize:
pbstrSectionCode:
peIgnoreValidate:
plServiceAttributes:
peTreatmentType:
pdExternalFactorMT:
pdExternalFactorTT:
pbstrProviderEAN:
pbstrResponsibleEAN:
peBillingRole:
peMedicalRole:
plID:
pbStatus:
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
longValue,
"stringISODateValue",
"stringISODateValue",
longValue,
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
longValue,
"utf8StringValue",
longValue,
"utf8StringValue",
longValue,
longValue,
longValue,
doubleValue,
doubleValue,
"utf8StringValue",
"utf8StringValue",
longValue,
longValue,
longValue,
booleanValue
 
[HTTP result status] 200 Return status 200 signals a successful method call
204 Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
/images/arrow_right.png C/C++ calling syntax
HRESULT GetFirstServiceEx( BSTR
BSTR
BSTR
double
long
DATE
DATE
SideType
BSTR
double
double
double
double
double
double
double
double
double
double
YesNoType
BSTR
long
BSTR
YesNoType
long
TreatmentType
double
double
BSTR
BSTR
BillingRoleType
MedicalRoleType
long
VARIANT_BOOL
*pbstrTariffType,
*pbstrCode,
*pbstrReferenceCode,
*pdQuantity,
*plSessionNumber,
*pdDateBegin,
*pdDateEnd,
*peSide,
*pbstrText,
*pdUnitMT,
*pdUnitFactorMT,
*pdUnitInternalScalingFactorMT,
*pdAmountMT,
*pdUnitTT,
*pdUnitFactorTT,
*pdUnitInternalScalingFactorTT,
*pdAmountTT,
*pdAmount,
*pdVatRate,
*peIsObligatory,
*pbstrRemark,
*plGroupSize,
*pbstrSectionCode,
*peIgnoreValidate,
*plServiceAttributes,
*peTreatmentType,
*pdExternalFactorMT,
*pdExternalFactorTT,
*pbstrProviderEAN,
*pbstrResponsibleEAN,
*peBillingRole,
*peMedicalRole,
*plID,
*pbStatus);
[C/C++ return value] S_OK This value is returned if the function call was successful.
S_FALSE This value is returned if the end of an iteration is reached
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.
space
/images/arrow_right.png Calling argument description
[out] BSTR *pbstrTariffType The official tariff type as defined by Forum Datenaustausch
[out] BSTR *pbstrCode The service code.
[out] BSTR *pbstrReferenceCode The reference code.
 
The reference code might be empty since not all services request one.
[out] double *pdQuantity The floating point quantity.
 
Note that quantity changes the sign if a storno request is produced.
[out] long *plSessionNumber The session number.
 
If the used tariff does not support a session concept than 1 should be defined on input.
[out] DATE *pdDateBegin The date of the service's prescription
[out] DATE *pdDateEnd The date of the last prescription of the service if and only if the service was applied over a period of time.
 
dDateEnd=0.0 is returned for all cases where no end date of the prescription was defined.
[out] SideType *peSide The body side dependency of the service
[out] BSTR *pbstrText The name of the service as defined by the used tariff
[out] double *pdUnitMT Tax points of the medical part (TP_MT) of the service.
[out] double *pdUnitFactorMT Tax point value of the medical part (TPV_MT) of the service.
[out] double *pdUnitInternalScalingFactorMT The internal scaling factor of the medical part of the service.
 
This is a modulation factor to represent percent services and is mostly 1.
[out] double *pdAmountMT The amount in CHF for the medical part of the service.
 
Note that amount changes the sign if a storno request is produced due to the sign change of dQuantity.
[out] double *pdUnitTT Tax points of the technical part (TP_TT) of the service.
[out] double *pdUnitFactorTT Tax point value of the technical part (TPV_TT) of the service.
[out] double *pdUnitInternalScalingFactorTT The internal scaling factor of the technical part of the service.
 
This is a modulation factor to represent percent services and is mostly 1.
[out] double *pdAmountTT The amount in CHF for the technical part of the service.
 
Note that amount changes the sign if a storno request is produced due to the sign change of dQuantity.
[out] double *pdAmount The amount in CHF of the service as sum over dAmountMT + dAmountTT
 
Note that amount changes the sign if a storno request is produced due to the sign change of dQuantity.
[out] double *pdVatRate The VAT rate as real number that was applied to this service.
[out] YesNoType *peIsObligatory Obligatory enumerator indicating whether the given service record has a obligation status 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] long *plGroupSize lGroupSize defines the participating group size of a service whose quantity is calculated by the "Divisor Method". A value of < 2 means that there is no group size dependency!
[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 must be ignored that is whether the corresponding validator must be called or not.
 
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) defined by the IServiceExInput::SetTreatment method.
[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 IServiceExInput::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 IServiceExInput::ExternalFactor_TT property
[out] BSTR *pbstrProviderEAN EAN number of the service provider party defined by the IServiceExInput::SetPhysician method.
[out] BSTR *pbstrResponsibleEAN EAN number of the service responsible party defined by the IServiceExInput::SetPhysician method.
[out] BillingRoleType *peBillingRole The ServiceExInput-relevant billing role applied for this service defined by the IServiceExInput::SetPhysician method.
[out] MedicalRoleType *peMedicalRole The ServiceExInput-relevant medical role applied for this service defined by the IServiceExInput::SetPhysician method.
[out] long *plID This is the returned internal ID of the service record.
[out,retval] VARIANT_BOOL *pbStatus Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space