The ATL COM module generalInvoiceRequest is capable of
generating electronic and printed invoices & reminders
generating electronic and printed invoices & reminders
API browser of generalInvoiceRequest500 COM module
![]() |
![]() |
||||||||
---|---|---|---|---|---|---|---|---|---|
Gets the next "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. |
|||||||||
![]() | |||||||||
![]() |
|||||||||
[POST] | /baseURL/IGeneralInvoiceResult/GetNextServiceEx | ||||||||
[JSON input data] | pIGeneralInvoiceResult: | longValue, //interface address |
|||||||
[JSON result data] | pbstrTariffType: pbstrCode: pbstrReferenceCode: pdQuantity: plSessionNumber: plGroupSize: pdDateBegin: pdDateEnd: pbstrProviderGLN: pbstrResponsibleGLN: peSide: pbstrServiceName: pdUnitMT: pdUnitFactorMT: pdUnitInternalScalingFactorMT: pdUnitExternalScalingFactorMT: pdAmountMT: pdUnitTT: pdUnitFactorTT: pdUnitInternalScalingFactorTT: pdUnitExternalScalingFactorTT: pdAmountTT: pdAmount: pdVatRate: pbstrRemark: pbstrSectionCode: plServiceAttributes: peTreatmentType: peBillingRole: peMedicalRole: plID: pbStatus: |
"utf8StringValue", "utf8StringValue", "utf8StringValue", doubleValue, longValue, longValue, "stringISODateValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", longValue, "utf8StringValue", doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, doubleValue, "utf8StringValue", "utf8StringValue", longValue, longValue, 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. | ||||||||
![]() | |||||||||
![]() |
|||||||||
HRESULT GetNextServiceEx( | BSTR
BSTR BSTR double long long DATE DATE BSTR BSTR SideType BSTR double double double double double double double double double double double double BSTR BSTR long TreatmentType BillingRoleType MedicalRoleType long VARIANT_BOOL |
*pbstrTariffType,
*pbstrCode, *pbstrReferenceCode, *pdQuantity, *plSessionNumber, *plGroupSize, *pdDateBegin, *pdDateEnd, *pbstrProviderGLN, *pbstrResponsibleGLN, *peSide, *pbstrServiceName, *pdUnitMT, *pdUnitFactorMT, *pdUnitInternalScalingFactorMT, *pdUnitExternalScalingFactorMT, *pdAmountMT, *pdUnitTT, *pdUnitFactorTT, *pdUnitInternalScalingFactorTT, *pdUnitExternalScalingFactorTT, *pdAmountTT, *pdAmount, *pdVatRate, *pbstrRemark, *pbstrSectionCode, *plServiceAttributes, *peTreatmentType, *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. | ||||||||
![]() | |||||||||
![]() |
|||||||||
[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 | lSessionNumber defines either a specific patient contact with an unique number over the entire treatment period or a day-based session number. The session number divides the day into a series of individual treatment units (sessions), whereby by default each day starts with the number 1 and is incremented by 1 for each new treatment unit. &nbp; Some tariffs do not include a session concept, others such as TARMED/TARDOC rely heavily on this paradigm. For tariffs without a session concept, simply enter 1 as the session number for all services on one day. |
|||||||
[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] 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 | *pbstrProviderGLN | The GLN of the service provider as supplied by Stiftung Refdata
Note if bstrProviderGLN is undefined and bstrResponsibleGLN is defined then bstrResponsibleGLN is copied into the bstrProviderGLN variable. If both variables are undefined the pseudo GLN "2099999999998" is set. |
|||||||
[out] BSTR | *pbstrResponsibleGLN | The GLN of the responsible for the service as supplied by Stiftung Refdata
Note if bstrResponsibleGLN is undefined and bstrProviderGLN is defined then bstrProviderGLN is copied into the bstrResponsibleGLN variable. If both variables are undefined the pseudo EAN "2099999999998" is set. |
|||||||
[out] SideType | *peSide | The body side dependency of the service | |||||||
[out] BSTR | *pbstrServiceName | 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 | *pdUnitExternalScalingFactorMT | dUnitExternalScalingFactorMT is an external scaling factor for the medical part laying in the provider's responsibility that modulates the corresponding service outside the official tariff structure.
The dUnitExternalScalingFactorMT is used for discounting or surcharging and can even take a zero value to supply a charge free service. For tariff «007 - TarDoc» the tariff owner "OAAT-OTMA" will use the external factor as an additional control element within its cost neutrality project. It is currently unclear how, where and when the corresponding data will be made available. It is also unclear whether this is a date-historical usage of the factor. |
|||||||
[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 | *pdUnitExternalScalingFactorTT | dUnitExternalScalingFactorTT is an external scaling factor for the technical part laying in the provider's responsibility that modulates the corresponding service outside the official tariff structure.
The dUnitExternalScalingFactorTT is used for discounting or surcharging and can even take a zero value to supply a charge free service. For tariff «007 - TarDoc» the tariff owner "OAAT-OTMA" will use the external factor as an additional control element within its cost neutrality project. It is currently unclear how, where and when the corresponding data will be made available. It is also unclear whether this is a date-historical usage of the factor. |
|||||||
[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] BSTR | *pbstrRemark | An optional remark for the given service | |||||||
[out] BSTR | *pbstrSectionCode | The optional bstrSectionCode stems from a variable set defined by "OAAT-OTMA - Reglement Fachbereiche", that designates the service-providing department within a hospital or medical practice, e.g. 'M100.06' for the gastroenterology department.
The list of all departments is documented elsewhere on the "OAAT-OTMA" website, whereby the tariffs used, the law applied or special contracts stipulates the application/usage of the section code (primarily for body@role=hospital, body@role=rehab_clinic, body@role=psychiatric_clinic). |
|||||||
[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] TreatmentType | *peTreatmentType | The type of treatment (ambulatory or stationary) defined by the IServiceExInput::SetTreatment 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 | |||||||
![]() |