 API browser of hospitalMCDResponse450 COM module
Interface version: | 4.50
Interface date: | 2 Sep 2016

The HospitalMCDResponseManager is an ATL COM module which provides methods to load and analyze XML infosets of type hospitalMCDResponse_450 or hospitalMCDResponse_440. These infosets are responses to a previously sent MCD where the topmost object reference defines the target request. The subchapter object reference provides an in-depth description of the concept of "object reference". |  | space
Interfaces |  | 3 interface
IAddress | The utility interface IAddress is available for retrieving structured address data out of the XML response. |
IHospitalMCDResponse | The interface IHospitalMCDResponse allows to read back all data that have been loaded with the IHospitalMCDResponseManager::LoadXML method. |
IHospitalMCDResponseManager | The main interface IHospitalMCDResponseManager -creatable in its own right- allows to load and analyze a XML infoset of type hospitalMCDResponse_450 or hospitalMCDResponse_440. |
Types |  |
type definitions | List of all used builtin, composite and enumeration types |
Important information about the usage and handling of the module |  |
Document | General usage of the hospitalMCDResponse450 COM module - an overview |
Document | Overview of changes when moving from hospitalMCDResponse440 to hospitalMCDResponse450 |
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 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 MCDResponse |
Document | VB code snippet for using the hospitalMCDResponse450 COM module |

© by sumex1.net - all rights reserved


  • hospitalMCDResponse450
  • IAddress

IAddress interface |  | V4.50/ 2 Sep 2016
With the IAddress interface structured address data can be retrieved once loaded with the IHospitalMCDResponseManager:LoadXML method. The different structured parts of an address like the naming and postal address parts or online information like phone, fax, email and the like are retrieved by calling the appropriate methods e.g. GetPerson or GetPostal. Since there are 2 different address types -an address for a natural person and the address of a legal person- the GetType property can be consulted to retrieve the type. |  | space
Methods |  | 15 methods
AddPhone | Adds a structured phone number |
GetAbortInfo | Gets 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 |
GetPostal | Retrieves the structured postal address part of the address. |
Initialize | Initializes all 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 |
Properties |  | 1 properties
[get] Type | GetType returns the type of address either enAddressPerson or enAddressCompany if an address is defined at all |


  • IAddress
  • AddPhone

IAddress::AddPhone method |  |  |
Adds a structured phone 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
C/C++ calling syntax |  |  |
HRESULT AddPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrNumber, bstrLocalCode, bstrInternationalCode, bstrExt, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • GetAbortInfo

IAddress::GetAbortInfo method |  |  |
Gets 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 this primarily called method is not an iterator (GetFirst/GetNext methods). In the later case VARIANT_FALSE signals the end of data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • GetCompany

IAddress::GetCompany method |  |  |
Retrieves the company's naming part of the address. Call the property GetType first to test if GetPerson or GetCompany should be called. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetCompany( | BSTR BSTR BSTR VARIANT_BOOL | *pbstrCompanyName, *pbstrDepartment, *pbstrSubaddressing, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • GetFax

IAddress::GetFax method |  |  |
Retrieves the structured fax number. Empty variables are returned if there is no fax number available. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFax( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • GetFirstPhone

IAddress::GetFirstPhone method |  |  |
Retrieves the first phone number information. VARIANT_FALSE is returned if the end of the phone list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *pbStatus); |
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 |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • GetNextPhone

IAddress::GetNextPhone method |  |  |
Retrieves the next phone number information. VARIANT_FALSE is returned if the end of the phone list is reached |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *pbStatus); |
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 |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • GetOnline

IAddress::GetOnline method |  |  |
Retrieves the structured online part of the address. Empty variables are returned if there are no online information available. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetOnline( | BSTR BSTR VARIANT_BOOL | *pbstrEMail, *pbstrUrl, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • GetPerson

IAddress::GetPerson method |  |  |
Retrieves the person's naming part of the address. Call the property GetType first to test if GetPerson or GetCompany should be called. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetPerson( | BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrFamilyname, *pbstrGivenname, *pbstrSalutation, *pbstrTitle, *pbstrSubaddressing, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • GetPostal

IAddress::GetPostal method |  |  |
Retrieves the structured postal address part of the address. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetPostal( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrStreet, *pbstrPoBox, *pbstrZip, *pbstrCity, *pbstrStateCode, *pbstrCountryCode, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • Initialize

IAddress::Initialize method |  |  |
Initializes all address variables. This method should be called before new data is supplied to reset all internally stored data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT Initialize( | VARIANT_BOOL | *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • SetCompany

IAddress::SetCompany method |  |  |
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
C/C++ calling syntax |  |  |
HRESULT SetCompany( | BSTR BSTR BSTR VARIANT_BOOL | bstrCompanyName, bstrDepartment, bstrSubaddressing, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • SetFax

IAddress::SetFax method |  |  |
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
C/C++ calling syntax |  |  |
HRESULT SetFax( | BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrNumber, bstrLocalCode, bstrInternationalCode, bstrExt, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • SetOnline

IAddress::SetOnline method |  |  |
Sets the structured online part of the address. |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetOnline( | BSTR BSTR VARIANT_BOOL | bstrEMail, bstrUrl, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • SetPerson

IAddress::SetPerson method |  |  |
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
C/C++ calling syntax |  |  |
HRESULT SetPerson( | BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrFamilyname, bstrGivenname, bstrSalutation, bstrTitle, bstrSubaddressing, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • SetPostal

IAddress::SetPostal method |  |  |
Sets the structured postal address part. The Swiss ISO county code is the default but is filtered in the printing. |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetPostal( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrStreet, bstrPoBox, bstrZip, bstrCity, bstrStateCode, bstrCountryCode, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IAddress
  • Type

IAddress::Type property
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
C/C++ calling syntax
[get] HRESULT | Type( AddressType *aAddressType);
space
Calling argument description
[out, retval] AddressType | *aAddressType
C/C++ return value
S_OK | This value is returned if the function call was successful.
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.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • AddressType *GetType(void);
space


  • IHospitalMCDResponse

IHospitalMCDResponse interface |  | V4.50/ 2 Sep 2016
The IHospitalMCDResponse interface allows to read back all data that have been loaded with the IHospitalMCDResponseManager::LoadXML method. |  | space
Methods |  | 20 methods
GetAbortInfo | Gets the abort information string with the error coded in the module language |
GetAcceptType | Retrieves detailed information for a response of type Accepted |
GetBiller | Retrieves the biller's EAN of the initial request |
GetContact | Retrieves the structured address and EAN of the main contact |
GetFirstDocument | Retrieves the first document from the list of documents |
GetFirstNotification | Retrieves the first notification object |
GetGenerator | Retrieves the identification parameters of the sender's XML infoset generator software |
GetInsurance | Retrieves the insurance's EAN of the initial request |
GetInvoice | Retrieves the invoice object reference parameters for which the MCD is produced |
GetMCD | Retrieves the MCD object reference parameters |
GetNextDocument | Retrieves the next document from the list of documents |
GetNextNotification | Retrieves the next notification object |
GetPackage | Retrieves the identification parameters of the sender's main software |
GetPatient | Retrieves the primary parameters of the patient - these data are mirrored from the request |
GetPendingType | Retrieves detailed information for a response of type Pending |
GetProvider | Retrieves the provider's EAN of the initial request |
GetRejectType | Retrieves detailed information for a response of type Rejected |
GetResponse | Returns the primary parameters of the response infoset, namely the operation modus, the language the infoset is formulated, and most important the type of the response |
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 optional ACID parameter |
Properties |  | 0 properties


  • IHospitalMCDResponse
  • GetAbortInfo

IHospitalMCDResponse::GetAbortInfo method |  |  |
Gets 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 this primarily called method is not an iterator (GetFirst/GetNext methods). In the later case VARIANT_FALSE signals the end of data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetAcceptType

IHospitalMCDResponse::GetAcceptType method |  |  |
Retrieves detailed information for a response of type Accepted. Call this method if the GetResponse method returns the type enResponseAccepted. Calling the iterator pair GetFirstNotification / GetNextNotification is unnecessary as there are no notifications and VARIANT_FALSE would be returned. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetAcceptType( | BSTR StatusType StatusType VARIANT_BOOL | *pbstrExplanation, *peStatusIn, *peStatusOut, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrExplanation | An optional explanation. The explanation is formulated in the data language returned by the GetResponse method |
[out] StatusType | *peStatusIn | The status of the MCD request (given by the MCD object reference) before this response was generated |
[out] StatusType | *peStatusOut | The status of the MCD request (given by the MCD object reference) after this response was generated |
[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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetBiller

IHospitalMCDResponse::GetBiller method |  |  |
Retrieves the biller's EAN of the initial request. Note that this is only a safety measure for a crosscheck. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetBiller( | BSTR VARIANT_BOOL | *pbstrEAN, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The EAN number of the biller of the initial request as supplied by Stiftung Refdata |
[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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetContact

IHospitalMCDResponse::GetContact method |  |  |
Retrieves the structured address and EAN of the main contact. The structured address data is read via the methods of the returned IAddress interface instance. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetContact( | BSTR IAddress VARIANT_BOOL | *pbstrEAN, **ppIAddress, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The EAN number of the contact as supplied by Stiftung Refdata |
[out] IAddress | **ppIAddress | The ppIAddress is an IAddress interface handle for the primary contact address. The interface handle allows to get the structured address data back. The address is either one of a person, a company, or an employee of an company. In the latter case the employee's full name is coded into the subaddressing field. 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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetFirstDocument

IHospitalMCDResponse::GetFirstDocument method
Retrieves the first document from the list of documents.

VARIANT_FALSE is returned if the end of the document list is reached.

space
C/C++ calling syntax
HRESULT GetFirstDocument( BSTR
BSTR
BSTR
VARIANT_BOOL 		*pbstrFile,
*pbstrTitle,
*pbstrMimeType,
*pbStatus);
Calling argument description
[out] BSTR *pbstrFile *pbstrFile supplies the full file name (path + name) of the document in a temporary working directory.
Be sure to copy away the file to a different location as all files in the working directory are deleted before the COM module shuts down!
[out] BSTR | *pbstrTitle | The title of the document on the primary system. It thus describes the document to a certain degree in terms of its semantic content.
[out] BSTR *pbstrMimeType The MIME type of the document.

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

  • application/pdf for PDF files
  • image/jpeg for JPG graphic files
  • image/png for PNG graphic files
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponse
  • GetFirstNotification

IHospitalMCDResponse::GetFirstNotification method |  |  |
Retrieves the first notification object. The notification is casted as message if GetResponse= enResponsePending or is casted as error if GetResponse= enResponseRejected. The GetResponse= enResponseAccepted has no notifications per definition. VARIANT_FALSE is returned if the end of the object list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstNotification( | BSTR BSTR YesNoType long BSTR BSTR VARIANT_BOOL | *pbstrCode, *pbstrText, *peIsAnError, *plRecordID, *pbstrErrorValue, *pbstrValidValue, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrCode | A message or error code dependent on the notification type. Note that this code is defined by the "fromEAN" entity and is not standardized. |
[out] BSTR | *pbstrText | A message or error text dependent on the notification type. Note that this text is defined by the "fromEAN" entity and is not standardized. |
[out] YesNoType | *peIsAnError | A Boolean that defines if it is an error or a message. In the latter case bstrErrorValue and bstrValidValue are empty and lRecordID is set to 0. |
[out] long | *plRecordID | A record sequence number from the request uniquely identifying the target service record. If eIsAnError=enYes or the error is not related to a service record lRecordID is 0. |
[out] BSTR | *pbstrErrorValue | The erroneous/incorrect value if the notification is casted as error (eIsAnError=enYes) otherwise 0 |
[out] BSTR | *pbstrValidValue | The valid/correct value if the notification is casted as error (eIsAnError=enYes) otherwise 0 |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetGenerator

IHospitalMCDResponse::GetGenerator method |  |  |
Retrieves the identification parameters of the sender's XML infoset generator software. This information primarily serves as source of responsibility in cases of technical problems with the underlying XML infoset. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetGenerator( | BSTR long long BSTR VARIANT_BOOL | *pbstrSoftwarePackage, *plSoftwareVersion, *plSoftwareID, *pbstrSoftwareCopyright, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrSoftwarePackage | Name of the sender's XML infoset generator software |
[out] long | *plSoftwareVersion | Version of the sender's XML infoset generator software coded as 32-bit value where lSoftwareVersion = 100*Major version + Minor version. |
[out] long | *plSoftwareID | Optional ID of the sender's XML infoset generator software |
[out] BSTR | *pbstrSoftwareCopyright | The copyright notice of the sender's XML infoset generator software |
[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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetInsurance

IHospitalMCDResponse::GetInsurance method |  |  |
Retrieves the insurance's EAN of the initial request. Note that this is only a safety measure for a crosscheck. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetInsurance( | BSTR VARIANT_BOOL | *pbstrEAN, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The EAN number of the sender as supplied by Stiftung Refdata |
[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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetInvoice

IHospitalMCDResponse::GetInvoice method |  |  |
Retrieves the invoice object reference parameters for which the MCD is produced. In fact this object reference is mirrored from the corresponding MCD request 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
C/C++ calling syntax |  |  |
HRESULT GetInvoice( | BSTR DATE long VARIANT_BOOL | *pbstrRequestInvoiceID, *pdRequestInvoiceDate, *plRequestInvoiceTimestamp, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetMCD

IHospitalMCDResponse::GetMCD method |  |  |
Retrieves the MCD object reference parameters. In fact this object reference is mirrored from the corresponding MCD request 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
C/C++ calling syntax |  |  |
HRESULT GetMCD( | BSTR DATE long VARIANT_BOOL | *pbstrRequestMCDID, *pdRequestMCDDate, *plRequestMCDTimestamp, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrRequestMCDID | The request ID is the main software's identification of the MCD ("MCD Fallnummer") - mirrored from the request. This is one of 3 identifiers that form the MCD object reference. |
[out] DATE | *pdRequestMCDDate | The request date is the main software's date of the MCD request ("MCD Datum") - mirrored from the request. This is one of 3 identifiers that form the MCD object reference. |
[out] long | *plRequestMCDTimestamp | This is a UNIX timestamp defined at the moment of the MCD's infoset generation - mirrored from the request. This is one of 3 identifiers that form the MCD 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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetNextDocument

IHospitalMCDResponse::GetNextDocument method
Retrieves the next document from the list of documents.

VARIANT_FALSE is returned if the end of the document list is reached.

space
C/C++ calling syntax
HRESULT GetNextDocument( BSTR
BSTR
BSTR
VARIANT_BOOL 		*pbstrFile,
*pbstrTitle,
*pbstrMimeType,
*pbStatus);
Calling argument description
[out] BSTR *pbstrFile *pbstrFile supplies the full file name (path + name) of the document in a temporary working directory.
Be sure to copy away the file to a different location as all files in the working directory are deleted before the COM module shuts down!
[out] BSTR | *pbstrTitle | The title of the document on the primary system. It thus describes the document to a certain degree in terms of its semantic content.
[out] BSTR *pbstrMimeType The MIME type of the document.

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

  • application/pdf for PDF files
  • image/jpeg for JPG graphic files
  • image/png for PNG graphic files
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponse
  • GetNextNotification

IHospitalMCDResponse::GetNextNotification method |  |  |
Retrieves the next notification object. The notification is casted as message if GetResponse= enResponsePending or is casted as error if GetResponse= enResponseRejected. The GetResponse= enResponseAccepted has no notifications per definition. VARIANT_FALSE is returned if the end of the object list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextNotification( | BSTR BSTR YesNoType long BSTR BSTR VARIANT_BOOL | *pbstrCode, *pbstrText, *peIsAnError, *plRecordID, *pbstrErrorValue, *pbstrValidValue, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrCode | A message or error code dependent on the notification type. Note that this code is defined by the "fromEAN" entity and is not standardized. |
[out] BSTR | *pbstrText | A message or error text dependent on the notification type. Note that this text is defined by the "fromEAN" entity and is not standardized. |
[out] YesNoType | *peIsAnError | A Boolean that defines if it is an error or a message. In the latter case bstrErrorValue and bstrValidValue are empty and lRecordID is set to 0. |
[out] long | *plRecordID | A record sequence number from the request uniquely identifying the target service record. If eIsAnError=enYes or the error is not related to a service record lRecordID is 0. |
[out] BSTR | *pbstrErrorValue | The erroneous/incorrect value if the notification is casted as error (eIsAnError=enYes) otherwise 0 |
[out] BSTR | *pbstrValidValue | The valid/correct value if the notification is casted as error (eIsAnError=enYes) otherwise 0 |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetPackage

IHospitalMCDResponse::GetPackage method |  |  |
Retrieves the identification parameters of the sender's main software. Since the package information is optionally VARIANT_FALSE is returned if the sender's main software is undefined. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetPackage( | BSTR long long BSTR VARIANT_BOOL | *pbstrSoftwarePackage, *plSoftwareVersion, *plSoftwareID, *pbstrSoftwareCopyright, *pbStatus); |
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 |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetPatient

IHospitalMCDResponse::GetPatient method |  |  |
Retrieves the primary parameters of the patient - these data are mirrored from the request. Note that this is only a safety measure for a crosscheck. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetPatient( | SexType DATE VARIANT_BOOL | *peSexType, *pdBirthdate, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetPendingType

IHospitalMCDResponse::GetPendingType method |  |  |
Retrieves detailed information for a response of type Pending. Call this method if the GetResponse method returns the type enResponsePending. Calling the iterator pair GetFirstNotification / GetNextNotification is only necessary if eHasMessage=enYes. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetPendingType( | BSTR StatusType StatusType YesNoType VARIANT_BOOL | *pbstrExplanation, *peStatusIn, *peStatusOut, *peHasMessage, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrExplanation | An optional explanation. The explanation is formulated in the data language returned by the GetResponse method |
[out] StatusType | *peStatusIn | The status of the invoice/reminder request (given by the topmost object reference) before this response was generated |
[out] StatusType | *peStatusOut | The status of the invoice/reminder request (given by the topmost object reference) after this response was generated |
[out] YesNoType | *peHasMessage | A Boolean that defines if messages are available in which case the iterator pair GetFirstNotification / GetNextNotification should be called. |
[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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetProvider

IHospitalMCDResponse::GetProvider method |  |  |
Retrieves the provider's EAN of the initial request. Note that this is only a safety measure for a crosscheck. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetProvider( | BSTR VARIANT_BOOL | *pbstrEAN, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | The EAN number of the provider of the initial request as supplied by Stiftung Refdata |
[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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetRejectType

IHospitalMCDResponse::GetRejectType method |  |  |
Retrieves detailed information for a response of type Rejected. Call this method if the GetResponse method returns the type enResponseRejected. Calling the iterator pair GetFirstNotification / GetNextNotification is only necessary if eHasError=enYes. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetRejectType( | BSTR StatusType StatusType YesNoType VARIANT_BOOL | *pbstrExplanation, *peStatusIn, *peStatusOut, *peHasError, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrExplanation | An optional explanation. The explanation is formulated in the data language returned by the GetResponse method |
[out] StatusType | *peStatusIn | The status of the invoice/reminder request (given by the topmost object reference) before this response was generated |
[out] StatusType | *peStatusOut | The status of the invoice/reminder request (given by the topmost object reference) after this response was generated |
[out] YesNoType | *peHasError | A Boolean that defines if errors are available in which case the iterator pair GetFirstNotification / GetNextNotification should be called. |
[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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponse
  • GetResponse

IHospitalMCDResponse::GetResponse method
Returns the primary parameters of the response infoset, namely the operation modus, the language the infoset is formulated, and most important the type of the response.

Based on the response type one of the following methods should be called:

GetAcceptType | Per definition this means that the corresponding request is fully accepted and will be processed to a final stage. An optional explanation might be supplied but no messages.
GetPendingType | Per definition this means that the corresponding request can not be processed to a final stage as some data are missing. An optional explanation and [0,n] messages (instructions) are supplied to "unfreeze" the request.
GetRejectType | Per definition this means that the corresponding request is rejected and as a consequence the status of the request goes to the "canceled" state. An optional explanation and [0,n] errors are supplied to justify the decision.
 space
C/C++ calling syntax
HRESULT GetResponse( LanguageType
YesNoType
YesNoType
ResponseType
ModusType
VARIANT_BOOL 		*peDataLanguage,
*peIsStorno,
*peIsCopy,
*peResponseType,
*peModusType,
*pbStatus);
Calling argument description
[out] LanguageType *peDataLanguage The language in which the response is formulated.

Note, that the data language and the module language (given by IHospitalMCDResponseManager::SetModuleLanguage) are independent and can be different!

[out] YesNoType *peIsStorno Boolean value that defines the "storno" status of the sent request.

Note that this is the initial value of the request mirrored in the response

[out] YesNoType *peIsCopy Boolean value that defines the "copy" status of the sent request.

Note that this is the initial value of the request mirrored in the response

[out] ResponseType | *peResponseType | The main response type.
[out] ModusType *peModusType The operation modus.

The default modus is enProduction whereas for developing/debugging purposes enTest has to 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.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponse
  • GetTransport

IHospitalMCDResponse::GetTransport method
Returns the transport information that is the routing information going from a sender (from) over at least one intermediate (via) to the receiver (to). All the involved parties are defined by EAN numbers as defined by Stiftung Refdata.

In fact the meaning and the data is mirrored from the corresponding request thus the initial sender becomes the recipient and the initial recipient becomes the sender. Furthermore the chain of intermediates from the request is reversed and the infoset is sent to the first intermediate of the reversed list. The given intermediate here is therefore the last one before reaching the receiver.

If the parameters for the signature and encryption were set then these data are returned as well otherwise the corresponding variables are empty.

space
C/C++ calling syntax
HRESULT GetTransport( BSTR
BSTR
BSTR
BSTR
VARIANT_BOOL 		*pbstrFromEAN,
*pbstrViaEAN,
*pbstrToEAN,
*pbstrToBinDERFile,
*pbStatus);
Calling argument description
[out] BSTR *pbstrFromEAN The EAN number of the sender as supplied by Stiftung Refdata

Note that this is the initial receiver of the request since the transport information from the request is mirrored in the response

[out] BSTR *pbstrViaEAN The EAN number of the last intermediate as supplied by Stiftung Refdata

Note that this is the initial (first) intermediate of the request since the transport information from the request is mirrored in the response

[out] BSTR *pbstrToEAN The EAN number of the receiver as supplied by Stiftung Refdata

Note that this is the initial sender of the request since the transport information from the request is mirrored in the response

[out] BSTR *pbstrToBinDERFile If the XML infoset was signed then bstrToBinDERFile is a full file name (path + name) to the extracted binary DER certificate that is the public certificate of the "from" entity. The certificate file is named X509DER_FromEAN.cer and must be copied away since the used temporary directory is emptied when the module shuts down.

Note that this certificate can be used to encrypt a request XML infoset for the "from" 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.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponse
  • GetTreatment

IHospitalMCDResponse::GetTreatment method |  |  |
Retrieves the optional ACID parameter. The ACID parameter is copied from the corresponding request and therefore the parameter is only available if supplied in the request. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetTreatment( | BSTR VARIANT_BOOL | *pbstrACID, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrACID | The Administrative Case IDentification is copied unaltered from the request and therefore is only available if supplied in the request. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponseManager

IHospitalMCDResponseManager interface |  | V4.50/ 2 Sep 2016
The IHospitalMCDResponseManager provides methods to load and analyze XML infosets of type hospitalMCDResponse_450 or hospitalMCDResponse_440. These infosets are responses to a previously sent MCD where the MCD object reference defines the target MCD request. The loaded data can be printed out and/or retrieved with the returned IHospitalMCDResponse interface. The subchapter object reference provides an in-depth description of the concept of "object reference". |  | space
Methods |  | 8 methods
GetAbortInfo | Gets the abort information string with the error coded in the module language |
GetLogSettings | Get the log settings for the module. |
GetXMLInfo | Preloads and analyzes a XML infoset regarding the accepted schema versions and other important information like the encryption status |
LoadXML | Loads a received XML infoset back into memory for further processing via the returned interface instance |
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 settings for the module |
Properties |  | 3 properties
[get/put] ModuleLanguage | Gets/Sets the language for the module i.e |
[get] ModuleVersion | Gets the version of the HospitalMCDResponseManager module. |
[get] ModuleVersionText | Gets the version of the HospitalMCDResponseManager module in textual form. |


  • IHospitalMCDResponseManager
  • GetAbortInfo

IHospitalMCDResponseManager::GetAbortInfo method |  |  |
Gets 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 this primarily called method is not an iterator (GetFirst/GetNext methods). In the later case VARIANT_FALSE signals the end of data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponseManager
  • GetLogSettings

IHospitalMCDResponseManager::GetLogSettings method
Get the log settings for the module. | space
C/C++ calling syntax
HRESULT GetLogSettings( long
long
YesNoType
BSTR
VARIANT_BOOL 		*plLogLevel,
*plMaxSizeKB,
*peDoArchive,
*pbstrArchiveDir,
*pbStatus);
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.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponseManager
  • GetXMLInfo

IHospitalMCDResponseManager::GetXMLInfo method |  |  |
Preloads and analyzes a XML infoset regarding the accepted schema versions and other important information like the encryption status. The hospitalMCDResponse450 COM module understands and processes the hospitalMCDResponse_450 XSD standard as well as its predecessor, namely hospitalMCDResponse_440. Infosets of another XSD standard will return an error. This method should be called before calling LoadXML since the infoset is possibly encrypted. In this situation the corresponding PFX certificate and password must be supplied in the LoadXML method. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetXMLInfo( | BSTR BSTR BSTR BSTR YesNoType VARIANT_BOOL | bstrInputFile, *pbstrUsedSchema, *pbstrFromEAN, *pbstrToEAN, *peIsEncrypted, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrInputFile | The input XML infoset (full file name) that must be loaded and analyzed. |
[out] BSTR | *pbstrUsedSchema | The name of the corresponding XSD schema is connected with that loaded the XML infoset. |
[out] BSTR | *pbstrFromEAN | The transport EAN number of the sender as supplied by Stiftung Refdata Note that this is the initial receiver of the request since the transport information from the request is mirrored in the response |
[out] BSTR | *pbstrToEAN | The transport EAN number of the receiver as supplied by Stiftung Refdata Note that this is the initial sender of the request since the transport information from the request is mirrored in the response |
[out] YesNoType | *peIsEncrypted | A Boolean that defines if the XML infoset is encrypted. If true the private PFX certificate/password of the "to" entity must be given in the LoadXML method otherwise the infoset can not be decrypted. |
[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. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
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. |  |


  • IHospitalMCDResponseManager
  • LoadXML

IHospitalMCDResponseManager::LoadXML method
Loads a received XML infoset back into memory for further processing via the returned interface instance. The hospitalMCDResponse450 COM module understands and processes the hospitalMCDResponse_450 XSD standard as well as its predecessor, namely hospitalMCDResponse_440.

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

Since the infoset is possibly encrypted, call GetXMLInfo to decide if and which PFX certificate to supply for the decryption process.

space
C/C++ calling syntax
HRESULT LoadXML( BSTR
BSTR
BSTR
IHospitalMCDResponse
VARIANT_BOOL 		bstrInputFile,
bstrToPFXFile,
bstrToPFXPassword,
**ppIHospitalMCDResponse,
*pbStatus);
Calling argument description
[in] BSTR | bstrInputFile | The input XML infoset (full file name) that must be loaded and analyzed.
[in] BSTR bstrToPFXFile The file name of the PFX certificate that is the private certificate of the "toEAN" entity.

This variable is not used if the XML infoset is not encrypted.

[in] BSTR bstrToPFXPassword The password to open the PFX certificate.

This variable is not used if the XML infoset is not encrypted.

[out] IHospitalMCDResponse **ppIHospitalMCDResponse The instance of a IHospitalMCDResponse interface allows to read back all currently loaded data.

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.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponseManager
  • Print

IHospitalMCDResponseManager::Print method
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
C/C++ calling syntax
HRESULT Print( BSTR
YesNoType
VARIANT_BOOL 		bstrPrintTemplate,
ePrintPreview,
*pbStatus);
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 (IHospitalMCDResponse::GetResponse method) is used.

[in] YesNoType | ePrintPreview | A Boolean that defines if print preview is used (enYes) or printing is done (enNo)
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponseManager
  • PrintAdjust

IHospitalMCDResponseManager::PrintAdjust method
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
C/C++ calling syntax
HRESULT PrintAdjust( BSTR
BSTR
VARIANT_BOOL 		bstrPrintTemplate,
bstrINIPath,
*pbStatus);
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 {_450, _440}, the absence of a version identifier defaults to _450
  • language is one of {dt, fr, it}.
For example the logical name "Detail_fr" is the French print template of version 450.
[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.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponseManager
  • PrintSetup

IHospitalMCDResponseManager::PrintSetup method
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 are connected with the given .vps report generator file. | space
C/C++ calling syntax
HRESULT PrintSetup( BSTR
BSTR
VARIANT_BOOL 		bstrPrintTemplate,
bstrINIPath,
*pbStatus);
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 {_450, _440}, the absence of a version identifier defaults to _450
  • language is one of {dt, fr, it}.
For example the logical name "Detail_fr" is the French print template of version 450.
[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.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponseManager
  • SetLogSettings

IHospitalMCDResponseManager::SetLogSettings method
Sets the log settings for the module.

The defaults 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
C/C++ calling syntax
HRESULT SetLogSettings( long
long
YesNoType
BSTR
VARIANT_BOOL 		lLogLevel,
lMaxSizeKB,
eDoArchive,
bstrArchiveDir,
*pbStatus);
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.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
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.


  • IHospitalMCDResponseManager
  • ModuleLanguage

IHospitalMCDResponseManager::ModuleLanguage property
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 IHospitalMCDResponse::GetResponse) are independent and can be different!

space
C/C++ calling syntax
[get] HRESULT | ModuleLanguage( LanguageType *aLanguageType);
[put] HRESULT | ModuleLanguage( LanguageType aLanguageType);
space
Calling argument description
[out,retval] LanguageType | *aLanguageType
[in] LanguageType | aLanguageType
C/C++ return value
S_OK | This value is returned if the function call was successful.
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.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • LanguageType *GetModuleLanguage(void);
  • void PutModuleLanguage( LanguageType aLanguageType);
space


  • IHospitalMCDResponseManager
  • ModuleVersion

IHospitalMCDResponseManager::ModuleVersion property
Gets the version of the HospitalMCDResponseManager module. | space
C/C++ calling syntax
[get] HRESULT | ModuleVersion( BSTR *aBSTR);
space
Calling argument description
[out, retval] BSTR | *aBSTR
C/C++ return value
S_OK | This value is returned if the function call was successful.
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.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersion(void);
space


  • IHospitalMCDResponseManager
  • ModuleVersionText

IHospitalMCDResponseManager::ModuleVersionText property
Gets the version of the HospitalMCDResponseManager module in textual form. | space
C/C++ calling syntax
[get] HRESULT | ModuleVersionText( BSTR *aBSTR);
space
Calling argument description
[out, retval] BSTR | *aBSTR
C/C++ return value
S_OK | This value is returned if the function call was successful.
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.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersionText(void);
space


  • Type definitions

Builtin, composite & enumeration types |  | V4.50/ 2 Sep 2016
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
Data types |  | 14 types
[enumeration] AddressType | Enumerates the defined address categories. |
[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] 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] IHospitalMCDResponse | IHospitalMCDResponse interface object |
[enumeration] LanguageType | Enumerates all supported languages. |
[builtin] long | A 4-byte integer value. |
[enumeration] ModusType | Enumerates the defined modus types. |
[enumeration] ResponseType | Enumerates the defined main response types. |
[enumeration] SexType | Enumerates the defined basic gender types. |
[enumeration] StatusType | Enumerates the defined status types that a request object at the insurance's site can posses |
[builtin] VARIANT_BOOL | A 16 bit Boolean (True/False) value was specified |
[enumeration] YesNoType | Boolean enumerator. |


  • Type definitions
  • AddressType

AddressType enumeration type |  |
Enumerates the defined address categories. |  | space
Set of enumeration values |  | 3 elements
enAddressUndefined: 0 | Undefined or unknown address. |
enAddressPerson: 1 | Person address. |
enAddressCompany: 2 | Company address. |


  • 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


  • 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


  • Type definitions
  • HRESULT

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


  • Type definitions
  • IAddress

IAddress type |
IAddress interface object. | space


  • Type definitions
  • IHospitalMCDResponse

IHospitalMCDResponse type |
IHospitalMCDResponse interface object | space


  • Type definitions
  • LanguageType

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


  • Type definitions
  • long

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


  • Type definitions
  • ModusType

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


  • Type definitions
  • ResponseType

ResponseType enumeration type |  |
Enumerates the defined main response types. |  | space
Set of enumeration values |  | 3 elements
enResponsePending: 1 | The response is of type pending - the corresponding request can not be processed to a final stage as some data are missing. |
enResponseRejected: 2 | The response is of type rejected - the corresponding request is rejected and as a consequence the status of the request goes to the "canceled" state |
enResponseAccepted: 3 | The response is of type accepted - the corresponding request is fully accepted and will be processed to a final stage. |


  • Type definitions
  • SexType

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


  • Type definitions
  • StatusType

StatusType enumeration type |  |
Enumerates the defined status types that a request object at the insurance's site can posses |  | space
Set of enumeration values |  | 7 elements
enStatusUnknown: 2 | The status is unknown meaning that the given object reference is unknown. |
enStatusAmbiguous: 3 | The status is ambiguous meaning that the given object reference delivers more than one result. |
enStatusReceived: 4 | The status is received meaning that nothing has been done so far except receiving the request. |
enStatusFrozen: 5 | The status is frozen meaning that the request is not processed until further data is provided - an appropriate response of that type was sent. |
enStatusProcessed: 6 | The status is processed meaning that the request has passed all processing and analysis but has not reached the granted or canceled state. |
enStatusGranted: 7 | The status is granted meaning that the request is accepted and archived. |
enStatusCanceled: 8 | The status is canceled meaning that the request is canceled and archived with reject status - an appropriate response of that type was sent |


  • 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


  • Type definitions
  • YesNoType

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


 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. oopProxyHospitalMCDResponseManager450.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.


 hospitalMCDResponse: Changes from V4.40 to V4.50...

The following list shows how the transition from V4.40 to V4.50 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.50 as well as the previous standard V4.40. So the implementation can be done now and the activation of the V4.50 standard afterwards!

IHospitalMCDResponseManager
changed: The IHospitalMCDResponseManager::LoadXML(...) method can natively load XML infosets of type hospitalMCDResponse_450.xsd and hospitalMCDResponse_440.xsd.
changed: The IHospitalMCDResponseManager::Print(...) method can natively print responses of type hospitalMCDResponse_450.xsd and hospitalMCDResponse_440.xsd.
IHospitalMCDResponse
new: The iterator pair IHospitalMCDResponse::GetFirstDocument(...) / IHospitalMCDResponse::GetNextDocument(...) was included to retrieve added documents of type JPG, PNG, or PDF
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 which is the mirrored transport@from attribute of the request
  • 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 hospitalMCDResponse module does understand these boundary conditions. If the response XML is encrypted (cf. IHospitalMCDResponseManager::GetXMLInfo) then decryption is done by loading the private PFX certificate and password of the "toEAN" (with is the mirrored "fromEAN" of the request).


 VB code snippet for loading/analyzing a hospital MCD response

Private Sub LoadData_Click()

On Error GoTo Err_Trap

Dim bStatus As Boolean
Dim strAbort As String

Dim strXMLFile As String
strXMLFile = "Response450_Accepted01_sigmerlin.xml"

'### HospitalMCDResponseManager interface
Dim hospitalMCDResponseManagerEx As HOSPITALMCDRESPONSEMANAGER450Lib.HospitalMCDResponseManager
Set hospitalMCDResponseManagerEx = New HospitalMCDResponseManager

Dim strUsedXSD As String
Dim strFromEAN As String
Dim strToEAN As String
Dim bEncrypted As YesNoType

'### Retrieve the information about the xml file
'### This is important because we need to know whether the document is encrypted or not
bStatus = hospitalMCDResponseManagerEx.GetXMLInfo(strXMLFile, strUsedXSD, strFromEAN, strToEAN, bEncrypted)
If (bStatus) Then
    If (bEncrpted = YesNoType.enNo) Then
        '### HospitalMCDResponse interface
        Dim hospitalMCDResponseEx As HospitalMCDResponse
        '### Load the XML file
        bStatus = hospitalMCDResponseManagerEx.LoadXML(strXMLFile, "", "", hospitalMCDResponseEx)
        If (bStatus) Then
            Dim strExplanation As String
            Dim statusIn As StatusType
            Dim statusOut As StatusType
            '### Retrieve the status of the MCD request
            bStatus = hospitalMCDResponseEx.GetAcceptType(strExplanation, statusIn, statusOut)
            If bStatus Then
                MsgBox (strExplanation)
            Else
                hospitalMCDResponseManagerEx.GetAbortInfo (strAbort)
                MsgBox ("ERR=" + strAbort)
            End If
        Else
            hospitalMCDResponseManagerEx.GetAbortInfo (strAbort)
            MsgBox ("ERR=" + strAbort)
        End If
        '### print preview
        bStatus = hospitalMCDResponseManagerEx.Print("", enYes)
    Else
        MsgBox ("Encryption not supported in demo mode")
    End If
Else
    hospitalMCDResponseManagerEx.GetAbortInfo (strAbort)
    MsgBox ("ERR=" + strAbort)
End If

'### relase resources
Set hospitalMCDResponseEx = Nothing
Set hospitalMCDResponseManagerEx = Nothing

Exit Sub

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

Set hospitalMCDResponseEx = Nothing
Set hospitalMCDResponseManagerEx = Nothing

End Sub


 General use of the hospitalMCDResponse ATL COM module

The HospitalMCDResponseManager is an ATL COM module which provides methods to load and analyze XML infosets of type hospitalMCDResponse_430. These infosets are responses to a previously sent MCD where the MCD object reference defines target MCD Response.

The subchapter object reference provides an in-depth description of the concept of "object reference".

To get the results of such an infoset, firstly the XML file is loaded into the module by the LoadXML method. Upon successful analyzing the file the method returns a IHospitalMCDResponse interface.

All data are returned with the various methods of that interface. E.g. the iterator pair GetFirstNotification / GetNextNotification returns the reference messages or errors depending on the response type.

An auxiliary interface IAddress is available for getting the address related data in a structured way.

To get a staring point there is a Visual Basic code snippet provided that can be used for using the hospitalMCDResponse module.


 How to generate PDF archive files of a MCD response

To generate PDF archive files of a MCD response in the hospitalMCDResponseManager 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 response 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+";)";

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

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


 Syntax of the printTemplate variable of the Print method

bstrPrintTemplate argument of the IHospitalMCDResponseManager::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 is a predefined pseudo print object with a special meaning:

    • PDF for generating PDF files

  • 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 files. 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.


 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.

The description is made from the request point of view. But keep in mind that all defined object references of the request must be copied unaltered into the response.

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 "HospitalMCDResponse" needs 2 object references, namely
  • a mandatory invoice object reference from the "General Invoice Request" process
  • a mandatory mcd object reference from the " HospitalMCDResponse" 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.


 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 which is the mirrored transport@to attribute of the request

  • the URI attribute of the reference element must use a XPointer syntax of the payload element, e.g. <ds:Reference URI="#xpointer(/mcd:response/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 hospitalMCDResponse module does understand these boundary conditions. If the response XML is signed then the module extracts the X509Data element and transforms it to a binary DER format. Using the certificate the signature chain is checked. The IHospitalMCDResponse::GetTransport method returns a binary DER file named X509DER_from_EAN.cer. This is exactly the certificate to use for encrypting a MCD request XML infosets!