The ATL COM module generalInvoiceRequest is capable of
generating electronic and printed invoices & reminders
generating electronic and printed invoices & reminders
API browser of generalInvoiceRequest450 COM module
IGeneralInvoiceResult::GetNextService method | |||||||||
---|---|---|---|---|---|---|---|---|---|
Retrieves the next "simple/normal" service from the list of services.
Please note, that "simple/normal" qualifies as being added by the IGeneralInvoiceRequest::AddService method VARIANT_FALSE is returned if the end of the service list is reached. |
|||||||||
Restful webservice calling syntax | |||||||||
[POST] | /baseURL/IGeneralInvoiceResult/GetNextService | ||||||||
[JSON input data] | pIGeneralInvoiceResult: | longValue, //interface address |
|||||||
[JSON result data] | pbstrTariffType: pbstrCode: pbstrReferenceCode: pdQuantity: plSessionNumber: pdDateBegin: pdDateEnd: pbstrProviderEAN: pbstrResponsibleEAN: pbstrText: pdUnit: pdUnitFactor: pdExternalFactor: pdAmount: pdVatRate: peIsObligatory: pbstrRemark: pbstrSectionCode: peIgnoreValidate: plServiceAttributes: plID: pbStatus: |
"utf8StringValue", "utf8StringValue", "utf8StringValue", doubleValue, longValue, "stringISODateValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, longValue, "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. | ||||||||
C/C++ calling syntax | |||||||||
HRESULT GetNextService( | BSTR
BSTR BSTR double long DATE DATE BSTR BSTR BSTR double double double double double YesNoType BSTR BSTR YesNoType long long VARIANT_BOOL |
*pbstrTariffType,
*pbstrCode, *pbstrReferenceCode, *pdQuantity, *plSessionNumber, *pdDateBegin, *pdDateEnd, *pbstrProviderEAN, *pbstrResponsibleEAN, *pbstrText, *pdUnit, *pdUnitFactor, *pdExternalFactor, *pdAmount, *pdVatRate, *peIsObligatory, *pbstrRemark, *pbstrSectionCode, *peIgnoreValidate, *plServiceAttributes, *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. | ||||||||
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] BSTR | *pbstrProviderEAN | EAN number of the service provider party.
Note if on input 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 on input 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] BSTR | *pbstrText | The name of the service as defined by the used tariff | |||||||
[out] double | *pdUnit | Tax points (TP) of the service. | |||||||
[out] double | *pdUnitFactor | Tax point value (TPV) of the service. | |||||||
[out] double | *pdExternalFactor | The external scaling factor used to scale the service e.g. to give a discount or surcharge.
In the case of a DRG service dExternalFactor is used to define any splitting situation!. If a 3-party splitting situation is described then dExternalFactor is the product of both splitting factors. The later 2 splitting factors are then retrieved by using the IGeneralInvoiceResult::GetXtraDRG method! |
|||||||
[out] double | *pdAmount | The amount in CHF of the service supplied in 2-digit precision.
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] 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
|
|||||||
[out] long | *plID | This is the returned internal ID of the service record.
This internal ID is used as key to retrieve extra information for the service e.g. with the IGeneralInvoiceRequest::SetXtraDrug or IGeneralInvoiceRequest::SetXtraDRG methods, respectively. |
|||||||
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached | |||||||