 API browser of hospitalMCDRequest452 COM module
Interface version: | 4.52
Interface date: | 13 Sep 2019

The HospitalMCDRequestManager is an ATL COM module which provides methods to generate a Minimal Clinical Dataset (MCD) that basically defines the required input to a DRG grouper.

The MCD is printed or a XML infoset is produced which can be transported electronically to the recipient. In the latter case the MCD optionally can be signed and/or encrypted .

Due to the processing attributes "storno" and "copy" a previously generated MCD 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.
IHospitalMCDRequest | With the IHospitalMCDRequest interface all MCD related data can be set/defined by the interface's methods.
IHospitalMCDRequestManager | The main interface IHospitalMCDRequestManager -creatable in its own right- provides methods to generate a Minimal Clinical Dataset (MCD) or load such an MCD back into memory.
IHospitalMCDResult | The interface IHospitalMCDResult allows to read back all data that have been defined with the IHospitalMCDRequest interface object 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 hospitalMCDRequest452 COM module - an overview
Document | Overview of the changes from hospitalMCDRequest451 to hospitalMCDRequest452
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 | Syntax of the printTemplate variable of the Print method
Document | How to generate a PDF archive file of a MCDRequest
Document | How to print electronic stamps onto a MCDRequest
Document | VB code snippet for using the hospitalMCDRequest452 COM module
Document | hospitalMCDRequestManagerServer452: Introduction, overview and usage of the Restful Webservice Server
Important external documents
CHM File | Schema documentation of hospitalMCDRequest_452 in CHM format
ZIP Archive | ZIP archive with the hospitalMCDRequest_452.xsd schema and the accompanying auxiliary schema files
ZIP Archive | ZIP archive with some XML test files of hospitalMCDRequest452 type

© by sumex1.net - all rights reserved


  • hospitalMCDRequest452
  • IAddress

IAddress interface |  | V4.52/13 Sep 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 IHospitalMCDRequest::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


  • IHospitalMCDRequest

IHospitalMCDRequest interface |  | V4.52/13 Sep 2019
With the IHospitalMCDRequest interface all MCD related data can be set by the interface's methods. Alternatively, the data of a previously generated XML infoset can be loaded with the IHospitalMCDRequestManager::LoadXML method and thereafter these interface methods allow to change the data appropriately. |  | space
space
Methods |  | 19 methods
AddDiagnosis | Adds a diagnosis to the list of diagnoses |
AddDocument | Attaches a PDF, JPG or PNG document -either inline or online- to the list of documents |
AddGrouperRecord | Adds a Grouper record to the list of Grouper records |
AddMedication | Adds a set medication information to the list of medications |
AddProcedure | Adds a procedure to the list of procedures. |
Finalize | Finalizes and validates all data set so far in the IHospitalMCDRequest interface |
GetAbortInfo | Get the abort information string with the error coded in the module language |
Initialize | Initializes all input data in the IHospitalMCDRequest interface |
SetBiller | Sets the biller's various identifiers (GLN, ZSR,...) as well as the structured address |
SetGrouperData | Sets the grouper relevant global parameters |
SetInsurance | Sets the insurance's GLN as well as the structured address |
SetInvoice | Sets the invoice object reference for which the MCD is produced |
SetMCD | Sets the main MCD object reference that is it uniquely characterizes this XML infoset |
SetPackage | Defines the identification parameters of the main software. |
SetPatient | Sets the primary parameters of the patient that are necessary for the DRG grouper. |
SetProvider | Sets the provider's various identifiers (GLN, ZSR,...) as well as the structured address |
SetRequest | Defines the processing parameters, 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] DestructHospitalMCDRequest | Destructs/invalidates this IHospitalMCRequest interface instance |
space |


  • IHospitalMCDRequest
  • AddDiagnosis

IHospitalMCDRequest::AddDiagnosis method |  |  | space
Adds a diagnosis to the list of diagnoses. Note, that the first added diagnosis is per definition the main diagnosis! |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/AddDiagnosis
[JSON input data] | pIHospitalMCDRequest: bstrCode: bstrText: bstrCatalog: bstrRemark: | 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 AddDiagnosis( | BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrCode, bstrText, bstrCatalog, 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 | bstrCode | The code of the diagnosis as defined in the diagnoses catalog. |
[in] BSTR | bstrText | The textual description of the diagnosis as given in the diagnoses catalog. |
[in] BSTR | bstrCatalog | The used catalog that lists the diagnosis e.g. "ICD-10-GM 2016". Note that the diagnosis catalog is an input element for the DRG Grouper process as well. |
[in] BSTR | bstrRemark | An optional remark |
[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 |


  • IHospitalMCDRequest
  • AddDocument

IHospitalMCDRequest::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/ IHospitalMCDRequest/AddDocument?param
[param] pIHospitalMCDRequest=longValue&
eIsURL=longValue&
bstrSource=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( YesNoType
BSTR
BSTR
BSTR
VARIANT_BOOL 		eIsURL,
bstrSource,
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] YesNoType eIsURL Boolean that defines if the document is added online using a URL (enYes) or inline as Base64 coded stream (enNo).

In Restful webservice system:
If eIsURL = enYes than perform a normal POST <application/json> Restful call instead of a POST urlEncoded + <application/octet-stream> Restful call!
[in] BSTR bstrSource If eIsURL = enYes then bstrSource is a URL for accessing the document online.

If eIsURL = enNo then bstrSource is a full file name (path + name) of the primary document. Be sure, that privileges allows opening and reading 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>/b> be one of

  • application/pdf for PDF files, , and image/png
  • 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


  • IHospitalMCDRequest
  • AddGrouperRecord

IHospitalMCDRequest::AddGrouperRecord method | space
Adds a Grouper record to the list of Grouper records.

This list of Grouper records basically defines a required input to a DRG Grouper. As a consequence 3 Grouper records must be supplied - one for each type of the GrouperRecordType enumeration list.

The input data is supplied in the used data language whereas the allowed value space stems from the Forum Datenaustausch/Generic list.

space
Restful webservice calling syntax
[POST] | /baseURL/ IHospitalMCDRequest/AddGrouperRecord
[JSON input data] pIHospitalMCDRequest:
eGrouperRecordType:
lNumber:
bstrName: 		longValue, //interface address
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 AddGrouperRecord( GrouperRecordType
long
BSTR
VARIANT_BOOL 		eGrouperRecordType,
lNumber,
bstrName,
*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] GrouperRecordType eGrouperRecordType The type of Grouper record for which the number=name pair is supplied.

Please note, that it is mandatory to input one Grouper record per GrouperRecordType .

[in] long lNumber The number part of a number=name pair

For example, the 2nd choice of the grouper provider type (enGrouperProviderType) is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".

[in] BSTR bstrName The name part of a number=name pair

For example, the 2nd choice of the grouper provider type (enGrouperProviderType) is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".

[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


  • IHospitalMCDRequest
  • AddMedication

IHospitalMCDRequest::AddMedication method |  |  | space
Adds a set medication information to the list of medications. Note that the input of medication relevant data is optional and solely possible in the hospitalMCDRequest452 and hospitalMCDRequest451 standards. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/AddMedication
[JSON input data] | pIHospitalMCDRequest: bstrATCCode: bstrAnnex: bstrApplication: dDose: bstrUnit: bstrCatalog: bstrRemark: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", doubleValue, "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 AddMedication( | BSTR BSTR BSTR double BSTR BSTR BSTR VARIANT_BOOL | bstrATCCode, bstrAnnex, bstrApplication, dDose, bstrUnit, bstrCatalog, 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 | bstrATCCode | The used ATC code that basically defines the medication set |
[in] BSTR | bstrAnnex | An optional, coded supplementary information basically coding a drug, a galenic preparation and the like |
[in] BSTR | bstrApplication | The coded route of application/administration of the drug |
[in] double | dDose | The dosage value of the applied active substance |
[in] BSTR | bstrUnit | The dosage unit of the applied active substance |
[in] BSTR | bstrCatalog | The used catalog that lists the medication data e.g. "swissDRG V6.0" |
[in] BSTR | bstrRemark | An optional remark |
[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 |


  • IHospitalMCDRequest
  • AddProcedure

IHospitalMCDRequest::AddProcedure method |  |  | space
Adds a procedure to the list of procedures. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/AddProcedure
[JSON input data] | pIHospitalMCDRequest: bstrCode: bstrText: bstrCatalog: eSideType: dDate: bstrRemark: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue, variantDateValue | "stringISODateValue", "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 AddProcedure( | BSTR BSTR BSTR SideType DATE BSTR VARIANT_BOOL | bstrCode, bstrText, bstrCatalog, eSideType, dDate, 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 | bstrCode | The code of the procedure as defined in the procedure catalog. |
[in] BSTR | bstrText | Textual description of the procedure code as given in the procedure catalog. |
[in] BSTR | bstrCatalog | The used catalog that lists the procedures e.g. "CHOP 11" Note that the procedure catalog is an input element for the DRG Grouper process as well. |
[in] SideType | eSideType | The side dependency of the applied procedure |
[in] DATE | dDate | The date when the procedure was applied. |
[in] BSTR | bstrRemark | An optional remark |
[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 |


  • IHospitalMCDRequest
  • Finalize

IHospitalMCDRequest::Finalize method |  |  | space
Finalizes and validates all data set so far in the IHospitalMCDRequest interface. This method is the counterpart to the Initialize method. This method should be called after all data have been set in the IHospitalMCDRequest 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. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/Finalize
[JSON input data] | pIHospitalMCDRequest: | 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 |


  • IHospitalMCDRequest
  • GetAbortInfo

IHospitalMCDRequest::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/ IHospitalMCDRequest/GetAbortInfo
[JSON input data] | pIHospitalMCDRequest: | 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 |


  • IHospitalMCDRequest
  • Initialize

IHospitalMCDRequest::Initialize method |  |  | space
Initializes all input data in the IHospitalMCDRequest interface. This method is the counterpart to the Finalize method. This method should be called before any input is set in the IHospitalMCDRequest interface. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/Initialize
[JSON input data] | pIHospitalMCDRequest: 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 response is formulated. Note, that the data language and the module language (given by IHospitalMCDRequestManager::SetModuleLanguage) 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 |


  • IHospitalMCDRequest
  • SetBiller

IHospitalMCDRequest::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/ IHospitalMCDRequest/SetBiller
[JSON input data] | pIHospitalMCDRequest: bstrGLN: 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 | bstrGLN, 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 | bstrGLN | The GLN 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 recipient |
[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 |


  • IHospitalMCDRequest
  • SetGrouperData

IHospitalMCDRequest::SetGrouperData method |  |  | space
Sets the grouper relevant global parameters |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/SetGrouperData
[JSON input data] | pIHospitalMCDRequest: dAdmissionWeight: dGestationalAge: lRespirationTime: bstrGrouper: | longValue, //interface address doubleValue, doubleValue, 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 SetGrouperData( | double double long BSTR VARIANT_BOOL | dAdmissionWeight, dGestationalAge, lRespirationTime, bstrGrouper, *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] double | dAdmissionWeight | The patient's weight at the moment of the admission given in [kg] or [g]. The weight is automatically converted to an integral [g] value. Note, that the admission weight is a required grouper relevant parameter for neonates and babies up to an age of 1 year. Set a value of 0.0 for patients with a higher age than 1 year. |
[in] double | dGestationalAge | The patient's gestational age at the moment of the admission given in [weeks]. Note, that the gestational age is a required grouper relevant parameter for neonates and babies up to an age of 1 year. Set a value of 0.0 for patients with a higher age than 1 year. |
[in] long | lRespirationTime | The patient's respiration time in [s] during treatment. If respiration is not an issue set lRespirationTime = 0. |
[in] BSTR | bstrGrouper | Name of the grouper software, e.g. "SwissDRG 0.2" |
[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 |


  • IHospitalMCDRequest
  • SetInsurance

IHospitalMCDRequest::SetInsurance method |  |  | space
Sets the insurance's GLN 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/ IHospitalMCDRequest/SetInsurance
[JSON input data] | pIHospitalMCDRequest: bstrGLN: 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 | bstrGLN, *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 | bstrGLN | The GLN 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 |


  • IHospitalMCDRequest
  • SetInvoice

IHospitalMCDRequest::SetInvoice method |  |  | space
Sets the invoice object reference for which the MCD is produced. The invoice and MCD object references form a object reference chain (invoice -> mcd) with the MCD 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/ IHospitalMCDRequest/SetInvoice
[JSON input data] | pIHospitalMCDRequest: bstrRequestInvoiceID: dRequestInvoiceDate: lRequestInvoiceTimestamp: | 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 SetInvoice( | BSTR DATE long VARIANT_BOOL | bstrRequestInvoiceID, dRequestInvoiceDate, lRequestInvoiceTimestamp, *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 | bstrRequestInvoiceID | The request ID is the main software's identification of the invoice ("Rechnungsnummer"). This is one of 3 identifiers that form the invoice object reference. |
[in] DATE | dRequestInvoiceDate | The request date is the main software's date of the invoice request ("Rechnungsdatum") This is one of 3 identifiers that form the invoice object reference. |
[in] long | lRequestInvoiceTimestamp | This is a UNIX timestamp defined at the moment of the invoice's infoset generation. This is one of 3 identifiers that form the invoice 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 |


  • IHospitalMCDRequest
  • SetMCD

IHospitalMCDRequest::SetMCD method |  |  | space
Sets the main MCD object reference that is it uniquely characterizes this XML infoset. The invoice and MCD object references form a object reference chain (invoice -> mcd) with the MCD 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/ IHospitalMCDRequest/SetMCD
[JSON input data] | pIHospitalMCDRequest: bstrRequestMCDID: dRequestMCDDate: lRequestMCDTimestamp: | 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 SetMCD( | BSTR DATE long VARIANT_BOOL | bstrRequestMCDID, dRequestMCDDate, lRequestMCDTimestamp, *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 | bstrRequestMCDID | The request ID is the main software's identification of the MCD ("MCD Fallnummer"). This is one of 3 identifiers that form the MCD object reference. This ID must be identical for the same MCD object reference e.g. in a storno process! |
[in] DATE | dRequestMCDDate | The request date is the main software's date of the MCD request ("MCD Datum") This is one of 3 identifiers that form the MCD object reference. This date must be identical for the same MCD object reference e.g. in a storno process! |
[in] long | lRequestMCDTimestamp | This is a UNIX timestamp defined at the moment of the MCD's infoset generation. Set this variable 0 to indicate the generation of a new MCD object reference. The IHospitalMCDRequestManager::GetXML and/or IHospitalMCDRequestManager::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 MCD object reference. The timestamp will be generated once for a certain MCD 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 |


  • IHospitalMCDRequest
  • SetPackage

IHospitalMCDRequest::SetPackage method |  |  | space
Defines the identification parameters of the main software. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/SetPackage
[JSON input data] | pIHospitalMCDRequest: 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 |


  • IHospitalMCDRequest
  • SetPatient

IHospitalMCDRequest::SetPatient method |  |  | space
Sets the primary parameters of the patient that are necessary for the DRG grouper. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/SetPatient
[JSON input data] | pIHospitalMCDRequest: eSexType: dBirthdate: | longValue, //interface address longValue, variantDateValue | "stringISODateValue"
[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 VARIANT_BOOL | eSexType, dBirthdate, *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. |
[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 |


  • IHospitalMCDRequest
  • SetProvider

IHospitalMCDRequest::SetProvider method |  |  | space
Sets the 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/ IHospitalMCDRequest/SetProvider
[JSON input data] | pIHospitalMCDRequest: bstrGLN: 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 | bstrGLN, 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 | bstrGLN | The GLN of the provider as supplied by Stiftung Refdata |
[in] BSTR | bstrZSR | The 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 sender. |
[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 |


  • IHospitalMCDRequest
  • SetRequest

IHospitalMCDRequest::SetRequest method |  |  | space
Defines the processing parameters, 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 original MCD object reference (SetMCD) must be defined that is the timestamp > 0 otherwise an error will result in the Finalize method. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/SetRequest
[JSON input data] | pIHospitalMCDRequest: eIsStorno: eIsCopy: eIsConfidential: 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 YesNoType BSTR VARIANT_BOOL | eIsStorno, eIsCopy, eIsConfidential, 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 MCD. eIsStorno should be false when the initial MCD is produced. At this step the MCD timestamp is generated and returned from the IHospitalMCDRequestManager::Print and/or IHospitalMCDRequestManager::GetXML method. Whenever eIsStorno is true then the MCD timestamp must be set otherwise an error will result. |
[in] YesNoType | eIsCopy | Boolean value that defines the "copy" status of the MCD. eIsCopy should be false when the initial MCD is produced. At this step the MCD timestamp is generated and returned from the IHospitalMCDRequestManager::Print and/or IHospitalMCDRequestManager::GetXML method. Whenever eIsCopy is true then the MCD timestamp must be set otherwise an error will result. |
[in] YesNoType | eIsConfidential | Boolean flag that defines the confidentiality status of a MCD when addressed and transmitted to a consulting physician (CE) at the insurance's site in accordance with Article 42 (5) of the Swiss Federal Act on Health Insurance (KVG). By using the flag in the aforementioned case, the health provider declares that all medical information must be seen and used exclusively by the CE. Therefore, the case qualifies according to Article 42 (5) KVG. |
[in] BSTR | bstrRemark | An optional remark for MCD. |
[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 |


  • IHospitalMCDRequest
  • SetTransport

IHospitalMCDRequest::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 as defined by Stiftung Refdata. 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. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDRequest/SetTransport
[JSON input data] | pIHospitalMCDRequest: bstrFromGLN: bstrFromPFXFile: bstrFromPFXPassword: bstrViaGLN: bstrToGLN: 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 | bstrFromGLN, bstrFromPFXFile, bstrFromPFXPassword, bstrViaGLN, bstrToGLN, 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 | bstrFromGLN | The GLN 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 | bstrViaGLN | The GLN of the first intermediate as supplied by Stiftung Refdata |
[in] BSTR | bstrToGLN | The GLN of the recipient as supplied by Stiftung Refdata |
[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 |


  • IHospitalMCDRequest
  • SetTreatment

IHospitalMCDRequest::SetTreatment method | space
Sets the basic treatment parameters.

Note, that the treatment begin and end date is the same period as defined in the corresponding invoice. Furthermore, the calculation of the number of treatment days is dependent on the DRG version used (swissDRG or APDRG).

space
Restful webservice calling syntax
[POST] | /baseURL/ IHospitalMCDRequest/SetTreatment
[JSON input data] pIHospitalMCDRequest:
bstrACID:
dDateBegin:
dDateEnd:
lTreatmentDays:
eDoCostAssessment: 		longValue, //interface address
"utf8StringValue",
variantDateValue | "stringISODateValue",
variantDateValue | "stringISODateValue",
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( BSTR
DATE
DATE
long
YesNoType
VARIANT_BOOL 		bstrACID,
dDateBegin,
dDateEnd,
lTreatmentDays,
eDoCostAssessment,
*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 | bstrACID | The optional Administrative Case IDentification.
[in] DATE | dDateBegin | Start date of the treatment copied from the corresponding invoice
[in] DATE | dDateEnd | End date of the treatment copied from the corresponding invoice
[in] long lTreatmentDays Number of days of treatment within the given treatment period.

The calculation of these treatment days is dependent on whether SwissDRG is used nor not!
The treatment days are calculated as

  • None-SwissDRG: «(treatment@date_end - treatment@date_begin + 1 - vacation_days)»
  • SwissDRG: «(treatment@date_end - treatment@date_begin - vacation_days)»
where vacation_days is the number of vacation days (the leave days when the patient was not in the hospital for treatment).
Note, that treatment_days is identical to the "length of stay" notion of a DRG service position (either APDRG or SwissDRG)
[in] YesNoType | eDoCostAssessment | The Boolean eDoCostAssessment indicates that another insurance might be responsible for a part of the costs. As a consequence of setting this attribute, the addressed insurance starts an internal assessment about a possible cost splitting.
[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


  • IHospitalMCDRequest
  • CreateAddress

IHospitalMCDRequest::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/ IHospitalMCDRequest/GetCreateAddress?param
[param] pIHospitalMCDRequest= 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


  • IHospitalMCDRequest
  • DestructAddress

IHospitalMCDRequest::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 IHospitalMCDRequest::GetCreateAddress. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IHospitalMCDRequest/PutDestructAddress
[JSON input data] | pIHospitalMCDRequest: 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 |


  • IHospitalMCDRequest
  • DestructHospitalMCDRequest

IHospitalMCDRequest::DestructHospitalMCDRequest property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IHospitalMCRequest interface instance. The counterpart property to generate an IHospitalMCRequest interface instance is IHospitalMCRequestManager::GetHospitalMCRequest. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IHospitalMCDRequest/PutDestructHospitalMCDRequest
[JSON input data] | pIHospitalMCDRequest: | 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 |


  • IHospitalMCDRequestManager

IHospitalMCDRequestManager interface | V4.52/13 Sep 2019
The IHospitalMCDRequestManager interface provides methods to load or generate a MCD (Minimal Clinical Dataset) of type hospitalMCDRequest_452 or its predecessors hospitalMCDRequest_451 and hospitalMCDRequest_450 that basically defines the required input to a DRG grouper.

The MCD is printed or a XML infoset is produced which can be electronically transported to the recipient. In the latter case the MCD optionally can be signed and/or encrypted .

Due to the processing attributes "storno" and "copy" a previously generated MCD 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 IHospitalMCDRequest 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 is a visualization aid to preview/print the currently loaded data on screen or onto 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] CreateHospitalMCDRequestManager | Creates an instance of the main IHospitalMCDRequestManager interface
[put] DestructHospitalMCDRequest | Destructs/invalidates this IHospitalMCDRequest interface instance
[put] DestructHospitalMCDRequestManager | Destructs/invalidates a main instance of the IHospitalMCRequestManager interface
[put] DestructHospitalMCDResult | Destructs/invalidates this IHospitalMCDResult interface instance.
[get] HospitalMCDRequest | The GetHospitalMCDRequest property generates an instance of the IHospitalMCDRequest interface
[get/put] ModuleLanguage | Gets/Sets the language for the module i.e
[get] ModuleVersion | Gets the version of the HospitalMCDRequestManager module.
[get] ModuleVersionText | Get the version of the HospitalMCDRequestManager module in textual form.
[get/put] Modus | Gets/Sets the operation modus of the module
space


  • IHospitalMCDRequestManager
  • GetAbortInfo

IHospitalMCDRequestManager::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/ IHospitalMCDRequestManager/GetAbortInfo
[JSON input data] | pIHospitalMCDRequestManager: | 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 |


  • IHospitalMCDRequestManager
  • GetLogSettings

IHospitalMCDRequestManager::GetLogSettings method | space
Get the log settings for the module.
space
Restful webservice calling syntax
[POST] | /baseURL/ IHospitalMCDRequestManager/GetLogSettings
[JSON input data] pIHospitalMCDRequestManager: 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


  • IHospitalMCDRequestManager
  • GetXML

IHospitalMCDRequestManager::GetXML method | space
The GetXML method generates the XML infoset based on the data of the IHospitalMCDRequest 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 compatibility: the COM module is natively capable of producing the current hospitalMCDRequest_452 standard as well as its predecessors, hospitalMCDRequest_451 and hospitalMCDRequest_450. In the case of the predecessors use the lGenerationAttributes=enGenerateDowngradeToV451 or lGenerationAttributes=enGenerateDowngradeToV450 command.

Note about encryption: an encrypted XML infoset can not be loaded successfully by LoadXML as the private certificate of the "to" is certainly not available. Therefore, to build a local archive besides encrypted XML infoset, call GetXML twice once with the lGenerationAttributes= enGenerateXMLWithoutEncryption.

space
Restful webservice calling syntax
[POST] | /baseURL/ IHospitalMCDRequestManager/GetXML
[JSON input data] pIHospitalMCDRequestManager:
lGenerationAttributes: 		longValue, //interface address
longValue
[JSON result data] pbstrOutputFile:
plValidationError:
plTimestamp:
pbstrUsedSchema:
pIHospitalMCDResult:
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
IHospitalMCDResult
VARIANT_BOOL 		lGenerationAttributes,
*pbstrOutputFile,
*plValidationError,
*plTimestamp,
*pbstrUsedSchema,
**pIHospitalMCDResult,
*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 be hospitalMCDRequest_452.xsd. However, a downgrade to hospitalMCDRequest_451.xsd or hospitalMCDRequest_450.xsd can be requested by using lGenerationAttributes=enGenerateDowngradeToV451 or lGenerationAttributes=enGenerateDowngradeToV450, respectively .

[out] IHospitalMCDResult **pIHospitalMCDResult The instance of a IHospitalMCDResult 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


  • IHospitalMCDRequestManager
  • LoadXML

IHospitalMCDRequestManager::LoadXML method | space
Loads a previously generated XML infoset back into memory for further processing via the returned interface handles. The HospitalMCDRequest452 COM module understands and processes the hospitalMCDRequest_452 XSD standard as well as its predecessors, namely hospitalMCDRequest_451 and hospitalMCDRequest_450.

To analyze and retrieve the loaded data use the returned instance of the IHospitalMCDRequest 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 IHospitalMCDRequest::SetRequest method
  • produce the XML infoset again with the GetXML method or print the MCD with the Print method.
space
Restful webservice calling syntax
[POST] | /baseURL/ IHospitalMCDRequestManager/LoadXML?param
[param] pIHospitalMCDRequestManager=longValue&
bstrInputFile=urlEncodedString
+
<application/octet-stream> input_file_upload_stream
[JSON result data] pbstrUsedSchema:
pIHospitalMCDRequest:
pIHospitalMCDResult:
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
IHospitalMCDRequest
IHospitalMCDResult
VARIANT_BOOL 		bstrInputFile,
*pbstrUsedSchema,
**pIHospitalMCDRequest,
**pIHospitalMCDResult,
*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 name of the loaded XML file.

Since the current standard and its predecessors can natively be loaded it must either be of schema type hospitalMCDRequest_452.xsd, hospitalMCDRequest_451.xsd or hospitalMCDRequest_450.xsd. This variable is not set if the loading of an XML infoset was unsuccessful.

[out] IHospitalMCDRequest **pIHospitalMCDRequest The instance of a IHospitalMCDRequest interface allows to add further data or override data like setting the "storno" bit.
The handle is NULL if an error occurred.
[out] IHospitalMCDResult **pIHospitalMCDResult The instance of a IHospitalMCDResult 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


  • IHospitalMCDRequestManager
  • Print

IHospitalMCDRequestManager::Print method | space
The Print method is a visualization aid to preview/print the currently loaded data on screen or onto 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 its default settings is used.

The bstrPrintTemplate variable obeys a special syntax and can be used to set special print commands like producing PDFs or changing print objects dynamically.

  • "How to generate PDF archive file" is a description about PDF archive files
  • "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/ IHospitalMCDRequestManager/Print
[JSON input data] pIHospitalMCDRequestManager:
bstrPrintTemplate:
lGenerationAttributes:
ePrintPreview:
bstrSenderID: 		longValue, //interface address
"utf8StringValue",
longValue,
longValue,
"utf8StringValue"
[JSON result data] plTimestamp:
pIHospitalMCDResult:
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
IHospitalMCDResult
VARIANT_BOOL 		bstrPrintTemplate,
lGenerationAttributes,
ePrintPreview,
bstrSenderID,
*plTimestamp,
**pIHospitalMCDResult,
*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 ( IHospitalMCDRequest:: 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] IHospitalMCDResult **pIHospitalMCDResult The instance of a IHospitalMCDResult interface allows to read back all currently loaded data.
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


  • IHospitalMCDRequestManager
  • PrintAdjust

IHospitalMCDRequestManager::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 a 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 that can be accessed via one of the following case insensitive logical names:

Detail[_version]_language

where
  • version is one of {_452,_451,_450}, the absence of a version identifier defaults to _452
  • language is one of {dt, fr, it}.
For example the logical name "Detail_fr" is the French print template of version 452.
[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


  • IHospitalMCDRequestManager
  • PrintSetup

IHospitalMCDRequestManager::PrintSetup method | space
Shows the printer setup dialog that allows to define the printer and its settings. When saving the data the selected print 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 a 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 that can be accessed via one of the following case insensitive logical names:

Detail[_version]_language

where
  • version is one of {_452,_451, _450}, the absence of a version identifier defaults to _452
  • language is one of {dt, fr, it}.
For example the logical name "Detail_fr" is the French print template of version 452.
[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


  • IHospitalMCDRequestManager
  • SetLogSettings

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

The default for the log activity are: level=1, lMaxSizeKB=1000,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/ IHospitalMCDRequestManager/SetLogSettings
[JSON input data] pIHospitalMCDRequestManager:
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.
Any size below 1000 KB (= the default value) 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


  • IHospitalMCDRequestManager
  • CreateHospitalMCDRequestManager

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


  • IHospitalMCDRequestManager
  • DestructHospitalMCDRequest

IHospitalMCDRequestManager::DestructHospitalMCDRequest property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IHospitalMCDRequest interface instance. The counterpart property to generate an IHospitalMCDRequest interface instance is IHospitalMCDRequestManager::GetHospitalMCDRequest. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IHospitalMCDRequestManager/PutDestructHospitalMCDRequest
[JSON input data] | pIHospitalMCDRequestManager: pIHospitalMCDRequest: | 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 |


  • IHospitalMCDRequestManager
  • DestructHospitalMCDRequestManager

IHospitalMCDRequestManager::DestructHospitalMCDRequestManager property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates a main instance of the IHospitalMCRequestManager interface. Please note, that all dependent, active interface instances generated with IHospitalMCRequestManager::GetHospitalMCRequest, all dependent, active interface instances generated with IHospitalMCRequest::GetCreateAddress and all IHospitalMCResult interface instances under this main instance, are automatically destructed as well. The counterpart property to generate a main interface instance is IHospitalMCRequestManager::GetCreateHospitalMCRequestManager. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IHospitalMCDRequestManager/PutDestructHospitalMCDRequestManager
[JSON input data] | pIHospitalMCDRequestManager: | 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 |


  • IHospitalMCDRequestManager
  • DestructHospitalMCDResult

IHospitalMCDRequestManager::DestructHospitalMCDResult property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IHospitalMCDResult interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IHospitalMCDRequestManager/PutDestructHospitalMCDResult
[JSON input data] | pIHospitalMCDRequestManager: pIHospitalMCDResult: | 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 |


  • IHospitalMCDRequestManager
  • HospitalMCDRequest

IHospitalMCDRequestManager::HospitalMCDRequest property | space
The GetHospitalMCDRequest property generates an instance of the IHospitalMCDRequest interface.

This interface instance is needed to set all the requested data.

space
Restful webservice calling syntax
[GET] | /baseURL/ IHospitalMCDRequestManager/GetHospitalMCDRequest?param
[param] pIHospitalMCDRequestManager= longValue
[JSON result data] pIHospitalMCDRequest: 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 | HospitalMCDRequest( IHospitalMCDRequest **peHospitalMCDRequest );
[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] IHospitalMCDRequest | **peHospitalMCDRequest
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • IHospitalMCDRequest **GetHospitalMCDRequest(void);
space


  • IHospitalMCDRequestManager
  • ModuleLanguage

IHospitalMCDRequestManager::ModuleLanguage property | space
Gets/Sets 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 IHospitalMCDRequest::Initialize) are independent and can be different!

space
Restful webservice calling syntax
[GET] | /baseURL/ IHospitalMCDRequestManager/GetModuleLanguage?param
[param] pIHospitalMCDRequestManager= longValue
[JSON result data] peModuleLanguage: longValue
[PUT] | /baseURL/ IHospitalMCDRequestManager/PutModuleLanguage
[JSON input data] pIHospitalMCDRequestManager:
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


  • IHospitalMCDRequestManager
  • ModuleVersion

IHospitalMCDRequestManager::ModuleVersion property | space
Gets the version of the HospitalMCDRequestManager module.
space
Restful webservice calling syntax
[GET] | /baseURL/ IHospitalMCDRequestManager/GetModuleVersion?param
[param] pIHospitalMCDRequestManager= 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


  • IHospitalMCDRequestManager
  • ModuleVersionText

IHospitalMCDRequestManager::ModuleVersionText property | space
Get the version of the HospitalMCDRequestManager module in textual form.
space
Restful webservice calling syntax
[GET] | /baseURL/ IHospitalMCDRequestManager/GetModuleVersionText?param
[param] pIHospitalMCDRequestManager= 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


  • IHospitalMCDRequestManager
  • Modus

IHospitalMCDRequestManager::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/ IHospitalMCDRequestManager/GetModus?param
[param] pIHospitalMCDRequestManager= longValue
[JSON result data] peModus: longValue
[PUT] | /baseURL/ IHospitalMCDRequestManager/PutModus
[JSON input data] pIHospitalMCDRequestManager:
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


  • IHospitalMCDResult

IHospitalMCDResult interface |  | V4.52/13 Sep 2019
The IHospitalMCDResult interface allows to read back all data that have been defined by using an IHospitalMCDRequest interface object or by loading a previously generated XML infoset with the IHospitalMCDRequestManager::LoadXML method. |  | space
space
Methods |  | 27 methods
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetBiller | Retrieves the biller's various identifiers (GLN, ZSR,...) as well as the structured address |
GetDiagnoses | Method for collecting all diagnosis data covered by the IHospitalMCDResult interface and returned as JSON array |
GetDocuments | Method for collecting all document data covered by the IHospitalMCDResult interface and returned as JSON array |
GetFirstDiagnosis | Retrieves the first diagnosis from the list of diagnoses |
GetFirstDocument | Retrieves the first document from the list of documents |
GetFirstGrouperRecord | Retrieves the first Grouper record from the list of Grouper records |
GetFirstMedication | Retrieves the first medication set from the list of medications |
GetFirstProcedure | Retrieves the first procedure from the list of procedures |
GetGrouperData | Retrieves the grouper relevant global parameters |
GetGrouperRecords | Method for collecting all grouper record data covered by the IHospitalMCDResult interface and returned as JSON array |
GetInsurance | Retrieves the insurance's GLN as well as the structured address |
GetInvoice | Retrieves the invoice object reference parameters for which the MCD is produced |
GetMCD | Retrieves the main MCD object reference parameters |
GetMedications | Method for collecting all medication record data covered by the IHospitalMCDResult interface and returned as JSON array |
GetNextDiagnosis | Retrieves the next diagnosis from the list of diagnoses |
GetNextDocument | Retrieves the next document from the list of documents |
GetNextGrouperRecord | Retrieves the next Grouper record from the list of Grouper records |
GetNextMedication | Retrieves the next medication set from the list of medications. |
GetNextProcedure | Retrieves the next procedure from the list of procedures |
GetPackage | Retrieves the identification parameters of the main software |
GetPatient | Retrieves the primary parameters (sex, birth date) of the patient. |
GetProcedures | Method for collecting all procedure record data covered by the IHospitalMCDResult interface and returned as JSON array |
GetProvider | Retrieves the main provider'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. |
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] DestructHospitalMCDResult | Destructs/invalidates this IHospitalMCDResult interface instance. |
space |


  • IHospitalMCDResult
  • GetAbortInfo

IHospitalMCDResult::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/ IHospitalMCDResult/GetAbortInfo
[JSON input data] | pIHospitalMCDResult: | 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 |


  • IHospitalMCDResult
  • GetBiller

IHospitalMCDResult::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/ IHospitalMCDResult/GetBiller
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrGLN: 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 | *pbstrGLN, *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 | *pbstrGLN | The GLN 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 |


  • IHospitalMCDResult
  • GetDiagnoses

IHospitalMCDResult::GetDiagnoses method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all diagnosis data covered by the IHospitalMCDResult interface and returned as JSON array. Please note that IHospitalMCDResult::GetDiagnoses takes over the functionality of the iterator pair IHospitalMCDResult::GetFirstDiagnosis / IHospitalMCDResult::GetNextDiagnosis with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetDiagnoses
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result array] | { pbstrCode: pbstrText: pbstrCatalog: pbstrRemark: 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 | *pbstrCode | The code of the diagnosis as defined in the diagnoses catalog. |
[out] BSTR | *pbstrText | The textual description of the diagnosis as given in the diagnoses catalog. |
[out] BSTR | *pbstrCatalog | The used catalog that lists the diagnosis e.g. "ICD-10-GM 2009" |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetDocuments

IHospitalMCDResult::GetDocuments method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all document data covered by the IHospitalMCDResult interface and returned as JSON array. Please note that IHospitalMCDResult::GetDocuments takes over the functionality of the iterator pair IHospitalMCDResult::GetFirstDocument / IHospitalMCDResult::GetNextDocument with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetDocuments
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result array] | { peIsURL: pbstrSource: pbstrTitle: pbstrMimeType: pbStatus: | longValue, "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] YesNoType | *peIsURL | Boolean that defines if the document is added online using a URL (enYes) or inline as Base64 coded stream (enNo). |
[out] BSTR | *pbstrSource | If eIsURL = enYes then bstrSource is a URL for accessing the file online. If eIsURL = enNo then bstrSource 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: pbstrSource 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. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetFirstDiagnosis

IHospitalMCDResult::GetFirstDiagnosis method |  |  | space
Retrieves the first diagnosis from the list of diagnoses. VARIANT_FALSE is returned if the end of the diagnosis list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetFirstDiagnosis
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrCode: pbstrText: pbstrCatalog: pbstrRemark: 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 GetFirstDiagnosis( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrCode, *pbstrText, *pbstrCatalog, *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 | *pbstrCode | The code of the diagnosis as defined in the diagnoses catalog. |
[out] BSTR | *pbstrText | The textual description of the diagnosis as given in the diagnoses catalog. |
[out] BSTR | *pbstrCatalog | The used catalog that lists the diagnosis e.g. "ICD-10-GM 2009" |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetFirstDocument

IHospitalMCDResult::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/ IHospitalMCDResult/GetFirstDocument
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | peIsURL: pbstrSource: pbstrTitle: pbstrMimeType: pbStatus: | longValue, "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( | YesNoType BSTR BSTR BSTR VARIANT_BOOL | *peIsURL, *pbstrSource, *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] YesNoType | *peIsURL | Boolean that defines if the document is added online using a URL (enYes) or inline as Base64 coded stream (enNo). |
[out] BSTR | *pbstrSource | If eIsURL = enYes then bstrSource is a URL for accessing the file online. If eIsURL = enNo then bstrSource 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: pbstrSource 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. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetFirstGrouperRecord

IHospitalMCDResult::GetFirstGrouperRecord method |  |  | space
Retrieves the first Grouper record from the list of Grouper records. VARIANT_FALSE is returned if the end of the Grouper record list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetFirstGrouperRecord
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | peGrouperRecordType: plNumber: pbstrName: 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 GetFirstGrouperRecord( | GrouperRecordType long BSTR VARIANT_BOOL | *peGrouperRecordType, *plNumber, *pbstrName, *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] GrouperRecordType | *peGrouperRecordType | The type of Grouper record for which the number=name pair is supplied. |
[out] long | *plNumber | The number part of the number=name pair of a Grouper record. |
[out] BSTR | *pbstrName | The name part of the number=name pair of a Grouper record. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetFirstMedication

IHospitalMCDResult::GetFirstMedication method |  |  | space
Retrieves the first medication set from the list of medications. VARIANT_FALSE is returned if the end of the medication list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetFirstMedication
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrATCCode: pbstrAnnex: pbstrApplication: pdDose: pbstrUnit: pbstrCatalog: pbstrRemark: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", doubleValue, "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 GetFirstMedication( | BSTR BSTR BSTR double BSTR BSTR BSTR VARIANT_BOOL | *pbstrATCCode, *pbstrAnnex, *pbstrApplication, *pdDose, *pbstrUnit, *pbstrCatalog, *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 | *pbstrATCCode | The used ATC code that basically defines the medication set |
[out] BSTR | *pbstrAnnex | An optional, coded supplementary information basically coding a drug, a galenic preparation and the like |
[out] BSTR | *pbstrApplication | The coded route of application/administration of the drug |
[out] double | *pdDose | The dosage value of the applied active substance |
[out] BSTR | *pbstrUnit | The dosage unit of the applied active substance |
[out] BSTR | *pbstrCatalog | The used catalog that lists the medication data e.g. "swissDRG V6.0" |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetFirstProcedure

IHospitalMCDResult::GetFirstProcedure method |  |  | space
Retrieves the first procedure from the list of procedures. VARIANT_FALSE is returned if the end of the procedure list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetFirstProcedure
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrCode: pbstrText: pbstrCatalog: peSideType: pdDate: pbstrRemark: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue, "stringISODateValue", "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 GetFirstProcedure( | BSTR BSTR BSTR SideType DATE BSTR VARIANT_BOOL | *pbstrCode, *pbstrText, *pbstrCatalog, *peSideType, *pdDate, *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 | *pbstrCode | The code of the procedure as defined in the procedures catalog. |
[out] BSTR | *pbstrText | The textual description of the procedure as given in the procedures catalog. |
[out] BSTR | *pbstrCatalog | The used catalog that lists the procedures e.g. "CHOP 11" |
[out] SideType | *peSideType | The side dependency of the applied procedure |
[out] DATE | *pdDate | The date when the procedure was applied. |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetGrouperData

IHospitalMCDResult::GetGrouperData method |  |  | space
Retrieves the grouper relevant global parameters |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetGrouperData
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pdAdmissionWeight: pdGestationalAge: plRespirationTime: pbstrGrouper: pbStatus: | doubleValue, doubleValue, 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 GetGrouperData( | double double long BSTR VARIANT_BOOL | *pdAdmissionWeight, *pdGestationalAge, *plRespirationTime, *pbstrGrouper, *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] double | *pdAdmissionWeight | The patient's weight at the moment of the admission as integral [g] value. If the weight was supplied in [kg] then it was automatically converted to an integral [g] value in the input method. Note, that the admission weight is a required grouper relevant parameter for neonates and babies up to an age of 1 year.A value of 0.0 returned for patients with a higher age than 1 year. |
[out] double | *pdGestationalAge | The patient's gestational age at the moment of the admission given in [weeks]. Note, that the gestational age is a required grouper relevant parameter for neonates and babies up to an age of 1 year. A value of 0.0 is returned for patients with a higher age than 1 year. |
[out] long | *plRespirationTime | The patient's respiration time in [s] during treatment. |
[out] BSTR | *pbstrGrouper | The name of the Swiss Grouper software, e.g. "SwissDRG 0.2" |
[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 |


  • IHospitalMCDResult
  • GetGrouperRecords

IHospitalMCDResult::GetGrouperRecords method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all grouper record data covered by the IHospitalMCDResult interface and returned as JSON array. Please note that IHospitalMCDResult::GetGrouperRecords takes over the functionality of the iterator pair IHospitalMCDResult::GetFirstGrouperRecord / IHospitalMCDResult::GetNextGrouperRecord with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetGrouperRecords
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result array] | { peGrouperRecordType: plNumber: pbstrName: 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
Calling argument description |  |  |
[out] GrouperRecordType | *peGrouperRecordType | The type of Grouper record for which the number=name pair is supplied. |
[out] long | *plNumber | The number part of the number=name pair of a Grouper record. |
[out] BSTR | *pbstrName | The name part of the number=name pair of a Grouper record. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetInsurance

IHospitalMCDResult::GetInsurance method |  |  | space
Retrieves the insurance's GLN 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/ IHospitalMCDResult/GetInsurance
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrGLN: 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 | *pbstrGLN, **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 | *pbstrGLN | The GLN 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 |


  • IHospitalMCDResult
  • GetInvoice

IHospitalMCDResult::GetInvoice method |  |  | space
Retrieves the invoice object reference parameters for which the MCD is produced. The invoice and MCD object references form an object reference chain (invoice -> mcd) with the MCD 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/ IHospitalMCDResult/GetInvoice
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrRequestInvoiceID: pdRequestInvoiceDate: plRequestInvoiceTimestamp: 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 GetInvoice( | BSTR DATE long VARIANT_BOOL | *pbstrRequestInvoiceID, *pdRequestInvoiceDate, *plRequestInvoiceTimestamp, *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 | *pbstrRequestInvoiceID | The request ID is the main software's identification of the invoice ("Rechnungsnummer") - mirrored from the request. This is one of 3 identifiers that form the invoice object reference. |
[out] DATE | *pdRequestInvoiceDate | The request date is the main software's date of the invoice request ("Rechnungsdatum") - mirrored from the request. This is one of 3 identifiers that form the invoice object reference. |
[out] long | *plRequestInvoiceTimestamp | This is a UNIX timestamp defined at the moment of the invoice's infoset generation - mirrored from the request. This is one of 3 identifiers that form the invoice 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 |


  • IHospitalMCDResult
  • GetMCD

IHospitalMCDResult::GetMCD method |  |  | space
Retrieves the main MCD object reference parameters The invoice and MCD object references form an object reference chain (invoice -> mcd) with the MCD 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/ IHospitalMCDResult/GetMCD
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrRequestMCDID: pdRequestMCDDate: plRequestMCDTimestamp: 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 GetMCD( | BSTR DATE long VARIANT_BOOL | *pbstrRequestMCDID, *pdRequestMCDDate, *plRequestMCDTimestamp, *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 | *pbstrRequestMCDID | The request ID is the main software's identification of the MCD ("MCD Fallnummer"). This is one of 3 identifiers that form the MCD object reference. This ID must be identical for the same MCD object reference e.g. in a storno process! |
[out] DATE | *pdRequestMCDDate | The request date is the main software's date of the MCD request ("MCD Datum") This is one of 3 identifiers that form the MCD object reference. This date must be identical for the same MCD object reference e.g. in a storno process! |
[out] long | *plRequestMCDTimestamp | This is a UNIX timestamp defined at the moment of the MCD's infoset generation. This is one of 3 identifiers that form the MCD object reference. The timestamp will be generated once for a certain MCD object reference and thereafter 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 |


  • IHospitalMCDResult
  • GetMedications

IHospitalMCDResult::GetMedications method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all medication record data covered by the IHospitalMCDResult interface and returned as JSON array. Please note that IHospitalMCDResult::GetMedications takes over the functionality of the iterator pair IHospitalMCDResult::GetFirstMedication / IHospitalMCDResult::GetNextMedication with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetMedications
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result array] | { pbstrATCCode: pbstrAnnex: pbstrApplication: pdDose: pbstrUnit: pbstrCatalog: pbstrRemark: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", doubleValue, "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 | *pbstrATCCode | The used ATC code that basically defines the medication set |
[out] BSTR | *pbstrAnnex | An optional, coded supplementary information basically coding a drug, a galenic preparation and the like |
[out] BSTR | *pbstrApplication | The coded route of application/administration of the drug |
[out] double | *pdDose | The dosage value of the applied active substance |
[out] BSTR | *pbstrUnit | The dosage unit of the applied active substance |
[out] BSTR | *pbstrCatalog | The used catalog that lists the medication data e.g. "swissDRG V6.0" |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetNextDiagnosis

IHospitalMCDResult::GetNextDiagnosis method |  |  | space
Retrieves the next diagnosis from the list of diagnoses. VARIANT_FALSE is returned if the end of the diagnosis list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetNextDiagnosis
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrCode: pbstrText: pbstrCatalog: pbstrRemark: 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 GetNextDiagnosis( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrCode, *pbstrText, *pbstrCatalog, *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 | *pbstrCode | The code of the diagnosis as defined in the diagnoses catalog. |
[out] BSTR | *pbstrText | The textual description of the diagnosis as given in the diagnoses catalog. |
[out] BSTR | *pbstrCatalog | The used catalog that lists the diagnosis e.g. "ICD-10-GM 2009" |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetNextDocument

IHospitalMCDResult::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/ IHospitalMCDResult/GetNextDocument
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | peIsURL: pbstrSource: pbstrTitle: pbstrMimeType: pbStatus: | longValue, "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( | YesNoType BSTR BSTR BSTR VARIANT_BOOL | *peIsURL, *pbstrSource, *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] YesNoType | *peIsURL | Boolean that defines if the document is added online using a URL (enYes) or inline as Base64 coded stream (enNo). |
[out] BSTR | *pbstrSource | If eIsURL = enYes then bstrSource is a URL for accessing the file online. If eIsURL = enNo then bstrSource 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: pbstrSource 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. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetNextGrouperRecord

IHospitalMCDResult::GetNextGrouperRecord method |  |  | space
Retrieves the next Grouper record from the list of Grouper records. VARIANT_FALSE is returned if the end of the Grouper record list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetNextGrouperRecord
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | peGrouperRecordType: plNumber: pbstrName: 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 GetNextGrouperRecord( | GrouperRecordType long BSTR VARIANT_BOOL | *peGrouperRecordType, *plNumber, *pbstrName, *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] GrouperRecordType | *peGrouperRecordType | The type of Grouper record for which the number=name pair is supplied. |
[out] long | *plNumber | The number part of the number=name pair of a Grouper record. |
[out] BSTR | *pbstrName | The name part of the number=name pair of a Grouper record. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetNextMedication

IHospitalMCDResult::GetNextMedication method |  |  | space
Retrieves the next medication set from the list of medications.. VARIANT_FALSE is returned if the end of the medication list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetNextMedication
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrATCCode: pbstrAnnex: pbstrApplication: pdDose: pbstrUnit: pbstrCatalog: pbstrRemark: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", doubleValue, "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 GetNextMedication( | BSTR BSTR BSTR double BSTR BSTR BSTR VARIANT_BOOL | *pbstrATCCode, *pbstrAnnex, *pbstrApplication, *pdDose, *pbstrUnit, *pbstrCatalog, *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 | *pbstrATCCode | The used ATC code that basically defines the medication set |
[out] BSTR | *pbstrAnnex | An optional, coded supplementary information basically coding a drug, a galenic preparation and the like |
[out] BSTR | *pbstrApplication | The coded route of application/administration of the drug |
[out] double | *pdDose | The dosage value of the applied active substance |
[out] BSTR | *pbstrUnit | The dosage unit of the applied active substance |
[out] BSTR | *pbstrCatalog | The used catalog that lists the medication data e.g. "swissDRG V6.0" |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetNextProcedure

IHospitalMCDResult::GetNextProcedure method |  |  | space
Retrieves the next procedure from the list of procedures. VARIANT_FALSE is returned if the end of the procedure list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetNextProcedure
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrCode: pbstrText: pbstrCatalog: peSideType: pdDate: pbstrRemark: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue, "stringISODateValue", "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 GetNextProcedure( | BSTR BSTR BSTR SideType DATE BSTR VARIANT_BOOL | *pbstrCode, *pbstrText, *pbstrCatalog, *peSideType, *pdDate, *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 | *pbstrCode | The code of the procedure as defined in the procedures catalog. |
[out] BSTR | *pbstrText | The textual description of the procedure as given in the procedures catalog. |
[out] BSTR | *pbstrCatalog | The used catalog that lists the procedures e.g. "CHOP 11" |
[out] SideType | *peSideType | The side dependency of the applied procedure |
[out] DATE | *pdDate | The date when the procedure was applied. |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetPackage

IHospitalMCDResult::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/ IHospitalMCDResult/GetPackage
[JSON input data] | pIHospitalMCDResult: | 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 |


  • IHospitalMCDResult
  • GetPatient

IHospitalMCDResult::GetPatient method |  |  | space
Retrieves the primary parameters (sex, birth date) of the patient. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetPatient
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | peSexType: pdBirthdate: pbStatus: | longValue, "stringISODateValue", 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 VARIANT_BOOL | *peSexType, *pdBirthdate, *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,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 |


  • IHospitalMCDResult
  • GetProcedures

IHospitalMCDResult::GetProcedures method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all procedure record data covered by the IHospitalMCDResult interface and returned as JSON array. Please note that IHospitalMCDResult::GetProcedures takes over the functionality of the iterator pair IHospitalMCDResult::GetFirstProcedure / IHospitalMCDResult::GetNextProcedure with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IHospitalMCDResult/GetProcedures
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result array] | { pbstrCode: pbstrText: pbstrCatalog: peSideType: pdDate: pbstrRemark: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue, "stringISODateValue", "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 | *pbstrCode | The code of the procedure as defined in the procedures catalog. |
[out] BSTR | *pbstrText | The textual description of the procedure as given in the procedures catalog. |
[out] BSTR | *pbstrCatalog | The used catalog that lists the procedures e.g. "CHOP 11" |
[out] SideType | *peSideType | The side dependency of the applied procedure |
[out] DATE | *pdDate | The date when the procedure was applied. |
[out] BSTR | *pbstrRemark | The optional remark |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IHospitalMCDResult
  • GetProvider

IHospitalMCDResult::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/ IHospitalMCDResult/GetProvider
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrGLN: 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 | *pbstrGLN, *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 | *pbstrGLN | The GLN 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 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 |


  • IHospitalMCDResult
  • GetRequest

IHospitalMCDResult::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/ IHospitalMCDResult/GetRequest
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | peDataLanguage: peIsStorno: peIsCopy: peIsConfidential: 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 YesNoType BSTR VARIANT_BOOL | *peDataLanguage, *peIsStorno, *peIsCopy, *peIsConfidential, *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 | 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
[out] YesNoType | *peIsStorno | Boolean flag that defines the "storno" status of the MCD |
[out] YesNoType | *peIsCopy | Boolean flag that defines the "copy" status of the MCD |
[out] YesNoType | *peIsConfidential | Boolean flag that defines the confidentiality status of a MCD when addressed and transmitted to a consulting physician (CE) at the insurance's site in accordance with Article 42 (5) of the Swiss Federal Act on Health Insurance (KVG). By using the flag in the aforementioned case, the health provider declares that all medical information must be seen and used exclusively by the CE. Therefore, the case qualifies according to Article 42 (5) KVG. |
[out] BSTR | *pbstrRemark | An overall optional remark for MCD |
[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 |


  • IHospitalMCDResult
  • GetTransport

IHospitalMCDResult::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 and referenced by GLN 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/ IHospitalMCDResult/GetTransport
[JSON input data] | pIHospitalMCDResult: | longValue, //interface address
[JSON result data] | pbstrFromGLN: pbstrFromPFXFile: pbstrFromPFXPassword: pbstrViaGLN: pbstrToGLN: 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 | *pbstrFromGLN, *pbstrFromPFXFile, *pbstrFromPFXPassword, *pbstrViaGLN, *pbstrToGLN, *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 | *pbstrFromGLN | The GLN 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 | *pbstrViaGLN | The GLN of the first intermediate as supplied by Stiftung Refdata |
[out] BSTR | *pbstrToGLN | The GLN 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 |


  • IHospitalMCDResult
  • GetTreatment

IHospitalMCDResult::GetTreatment method | space
Retrieves the basic treatment parameters.
space
Restful webservice calling syntax
[POST] | /baseURL/ IHospitalMCDResult/GetTreatment
[JSON input data] pIHospitalMCDResult: longValue, //interface address
[JSON result data] pbstrACID:
pdDateBegin:
pdDateEnd:
plTreatmentDays:
peDoCostAssessment:
pbStatus: 		"utf8StringValue",
"stringISODateValue",
"stringISODateValue",
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( BSTR
DATE
DATE
long
YesNoType
VARIANT_BOOL 		*pbstrACID,
*pdDateBegin,
*pdDateEnd,
*plTreatmentDays,
*peDoCostAssessment,
*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 | *pbstrACID | The optional Administrative Case IDentification.
[out] DATE | *pdDateBegin | Start date of the treatment copied from the corresponding invoice
[out] DATE | *pdDateEnd | End date of the treatment copied from the corresponding invoice
[out] long *plTreatmentDays Number of days of treatment within the given treatment period.

The calculation of these treatment days is dependent on whether SwissDRG is used nor not!
The treatment days are calculated as

  • None-SwissDRG: «(treatment@date_end - treatment@date_begin + 1 - vacation_days)»
  • SwissDRG: «(treatment@date_end - treatment@date_begin - vacation_days)»
where vacation_days is the number of vacation days (the leave days when the patient was not in the hospital for treatment).
Note, that treatment_days is identical to the "length of stay" notion of a DRG service position (either APDRG or SwissDRG)
[out] YesNoType | *peDoCostAssessment | The Boolean eDoCostAssessment indicates that another insurance might be responsible for a part of the costs. As a consequence of setting this attribute, the addressed insurance starts an internal assessment about a possible cost splitting.
[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


  • IHospitalMCDResult
  • DestructHospitalMCDResult

IHospitalMCDResult::DestructHospitalMCDResult property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IHospitalMCDResult interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IHospitalMCDResult/PutDestructHospitalMCDResult
[JSON input data] | pIHospitalMCDResult: | 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.52/13 Sep 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 |  | 17 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 |
[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. |
[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. |
[enumeration] GrouperRecordType | Enumerates the defined types of Grouper records that must be supplied to get a standard compliant XML infoset. |
[builtin] HRESULT | The HRESULT data type is a 32-bit value that is used to describe an error or warning. |
[builtin] IAddress | IAddress interface object. |
[builtin] IHospitalMCDRequest | IHospitalMCDRequest interface object. |
[builtin] IHospitalMCDResult | IHospitalMCDResult interface object. |
[enumeration] LanguageType | Enumerates all supported languages. |
[builtin] long | A 4-byte integer value. |
[enumeration] ModusType | Enumerates the defined operation modus types |
[enumeration] SexType | Enumerates the defined basic gender types. |
[enumeration] SideType | Enumerates the defined body side 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
  • 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
  • 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 |  | 5 elements
enGenerateXMLWithoutDocuments: 65536 | The XML infoset is generated without any documents even if such documents have been added in the IHospitalMCDRequest::AddDocument method. |
enGenerateXMLWithoutSignature: 131072 | The XML infoset is generated without applying a signature even if the signature parameters have been set in the IHospitalMCDRequest::SetTransport method. |
enGenerateXMLWithoutEncryption: 262144 | The XML infoset is generated without applying encryption even if the encryption parameters have been set in the IHospitalMCDRequest::SetTransport method. |
enGenerateDowngradeToV450: 2097152 | The XML infoset or print output of type hospitalMCDRequest450 is generated (downgraded) instead of the standard type hospitalMCDRequest451. This explicitly implies that any data unusable for the downgraded standard is silently discarded. |
enGenerateDowngradeToV451: 4194304 | The XML infoset or print output of type hospitalMCDRequest451 is generated (downgraded) instead of the standard type hospitalMCDRequest452. This explicitly implies that any data unusable for the downgraded standard is silently discarded. |
space


  • Type definitions
  • GrouperRecordType

GrouperRecordType enumeration type |  |
Enumerates the defined types of Grouper records that must be supplied to get a standard compliant XML infoset. |  | space
space
Set of enumeration values |  | 3 elements
enGrouperAdmissionType: 1 | This Grouper record type defines the relevant admission mode |
enGrouperDischargeType: 2 | This Grouper record type defines the relevant discharge/separation mode |
enGrouperProviderType: 3 | This Grouper record type defines the relevant care provider |
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 |
IAddress interface object. | space
space
space


  • Type definitions
  • IHospitalMCDRequest

IHospitalMCDRequest type |
IHospitalMCDRequest interface object. | space
space
space


  • Type definitions
  • IHospitalMCDResult

IHospitalMCDResult type |
IHospitalMCDResult interface object. | space
space
space


  • Type definitions
  • LanguageType

LanguageType enumeration type |  |
Enumerates all supported languages. |  | space
space
Set of enumeration values |  | 3 elements
enGerman: 1 | German |
enFrench: 2 | French. |
enItalian: 3 | Italian |
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
  • SexType

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


  • Type definitions
  • SideType

SideType enumeration type |  |
Enumerates the defined body side types. |  | space
space
Set of enumeration values |  | 4 elements
enSideNone: 0 | No body side dependency available |
enSideLeft: 1 | Left body side is affected |
enSideRight: 2 | Right body side is affected |
enSideBoth: 3 | Both body sides are affected |
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. oopProxyHospitalMCDRequestManager452.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.


 Changes from V4.51 to V4.52...

The following list shows how the transition from V4.51 to V4.52 must be made in terms of new, changed, and deleted interface methods a/o arguments.

To ease the spreading towards the new COM module even if the readiness at intermediates and insurances is yet unknown, this new version natively can load, print and generate the V4.52 as well as its predecessors, namely V4.51 and V4.50. So the implementation can be done now and the activation of the V4.52 standard afterwards!

IHospitalMCDRequestManager
changed: The IHospitalMCDRequestManager::LoadXML(...) method can natively load XML infosets of type hospitalMCDRequest_452.xsd as well as its predecessors hospitalMCDRequest_451.xsd and hospitalMCDRequest_450.xsd.
changed: The IHospitalMCDRequestManager::GetXML(...) method can natively generate XML infosets of type hospitalMCDRequest_452.xsd as well as its predecessors hospitalMCDRequest_451.xsd and hospitalMCDRequest_450.xsd.
changed: The IHospitalMCDRequestManager::Print(...) method can natively print requests of type hospitalMCDRequest_452.xsd as well as its predecessors hospitalMCDRequest_451.xsd and hospitalMCDRequest_450.xsd.
IHospitalMCDRequest
new: The enumerator space of the SexType type was augmented by the 'enUnknown' value.
This change became mandatory because the data space of the SwissDRG Grouper experienced exactly this transition. The gender info is defined by the IHospitalMCDRequest::SetPatient(SexType eSexType,...) method.
new: The gestational age of a neonate or baby up to an age of 1 year must newly be supplied by the IHospitalMCDRequest::SetGrouperData(...,double dGestationalAge,...) method. This change became mandatory because the data space of the SwissDRG Grouper experienced exactly this transition.
A value of 0.0 is defined for patients with a higher age than 1 year.
IHospitalMCDResult
new: The enumerator space of the SexType type was augmented by the 'enUnknown' value.
This change became mandatory because the data space of the SwissDRG Grouper experienced exactly this transition. The gender info is returned by the IHospitalMCDResult::GetPatient(SexType *peSexType,...) methode.
new: The gestational age of a neonate or baby up to an age of 1 year is returned by the IHospitalMCDResult::GetGrouperData(...,double *pdGestationalAge,...) method. This change became mandatory because the data space of the SwissDRG Grouper experienced exactly this transition.
A value of 0.0 is returned for patients with a higher age than 1 year.
IAddress
no changes


 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 hospitalMCDRequest module does obey all these conditions whenever encryption is "turned on" by setting a public certificate of the "toEAN" entity (cf. IHospitalMCDRequest::SetTransport). This certificate must be in the format "binary DER".

Where do I get this certificate?
The MCD request/response system is self-contained insofar as the hospitalMCDResponse module (or any other V4.3 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 MCD (or all other V4.3) request XML infosets!


 VB code snippet for using the hospitalMCDRequestManager

Private Sub Create_Click()

On Error GoTo Err_Trap

Dim bStatus As Boolean
Dim strAbortInfo As String

'### HospitalMCDRequestManager interface
Dim hospitalMCDRequestManagerEx As HOSPITALMCDREQUESTMANAGER452Lib.HospitalMCDRequestManager
Set hospitalMCDRequestManagerEx = New HospitalMCDRequestManager

hospitalMCDRequestManagerEx.Modus = enDebug
hospitalMCDRequestManagerEx.ModuleLanguage = enEnglish

'### HospitalMCDRequest interface
Dim hospitalMCDRequestEx As HOSPITALMCDREQUESTMANAGER452Lib.HospitalMCDRequest
Set hospitalMCDRequestEx = hospitalMCDRequestManagerEx.HospitalMCDRequest

'### Initialize before starting
bStatus = hospitalMCDRequestEx.Initialize(enGerman)

bStatus = hospitalMCDRequestEx.SetRequest(enNo, enNo, "")

'### set the transport, this is just an example
bStatus = hospitalMCDRequestEx.SetTransport("7600123456789", "", "", "7600001234567",  _
                                            "7600000012345", "")

'### set invoice and mcd, this is only a test
Dim dInvoiceDate As Date
dInvoiceDate = Now
Dim lInvoiceTimestamp As Long
lInvoiceTimestamp = 0 ' 1970-01-01
bStatus = hospitalMCDRequestEx.SetInvoice("INVOICE_ID", dInvoiceDate, lInvoiceTimestamp)

Dim dRequestMCDDate As Date
dRequestMCDDate = Now
Dim lRequestMCDTimestamp As Long
lRequestMCDTimestamp = 0 ' 1970-01-01
bStatus = hospitalMCDRequestEx.SetMCD("MCD_ID", dRequestMCDDate, lRequestMCDTimestamp)

'###
Dim IAddress As HOSPITALMCDREQUESTMANAGER452Lib.Address
Set IAddress = hospitalMCDRequestEx.CreateAddress

'### set biller
bStatus = IAddress.SetCompany("Biller AG", "Abteilung Inkasso", "")
bStatus = IAddress.SetPostal("Billerweg 128", "", "4410", "Liestal", "BL", "CH")
bStatus = hospitalMCDRequestEx.SetBiller("7634567890111", "H121111", "", "", IAddress)

'### set provider
IAddress.Initialize
bStatus = IAddress.SetCompany("Spital im Park", "Abteilung Neurologie", "")
bStatus = IAddress.SetPostal("Spitalgasse 17b6", "", "4000", "Basel", "BS", "CH")
bStatus = hospitalMCDRequestEx.SetProvider("7634567890111", "P123456", "", "FMH Innere Medizin", _
                                           IAddress)

'### set insurance
IAddress.Initialize
bStatus = IAddress.SetCompany("Unfallkasse AG", "Bereich Nord", "")
bStatus = IAddress.SetPostal("Kassengraben 222", "Postfach 2222", "4000", "Basel", "BS", "CH")
bStatus = hospitalMCDRequestEx.SetInsurance("2034567890222", IAddress)

'### set patient
bStatus = hospitalMCDRequestEx.SetPatient(enMale, DateValue("1940-01-01"))

'### set the treatment data
bStatus = hospitalMCDRequestEx.SetTreatment("someCaseID",DateValue("2017-07-04"), _
                                            DateValue("2017-08-03"),31)

'### set the grouper data
bStatus = hospitalMCDRequestEx.SetGrouperData(68.5, 0, "swissDRG 6.0")

'### set the grouper records
bStatus = hospitalMCDRequestEx.AddGrouperRecord(enGrouperAdmissionType, 0, "normal")
bStatus = hospitalMCDRequestEx.AddGrouperRecord(enGrouperDischargeType, 0, "normal")
bStatus = hospitalMCDRequestEx.AddGrouperRecord(enGrouperProviderType, 0, "Akutspital")

'### add a diagnosis
bStatus = hospitalMCDRequestEx.AddDiagnosis(drgID,"Q75.0","Dysotosis craniofacialis","ICD10-2016","")

'### add a procedure
bStatus = hospitalMCDRequestEx.AddProcedure(drgID, "Z01.24", "Sonstigte Kraniotomie", "CHOP9-2016",  _
                                            enSideLeft, DateValue("2017-07-20"), "")

'### Finalize
bStatus = hospitalMCDRequestEx.Finalize()

'### write eveything to a file
Dim strTmpFile As String
Dim lValidationError As Long
Dim lTimestamp As Long
Dim lXMLGenerationAttributes As Long
lXMLGenerationAttributes = 1
Dim hospitalMCDResultEx As HospitalMCDResult
bStatus = hospitalMCDRequestManagerEx.GetXML(lXMLGenerationAttributes, strTmpFile, lValidationError,  _
                                             lTimestamp, hospitalMCDResultEx)
If Not bStatus Then
    GoTo Abort
End If
Dim lPrintTimestamp As Long

'### print preview
'### set receiver address
IAddress.Initialize
bStatus = IAddress.SetCompany("Some Company", "A department", "")
bStatus = IAddress.SetPostal("XY-Strasse 17b6", "", "4000", "Basel", "BS", "CH")

bStatus = hospitalMCDRequestManagerEx.Print("", enYes, enYes, "senderID", IAddress, lPrintTimestamp,  _
                                            hospitalMCDResultEx)

'### release resources
Set IAddress = Nothing
Set hospitalMCDResultEx = Nothing
Set hospitalMCDRequestEx = Nothing
Set hospitalMCDRequestManagerEx = Nothing

Exit Sub

Err_Trap:
    MsgBox "Error: " & Err.Description, vbCritical, _
           "Opps! Error" & Str$(Err.Number)
Abort:
Set IAddress = Nothing
Set hospitalMCDResultEx = Nothing
Set hospitalMCDRequestEx = Nothing
Set hospitalMCDRequestManagerEx = Nothing

End Sub


 General use of the hospitalMCDRequest ATL COM module

The HospitalMCDRequestManager is an ATL COM module which provides methods to generate a Minimal Clinical Dataset (MCD) that basically defines the required input to a DRG grouper.

The MCD is printed or a XML infoset is produced which can be electronically transported to the recipient. In the latter case the MCD optionally can be signed and/or encrypted.

To produce such an infoset, firstly an instance of the IHospitalMCDRequest interface is retrieved by the property IHospitalMCDRequestManager::GetHospitalMCDRequest. Thereafter the relevant DRG, all diagnosis and procedures are set The transport/routing information is set by the IHospitalMCDRequest::SetTransport method.

After all information is set the MCD can be generated and printed according to the standardized MCD form by using the IHospitalMCDRequestManager::Print method. Alternatively, a file with a hospitalMCDRequest XML infoset is generated by the IHospitalMCDRequestManager::GetXML method.

To get a staring point with the hospitalMCDRequest module there is a Visual Basic code snippet provided that can be used for generating/printing a MCD.


 How to generate PDF archive files of a MCD request

To generate PDF archive files of a MCD in the hospitalMCDRequestManager use a special print object name (cf. Syntax of the printTemplate variable for an overview).

(PDF=PDF_file_to_generate;)
or
(PDF_NOPRINT=PDF_file_to_generate;)
is used as a print object name on the printTemplate variable of the Print method.

The "PDF" token means to print the MCD request and generate the PDF files, whereas the "PDF_NOPRINT" token only generates the PDF file without physical printing.
This object definition is only used while printing and is ignored in the preview mode!

In its simplest form this means

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

     IHospitalMCDRequestManager::Print(bstrPrintTemplate,...);
in order to generate a PDF archive file of MCD request.

Since the PDF generation is not the main 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 to 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


 How to print webstamps onto a MCD request

To print a webstamp onto a MCD request in the hospitalMCDRequestManager 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 Print method.

In its simplest form e.g. in the HospitalMCDRequestManager code this means

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

     IHospitalMCDRequestManager::Print(bstrPrintTemplate,...);
in order to print a webstamp onto the first MCD page.

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

Boundary conditions:

  • No error propagation
  • The supplied BMP webstamp must exist


 Syntax of the printTemplate variable of the Print method

bstrPrintTemplate argument of the IHospitalMCDRequestManager::Print is either empty or of the general form given below.

If the bstrPrintTemplate variable is empty then the default print template (using the data language as language switch) is used.
However, bstrPrintTemplate can be used to change the normal printing behavior or changing 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.
  • logTpl: is the logical template name. Currently only logTpl=Detail is allowed.
  • objectName1=text; does a substitution of the content of the print object objectName1 by text. A print object is terminated by a semicolon and all print objects are enclosed in a () pair.

    There are 2 predefined pseudo print objects with a special meaning:

    • PDF for generating PDF files
    • WEBSTAMP for printing electronic stamps

  • printTemplateFile is 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_file 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: (DOCUMENT_TITLE=Alternate title for the MCD;) prints a substituted title as given above.
  • bstrPrintTemplate: detail=C:\myForms\myPrintForm.vps
    uses the print template "C:\myForms\myPrintForm.vps". An optional INI file with the name "C:\myForms\myPrintForm.vpd" is searched under this condition.
  • 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 INI 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 "HospitalMCDRequest" needs 2 object references, namely
  • a mandatory invoice object reference from the "General Invoice Request" process
  • a mandatory mcd object reference from the " HospitalMCDRequest" process
This set of object references by itself defines an ordered object reference chain (e.g. invoice -> mcd) 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 hospitalMCDRequestManagerServer452.exe is a Restful Webservice Server, that has the same interface methods/properties as the COM module hospitalMCDRequestManager452.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 hospitalMCDRequestManagerServer452.exe will be addressed.

Installation, registration and parameterization:
By installing the installer object hospitalMCDRequestManager452 the COM module hospitalMCDRequestManager452.dll as well as the out-of-process proxy component oopHospitalMCDRequestManager452.exe is automatically installed/registered in the system. However, the hospitalMCDRequestManagerServer452.exe must be installed manually as a system service.
hospitalMCDRequestManagerServer452.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.
hospitalMCDRequestManagerServer452.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
hospitalMCDRequestManagerServer452.exe -uninstall | Uninstalls the system service component. Please take into account, that the uninstallation must be performed under administrator privileges
hospitalMCDRequestManagerServer452.exe -setport X | Sets the port X as part of the Webservice Endpoint
Restful Webservice Endpoint:
Installing hospitalMCDRequestManagerServer452.exe as a service activates the Restful Webservice Endpoint:
http://localhost:35350/hospitalMCDRequestManagerServer452
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 /hospitalMCDRequestManager/452/ http://localhost:35350/hospitalMCDRequestManagerServer452/
    ProxyPassReverse /hospitalMCDRequestManager/452/ http://localhost:35350/hospitalMCDRequestManagerServer452/
</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/IHospitalMCDRequestManager/GetCreateHospitalMCDRequestManager | returns the instance address as JSON out{pIHospitalMCDRequestManager: 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/IHospitalMCDRequestManager/PutDestructHospitalMCDRequestManager | with JSON-In{pIHospitalMCDRequestManager: 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 hospitalMCDRequestManagerServer452.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:35350/hospitalMCDRequestManagerServer452/IHospitalMCDRequestManager/GetModuleVersion?pIHospitalMCDRequestManager=45467
        returns JSON-Out{pbstrModuleVersion: "1.00.010"}

    http://localhost:35350/hospitalMCDRequestManagerServer452/IHospitalMCDRequestManager/GetModuleLanguage?pIHospitalMCDRequestManager=45467
        returns JSON-Out{peLanguage: "1"}

    http://localhost:35350/hospitalMCDRequestManagerServer452/IHospitalMCDRequestManager/GetHospitalMCDRequest?pIHospitalMCDRequestManager=45467
        returns JSON-Out{pIHospitalMCDRequest: 5788991}

    http://localhost:35350/hospitalMCDRequestManagerServer452/IHospitalMCDRequest/PutDestructHospitalMCDRequest
        JSON-IN(pIHospitalMCDRequest: 5788991}

    http://localhost:35350/hospitalMCDRequestManagerServer452/IHospitalMCDRequestManager/PutDestructHospitalMCDRequestManager
        JSON-IN{pIHospitalMCDRequestManager: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(/mcd:request/mcd: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 hospitalMCDRequest module does obey all these conditions whenever signature is "turned on" by setting the private certificate and password of the "fromEAN" entity (cf. IHospitalMCDRequest::SetTransport). This certificate must be in the PFX format.