 API browser of hospitalMCDResponse440 COM module
Interface version: | 4.40
Interface date: | 15 Mar 2013

The HospitalMCDResponseManager is an ATL COM module which provides methods to load and analyze XML infosets of type hospitalMCDResponse_440 or hospitalMCDResponse_430. These infosets are responses to a previously sent MCD where the MCD object reference defines the target MCD 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_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 hospitalMCDResponse440 COM module - an overview |
Document | Overview of the changes from hospitalMCDResponse430 to hospitalMCDResponse440 |
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 hospitalMCDResponse440 COM module |

© by sumex1.net - all rights reserved


  • hospitalMCDResponse440
  • IAddress

IAddress interface |  | V4.40/15 Mar 2013
With the IAddress interface structured address data can be set and retrieved. The address of a person is set by the method SetPerson and a company address is entered by the method SetCompany. Before setting a new address the address data has to be initialized by the method Initialize. |  | space
Methods |  | 15 methods
AddPhone | Adds a structured phone number |
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetCompany | Retrieves the company's naming part of the address |
GetFax | Retrieves the structured fax number |
GetFirstPhone | Retrieves the first phone number information |
GetNextPhone | Retrieves the next phone number information |
GetOnline | Retrieves the structured online part of the address |
GetPerson | Retrieves the person's naming part of the address |
GetPostal | Retrieves the structured postal address part. |
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 a 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 | Phone number. |
[in] BSTR | bstrLocalCode | Local area code. |
[in] BSTR | bstrInternationalCode | International calling code. |
[in] BSTR | bstrExt | Extension 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 |  |  |
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  | space
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 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
  • 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 | Company name. |
[out] BSTR | *pbstrDepartment | Department. |
[out] BSTR | *pbstrSubaddressing | Optional subaddressing information, e.g. c/o, P.O. box and the like |
[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 | Fax number. |
[out] BSTR | *pbstrLocalCode | Local area code. |
[out] BSTR | *pbstrInternationalCode | International calling code. |
[out] BSTR | *pbstrExt | Extension 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 | Phone number. |
[out] BSTR | *pbstrLocalCode | Local area code. |
[out] BSTR | *pbstrInternationalCode | International calling code. |
[out] BSTR | *pbstrExt | Extension 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 | Phone number. |
[out] BSTR | *pbstrLocalCode | Local area code. |
[out] BSTR | *pbstrInternationalCode | International calling code. |
[out] BSTR | *pbstrExt | Extension 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 | Email address. |
[out] BSTR | *pbstrUrl | 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 | Family name. |
[out] BSTR | *pbstrGivenname | Given name. |
[out] BSTR | *pbstrSalutation | Salutation. |
[out] BSTR | *pbstrTitle | Title. |
[out] BSTR | *pbstrSubaddressing | Optional subaddressing information, e.g. c/o, P.O. box and the like |
[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. |  |  | 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 | Street. |
[out] BSTR | *pbstrPoBox | P.O. Box. |
[out] BSTR | *pbstrZip | ZIP code |
[out] BSTR | *pbstrCity | City. |
[out] BSTR | *pbstrStateCode | State code. |
[out] BSTR | *pbstrCountryCode | ISO country code. |
[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 any data are supplied. |  |  | 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 | Company name. |
[in] BSTR | bstrDepartment | Department. |
[in] BSTR | bstrSubaddressing | Optional subaddressing information, e.g. c/o, P.O. box and the like |
[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 | Fax number. |
[in] BSTR | bstrLocalCode | Local area code. |
[in] BSTR | bstrInternationalCode | International calling code. |
[in] BSTR | bstrExt | Extension 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 | Email address. |
[in] BSTR | bstrUrl | 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
  • 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 | Family name. |
[in] BSTR | bstrGivenname | Given name. |
[in] BSTR | bstrSalutation | Salutation. |
[in] BSTR | bstrTitle | Title. |
[in] BSTR | bstrSubaddressing | Optional subaddressing information, e.g. c/o, P.O. box and the like |
[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 | Street |
[in] BSTR | bstrPoBox | P.O. Box |
[in] BSTR | bstrZip | ZIP code |
[in] BSTR | bstrCity | City |
[in] BSTR | bstrStateCode | State code like the codes of the US states. Such state code should only be supplied if it is part of the address because the state code is printed before the zip code. |
[in] BSTR | bstrCountryCode | ISO country code |
[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 a address is defined at all. If no address is set 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.40/15 Mar 2013
The IHospitalMCDResponse interface allows to read back all data that have been loaded with the IHospitalMCDResponseManager::LoadXML method. |  | space
Methods |  | 18 methods
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetAcceptType | This method is called if the main response type returned by the GetResponse method is enResponseAccepted |
GetBiller | Retrieves the EAN number of the biller |
GetContact | Retrieves the EAN number and the structured address of the main contact |
GetFirstNotification | Retrieves the first notification object |
GetGenerator | Retrieves the identification parameters of the senders XML infoset generator software. |
GetInsurance | Retrieves the EAN number of the insurance |
GetInvoice | Retrieves the invoice object reference parameters for which the MCD is produced |
GetMCD | Retrieves the MCD object reference parameters |
GetNextNotification | Retrieves the next notification object |
GetPackage | Retrieves the identification parameters of the senders main software |
GetPatient | Retrieves the primary parameters of the patient. |
GetPendingType | This method is called if the main response type returned by the GetResponse method is enResponsePending |
GetProvider | Retrieves the EAN number of the provider |
GetRejectType | This method is called if the main response type returned by the GetResponse method is enResponseRejected |
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 defines the routing of the infoset |
GetTreatment | Retrieves the optional ACID parameter |
Properties |  | 0 properties


  • IHospitalMCDResponse
  • GetAbortInfo

IHospitalMCDResponse::GetAbortInfo method |  |  |
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  | space
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 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
  • GetAcceptType

IHospitalMCDResponse::GetAcceptType method |  |  |
This method is called if the main response type returned by the GetResponse method is 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 EAN number of the biller. 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 | EAN number of the biller as supplied by medwin.ch |
[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 EAN number and the structured address of the main contact. The structured address data is read via the methods of the returned IAddress interface. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetContact( | BSTR IAddress VARIANT_BOOL | *pbstrEAN, **ppIAddress, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrEAN | EAN number of the main contact as supplied by medwin.ch |
[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 subaddress 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
  • GetFirstNotification

IHospitalMCDResponse::GetFirstNotification method |  |  |
Retrieves the first notification object. The notification is typed as message if the reponseType= enResponsePending or is typed as error if reponseType= enResponseRejected. The reponseType= enResponseAccepted has no notifications per definition. The responseType is returned in the GetResponse method. 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, bstrValidValue are empty and lRecordID is set to 0. |
[out] long | *plRecordID | A record sequence number from the request uniquely identifying the target DRG service record. If eIsAnError=enYes or the error is not related to a DRG record lrecordID is 0. |
[out] BSTR | *pbstrErrorValue | The erroneous/incorrect value if the notification is typed as error (eIsAnError=enYes) otherwise 0 |
[out] BSTR | *pbstrValidValue | The valid/correct value if the notification is typed 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 senders XML infoset generator software. |  |  | 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 generator software that uses this DLL |
[out] long | *plSoftwareVersion | Version of the generator software codes as 32-bit value where lSoftwareVersion = 100*Major version + Minor version. |
[out] long | *plSoftwareID | Optional ID of the generator software that uses this DLL |
[out] BSTR | *pbstrSoftwareCopyright | The copyright notice of the developer of 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 EAN number of the insurance. 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 | EAN number of the insurance as supplied by medwin.ch |
[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
  • GetNextNotification

IHospitalMCDResponse::GetNextNotification method |  |  |
Retrieves the next notification object. The notification is typed as message if the reponseType= enResponsePending or is typed as error if reponseType= enResponseRejected. The reponseType= enResponseAccepted has no notifications per definition. The responseType is returned in the GetResponse method. 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, bstrValidValue are empty and lRecordID is set to 0. |
[out] long | *plRecordID | A record sequence number from the request uniquely identifying the target DRG service record. If eIsAnError=enYes or the error is not related to a DRG record lrecordID is 0. |
[out] BSTR | *pbstrErrorValue | The erroneous/incorrect value if the notification is typed as error (eIsAnError=enYes) otherwise 0 |
[out] BSTR | *pbstrValidValue | The valid/correct value if the notification is typed 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 senders main software. Since the package information is optionally VARIANT_FALSE is returned if the senders 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 that uses this DLL |
[out] long | *plSoftwareVersion | Version of the main software codes as 32-bit value where lSoftwareVersion = 100*Major version + Minor version. |
[out] long | *plSoftwareID | Optional ID of the main software that uses this DLL |
[out] BSTR | *pbstrSoftwareCopyright | The copyright notice of the developer of 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. |  |  | 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 |  |  |
This method is called if the main response type returned by the GetResponse method is 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 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] 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 EAN number of the provider. 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 | EAN number of the provider as supplied by medwin.ch |
[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 |  |  |
This method is called if the main response type returned by the GetResponse method is 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 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] 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.
GetAcceptType | 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 defines the routing of the infoset. 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. All the involved parties are defined by EAN numbers as defined by www.medwin.ch. |  |  | 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 medwin.ch 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 medwin.ch 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 medwin.ch 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 named X509DER_FromEAN.cer must be copied to a save place 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.40/15 Mar 2013
The IHospitalMCDResponseManager provides methods to load and analyze XML infosets of type hospitalMCDResponse_440 or hospitalMCDResponse_430. 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 | Get 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 and other important information |
LoadXML | Loads a received XML infoset of an accepted type into memory for further processing via the returned interface handle |
Print | The Print method prints the response data of an accepted XML type on the local printer |
PrintAdjust | Shows the print object adjustment dialog that allows to move print objects of a .vps report generator file. |
PrintSetup | Shows the printer setup dialog that allows to define printer settings connected with a .vps report generator file. |
SetLogSettings | Set the log settings for the module |
Properties |  | 4 properties
[get/put] ModuleLanguage | Get/Set the language for the module i.e |
[get] ModuleVersion | Gets the version of the HospitalMCDResponseManager module. |
[get] ModuleVersionText | Get the textual version of the HospitalMCDResponseManager module. |
[get/put] PrintCopies | Get/Set the number of copies to print. |


  • IHospitalMCDResponseManager
  • GetAbortInfo

IHospitalMCDResponseManager::GetAbortInfo method |  |  |
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  | space
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 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
  • 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 and other important information.

If the XML infoset is of an accepted type then the fromEAN, toEAN as well as the encryption status are additionally extracted. The accepted XML types are

  • hospitalMCDResponse_440.xsd - native full support
  • hospitalMCDResponse_430.xsd - native full support

The XSD name is set even if an error is generated.

This method must be called before calling the full XML loader LoadXML since the infoset is possibly encrypted. In this situation the corresponding PFX certificate and password must be supplied in the XML loader.

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 full file name (path + name) of a XML infoset of type hospitalMCDResponse_440.xsd or hospitalMCDResponse_430.xsd, respectively.
[out] BSTR | *pbstrUsedSchema | The full XSD name of the loaded XML file.
[out] BSTR *pbstrFromEAN The EAN number of the sender as supplied by medwin.ch
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 EAN number of the receiver as supplied by medwin.ch
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 "toEAN" 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 of an accepted type into memory for further processing via the returned interface handle. The accepted XML types are
  • hospitalMCDRequest_440.xsd - native full support
  • hospitalMCDRequest_430.xsd - native full support

Since the infoset is possibly encrypted, call GetXMLInfo to decide if and which PFX certificate must be loaded. 		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 full file name (path + name) of an accepted XML infoset of type hospitalMCDResponse_440.xsd or hospitalMCDResponse_430.xsd, respectively
[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 IHospitalMCDResponse interface handle that allows to get all loaded data back.
The handle is NULL if an error occurred.
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
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 prints the response data of an accepted XML type on the local printer. The printer selection is done via the used report generator template file. If the template file was not connected to a printer with the PrintSetup method then the default printer with its default settings is used.

The bstrPrintTemplate variable obeys a special syntax and can optionally be used to set special print commands like producing PDFs or changing print object 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 is either empty or build 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. | space
C/C++ calling syntax
HRESULT PrintAdjust( BSTR
BSTR
VARIANT_BOOL 		bstrPrintTemplate,
bstrINIPath,
*pbStatus);
Calling argument description
[in] BSTR bstrPrintTemplate Either the full file name (path + name) or a logical name of a target .vps report generator file for which the settings will be defined.

There are predefined .vps files in the installation directory that can be accessed via one of the following case insensitive logical names:

Detail_language

where
  • language is one of {dt, fr, it}.
For example the logical name "Detail_fr" is the French print template.
[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 printer settings connected with a .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 the full file name (path + name) or a logical name of a target .vps report generator file for which the settings will be defined.

There are predefined .vps files in the installation directory that can be accessed via one of the following case insensitive logical names:

Detail_language

where
  • language is one of {dt, fr, it}.
For example the logical name "Detail_fr" is the French print template.
[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
Set 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
Get/Set the language for the module i.e. the language in which the error strings are coded.

Note, that the module language and the data language (given by 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
Get the textual version of the HospitalMCDResponseManager module. | 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


  • IHospitalMCDResponseManager
  • PrintCopies

IHospitalMCDResponseManager::PrintCopies property
Get/Set the number of copies to print. | space
C/C++ calling syntax
[get] HRESULT | PrintCopies( long *along);
[put] HRESULT | PrintCopies( long along);
space
Calling argument description
[out,retval] long | *along
[in] long | along
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
  • long *GetPrintCopies(void);
  • void PutPrintCopies( long along);
space


  • Type definitions

Builtin, composite & enumeration types |  | V4.40/15 Mar 2013
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 | A value denoting a date and time was specified |
[builtin] HRESULT | The HRESULT data type is a 32-bit value that is used to describe an error or warning. |
[builtin] IAddress | IAddress interface. |
[builtin] IHospitalMCDResponse | IHospitalMCDResponse interface |
[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 types of the response |
[enumeration] SexType | Enumerates the defined gender categories. |
[enumeration] StatusType | Enumerates the defined status types that request object 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 |
A value denoting a date and time was specified. Dates are represented as double-precision numbers, where midnight, January 1, 1900 is 2.0, January 2, 1900 is 3.0, and so on. The value is passed in date. | 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. | space


  • Type definitions
  • IHospitalMCDResponse

IHospitalMCDResponse type |
IHospitalMCDResponse interface | 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 invoice will not be forwarded to the receiver. |


  • Type definitions
  • ResponseType

ResponseType enumeration type |  |
Enumerates the defined types of the response |  | 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 gender categories. |  | 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 request object 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. If the request was an invoice or reminder then the requested amount was paid to the biller. |
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. oopProxyHospitalMCDResponseManager440.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 COM module changes from V4.30 to V4.40...

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

IHospitalMCDResponseManager
 | changed: | IHospitalMCDResponseManager::LoadXML( ...) method can natively load XML infosets of type hospitalMCDResponse_440.xsd and hospitalMCDResponse_430.xsd. As a consequence the hospitalMCDResponseManager430 COM module can be deinstalled and deleted.
 | changed: | The IHospitalMCDResponseManager::Print( ...) method can natively print either V4.40 or V4.30 printouts. As a consequence the hospitalMCDResponseManager430 COM module can be deinstalled and deleted.
IHospitalMCDResponse
 | deleted: | patient_id in the invoice reference object was deleted in favor of the APID/ACID parameters IHospitalMCDResponse::GetInvoice(...) without patient_id argument
 | new: | ACID parameter is newly available. The Administrative Case IDentification is copied unaltered from the request and therefore is only available if supplied in the request. IHospitalMCDResponse::GetTreatment(BSTR *pbstrACID, ...)
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 = "Response440_Accepted01_sigmerlin.xml"

'### HospitalMCDResponseManager interface
Dim hospitalMCDResponseManagerEx As HOSPITALMCDRESPONSEMANAGER440Lib.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.4 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!