 API browser of CareCreditRequest450 COM module
Interface version: | 4.50
Interface date: | 6 May 2019

The CareCreditRequestManager is an ATL COM module which provides methods to generate nursing care credit requests for all roles and places. Such an care credit object is printed or a XML infoset is produced which can be transported electronically to a recipient. In the latter case the object optionally can be signed and/or encrypted . Due to the processing attributes "storno" and "copy" a previously generated object can be canceled or a copy can be produced. The subchapter object reference provides an in-depth description of the concept of "object reference". |  | space
Interfaces |  | 4 interface
IAddress | The utility interface IAddress is available for setting and retrieving structured address data. |
ICareCreditRequest | With the ICareCreditRequest interface all nursing care related data can be set/defined by the interface's methods. |
ICareCreditRequestManager | The main interface ICareCreditRequestManager -creatable in its own right- provides methods to generate nursing for all roles and places. Furthermore, created XML infosets can be loaded back into memory for further processing. |
ICareCreditResult | The interface ICareCreditResult allows to read back all data that have been defined with the ICareCreditRequest interface or by loading a previously generated XML infoset. |
Types |  |
type definitions | List of all used builtin, composite and enumeration types |
Important documents about the usage and handling |  |
Document | General usage of the careCreditRequest450 COM module - an overview |
Document | What to do in a 64bit environment - is there a 64bit Sumex1 COM dll? |
Document | Overview of the concept of "Object reference" |
Document | Notes about the processing attributes |
Document | Notes about the signature part of the XML infoset |
Document | Notes about the encryption part of the XML infoset |
Document | Overview about how to best generate a copy, storno,... |
Document | How to set the default printer for a care credit request |
Document | Syntax of the printTemplate variable of the Print method |
Document | How to print electronic stamps onto a care credit request |
Document | How to generate a PDF archive file of a care credit request |
Document | VB/CS code snippet for using the careCreditRequest450 COM module |
Document | careCreditRequestManagerServer450: Introduction, overview and usage of the Restful Webservice Server |
04.04.2020 - API Patch | Documentation: query/check the reachability of a recipient by using medSRS |
Important external documents |  |
CHM File | Schema documentation of careCreditRequest_450 in CHM format |
ZIP Archive | Print template layout & documentation of careCreditRequest_450 in PDF format |
ZIP Archive | ZIP archive with the careCreditRequest_450.xsd schema and the accompanying auxiliary schema files |
ZIP Archive | ZIP archive with some XML test files and PDF output files of careCreditRequest450 type |

© by sumex1.net - all rights reserved


  • CareCreditRequest450
  • IAddress

IAddress interface |  | V4.50/ 6 May 2019
With the IAddress interface structured address data can be set and retrieved. The whole address can be seen as a collection of substructures like the name, the postal part, a communication part etc. Where each of these sub structure can be set or retrieved by an interface method. The name part of a person is set by the method SetPerson and a company's name is entered by the method SetCompany. Before setting a new address the internal data has to be initialized by the method Initialize. |  | space
space
Methods |  | 16 methods
AddPhone | Adds a structured phone number |
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetCompany | Retrieves the company's naming part of the address |
GetFax | Retrieves the structured fax number |
GetFirstPhone | Retrieves the first phone number information |
GetNextPhone | Retrieves the next phone number information |
GetOnline | Retrieves the structured online part of the address |
GetPerson | Retrieves the person's naming part of the address |
GetPhones | Method for collecting all phone numbers covered by the address and returned as JSON array |
GetPostal | Retrieves the structured postal address part of the address. |
Initialize | Initializes all internal address variables |
SetCompany | Sets the company's naming part of the address |
SetFax | Sets a structured fax number |
SetOnline | Sets the structured online part of the address. |
SetPerson | Sets the person's naming part of the address |
SetPostal | Sets the structured postal address part |
space
Properties |  | 2 properties
[put] DestructAddress | Destructs/invalidates this IAddress interface instance |
[get] Type | GetType returns the type of address either enAddressPerson or enAddressCompany if an address is defined at all |
space |


  • IAddress
  • AddPhone

IAddress::AddPhone method |  |  | space
Adds a structured phone number. The Swiss international calling code +41 is filtered out in the printing. If the main software does not support structured pone numbers then all data is supplied in the bstrNumber variable. However, +41 is then no longer filtered. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/AddPhone
[JSON input data] | pIAddress: bstrNumber: bstrLocalCode: bstrInternationalCode: bstrExt: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT AddPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrNumber, bstrLocalCode, bstrInternationalCode, bstrExt, *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
Calling argument description |  |  |
[in] BSTR | bstrNumber | The pure phone number part of the telephone number. It is possible to set the full telephone number in this variable and leave the other parts of the telephone number empty |
[in] BSTR | bstrLocalCode | The local area code part of the telephone number. |
[in] BSTR | bstrInternationalCode | The international calling code part of the telephone number. |
[in] BSTR | bstrExt | The optional extension number part of the telephone number. |
[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. |
space |


  • IAddress
  • GetAbortInfo

IAddress::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetAbortInfo
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *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
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • IAddress
  • GetCompany

IAddress::GetCompany method |  |  | space
Retrieves the company's naming part of the address. Call the property GetType first to test if GetPerson or GetCompany should be called. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetCompany
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrCompanyName: pbstrDepartment: pbstrSubaddressing: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetCompany( | BSTR BSTR BSTR VARIANT_BOOL | *pbstrCompanyName, *pbstrDepartment, *pbstrSubaddressing, *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
Calling argument description |  |  |
[out] BSTR | *pbstrCompanyName | The company's name. |
[out] BSTR | *pbstrDepartment | The optional department part of the company. |
[out] BSTR | *pbstrSubaddressing | The optional subaddressing information, e.g. a "c/o" like information as defined by the Post |
[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. |
space |


  • IAddress
  • GetFax

IAddress::GetFax method |  |  | space
Retrieves the structured fax number. Empty variables are returned if there is no fax number available. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetFax
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrNumber: pbstrLocalCode: pbstrInternationalCode: pbstrExt: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetFax( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *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
Calling argument description |  |  |
[out] BSTR | *pbstrNumber | The pure fax number part of the full fax number. It is possible that the full fax number is returned in this variable and the other parts of the fax number left empty. |
[out] BSTR | *pbstrLocalCode | The local area code part of the fax number. |
[out] BSTR | *pbstrInternationalCode | The international calling code part of the fax number. |
[out] BSTR | *pbstrExt | The extension number part of the fax number. |
[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. |
space |


  • IAddress
  • GetFirstPhone

IAddress::GetFirstPhone method |  |  | space
Retrieves the first phone number information. VARIANT_FALSE is returned if the end of the phone list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetFirstPhone
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrNumber: pbstrLocalCode: pbstrInternationalCode: pbstrExt: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetFirstPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *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
Calling argument description |  |  |
[out] BSTR | *pbstrNumber | The pure phone number part of the full telephone number. It is possible that the full telephone number is returned in this variable and the other parts of the telephone number left empty. |
[out] BSTR | *pbstrLocalCode | The local area code part of the telephone number. |
[out] BSTR | *pbstrInternationalCode | The international calling code part of the telephone number. |
[out] BSTR | *pbstrExt | the extension number part of the telephone number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IAddress
  • GetNextPhone

IAddress::GetNextPhone method |  |  | space
Retrieves the next phone number information. VARIANT_FALSE is returned if the end of the phone list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetNextPhone
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrNumber: pbstrLocalCode: pbstrInternationalCode: pbstrExt: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetNextPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *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
Calling argument description |  |  |
[out] BSTR | *pbstrNumber | The pure phone number part of the full telephone number. It is possible that the full telephone number is returned in this variable and the other parts of the telephone number left empty. |
[out] BSTR | *pbstrLocalCode | The local area code part of the telephone number. |
[out] BSTR | *pbstrInternationalCode | The international calling code part of the telephone number. |
[out] BSTR | *pbstrExt | the extension number part of the telephone number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IAddress
  • GetOnline

IAddress::GetOnline method |  |  | space
Retrieves the structured online part of the address. Empty variables are returned if there is no online information available. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetOnline
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrEMail: pbstrUrl: pbStatus: | "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetOnline( | BSTR BSTR VARIANT_BOOL | *pbstrEMail, *pbstrUrl, *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
Calling argument description |  |  |
[out] BSTR | *pbstrEMail | A relevant email address. |
[out] BSTR | *pbstrUrl | A relevant URL. |
[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. |
space |


  • IAddress
  • GetPerson

IAddress::GetPerson method |  |  | space
Retrieves the person's naming part of the address. Call the property GetType first to test if GetPerson or GetCompany should be called. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetPerson
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrFamilyname: pbstrGivenname: pbstrSalutation: pbstrTitle: pbstrSubaddressing: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetPerson( | BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrFamilyname, *pbstrGivenname, *pbstrSalutation, *pbstrTitle, *pbstrSubaddressing, *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
Calling argument description |  |  |
[out] BSTR | *pbstrFamilyname | The family name (or last name) of the person. |
[out] BSTR | *pbstrGivenname | The given name (or first name) of the person. |
[out] BSTR | *pbstrSalutation | The optional salutation of the person. |
[out] BSTR | *pbstrTitle | The optional title of the person. |
[out] BSTR | *pbstrSubaddressing | The optional subaddressing information, e.g. a "c/o" like information as defined by the Post |
[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. |
space |


  • IAddress
  • GetPhones

IAddress::GetPhones method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all phone numbers covered by the address and returned as JSON array. Please note that IAddress::GetPhones takes over the functionality of the iterator pair IAddress::GetFirstPhone / IAddress::GetNextPhone with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetPhones
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result array] | { pbstrNumber: pbstrLocalCode: pbstrInternationalCode: pbstrExt: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", 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
Calling argument description |  |  |
[out] BSTR | *pbstrNumber | The pure phone number part of the full telephone number. It is possible that the full telephone number is returned in this variable and the other parts of the telephone number left empty. |
[out] BSTR | *pbstrLocalCode | The local area code part of the telephone number. |
[out] BSTR | *pbstrInternationalCode | The international calling code part of the telephone number. |
[out] BSTR | *pbstrExt | the extension number part of the telephone number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IAddress
  • GetPostal

IAddress::GetPostal method |  |  | space
Retrieves the structured postal address part of the address. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetPostal
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrStreet: pbstrPoBox: pbstrZip: pbstrCity: pbstrStateCode: pbstrCountryCode: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetPostal( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrStreet, *pbstrPoBox, *pbstrZip, *pbstrCity, *pbstrStateCode, *pbstrCountryCode, *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
Calling argument description |  |  |
[out] BSTR | *pbstrStreet | The street name part of an address. |
[out] BSTR | *pbstrPoBox | The P.O. box code part of an address. Note that according to the Post the street and poBox parts should be used mutually exclusive. |
[out] BSTR | *pbstrZip | The ZIP code part of an address. |
[out] BSTR | *pbstrCity | The city name of an address. |
[out] BSTR | *pbstrStateCode | The optional state code part of an address. |
[out] BSTR | *pbstrCountryCode | The optional ISO country code part of an address. |
[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. |
space |


  • IAddress
  • Initialize

IAddress::Initialize method |  |  | space
Initializes all internal address variables. This method should be called before new data is supplied to reset all internally stored data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/Initialize
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT Initialize( | VARIANT_BOOL | *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
Calling argument description |  |  |
[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. |
space |


  • IAddress
  • SetCompany

IAddress::SetCompany method |  |  | space
Sets the company's naming part of the address. Note that the subaddressing is part of the extended name and is always printed before any postal information. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetCompany
[JSON input data] | pIAddress: bstrCompanyName: bstrDepartment: bstrSubaddressing: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetCompany( | BSTR BSTR BSTR VARIANT_BOOL | bstrCompanyName, bstrDepartment, bstrSubaddressing, *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
Calling argument description |  |  |
[in] BSTR | bstrCompanyName | The company's name. |
[in] BSTR | bstrDepartment | The optional department part of the company. |
[in] BSTR | bstrSubaddressing | The optional subaddressing information, e.g. a "c/o" like information as defined by the Post |
[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. |
space |


  • IAddress
  • SetFax

IAddress::SetFax method |  |  | space
Sets a structured fax number. The Swiss international calling code +41 is filtered in the printing. If the main software does not support structured pone numbers then all data is supplied in the bstrNumber variable. However, +41 is then no longer filtered. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetFax
[JSON input data] | pIAddress: bstrNumber: bstrLocalCode: bstrInternationalCode: bstrExt: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetFax( | BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrNumber, bstrLocalCode, bstrInternationalCode, bstrExt, *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
Calling argument description |  |  |
[in] BSTR | bstrNumber | The pure fax number part of the fax number. It is possible to set the full fax number in this variable and leave the other parts of the fax number empty |
[in] BSTR | bstrLocalCode | The local area code part of the fax number. |
[in] BSTR | bstrInternationalCode | The international calling code part of the fax number. |
[in] BSTR | bstrExt | The extension number part of the fax number. |
[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. |
space |


  • IAddress
  • SetOnline

IAddress::SetOnline method |  |  | space
Sets the structured online part of the address. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetOnline
[JSON input data] | pIAddress: bstrEMail: bstrUrl: | longValue, //interface address "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetOnline( | BSTR BSTR VARIANT_BOOL | bstrEMail, bstrUrl, *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
Calling argument description |  |  |
[in] BSTR | bstrEMail | A relevant email address. |
[in] BSTR | bstrUrl | A relevant URL address. |
[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. |
space |


  • IAddress
  • SetPerson

IAddress::SetPerson method |  |  | space
Sets the person's naming part of the address. Note that the subaddressing is part of the extended name and is always printed before any postal information. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetPerson
[JSON input data] | pIAddress: bstrFamilyname: bstrGivenname: bstrSalutation: bstrTitle: bstrSubaddressing: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetPerson( | BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrFamilyname, bstrGivenname, bstrSalutation, bstrTitle, bstrSubaddressing, *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
Calling argument description |  |  |
[in] BSTR | bstrFamilyname | The family name (or last name) of the person. |
[in] BSTR | bstrGivenname | The given name (or first name) of the person. |
[in] BSTR | bstrSalutation | The optional salutation of the person. |
[in] BSTR | bstrTitle | The optional title of the person. |
[in] BSTR | bstrSubaddressing | The optional subaddressing information, e.g. a "c/o" like information as defined by the Post |
[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. |
space |


  • IAddress
  • SetPostal

IAddress::SetPostal method |  |  | space
Sets the structured postal address part. The Swiss ISO county code is the default but is filtered in the printing. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetPostal
[JSON input data] | pIAddress: bstrStreet: bstrPoBox: bstrZip: bstrCity: bstrStateCode: bstrCountryCode: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetPostal( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrStreet, bstrPoBox, bstrZip, bstrCity, bstrStateCode, bstrCountryCode, *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
Calling argument description |  |  |
[in] BSTR | bstrStreet | The street name part of an address. |
[in] BSTR | bstrPoBox | The P.O. box code part of an address. Note that according to the Post the street and poBox parts should be used mutually exclusive. |
[in] BSTR | bstrZip | The mandatory ZIP code part of an address. |
[in] BSTR | bstrCity | The mandatory city name of an address. |
[in] BSTR | bstrStateCode | The optional state code part of an address. |
[in] BSTR | bstrCountryCode | The ISO country code of an address. |
[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. |
space |


  • IAddress
  • DestructAddress

IAddress::DestructAddress property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IAddress interface instance. The counterpart property to generate an IAddress interface instance is ICareCreditRequest::GetCreateAddress. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IAddress/PutDestructAddress
[JSON input data] | pIAddress: | longValue, //interface address
[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
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IAddress
  • Type

IAddress::Type property | space
GetType returns the type of address either enAddressPerson or enAddressCompany if an address is defined at all.

If no address is defined then enAddressUndefined is returned.
space
Restful webservice calling syntax
[GET] | /baseURL/ IAddress/GetType?param
[param] pIAddress= longValue
[JSON result data] peType: longValue
[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
C/C++ calling syntax
[get] HRESULT | Type( AddressType *peType );
[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
Calling argument description
[out,retval] AddressType | *peType
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • AddressType *GetType(void);
space


  • ICareCreditRequest

ICareCreditRequest interface |  | V4.50/ 6 May 2019
With the ICareCreditRequest interface all nursing care related data and parameters can be set by the available interface methods like SetPatient, SetTreatment,... Alternatively to producing the data from scratch, the data of a previously generated XML infoset can be loaded with the ICareCreditRequestManager::LoadXML method and thereafter data can selectively be changed. |  | space
space
Methods |  | 24 methods
AddAltProvider | Adds an additional (alternative) provider object with various identifiers (GLN, ZSR,...) and the structured address, who are taking over part or all of the planned treatment, should the primary provider be indisposed or hindered from doing so |
AddDocument | Attaches a PDF, JPG or PNG document -either inline or online- to the list of documents |
AddPlanningRecord | Adds a planning record to the list of planning records |
AddService | Adds a service record from a simple/normal tariff to the list of services |
Finalize | Finalizes and validates all data set so far in the ICareCreditRequest interface |
GetAbortInfo | Get the abort information string with the error coded in the module language |
Initialize | Initializes all input data in the ICareCreditRequest interface |
SetBiller | Sets the biller's various identifiers (GLN, ZSR,...) as well as the structured address |
SetCard | Sets the patient's insurance card information - optional in respect to the dependent XSD schema. |
SetCreditObject | Sets the care credit object reference parameters |
SetCreditRefObject | Sets the optional creditRef object reference parameters |
SetDebitor | Sets the debitor's GLN and the structured address |
SetHomeCare | Sets the primary parameters for a "Home Care" nursing case situation, that is the ordinary home caring situation supplied by a home care organization ("Spitex") |
SetInsurance | Sets the GLN and the structured address of the insurance |
SetLaw | Sets the data about the applied law and its dependent information |
SetNursingHomeCare | Sets the primary parameters for a "Nursing Home Care" nursing case situation, that is the ordinary nursing home caring situation supplied by a nursing home organization ("Pflegeheim") |
SetPackage | Defines the identification parameters of the main software. |
SetPatient | Sets the primary parameters and structured address of the patient |
SetPostPartumCare | Sets the primary parameters for a "Post Partum Care" nursing case situation, that is the nursing care of a woman who recently had a childbirth. |
SetProvider | Sets the main provider's various identifiers (GLN, ZSR,...) as well as the structured address |
SetReferrer | Sets the referrer's various identifiers (GLN, ZSR,...) and the structured address - this is an optional part |
SetRequest | Sets the primary parameters of the request, namely the "storno" and "copy" status besides an optional remark |
SetTransport | Sets transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to) |
SetTreatment | Sets the basic treatment parameters. |
space
Properties |  | 3 properties
[get] CreateAddress | Creates an instance of the IAddress interface |
[put] DestructAddress | Destructs/invalidates the IAddress interface instance |
[put] DestructCareCreditRequest | Destructs/invalidates this ICareCreditRequest interface instance |
space |


  • ICareCreditRequest
  • AddAltProvider

ICareCreditRequest::AddAltProvider method |  |  | space
Adds an additional (alternative) provider object with various identifiers (GLN, ZSR,...) and the structured address, who are taking over part or all of the planned treatment, should the primary provider be indisposed or hindered from doing so. The address is defined via an IAddress interface pointer and the address data must be defined prior to call this method. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/AddAltProvider
[JSON input data] | pICareCreditRequest: bstrEAN: bstrZSR: bstrNIF: bstrSpecialty: pIAddress: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT AddAltProvider( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | bstrEAN, bstrZSR, bstrNIF, bstrSpecialty, *pIAddress, *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
Calling argument description |  |  |
[in] BSTR | bstrEAN | The GLN (former EAN) number of the alternative provider as supplied by Stiftung Refdata Note, that the debitor's EAN is a required parameter. However, debitors in Tiers Garant might not possess such an EAN. Therefore do supply a EAN from the private EAN space (e.g. 2000000000008) in such a case. |
[in] BSTR | bstrZSR | The ZSR number of the alternative provider as supplied by Santesuisse |
[in] BSTR | bstrNIF | The optional IV specific identification number NIF of the alternative provider |
[in] BSTR | bstrSpecialty | An optional specialty, i.e. FMH title of the alternative provider |
[in] IAddress | *pIAddress | The instance of a IAddress interface that holds the structured address parts of the alternative provider A NULL pointer is supplied if no address should be set. |
[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. |
space |


  • ICareCreditRequest
  • AddDocument

ICareCreditRequest::AddDocument method | space
Attaches a PDF, JPG or PNG document -either inline or online- to the list of documents.

Internally, the inline document will be transformed to a BASE64 octet representation to safeguard the binary nature of the file.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequest/AddDocument?param
[param] pICareCreditRequest=longValue&
bstrFile=urlEncodedString&
bstrTitle=urlEncodedString&
bstrMimeType=urlEncodedString
+
<application/octet-stream> input_file_upload_stream
[JSON result data] pbStatus: 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
C/C++ calling syntax
HRESULT AddDocument( BSTR
BSTR
BSTR
VARIANT_BOOL 		bstrFile,
bstrTitle,
bstrMimeType,
*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
Calling argument description
[in] BSTR | bstrFile | bstrFile supplies the full file name (path + name) of the document. Be sure, that privileges allows to open and read the file since the content is internally BASE64 coded.
[in] BSTR | bstrTitle | bstrTitle is the document's title on the primary system and thus describes the document in terms of its semantic content.
[in] BSTR bstrMimeType The MIME type of the document. The MIME type enables applications to define the format and eventually read the file (cf. RFC 2046 standardizes and names the commonly used MIME types).

Since the underlying XSD schema restricts the type of files, the MIME type must be one of
  • application/pdf for PDF files
  • image/jpeg for JPG graphic files
  • image/png for PNG graphic files
[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.
space


  • ICareCreditRequest
  • AddPlanningRecord

ICareCreditRequest::AddPlanningRecord method | space
Adds a planning record to the list of planning records. A planning record describes a specific treatment measure as well as the applicable frequency over the given treatment period. Furthermore the planning data can optionally be mapped to the incurred costs by specifying the service data.

The calculation of the caused incurred costs is as follows:
dTariffQuantity * dTP * dTPV * dExternalFactor = total_caused_costs

If the return status is VARIANT_FALSE then the planning record is not added to the list of planning records
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequest/AddPlanningRecord
[JSON input data] pICareCreditRequest:
bstrPlanningType:
bstrPlanningCode:
bstrPlanningText:
dQuantity:
bstrMultiplierSymbol:
dMultiplier:
dBaseUnit:
eIsTraining:
dCorrUnit:
dTotalUnit:
bstrRemark:
bstrTariffType:
bstrTariffCode:
bstrTariffText:
dTariffQuantity:
dTP:
dTPV:
dExternalFactor: 		longValue, //interface address
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
"utf8StringValue",
doubleValue,
doubleValue,
longValue,
doubleValue,
doubleValue,
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue
[JSON result data] pbStatus: 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
C/C++ calling syntax
HRESULT AddPlanningRecord( BSTR
BSTR
BSTR
double
BSTR
double
double
YesNoType
double
double
BSTR
BSTR
BSTR
BSTR
double
double
double
double
VARIANT_BOOL 		bstrPlanningType,
bstrPlanningCode,
bstrPlanningText,
dQuantity,
bstrMultiplierSymbol,
dMultiplier,
dBaseUnit,
eIsTraining,
dCorrUnit,
dTotalUnit,
bstrRemark,
bstrTariffType,
bstrTariffCode,
bstrTariffText,
dTariffQuantity,
dTP,
dTPV,
dExternalFactor,
*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
Calling argument description
[in] BSTR | bstrPlanningType | The official planning type designator, e.g. "RAI-NC", "BESA 5", "KLV7" and the like
[in] BSTR | bstrPlanningCode | The planning code as defined by the used planning catalog
[in] BSTR | bstrPlanningText | The name of the planning record as defined by the used planning catalog
[in] double dQuantity The quantity aka the frequency per day of the planning record

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • negative quantities are used to effectively "subtract" planning records from the grand total
  • a zero quantity is used for "non-billable" and "pro memoria" planning records
  • positive quantities are used for "normal" planning records
The quantity must not be rounded but given in full precision.
[in] BSTR bstrMultiplierSymbol The Multiplier Symbol corresponds to a temporal multiplication function that distributes a singular object over the whole treatment interval. The functional behavior is supplied by a set of (language-dependent) symbols like "t3", "w", "m" etc.

Please note that -since the symbols are language sensitive and unstandardized<7b>- these tokens are supplied for documentation/display purposes only but not used in any calculation. It is the dMultiplier factor that is used for the calculation!

[in] double dMultiplier The dMultiplier number is the numerical representation of the bstrMultiplierSymbol and defines the multiplication factor that a singular planning object is distributed over the whole treatment interval.

Please note, that the magnitude of the multiplier might be fractional since an instruction like "t3" might not be transformed to an integer dependent on the given treatment interval.
[in] double | dBaseUnit | The base unit of a singular planning object as defined in the planning catalog - this is the planning equivalent of the tax point for tariff services.
[in] YesNoType eIsTraining eIsTraining is a Boolean value indicating whether the planning record is performed in training mode.

Note, that this Boolean is mostly enNo outside a home care situation.

[in] double dCorrUnit dCorrUnit is used to optionally correct the total unit dTotalUnit of the planning record.

Please note, that the sign is significant, i.e. a downscale correction corresponds to a negative value. Furthermore, "dCorrUnit" is an absolute value and is not modulated by "dQuantity" and "dMultiplier" (cf. the defined equation under "dTotalUnit").

The necessity of a correction depends on the used catalog and is justified by the non-orthogonality of the catalog planning records.
[in] double dTotalUnit dTotalUnit defines the calculated units over the full treatment interval as given by the equation:

( dQuantity * dMultiplier * dBaseUnit ) + dCorrUnit = dTotalUnit

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[in] BSTR | bstrRemark | An optional remark for the given planning record and tariff record
[in] BSTR bstrTariffType The official tariff type as defined by Forum Datenaustausch.

If there must not be a coupling of the planning set to the corresponding incurred cost record than supply a empty tariff type.

[in] BSTR bstrTariffCode The tariff code as defined by the used tariff

If there must not be a coupling of the planning set to the corresponding incurred cost record than supply a empty tariff code.
[in] BSTR | bstrTariffText | The name of the tariff record as defined by the used tariff
[in] double dTariffQuantity The quantity of the defined service.

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • a zero quantity is used for "non-billable" and "pro memoria" services
  • positive quantities are used for "normal" services
  • fractional values are used whenever a part of the "full" service is used (e.g. quantity=0.5 for 500ml of a 1000ml infusion solution)
  • negative quantities are set for a storno to reflect the negative incurred cost situation
The quantity must not be rounded but given in full precision.
[in] double | dTP | The tax points (TP) of the defined tariff record
[in] double | dTPV | The tax point value (TPV) of the defined tariff record
[in] double dExternalFactor The external scaling factor used to scale the tariff record e.g. to give a discount or surcharge or to use the factor as a measure of splitting costs.

[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.
space


  • ICareCreditRequest
  • AddService

ICareCreditRequest::AddService method | space
Adds a service record from a simple/normal tariff to the list of services. The services describes an applied treatment part in terms of incurred costs.

The term "normal" means a tariff with a simple (code, name, tax point, tax point value) structure as opposed to "extended" tariffs like the Tarmed.

If the return status is VARIANT_FALSE then the service record is not added to the list of services

space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequest/AddService
[JSON input data] pICareCreditRequest:
bstrTariffType:
bstrTariffCode:
bstrTariffText:
dQuantity:
dTP:
dTPV:
dExternalFactor:
bstrRemark: 		longValue, //interface address
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue,
"utf8StringValue"
[JSON result data] pbStatus: 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
C/C++ calling syntax
HRESULT AddService( BSTR
BSTR
BSTR
double
double
double
double
BSTR
VARIANT_BOOL 		bstrTariffType,
bstrTariffCode,
bstrTariffText,
dQuantity,
dTP,
dTPV,
dExternalFactor,
bstrRemark,
*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
Calling argument description
[in] BSTR | bstrTariffType | The official tariff type as defined by Forum Datenaustausch
[in] BSTR | bstrTariffCode | The tariff code as defined by the used tariff
[in] BSTR | bstrTariffText | The name of the tariff record as defined by the used tariff
[in] double dQuantity The quantity of the current service.

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • a zero quantity is used for "non-billable" and "pro memoria" services
  • positive quantities are used for "normal" services
  • fractional values are used whenever a part of the "full" service is used (e.g. quantity=0.5 for 500ml of a 1000ml infusion solution)
  • negative quantities are set for a storno to reflect the negative incurred cost situation
The quantity must not be rounded but given in full precision.
[in] double | dTP | The tax points (TP) of the current service.
[in] double | dTPV | The tax point value (TPV) of the current service.
[in] double | dExternalFactor | The external scaling factor used to scale the service e.g. to give a discount or surcharge.
[in] BSTR | bstrRemark | An optional remark for the given service.
[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.
space


  • ICareCreditRequest
  • Finalize

ICareCreditRequest::Finalize method | space
Finalizes and validates all data set so far in the ICareCreditRequest interface. This method is the counterpart to the Initialize method.

This method should be called after all data have been set in the ICareCreditRequest interface since higher-level validation rules can only be called at the end of input phase. Therefore, be prepared to get validation errors at that point.

Please note, that apart from validation tasks there are automatic assignments of addresses as well, should such an address be missing.
Eventually the following addresses are cloned in the given sequence:
  • if the debitor address is missing than it is cloned from the insurance's address
  • if the insurance address is missing than it is cloned from the debitor's address
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequest/Finalize
[JSON input data] pICareCreditRequest: longValue, //interface address
[JSON result data] pbStatus: 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
C/C++ calling syntax
HRESULT Finalize( | VARIANT_BOOL | *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
Calling argument description
[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.
space


  • ICareCreditRequest
  • GetAbortInfo

ICareCreditRequest::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/GetAbortInfo
[JSON input data] | pICareCreditRequest: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *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
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • ICareCreditRequest
  • Initialize

ICareCreditRequest::Initialize method |  |  | space
Initializes all input data in the ICareCreditRequest interface. This method is the counterpart to the Finalize method. This method should be called before any input is set in the ICareCreditRequest interface. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/Initialize
[JSON input data] | pICareCreditRequest: eDataLanguage: | longValue, //interface address longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT Initialize( | LanguageType VARIANT_BOOL | eDataLanguage, *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
Calling argument description |  |  |
[in] LanguageType | eDataLanguage | Sets the language in which the data part is coded. It is exactly the language in which the request is formulated. Note, that the data language and the module language (given by ICareCreditRequestManager::SetModuleLanguage property) are independent and can be different! |
[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. |
space |


  • ICareCreditRequest
  • SetBiller

ICareCreditRequest::SetBiller method |  |  | space
Sets the biller's various identifiers (GLN, ZSR,...) as well as the structured address. The structured address is defined via a Iaddress interface instance and the address data must be defined prior to call this method. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetBiller
[JSON input data] | pICareCreditRequest: bstrEAN: bstrZSR: bstrNIF: bstrSpecialty: pIAddress: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetBiller( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | bstrEAN, bstrZSR, bstrNIF, bstrSpecialty, *pIAddress, *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
Calling argument description |  |  |
[in] BSTR | bstrEAN | The GLN (former EAN) number of the biller as supplied by Stiftung Refdata |
[in] BSTR | bstrZSR | The optional ZSR number of the biller as supplied by Santesuisse |
[in] BSTR | bstrNIF | The optional IV specific identification number NIF of the biller. |
[in] BSTR | bstrSpecialty | An optional specialty, i.e. FMH title of the biller |
[in] IAddress | *pIAddress | The instance of a IAddress interface that holds the structured address parts. A NULL pointer is supplied if no address should be set. |
[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. |
space |


  • ICareCreditRequest
  • SetCard

ICareCreditRequest::SetCard method |  |  | space
Sets the patient's insurance card information - optional in respect to the dependent XSD schema. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetCard
[JSON input data] | pICareCreditRequest: bstrCardID: dExpiryDate: dValidationDate: bstrValidationID: bstrValidationServer: | longValue, //interface address "utf8StringValue", variantDateValue | "stringISODateValue", variantDateValue | "stringISODateValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetCard( | BSTR DATE DATE BSTR BSTR VARIANT_BOOL | bstrCardID, dExpiryDate, dValidationDate, bstrValidationID, bstrValidationServer, *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
Calling argument description |  |  |
[in] BSTR | bstrCardID | The mandatory unique 20 digits card identifier. |
[in] DATE | dExpiryDate | The optional expiry date of the card |
[in] DATE | dValidationDate | The optional date of the last validation of the card's data |
[in] BSTR | bstrValidationID | The optional replied ID when the last validation of the card's data was performed |
[in] BSTR | bstrValidationServer | The optional server for the last validation process |
[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. |
space |


  • ICareCreditRequest
  • SetCreditObject

ICareCreditRequest::SetCreditObject method |  |  | space
Sets the care credit object reference parameters. The creditRef (if supplied) and credit object references form a object reference chain (creditRef -> credit) with the credit as topmost object reference. The page "object reference" provides an in-depth description of the concepts of "object reference", "object reference chain", and "topmost object reference". |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetCreditObject
[JSON input data] | pICareCreditRequest: bstrRequestCreditID: dRequestCreditDate: lRequestCreditTimestamp: | longValue, //interface address "utf8StringValue", variantDateValue | "stringISODateValue", longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetCreditObject( | BSTR DATE long VARIANT_BOOL | bstrRequestCreditID, dRequestCreditDate, lRequestCreditTimestamp, *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
Calling argument description |  |  |
[in] BSTR | bstrRequestCreditID | The request credit ID is the main software's identification of the care credit ("Bedarfsmeldungsnummer"). This is one of 3 identifiers that form the care credit object reference. |
[in] DATE | dRequestCreditDate | The request credit date is the main software's date of the care credit ("Bedarfsmeldungsdatum") This is one of 3 identifiers that form the care credit object reference. |
[in] long | lRequestCreditTimestamp | This is a UNIX timestamp defined at the moment of the care credit infoset generation. Set this variable 0 to indicate the generation of a new care credit object reference. The ICareCreditRequestManager::GetXML and/or ICareCreditRequestManager::Print method will return the timestamp that must be used from that point on as 3rd parameter of the object reference. This is one of 3 identifiers that form the care credit object reference. The timestamp will be generated once for a certain care credit object reference and thereafter the timestamp is always referenced. |
[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. |
space |


  • ICareCreditRequest
  • SetCreditRefObject

ICareCreditRequest::SetCreditRefObject method |  |  | space
Sets the optional creditRef object reference parameters. This object reference is only set if such a former care credit request was generated and this former credit object should now be referenced. The creditRef and credit object references form a object reference chain (creditRef -> credit) with the credit as topmost object reference. The page "object reference" provides an in-depth description of the concepts of "object reference", "object reference chain", and "topmost object reference". |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetCreditRefObject
[JSON input data] | pICareCreditRequest: bstrRequestCreditID: dRequestCreditDate: lRequestCreditTimestamp: | longValue, //interface address "utf8StringValue", variantDateValue | "stringISODateValue", longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetCreditRefObject( | BSTR DATE long VARIANT_BOOL | bstrRequestCreditID, dRequestCreditDate, lRequestCreditTimestamp, *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
Calling argument description |  |  |
[in] BSTR | bstrRequestCreditID | The request credit ID is the main software's identification of the care credit ("Bedarfsmeldungsnummer"). This is one of 3 identifiers that form the care creditRef object reference. |
[in] DATE | dRequestCreditDate | The request credit date is the main software's date of the care credit ("Bedarfsmeldungsdatum") This is one of 3 identifiers that form the care creditRef object reference. |
[in] long | lRequestCreditTimestamp | This is a UNIX timestamp defined at the moment of the care credit infoset generation. Set this variable 0 to indicate the generation of a new care credit object reference. The ICareCreditRequestManager::GetXML and/or ICareCreditRequestManager::Print method will return the timestamp that must be used from that point on as 3rd parameter of the object reference. This is one of 3 identifiers that form the care creditRef object reference. The timestamp will be generated once for a certain care credit object reference and thereafter the timestamp is always referenced. |
[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. |
space |


  • ICareCreditRequest
  • SetDebitor

ICareCreditRequest::SetDebitor method |  |  | space
Sets the debitor's GLN and the structured address. If the debitor object is not supplied than a clone of the insurance's address is automatically assigned in the Finalize method. The structured address is defined via a Iaddress interface instance and the address data must be defined prior to call this method. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetDebitor
[JSON input data] | pICareCreditRequest: bstrEAN: pIAddress: | longValue, //interface address "utf8StringValue", longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetDebitor( | BSTR IAddress VARIANT_BOOL | bstrEAN, *pIAddress, *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
Calling argument description |  |  |
[in] BSTR | bstrEAN | The GLN (former EAN) number of the debitor as supplied by Stiftung Refdata Note, that the debitor's EAN is a required parameter. However, debitors in Tiers Garant might not possess such an EAN. Therefore do supply a EAN from the private EAN space (e.g. 2000000000008) in such a case. |
[in] IAddress | *pIAddress | The instance of a IAddress interface that holds the structured address parts. A NULL pointer is supplied if no address should be set. |
[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. |
space |


  • ICareCreditRequest
  • SetHomeCare

ICareCreditRequest::SetHomeCare method |  |  | space
Sets the primary parameters for a "Home Care" nursing case situation, that is the ordinary home caring situation supplied by a home care organization ("Spitex") |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetHomeCare
[JSON input data] | pICareCreditRequest: bstrPlanningCatalog: eStayDaycareCenter: lDomesticAidDaysPerWeek: lDomesticAidHoursPerDay: eMiGelSelfapplication: | longValue, //interface address "utf8StringValue", longValue, longValue, longValue, longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetHomeCare( | BSTR YesNoType long long YesNoType VARIANT_BOOL | bstrPlanningCatalog, eStayDaycareCenter, lDomesticAidDaysPerWeek, lDomesticAidHoursPerDay, eMiGelSelfapplication, *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
Calling argument description |  |  |
[in] BSTR | bstrPlanningCatalog | Defines the official name of the used planning catalog. Note, that the name should consist of a slash-separated planning catalog name and edition e.g. "RAI-NC/2018" or "BESA/2018". Thus the given name should allow for an unambiguous identification of the catalog. |
[in] YesNoType | eStayDaycareCenter | The Boolean eStayDaycareCenter indicates whether a patient is staying in a day-care center during daytime (enYes) or not (enNo) |
[in] long | lDomesticAidDaysPerWeek | The variables lDomesticAidDaysPerWeek and lDomesticAidHoursPerDay define the frequency and magnitude of work provided by a domestic aid. lDomesticAidDaysPerWeek in special defines the number of days, that the domestic aid is working per week. Note, that a value of 0 means, that the patient has no domestic aid per se. |
[in] long | lDomesticAidHoursPerDay | The variables lDomesticAidDaysPerWeek and lDomesticAidHoursPerDay define the frequency and magnitude of work provided by a domestic aid. lDomesticAidHoursPerDay in special defines the number of hours, that the domestic aid is working per day. Note, that a value of 0 means, that the patient has no domestic aid per se. |
[in] YesNoType | eMiGelSelfapplication | The Boolean eMiGelSelfapplication indicates whether the patient receives MiGel care products for self-application from the nursing care organization (enYes) or not (enNo) |
[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. |
space |


  • ICareCreditRequest
  • SetInsurance

ICareCreditRequest::SetInsurance method |  |  | space
Sets the GLN and the structured address of the insurance. The address is defined via an IAddress interface pointer and the address data must be defined prior to call this method. Please note, that a clone of the insurance's address is automatically assigned as debitor address in the Finalize method should the SetDebitor method not be called. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetInsurance
[JSON input data] | pICareCreditRequest: bstrEAN: pIAddress: | longValue, //interface address "utf8StringValue", longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetInsurance( | BSTR IAddress VARIANT_BOOL | bstrEAN, *pIAddress, *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
Calling argument description |  |  |
[in] BSTR | bstrEAN | The GLN (former EAN) number of the insurance as supplied by Stiftung Refdata |
[in] IAddress | *pIAddress | The instance of a IAddress interface that holds the structured address parts. A NULL pointer is supplied if no address should be set. |
[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. |
space |


  • ICareCreditRequest
  • SetLaw

ICareCreditRequest::SetLaw method |  |  | space
Sets the data about the applied law and its dependent information |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetLaw
[JSON input data] | pICareCreditRequest: eLawType: dCaseDate: bstrCaseID: bstrInsuredID: | longValue, //interface address longValue, variantDateValue | "stringISODateValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetLaw( | LawType DATE BSTR BSTR VARIANT_BOOL | eLawType, dCaseDate, bstrCaseID, bstrInsuredID, *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
Calling argument description |  |  |
[in] LawType | eLawType | The type of law to set from the LawType enumeration |
[in] DATE | dCaseDate | The case date of the insurance (e.g. date of accident in UVG) This date might undefined for certain laws and therefore left empty |
[in] BSTR | bstrCaseID | The case ID of the insurance (e.g. accident number in UVG) This ID might undefined for certain laws and therefore left empty |
[in] BSTR | bstrInsuredID | The patient's ID at the insurance (e.g. insurance ID in KVG) This ID might undefined for certain laws and therefore left empty |
[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. |
space |


  • ICareCreditRequest
  • SetNursingHomeCare

ICareCreditRequest::SetNursingHomeCare method | space
Sets the primary parameters for a "Nursing Home Care" nursing case situation, that is the ordinary nursing home caring situation supplied by a nursing home organization ("Pflegeheim")
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequest/SetNursingHomeCare
[JSON input data] pICareCreditRequest:
bstrPlanningCatalog:
bstrCareDemandLevel:
dAssessmentDate:
lAccommodationType: 		longValue, //interface address
"utf8StringValue",
"utf8StringValue",
variantDateValue | "stringISODateValue",
longValue
[JSON result data] pbStatus: 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
C/C++ calling syntax
HRESULT SetNursingHomeCare( BSTR
BSTR
DATE
long
VARIANT_BOOL 		bstrPlanningCatalog,
bstrCareDemandLevel,
dAssessmentDate,
lAccommodationType,
*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
Calling argument description
[in] BSTR bstrPlanningCatalog Defines the official name of the used planning catalog.

Note, that the name should consist of a slash-separated planning catalog name and edition e.g. "RAI-NC/2018" or "BESA/2018". Thus the given name should allow for an unambiguous identification of the catalog.
[in] BSTR bstrCareDemandLevel The bstrCareDemandLevel string holds the assed care demand level for the patient.

Note, that the name should consist of a planning catalog name and care level number e.g. "BESA5" or "PLAISIR3". Thus the given name should allow for an unambiguous identification of the catalog and care level.
[in] DATE dAssessmentDate The dAssessmentDate variable defines the date at which the assessment for the care demand level was performed.

Note, that the assessment date obviously is equal or before the treatment start date.
[in] long lAccommodationType The lAccommodationType variable defines the type of accommodation encoded by a set of predefined integer values. Currently, there are the following values with the given semantic meaning defined, namely
  • lAccommodationType=1 aka "long-term stay"
  • lAccommodationType=2 aka "short-term stay"
  • lAccommodationType=3 aka "person not accommodated"
  • lAccommodationType=4 aka "day and night structure"
  • lAccommodationType=5 aka "acute and transitional care"
[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.
space


  • ICareCreditRequest
  • SetPackage

ICareCreditRequest::SetPackage method |  |  | space
Defines the identification parameters of the main software. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetPackage
[JSON input data] | pICareCreditRequest: bstrSoftwarePackage: lSoftwareVersion: lSoftwareID: bstrSoftwareCopyright: | longValue, //interface address "utf8StringValue", longValue, longValue, "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetPackage( | BSTR long long BSTR VARIANT_BOOL | bstrSoftwarePackage, lSoftwareVersion, lSoftwareID, bstrSoftwareCopyright, *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
Calling argument description |  |  |
[in] BSTR | bstrSoftwarePackage | Name of the main software. |
[in] long | lSoftwareVersion | Version of the main software coded as 32-bit value where lSoftwareVersion = 100*Major version + Minor version. |
[in] long | lSoftwareID | Optional ID of the main software |
[in] BSTR | bstrSoftwareCopyright | The copyright notice of the main software. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then no package data is available |
space |


  • ICareCreditRequest
  • SetPatient

ICareCreditRequest::SetPatient method | space
Sets the primary parameters and structured address of the patient.

The address is defined via an IAddress interface pointer and the address data must be defined prior to call this method.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequest/SetPatient
[JSON input data] pICareCreditRequest:
eSexType:
dBirthdate:
bstrSSN:
eDisabilityAllowance:
eIncontinenceDegree:
pIAddress: 		longValue, //interface address
longValue,
variantDateValue | "stringISODateValue",
"utf8StringValue",
longValue,
longValue,
longValue
[JSON result data] pbStatus: 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
C/C++ calling syntax
HRESULT SetPatient( SexType
DATE
BSTR
DisabilityAllowanceType
IncontinenceDegreeType
IAddress
VARIANT_BOOL 		eSexType,
dBirthdate,
bstrSSN,
eDisabilityAllowance,
eIncontinenceDegree,
*pIAddress,
*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
Calling argument description
[in] SexType | eSexType | The patient's gender.
[in] DATE | dBirthdate | The patient's birthdate.
[in] BSTR bstrSSN Defines the social security number (SSN) of the patient whereupon 4 distinguished types are allowed:
  • the old 11 digit Swiss SSN ("AHV-Nummer") as defined by Federal Social Insurance Office
  • the new 13 digit Swiss SSN ("SV-Nummer") beginning with 756 as defined by Federal Social Insurance Office
  • the new 4-10 digit SSN of Liechtenstein ("AHV-Nummer") as defined by Liechtensteinische AHV-IV-FAK
  • the 13 digit IDNR number of Liechtenstein ("IDNR-Nummer") beginning with 438
The SSN can be supplied in its printed (with dots) or electronic (only digits) form.
[in] DisabilityAllowanceType eDisabilityAllowance Sets the degree of disability allowance of the patient defined by the Swiss Disability Insurance (DI).

In the uttermost cases this parameter is enDisabilityNone

[in] IncontinenceDegreeType eIncontinenceDegree Sets the degree of incontinence of the patient.

In the uttermost cases this parameter is enIncontinenceNone

[in] IAddress | *pIAddress | Pointer to an IAddress interface instance that holds the structured address parts.
[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.
space


  • ICareCreditRequest
  • SetPostPartumCare

ICareCreditRequest::SetPostPartumCare method |  |  | space
Sets the primary parameters for a "Post Partum Care" nursing case situation, that is the nursing care of a woman who recently had a childbirth. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetPostPartumCare
[JSON input data] | pICareCreditRequest: bstrPlanningCatalog: dDateOfBirth: lDomesticAidDaysPerWeek: lDomesticAidHoursPerDay: eMiGelSelfapplication: | longValue, //interface address "utf8StringValue", variantDateValue | "stringISODateValue", longValue, longValue, longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetPostPartumCare( | BSTR DATE long long YesNoType VARIANT_BOOL | bstrPlanningCatalog, dDateOfBirth, lDomesticAidDaysPerWeek, lDomesticAidHoursPerDay, eMiGelSelfapplication, *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
Calling argument description |  |  |
[in] BSTR | bstrPlanningCatalog | Defines the official name of the used planning catalog. Note, that the name should consist of a slash-separated planning catalog name and edition e.g. "RAI-NC/2018" or "BESA/2018". Thus the given name should allow for an unambiguous identification of the catalog. |
[in] DATE | dDateOfBirth | dDateOfBirth defines the date and possibly time of a recently born neonate of the patient. |
[in] long | lDomesticAidDaysPerWeek | The variables lDomesticAidDaysPerWeek and lDomesticAidHoursPerDay define the frequency and magnitude of work provided by a domestic aid. lDomesticAidDaysPerWeek in special defines the number of days, that the domestic aid is working per week. Note, that a value of 0 means, that the patient has no domestic aid per se. |
[in] long | lDomesticAidHoursPerDay | The variables lDomesticAidDaysPerWeek and lDomesticAidHoursPerDay define the frequency and magnitude of work provided by a domestic aid. lDomesticAidHoursPerDay in special defines the number of hours, that the domestic aid is working per day. Note, that a value of 0 means, that the patient has no domestic aid per se. |
[in] YesNoType | eMiGelSelfapplication | The Boolean eMiGelSelfapplication indicates whether the patient receives MiGel care products for self-application from the nursing care organization (enYes) or not (enNo) |
[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. |
space |


  • ICareCreditRequest
  • SetProvider

ICareCreditRequest::SetProvider method |  |  | space
Sets the main provider's various identifiers (GLN, ZSR,...) as well as the structured address. The structured address is defined via a Iaddress interface instance and the address data must be defined prior to call this method. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetProvider
[JSON input data] | pICareCreditRequest: bstrEAN: bstrZSR: bstrNIF: bstrSpecialty: pIAddress: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetProvider( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | bstrEAN, bstrZSR, bstrNIF, bstrSpecialty, *pIAddress, *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
Calling argument description |  |  |
[in] BSTR | bstrEAN | The GLN (former EAN) number of the provider as supplied by Stiftung Refdata |
[in] BSTR | bstrZSR | The optional ZSR number of the provider as supplied by Santesuisse |
[in] BSTR | bstrNIF | The optional IV specific identification number NIF of the provider. |
[in] BSTR | bstrSpecialty | An optional specialty, i.e. FMH title of the provider |
[in] IAddress | *pIAddress | The instance of a IAddress interface that holds the structured address parts. A NULL pointer is supplied if no address should be set. |
[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. |
space |


  • ICareCreditRequest
  • SetReferrer

ICareCreditRequest::SetReferrer method |  |  | space
Sets the referrer's various identifiers (GLN, ZSR,...) and the structured address - this is an optional part. The address is defined via an Iaddress interface pointer and the address data must be defined prior to call this method. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetReferrer
[JSON input data] | pICareCreditRequest: bstrEAN: bstrZSR: bstrNIF: bstrSpecialty: pIAddress: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetReferrer( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | bstrEAN, bstrZSR, bstrNIF, bstrSpecialty, *pIAddress, *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
Calling argument description |  |  |
[in] BSTR | bstrEAN | The GLN (former EAN) number of the referrer as supplied by Stiftung Refdata |
[in] BSTR | bstrZSR | The optional ZSR number of the referrer as supplied by Santesuisse |
[in] BSTR | bstrNIF | The optional IV specific identification number NIF of the referrer. |
[in] BSTR | bstrSpecialty | The optional specialty, i.e. FMH title of the referrer. |
[in] IAddress | *pIAddress | The instance of a IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[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. |
space |


  • ICareCreditRequest
  • SetRequest

ICareCreditRequest::SetRequest method |  |  | space
Sets the primary parameters of the request, namely the "storno" and "copy" status besides an optional remark. Note, that whenever the "storno" and/or "copy" parameters are set then the timestamp of the topmost object reference (SetCreditObject) must be defined as >0 otherwise an error will result in the Finalize method. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetRequest
[JSON input data] | pICareCreditRequest: eIsStorno: eIsCopy: eOrdinance: bstrRemark: | longValue, //interface address longValue, longValue, longValue, "utf8StringValue"
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetRequest( | YesNoType YesNoType OrdinanceType BSTR VARIANT_BOOL | eIsStorno, eIsCopy, eOrdinance, bstrRemark, *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
Calling argument description |  |  |
[in] YesNoType | eIsStorno | Boolean value that defines the "storno" status of the nursing care credit request eIsStorno should be false when the initial request object is produced. At this step the timestamp is generated and returned in the ICareCreditRequestManager::Print and/or ICareCreditRequestManager::GetXML method. Whenever eIsStorno is true then the request timestamp must be set otherwise an error will result. |
[in] YesNoType | eIsCopy | Boolean value that defines the "copy" status of the nursing care credit request eIsCopy should be false when the initial request object is produced. At this step the timestamp is generated and returned in the ICareCreditRequestManager::Print and/or ICareCreditRequestManager::GetXML method. Whenever eIsCopy is true then the request timestamp must be set otherwise an error will result. |
[in] OrdinanceType | eOrdinance |  |
[in] BSTR | bstrRemark | An overall optional remark for the nursing care credit request |
[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. |
space |


  • ICareCreditRequest
  • SetTransport

ICareCreditRequest::SetTransport method | space
Sets transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to). All the involved parties are defined by GLN numbers as defined by Stiftung Refdata.

Furthermore, this method allows to define the parameters needed for sign and/or encrypt the resulting XML infoset. Therefore, read the notes about signature and encryption to get familiar with these concepts.

Important new feature: the electronic reachability of a recipient for a certain version of careCreditRequest is kind of a chicken and egg problem. To solve this connectivity problem, the service medSRS (medical Standard Routing Service) has been created. By using the RESTful webservice method queryRHS one can find out, how and whether a specific recipient can be reached electronically. Please refer to the website medSRS.ch for getting an introduction to the topic or detailed information about the functionality of the webservice.

Instead of inputting the bstrToEan GLN literal, the query call queryRHS(glnProvider,glnRecipient) is supplied instead - cf. description of bstrToEAN below.

The usage of the patch can generate a new error code 'ERROR_RECIPIENTRHS_NOTAVAILABLE' indicating that a given recipient is not reachable. It is the decision of the calling program whether the error 'ERROR_RECIPIENTRHS_NOTAVAILABLE' will be considered or not.

space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequest/SetTransport
[JSON input data] pICareCreditRequest:
bstrFromEAN:
bstrFromPFXFile:
bstrFromPFXPassword:
bstrViaEAN:
bstrToEAN:
bstrToBinDERFile: 		longValue, //interface address
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue"
[JSON result data] pbStatus: 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
C/C++ calling syntax
HRESULT SetTransport( BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
VARIANT_BOOL 		bstrFromEAN,
bstrFromPFXFile,
bstrFromPFXPassword,
bstrViaEAN,
bstrToEAN,
bstrToBinDERFile,
*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
Calling argument description
[in] BSTR | bstrFromEAN | The GLN (former EAN) number of the sender as supplied by Stiftung Refdata
[in] BSTR bstrFromPFXFile The file name of the PFX certificate that is the private certificate of the "from" entity.
If the variable is empty or NULL then no signature is applied otherwise a signature might be applied depending on the lXMLGenerationAttributes of the GetXML method.
[in] BSTR | bstrFromPFXPassword | The password to open the PFX certificate. The password is only used if a PFX certificate is supplied.
[in] BSTR | bstrViaEAN | The GLN (former EAN) number of the first intermediate as supplied by Stiftung Refdata
[in] BSTR bstrToEAN The GLN (former EAN) number of the recipient as supplied by Stiftung Refdata

Patch for querying medSRS:
bstrToEAN = "queryRHS(glnProvider,glnRecipient);"

where:
  • queryRHS( ) is a literal command
  • glnProvider is the official GLN of the service with a required pattern of ^76[0-9]{11}.
    Please note that the official GLN of the service provider is needed here, which is not necessarily identical with the GLN of the sender == bstrFromEAN. The latter may be a GLN from the private sector (^2[0-9]{12}) - this is a small but crucial difference.
  • glnRecipient is the official GLN of the recipient with a required pattern of ^76[0-9]{11}.
    Please note that the official GLN of the sender is needed here, which is not necessarily identical with the GLN of the recipient == bstrToEAN. The latter may be a GLN from the private sector (^2[0-9]{12}) - this is a small but crucial difference.
Note, that the patch is neither case- nor whitespace-sensitive.

For example, given the input 'queryRHS(7601001302112, 7601003000078)' the medSRS system is queried whether
the recipient Suva (GLN=7601003000078) can be reached via the given intermediate (bstrViaEAN) with the standard 'carCreditRequest450' for the provider TMR (GLN=7601001302112).

The result of the RESTful webservice call can return 3 possible result states:
  1. the recipient (Suva) is reachable: the correct GLN bstrToEAN is returned and error state S_OK is defined
  2. the call is faulty because the parameters have a wrong format or the used intermediate (bstrViaEAN) is unknown on medSRS or the call has caused some other technical problem. In this case bstrToEAN=bstrRecipient (7601003000078 in the example) is set and the error state S_OK is defined
  3. the recipient (Suva) is not reachable: if there is the possibility of a downgrade, the RESTful call is repeated for the next lower version or bstrToEAN=bstrRecipient (7601003000078 in the example) is set and the error state 'ERROR_RECIPIENTRHS_NOTAVAILABLE' is defined.
It is the decision of the calling program whether the error 'ERROR_RECIPIENTRHS_NOTAVAILABLE' will be considered or not.
[in] BSTR bstrToBinDERFile The file name of the binary DER certificate that is the public certificate of the "to" entity.
If the variable is empty or NULL then no encryption is applied otherwise encryption might be applied depending on the lXMLGenerationAttributes of the GetXML
[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.
space


  • ICareCreditRequest
  • SetTreatment

ICareCreditRequest::SetTreatment method |  |  | space
Sets the basic treatment parameters. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequest/SetTreatment
[JSON input data] | pICareCreditRequest: dDateBegin: dDateEnd: eTreatmentCanton: eTreatmentType: eTreatmentReason: eTiersMode: | longValue, //interface address variantDateValue | "stringISODateValue", variantDateValue | "stringISODateValue", longValue, longValue, longValue, longValue
[JSON result data] | pbStatus: | 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
C/C++ calling syntax |  |  |
HRESULT SetTreatment( | DATE DATE CantonType TreatmentType TreatmentReasonType TiersModeType VARIANT_BOOL | dDateBegin, dDateEnd, eTreatmentCanton, eTreatmentType, eTreatmentReason, eTiersMode, *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
Calling argument description |  |  |
[in] DATE | dDateBegin | dDateBegin is the supposed start of the treatment |
[in] DATE | dDateEnd | dDateEnd is the supposed end of the treatment |
[in] CantonType | eTreatmentCanton | The treatment canton given by the CantonType enumeration |
[in] TreatmentType | eTreatmentType | The treatment type (ambulatory or stationary) given by the TreatmentType enumeration |
[in] TreatmentReasonType | eTreatmentReason | The treatment reason given by the TreatmentReasonType enumeration |
[in] TiersModeType | eTiersMode | The tiers mode given by the TiersModeType enumeration |
[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. |
space |


  • ICareCreditRequest
  • CreateAddress

ICareCreditRequest::CreateAddress property | space
Creates an instance of the IAddress interface.

Any address data is specified or retrieved using properties and methods of this interface. The interface is reusable for any semantic type of address. Just call the IAddress:Initialize method before starting to input new address data.
space
Restful webservice calling syntax
[GET] | /baseURL/ ICareCreditRequest/GetCreateAddress?param
[param] pICareCreditRequest= longValue
[JSON result data] pIAddress: longValue //interface address
[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
C/C++ calling syntax
[get] HRESULT | CreateAddress( IAddress **peCreateAddress );
[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
Calling argument description
[out,retval] IAddress | **peCreateAddress
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • IAddress **GetCreateAddress(void);
space


  • ICareCreditRequest
  • DestructAddress

ICareCreditRequest::DestructAddress property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates the IAddress interface instance. The counterpart property to generate an IAddress interface instance is ICareCreditRequest::GetCreateAddress. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ICareCreditRequest/PutDestructAddress
[JSON input data] | pICareCreditRequest: pIAddress: | longValue, //interface address longValue, //interface address
[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
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • ICareCreditRequest
  • DestructCareCreditRequest

ICareCreditRequest::DestructCareCreditRequest property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this ICareCreditRequest interface instance. The counterpart property to generate an ICareCreditRequest interface instance is ICareCreditRequestManager::GetCareCreditRequest. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ICareCreditRequest/PutDestructCareCreditRequest
[JSON input data] | pICareCreditRequest: | longValue, //interface address
[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
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • ICareCreditRequestManager

ICareCreditRequestManager interface |  | V4.50/ 6 May 2019
The ICareCreditRequestManager interface provides all the necessary methods to produce nursing care credit requests of typecareCreditRequest_450 for all roles and places. Firstly, an instance of the ICareCreditRequest interface is created by the GetCareCreditRequest property. All the nursing care related data and parameters can be set by the supplied interface methods like SetPatient, SetTreatment,... After all information is defined the nursing care credit object is printed or a XML infoset is produced which can be electronically transported to a recipient. In the latter case the care credit object optionally can be signed and/or encrypted . Due to the processing attributes "storno" and "copy" a previously generated care credit object can be canceled or a copy can be produced (cf. Notes about processing attributes). |  | space
space
Methods |  | 8 methods
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetLogSettings | Get the log settings for the module. |
GetXML | The GetXML method generates the XML infoset based on the data of the ICareCreditRequest interface and the XML generation attributes, validates the XML against the XSD schema, and stores the XML content as UTF8 file in the internal working directory |
LoadXML | Loads a previously generated XML infoset back into memory for further processing via the returned interface handles |
Print | The Print method validates the defined care credit data and prints the request on the local printer |
PrintAdjust | Shows the print object adjustment dialog that allows to move print objects of a .vps report generator file |
PrintSetup | Shows the printer setup dialog that allows to define the printer and its settings |
SetLogSettings | Sets the log setting preferences for the module |
space
Properties |  | 9 properties
[get] CareCreditRequest | Gets the ICareCreditRequest interface instance |
[get] CreateCareCreditRequestManager | Creates an instance of the main ICareCreditRequestManager interface |
[put] DestructCareCreditRequest | Destructs/invalidates this ICareCreditRequest interface instance |
[put] DestructCareCreditRequestManager | Destructs/invalidates a main instance of the ICareCreditRequestManager interface |
[put] DestructCareCreditResult | Destructs/invalidates this ICareCreditResult interface instance. |
[get/put] ModuleLanguage | Get/Set the language for the module i.e |
[get] ModuleVersion | Get the version of the CareCreditRequestManager module. |
[get] ModuleVersionText | Get the version of the CareCreditRequestManager module in textual form. |
[get/put] Modus | Gets/Sets the operation modus of the module |
space |


  • ICareCreditRequestManager
  • GetAbortInfo

ICareCreditRequestManager::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequestManager/GetAbortInfo
[JSON input data] | pICareCreditRequestManager: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *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
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • ICareCreditRequestManager
  • GetLogSettings

ICareCreditRequestManager::GetLogSettings method | space
Get the log settings for the module.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequestManager/GetLogSettings
[JSON input data] pICareCreditRequestManager: longValue, //interface address
[JSON result data] plLogLevel:
plMaxSizeKB:
peDoArchive:
pbstrArchiveDir:
pbStatus: 		longValue,
longValue,
longValue,
"utf8StringValue",
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
C/C++ calling syntax
HRESULT GetLogSettings( long
long
YesNoType
BSTR
VARIANT_BOOL 		*plLogLevel,
*plMaxSizeKB,
*peDoArchive,
*pbstrArchiveDir,
*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
Calling argument description
[out] long *plLogLevel The log activity level where
lLogLevel = 0 | Logging is turned off
lLogLevel = 1 | Normal log activity
lLogLevel > 1 | Debug log activity. Use this level only for debugging purposes
[out] long | *plMaxSizeKB | The maximum size in KB of the log file.
[out] YesNoType | *peDoArchive | eDoArchive defines if the log file is recycled if the maximum size is reached (enNo) or if the log file is archived (enYes).
[out] BSTR | *pbstrArchiveDir | The base directory where log files are archived. bstrArchiveDir is only defined if eDoArchive=enYes otherwise bstrArchiveDir is empty.
[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.
space


  • ICareCreditRequestManager
  • GetXML

ICareCreditRequestManager::GetXML method |  |  | space
The GetXML method generates the XML infoset based on the data of the ICareCreditRequest interface and the XML generation attributes, validates the XML against the XSD schema, and stores the XML content as UTF8 file in the internal working directory. The full file name to this XML document is replied in the pbstrOutputFile output variable. The XML file must be saved to a different location as all temporary XML files in the working directory are deleted before the COM module shuts down! Note about encryption: an encrypted XML infoset can not be loaded successfully by LoadXML. Therefore, to build a local archive besides encrypted XML infoset call GetXML twice once with the lXMLGenerationAttributes = enGenerateWithoutEncryption |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditRequestManager/GetXML
[JSON input data] | pICareCreditRequestManager: lGenerationAttributes: | longValue, //interface address longValue
[JSON result data] | pbstrOutputFile: plValidationError: plTimestamp: pbstrUsedSchema: pICareCreditResult: pbStatus: | "utf8StringValue", longValue, longValue, "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetXML( | long BSTR long long BSTR ICareCreditResult VARIANT_BOOL | lGenerationAttributes, *pbstrOutputFile, *plValidationError, *plTimestamp, *pbstrUsedSchema, **pICareCreditResult, *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
Calling argument description |  |  |
[in] long | lGenerationAttributes | This variable overrules the default behavior of the XML generation process even if the appropriate data have been defined. lGenerationAttributes is a 32-bit integer where the possible "commands" are values from the generationAttributes data type ORed together to form the overall command. This feature is necessary to generate different "flavors" of XML infosets without re-setting input data. For instance, an encrypted XML infoset for the "to" entity can be produced and in a second call the XML infoset without encryption (lGenerationAttributes=enGenerateXMLWithoutEncryption) is requested for a local archive (that can be loaded back later!). |
[out] BSTR | *pbstrOutputFile | The full file name (path + name) where the XML infoset is stored in UTF-8 mode. The XML file must be saved to a different location as all temporary XML files in the working directory are deleted before the COM module shuts down! In Restful Webservice output: pbstrOutputFile is a releative URL which must be downloaded in a subsequent GET process. |
[out] long | *plValidationError | lValidationError is filled with the validation error code returned by the MSXML DOM parser. A zero value indicates that the validation was successful. |
[out] long | *plTimestamp | The timestamp of the XML document as epoch time (seconds elapsed since 1.1.1970) that is used as timestamp of the topmost object reference from that point on. If the timestamp for the topmost object reference was already set (e.g. to produce a copy) then this same timestamp is returned. |
[out] BSTR | *pbstrUsedSchema | The full XSD name that was used to generate the XML infoset. In a standard situation this would becareCreditRequest_450.xsd. |
[out] ICareCreditResult | **pICareCreditResult | The instance of a ICareCreditResult interface allows to read all loaded data back. The handle is NULL if an error occurred. |
[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. |
space |


  • ICareCreditRequestManager
  • LoadXML

ICareCreditRequestManager::LoadXML method | space
Loads a previously generated XML infoset back into memory for further processing via the returned interface handles. The CareCreditRequest450 COM module understands and processes the careCreditRequest_450 XSD standard.

To analyze and retrieve the loaded data use the returned instance of the ICareCreditRequest interface and/or preview/print the data.

Furthermore, this method serves as dashboard e.g. to produce a "storno" or "copy" XML infoset.
  • Load the initial XML infoset with LoadXML
  • set the appropriate storno and/or copy values with the ICareCreditRequest::SetRequest method
  • produce the XML infoset again with the GetXML method or print the care credit with the Print method.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequestManager/LoadXML?param
[param] pICareCreditRequestManager=longValue&
bstrInputFile=urlEncodedString
+
<application/octet-stream> input_file_upload_stream
[JSON result data] pbstrUsedSchema:
pICareCreditRequest:
pICareCreditResult:
pbStatus: 		"utf8StringValue",
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
C/C++ calling syntax
HRESULT LoadXML( BSTR
BSTR
ICareCreditRequest
ICareCreditResult
VARIANT_BOOL 		bstrInputFile,
*pbstrUsedSchema,
**pICareCreditRequest,
**pICareCreditResult,
*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
Calling argument description
[in] BSTR | bstrInputFile | The input XML infoset (full file name) that must be loaded and analyzed.
[out] BSTR *pbstrUsedSchema The full XSD schema name referenced by the of the loaded XML file.

Since there is only one understandable standard, the returned schema is careCreditRequest_450.xsd. This variable is not set if the loading of an XML infoset was unsuccessful or the referenced XSD is not valid.
[out] ICareCreditRequest **pICareCreditRequest The ICareCreditRequest interface handle that allows to add further data.
The handle is NULL if an error occurred.
[out] ICareCreditResult **pICareCreditResult The instance of a ICareCreditResult interface allows to read all loaded data back.
The handle is NULL if an error occurred.
[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.
space


  • ICareCreditRequestManager
  • Print

ICareCreditRequestManager::Print method | space
The Print method validates the defined care credit data and prints the request on the local printer. The printer selection is done via the used report generator template file. If the template file was not connected to a printer with the PrintSetup method then the default printer with ist default settings is used.

The bstrPrintTemplate variable obeys a special syntax and can optionally be used to set special print commands like using electronic webstamps, producing PDFs or changing print objects dynamically.
  • "How to print webstamps" is a description how to integrate electronic stamps into the care credit
  • "How to generate PDF archive file" is a description about generating PDF archive files of the care credit
  • "How to use an alternate print template" is a description about overriding the default print template
  • "Syntax of the printTemplate variable"

IMPORTANT LICENSE NOTE The report engine used is Hexatech's ViewPro (www.hexatech.com). If you supply your own template files then you must have your own ViewPro license. By using this COM module you implicitly agree upon this restriction!
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequestManager/Print
[JSON input data] pICareCreditRequestManager:
bstrPrintTemplate:
lGenerationAttributes:
ePrintPreview:
bstrSenderID: 		longValue, //interface address
"utf8StringValue",
longValue,
longValue,
"utf8StringValue"
[JSON result data] plTimestamp:
pICareCreditResult:
pbstrPDFFile:
pbStatus: 		longValue,
longValue,
"utf8StringValue",
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
C/C++ calling syntax
HRESULT Print( BSTR
long
YesNoType
BSTR
long
ICareCreditResult
VARIANT_BOOL 		bstrPrintTemplate,
lGenerationAttributes,
ePrintPreview,
bstrSenderID,
*plTimestamp,
**pICareCreditResult,
*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
Calling argument description
[in] BSTR bstrPrintTemplate The bstrPrintTemplate variable is used to explicitly change print template reports and/or print objects as defined in "Syntax of the printTemplate variable".

If bstrPrintTemplate is empty then the default print template of the defined data language ( ICareCreditRequest:: Initialize method) is used.
[in] long lGenerationAttributes This variable overrules the default behavior of the print process.

lGenerationAttributes is a 32-bit integer where the possible "commands" are values from the generationAttributes data type ORed together to form the overall command.
[in] YesNoType ePrintPreview A Boolean that defines if print preview is used (enYes) or printing is done (enNo)

In Restful Webservice system: ePrintPreview is automatically set to enNo no matter what the input value is. Furthermore, printing is automatically redirected to a PDF output file since there are no printers available.

[in] BSTR bstrSenderID Short sender address identification or empty.

If set then the sender identification is printed atop of the receiver address as an alternative to the sender address on the envelop.
[out] long *plTimestamp The timestamp of the XML document as epoch time (seconds elapsed since 1.1.1970) that is used as timestamp of the topmost object reference from that point on.

If the timestamp for the topmost object reference was already set (e.g. to produce a copy) then this same timestamp is returned.
[out] ICareCreditResult **pICareCreditResult The ICareCreditResult interface handle that allows to get all loaded data back.
The handle is NULL if an error occurred.
[out] BSTR *pbstrPDFFile In Restful webservice output:

pbstrPDFFile is a relative URL to a PDF file holding the result of the Print method. Therefore, after receiving the JSON result data do GET pbstrPDFile such as to have the produced printout.
[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.
space


  • ICareCreditRequestManager
  • PrintAdjust

ICareCreditRequestManager::PrintAdjust method | space
Shows the print object adjustment dialog that allows to move print objects of a .vps report generator file.

Besides the position adjustment of any available print object, there exists the possibility of move all print objects globally.
space
Restful webservice calling syntax
This method has no Restful Webservice representation!
space
C/C++ calling syntax
HRESULT PrintAdjust( BSTR
BSTR
VARIANT_BOOL 		bstrPrintTemplate,
bstrINIPath,
*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
Calling argument description
[in] BSTR bstrPrintTemplate Either the full file name (path + name) or a logical name of a target .vps report generator file for which the settings will be defined.

There are predefined .vps files in the installation directory that can be accessed via one of the following case insensitive logical names:
Detail[_version]_addressSide_language
- the multi-page nursing care credit template for all laws
where
  • version is 450, the absence of a version identifier defaults to 450
  • language is one of {dt, fr, it}.
  • addressSide is R for right sided addressing of the recipient.

For example the logical name "Detail_R_fr" is the French print template of version 450 with right sided addressing.
[in] BSTR bstrINIPath Optional path to a directory where the .vpd printer setting file is stored. The name of the printer setting file is the same name as the .vps file but with a .vpd extension.

If bstrINIPath is left empty then the standard directory (the directory of the dll) is used.
[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.
space


  • ICareCreditRequestManager
  • PrintSetup

ICareCreditRequestManager::PrintSetup method | space
Shows the printer setup dialog that allows to define the printer and its settings. When saving the data the selected printer and the currently used computer is connected with the given .vps report generator file.
space
Restful webservice calling syntax
This method has no Restful Webservice representation!
space
C/C++ calling syntax
HRESULT PrintSetup( BSTR
BSTR
VARIANT_BOOL 		bstrPrintTemplate,
bstrINIPath,
*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
Calling argument description
[in] BSTR bstrPrintTemplate Either the full file name (path + name) or a logical name of a target .vps report generator file for which the settings will be defined.

There are predefined .vps files in the installation directory that can be accessed via one of the following case insensitive logical names:
Detail[_version]_addressSide_language
- the multi-page nursing care credit template for all laws
where
  • version is 450, the absence of a version identifier defaults to 450
  • language is one of {dt, fr, it}.
  • addressSide is R for right sided addressing of the recipient.

For example the logical name "Detail_R_fr" is the French print template of version 450 with right sided addressing.
[in] BSTR bstrINIPath Optional path to a directory where the .vpd printer setting file is stored. The name of the printer setting file is the same name as the .vps file but with a .vpd extension.

If bstrINIPath is left empty then the standard directory (the directory of the dll) is used.
[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.
space


  • ICareCreditRequestManager
  • SetLogSettings

ICareCreditRequestManager::SetLogSettings method | space
Sets the log setting preferences for the module.

The default for the log activity are: level=1, lMaxSizeKB=20000,eDoArchive=enNo, and the log settings are persistent via the log file itself.

Note, that the log facility is a best effort system. If there is an error e.g. due to insufficient privileges to write the log entries then nothing is logged.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditRequestManager/SetLogSettings
[JSON input data] pICareCreditRequestManager:
lLogLevel:
lMaxSizeKB:
eDoArchive:
bstrArchiveDir: 		longValue, //interface address
longValue,
longValue,
longValue,
"utf8StringValue"
[JSON result data] pbStatus: 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
C/C++ calling syntax
HRESULT SetLogSettings( long
long
YesNoType
BSTR
VARIANT_BOOL 		lLogLevel,
lMaxSizeKB,
eDoArchive,
bstrArchiveDir,
*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
Calling argument description
[in] long lLogLevel The log activity level where
lLogLevel = 0 | Logging is turned off
lLogLevel = 1 | Normal log activity
lLogLevel > 1 | Debug log activity. Use this level only for debugging purposes

Any log level below 0 is corrected to 0.
[in] long lMaxSizeKB The maximum size in KB of the log file (default value is 20000 kB).
Any size below 1000 kB is corrected to the default value
[in] YesNoType | eDoArchive | eDoArchive defines if the log file is recycled once the maximum size is reached (enNo) or if the log file is archived (enYes) into the archive directory.
[in] BSTR bstrArchiveDir Defines the base directory where log files are archived. bstrArchiveDir is only used if eDoArchive=enYes. If bstrArchiveDir is empty and eDoArchive=enYes then the place of the module is used as the base archive directory.

If the base archive directory or directories below have insufficient privileges to create directories or write files archiving is not done!
[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.
space


  • ICareCreditRequestManager
  • CareCreditRequest

ICareCreditRequestManager::CareCreditRequest property | space
Gets the ICareCreditRequest interface instance.

This property is called if the data are defined from scratch. The same interface instance is returned when the ICareCreditRequestManager::LoadXML method is called.
space
Restful webservice calling syntax
[GET] | /baseURL/ ICareCreditRequestManager/GetCareCreditRequest?param
[param] pICareCreditRequestManager= longValue
[JSON result data] pICareCreditRequestt: longValue //interface address
[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
C/C++ calling syntax
[get] HRESULT | CareCreditRequest( ICareCreditRequest **peCareCreditRequest );
[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
Calling argument description
[out,retval] ICareCreditRequest | **peCareCreditRequest
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • ICareCreditRequest **GetCareCreditRequest(void);
space


  • ICareCreditRequestManager
  • CreateCareCreditRequestManager

ICareCreditRequestManager::CreateCareCreditRequestManager property |  |  | space
This property has a Restful Webservice representation only! Creates an instance of the main ICareCreditRequestManager interface. To delete/invalidate this interface instance, the counterpart property PutDestructCareCreditRequestManager must be explicitly called, since the pICareCreditRequestManager address has a global scope and is not automatically destructed. |  |  |
space
Restful webservice calling syntax |  |  |
[GET] | /baseURL/ ICareCreditRequestManager/GetCreateCareCreditRequestManager?param
[param] | pICareCreditRequestManager= | longValue
[JSON result data] | pICareCreditRequestManager: | longValue //interface address
[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
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • ICareCreditRequestManager
  • DestructCareCreditRequest

ICareCreditRequestManager::DestructCareCreditRequest property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this ICareCreditRequest interface instance. The counterpart property to generate an ICareCreditRequest interface instance is ICareCreditRequestManager::GetCareCreditRequest. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ICareCreditRequestManager/PutDestructCareCreditRequest
[JSON input data] | pICareCreditRequestManager: pICareCreditRequest: | longValue, //interface address longValue, //interface address
[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
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • ICareCreditRequestManager
  • DestructCareCreditRequestManager

ICareCreditRequestManager::DestructCareCreditRequestManager property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates a main instance of the ICareCreditRequestManager interface. Please note, that all dependent, active interface instances generated with ICareCreditRequestManager::GetCareCreditRequest, all dependent, active interface instances generated with ICareCreditRequest::GetCreateAddress and all ICareCreditResult interface instances under this main instance, are automatically destructed as well. The counterpart property to generate a main interface instance is ICareCreditRequestManager::GetCreateCareCreditRequestManager. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ICareCreditRequestManager/PutDestructCareCreditRequestManager
[JSON input data] | pICareCreditRequestManager: | longValue, //interface address
[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
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • ICareCreditRequestManager
  • DestructCareCreditResult

ICareCreditRequestManager::DestructCareCreditResult property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this ICareCreditResult interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ICareCreditRequestManager/PutDestructCareCreditResult
[JSON input data] | pICareCreditRequestManager: pICareCreditResult: | longValue, //interface address longValue, //interface address
[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
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • ICareCreditRequestManager
  • ModuleLanguage

ICareCreditRequestManager::ModuleLanguage property | space
Get/Set the language for the module i.e. the language in which the error strings are coded.

Note, that the module language and the data language (given by ICareCreditRequest::Initialize) are independent and can be different!
space
Restful webservice calling syntax
[GET] | /baseURL/ ICareCreditRequestManager/GetModuleLanguage?param
[param] pICareCreditRequestManager= longValue
[JSON result data] peModuleLanguage: longValue
[PUT] | /baseURL/ ICareCreditRequestManager/PutModuleLanguage
[JSON input data] pICareCreditRequestManager:
eModuleLanguage: 		longValue, //interface address
longValue
[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
C/C++ calling syntax
[get] HRESULT | ModuleLanguage( LanguageType *peModuleLanguage );
[put] HRESULT | ModuleLanguage( LanguageType eModuleLanguage );
[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
Calling argument description
[out,retval] LanguageType | *peModuleLanguage
[in] LanguageType | eModuleLanguage
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • LanguageType *GetModuleLanguage(void);
  • void PutModuleLanguage( LanguageType lModuleLanguage);
space


  • ICareCreditRequestManager
  • ModuleVersion

ICareCreditRequestManager::ModuleVersion property | space
Get the version of the CareCreditRequestManager module.
space
Restful webservice calling syntax
[GET] | /baseURL/ ICareCreditRequestManager/GetModuleVersion?param
[param] pICareCreditRequestManager= longValue
[JSON result data] pbstrModuleVersion: "utf8StringValue"
[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
C/C++ calling syntax
[get] HRESULT | ModuleVersion( BSTR *pbstrModuleVersion );
[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
Calling argument description
[out,retval] BSTR | *pbstrModuleVersion
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersion(void);
space


  • ICareCreditRequestManager
  • ModuleVersionText

ICareCreditRequestManager::ModuleVersionText property | space
Get the version of the CareCreditRequestManager module in textual form.
space
Restful webservice calling syntax
[GET] | /baseURL/ ICareCreditRequestManager/GetModuleVersionText?param
[param] pICareCreditRequestManager= longValue
[JSON result data] pbstrModuleVersionText: "utf8StringValue"
[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
C/C++ calling syntax
[get] HRESULT | ModuleVersionText( BSTR *pbstrModuleVersionText );
[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
Calling argument description
[out,retval] BSTR | *pbstrModuleVersionText
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersionText(void);
space


  • ICareCreditRequestManager
  • Modus

ICareCreditRequestManager::Modus property | space
Gets/Sets the operation modus of the module.

The default modus is enProduction whereas for developing/debugging purposes enTest can be set.
space
Restful webservice calling syntax
[GET] | /baseURL/ ICareCreditRequestManager/GetModus?param
[param] pICareCreditRequestManager= longValue
[JSON result data] peModus: longValue
[PUT] | /baseURL/ ICareCreditRequestManager/PutModus
[JSON input data] pICareCreditRequestManager:
eModus: 		longValue, //interface address
longValue
[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
C/C++ calling syntax
[get] HRESULT | Modus( ModusType *peModus );
[put] HRESULT | Modus( ModusType eModus );
[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
Calling argument description
[out,retval] ModusType | *peModus
[in] ModusType | eModus
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • ModusType *GetModus(void);
  • void PutModus( ModusType lModus);
space


  • ICareCreditResult

ICareCreditResult interface |  | V4.50/ 6 May 2019
The ICareCreditResult interface allows to read back all data that have been set by the ICareCreditRequest interface or by loading a previously generated XML infoset with the ICareCreditRequestManager::LoadXML method. |  | space
space
Methods |  | 30 methods
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetAltProviders | Method for collecting all alternative providers covered by the ICareCreditResult interface and returned as JSON array |
GetBiller | Retrieves the biller's various identifiers (GLN, ZSR,...) as well as the structured address |
GetCard | Retrieves the patient's insurance card information |
GetCreditObject | Retrieves the care credit object reference parameters |
GetCreditRefObject | Retrieves the optional care creditRef object reference parameters |
GetDebitor | Retrieves the debitor's GLN identifier as well as the structured address |
GetDocuments | Method for collecting all document data covered by the ICareCreditResult interface and returned as JSON array |
GetFirstAltProvider | Retrieves the first additional (alternative) provider from the list of additional (alternative) providers |
GetFirstDocument | Retrieves the first document from the list of documents |
GetFirstPlanningRecord | Retrieves the first planning record from the list of planning records |
GetFirstService | Retrieves the first service record from the list of services |
GetHomeCare | Retrieves the primary parameters for a "Home Care" nursing case situation, that is the ordinary home caring situation supplied by a home care organization ("Spitex") |
GetInsurance | Retrieves the insurance's GLN as well as the structured address |
GetLaw | Retrieves the data about the applied law and its dependent information |
GetNextAltProvider | Retrieves the next additional (alternative) provider from the list of additional (alternative) providers |
GetNextDocument | Retrieves the next document from the list of documents |
GetNextPlanningRecord | Retrieves the next planning record from the list of planning records |
GetNextService | Retrieves the next service record from the list of services |
GetNursingHomeCare | Retrieves the primary parameters for a "Nursing Home Care" nursing case situation, that is the ordinary nursing home caring situation supplied by a nursing home organization ("Pflegeheim") |
GetPackage | Retrieves the identification parameters of the main software |
GetPatient | Retrieves the patient's primary parameters (sex, birthdate, SSN, etc.) as well as the structured address |
GetPlanningRecords | Method for collecting all planning record data covered by the ICareCreditResult interface and returned as JSON array |
GetPostPartumCare | Retrieves the primary parameters for a "Post Partum Care" nursing case situation, that is the nursing care of a woman who recently had a childbirth. |
GetProvider | Retrieves the main provider's various identifiers (GLN, ZSR,...) and the structured address |
GetReferrer | Retrieves the referrer's various identifiers (GLN, ZSR,...) and the structured address |
GetRequest | Returns the primary parameters of the request, namely the language the data is supplied, the "storno" and "copy" status besides an optional remark. |
GetServices | Method for collecting all service record data covered by the ICareCreditResult interface and returned as JSON array |
GetTransport | Returns the transport information that is the routing information going from a sender (from) over at least one intermediate (via) to the receiver (to) |
GetTreatment | Retrieves the basic treatment parameters |
space
Properties |  | 1 properties
[put] DestructCareCreditResult | Destructs/invalidates this ICareCreditResult interface instance. |
space |


  • ICareCreditResult
  • GetAbortInfo

ICareCreditResult::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetAbortInfo
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *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
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • ICareCreditResult
  • GetAltProviders

ICareCreditResult::GetAltProviders method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all alternative providers covered by the ICareCreditResult interface and returned as JSON array. Please note that ICareCreditResult::GetAltProviders takes over the functionality of the iterator pair ICareCreditResult::GetFirstAltProvider / ICareCreditResult::GetNextAltProvider with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetAltProviders
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result array] | { pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, 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
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The GLN (former EAN) number of the additional (alternative) provider as supplied by Stiftung Refdata. If the debitor's EAN is undefined than an EAN from the private segment should be used (e.g. 2000000000008). |
[out] BSTR | *pbstrZSR | The optional ZSR number of the additional (alternative) provider as supplied by Santesuisse |
[out] BSTR | *pbstrNIF | The optional IV specific identification number NIF of the additional (alternative) provider |
[out] BSTR | *pbstrSpecialty | The optional specialty, i.e. FMH title of the additional (alternative) provider |
[out] IAddress | **pIAddress | The instance of a IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • ICareCreditResult
  • GetBiller

ICareCreditResult::GetBiller method |  |  | space
Retrieves the biller's various identifiers (GLN, ZSR,...) as well as the structured address. The structured address data is read via the methods of the returned Iaddress interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetBiller
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, 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
C/C++ calling syntax |  |  |
HRESULT GetBiller( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **pIAddress, *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
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The GLN (former EAN) number of the biller as supplied by Stiftung Refdata |
[out] BSTR | *pbstrZSR | The optional ZSR number of the biller as supplied by Santesuisse |
[out] BSTR | *pbstrNIF | The optional IV specific identification number NIF of the biller |
[out] BSTR | *pbstrSpecialty | The optional specialty, i.e. FMH title of the biller |
[out] IAddress | **pIAddress | The instance of an IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[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. |
space |


  • ICareCreditResult
  • GetCard

ICareCreditResult::GetCard method |  |  | space
Retrieves the patient's insurance card information. VARIANT_FALSE is returned if the data is undefined. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetCard
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrCardID: pdExpiryDate: pdValidationDate: pbstrValidationID: pbstrValidationServer: pbStatus: | "utf8StringValue", "stringISODateValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetCard( | BSTR DATE DATE BSTR BSTR VARIANT_BOOL | *pbstrCardID, *pdExpiryDate, *pdValidationDate, *pbstrValidationID, *pbstrValidationServer, *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
Calling argument description |  |  |
[out] BSTR | *pbstrCardID | The mandatory unique 20 digits card identifier |
[out] DATE | *pdExpiryDate | The optional expiry date of the card |
[out] DATE | *pdValidationDate | The optional date of the last validation of the card's data |
[out] BSTR | *pbstrValidationID | The optional replied ID when the last validation of the card's data was performed |
[out] BSTR | *pbstrValidationServer | The optional server for the last validation process |
[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. |
space |


  • ICareCreditResult
  • GetCreditObject

ICareCreditResult::GetCreditObject method |  |  | space
Retrieves the care credit object reference parameters. The creditRef (if supplied) and credit object references form a object reference chain (creditRef -> credit) with the credit as topmost object reference. The page "object reference" provides an in-depth description of the concepts of "object reference", "object reference chain", and "topmost object reference". |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetCreditObject
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrRequestCreditID: pdRequestCreditDate: plRequestCreditTimestamp: pbStatus: | "utf8StringValue", "stringISODateValue", 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
C/C++ calling syntax |  |  |
HRESULT GetCreditObject( | BSTR DATE long VARIANT_BOOL | *pbstrRequestCreditID, *pdRequestCreditDate, *plRequestCreditTimestamp, *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
Calling argument description |  |  |
[out] BSTR | *pbstrRequestCreditID | The request credit ID is the main software's identification of the care credit ("Bedarfsmeldungsnummer"). This is one of 3 identifiers that form the care credit object reference. |
[out] DATE | *pdRequestCreditDate | The request credit date is the main software's date of the care credit ("Bedarfsmeldungsdatum") This is one of 3 identifiers that form the care credit object reference. |
[out] long | *plRequestCreditTimestamp | This is a UNIX timestamp defined at the moment of the care credit infoset generation. This is one of 3 identifiers that form the care credit object reference. |
[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. |
space |


  • ICareCreditResult
  • GetCreditRefObject

ICareCreditResult::GetCreditRefObject method |  |  | space
Retrieves the optional care creditRef object reference parameters. The creditRef (if supplied) and credit object references form a object reference chain (creditRef -> credit) with the credit as topmost object reference. The page "object reference" provides an in-depth description of the concepts of "object reference", "object reference chain", and "topmost object reference". |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetCreditRefObject
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrRequestCreditID: pdRequestCreditDate: plRequestCreditTimestamp: pbStatus: | "utf8StringValue", "stringISODateValue", 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
C/C++ calling syntax |  |  |
HRESULT GetCreditRefObject( | BSTR DATE long VARIANT_BOOL | *pbstrRequestCreditID, *pdRequestCreditDate, *plRequestCreditTimestamp, *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
Calling argument description |  |  |
[out] BSTR | *pbstrRequestCreditID | The request credit ID is the main software's identification of the care credit ("Bedarfsmeldungsnummer"). This is one of 3 identifiers that form the care creditRef object reference. |
[out] DATE | *pdRequestCreditDate | The request credit date is the main software's date of the care credit ("Bedarfsmeldungsdatum") This is one of 3 identifiers that form the care creditRef object reference. |
[out] long | *plRequestCreditTimestamp | This is a UNIX timestamp defined at the moment of the care credit infoset generation. This is one of 3 identifiers that form the care creditRef object reference. |
[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. |
space |


  • ICareCreditResult
  • GetDebitor

ICareCreditResult::GetDebitor method |  |  | space
Retrieves the debitor's GLN identifier as well as the structured address. The structured address data is read via the methods of the returned Iaddress interface instance. Please note, that a clone of the insurance's address is automatically assigned as debitor address in the ICareCreditRequest::Finalize method should the ICareCreditRequest::SetDebitor method not be called. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetDebitor
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrEAN: pIAddress: pbStatus: | "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, 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
C/C++ calling syntax |  |  |
HRESULT GetDebitor( | BSTR IAddress VARIANT_BOOL | *pbstrEAN, **pIAddress, *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
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The GLN (former EAN) number of the debitor as supplied by Stiftung Refdata. If the debitor's EAN is undefined than an EAN from the private segment should be used (e.g. 2000000000008). |
[out] IAddress | **pIAddress | The instance of a IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[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. |
space |


  • ICareCreditResult
  • GetDocuments

ICareCreditResult::GetDocuments method | space
This method has a Restful Webservice representation only!
Method for collecting all document data covered by the ICareCreditResult interface and returned as JSON array.

Please note that ICareCreditResult::GetDocuments takes over the functionality of the iterator pair ICareCreditResult::GetFirstDocument / ICareCreditResult::GetNextDocument with a single call, making the latter superfluous.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetDocuments
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result array] { pbstrFile:
pbstrTitle:
pbstrMimeType:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
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
Calling argument description
[out] BSTR *pbstrFile *pbstrFile supplies the full file name (path + name) of the document in a temporary working directory.

Be sure to copy away the file to a different location as all files in the working directory are deleted before the COM module shuts down!

In Restful Webservice output: pbstrFile is a relative URL that subsequently must be downloaded by a GET process.

[out] BSTR | *pbstrTitle | The title of the document on the primary system. It thus describes the document to a certain degree in terms of its semantic content.
[out] BSTR *pbstrMimeType The MIME type of the document.

Since the underlying XSD schema restricts the type of files, the MIME type must be one of

  • application/pdf for PDF files
  • image/jpeg for JPG graphic files
  • image/png for PNG graphic files
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetFirstAltProvider

ICareCreditResult::GetFirstAltProvider method |  |  | space
Retrieves the first additional (alternative) provider from the list of additional (alternative) providers. VARIANT_FALSE is returned if the end of the additional (alternative) provider list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetFirstAltProvider
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, 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
C/C++ calling syntax |  |  |
HRESULT GetFirstAltProvider( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **pIAddress, *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
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The GLN (former EAN) number of the additional (alternative) provider as supplied by Stiftung Refdata. If the debitor's EAN is undefined than an EAN from the private segment should be used (e.g. 2000000000008). |
[out] BSTR | *pbstrZSR | The optional ZSR number of the additional (alternative) provider as supplied by Santesuisse |
[out] BSTR | *pbstrNIF | The optional IV specific identification number NIF of the additional (alternative) provider |
[out] BSTR | *pbstrSpecialty | The optional specialty, i.e. FMH title of the additional (alternative) provider |
[out] IAddress | **pIAddress | The instance of a IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • ICareCreditResult
  • GetFirstDocument

ICareCreditResult::GetFirstDocument method | space
Retrieves the first document from the list of documents.

VARIANT_FALSE is returned if the end of the document list is reached.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetFirstDocument
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result data] pbstrFile:
pbstrTitle:
pbstrMimeType:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
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
C/C++ calling syntax
HRESULT GetFirstDocument( BSTR
BSTR
BSTR
VARIANT_BOOL 		*pbstrFile,
*pbstrTitle,
*pbstrMimeType,
*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
Calling argument description
[out] BSTR *pbstrFile *pbstrFile supplies the full file name (path + name) of the document in a temporary working directory.

Be sure to copy away the file to a different location as all files in the working directory are deleted before the COM module shuts down!

In Restful Webservice output: pbstrFile is a relative URL that subsequently must be downloaded by a GET process.

[out] BSTR | *pbstrTitle | The title of the document on the primary system. It thus describes the document to a certain degree in terms of its semantic content.
[out] BSTR *pbstrMimeType The MIME type of the document.

Since the underlying XSD schema restricts the type of files, the MIME type must be one of

  • application/pdf for PDF files
  • image/jpeg for JPG graphic files
  • image/png for PNG graphic files
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetFirstPlanningRecord

ICareCreditResult::GetFirstPlanningRecord method | space
Retrieves the first planning record from the list of planning records. If the input data did map service data of the incurred cost than these data are returned as well otherwise the tariff parameters are returned empty.

VARIANT_FALSE is returned if the end of the planning record list is reached.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetFirstPlanningRecord
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result data] pbstrPlanningType:
pbstrPlanningCode:
pbstrPlanningText:
pdQuantity:
pbstrMultiplierSymbol:
pdMultiplier:
pdBaseUnit:
peIsTraining:
pdCorrUnit:
pdTotalUnit:
pbstrRemark:
pbstrTariffType:
pbstrTariffCode:
pbstrTariffText:
pdTariffQuantity:
pdTP:
pdTPV:
pdExternalFactor:
pdAmount:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
"utf8StringValue",
doubleValue,
doubleValue,
longValue,
doubleValue,
doubleValue,
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
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
C/C++ calling syntax
HRESULT GetFirstPlanningRecord( BSTR
BSTR
BSTR
double
BSTR
double
double
YesNoType
double
double
BSTR
BSTR
BSTR
BSTR
double
double
double
double
double
VARIANT_BOOL 		*pbstrPlanningType,
*pbstrPlanningCode,
*pbstrPlanningText,
*pdQuantity,
*pbstrMultiplierSymbol,
*pdMultiplier,
*pdBaseUnit,
*peIsTraining,
*pdCorrUnit,
*pdTotalUnit,
*pbstrRemark,
*pbstrTariffType,
*pbstrTariffCode,
*pbstrTariffText,
*pdTariffQuantity,
*pdTP,
*pdTPV,
*pdExternalFactor,
*pdAmount,
*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
Calling argument description
[out] BSTR | *pbstrPlanningType | The official planning type designator, e.g. "RAI-NC", "BESA 5", "KLV7" and the like
[out] BSTR | *pbstrPlanningCode | The planning code as defined by the used planning catalog
[out] BSTR | *pbstrPlanningText | The name of the planning record as defined by the used planning catalog
[out] double *pdQuantity The quantity aka the frequency per day of the planning record

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • negative quantities are used to effectively "subtract" planning records from the grand total
  • a zero quantity is used for "non-billable" and "pro memoria" planning records
  • positive quantities are used for "normal" planning records
The quantity must not be rounded but given in full precision.
[out] BSTR *pbstrMultiplierSymbol The Multiplier Symbol corresponds to a temporal multiplication function that distributes a singular object over the whole treatment interval. The functional behavior is supplied by a set of (language-dependent) symbols like "t3", "w", "m" etc.

Please note that -since the symbols are language sensitive and unstandardized<7b>- these tokens are supplied for documentation/display purposes only but not used in any calculation. It is the dMultiplier factor that is used for the calculation!

[out] double *pdMultiplier The dMultiplier number is the numerical representation of the bstrMultiplierSymbol and defines the multiplication factor that a singular planning object is distributed over the whole treatment interval.

Please note, that the magnitude of the multiplier might be fractional since an instruction like "t3" might not be transformed to an integer dependent on the given treatment interval.
[out] double | *pdBaseUnit | The base unit of a singular planning object as defined in the planning catalog - this is the planning equivalent of the tax point for tariff services.
[out] YesNoType *peIsTraining eIsTraining is a Boolean value indicating whether the planning record is performed in training mode.

Note, that this Boolean is mostly enNo outside a home care situation.

[out] double *pdCorrUnit dCorrUnit is used to optionally correct the total unit dTotalUnit of the planning record.

Please note, that the sign is significant, i.e. a downscale correction corresponds to a negative value. Furthermore, "dCorrUnit" is an absolute value and is not modulated by "dQuantity" and "dMultiplier" (cf. the defined equation under "dTotalUnit").

The necessity of a correction depends on the used catalog and is justified by the non-orthogonality of the catalog planning records.
[out] double *pdTotalUnit dTotalUnit defines the calculated units over the full treatment interval as given by the equation:

( dQuantity * dMultiplier * dBaseUnit ) + dCorrUnit = dTotalUnit

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out] BSTR | *pbstrRemark | An optional remark for the given planning record and tariff record
[out] BSTR *pbstrTariffType The official tariff type as defined by Forum Datenaustausch.

If there is no coupling of the planning set to a corresponding incurred cost record than the tariff type is empty.

[out] BSTR *pbstrTariffCode The tariff code as defined by the used tariff

If there is no coupling of the planning set to a corresponding incurred cost record than the tariff code is empty.
[out] BSTR | *pbstrTariffText | The name of the tariff record as defined by the used tariff
[out] double *pdTariffQuantity The quantity of the defined service.

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • a zero quantity is used for "non-billable" and "pro memoria" services
  • positive quantities are used for "normal" services
  • fractional values are used whenever a part of the "full" service is used (e.g. quantity=0.5 for 500ml of a 1000ml infusion solution)
  • negative quantities are set for a storno to reflect the negative incurred cost situation
The quantity must not be rounded but given in full precision.
[out] double | *pdTP | The tax points (TP) of the defined tariff record
[out] double | *pdTPV | The tax point value (TPV) of the defined tariff record
[out] double *pdExternalFactor The external scaling factor used to scale the tariff record e.g. to give a discount or surcharge or to use the factor as a measure of splitting costs.

[out] double *pdAmount dAmount is the caused incurred cost given by the tariff record and calculated as follows:
dTariffQuantity * dTP * dTPV * dExternalFactor = dAmount

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetFirstService

ICareCreditResult::GetFirstService method | space
Retrieves the first service record from the list of services.

Please note, that "simple/normal" qualifies as being added by the ICareCreditRequest::AddService method. The incurred cost records, that are optionally defined by the ICareCreditRequest::AddAddPlanningRecord method are not returned here but with the GetFirstPlanningRecord/GetNextPlanningRecord iterator.

If the return status is VARIANT_FALSE then the service record is not added to the list of services
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetFirstService
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result data] pbstrTariffType:
pbstrTariffCode:
pbstrTariffText:
pdQuantity:
pdTP:
pdTPV:
pdExternalFactor:
pdAmount:
pbstrRemark:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
"utf8StringValue",
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
C/C++ calling syntax
HRESULT GetFirstService( BSTR
BSTR
BSTR
double
double
double
double
double
BSTR
VARIANT_BOOL 		*pbstrTariffType,
*pbstrTariffCode,
*pbstrTariffText,
*pdQuantity,
*pdTP,
*pdTPV,
*pdExternalFactor,
*pdAmount,
*pbstrRemark,
*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
Calling argument description
[out] BSTR | *pbstrTariffType | The official tariff type as defined by Forum Datenaustausch
[out] BSTR | *pbstrTariffCode | The tariff code as defined by the used tariff
[out] BSTR | *pbstrTariffText | The name of the tariff record as defined by the used tariff
[out] double *pdQuantity The quantity of the current service.

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • a zero quantity is used for "non-billable" and "pro memoria" services
  • positive quantities are used for "normal" services
  • fractional values are used whenever a part of the "full" service is used (e.g. quantity=0.5 for 500ml of a 1000ml infusion solution)
  • negative quantities are set for a storno to reflect the negative incurred cost situation
The quantity must not be rounded but given in full precision.
[out] double | *pdTP | The tax points (TP) of the current service.
[out] double | *pdTPV | The tax point value (TPV) of the current service.
[out] double | *pdExternalFactor | The external scaling factor used to scale the service e.g. to give a discount or surcharge.
[out] double *pdAmount dAmount is the caused incurred cost given by the tariff record and calculated as follows:
dTariffQuantity * dTP * dTPV * dExternalFactor = dAmount

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out] BSTR | *pbstrRemark | An optional remark for the given service
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetHomeCare

ICareCreditResult::GetHomeCare method |  |  | space
Retrieves the primary parameters for a "Home Care" nursing case situation, that is the ordinary home caring situation supplied by a home care organization ("Spitex") |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetHomeCare
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrPlanningCatalog: peStayDaycareCenter: plDomesticAidDaysPerWeek: plDomesticAidHoursPerDay: peMiGelSelfapplication: pbStatus: | "utf8StringValue", 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. |
space
C/C++ calling syntax |  |  |
HRESULT GetHomeCare( | BSTR YesNoType long long YesNoType VARIANT_BOOL | *pbstrPlanningCatalog, *peStayDaycareCenter, *plDomesticAidDaysPerWeek, *plDomesticAidHoursPerDay, *peMiGelSelfapplication, *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
Calling argument description |  |  |
[out] BSTR | *pbstrPlanningCatalog | Defines the official name of the used planning catalog. Note, that the name should consist of a slash-separated planning catalog name and edition e.g. "RAI-NC/2018" or "BESA/2018". Thus the given name should allow for an unambiguous identification of the catalog. |
[out] YesNoType | *peStayDaycareCenter | The Boolean eStayDaycareCenter indicates whether a patient is staying in a day-care center during daytime (enYes) or not (enNo) |
[out] long | *plDomesticAidDaysPerWeek | The variables lDomesticAidDaysPerWeek and lDomesticAidHoursPerDay define the frequency and magnitude of work provided by a domestic aid. lDomesticAidDaysPerWeek in special defines the number of days, that the domestic aid is working per week. Note, that a value of 0 means, that the patient has no domestic aid per se. |
[out] long | *plDomesticAidHoursPerDay | The variables lDomesticAidDaysPerWeek and lDomesticAidHoursPerDay define the frequency and magnitude of work provided by a domestic aid. lDomesticAidHoursPerDay in special defines the number of hours, that the domestic aid is working per day. Note, that a value of 0 means, that the patient has no domestic aid per se. |
[out] YesNoType | *peMiGelSelfapplication | The Boolean eMiGelSelfapplication indicates whether the patient receives MiGel care products for self-application from the nursing care organization (enYes) or not (enNo) |
[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. |
space |


  • ICareCreditResult
  • GetInsurance

ICareCreditResult::GetInsurance method |  |  | space
Retrieves the insurance's GLN as well as the structured address. Please note, that a clone of the insurance's address is automatically assigned as debitor address in the ICareCreditRequest::Finalize method should the ICareCreditRequest::SetDebitor method not be called. The structured address data is read via the methods of the returned Iaddress interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetInsurance
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrEAN: pIAddress: pbStatus: | "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, 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
C/C++ calling syntax |  |  |
HRESULT GetInsurance( | BSTR IAddress VARIANT_BOOL | *pbstrEAN, **pIAddress, *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
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The GLN (form EAN) number of the insurance as supplied by Stiftung Refdata |
[out] IAddress | **pIAddress | The instance of an IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[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. |
space |


  • ICareCreditResult
  • GetLaw

ICareCreditResult::GetLaw method |  |  | space
Retrieves the data about the applied law and its dependent information |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetLaw
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | peLawType: pdCaseDate: pbstrCaseID: pbstrInsuredID: pbStatus: | longValue, "stringISODateValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetLaw( | LawType DATE BSTR BSTR VARIANT_BOOL | *peLawType, *pdCaseDate, *pbstrCaseID, *pbstrInsuredID, *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
Calling argument description |  |  |
[out] LawType | *peLawType | Defines the type of law as given by the LawType enumeration. |
[out] DATE | *pdCaseDate | The case date of the insurance (e.g. date of accident in UVG) This date might undefined for certain laws and is than left empty |
[out] BSTR | *pbstrCaseID | The case ID of the insurance (e.g. accident number in UVG) This caseID might undefined for certain laws and is than left empty |
[out] BSTR | *pbstrInsuredID | The patient's ID at the insurance (e.g. the insurance ID in KVG) This patientID might undefined for certain laws and is than left empty |
[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. |
space |


  • ICareCreditResult
  • GetNextAltProvider

ICareCreditResult::GetNextAltProvider method |  |  | space
Retrieves the next additional (alternative) provider from the list of additional (alternative) providers. VARIANT_FALSE is returned if the end of the additional (alternative) provider list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetNextAltProvider
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, 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
C/C++ calling syntax |  |  |
HRESULT GetNextAltProvider( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **pIAddress, *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
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The GLN (former EAN) number of the additional (alternative) provider as supplied by Stiftung Refdata. If the debitor's EAN is undefined than an EAN from the private segment should be used (e.g. 2000000000008). |
[out] BSTR | *pbstrZSR | The optional ZSR number of the additional (alternative) provider as supplied by Santesuisse |
[out] BSTR | *pbstrNIF | The optional IV specific identification number NIF of the additional (alternative) provider |
[out] BSTR | *pbstrSpecialty | The optional specialty, i.e. FMH title of the additional (alternative) provider |
[out] IAddress | **pIAddress | The instance of a IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • ICareCreditResult
  • GetNextDocument

ICareCreditResult::GetNextDocument method | space
Retrieves the next document from the list of documents.

VARIANT_FALSE is returned if the end of the document list is reached.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetNextDocument
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result data] pbstrFile:
pbstrTitle:
pbstrMimeType:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
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
C/C++ calling syntax
HRESULT GetNextDocument( BSTR
BSTR
BSTR
VARIANT_BOOL 		*pbstrFile,
*pbstrTitle,
*pbstrMimeType,
*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
Calling argument description
[out] BSTR *pbstrFile *pbstrFile supplies the full file name (path + name) of the document in a temporary working directory.

Be sure to copy away the file to a different location as all files in the working directory are deleted before the COM module shuts down!

In Restful Webservice output: pbstrFile is a relative URL that subsequently must be downloaded by a GET process.

[out] BSTR | *pbstrTitle | The title of the document on the primary system. It thus describes the document to a certain degree in terms of its semantic content.
[out] BSTR *pbstrMimeType The MIME type of the document.

Since the underlying XSD schema restricts the type of files, the MIME type must be one of

  • application/pdf for PDF files
  • image/jpeg for JPG graphic files
  • image/png for PNG graphic files
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetNextPlanningRecord

ICareCreditResult::GetNextPlanningRecord method | space
Retrieves the next planning record from the list of planning records. If the input data did map service data of the incurred cost than these data are returned as well otherwise the tariff parameters are returned empty.

VARIANT_FALSE is returned if the end of the planning record list is reached.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetNextPlanningRecord
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result data] pbstrPlanningType:
pbstrPlanningCode:
pbstrPlanningText:
pdQuantity:
pbstrMultiplierSymbol:
pdMultiplier:
pdBaseUnit:
peIsTraining:
pdCorrUnit:
pdTotalUnit:
pbstrRemark:
pbstrTariffType:
pbstrTariffCode:
pbstrTariffText:
pdTariffQuantity:
pdTP:
pdTPV:
pdExternalFactor:
pdAmount:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
"utf8StringValue",
doubleValue,
doubleValue,
longValue,
doubleValue,
doubleValue,
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
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
C/C++ calling syntax
HRESULT GetNextPlanningRecord( BSTR
BSTR
BSTR
double
BSTR
double
double
YesNoType
double
double
BSTR
BSTR
BSTR
BSTR
double
double
double
double
double
VARIANT_BOOL 		*pbstrPlanningType,
*pbstrPlanningCode,
*pbstrPlanningText,
*pdQuantity,
*pbstrMultiplierSymbol,
*pdMultiplier,
*pdBaseUnit,
*peIsTraining,
*pdCorrUnit,
*pdTotalUnit,
*pbstrRemark,
*pbstrTariffType,
*pbstrTariffCode,
*pbstrTariffText,
*pdTariffQuantity,
*pdTP,
*pdTPV,
*pdExternalFactor,
*pdAmount,
*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
Calling argument description
[out] BSTR | *pbstrPlanningType | The official planning type designator, e.g. "RAI-NC", "BESA 5", "KLV7" and the like
[out] BSTR | *pbstrPlanningCode | The planning code as defined by the used planning catalog
[out] BSTR | *pbstrPlanningText | The name of the planning record as defined by the used planning catalog
[out] double *pdQuantity The quantity aka the frequency per day of the planning record

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • negative quantities are used to effectively "subtract" planning records from the grand total
  • a zero quantity is used for "non-billable" and "pro memoria" planning records
  • positive quantities are used for "normal" planning records
The quantity must not be rounded but given in full precision.
[out] BSTR *pbstrMultiplierSymbol The Multiplier Symbol corresponds to a temporal multiplication function that distributes a singular object over the whole treatment interval. The functional behavior is supplied by a set of (language-dependent) symbols like "t3", "w", "m" etc.

Please note that -since the symbols are language sensitive and unstandardized<7b>- these tokens are supplied for documentation/display purposes only but not used in any calculation. It is the dMultiplier factor that is used for the calculation!

[out] double *pdMultiplier The dMultiplier number is the numerical representation of the bstrMultiplierSymbol and defines the multiplication factor that a singular planning object is distributed over the whole treatment interval.

Please note, that the magnitude of the multiplier might be fractional since an instruction like "t3" might not be transformed to an integer dependent on the given treatment interval.
[out] double | *pdBaseUnit | The base unit of a singular planning object as defined in the planning catalog - this is the planning equivalent of the tax point for tariff services.
[out] YesNoType *peIsTraining eIsTraining is a Boolean value indicating whether the planning record is performed in training mode.

Note, that this Boolean is mostly enNo outside a home care situation.

[out] double *pdCorrUnit dCorrUnit is used to optionally correct the total unit dTotalUnit of the planning record.

Please note, that the sign is significant, i.e. a downscale correction corresponds to a negative value. Furthermore, "dCorrUnit" is an absolute value and is not modulated by "dQuantity" and "dMultiplier" (cf. the defined equation under "dTotalUnit").

The necessity of a correction depends on the used catalog and is justified by the non-orthogonality of the catalog planning records.
[out] double *pdTotalUnit dTotalUnit defines the calculated units over the full treatment interval as given by the equation:

( dQuantity * dMultiplier * dBaseUnit ) + dCorrUnit = dTotalUnit

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out] BSTR | *pbstrRemark | An optional remark for the given planning record and tariff record
[out] BSTR *pbstrTariffType The official tariff type as defined by Forum Datenaustausch.

If there is no coupling of the planning set to a corresponding incurred cost record than the tariff type is empty.

[out] BSTR *pbstrTariffCode The tariff code as defined by the used tariff

If there is no coupling of the planning set to a corresponding incurred cost record than the tariff code is empty.
[out] BSTR | *pbstrTariffText | The name of the tariff record as defined by the used tariff
[out] double *pdTariffQuantity The quantity of the defined service.

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • a zero quantity is used for "non-billable" and "pro memoria" services
  • positive quantities are used for "normal" services
  • fractional values are used whenever a part of the "full" service is used (e.g. quantity=0.5 for 500ml of a 1000ml infusion solution)
  • negative quantities are set for a storno to reflect the negative incurred cost situation
The quantity must not be rounded but given in full precision.
[out] double | *pdTP | The tax points (TP) of the defined tariff record
[out] double | *pdTPV | The tax point value (TPV) of the defined tariff record
[out] double *pdExternalFactor The external scaling factor used to scale the tariff record e.g. to give a discount or surcharge or to use the factor as a measure of splitting costs.

[out] double *pdAmount dAmount is the caused incurred cost given by the tariff record and calculated as follows:
dTariffQuantity * dTP * dTPV * dExternalFactor = dAmount

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetNextService

ICareCreditResult::GetNextService method | space
Retrieves the next service record from the list of services.

Please note, that "simple/normal" qualifies as being added by the ICareCreditRequest::AddService method. The incurred cost records, that are optionally defined by the ICareCreditRequest::AddAddPlanningRecord method are not returned here but with the GetFirstPlanningRecord/GetNextPlanningRecord iterator.

If the return status is VARIANT_FALSE then the service record is not added to the list of services
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetNextService
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result data] pbstrTariffType:
pbstrTariffCode:
pbstrTariffText:
pdQuantity:
pdTP:
pdTPV:
pdExternalFactor:
pdAmount:
pbstrRemark:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
"utf8StringValue",
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
C/C++ calling syntax
HRESULT GetNextService( BSTR
BSTR
BSTR
double
double
double
double
double
BSTR
VARIANT_BOOL 		*pbstrTariffType,
*pbstrTariffCode,
*pbstrTariffText,
*pdQuantity,
*pdTP,
*pdTPV,
*pdExternalFactor,
*pdAmount,
*pbstrRemark,
*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
Calling argument description
[out] BSTR | *pbstrTariffType | The official tariff type as defined by Forum Datenaustausch
[out] BSTR | *pbstrTariffCode | The tariff code as defined by the used tariff
[out] BSTR | *pbstrTariffText | The name of the tariff record as defined by the used tariff
[out] double *pdQuantity The quantity of the current service.

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • a zero quantity is used for "non-billable" and "pro memoria" services
  • positive quantities are used for "normal" services
  • fractional values are used whenever a part of the "full" service is used (e.g. quantity=0.5 for 500ml of a 1000ml infusion solution)
  • negative quantities are set for a storno to reflect the negative incurred cost situation
The quantity must not be rounded but given in full precision.
[out] double | *pdTP | The tax points (TP) of the current service.
[out] double | *pdTPV | The tax point value (TPV) of the current service.
[out] double | *pdExternalFactor | The external scaling factor used to scale the service e.g. to give a discount or surcharge.
[out] double *pdAmount dAmount is the caused incurred cost given by the tariff record and calculated as follows:
dTariffQuantity * dTP * dTPV * dExternalFactor = dAmount

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out] BSTR | *pbstrRemark | An optional remark for the given service
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetNursingHomeCare

ICareCreditResult::GetNursingHomeCare method | space
Retrieves the primary parameters for a "Nursing Home Care" nursing case situation, that is the ordinary nursing home caring situation supplied by a nursing home organization ("Pflegeheim")
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetNursingHomeCare
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result data] pbstrPlanningCatalog:
pbstrCareDemandLevel:
pdAssessmentDate:
plAccommodationType:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"stringISODateValue",
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
C/C++ calling syntax
HRESULT GetNursingHomeCare( BSTR
BSTR
DATE
long
VARIANT_BOOL 		*pbstrPlanningCatalog,
*pbstrCareDemandLevel,
*pdAssessmentDate,
*plAccommodationType,
*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
Calling argument description
[out] BSTR *pbstrPlanningCatalog Defines the official name of the used planning catalog.

Note, that the name should consist of a slash-separated planning catalog name and edition e.g. "RAI-NC/2018" or "BESA/2018". Thus the given name should allow for an unambiguous identification of the catalog.
[out] BSTR *pbstrCareDemandLevel The bstrCareDemandLevel string holds the assed care demand level for the patient.

Note, that the name should consist of a planning catalog name and care level number e.g. "BESA5" or "PLAISIR3". Thus the given name should allow for an unambiguous identification of the catalog and care level.
[out] DATE *pdAssessmentDate The dAssessmentDate variable defines the date at which the assessment for the care demand level was performed.

Note, that the assessment date obviously is equal or before the treatment start date.
[out] long *plAccommodationType The lAccommodationType variable defines the type of accommodation encoded by a set of predefined integer values. Currently, there are the following values with the given semantic meaning defined, namely
  • lAccommodationType=1 aka "long-term stay"
  • lAccommodationType=2 aka "short-term stay"
  • lAccommodationType=3 aka "person not accommodated"
  • lAccommodationType=4 aka "day and night structure"
  • lAccommodationType=5 aka "acute and transitional care"
[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.
space


  • ICareCreditResult
  • GetPackage

ICareCreditResult::GetPackage method |  |  | space
Retrieves the identification parameters of the main software. Since the package information is optionally VARIANT_FALSE is returned if the sender's main software is undefined. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetPackage
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrSoftwarePackage: plSoftwareVersion: plSoftwareID: pbstrSoftwareCopyright: pbStatus: | "utf8StringValue", longValue, longValue, "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetPackage( | BSTR long long BSTR VARIANT_BOOL | *pbstrSoftwarePackage, *plSoftwareVersion, *plSoftwareID, *pbstrSoftwareCopyright, *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
Calling argument description |  |  |
[out] BSTR | *pbstrSoftwarePackage | Name of the main software. |
[out] long | *plSoftwareVersion | Version of the main software coded as 32-bit value where lSoftwareVersion = 100*Major version + Minor version. |
[out] long | *plSoftwareID | Optional ID of the main software |
[out] BSTR | *pbstrSoftwareCopyright | The copyright notice of the main software. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then no package data is available |
space |


  • ICareCreditResult
  • GetPatient

ICareCreditResult::GetPatient method | space
Retrieves the patient's primary parameters (sex, birthdate, SSN, etc.) as well as the structured address.

The structured address data is read via the methods of the returned Iaddress interface instance.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetPatient
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result data] peSexType:
pdBirthdate:
pbstrSSN:
peDisabilityAllowance:
peIncontinenceDegree:
pIAddress:

pbStatus: 		longValue,
"stringISODateValue",
"utf8StringValue",
longValue,
longValue,
{
pbIsPrivateAddress: true,
pbstrCompanyName: "utf8StringValue",
pbstrDepartment: "utf8StringValue",
pbstrSalutation: "utf8StringValue",
pbstrTitle: "utf8StringValue",
pbstrFamilyname: "utf8StringValue",
pbstrGivenname: "utf8StringValue",
pbstrSubaddressing: "utf8StringValue",
pbstrStreet: "utf8StringValue",
pbstrPoBox: "utf8StringValue",
pbstrZip: "utf8StringValue",
pbstrCity: "utf8StringValue",
pbstrStateCode: "utf8StringValue",
pbstrCountryCode: "utf8StringValue",
pbstrPhone1: "utf8StringValue",
pbstrPhone2: "utf8StringValue",
pbstrPhone3: "utf8StringValue",
pbstrFax: "utf8StringValue",
pbstrEMail: "utf8StringValue",
pbstrUrl: "utf8StringValue"
},
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
C/C++ calling syntax
HRESULT GetPatient( SexType
DATE
BSTR
DisabilityAllowanceType
IncontinenceDegreeType
IAddress
VARIANT_BOOL 		*peSexType,
*pdBirthdate,
*pbstrSSN,
*peDisabilityAllowance,
*peIncontinenceDegree,
**pIAddress,
*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
Calling argument description
[out] SexType | *peSexType | The patient's gender.
[out] DATE | *pdBirthdate | The patient's birthdate.
[out] BSTR *pbstrSSN The social security number (SSN) of the patient in its printed form whereupon 4 distinguished types are possible:
  • the old 11 digit Swiss SSN ("AHV-Nummer") as defined by Federal Social Insurance Office
  • the new 13 digit Swiss SSN ("SV-Nummer") beginning with 756 as defined by Federal Social Insurance Office
  • the new 4-10 digit SSN of Liechtenstein ("AHV-Nummer") as defined by Liechtensteinische AHV-IV-FAK
  • the 13 digit IDNR number of Liechtenstein ("IDNR-Nummer") beginning with 438
[out] DisabilityAllowanceType *peDisabilityAllowance Returns the degree of disability allowance of the patient defined by the Swiss Disability Insurance (DI).

In the uttermost cases this parameter is enDisabilityNone

[out] IncontinenceDegreeType *peIncontinenceDegree Returns the degree of incontinence of the patient.

In the uttermost cases this parameter is enIncontinenceNone

[out] IAddress **pIAddress The IAddress interface handle that allows to get the structured address data back.
If no address is defined then the handle is NULL.
[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.
space


  • ICareCreditResult
  • GetPlanningRecords

ICareCreditResult::GetPlanningRecords method | space
This method has a Restful Webservice representation only!
Method for collecting all planning record data covered by the ICareCreditResult interface and returned as JSON array.

Please note that ICareCreditResult::GetPlanningRecords takes over the functionality of the iterator pair ICareCreditResult::GetFirstPlanningRecord / ICareCreditResult::GetNextPlanningRecord with a single call, making the latter superfluous.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetPlanningRecords
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result array] { pbstrPlanningType:
pbstrPlanningCode:
pbstrPlanningText:
pdQuantity:
pbstrMultiplierSymbol:
pdMultiplier:
pdBaseUnit:
peIsTraining:
pdCorrUnit:
pdTotalUnit:
pbstrRemark:
pbstrTariffType:
pbstrTariffCode:
pbstrTariffText:
pdTariffQuantity:
pdTP:
pdTPV:
pdExternalFactor:
pdAmount:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
"utf8StringValue",
doubleValue,
doubleValue,
longValue,
doubleValue,
doubleValue,
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
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
Calling argument description
[out] BSTR | *pbstrPlanningType | The official planning type designator, e.g. "RAI-NC", "BESA 5", "KLV7" and the like
[out] BSTR | *pbstrPlanningCode | The planning code as defined by the used planning catalog
[out] BSTR | *pbstrPlanningText | The name of the planning record as defined by the used planning catalog
[out] double *pdQuantity The quantity aka the frequency per day of the planning record

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • negative quantities are used to effectively "subtract" planning records from the grand total
  • a zero quantity is used for "non-billable" and "pro memoria" planning records
  • positive quantities are used for "normal" planning records
The quantity must not be rounded but given in full precision.
[out] BSTR *pbstrMultiplierSymbol The Multiplier Symbol corresponds to a temporal multiplication function that distributes a singular object over the whole treatment interval. The functional behavior is supplied by a set of (language-dependent) symbols like "t3", "w", "m" etc.

Please note that -since the symbols are language sensitive and unstandardized<7b>- these tokens are supplied for documentation/display purposes only but not used in any calculation. It is the dMultiplier factor that is used for the calculation!

[out] double *pdMultiplier The dMultiplier number is the numerical representation of the bstrMultiplierSymbol and defines the multiplication factor that a singular planning object is distributed over the whole treatment interval.

Please note, that the magnitude of the multiplier might be fractional since an instruction like "t3" might not be transformed to an integer dependent on the given treatment interval.
[out] double | *pdBaseUnit | The base unit of a singular planning object as defined in the planning catalog - this is the planning equivalent of the tax point for tariff services.
[out] YesNoType *peIsTraining eIsTraining is a Boolean value indicating whether the planning record is performed in training mode.

Note, that this Boolean is mostly enNo outside a home care situation.

[out] double *pdCorrUnit dCorrUnit is used to optionally correct the total unit dTotalUnit of the planning record.

Please note, that the sign is significant, i.e. a downscale correction corresponds to a negative value. Furthermore, "dCorrUnit" is an absolute value and is not modulated by "dQuantity" and "dMultiplier" (cf. the defined equation under "dTotalUnit").

The necessity of a correction depends on the used catalog and is justified by the non-orthogonality of the catalog planning records.
[out] double *pdTotalUnit dTotalUnit defines the calculated units over the full treatment interval as given by the equation:

( dQuantity * dMultiplier * dBaseUnit ) + dCorrUnit = dTotalUnit

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out] BSTR | *pbstrRemark | An optional remark for the given planning record and tariff record
[out] BSTR *pbstrTariffType The official tariff type as defined by Forum Datenaustausch.

If there is no coupling of the planning set to a corresponding incurred cost record than the tariff type is empty.

[out] BSTR *pbstrTariffCode The tariff code as defined by the used tariff

If there is no coupling of the planning set to a corresponding incurred cost record than the tariff code is empty.
[out] BSTR | *pbstrTariffText | The name of the tariff record as defined by the used tariff
[out] double *pdTariffQuantity The quantity of the defined service.

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • a zero quantity is used for "non-billable" and "pro memoria" services
  • positive quantities are used for "normal" services
  • fractional values are used whenever a part of the "full" service is used (e.g. quantity=0.5 for 500ml of a 1000ml infusion solution)
  • negative quantities are set for a storno to reflect the negative incurred cost situation
The quantity must not be rounded but given in full precision.
[out] double | *pdTP | The tax points (TP) of the defined tariff record
[out] double | *pdTPV | The tax point value (TPV) of the defined tariff record
[out] double *pdExternalFactor The external scaling factor used to scale the tariff record e.g. to give a discount or surcharge or to use the factor as a measure of splitting costs.

[out] double *pdAmount dAmount is the caused incurred cost given by the tariff record and calculated as follows:
dTariffQuantity * dTP * dTPV * dExternalFactor = dAmount

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetPostPartumCare

ICareCreditResult::GetPostPartumCare method |  |  | space
Retrieves the primary parameters for a "Post Partum Care" nursing case situation, that is the nursing care of a woman who recently had a childbirth. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetPostPartumCare
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrPlanningCatalog: pdDateOfBirth: plDomesticAidDaysPerWeek: plDomesticAidHoursPerDay: peMiGelSelfapplication: pbStatus: | "utf8StringValue", "stringISODateValue", 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
C/C++ calling syntax |  |  |
HRESULT GetPostPartumCare( | BSTR DATE long long YesNoType VARIANT_BOOL | *pbstrPlanningCatalog, *pdDateOfBirth, *plDomesticAidDaysPerWeek, *plDomesticAidHoursPerDay, *peMiGelSelfapplication, *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
Calling argument description |  |  |
[out] BSTR | *pbstrPlanningCatalog | Defines the official name of the used planning catalog. Note, that the name should consist of a slash-separated planning catalog name and edition e.g. "RAI-NC/2018" or "BESA/2018". Thus the given name should allow for an unambiguous identification of the catalog. |
[out] DATE | *pdDateOfBirth | dDateOfBirth defines the date and possibly time of a recently born neonate of the patient. |
[out] long | *plDomesticAidDaysPerWeek | The variables lDomesticAidDaysPerWeek and lDomesticAidHoursPerDay define the frequency and magnitude of work provided by a domestic aid. lDomesticAidDaysPerWeek in special defines the number of days, that the domestic aid is working per week. Note, that a value of 0 means, that the patient has no domestic aid per se. |
[out] long | *plDomesticAidHoursPerDay | The variables lDomesticAidDaysPerWeek and lDomesticAidHoursPerDay define the frequency and magnitude of work provided by a domestic aid. lDomesticAidHoursPerDay in special defines the number of hours, that the domestic aid is working per day. Note, that a value of 0 means, that the patient has no domestic aid per se. |
[out] YesNoType | *peMiGelSelfapplication | The Boolean eMiGelSelfapplication indicates whether the patient receives MiGel care products for self-application from the nursing care organization (enYes) or not (enNo) |
[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. |
space |


  • ICareCreditResult
  • GetProvider

ICareCreditResult::GetProvider method |  |  | space
Retrieves the main provider's various identifiers (GLN, ZSR,...) and the structured address. The Iaddress interface might be NULL if no address was defined. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetProvider
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, 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
C/C++ calling syntax |  |  |
HRESULT GetProvider( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **pIAddress, *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
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The GLN (former EAN) number of the provider as supplied by Stiftung Refdata |
[out] BSTR | *pbstrZSR | ZSR number of the provider as supplied by Santesuisse |
[out] BSTR | *pbstrNIF | The optional IV specific identification number NIF of the provider |
[out] BSTR | *pbstrSpecialty | The optional specialty, i.e. FMH title of the provider |
[out] IAddress | **pIAddress | The instance of a IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[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. |
space |


  • ICareCreditResult
  • GetReferrer

ICareCreditResult::GetReferrer method |  |  | space
Retrieves the referrer's various identifiers (GLN, ZSR,...) and the structured address. The Iaddress interface might be NULL if no address was defined. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetReferrer
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, 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
C/C++ calling syntax |  |  |
HRESULT GetReferrer( | BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **pIAddress, *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
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The GLN (former EAN) number of the provider as supplied by Stiftung Refdata |
[out] BSTR | *pbstrZSR | The optional ZSR number of the provider as supplied by Santesuisse |
[out] BSTR | *pbstrNIF | The optional IV specific identification number NIF of the referrer. |
[out] BSTR | *pbstrSpecialty | The optional specialty, i.e. FMH title of the sender. |
[out] IAddress | **pIAddress | The instance of a IAddress interface that allows to read back the structured address data. If no address is defined then the handle is NULL. |
[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. |
space |


  • ICareCreditResult
  • GetRequest

ICareCreditResult::GetRequest method |  |  | space
Returns the primary parameters of the request, namely the language the data is supplied, the "storno" and "copy" status besides an optional remark. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetRequest
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | peDataLanguage: peIsStorno: peIsCopy: peOrdinance: pbstrRemark: pbStatus: | longValue, longValue, longValue, longValue, "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetRequest( | LanguageType YesNoType YesNoType OrdinanceType BSTR VARIANT_BOOL | *peDataLanguage, *peIsStorno, *peIsCopy, *peOrdinance, *pbstrRemark, *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
Calling argument description |  |  |
[out] LanguageType | *peDataLanguage | Gets the language in which the data part is coded. It is exactly the language in which the request is formulated. Note, that the data language and the module language (given by ICareCreditRequestManager::SetModuleLanguage) are independent and can be different! |
[out] YesNoType | *peIsStorno | Boolean value that defines the "storno" status of the nursing care credit request eIsStorno should be false when the initial request object is produced. At this step the timestamp is generated and returned in the ICareCreditRequestManager::Print and/or ICareCreditRequestManager::GetXML method. Whenever eIsStorno is true then the request timestamp must be set otherwise an error will result. |
[out] YesNoType | *peIsCopy | Boolean value that defines the "copy" status of the nursing care credit request eIsCopy should be false when the initial request object is produced. At this step the timestamp is generated and returned in the ICareCreditRequestManager::Print and/or ICareCreditRequestManager::GetXML method. Whenever eIsCopy is true then the request timestamp must be set otherwise an error will result. |
[out] OrdinanceType | *peOrdinance |  |
[out] BSTR | *pbstrRemark | An overall optional remark for the nursing care credit request |
[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. |
space |


  • ICareCreditResult
  • GetServices

ICareCreditResult::GetServices method | space
This method has a Restful Webservice representation only!
Method for collecting all service record data covered by the ICareCreditResult interface and returned as JSON array.

Please note that ICareCreditResult::GetServices takes over the functionality of the iterator pair ICareCreditResult::GetFirstService / ICareCreditResult::GetNextService with a single call, making the latter superfluous.
space
Restful webservice calling syntax
[POST] | /baseURL/ ICareCreditResult/GetServices
[JSON input data] pICareCreditResult: longValue, //interface address
[JSON result array] { pbstrTariffType:
pbstrTariffCode:
pbstrTariffText:
pdQuantity:
pdTP:
pdTPV:
pdExternalFactor:
pdAmount:
pbstrRemark:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
doubleValue,
doubleValue,
"utf8StringValue",
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
Calling argument description
[out] BSTR | *pbstrTariffType | The official tariff type as defined by Forum Datenaustausch
[out] BSTR | *pbstrTariffCode | The tariff code as defined by the used tariff
[out] BSTR | *pbstrTariffText | The name of the tariff record as defined by the used tariff
[out] double *pdQuantity The quantity of the current service.

Note, that the quantity is defined as double, spanning zero and positive fractional values!
  • a zero quantity is used for "non-billable" and "pro memoria" services
  • positive quantities are used for "normal" services
  • fractional values are used whenever a part of the "full" service is used (e.g. quantity=0.5 for 500ml of a 1000ml infusion solution)
  • negative quantities are set for a storno to reflect the negative incurred cost situation
The quantity must not be rounded but given in full precision.
[out] double | *pdTP | The tax points (TP) of the current service.
[out] double | *pdTPV | The tax point value (TPV) of the current service.
[out] double | *pdExternalFactor | The external scaling factor used to scale the service e.g. to give a discount or surcharge.
[out] double *pdAmount dAmount is the caused incurred cost given by the tariff record and calculated as follows:
dTariffQuantity * dTP * dTPV * dExternalFactor = dAmount

The equation is calculated in full precision and the result rounded to 2 significant decimal places.
[out] BSTR | *pbstrRemark | An optional remark for the given service
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • ICareCreditResult
  • GetTransport

ICareCreditResult::GetTransport method |  |  | space
Returns the transport information that is the routing information going from a sender (from) over at least one intermediate (via) to the receiver (to). All the involved parties are defined by GLN numbers as defined by Stiftung Refdata. If the parameters for the signature and encryption were set then these data are returned as well otherwise the corresponding variables are empty. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetTransport
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pbstrFromEAN: pbstrFromPFXFile: pbstrFromPFXPassword: pbstrViaEAN: pbstrToEAN: pbstrToBinDERFile: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", 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
C/C++ calling syntax |  |  |
HRESULT GetTransport( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrFromEAN, *pbstrFromPFXFile, *pbstrFromPFXPassword, *pbstrViaEAN, *pbstrToEAN, *pbstrToBinDERFile, *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
Calling argument description |  |  |
[out] BSTR | *pbstrFromEAN | The GLN (former EAN) number of the sender as supplied by Stiftung Refdata |
[out] BSTR | *pbstrFromPFXFile | The file name of the PFX certificate used for signing that is the private certificate of the "from" entity. If the request is not signed than this parameter is empty |
[out] BSTR | *pbstrFromPFXPassword | The password to open the PFX certificate. If the request is not signed than this parameter is empty |
[out] BSTR | *pbstrViaEAN | The GLN (former EAN) number of the first intermediate as supplied by Stiftung Refdata |
[out] BSTR | *pbstrToEAN | The GLN (former EAN) number of the receiver as supplied by Stiftung Refdata |
[out] BSTR | *pbstrToBinDERFile | The file name of the binary DER certificate used for encryption that is the public certificate of the "to" entity |
[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. |
space |


  • ICareCreditResult
  • GetTreatment

ICareCreditResult::GetTreatment method |  |  | space
Retrieves the basic treatment parameters |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ICareCreditResult/GetTreatment
[JSON input data] | pICareCreditResult: | longValue, //interface address
[JSON result data] | pdDateBegin: pdDateEnd: peTreatmentCanton: peTreatmentType: peTreatmentReason: peTiersMode: pbStatus: | "stringISODateValue", "stringISODateValue", 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. |
space
C/C++ calling syntax |  |  |
HRESULT GetTreatment( | DATE DATE CantonType TreatmentType TreatmentReasonType TiersModeType VARIANT_BOOL | *pdDateBegin, *pdDateEnd, *peTreatmentCanton, *peTreatmentType, *peTreatmentReason, *peTiersMode, *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
Calling argument description |  |  |
[out] DATE | *pdDateBegin | dDateBegin is the supposed start of the treatment |
[out] DATE | *pdDateEnd | dDateEnd is the supposed end of the treatment |
[out] CantonType | *peTreatmentCanton | The treatment canton given by the CantonType enumeration |
[out] TreatmentType | *peTreatmentType | The treatment type (ambulatory or stationary) given by the TreatmentType enumeration |
[out] TreatmentReasonType | *peTreatmentReason | The treatment reason given by the TreatmentReasonType enumeration |
[out] TiersModeType | *peTiersMode | The tiers mode given by the TiersModeType enumeration |
[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. |
space |


  • ICareCreditResult
  • DestructCareCreditResult

ICareCreditResult::DestructCareCreditResult property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this ICareCreditResult interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ICareCreditResult/PutDestructCareCreditResult
[JSON input data] | pICareCreditResult: | longValue, //interface address
[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
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • Type definitions

Builtin, composite & enumeration types |  | V4.50/ 6 May 2019
The following list shows ans defines all used data types either basic builtin, composite or enumeration types that are used in the interface of the ATL COM module. |  | space
space
Data types |  | 23 types
[enumeration] AddressType | Enumerates the defined types of addresses. |
[builtin] BSTR | A BSTR, known as basic string or binary string, is a pointer to a wide character string used by Automation data manipulation functions |
[enumeration] CantonType | Enumerates the defined Swiss cantons as well as countries close to the border. |
[builtin] DATE | DATE is denoting a date and time represented by a double-precision number, where midnight, January 1st, 1900 has the value 2.0, January 2nd, 1900 is 3.0, and so on. |
[enumeration] DisabilityAllowanceType | Enumerates the degrees of disability allowance defined by the Swiss Disability Insurance (DI). |
[builtin] double | An 8-byte IEEE real value. |
[enumeration] generationAttributes | List of options with which the standard generation of the XML infoset and/or print process can be oversteered. |
[builtin] HRESULT | The HRESULT data type is a 32-bit value that is used to describe an error or warning |
[builtin] IAddress | The IAddress interface object |
[builtin] ICareCreditRequest | The ICareCreditRequest interface object |
[builtin] ICareCreditResult | The ICareCreditResult interface object |
[enumeration] IncontinenceDegreeType | Enumerates the defined degree of incontinence |
[enumeration] LanguageType | Enumerates all supported languages. |
[enumeration] LawType | Enumerates the supported legal law set. |
[builtin] long | A 4-byte integer value. |
[enumeration] ModusType | Enumerates the defined operation modus types |
[enumeration] OrdinanceType | Enumerates the defined types of ordinance |
[enumeration] SexType | Enumerates the defined basic gender types. |
[enumeration] TiersModeType | Enumerates the defined tiers modes. |
[enumeration] TreatmentReasonType | Enumerates the list of defined treatment reasons. |
[enumeration] TreatmentType | Enumerates the top level treatment types. |
[builtin] VARIANT_BOOL | A 16 bit Boolean (True/False) value was specified |
[enumeration] YesNoType | Boolean enumerator. |
space |


  • Type definitions
  • AddressType

AddressType enumeration type |  |
Enumerates the defined types of addresses. |  | space
space
Set of enumeration values |  | 3 elements
enAddressUndefined: 0 | Address type is undefined or unknown. |
enAddressPerson: 1 | Address of a person |
enAddressCompany: 2 | Address of a company |
space


  • Type definitions
  • BSTR

BSTR type |
A BSTR, known as basic string or binary string, is a pointer to a wide character string used by Automation data manipulation functions. BSTRs are wide, double-byte (Unicode) strings on 32-bit Windows platforms. | space
space
space


  • Type definitions
  • CantonType

CantonType enumeration type |  |
Enumerates the defined Swiss cantons as well as countries close to the border. |  | space
space
Set of enumeration values |  | 32 elements
enCantonUndefined: 0 | Undefined or unknown canton. |
enAG: 1 | The Swiss canton is AG |
enAI: 2 | The Swiss canton is AI |
enAR: 3 | The Swiss canton is AR |
enBE: 4 | The Swiss canton is BE |
enBL: 5 | The Swiss canton is BL |
enBS: 6 | The Swiss canton is BS |
enFR: 7 | The Swiss canton is FR |
enGE: 8 | The Swiss canton is GE |
enGL: 9 | The Swiss canton is GL |
enGR: 10 | The Swiss canton is GR |
enJU: 11 | The Swiss canton is JU |
enLU: 12 | The Swiss canton is LU |
enNE: 13 | The Swiss canton is NE |
enNW: 14 | The Swiss canton is NW |
enOW: 15 | The Swiss canton is OW |
enSG: 16 | The Swiss canton is SG |
enSH: 17 | The Swiss canton is SH |
enSO: 18 | The Swiss canton is SO |
enSZ: 19 | The Swiss canton is SZ |
enTG: 20 | The Swiss canton is TG |
enTI: 21 | The Swiss canton is TI |
enUR: 22 | The Swiss canton is UR |
enVD: 23 | The Swiss canton is VD |
enVS: 24 | The Swiss canton is VS |
enZG: 25 | The Swiss canton is ZG |
enZH: 26 | The Swiss canton is ZH |
enLiechtenstein: 27 | The country is Liechtenstein |
enAustria: 28 | The country is Austria |
enGermany: 29 | The country is Germany |
enItaly: 30 | The country is Italy |
enFrance: 31 | The country is France |
space


  • Type definitions
  • DATE

DATE type |
DATE is denoting a date and time represented by a double-precision number, where midnight, January 1st, 1900 has the value 2.0, January 2nd, 1900 is 3.0, and so on. | space
space
space


  • Type definitions
  • DisabilityAllowanceType

DisabilityAllowanceType enumeration type |  |
Enumerates the degrees of disability allowance defined by the Swiss Disability Insurance (DI). |  | space
space
Set of enumeration values |  | 4 elements
enDisabilityNone: 0 | The degree of disability allowance is enDisabilityNone - there is no disability allowance present |
enDisabilityLow: 1 | The degree of disability allowance is enDisabilityLow - there is a low (small) disability allowance present |
enDisabilityMedium: 2 | The degree of disability allowance is enDisabilityMedium - there is a medium (moderate) disability allowance present |
enDisabilityHigh: 3 | The degree of disability allowance is enDisabilityHigh - there is a high (large) disability allowance present |
space


  • Type definitions
  • double

double type |
An 8-byte IEEE real value. | space
space
space


  • Type definitions
  • generationAttributes

generationAttributes enumeration type |  |
List of options with which the standard generation of the XML infoset and/or print process can be oversteered. |  | space
space
Set of enumeration values |  | 3 elements
enGenerateXMLWithoutDocuments: 65536 | The XML infoset is generated without any documents even if such documents have been added in the IGeneralInvoiceRequest::AddDocument method. |
enGenerateXMLWithoutSignature: 131072 | The XML infoset is generated without applying a signature even if the signature parameters have been set in the IGeneralInvoiceRequest::SetTransport method. |
enGenerateXMLWithoutEncryption: 262144 | The XML infoset is generated without applying encryption even if the encryption parameters have been set in the IGeneralInvoiceRequest::SetTransport method. |
space


  • Type definitions
  • HRESULT

HRESULT type |
The HRESULT data type is a 32-bit value that is used to describe an error or warning | space
space
space


  • Type definitions
  • IAddress

IAddress type |
The IAddress interface object | space
space
space


  • Type definitions
  • ICareCreditRequest

ICareCreditRequest type |
The ICareCreditRequest interface object | space
space
space


  • Type definitions
  • ICareCreditResult

ICareCreditResult type |
The ICareCreditResult interface object | space
space
space


  • Type definitions
  • IncontinenceDegreeType

IncontinenceDegreeType enumeration type |  |
Enumerates the defined degree of incontinence |  | space
space
Set of enumeration values |  | 4 elements
enIncontinenceNone: 0 | The degree of incontinence is enIncontinenceNone - there is no incontinence present |
enIncontinenceLow: 1 | The degree of incontinence is enIncontinenceLow - there is a low (small) incontinence present |
enIncontinenceMedium: 2 | The degree of incontinence is enIncontinenceMedium - there is a medium (moderate) incontinence present |
enIncontinenceHigh: 3 | The degree of incontinence is enIncontinenceHigh - there is a high (large) incontinence present |
space


  • Type definitions
  • LanguageType

LanguageType enumeration type |  |
Enumerates all supported languages. |  | space
space
Set of enumeration values |  | 3 elements
enGerman: 1 | The language is German |
enFrench: 2 | The language is French |
enItalian: 3 | The language is Italian |
space


  • Type definitions
  • LawType

LawType enumeration type |  |
Enumerates the supported legal law set. |  | space
space
Set of enumeration values |  | 6 elements
enKVG: 0 | KVG - "Krankenversicherungsgesetz" |
enUVG: 1 | UVG - "Unfallversicherungsgesetz" |
enMVG: 2 | MVG - "Militäversicherungsgesetz" |
enIVG: 3 | IVG - "Invalidenversicherungsgesetz" |
enVVG: 4 | VVG - "Versicherungsvertragsgesetz" |
enORG: 5 | ORG - "Obligationenrecht" This is primarily for invoices e.g. of dentists. |
space


  • Type definitions
  • long

long type |
A 4-byte integer value. | space
space
space


  • Type definitions
  • ModusType

ModusType enumeration type |  |
Enumerates the defined operation modus types |  | space
space
Set of enumeration values |  | 2 elements
enProduction: 0 | Production modus. |
enTest: 1 | Test modus - the data should not be forwarded to the receiver. |
space


  • Type definitions
  • OrdinanceType

OrdinanceType enumeration type |  |
Enumerates the defined types of ordinance |  | space
space
Set of enumeration values |  | 5 elements
enFirstOrdinance: 1 | The ordinance is of type enFirstOrdinance - an initial first ordinance request |
enFollowupOrdinance: 2 | The ordinance is of type enFollowupOrdinance - a follow up ordinance request following a previously created first ordinance. |
enModificationOrdinance: 3 | The ordinance is of type enModificationOrdinance - an ordinance request whose data space is modified regarding a previously sent but rejected ordinance. |
enReconsiderationOrdinance: 4 | The ordinance is of type enReconsiderationOrdinance - an ordinance request whose data space is unmodified (regarding a previously sent but rejected ordinance) but possibly extended by further documents and is sent for a re-consideration at the recipient's site. |
enTransientOrdinance: 5 | The ordinance is of type enTransientOrdinance - a transient ordinance request defining a transient care situation with extended nursing effort valid for a limited and foreseeable period of time. |
space


  • Type definitions
  • SexType

SexType enumeration type |  |
Enumerates the defined basic gender types. |  | space
space
Set of enumeration values |  | 2 elements
enMale: 0 | Male. |
enFemale: 1 | Female. |
space


  • Type definitions
  • TiersModeType

TiersModeType enumeration type |  |
Enumerates the defined tiers modes. |  | space
space
Set of enumeration values |  | 2 elements
enTiersGarant: 0 | Tiers Garant (TG) mode is used |
enTiersPayant: 1 | Tiers Payant (TP) mode is used |
space


  • Type definitions
  • TreatmentReasonType

TreatmentReasonType enumeration type |  |
Enumerates the list of defined treatment reasons. |  | space
space
Set of enumeration values |  | 6 elements
enDisease: 0 | The treatment reason is due to a disease. |
enAccident: 1 | The treatment reason is due to an accident |
enMaternity: 2 | The treatment reason is due to maternity |
enPrevention: 3 | The treatment reason is due to a prevention. |
enBirthdefect: 4 | The treatment reason is due to a birth defect |
enUnknown: 5 | The treatment reason is unknown |
space


  • Type definitions
  • TreatmentType

TreatmentType enumeration type |  |
Enumerates the top level treatment types. |  | space
space
Set of enumeration values |  | 2 elements
enAmbulatory: 0 | Ambulatory (out-patient) treatment. |
enStationary: 1 | Stationary (in-patient) treatment. |
space


  • Type definitions
  • VARIANT_BOOL

VARIANT_BOOL type |
A 16 bit Boolean (True/False) value was specified. A value of 0xFFFF (all bits 1) indicates True; a value of 0 (all bits 0) indicates False. No other values are valid. | space
space
space


  • Type definitions
  • YesNoType

YesNoType enumeration type |  |
Boolean enumerator. |  | space
space
Set of enumeration values |  | 2 elements
enNo: 0 | No. |
enYes: 1 | Yes. |
space


 Sumex1 under a 64bit architecture...

All Sumex1 COM modules are written as 32bit managed C++ dll. As a consequence, a 64bit executable cannot load a 32bit COM dll into its process space due to the addressing differences.

Since some necessary underlying sub-modules are not available in a 64bit version, this problem must be addressed differently than by a 64bit compilation. As Microsoft suggests Sumex1 uses the out-of-process proxy approach where a 32bit COM server loads the 32bit COM dll into its process space and delegates each method call to the dll. Since a 32bit COM server exists in its own process space, the main 64bit process can handle the 64/32bit boundary without problems.

As a result, each 32bit Sumex1 COM dll has a 32bit COM server counterpart with the same name and an oopProxy prefix, e.g. oopProxyCareCreditManager450.exe, where the prefix signifies the out-of-process proxy nature of the executable.

Any 64bit software now creates an instance of the 32bit oopProxy server and then calls the same methods and properties as with the 32bit COM dll. However, there is one crucial difference when using the oopProxy mechanism, namely the necessity to forcefully unload to the COM server at the end e.g. by using Marshal.ReleaseComObject() since the automatic garbage collection approach is too error prone.


 Notes about the encryption

XML Encryption is a specification, governed by a W3C recommendation, that defines how to encrypt the contents of an XML element. Although XML Encryption can be used to encrypt any kind of data, it is nonetheless known as "XML Encryption" because an XML element (either an EncryptedData or EncryptedKey element) contains or refers to the cipher text, keying information, and algorithms.

However, it is beyond the scope of this documentation to explain all details of a encryption or the encryption process. Detailed information about all aspects of encryption can be found at W3C.

Boundary conditions and critical aspects

  • the encryption is optional!
  • if an infoset is encrypted then the public certificate of the recipient must be used and this certificate is applied to the body element.

    Here recipient is used in terms of the communication and therefore is defined as the EAN entity given in the transport@to attribute
  • the namespace v1 of W3C http://www.w3.org/2001/04/xmlenc must be used- cf. XML Encryption Syntax and Processing
  • The encryption algorithm is fixed to PKCS1 (RSA-SHA1) (RFC 2437: RSA Cryptography Specifications)
  • The block encryption algorithm is fixed to Triple DES

The careCreditRequest module does obey all these conditions whenever encryption is "turned on" by setting a public certificate of the "toEAN" entity (cf. ICareCreditRequest::SetTransport). This certificate must be in the format "binary DER".

Where do I get this certificate?
The request/response system is self-contained insofar as the careCreditResponse module (or any other V4.5 module!) extracts the public certificate of a signed response XML infoset and generates a binary DER file named X509DER_from_EAN.cer. This is exactly the certificate to use for encrypting a nursing care credit (or all other V4.5) request XML infosets!


 Code snippets for using the careCreditRequestManager

Private Sub CareCreditRequestExampleButton_Click()

On Error GoTo Err_Trap

Dim bStatus As Boolean

'### init variables
Dim strFrom As String
strFrom = "2001001302112"
Dim strVia As String
strVia = "2001000012345"
Dim strTo As String
strTo = "2034567890000"
Dim dBirthdate As Date
dBirthdate = DateValue("1944-2-28")
Dim eSex As SexType
eSex = enMale
Dim eCanton As CantonType
eCanton = enBS
Dim eLaw As LawType
eLaw = enKVG
Dim eTreatType As TreatmentType
eTreatType = enAmbulatory
Dim dTreatmentStart As Date
dTreatmentStart = DateValue("2019-09-01")
Dim dTreatmentEnd As Date
dTreatmentEnd = DateValue("2019-08-29")
Dim strPatientInsID As String
strPatientInsID = "123.45.678-012"
Dim eTreatmentReason As TreatmentReasonType
eTreatmentReason = enDisease
Dim eTreatmentType As TreatmentType
eTreatmentType = enAmbulatory
Dim strEanProvider As String
strEanProvider = "2034567890111"
Dim strEanResponsible As String
strEanResponsible = "2034567890333"

'### create the main CareCreditRequestManager interface
Dim careCreditRequestManagerEx As CARECREDITREQUESTMANAGER450Lib.CareCreditRequestManager
Set careCreditRequestManagerEx = New CareCreditRequestManager

'### generate the dependent CareCreditRequest interface (allows to input data)
Dim careCreditRequestEx As CARECREDITREQUESTMANAGER450Lib.CareCreditRequest
Set careCreditRequestEx = careCreditRequestManagerEx.CareCreditRequest

'### start the input of data
careCreditRequestEx.Initialize(enGerman)
careCreditRequestEx.SetRequest(enNo,enNo,enFirstOrdinance,"");

'### generate some routing/transport as well as some identifying data (required for XML only)
bStatus = careCreditRequestEx.SetTransport(strFrom, "", "", strVia, strTo, "")
bStatus = careCreditRequestEx.SetPackage("CareCreditRequestExample", 10001, 4, "sumex1")

'###############################################################################
'### start with nursing care relevant data, followed by the various address data
'###############################################################################
'### set data triple of the credit object (required)
bStatus = careCreditRequestEx.SetCreditObject("SpitexID20190612", dTreatmentStart, 0)

'### set the applicable law (required)
bStatus = careCreditRequestEx.SetLaw(enKVG, 0, "", strPatientInsID)

'### create an address interface that is need to add all the following addresses
'### do not forget to initialize the IAddress interface befor using it
Dim addressEx As CARECREDITREQUESTMANAGER450Lib.Address
Set addressEx = careCreditRequestEx.CreateAddress

'### define the biller of the nursing care credit (required)
'### note that phone, fax and online data are optional
addressEx.Initialize
bStatus = addressEx.SetCompany("Biller AG", "Abteilung Inkasso", "")
bStatus = addressEx.SetPostal("Billerweg 128", "", "4414", "Frenkendorf", "", "")
bStatus = addressEx.AddPhone("956 99 00", "061", "", "")
bStatus = addressEx.SetFax("956 99 10", "061", "+41", "")
bStatus = addressEx.SetOnline("info@biller.ch", "")
bStatus = careCreditRequestEx.SetBiller("2011234567890", "H-1211-11", "", "", addressEx)

'### define the provider of the nursing care data (required)
'### note that only the required parts are defined here
addressEx.Initialize
bStatus = addressEx.SetCompany("Spitex", "Region Liestal", "")
bStatus = addressEx.SetPostal("Spitexgasse 17b5", "", "4410", "Liestal", "", "")
bStatus = careCreditRequestEx.SetProvider(strEanProvider,"P-1234-56","", _
                                          "", addressEx)

'### define the health insurance (required)
addressEx.Initialize
bStatus = addressEx.SetCompany("Krankenkasse AG", "Sektion Basel", "")
bStatus = addressEx.SetPostal("Kassengraben 222", "", "4000", "Basel", "", "")
bStatus = careCreditRequestEx.SetInsurance("2034567890222", addressEx)

'### define the patient (required)
'### note that more data are needed here (sex, birthdate,ssn). data from the insurance
'### card can be supplied as well
addressEx.Initialize
bStatus = addressEx.SetPerson("Muster", "Peter", "Herr", "", "c/o Mieter Karl")
bStatus = addressEx.SetPostal("Musterstrasse 5", "", "7304", "Maienfeld", "", "")
bStatus = careCreditRequestEx.SetPatient(eSex, dBirthdate, "756.1234.5678.90",  _
                                         enDisabilityNone, enIncontinenceNone, addressEx)

bStatus = careCreditRequestEx.SetCard("12345678901234567890", DateValue("2019-12-31"),  _
                                      DateValue("2016-02-01"), "", "")

'### define a referrer if any (optional)
addressEx.Initialize
bStatus = addressEx.SetPerson("Ueberweiser", "Herbert", "Herr", "Dr. med.", "")
bStatus = addressEx.SetPostal("Referrerstrasse 11", "", "5000", "Aarau", "", "")
bStatus = careCreditRequestEx.SetReferrer("2034567890333", "R-2345-67", "", "", addressEx)

'###############################################################################
'### define some treatment data for an ambulatory case and supply a drug service
'### and a Tarmed consultation
'###############################################################################
'### set treatment information (required)
bStatus = careCreditRequestEx.SetTreatment(dTreatmentStart, dTreatmentEnd, eCanton, _
                                           eTreatmentType, eTreatmentReason, enTiersPayant)

'### set the data for a home care case ("Spitex") (required)
Dim lDomesticAidDaysPerWeek as Long
lDomesticAidDaysPerWeek = 1
Dim lDomesticAidHoursPerDay as Long
lDomesticAidHoursPerDay = 3
bStatus = careCreditRequestEx.SetHomeCare("RAI-HC 2018", enNo,   _
                                          lDomesticAidDaysPerWeek, lDomesticAidHoursPerDay,  _
                                          enYes)

'### add planning records and one extra service record
bStatus = careCreditRequestEx.AddPlanningRecord("RAI-HC","10907", _
                                    "Konsultation Arzt - Spitex zur Bedarfsabklärung", _
                                    1.0, "e", 1.0, 11.0, 0, 0.0, 0.0, "", _
                                    "532", "53201",  _
                                    "Massnahmen der Abklärung, Beratung und Koordination, pro 1 Min.", _
                                    11.0, 1.33, 1.0, 1.0)

bStatus = careCreditRequestEx.AddPlanningRecord("RAI-HC","10115","Kompressionsstrümpfe/-verband", _
                                    2.0, "t7", 182.0, 10.0, 0, 0.0, 0.0, "", _
                                    "532", "53203", "Massnahmen der Grundpflege, pro 1 Min.", _
                                    3640.0, 0.91, 1.0, 1.0)

bStatus = careCreditRequestEx.AddPlanningRecord("RAI-HC","10802","Blutdruckmessung", _
                                    2.0, "w", 26.0, 5.0, 0, 0.0, 0.0, "", _
                                    "532", "53202",  _
                                    "Massnahmen der Untersuchung und der Behandlung, pro 1 Min.", _
                                    260.0, 1.09, 1.0, 1.0)

bStatus = careCreditRequestEx.AddPlanningRecord("RAI-HC","10601","Medikamente richten", _
                                    1.0, "w", 26.0, 10.0, 0, 0.0, 0.0, "", _
                                    "532", "53202",  _
                                    "Massnahmen der Untersuchung und der Behandlung, pro 1 Min.", _
                                    260.0, 1.09, 1.0, 1.0)

bStatus = careCreditRequestEx.AddService("452", "15.01.01.00.1", "Material für mittlere Inkontinenz", _
                                    0.498630, 624.0, 1.0, "")

'### finalize the input
bStatus = careCreditRequestEx.Finalize()

'### print the care credit request out as defined by the data
Dim lTimestamp As Integer
Dim careCreditResultEx As CARECREDITREQUESTMANAGER450Lib.CareCreditResult
bStatus = careCreditRequestManagerEx.Print("",0,enNo,"",  _
                                           lTimestamp,careCreditResultEx)
Set careCreditResultEx = Nothing

'### finally produce the XML infoset
'### note that the interface careCreditResultEx is returned by the method
'### if the call was successful - it must not be created!
Dim lGenerationAttribute As Long
lGenerationAttribute = 0
Dim lValidationError As Long
Dim strXMLFile As String
Dim strUsedXSDSchema As String
bStatus = careCreditRequestManagerEx.GetXML(lGenerationAttribute, strXMLFile, lValidationError, _
                                                lTimestamp, strUsedXSDSchema, careCreditResultEx)

'### copy the XML infoset away
Dim strTargetFile As String
strTargetFile = "C:\\CareCreditRequestExample.xml"
FileCopy strXMLFile, strTargetFile

'### relase all resources
Set addressEx = Nothing
Set careCreditResultEx = Nothing
Set careCreditRequestEx = Nothing
Set careCreditRequestManagerEx = Nothing

Exit Sub

'### error situation
Err_Trap:
    MsgBox "Error: " & Err.Description, vbCritical, _
           "Opps! Error" & Str$(Err.Number)

'### release all resources
Set addressEx = Nothing
Set careCreditResultEx = Nothing
Set careCreditRequestEx = Nothing
Set careCreditRequestManagerEx = Nothing

End Sub

private void careCreditRequestExampleButton_Click()
{
    ServiceExInput serviceInputEx;
    CARECREDITREQUESTMANAGER450Lib.Address addressEx;
    CARECREDITREQUESTMANAGER450Lib.CareCreditRequest careCreditRequestEx;
    CARECREDITREQUESTMANAGER450Lib.CareCreditRequestManager careCreditRequestManagerEx;
    CARECREDITREQUESTMANAGER450Lib.CareCreditResult careCreditResultEx;

    try
    {
        bool bStatus;
        // ### init variables
        string strFrom = "2001001302112";
        string strVia = "2001000012345";
        string strTo = "2034567890000";
        DateTime dBirthdate = DateTime.ParseExact("1944-02-28", "yyyy-MM-dd",
                                                  System.Globalization.CultureInfo.InvariantCulture);
        SexType eSex = SexType.enMale;
        CantonType eCanton = CantonType.enBS;
        LawType eLaw = LawType.enKVG;
        TreatmentType eTreatType = TreatmentType.enAmbulatory;
        DateTime dTreatmentStart = DateTime.ParseExact("2019-03-01", "yyyy-MM-dd",
                                                       System.Globalization.CultureInfo.InvariantCulture);
        DateTime dTreatmentEnd = DateTime.ParseExact("2019-08-29", "yyyy-MM-dd",
                                                     System.Globalization.CultureInfo.InvariantCulture);
        string strPatientInsID = "123.45.678-012";
        TreatmentReasonType eTreatmentReason = TreatmentReasonType.enDisease;
        TreatmentType eTreatmentType = TreatmentType.enAmbulatory;
        string strEanProvider = "2034567890111";
        string strEanResponsible = "2034567890333";

        // ### create the main CareCreditRequestManager interface
        careCreditRequestManagerEx = new CareCreditRequestManager();
        careCreditRequestManagerEx.SetModuleLanguage(LanguageType.enGerman);

        // ### generate the dependent CareCreditRequest interface (allows to input data)
        careCreditRequestEx = careCreditRequestManagerEx.CareCreditRequest;

        // ### start the input of data
        careCreditRequestEx.Initialize(LanguageType.enGerman);
        careCreditRequestEx.SetRequest(YesNoType.enNo,YesNoType.enNo,OrdinanceType.enFirstOrdinance,"");

        // ### generate some routing/transport  as well as some identifying data (required for XML only)
        bStatus = careCreditRequestEx.SetTransport(strFrom, "", "", strVia, strTo, "");
        bStatus = careCreditRequestEx.SetPackage("CareCreditRequestExample", 10001, 4, "sumex1");

        // ###############################################################################
        // ### start with nursing care relevant data, followed by the various address data
        // ###############################################################################
        // ### set data triple of the credit object (required)
        bStatus = careCreditRequestEx.SetCreditObject("SpitexID20190612", dTreatmentStart, 0);

        // ### set the applicable law (required)
        bStatus = careCreditRequestEx.SetLaw(LawType.enKVG, DateTime.MinValue, "", strPatientInsID);

        // ### create an address interface that is need to add all the following addresses
        // ### do not forget to initialize the IAddress interface befor using it
        addressEx = careCreditRequestEx.CreateAddress;

        // ### define the biller of the nursing care credit (required)
        // ### note that phone, fax and online data are optional
        addressEx.Initialize();
        bStatus = addressEx.SetCompany("Biller AG", "Abteilung Inkasso", "");
        bStatus = addressEx.SetPostal("Billerweg 128", "", "4414", "Frenkendorf", "", "");
        bStatus = addressEx.AddPhone("956 99 00", "061", "", "");
        bStatus = addressEx.SetFax("956 99 10", "061", "+41", "");
        bStatus = addressEx.SetOnline("info@biller.ch", "");
        bStatus = careCreditRequestEx.SetBiller("2011234567890", "H-1211-11", "", "", addressEx);

        // ### define the provider of the nursing care data (required)
        // ### note that only the required parts are defined here
        addressEx.Initialize();
        bStatus = addressEx.SetCompany("Spitex", "Region Liestal", "");
        bStatus = addressEx.SetPostal("Spitexgasse 17b5", "", "4410", "Liestal", "", "");
        bStatus = careCreditRequestEx.SetProvider(strEanProvider, "", "", "", addressEx);

        // ### define the health insurance (required)
        addressEx.Initialize();
        bStatus = addressEx.SetCompany("Krankenkasse AG", "Sektion Basel", "");
        bStatus = addressEx.SetPostal("Kassengraben 222", "", "4000", "Basel", "", "");
        bStatus = careCreditRequestEx.SetInsurance("2034567890222", addressEx);

        // ### define the patient (required)
        // ### note that more data are needed here (sex, birthdate,ssn) as well as insurance card data
        addressEx.Initialize();
        bStatus = addressEx.SetPerson("Muster", "Peter", "Herr", "", "c/o Mieter Karl");
        bStatus = addressEx.SetPostal("Musterstrasse 5", "", "7304", "Maienfeld", "", "");
        bStatus = careCreditRequestEx.SetPatient(eSex, dBirthdate, "756.1234.5678.90",
                                                 DisabilityAllowanceType.enDisabilityNone,
                                                 IncontinenceDegreeType.enIncontinenceNone, addressEx);
        bStatus = careCreditRequestEx.SetCard("12345678901234567890", DateTime.ParseExact("2019-12-31",
                                                  "yyyy-MM-dd",
                                                  System.Globalization.CultureInfo.InvariantCulture),
                                                  DateTime.ParseExact("2019-02-01", "yyyy-MM-dd",
                                                  System.Globalization.CultureInfo.InvariantCulture),
                                                  "", "");

        // ### define a referrer if any (optional)
        addressEx.Initialize();
        bStatus = addressEx.SetPerson("Ueberweiser", "Herbert", "Herr", "Dr. med.", "Allgemeinmedizin FMH");
        bStatus = addressEx.SetPostal("Referrerstrasse 11", "", "5000", "Aarau", "", "");
        bStatus = careCreditRequestEx.SetReferrer("2034567890333", "R-2345-67", "", "", addressEx);

        // ###############################################################################
        // ### define some treatment data for an ambulatory case and supply some nursing
        // ### care data
        // ###############################################################################
        // ### set treatment information (required)
        bStatus = careCreditRequestEx.SetTreatment(dTreatmentStart, dTreatmentEnd,
                                                   eCanton, eTreatmentType, eTreatmentReason,
                                                   TiersModeType.enTiersPayant);

        // ### set the data for a home care case ("Spitex") (required)
        int lDomesticAidDaysPerWeek = 1;
        int lDomesticAidHoursPerDay = 3;

        bStatus = careCreditRequestEx.SetHomeCare("RAI-HC 2018", YesNoType.enNo,
                                                   lDomesticAidDaysPerWeek, lDomesticAidHoursPerDay,
                                                   YesNoType.enYes);

        // ### add planning records and one extra service record
        bStatus = careCreditRequestEx.AddPlanningRecord("RAI-HC","10907",
                                            "Konsultation Arzt - Spitex zur Bedarfsabklärung",
                                            1.0, "e", 1.0, 11.0, 0, 0.0, 0.0, "",
                                            "532", "53201",
                                            "Massnahmen der Abklärung, Beratung und Koordination, pro 1 Min.",
                                            11.0, 1.33, 1.0, 1.0);

        bStatus = careCreditRequestEx.AddPlanningRecord("RAI-HC","10115","Kompressionsstrümpfe/-verband",
                                            2.0, "t7", 182.0, 10.0, 0, 0.0, 0.0, "",
                                            "532", "53203", "Massnahmen der Grundpflege, pro 1 Min.",
                                            3640.0, 0.91, 1.0, 1.0);

        bStatus = careCreditRequestEx.AddPlanningRecord("RAI-HC","10802","Blutdruckmessung",
                                            2.0, "w", 26.0, 5.0, 0, 0.0, 0.0, "",
                                            "532", "53202",
                                            "Massnahmen der Untersuchung und der Behandlung, pro 1 Min.",
                                            260.0, 1.09, 1.0, 1.0);

        bStatus = careCreditRequestEx.AddPlanningRecord("RAI-HC","10601","Medikamente richten",
                                            1.0, "w", 26.0, 10.0, 0, 0.0, 0.0, "",
                                            "532", "53202",
                                            "Massnahmen der Untersuchung und der Behandlung, pro 1 Min.",
                                            260.0, 1.09, 1.0, 1.0);

        bStatus = careCreditRequestEx.AddService("452", "15.01.01.00.1", "Material für mittlere Inkontinenz",
                                            0.498630, 624.0, 1.0, "");

        // ### finalize the input
        bStatus = careCreditRequestEx.Finalize();

        // ### finally produce the XML infoset
        // ### note that the interface careCreditResultEx is returned by the method
        // ### if the call was successful - it must not be created!
        int lGenerationAttribute = 0;
        int lValidationError;
        int lTimestamp = 0;

        string strXMLFile;
        string strUsedXSDSchema;
        bStatus = careCreditRequestManagerEx.GetXML(lGenerationAttribute, out strXMLFile,
                                                        out lValidationError, out lTimestamp,
                                                        out strUsedXSDSchema, out careCreditResultEx);

        // ### copy the XML infoset away
        string strTargetFile = "CareCreditRequestExample.xml";
        System.IO.File.Copy(strXMLFile, strTargetFile);
    }
    catch (Exception ex)
    {
        MessageBox.Show("Opps! Error " + ex.ToString(), "OK");
    }

    finally
    {
        // ### relase all resources
        serviceInputEx = null;
        addressEx = null;
        careCreditResultEx = null;
        careCreditRequestEx = null;
        careCreditRequestManagerEx = null;

    }
}


 General use of the careCreditRequest ATL COM module

The ICareCreditRequestManager interface provides all the necessary tools to produce nursing care credit requests for all roles and places.

Firstly, an instance of the ICareCreditRequest interface is created by the GetCareCreditRequest property. All the nursing care credit related data and parameters can be set by the supplied interface methods as SetPatient, SetTreatment,...

One auxiliary input interface IAddress is available for setting/retrieving addresses in a structured way.

After all information is defined the nursing care credit is printed or a XML infoset is produced which can be electronically transported to the recipient. In the latter case the care credit request optionally can be signed and/or encrypted .

Due to the processing attributes "storno" and "copy" a previously generated care credit request object can be canceled or a copy can be produced (cf. Notes about processing attributes).

To get a starting point there is a Visual Basic or C# code snippet provided that can be used for using the careCreditRequest module.


 How to generate PDF archive files of a nursing care credit request

To generate PDF archive files of a nursing care credit request in the careCreditRequestManager use
(PDF=PDF_file_to_generate;)
or
(PDF_NOPRINT=PDF_file_to_generate;)
as a print object name in the Print method (cf. "Syntax of the printTemplate variable" for an overview about print object names). The "PDF" token means to print the care credit object and generate the PDF files, whereas the "PDF_NOPRINT" token only generates the PDF files without physical printing.
The above print object definition is ignored in the print preview mode!

In its simplest form the ICareCreditRequestManager::Print method looks like:

     BSTR bstrPrintTemplate = "(PDF="+bstrPDFFile+";)";

     ICareCreditRequestManager::Print(bstrPrintTemplate,...);
in order to generate a PDF archive file of the "Bedarfsmeldung".

Since the PDF generation is not the primary purpose of the Print method this PDF feature has NO error propagation. The generation is done on a best effort basis, errors are only dumped into the log file!
Boundary conditions:
  • Only active in printing mode
  • No error propagation
  • The supplied PDF archive name must not exist
  • The directory where the PDF is stored must be writable (EMF files are temporarily generated and delete there.)


 How to best make...

The following list describes the easiest way to generate e.g. a copy or storno request given that the initial nursing care request was successfully produced and the none-encrypted XML infoset of type careCreditRequest_450 was archived on a local disk

copy of a nursing care credit request
This can be accomplished by calling the following 4 methods:
  1. ICareCreditRequestManager::LoadXML using careCreditXML as input file
  2. ICareCreditResult::GetRequest to retrieve the parameters
  3. ICareCreditRequest::SetRequest with eIsCopy=enYes
  4. ICareCreditRequestManager::GetXML
storno of nursing care credit request
This can be accomplished by calling the following 4 methods:
  1. ICareCreditRequestManager::LoadXML using careCreditgXML as input file
  2. ICareCreditResult::GetRequest to retrieve the parameters
  3. ICareCreditRequest::SetRequest with eIsStorno=enYes
  4. ICareCreditRequestManager::GetXML


 Query reachability of a recipient by the medSRS webservice

medSRS.ch is an open routing service for standards of the Forum Datenaustausch, basically allowing to find a communication partner in function of/for a certain Forum Datenaustausch standard.

The Routing Half Set (RHS) consists of a set of Global Location Numbers (GLN) plus the targeting Forum Datenaustausch standard forming an address path to an intermediate.

glnProvider(standardName, glnIntermediate, glnFrom)

In this notation, a provider is bounded to an intermediate with a certain standard having the given GLN at that intermediate. By using the query interface of medSRS, the RHS of a searched communication partner is returned.

The medSRS service is accessible, managed, and queried by a RESTful webservice defined and build upon the state of the art OpenAPI 3.0 standard. Please consult the medSRS.ch website directly for an in-depth introduction to the principles and objectives of the medSRS service and the associated RESTful web service calls.

Patch of the ICareCreditRequest::SetTransport method

Important new feature: the electronic reachability of a recipient for a certain version of careCreditRequest is kind of a chicken and egg problem. To solve this connectivity problem, the webservice medSRS (medical Standard Routing Service) has been created. By using the RESTful webservice method queryRHS one can find out, how and whether a specific recipient can be reached electronically. Please refer to the website medSRS.ch for getting an introduction to the topic or detailed information about the functionality of the webservice.

Instead of inputting the argument bstrToEan literal, the string queryRHS(glnProvider,glnRecipient) is supplied virtually as a webservice call in the ICareCreditRequest::SetTransport method. The such given data is actually translated into the RESTful call of the same name.

The usage of the patch can generate a new error code 'ERROR_RECIPIENTRHS_NOTAVAILABLE' indicating that a given recipient is not reachable. It is the decision of the calling program whether the error 'ERROR_RECIPIENTRHS_NOTAVAILABLE' will be considered or not.


 How to print webstamps onto a nursing care credit request

To print a webstamp onto a nursing care credit in the careCreditRequestManager use a special print object name (cf. "Syntax of the printTemplate variable" for an overview).

(WEBSTAMP=file_path_of_BMP_file;)
as a print object name on the printTemplate variable of the ICareCreditRequestManager::Print method.

In its simplest form the ICareCreditRequestManager::Print method looks like:

     BSTR bstrPrintTemplate = "(WEBSTAMP="+bstrBMPFile+";)";

     ICareCreditRequestManager::Print(bstrPrintTemplate,...);
in order to print a webstamp onto the first page of the "Bedarfsmeldung".

Since the webstamp printing is not the primary purpose of the Print method this feature has NO error propagation. The generation is done on a best effort basis, errors are only dumped into the log file!

Boundary conditions:

  • No error propagation
  • The supplied BMP webstamp must exist


 How to set the default printer for a certain request

The report generator included in the module allows to map a printer with its print settings against a print template.

The interface ICareCreditRequestManager includes the ICareCreditRequestManager::PrintSetup method which displays the Microsoft's standard print setup dialog. The defined printer and its settings are then stored persistently in a INI file of the same name as the print template but with an extension .vpd (whereas the print template has an extension .vps).


 Syntax of the printTemplate variable of the Print method

bstrPrintTemplate argument of the ICareCreditRequestManager::Print is either empty or of the general form defined below. In the case of an empty bstrPrintTemplate variable, no print variables are changed/substituted and the default print templates are used according to the defined language, law and tiers type.

However, bstrPrintTemplate can be used to change the normal printing behavior or changing the content of printing objects dynamically. The following syntax is used as content of the bstrPrintTemplate variable:

[logTpl][(objectName1=text;...)][=printTemplateFile][#INIPATH=inipath]

where a [] pair defines an optional part. The commands are case insensitive and have the following meaning:
  • logTpl: is the logical template name. Currently there is only one template name defined: { detail }.
  • objectName1=text; does control a substitution of the content of the print object objectName.
    A print object is terminated by a semicolon and all print objects together are enclosed in a () pair.
    There are 3 predefined pseudo print objects with a special meaning:
    • PDF for generating PDF files
    • WEBSTAMP for printing electronic stamps
  • printTemplateFile defines an external print template file name (full path + name!).
    If an external print template is supplied it must be mapped against a logical template. Therefore detail=full_vps_filename must be used!
  • #INIPATH=inipath defines a fully qualified path to a directory where the report engine searches the corresponding .vpd print template INI file.
    This allows for global settings of a print template in a LAN. The default inipath is the install directory of the Dll

Here are some usage examples:
  • bstrPrintTemplate: "" or bstrPrintTemplate: Detail denotes a standard printing situation.
  • bstrPrintTemplate: detail(DOCUMENT_TITLE_DETAIL=Alternate title for the care title;) prints a substituted title onto the standard print output.
  • bstrPrintTemplate: detail=C:\myForms\myPrintForm.vps
    uses the print template "C:\myForms\myPrintForm.vps" instead of the default one in the installation directory. An optional INI file with the name "C:\myForms\myPrintForm.vpd" is searched under this condition at the same directory.
  • bstrPrintTemplate: #INIPATH=\\host1\myForms\
    the default path for the ini files (place of the installed component) is changed to "\\host1\myForms\". If "\\host1\myForms\" is accessible by all hosts of the LAN then the same settings (printer/printing settings) can be used.


 Process attributes...

An XML request is primarily defined by its topmost object reference (cf. "Overview over "Object reference"). However, the XML request is further characterized by a state that is formed by a set of Boolean process attributes, namely

"copy" attribute

The copy attribute defines the XML request as an identical copy of an initial request.
The absence of the copy attribute in reverse defines the XML request as "normal" (initial) request.

It is considered an error to send a XML request with turned on copy attribute without having prior sent a "normal" request.

"storno" attribute

The storno attribute cancels the XML request defined by the topmost reference object.
The absence of the storno attribute in reverse defines the XML request as "normal" request.

It is considered an error to send a XML request with turned on storno attribute without having prior sent a "normal" request.

The copy and storno attributes can be combined to form a total of 4 different combinations.


 Object reference...

The following paragraphs defines the concepts of object reference, object reference chain, and topmost object reference. These concepts are of high importance within the XML request/response system.

object reference

An object reference is an identification of an individual XML request defined by a unique triple of data, namely
  • timestamp (UNIX time) defined at the moment of generation
  • date of the object defined by the provider
  • ID of the object defined by the provider
Each and every XML request of version 4.5 is defined by such an object reference. All XML responses are replies to the object reference of the corresponding request.

Thus the object reference is a clustered primary key of the request/response system!

object reference chain

As a consequence of the XML schema coded business logic most XML request schemas define more than just 1 object reference, e.g. a "CareCreditRequest" can hold a maximum of 2 object references, namely
  • an optional credit_ref object reference from a prvious "Care Credit Request" process
  • a mandatory credit object reference from the "Care Credit Request" process
This set of object references by itself defines an ordered object reference chain (e.g. credit_ref -> credit) with the topmost object reference as unique identification of the XML request. Therefore the object reference chain defines -on business logic point of view- dependencies among different XML requests.

topmost object reference

The end node of an object reference chain is defined as topmost object reference, that is by definition the object reference of the XML request itself. Each request/response communication is always done for this topmost object reference and only for that.


 Introduction, overview and usage of the Restful Webservice Server

The application careCreditRequestManagerServer450.exe is a Restful Webservice Server, that has the same interface methods/properties as the COM module careCreditRequestManager450.dll.
This allows to create a programming semantically similar to the COM approach but under the Restful Webservice paradigm. Consequently, on the Restful Client side there are no prevailing dependencies on Microsoft platforms and/or on Microsoft resources such as the database technology. Of course, the installation location of the server software is still subject to these restrictions.

In the next section of this document, the installation, configuration and operation of careCreditRequestManagerServer450.exe will be addressed.

Installation, registration and parameterization:
By installing the installer object careCreditRequestManager450 the COM module careCreditRequestManager450.dll as well as the out-of-process proxy component oopCareCreditRequestManager450.exe is automatically installed/registered in the system. However, the careCreditRequestManagerServer450.exe must be installed manually as a system service.
careCreditRequestManagerServer450.exe -help | Creates a help window with the the name and full version of the applicationb as well as the currently define Webservice Endpoint. Furthermore the complete list of command line switches is shown.
careCreditRequestManagerServer450.exe -install | Installs/registers the Restful Webservice Server as a system service. Please take into account, that the installation must be performed under administrator privileges
careCreditRequestManagerServer450.exe -uninstall | Uninstalls the system service component. Please take into account, that the uninstallation must be performed under administrator privileges
careCreditRequestManagerServer450.exe -setport X | Sets the port X as part of the Webservice Endpoint
Restful Webservice Endpoint:
Installing careCreditRequestManagerServer450.exe as a service activates the Restful Webservice Endpoint:
http://localhost:35334/careCreditRequestManagerServer450
which is subsumed as baseURL in the subsequent API documentation.

To run the webservice under a different URL or under https protocol, a permanent webservice target endpoint mapping is performed on the target system.
For example, under Apache, the following rewrite rule is defined:
<VirtualHost *:*>
    ProxyPreserveHost Off
    Header always set Access-Control-Allow-Origin "*"
    Header always set Access-Control-Max-Age "1000"
    Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"

    ProxyPass /careCreditRequestManager/450/ http://localhost:35334/careCreditRequestManagerServer450/
    ProxyPassReverse /careCreditRequestManager/450/ http://localhost:35334/careCreditRequestManagerServer450/
</VirtualHost>
Restful Webservice Operation:
The service might be modified after installation, for example to start under a different account, to extend the recovery properties or to change the startup type. Finally, this should be set to 'Automatic' or 'Automatic (Delayed start)' so that the service is automatically available after a system restart.
Remarks about programming:
In the rest of this document we will discuss programming of the Restful web service and the differences to the C/C++ programming of the classic COM component.

As already mentioned, Restful programming is analogous to C++ programming with the addition that each instance of an interface (including the main interface) is created via the corresponding GET function. For example, an instance of the main interface is created with:
baseURL/ICareCreditRequestManager/GetCreateCareCreditRequestManager | returns the instance address as JSON out{pICareCreditRequestManager: longValue,...}
In every further call of a method or a property of the main interface this instance address must be included as part of the JSON-In. The termination/deletion of an instance must be done via the corresponding PUT Destruct property:
baseURL/ICareCreditRequestManager/PutDestructCareCreditRequestManager | with JSON-In{pICareCreditRequestManager: longValue}, deletes the corresponding main instance AND all at that moment still active dependent subinstances (subinstances which have been generated by the explicit main instance).
It should be noted that the webserver careCreditRequestManagerServer450.exe performs an internal management of the generated instances and automatically deletes instances that have no activity for a defined period of 1 hour. If after the deletion a rest call with such an instance is made, an error (HTTP Status >= 400) is generated and the instance address is marked as unknown.
Code snippet:
Minimal code snippet to load an XML and produce a PDF representation of that input data:

    http://localhost:35334/careCreditRequestManagerServer450/ICareCreditRequestManager/GetModuleVersion?pICareCreditRequestManager=45467
        returns JSON-Out{pbstrModuleVersion: "1.00.010"}

    http://localhost:35334/careCreditRequestManagerServer450/ICareCreditRequestManager/GetModuleLanguage?pICareCreditRequestManager=45467
        returns JSON-Out{peLanguage: "1"}

    http://localhost:35334/careCreditRequestManagerServer450/ICareCreditRequestManager/GetCareCreditRequest?pICareCreditRequestManager=45467
        returns JSON-Out{pICareCreditRequest: 5788991}

    http://localhost:35334/careCreditRequestManagerServer450/ICareCreditRequest/PutDestructCareCreditRequest
        JSON-IN(pICareCreditRequest: 5788991}

    http://localhost:35334/careCreditRequestManagerServer450/ICareCreditRequestManager/PutDestructCareCreditRequestManager
        JSON-IN{pICareCreditRequestManager:45467}


 Notes about the signature

XML signatures are digital signatures designed for use in XML transactions. The W3C standard defines a schema for capturing the result of a digital signature operation applied to an infoset. XML signatures add authentication, data integrity, and support for non-repudiation to the data that they sign.
However, it is beyond the scope of this documentation to explain all details of a signature or the signing process. Detailed information about all aspects of signatures can be found at W3C.

Boundary conditions and critical aspects

  • the signature is optional!
  • if an infoset is signed then the private certificate of the sender must be used and this certificate is applied to the payload element. This inherently qualifies for a detached signature.

    In this context sender is used in terms of the communication and therefore is defined as the EAN entity given in the transport@from attribute

  • the URI attribute of the reference element must use a XPointer syntax of the payload element, e.g. <ds:Reference URI="#xpointer(/ccr:request/ccr:payload)">
  • it is recommended to add the public key via a X509Data element such that a key store can be built at the recipient's site
  • The signature algorithm is fixed to PKCS1 (RSA-SHA1) (RFC 2437: RSA Cryptography Specifications)
  • The digest algorithm is fixed to SHA-1
  • the used canonicalization algorithm must be http://www.w3.org/2001/10/xml-exc-c14n#, the exclusive XML Canonicalization

The careCreditRequest module does obey all these conditions whenever signature is "turned on" by setting the private certificate and password of the "fromEAN" entity (cf. ICareCreditRequest::SetTransport). This certificate must be in the PFX format.