 API browser of generalFormRequest430 COM module
Interface version: | 4.30
Interface date: | 7 Sep 2011

The GeneralFormRequestManager is an ATL COM module that manages a PDF based form system. The module provides all the necessary methods to produce a filled out PDF form or a generalFormRequest_430.xsd type XML infoset that includes the PDF form itself as Base64 octet stream.

Empty PDF form templates from the medForms OID space or previously processed PDF form can be loaded into the module.

The generalFormRequest system does not endorse a paradigm of "completeness" or "100% preset capability". Therefore, the PDF form can only be finalized by a user-driven review process whereas Acrobat Reader using a preset PDF form does the visualization.

At the end a final PDF form and/or a XML infoset of type generalFormRequest_430.xsd is produced.
In the XML case by using the processing attributes "storno" and "copy" a previously generated and sent XML infoset can be canceled or a copy can be produced (cf. Notes about processing attributes).

space
Interfaces | 5 interface
IAddress | The utility interface IAddress is available for setting and retrieving structured address data.
IForms | The IForms interface allows to update the form template space as well as to search and iterate over the virual hierarchical tree representation of that form space.
IGeneralFormRequest | With the IGeneralFormRequest interface all PDF form related data and parameters are set/defined by the interface's methods.
IGeneralFormRequestManager | The main interface IGeneralFormRequestManager -creatable in its own right- provides all necessary methods to generate a filled out PDF form or a XML infoset of type generalFormRequest_430.xsd
IGeneralFormResult | The interface IGeneralFormResult allows to read back all data that have been defined with the IGeneralFormRequest interface or by loading a previously generated XML infoset.
Types
type definitions | List of all used builtin, composite and enumeration types
Important information about the usage and handling of the module
Document | IMPORTANT: Boundary conditions for the usage of the PDF Viewer
Document | General usage of the generalFormRequest430 COM module - an overview
Document | What to do in a 64bit environment - is there a 64bit Sumex1 COM dll?
Document | Overview of the concept of "Object reference"
Document | Notes about the processing attributes
Document | Notes about the signature part of the XML infoset
Document | Notes about the encryption part of the XML infoset
Document | VB code snippet for using the generalFormRequest430 COM module

© by sumex1.net - all rights reserved


  • generalFormRequest430
  • IAddress

IAddress interface |  | V4.30/ 7 Sep 2011
With the IAddress interface 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 of the address |
Initialize | Initializes all address variables |
SetCompany | Sets the company's naming part of the address |
SetFax | Sets a structured fax number |
SetOnline | Sets the structured online part of the address. |
SetPerson | Sets the person's naming part of the address |
SetPostal | Sets the structured postal address part |
Properties |  | 1 properties
[get] Type | GetType returns the type of address either enAddressPerson or enAddressCompany if 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 phone 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-in-error situation occurred. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IAddress
  • GetCompany

IAddress::GetCompany method |  |  |
Retrieves the company's naming part of the address. Call the property GetType first to test if GetPerson or GetCompany should be called. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetCompany( | BSTR BSTR BSTR VARIANT_BOOL | *pbstrCompanyName, *pbstrDepartment, *pbstrSubaddressing, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrCompanyName | 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 of the address |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetPostal( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrStreet, *pbstrPoBox, *pbstrZip, *pbstrCity, *pbstrStateCode, *pbstrCountryCode, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStreet | 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" 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


  • IForms

IForms interface | V4.30/ 7 Sep 2011
The IForms interface serves 2 purposes:
  1. The IForms::Search method searches and the iterator pair IForms::GetFirstObject / IForms::GetNextObject retrieve the found form space records. The form space is a hierarchical tree structure consisting of descriptive nodes. Each node in turn can hold other descriptive nodes and PDF form template files. Thus the form space is a concept to group the PDF forms inside a logical, hierarchical structure.

    Each node and leaf of the form space is described by a mandatory medForms OID, a name, a Boolean value if it is a node or a leaf, and an optional UID, where UID stands for the unique company specific ID assigned by the Federal Statistical Office. The given OID always stems from the medForms OID space and is supplied in its shortened form e.g. medforms.20.30.5050, where «medforms» is the abbreviation for the medForms base OID

  2. The IForms::StartUpdate / IForms::UpdateStatus methods allow to update and extend the above mentioned form space as well as the PDF forms itself. The asynchronous update process can be started at any time, concurrently to the normal processing. However, the COM module starts the process automatically if the last update is older than 14 days.
space
Methods | 7 methods
GetAbortInfo | Get the abort information string with the error coded in the module language
GetFirstObject | Retrieves the first form space record
GetNextObject | Retrieves the next form space record
GetObjectInfo | The GetObjectInfo method returns information about a given a medForms OID either in its full or shortened form.
Search | The Search method allows to search the form space by using a combination of search criteria
StartUpdate | Starts an update process in an asynchronous concurrent mode that updates the form structure (given by the forms database) as well as the PDF forms, but not the COM module itself
UpdateStatus | Supplies progress information about a potentially running update process
Properties | 0 properties


  • IForms
  • GetAbortInfo

IForms::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-in-error situation occurred. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IForms
  • GetFirstObject

IForms::GetFirstObject method |  |  |
Retrieves the first form space record. VARIANT_FALSE is returned if the end of the record list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstObject( | BSTR BSTR BSTR YesNoType BSTR VARIANT_BOOL | *pbstrUID, *pbstrOID, *pbstrName, *peIsFile, *pbstrFile, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrUID | The UID of the form space node or PDF form template. The UID might be empty if such an UID can not be found |
[out] BSTR | *pbstrOID | The medForms OID of the form space node or PDF form template. Note that the supplied OID is always supplied in its shortened form ( e.g. medforms.20.30.5050) This OID can be used in the IGeneralFormRequestManager::LoadPDF method to load this PDF template. |
[out] BSTR | *pbstrName | The descriptive name of the form space node or PDF form template |
[out] YesNoType | *peIsFile | A Boolean denoting if the object is a node (enNo) or a PDF form template (enYes) |
[out] BSTR | *pbstrFile | The name of the PDF form template if eIsFile=enYes or empty otherwise Alternatively to the OID this file name can be used in the IGeneralFormRequestManager::LoadPDF method to load this PDF template. |
[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. |  |


  • IForms
  • GetNextObject

IForms::GetNextObject method |  |  |
Retrieves the next form space record. VARIANT_FALSE is returned if the end of the record list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextObject( | BSTR BSTR BSTR YesNoType BSTR VARIANT_BOOL | *pbstrUID, *pbstrOID, *pbstrName, *peIsFile, *pbstrFile, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrUID | The UID of the form space node or PDF form template. The UID might be empty if such an UID can not be found |
[out] BSTR | *pbstrOID | The medForms OID of the form space node or PDF form template. Note that the supplied OID is always supplied in its shortened form ( e.g. medforms.20.30.5050) This OID can be used in the IGeneralFormRequestManager::LoadPDF method to load this PDF template. |
[out] BSTR | *pbstrName | The descriptive name of the form space node or PDF form template |
[out] YesNoType | *peIsFile | A Boolean denoting if the object is a node (enNo) or a PDF form template (enYes) |
[out] BSTR | *pbstrFile | The name of the PDF form template if eIsFile=enYes or empty otherwise Alternatively to the OID this file name can be used in the IGeneralFormRequestManager::LoadPDF method to load this PDF template. |
[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. |  |


  • IForms
  • GetObjectInfo

IForms::GetObjectInfo method |  |  |
The GetObjectInfo method returns information about a given a medForms OID either in its full or shortened form. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetObjectInfo( | LanguageType BSTR BSTR BSTR YesNoType BSTR VARIANT_BOOL | eDataLanguage, bstrOID, *pbstrUID, *pbstrName, *peIsFile, *pbstrFile, *pbStatus); |
Calling argument description |  |  |
[in] LanguageType | eDataLanguage | The language branch of the form space to use. |
[in] BSTR | bstrOID | The medForms OID for which the information should be retrieved. Note that the OID can be in its full or shortened form. |
[out] BSTR | *pbstrUID | The UID of the form space node or PDF form template. The UID might be empty if such an UID can not be found |
[out] BSTR | *pbstrName | The descriptive name of the form space node or PDF form template |
[out] YesNoType | *peIsFile | A Boolean denoting if the object is a node (enNo) or a PDF form template (enYes) |
[out] BSTR | *pbstrFile | The name of the PDF form template if eIsFile=enYes or empty otherwise Alternatively to the OID this file name can be used in the IGeneralFormRequestManager::LoadPDF method to load this PDF template. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then the object can not be found. |
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. |  |


  • IForms
  • Search

IForms::Search method
The Search method allows to search the form space by using a combination of search criteria. The form space logically groups the available PDF form templates. The resulting list of form space records can be retrieved by the IForms::GetFirstObject / IForms::GetNextObject iterator pair.

Each node and leaf of the form space is described by a mandatory medForms OID, a name, a Boolean value if it is a node or a leaf, and an optional UID, where UID stands for the unique company specific ID assigned by the Federal Statistical Office. The given OID always stems from the medForms OID space and is supplied in its shortened form e.g. medforms.20.30.5050, where «medforms» is the abbreviation for the medForms base OID

To retrieve the whole form space use the empty string for the UID and OID pattern and set the Boolean eFormsOnly=enNo.

space
C/C++ calling syntax
HRESULT Search( LanguageType
YesNoType
YesNoType
BSTR
BSTR
VARIANT_BOOL 		eDataLanguage,
eSortByName,
eFormsOnly,
bstrOIDPattern,
bstrUIDPattern,
*pbStatus);
Calling argument description
[in] LanguageType | eDataLanguage | The language branch of the form space to use.
[in] YesNoType eSortByName A Boolean value denoting if the returned records are sorted ascending by name (enYes) or by OID (enNo).

Of course, the sorting is applied only to the same hierarchical level if the hierarchical form space (eFormsOnly=enNo) is requested.

[in] YesNoType | eFormsOnly | A Boolean value denoting if the serialized list of PDF form templates (enYes) or the hierarchical form space (enNo) should be returned.
[in] BSTR bstrOIDPattern bstrOIDPattern restricts the form space by applying a search pattern onto the medforms OID attribute of each form space record.

The wildcard character is the *. Leave the bstrOIDPattern empty if there is no restriction on the medForms OID.

[in] BSTR bstrUIDPattern bstrUIDPattern restricts the form space by applying a search pattern onto the UID attribute of each form space record.

The wildcard character is the *. Leave the bstrUIDPattern empty if there is no restriction on the UID.

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


  • IForms
  • StartUpdate

IForms::StartUpdate method |  |  |
Starts an update process in an asynchronous concurrent mode that updates the form structure (given by the forms database) as well as the PDF forms, but not the COM module itself. The update process is started automatically by the COM module if the last update is older than 14 days. The update process can be started at any time concurrently to the normal processing. The UpdateStatus method can be repeatedly called to get status information about the update progress. |  |  | space
C/C++ calling syntax |  |  |
HRESULT StartUpdate( | YesNoType VARIANT_BOOL | *peUpdateNecessary, *pbStatus); |
Calling argument description |  |  |
[out] YesNoType | *peUpdateNecessary | Boolean value that denotes if an update was started (enYes) or if the update is unnecessary (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. |  |


  • IForms
  • UpdateStatus

IForms::UpdateStatus method |  |  |
Supplies progress information about a potentially running update process. An update process either is started with the StartUpdate method or is automatically initiated by the COM module if the last update is older than 14 days. |  |  | space
C/C++ calling syntax |  |  |
HRESULT UpdateStatus( | long long long long YesNoType VARIANT_BOOL | *plDBUpdatesTotal, *plDBUpdatesDone, *plFileUpdatesTotal, *plFileUpdatesDone, *peIsRunning, *pbStatus); |
Calling argument description |  |  |
[out] long | *plDBUpdatesTotal | The total number updates of the form database that must be accomplished. |
[out] long | *plDBUpdatesDone | The number updates of the form database of already done. |
[out] long | *plFileUpdatesTotal | The total number PDF form files that must be updated. |
[out] long | *plFileUpdatesDone | The number PDF form files that are already updated. |
[out] YesNoType | *peIsRunning | Boolean value that denotes if an update process is currently ongoing (enYes) or not (enNo). Once eIsRunning=enNo there are no further updates to perform. Therefore, calling UpdateStatus is no longer useful. |
[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. |  |


  • IGeneralFormRequest

IGeneralFormRequest interface |  | V4.30/ 7 Sep 2011
With the IGeneralFormRequest interface all the PDF form related data and parameters can be set by the available interface methods like SetPatient, AddAddress,... Since the set of requested data is dependent on the chosen PDF form, such a PDF form or alternatively a corresponding XML infoset of type generalFormRequest_430.xsd or generalNotification_430.xsd firstly must be loaded into the COM module. The IGeneralFormRequestManger::LoadPDF or IGeneralFormRequestManger::LoadXML methods return the instance of IGeneralFormRequest interface upon successful loading the data file. |  | space
Methods |  | 26 methods
AddAddress | Sets the structured address and primary parameters like EAN, ZSR, etc for a certain address define by the PDF form variable name |
AddAllergy | Adds an allergy structure to the list of allergies. |
AddDiagnosis | Adds a diagnosis structure to the list of diagnoses. |
AddMedication | Adds a medication structure to the list of medications. |
AddNumericResult | Adds a numerical result structure to the list of numerical result structures |
AddTextResult | Adds a textual result structure to the list of textual result structures |
AddUnemployability | Adds an unemployability structure to the list of unemployabilities. |
AddVaccination | Adds a vaccination structure to the list of vaccinations. |
AddVar | Adds a basic PDF form variable |
Finalize | Finalizes and validates all data set so far in the GeneralFormRequest interface |
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetFirstAddressRole | Retrieves the first address of all semantically well defined address defined by the currently loaded PDF file |
GetFirstStructRole | Retrieves the first structure of all semantically well defined structures defined by the currently loaded PDF file |
GetFirstVar | Retrieves the first basic PDF form variable |
GetNextAddressRole | Retrieves the next address of all semantically well defined address defined by the currently loaded PDF file |
GetNextStructRole | Retrieves the first structure of all semantically well defined structures defined by the currently loaded PDF file |
GetNextVar | Retrieves the next basic PDF form variable |
SetCard | Sets the patient's insurance card information (might be the patient card later on) - this information is optional. |
SetForm | Sets the primary form object reference |
SetLaw | Sets the law and its dependent information |
SetPackage | Defines the identification parameters of the main software that uses this DLL. |
SetPatient | Sets the primary parameters and structured address of the patient |
SetRefObject | Sets the optional depended object reference of type credit, invoice, reminder, MCD, form, or notification for which this form process is actually started |
SetRequest | Sets the role and place information, as well as the processing parameters "storno" and "copy" |
SetTransport | Sets transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to) |
SetTreatment | Sets the primary treatment input data. |
Properties |  | 1 properties
[get] CreateAddress | Create an instance of the IAddress interface |


  • IGeneralFormRequest
  • AddAddress

IGeneralFormRequest::AddAddress method |  |  |
Sets the structured address and primary parameters like EAN, ZSR, etc for a certain address define by the PDF form variable name. The address is defined via a IAddress interface pointer and the IAddress data must be defined prior to call this method. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddAddress( | BSTR BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | bstrAddressName, bstrEAN, bstrZSR, bstrNIF, bstrSpecialty, *pIAddress, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrAddressName | The variable name/placeholder of the address. Use the iterator pair GetFirstAddressRole / GetNextAddressRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all addresses defined by the currently load PDF form. |
[in] BSTR | bstrEAN | EAN number of the given address party as supplied by medwin.ch Leave empty if the EAN is unknown. |
[in] BSTR | bstrZSR | ZSR number of the given address party as supplied by santésuisse. Leave empty if the NIF number is unknown. Note, that an employer's national BER number as defined by Swiss Federal Statistical Office MUST be supplied with the bstrZSR variable. |
[in] BSTR | bstrNIF | The IV specific identification number NIF of the given address party. Leave empty if the NIF number is unknown. |
[in] BSTR | bstrSpecialty | An optional specialty (i.e. FMH title of a physician) of the given address party Leave empty if the there is no specialty to supply. |
[in] IAddress | *pIAddress | Pointer to an IAddress interface instance that holds the structured address parts. A NULL pointer is supplied if no address should be set. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • AddAllergy

IGeneralFormRequest::AddAllergy method |  |  |
Adds an allergy structure to the list of allergies. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddAllergy( | BSTR AllergyType BSTR BSTR DATE SeverityLevelType VARIANT_BOOL | bstrStructName, eAllergyType, bstrCode, bstrName, dDate, eSeverityLevel, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] AllergyType | eAllergyType | The type of the allergy defined by the AllergyType enumerator |
[in] BSTR | bstrCode | The code of the allergy as given in the corresponding allergy catalog. Leave empty if no coding system is used. |
[in] BSTR | bstrName | Textual description of the allergy as given in the corresponding allergy catalog. Supply a free text description of the allergy if no coding system is used. |
[in] DATE | dDate | The date the allergy was first diagnosed |
[in] SeverityLevelType | eSeverityLevel | The severity level of the allergy defined by the SeverityLevel enumerator |
[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. |  |


  • IGeneralFormRequest
  • AddDiagnosis

IGeneralFormRequest::AddDiagnosis method |  |  |
Adds a diagnosis structure to the list of diagnoses. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddDiagnosis( | BSTR DiagnosisCodeType BSTR BSTR DATE YesNoType BSTR VARIANT_BOOL | bstrStructName, eDiagnosisCodeType, bstrCode, bstrName, dDate, eIsActive, bstrRemark, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] DiagnosisCodeType | eDiagnosisCodeType | The type of the diagnosis catalog defined by the DiagnosisCodeType enumerator. |
[in] BSTR | bstrCode | The code of the diagnosis as given in the corresponding diagnosis catalog defined by eDiagnosisCodeType. |
[in] BSTR | bstrName | Textual description of the code as given in the corresponding diagnosis catalog defined by eDiagnosisCodeType. |
[in] DATE | dDate | The optional date when the diagnosis was defined. Set 0 if the date is unknown. |
[in] YesNoType | eIsActive | Boolean value that defines the diagnosis is "active" (enYes) or not (enNo). |
[in] BSTR | bstrRemark | An optional remark |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • AddMedication

IGeneralFormRequest::AddMedication method |  |  |
Adds a medication structure to the list of medications. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddMedication( | BSTR DrugCodeType BSTR BSTR DATE DATE VARIANT_BOOL | bstrStructName, eDrugCodeType, bstrCode, bstrName, dBeginDate, dEndDate, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] DrugCodeType | eDrugCodeType | The type of the drug catalog defined by the DrugCodeType enumerator. |
[in] BSTR | bstrCode | The code of the applied drug as given in the corresponding drug catalog defined by eDrugCodeType. |
[in] BSTR | bstrName | Textual description of the applied drug as given in the corresponding drug catalog defined by eDrugCodeType. |
[in] DATE | dBeginDate | The date when the medication started |
[in] DATE | dEndDate | The date when the medication ended. Supply 0 if the medication is still ongoing. |
[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. |  |


  • IGeneralFormRequest
  • AddNumericResult

IGeneralFormRequest::AddNumericResult method |  |  |
Adds a numerical result structure to the list of numerical result structures. Such a result structure can be from the clinical as well as from the lab area but is inherently of numerical nature. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddNumericResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrStructName, eResultCodeType, bstrCode, bstrName, dDate, bstrValue, bstrUnit, bstrLowerReference, bstrUpperReference, bstrRemark, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] ResultCodeType | eResultCodeType | The used coding system in which the result is defined. |
[in] BSTR | bstrCode | The code of the measurement defined in the used coding system. While not imperative the preferable coding system for lab results is LOINC and SMERF for clinical results. Especially for lab results LOINC is the only guarantee that identifies lab measurements unambiguously and lab company independent. |
[in] BSTR | bstrName | The name of the measurement. |
[in] DATE | dDate | The date of the measurement |
[in] BSTR | bstrValue | The numerical measurement value ASCII formatted - thus the full measurement result consist of eOperator*bstrValue*bstrUnit Note that the formatting of numerical values in the PDF is cumbersome and partly impossible (no scientific notation available). Furthermore there is no possibility to extracted and propagate such formatting instructions from the PDF via the COM module to the calling software. Consequently, all values of the numerical result structure are supplied ASCII formatted to allow the calling software to supply the needed display formatting. E.g. the distant sphere in an eyeglass prescription should be formatted like "+ 1.25" which is impossible with a general formatting instruction. |
[in] BSTR | bstrUnit | The unit in which the all values are expressed - thus the full measurement result consist of eOperator*bstrValue*bstrUnit While not imperative the unit is preferably supplied in the UCUM system. |
[in] BSTR | bstrLowerReference | The lower reference value ASCII formatted of the measurement expressed in the same unit as the value. Supply an empty string if no lower reference value is available. |
[in] BSTR | bstrUpperReference | The upper reference value ASCII formatted of the measurement expressed in the same unit as for the value. Supply an empty string if no upper reference value is available. |
[in] BSTR | bstrRemark | An optional remark |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • AddTextResult

IGeneralFormRequest::AddTextResult method |  |  |
Adds a textual result structure to the list of textual result structures. Such a result structure can be from the clinical as well as from the lab area but is inherently of textual nature. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddTextResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR VARIANT_BOOL | bstrStructName, eResultCodeType, bstrCode, bstrName, dDate, bstrValue, bstrReference, bstrRemark, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] ResultCodeType | eResultCodeType | The used coding system in which the result is defined. |
[in] BSTR | bstrCode | The code of the measurement defined in the used coding system. While not imperative the preferable coding system for lab results is LOINC and SMERF for clinical results. Especially for lab results LOINC is the only guarantee that identifies lab measurements unambiguously and lab company independent. |
[in] BSTR | bstrName | The name of the measurement. |
[in] DATE | dDate | The date of the measurement. |
[in] BSTR | bstrValue | The textual value of the measurement. |
[in] BSTR | bstrReference | An optional reference of any kind that further qualifies the given result value. |
[in] BSTR | bstrRemark | An optional remark |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • AddUnemployability

IGeneralFormRequest::AddUnemployability method |  |  |
Adds an unemployability structure to the list of unemployabilities. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddUnemployability( | BSTR DATE DATE DATE long BSTR VARIANT_BOOL | bstrStructName, dDate, dBeginDate, dEndDate, lPercentage, bstrRemark, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] DATE | dDate | The date when the unemployability record was created |
[in] DATE | dBeginDate | The date when the unemployability starts |
[in] DATE | dEndDate | The date when the unemployability ends. |
[in] long | lPercentage | The percentage of the unemployability supplied as a integer value in the interval [0,100]. |
[in] BSTR | bstrRemark | An optional remark |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • AddVaccination

IGeneralFormRequest::AddVaccination method |  |  |
Adds a vaccination structure to the list of vaccinations. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddVaccination( | BSTR DrugCodeType BSTR BSTR DATE BSTR BSTR VARIANT_BOOL | bstrStructName, eDrugCodeType, bstrCode, bstrName, dDate, bstrLOTNumber, bstrRemark, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] DrugCodeType | eDrugCodeType | The type of the drug catalog defined by the DrugCodeType enumerator. |
[in] BSTR | bstrCode | The code of the applied vaccine as given in the corresponding drug catalog defined by eDrugCodeType. |
[in] BSTR | bstrName | Textual description of the applied vaccine as given in the corresponding drug catalog defined by eDrugCodeType. |
[in] DATE | dDate | The date the vaccination was applied |
[in] BSTR | bstrLOTNumber | The LOT number of the vaccine |
[in] BSTR | bstrRemark | An optional remark |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • AddVar

IGeneralFormRequest::AddVar method
Adds a basic PDF form variable.

Note that first of all the semantically well defined addresses and structures should be preset before -if at all- the basic variables are set. Each generation/modification cycle ultimately ends with the display of the PDF form in Acrobat Reader. This is done under the assumption, that any missing and needed variable is inserted by the user directly. As a consequence there is no paradigm of "completeness" and "100% preset capability" requested and thus the setting of (semantically unknown) PDF variables is not compulsory.

space
C/C++ calling syntax
HRESULT AddVar( BSTR
BSTR
VARIANT_BOOL 		bstrName,
bstrValue,
*pbStatus);
Calling argument description
[in] BSTR bstrName The PDF internal variable name/placeholder.

Use the iterator pair GetFirstVar / GetNextVar to retrieve all basic PDF form variable names, the semantical typification and the status (defined or undefined) defined by the currently load PDF form.

[in] BSTR bstrValue The value in string representation.

Caution:

  1. a Date value (VarType = enVarDate) MUST be supplied as a string representation of Microsoft DATE, not as a date coded string!
  2. a Boolean value (VarType = enVarBoolean) MUST as {'enYes' | '1' | 'true' | 'on'} for a true value, and as {'enNo' | '0' | 'false' | 'off'} for a false value!
[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.


  • IGeneralFormRequest
  • Finalize

IGeneralFormRequest::Finalize method |  |  |
Finalizes and validates all data set so far in the GeneralFormRequest interface. This method should be called after all data have been set in the IGeneralFormRequest interface. |  |  | space
C/C++ calling syntax |  |  |
HRESULT Finalize( | 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. |  |


  • IGeneralFormRequest
  • GetAbortInfo

IGeneralFormRequest::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-in-error situation occurred. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IGeneralFormRequest
  • GetFirstAddressRole

IGeneralFormRequest::GetFirstAddressRole method |  |  |
Retrieves the first address of all semantically well defined address defined by the currently loaded PDF file. Note, that basically the variable name/placeholder and the status (defined or not) is returned not an IAddress interface. Based on the returned status an address can be set or overwritten by the AddAddress method using the given bstrAddressName variable. VARIANT_FALSE is returned if the end of the address list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstAddressRole( | AddressRoleType BSTR long long YesNoType VARIANT_BOOL | *peAddressRole, *pbstrAddressName, *plIndex, *plMaxOccurs, *peIsDefined, *pbStatus); |
Calling argument description |  |  |
[out] AddressRoleType | *peAddressRole | The role type/typification of the address defined by the AddressRoleType enumerator. |
[out] BSTR | *pbstrAddressName | The PDF internal variable name/placeholder onto which the address was mapped. |
[out] long | *plIndex | The '0'-based index into the array of addresses of the given address role type. |
[out] long | *plMaxOccurs | The maximal cardinality of this given address role type |
[out] YesNoType | *peIsDefined | Boolean that designates if the address is already preset and defined (enYes) or not (enNo) |
[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. |  |


  • IGeneralFormRequest
  • GetFirstStructRole

IGeneralFormRequest::GetFirstStructRole method
Retrieves the first structure of all semantically well defined structures defined by the currently loaded PDF file.

Note, that basically the variable name/placeholder and the status (defined or not) is returned. Based on the returned status a structure is set by the appropriate method e.g. AddDiagnosis and using the given bstrStructName variable.

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

space
C/C++ calling syntax
HRESULT GetFirstStructRole( StructRoleType
BSTR
long
long
YesNoType
BSTR
VARIANT_BOOL 		*peStructRoleType,
*pbstrStructName,
*plIndex,
*plMaxOccurs,
*peIsDefined,
*pbstrConstraint4Struct,
*pbStatus);
Calling argument description
[out] StructRoleType | *peStructRoleType | The role type/typification of the structure defined by the StructRoleType enumerator.
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped.
[out] long | *plIndex | The '0'-based index into the array of structures of the given structure role type.
[out] long | *plMaxOccurs | The maximal cardinality of this given structure role type
[out] YesNoType | *peIsDefined | Boolean that designates if the structure is already preset and defined (enYes) or not (enNo)
[out] BSTR *pbstrConstraint4Struct bstrConstraint4Struct is -if defined at all- a constraint onto the value space of the structure of type eStructRoleType. The constraint is formatted within the grammar of the SQL WHERE clause with the variable names of the structure as field names.

For example the constraint on the right distant sphere of an eyeglass prescription can be defined in terms of the numericResult structure as:

eResultCode=1 AND bstrUnit LIKE '[[]diop]' AND (bstrCode LIKE '28826-6' OR bstrCode LIKE '28780-5')

where eResultCode=1 requests LOINC as coding system, [diop] as UCUM unit and a LOINC code for the eyeglass prescription 28826-6 or for the lensmeter measurement 28780-5.

Please note, that the constraint is not enforced by the COM module to allow other data as well - in that sense it is more a hint than a constraint. However, it does not make any sense e.g. to add a glucose lab result for the aforementioned distant sphere!

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


  • IGeneralFormRequest
  • GetFirstVar

IGeneralFormRequest::GetFirstVar method
Retrieves the first basic PDF form variable.

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

space
C/C++ calling syntax
HRESULT GetFirstVar( VarType
BSTR
BSTR
BSTR
YesNoType
VARIANT_BOOL 		*peVarType,
*pbstrName,
*pbstrValue,
*pbstrEnumList,
*peIsDefined,
*pbStatus);
Calling argument description
[out] VarType | *peVarType | The basic data type of the variable defined by the VarType enumerator.
[out] BSTR | *pbstrName | The PDF internal variable name/placeholder.
[out] BSTR *pbstrValue The value in string representation. If the value is undefined, then bstrValue is empty.

Caution:

  1. a Date value (VarType = enVarDate) is supplied as a string representation of Microsoft DATE, not as a date coded string!
  2. a Boolean value (VarType = enVarBoolean) is returned as {'enYes' | 'enNo' ).
[out] BSTR | *pbstrEnumList | If eVarType=enVarEnumeration then bstrEnumList is the '#' separated list of all allowed tokens otherwise bstrEnumList is empty.
[out] YesNoType | *peIsDefined | A Boolean designating if the value is defined (enYes) or not (enNo).
[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.


  • IGeneralFormRequest
  • GetNextAddressRole

IGeneralFormRequest::GetNextAddressRole method |  |  |
Retrieves the next address of all semantically well defined address defined by the currently loaded PDF file. Note, that basically the variable name/placeholder and the status (defined or not) is returned not an IAddress interface. Based on the returned status an address can be set or overwritten by the AddAddress method using the given bstrAddressName variable. VARIANT_FALSE is returned if the end of the address list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextAddressRole( | AddressRoleType BSTR long long YesNoType VARIANT_BOOL | *peAddressRole, *pbstrAddressName, *plIndex, *plMaxOccurs, *peIsDefined, *pbStatus); |
Calling argument description |  |  |
[out] AddressRoleType | *peAddressRole | The role type/typification of the address defined by the AddressRoleType enumerator. |
[out] BSTR | *pbstrAddressName | The PDF internal variable name/placeholder onto which the address was mapped. |
[out] long | *plIndex | The '0'-based index into the array of addresses of the given address role type. |
[out] long | *plMaxOccurs | The maximal cardinality of this given address role type |
[out] YesNoType | *peIsDefined | Boolean that designates if the address is already preset and defined (enYes) or not (enNo) |
[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. |  |


  • IGeneralFormRequest
  • GetNextStructRole

IGeneralFormRequest::GetNextStructRole method
Retrieves the first structure of all semantically well defined structures defined by the currently loaded PDF file.

Note, that basically the variable name/placeholder and the status (defined or not) is returned. Based on the returned status a structure is set by the appropriate method e.g. AddDiagnosis and using the given bstrStructName variable.

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

space
C/C++ calling syntax
HRESULT GetNextStructRole( StructRoleType
BSTR
long
long
YesNoType
BSTR
VARIANT_BOOL 		*peStructRoleType,
*pbstrStructName,
*plIndex,
*plMaxOccurs,
*peIsDefined,
*pbstrConstraint4Struct,
*pbStatus);
Calling argument description
[out] StructRoleType | *peStructRoleType | The role type/typification of the structure defined by the StructRoleType enumerator.
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped.
[out] long | *plIndex | The '0'-based index into the array of structures of the given structure role type.
[out] long | *plMaxOccurs | The maximal cardinality of this given structure role type
[out] YesNoType | *peIsDefined | Boolean that designates if the structure is already preset and defined (enYes) or not (enNo)
[out] BSTR *pbstrConstraint4Struct bstrConstraint4Struct is -if defined at all- a constraint onto the value space of the structure of type eStructRoleType. The constraint is formatted within the grammar of the SQL WHERE clause with the variable names of the structure as field names.

For example the constraint on the right distant sphere of an eyeglass prescription can be defined in terms of the numericResult structure as:

eResultCode=1 AND bstrUnit LIKE '[[]diop]' AND (bstrCode LIKE '28826-6' OR bstrCode LIKE '28780-5')

where eResultCode=1 requests LOINC as coding system, [diop] as UCUM unit and a LOINC code for the eyeglass prescription 28826-6 or for the lensmeter measurement 28780-5.

Please note, that the constraint is not enforced by the COM module to allow other data as well - in that sense it is more a hint than a constraint. However, it does not make any sense e.g. to add a glucose lab result for the aforementioned distant sphere!

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


  • IGeneralFormRequest
  • GetNextVar

IGeneralFormRequest::GetNextVar method
Retrieves the next basic PDF form variable.

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

space
C/C++ calling syntax
HRESULT GetNextVar( VarType
BSTR
BSTR
BSTR
YesNoType
VARIANT_BOOL 		*peVarType,
*pbstrName,
*pbstrValue,
*pbstrEnumList,
*peIsDefined,
*pbStatus);
Calling argument description
[out] VarType | *peVarType | The basic data type of the variable defined by the VarType enumerator.
[out] BSTR | *pbstrName | The PDF internal variable name/placeholder.
[out] BSTR *pbstrValue The value in string representation. If the value is undefined, then bstrValue is empty.

Caution:

  1. a Date value (VarType = enVarDate) is supplied as a string representation of Microsoft DATE, not as a date coded string!
  2. a Boolean value (VarType = enVarBoolean) is returned as {'enYes' | 'enNo' ).
[out] BSTR | *pbstrEnumList | If eVarType=enVarEnumeration then bstrEnumList is the '#' separated list of all allowed tokens otherwise bstrEnumList is empty.
[out] YesNoType | *peIsDefined | A Boolean designating if the value is defined (enYes) or not (enNo).
[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.


  • IGeneralFormRequest
  • SetCard

IGeneralFormRequest::SetCard method |  |  |
Sets the patient's insurance card information (might be the patient card later on) - this information is optional. |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetCard( | BSTR BSTR DATE DATE BSTR BSTR VARIANT_BOOL | bstrStructName, bstrCardID, dExpiryDate, dValidationDate, bstrValidationID, bstrValidationServer, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] BSTR | bstrCardID | The mandatory unique 20 digits card identifier |
[in] DATE | dExpiryDate | The mandatory expiry date of the card |
[in] DATE | dValidationDate | The optional date of the last validation of the card's data |
[in] BSTR | bstrValidationID | The optional replied ID when the last validation of the card's data was performed |
[in] BSTR | bstrValidationServer | The optional server for the last validation process |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • SetForm

IGeneralFormRequest::SetForm method |  |  |
Sets the primary form object reference. The dependent object references form a object reference chain with the form 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 SetForm( | BSTR DATE long VARIANT_BOOL | bstrRequestFormID, dRequestFormDate, lRequestFormTimestamp, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrRequestFormID | The form ID is the main software's ID of the form process. This is one of 3 identifiers that constitute the form object reference. |
[in] DATE | dRequestFormDate | The notification date is the main software's date of the notification. This is one of 3 identifiers that constitute the form object reference. |
[in] long | lRequestFormTimestamp | This is a UNIX timestamp defined at the moment of the form's infoset generation. Set this variable 0 to indicate the generation of a new form object reference. The IGeneralFormRequestManager::GetXML method will return the timestamp that must be used from that point on as 3rd parameter of the object reference. This is one of 3 identifiers that constitute the form object reference. The timestamp will be generated once for a certain form object reference and thereafter the timestamp is always referenced |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • SetLaw

IGeneralFormRequest::SetLaw method |  |  |
Sets the law and its dependent information |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetLaw( | BSTR LawType DATE BSTR BSTR BSTR VARIANT_BOOL | bstrStructName, eLawType, dCaseDate, bstrCaseID, bstrInsuredID, bstrContractNumber, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] LawType | eLawType | The type of law to set from the LawType enumeration |
[in] DATE | dCaseDate | The case date of the insurance (e.g. date of accident in UVG) This date might undefined for certain laws and therefore left empty |
[in] BSTR | bstrCaseID | The case ID of the insurance (e.g. accident number in UVG) This ID might undefined for certain laws and therefore left empty |
[in] BSTR | bstrInsuredID | The patient's ID at the insurance This ID might be undefined for certain laws and therefore left empty |
[in] BSTR | bstrContractNumber | Contract number if such a special contract exists between provider and insurance |
[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. |  |


  • IGeneralFormRequest
  • SetPackage

IGeneralFormRequest::SetPackage method |  |  |
Defines the identification parameters of the main software that uses this DLL. |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetPackage( | BSTR long long BSTR VARIANT_BOOL | bstrSoftwarePackage, lSoftwareVersion, lSoftwareID, bstrSoftwareCopyright, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrSoftwarePackage | Name of the main software that uses this DLL |
[in] long | lSoftwareVersion | Version of the main software codes as 32-bit value where lSoftwareVersion = 100*Major version + Minor version. |
[in] long | lSoftwareID | Optional ID of the main software that uses this DLL |
[in] BSTR | bstrSoftwareCopyright | 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 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. |  |


  • IGeneralFormRequest
  • SetPatient

IGeneralFormRequest::SetPatient method
Sets the primary parameters and structured address of the patient.

The address is defined via an IAddress interface pointer and the address data must be defined prior to call this method.

space
C/C++ calling syntax
HRESULT SetPatient( BSTR
SexType
DATE
BSTR
IAddress
VARIANT_BOOL 		bstrAddressName,
eSexType,
dBirthdate,
bstrSSN,
*pIAddress,
*pbStatus);
Calling argument description
[in] BSTR | bstrAddressName | NOT_YET
[in] SexType | eSexType | The patient's gender.
[in] DATE | dBirthdate | The patient's birthdate.
[in] BSTR bstrSSN Defines the social security number (SSN) of the patient whereupon 3 distinguished types are allowed:
  • the old 11 digit Swiss SSN ("AHV-Nummer") as defined by Federal Social Insurance Office
  • the new 13 digit Swiss SSN ("SV-Nummer") beginning with 756 as defined by Federal Social Insurance Office
  • the new 4-10 digit SSN of Liechtenstein ("AHV-Nummer") as defined by Liechtensteinische AHV-IV-FAK
The SSN can be supplied in its printed (with dots) or electronic (only digits) form.
[in] IAddress | *pIAddress | Pointer to an IAddress interface instance that holds the structured address parts.
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
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.


  • IGeneralFormRequest
  • SetRefObject

IGeneralFormRequest::SetRefObject method |  |  |
Sets the optional depended object reference of type credit, invoice, reminder, MCD, form, or notification for which this form process is actually started. This reference object forms an object reference chain with the form 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 SetRefObject( | ObjectType BSTR DATE long VARIANT_BOOL | eRefObjectType, bstrRequestID, dRequestDate, lRequestTimestamp, *pbStatus); |
Calling argument description |  |  |
[in] ObjectType | eRefObjectType | The type of the depended object reference. |
[in] BSTR | bstrRequestID | The request ID is the main software's identification of the dependent reference object. This is one of 3 identifiers that constitute this object reference. |
[in] DATE | dRequestDate | The request date is the main software's date of the dependent reference object. This is one of 3 identifiers that constitute this object reference. |
[in] long | lRequestTimestamp | This is a UNIX timestamp defined at the moment of the dependent reference object's infoset generation. This is one of 3 identifiers that constitute this 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. |  |


  • IGeneralFormRequest
  • SetRequest

IGeneralFormRequest::SetRequest method |  |  |
Sets the role and place information, as well as the processing parameters "storno" and "copy". Note, that whenever the "storno" and/or "copy" parameters are set then the timestamp of the topmost form object reference (SetForm) must be defined that is > 0 otherwise an error will result in the IGeneralFormRequestManager::GetXML method. |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetRequest( | RoleType PlaceType BSTR YesNoType YesNoType VARIANT_BOOL | eRoleType, ePlaceType, bstrRoleTitle, eIsStorno, eIsCopy, *pbStatus); |
Calling argument description |  |  |
[in] RoleType | eRoleType | Defines the role category that the form producer is best categorized by. If the form producer has role undefined by the role enumeration then use enRoleOther and additionally supply a role title with a description of the role. |
[in] PlaceType | ePlaceType | Defines the principle place where the form producer is practicing. |
[in] BSTR | bstrRoleTitle | Optional role title/description of the form producer. If a suitable predefined role can not be set then bstrRoleTitle is mandatory (use enRoleOther as role in that case) |
[in] YesNoType | eIsStorno | Boolean value that defines the "storno" status of the form process. eIsStorno should be false when the initial form infoset is produced. At this step the timestamp is generated and returned in the GeneralFormRequestManager::GetXML method. Whenever eIsStorno is true then the form timestamp must be set otherwise an error will result. |
[in] YesNoType | eIsCopy | Boolean value that defines the "copy" status of the form process. eIsCopy should be false when the initial XML infoset is produced. At this step the timestamp is generated and returned in the IGeneralFormRequestRequestManager::GetXML method. Whenever eIsCopy is true then the form timestamp must be set otherwise an error will result. |
[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. |  |


  • IGeneralFormRequest
  • SetTransport

IGeneralFormRequest::SetTransport method |  |  |
Sets transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to). All the involved parties are defined by EAN numbers as defined by www.medwin.ch. This method allows to sign and/or encrypt the resulting XML infoset. Therefore, read the notes about signature and encryption to get familiar with these concepts. |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetTransport( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrFromEAN, bstrFromPFXFile, bstrFromPFXPassword, bstrViaEAN, bstrToEAN, bstrToBinDERFile, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrFromEAN | The EAN number of the sender as supplied by medwin.ch |
[in] BSTR | bstrFromPFXFile | The file name of the PFX certificate that is the private certificate of the "from" entity. If the variable is empty or NULL then no signature is applied otherwise a signature might be applied depending on the lXMLGenerationAttributes of the GetXML method. |
[in] BSTR | bstrFromPFXPassword | The password to open the PFX certificate. The password is only used if a PFX certificate is supplied. |
[in] BSTR | bstrViaEAN | The EAN number of the first intermediate as supplied by medwin.ch |
[in] BSTR | bstrToEAN | The EAN number of the recipient as supplied by medwin.ch |
[in] BSTR | bstrToBinDERFile | The file name of the binary DER certificate that is the public certificate of the "to" entity. If the variable is empty or NULL then no encryption is applied otherwise encryption might be applied depending on the lXMLGenerationAttributes of the GetXML |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • SetTreatment

IGeneralFormRequest::SetTreatment method |  |  |
Sets the primary treatment input data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetTreatment( | BSTR DATE DATE CantonType TreatmentType TreatmentReasonType VARIANT_BOOL | bstrStructName, dDateBegin, dDateEnd, eTreatmentCanton, eTreatmentType, eTreatmentReason, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrStructName | The variable name/placeholder of the structure. Use the iterator pair GetFirstStructRole / GetNextStructRole to retrieve the variable name, the semantical typification and the status (defined or undefined) of all structures defined by the currently load PDF form. |
[in] DATE | dDateBegin | dDateBegin is the start of the treatment. |
[in] DATE | dDateEnd | dDateEnd is the end of the treatment. |
[in] CantonType | eTreatmentCanton | The treatment canton given by the CantonType enumeration |
[in] TreatmentType | eTreatmentType | The treatment type given by the TreatmentType enumeration |
[in] TreatmentReasonType | eTreatmentReason | The treatment reason given by the TreatmentReasonType enumeration |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequest
  • CreateAddress

IGeneralFormRequest::CreateAddress property
Create an instance of the IAddress interface.

Any address is specified using properties and methods of this interface.

space
C/C++ calling syntax
[get] HRESULT | CreateAddress( IAddress **aIAddress);
space
Calling argument description
[out, retval] IAddress | **aIAddress
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
  • IAddress **GetCreateAddress(void);
space


  • IGeneralFormRequestManager

IGeneralFormRequestManager interface | V4.30/ 7 Sep 2011
The IGeneralFormRequestManager interface provides all the necessary tools to produce a filled out PDF form or a XML infoset of type generalFormRequest_430.xsd.

Firstly, an appropriate data file must be loaded, where the following types are suitable:

  • a medForms OID
  • an already saved PDF form, that can further be refined
  • an already produced XML infoset of type generalFormRequest_430.xsd
  • a XML infoset of type generalNotification_430.xsd if and only if the pdf_form_oid attribute is defined and stems from the medForms OID space.
If the loading process is successful both the IGeneralFormRequest and the IGeneralFormResult interfaces are returned. These interfaces can be used to preset the semantically well-known data (IGeneralFormRequest) or retrieved the loaded data (IGeneralFormResult).

After all data is preset -primarily the semantically well-known addresses and structures- a data finalization and visualization step is run, where the PDF form with the preset data is presented to the user using Acrobat Reader. This finalization is done under the assumption, that any missing and needed variable is inserted/modified by the user directly. As a consequence there is no paradigm of "completeness" and "100% preset capability" requested in this form management. After the user-driven review and modification process the final PDF form and/or XML infoset is produced by the GetPDF and/or GetXML methods, respectively.

Due to the processing attributes "storno" and "copy" a previously generated and sent XML infoset can be canceled or a copy can be produced (cf. Notes about processing attributes).

space
Methods | 7 methods
GetAbortInfo | Get the abort information string with the error coded in the module language
GetLogSettings | Get the log settings for the module.
GetPDF | The GetPDF method returns the final PDF form
GetXML | The GetXML method generates the XML infoset based the currently loaded and reviewed PDF form and the XML generation attributes
LoadPDF | Loads either a previously saved PDF form or PDF form template into memory for further processing and refinement via the returned interface handles
LoadXML | Loads a previously generated XML infoset of type generalFormRequest_430.xsd or generalNotification_430.xsd back into memory for further processing and refinement via the returned interface handles.
SetLogSettings | Set the log settings for the module
Properties | 5 properties
[get] Forms | The GetForms property returns an instance of the IForms interface
[get/put] ModuleLanguage | Get/Set the language for the module i.e
[get] ModuleVersion | Get the version of the GeneralFormRequestManager module.
[get] ModuleVersionText | Get the textual version of the GeneralFormRequestManager module.
[get/put] Modus | Get the operation modus


  • IGeneralFormRequestManager
  • GetAbortInfo

IGeneralFormRequestManager::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-in-error situation occurred. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IGeneralFormRequestManager
  • GetLogSettings

IGeneralFormRequestManager::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 | eDoArchive defines if the log file is recycled if the maximum size is reached (enNo) or if the log file is archived (enYes).
[out] long *plMaxSizeKB 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] YesNoType | *peDoArchive | The base directory where log files are archived. bstrArchiveDir is only defined if eDoArchive=enYes otherwise bstrArchiveDir is empty.
[out] BSTR | *pbstrArchiveDir | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
[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.


  • IGeneralFormRequestManager
  • GetPDF

IGeneralFormRequestManager::GetPDF method |  |  |
The GetPDF method returns the final PDF form. The generalFormRequest system does not endorse a paradigm of "completeness" or "100% preset capability". Therefore, the PDF form can only be finalized by a user-driven review process whereas the visualization is done by Acrobat Reader using the preset PDF form. After that review and modification process the PDF is per definition in final state. However, the review process is suppressed if and only if neither an empty PDF form template was loaded nor any data was altered between the initial load of the PDF and request of the PDF. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetPDF( | YesNoType BSTR long long VARIANT_BOOL | eForceAcrobat2Run, *pbstrPDFFile, *plTotalVars, *plUndefVars, *pbStatus); |
Calling argument description |  |  |
[in] YesNoType | eForceAcrobat2Run | A Boolean that enforces (enYes) the user-driven review and modification process even if the conditions are not fulfilled. eForceAcrobat2Run=enNo requests the automatic behavior. |
[out] BSTR | *pbstrPDFFile | The full file name (path + name) where the final PDF form is stored. The PDF form file must be saved to a different location as all temporary files in the working directory are deleted before the COM module shuts down! |
[out] long | *plTotalVars | The total number of variables of the PDF form file |
[out] long | *plUndefVars | The number of still undefined variables of the PDF form file. Note, that this is not necessarily an error condition as some variable are on purpose left empty in the user-driven review process. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormRequestManager
  • GetXML

IGeneralFormRequestManager::GetXML method
The GetXML method generates the XML infoset based the currently loaded and reviewed PDF form and the XML generation attributes. The such generated infoset is validated against the XSD schema, and stored as UTF8 XML file in the internal working directory. The full file name to this XML document is returned in the pbstrOutputFile output variable. The XML file must be saved to a different location as all temporary XML files in the working directory are deleted before the COM module shuts down!

The generalFormRequest system does not endorse a paradigm of "completeness" or "100% preset capability". Therefore, the PDF form can only be finalized by a user-driven review process whereas the visualization is done by Acrobat Reader using the preset PDF form. After that review and modification process the final XML can be produced based on the final PDF form. However, the review process is suppressed if and only if neither an empty PDF form template was loaded nor any data was altered between the initial load of the PDF and the XML generation.

Note about encryption: an encrypted XML infoset can not be loaded successfully by LoadXML. Therefore, to build a local archive besides encrypted XML infoset call GetXML twice once with the lXMLGenerationAttributes = enGenerateWithoutEncryption

space
C/C++ calling syntax
HRESULT GetXML( long
YesNoType
BSTR
long
long
VARIANT_BOOL 		lXMLGenerationAttributes,
eForceAcrobat2Run,
*pbstrOutputFile,
*plValidationError,
*plTimestamp,
*pbStatus);
Calling argument description
[in] long lXMLGenerationAttributes This variable defines which principal parts of the XML generation should not be carried out even if the data for that part are defined. lXMLGenerationAttributes is a 32-bit integer where the possible excludes are values from the XMLGenerationAttributes data type and are ORed together to form the overall command.

This feature is necessary to generate different "flavors" of XML infosets without re-setting input data. For instance, an encrypted XML infoset for the "toEan" entity can be produced and in a second call the XML infoset without encryption and signature (lXMLGenerationAttributes = enGenerateWithoutEncryption | enGenerateWithoutSignature) is requested for a local archive (that can be loaded back later!).

[in] YesNoType | eForceAcrobat2Run | A Boolean that enforces (enYes) the user-driven review and modification process even if the conditions are not fulfilled. eForceAcrobat2Run=enNo requests the automatic behavior.
[out] BSTR *pbstrOutputFile The full file name (path + name) where the XML infoset is stored in UTF-8 mode.

The XML file must be saved to a different location as all temporary XML files in the working directory are deleted before the COM module shuts down!

[out] long | *plValidationError | lValidationError is filled with the validation error code returned by the MSXML-4 parser. A zero value indicates that the validation was successful.
[out] long *plTimestamp The timestamp of the XML document as epoch time (seconds elapsed since 1.1.1970) that is used as timestamp of the topmost object reference from that point on.

If the timestamp for the topmost object reference was already set (e.g. to produce a copy) then this same timestamp is returned.

[out, 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.


  • IGeneralFormRequestManager
  • LoadPDF

IGeneralFormRequestManager::LoadPDF method |  |  |
Loads either a previously saved PDF form or PDF form template into memory for further processing and refinement via the returned interface handles. PDF form template is defined by the corresponding medForms OID, whereas the absolute OID or the shortened form (e.g. medforms.20.30.5050) can be supplied. |  |  | space
C/C++ calling syntax |  |  |
HRESULT LoadPDF( | BSTR BSTR long LanguageType IGeneralFormRequest IGeneralFormResult VARIANT_BOOL | bstrPDFTemplate, *pbstrFormOID, *plFormVersion, *peFormLanguage, **ppIGeneralFormRequest, **ppIGeneralFormResult, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrPDFTemplate | Either a full file name (path + name) of a previously saved PDF form or medForms OID as surrogate for a PDF form template. The medForms OID can be supplied as absolute OID or in shortened form (e.g. medforms.20.30.5050). In the latter case the pdf_form_oid attribute must be defined and must stem form the medForms OID space otherwise an error is generated. |
[out] BSTR | *pbstrFormOID | The OID of the loaded PDF form. This is of importance as soon as a partially populated PDF form is loaded as the PDF file name normally does not indicate such information. |
[out] long | *plFormVersion | The version of the loaded PDF form as 32-bit value where lFormVersion = 100*Major version + Minor version. This is of importance as soon as a partially populated PDF form is loaded as the PDF file name normally does not indicate such information. |
[out] LanguageType | *peFormLanguage | The language of the loaded PDF form. This is of importance as soon as a partially populated PDF form is loaded as the PDF file name normally does not indicate such information. |
[out] IGeneralFormRequest | **ppIGeneralFormRequest | The IGeneralFormRequest interface handle that allows to add further data. The handle is NULL if an error occurred. |
[out] IGeneralFormResult | **ppIGeneralFormResult | The IGeneralFormResponse 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. |  |


  • IGeneralFormRequestManager
  • LoadXML

IGeneralFormRequestManager::LoadXML method |  |  |
Loads a previously generated XML infoset of type generalFormRequest_430.xsd or generalNotification_430.xsd back into memory for further processing and refinement via the returned interface handles. |  |  | space
C/C++ calling syntax |  |  |
HRESULT LoadXML( | BSTR BSTR long LanguageType BSTR IGeneralFormRequest IGeneralFormResult VARIANT_BOOL | bstrInputFile, *pbstrFormOID, *plFormVersion, *peFormLanguage, *pbstrUsedSchema, **ppIGeneralFormRequest, **ppIGeneralFormResult, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrInputFile | The full file name (path + name) of a XML infoset of type generalFormRequest_430.xsd, or generalNotificationt_430.xsd. In the latter case the pdf_form_oid attribute must be defined and must stem form the medForms OID space otherwise an error is generated. |
[out] BSTR | *pbstrFormOID | The OID of the loaded PDF form. This is of importance as soon as a partially populated PDF form is loaded as the PDF file name normally does not indicate such information. |
[out] long | *plFormVersion | The language of the loaded PDF form. This is of importance as soon as a partially populated PDF form is loaded as the PDF file name normally does not indicate such information. |
[out] LanguageType | *peFormLanguage | The version of the loaded PDF form as 32-bit value where lFormVersion = 100*Major version + Minor version. This is of importance as soon as a partially populated PDF form is loaded as the PDF file name normally does not indicate such information. |
[out] BSTR | *pbstrUsedSchema | The full XSD name of the loaded XML file. |
[out] IGeneralFormRequest | **ppIGeneralFormRequest | The IGeneralFormRequest interface handle that allows to add further data. The handle is NULL if an error occurred. |
[out] IGeneralFormResult | **ppIGeneralFormResult | The IGeneralFormResponse 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. |  |


  • IGeneralFormRequestManager
  • SetLogSettings

IGeneralFormRequestManager::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.


  • IGeneralFormRequestManager
  • Forms

IGeneralFormRequestManager::Forms property
The GetForms property returns an instance of the IForms interface.

The IForms interface serves 2 purposes:

  1. The IForms::Search method searches and the iterator pair IForms::GetFirstObject / IForms::GetNextObject retrieve the found form space records. The form space is a hierarchical tree structure consisting of descriptive nodes. Each node in turn can hold other descriptive nodes and PDF form template files. Thus the form space is a concept to group the PDF forms inside a logical, hierarchical structure.

    Each node and leaf of the form space is described by a mandatory medForms OID, a name, a Boolean value if it is a node or a leaf, and an optional UID, where UID stands for the unique company specific ID assigned by the Federal Statistical Office. The given OID always stems from the medForms OID space and is supplied as absolute OID or as shortened form (e.g. medforms.20.30.5050), where «medforms» is the abbreviation for the medForms base OID

  2. The IForms::StartUpdate / IForms::UpdateStatus methods allow to update and extend the above mentioned form space as well as the PDF forms itself. The asynchronous update process can be started at any time, concurrently to the normal processing. However, the COM module starts the process automatically if the last update is older than 14 days.
space
C/C++ calling syntax
[get] HRESULT | Forms( IForms **aIForms);
space
Calling argument description
[out, retval] IForms | **aIForms
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
  • IForms **GetForms(void);
space


  • IGeneralFormRequestManager
  • ModuleLanguage

IGeneralFormRequestManager::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 PDF form language are independent and can be different! The latter one is defined purely by the PDF form loaded.

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


  • IGeneralFormRequestManager
  • ModuleVersion

IGeneralFormRequestManager::ModuleVersion property
Get the version of the GeneralFormRequestManager 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


  • IGeneralFormRequestManager
  • ModuleVersionText

IGeneralFormRequestManager::ModuleVersionText property
Get the textual version of the GeneralFormRequestManager 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


  • IGeneralFormRequestManager
  • Modus

IGeneralFormRequestManager::Modus property
Get the operation modus.

The default modus is enProduction whereas for developing/debugging purposes enTest can be set.

space
C/C++ calling syntax
[get] HRESULT | Modus( ModusType *aModusType);
[put] HRESULT | Modus( ModusType aModusType);
space
Calling argument description
[out,retval] ModusType | *aModusType
[in] ModusType | aModusType
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
  • ModusType *GetModus(void);
  • void PutModus( ModusType aModusType);
space


  • IGeneralFormResult

IGeneralFormResult interface |  | V4.30/ 7 Sep 2011
The IGeneralFormResult interface allows to read back all data that have been set by the IGeneralFormRequest interface, by loading a previously generated XML infoset with the IGeneralFormRequestManger::LoadXML method or by loading a previously populated PDF form with the IGeneralFormRequestManger::LoadPDF. |  | space
Methods |  | 26 methods
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetCard | Retrieves the patient's insurance card information (might be the patient card later on) |
GetFirstAddress | Retrieves the first address data from the list of all addresses |
GetFirstAllergy | Retrieves the first allergy |
GetFirstDiagnosis | Retrieves the first diagnosis |
GetFirstMedication | Retrieves the first medication structure |
GetFirstNumericResult | Retrieves the first numerical result structure |
GetFirstTextResult | Retrieves the first textual result structure |
GetFirstUnemployability | Retrieves the first unemployability structure |
GetFirstVaccination | Retrieves the first vaccination structure |
GetForm | Retrieves the main form object reference parameters |
GetLaw | Retrieves the data about the applied law and its dependent information |
GetNextAddress | Retrieves the next address data from the list of all addresses |
GetNextAllergy | Retrieves the next allergy |
GetNextDiagnosis | Retrieves the next diagnosis |
GetNextMedication | Retrieves the next medication structure |
GetNextNumericResult | Retrieves the next numerical result structure |
GetNextTextResult | Retrieves the next textual result structure |
GetNextUnemployability | Retrieves the next unemployability structure |
GetNextVaccination | Retrieves the next vaccination structure |
GetPackage | Retrieves the identification parameters of the main software that used this DLL. |
GetPatient | Retrieves the primary parameters and structured address of the patient |
GetRefObject | Retrieves the dependent object reference parameters if any was defined |
GetRequest | Retrieves the role and place information, the processing parameters "storno" and "copy" besides data language and optional remark. |
GetTransport | Returns the transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to) |
GetTreatment | Retrieves the primary treatment structure data. |
Properties |  | 0 properties


  • IGeneralFormResult
  • GetAbortInfo

IGeneralFormResult::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-in-error situation occurred. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IGeneralFormResult
  • GetCard

IGeneralFormResult::GetCard method |  |  |
Retrieves the patient's insurance card information (might be the patient card later on). VARIANT_FALSE is returned if the card structure is undefined. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetCard( | BSTR DATE DATE BSTR BSTR VARIANT_BOOL | *pbstrCardID, *pdExpiryDate, *pdValidationDate, *pbstrValidationID, *pbstrValidationServer, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrCardID | The mandatory unique 20 digits card identifier |
[out] DATE | *pdExpiryDate | The mandatory expiry date of the card |
[out] DATE | *pdValidationDate | The optional date of the last validation of the card's data |
[out] BSTR | *pbstrValidationID | The optional replied ID when the last validation of the card's data was performed |
[out] BSTR | *pbstrValidationServer | The optional server for the last validation process |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the data are undefined |
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. |  |


  • IGeneralFormResult
  • GetFirstAddress

IGeneralFormResult::GetFirstAddress method |  |  |
Retrieves the first address data from the list of all addresses. The address data consists of the semantical typification of the address, various identifiers (EAN, UID number,...) and the structured address itself. The IAddress interface might be NULL if no address was defined. VARIANT_FALSE is returned if the end of the address list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstAddress( | BSTR AddressRoleType BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrAddressName, *peAddressRole, *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **ppIAddress, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrAddressName | The PDF internal variable name/placeholder onto which the address was mapped. |
[out] AddressRoleType | *peAddressRole | The role type of the address defined by the AddressRoleType enumerator. |
[out] BSTR | *pbstrEAN | EAN number of the address party as supplied by medwin.ch bstrEAN is empty if undefined |
[out] BSTR | *pbstrZSR | ZSR number of the address party as supplied by santésuisse bstrZSR is empty if undefined. Note, that an employer's national BER number as defined by Swiss Federal Statistical Office MUST be supplied within the bstrZSR variable. |
[out] BSTR | *pbstrNIF | The IV specific identification number NIF of the address party. bstrNIF is empty if undefined |
[out] BSTR | *pbstrSpecialty | The specialty of the address party, i.e. FMH title of a physician. bstrSpecialty is empty if undefined |
[out] IAddress | **ppIAddress | The IAddress interface handle that allows to get the structured address data back. If no address is defined then the handle is NULL. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE 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. |  |


  • IGeneralFormResult
  • GetFirstAllergy

IGeneralFormResult::GetFirstAllergy method |  |  |
Retrieves the first allergy. VARIANT_FALSE is returned if the end of the allergy list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstAllergy( | BSTR AllergyType BSTR BSTR DATE SeverityLevelType VARIANT_BOOL | *pbstrStructName, *peAllergyType, *pbstrCode, *pbstrName, *pdDate, *peSeverityLevel, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] AllergyType | *peAllergyType | The type of the allergy defined by the AllergyType enumerator |
[out] BSTR | *pbstrCode | The code of the allergy as given in the corresponding allergy catalog. bstrCode is empty if no coding system was used. |
[out] BSTR | *pbstrName | Textual description of the allergy as given in the corresponding allergy catalog or a free text if no coding system was used. |
[out] DATE | *pdDate | The date the allergy was first diagnosed |
[out] SeverityLevelType | *peSeverityLevel | The severity level of the allergy defined by the SeverityLevel enumerator |
[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. |  |


  • IGeneralFormResult
  • GetFirstDiagnosis

IGeneralFormResult::GetFirstDiagnosis method |  |  |
Retrieves the first diagnosis. VARIANT_FALSE is returned if the end of the diagnosis list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstDiagnosis( | BSTR DiagnosisCodeType BSTR BSTR DATE YesNoType BSTR VARIANT_BOOL | *pbstrStructName, *peDiagnosisCodeType, *pbstrCode, *pbstrName, *pdDate, *peIsActive, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] DiagnosisCodeType | *peDiagnosisCodeType | The type of the diagnosis defined by the DiagnosisCodeType enumerator. |
[out] BSTR | *pbstrCode | The code of the diagnosis as given in the corresponding diagnosis catalog defined by eDiagnosisCodeType . |
[out] BSTR | *pbstrName | Textual description of the code as given in the corresponding diagnosis catalog defined by eDiagnosisCodeType . |
[out] DATE | *pdDate | The date the diagnosis was defined |
[out] YesNoType | *peIsActive | A Boolean designating if the diagnosis is active (enYes) or not (enNo). |
[out] BSTR | *pbstrRemark | An optional remark |
[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. |  |


  • IGeneralFormResult
  • GetFirstMedication

IGeneralFormResult::GetFirstMedication method |  |  |
Retrieves the first medication structure. VARIANT_FALSE is returned if the end of the medication list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstMedication( | BSTR DrugCodeType BSTR BSTR DATE DATE VARIANT_BOOL | *pbstrStructName, *peDrugCodeType, *pbstrCode, *pbstrName, *pdBeginDate, *pdEndDate, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] DrugCodeType | *peDrugCodeType | The type of the drug catalog defined by the DrugCodeType enumerator. |
[out] BSTR | *pbstrCode | The code of the applied drug as given in the corresponding drug catalog defined by eDrugCodeType. |
[out] BSTR | *pbstrName | Textual description of the applied drug as given in the corresponding drug catalog defined by eDrugCodeType. |
[out] DATE | *pdBeginDate | The date when the medication started |
[out] DATE | *pdEndDate | The date when the medication ended. 0 is returned if the medication is still ongoing. |
[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. |  |


  • IGeneralFormResult
  • GetFirstNumericResult

IGeneralFormResult::GetFirstNumericResult method |  |  |
Retrieves the first numerical result structure. VARIANT_FALSE is returned if the end of the numerical result list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstNumericResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peResultCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrValue, *pbstrUnit, *pbstrLowerReference, *pbstrUpperReference, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] ResultCodeType | *peResultCodeType | The used coding system in which the result is defined. |
[out] BSTR | *pbstrCode | The code of the measurement defined in the used coding system. |
[out] BSTR | *pbstrName | The name of the measurement. |
[out] DATE | *pdDate | The date of the measurement |
[out] BSTR | *pbstrValue | The numerical measurement value ASCII formatted - thus the full measurement result consist of eOperator*bstrValue*bstrUnit Note that the formatting of numerical values in the PDF is cumbersome and partly impossible (no scientific notation available). Furthermore there is no possibility to extracted and propagate such formatting instructions from the PDF via the COM module to the calling software. Consequently, all values of the numerical result structure are supplied ASCII formatted. |
[out] BSTR | *pbstrUnit | The unit in which the all values are expressed - thus the full measurement result consist of eOperator*bstrValue*bstrUnit |
[out] BSTR | *pbstrLowerReference | The lower reference value ASCII formatted of the measurement expressed in the same unit as the value. An empty string is returned if no lower reference value is defined. |
[out] BSTR | *pbstrUpperReference | The upper reference value ASCII formatted of the measurement expressed in the same unit as the value. An empty string is returned if no upper reference value is defined. |
[out] BSTR | *pbstrRemark | An optional remark. |
[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. |  |


  • IGeneralFormResult
  • GetFirstTextResult

IGeneralFormResult::GetFirstTextResult method |  |  |
Retrieves the first textual result structure. VARIANT_FALSE is returned if the end of the textual result list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstTextResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peResultCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrValue, *pbstrReference, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] ResultCodeType | *peResultCodeType | The used coding system in which the result is defined. |
[out] BSTR | *pbstrCode | The code of the measurement defined in the used coding system. |
[out] BSTR | *pbstrName | The name of the measurement. |
[out] DATE | *pdDate | The date of the measurement. |
[out] BSTR | *pbstrValue | The textual value of the measurement. |
[out] BSTR | *pbstrReference | An optional reference of any kind that further qualifies the given result value. |
[out] BSTR | *pbstrRemark | An optional remark. |
[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. |  |


  • IGeneralFormResult
  • GetFirstUnemployability

IGeneralFormResult::GetFirstUnemployability method |  |  |
Retrieves the first unemployability structure. VARIANT_FALSE is returned if the end of the unemployability list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstUnemployability( | BSTR DATE DATE DATE long BSTR VARIANT_BOOL | *pbstrStructName, *pdDate, *pdBeginDate, *pdEndDate, *plPercentage, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] DATE | *pdDate | The date when the unemployability record was created |
[out] DATE | *pdBeginDate | The date when the unemployability starts |
[out] DATE | *pdEndDate | The date when the unemployability ends. |
[out] long | *plPercentage | The percentage of the unemployability supplied as a integer value in the interval [0,100]. |
[out] BSTR | *pbstrRemark | An optional remark |
[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. |  |


  • IGeneralFormResult
  • GetFirstVaccination

IGeneralFormResult::GetFirstVaccination method |  |  |
Retrieves the first vaccination structure. VARIANT_FALSE is returned if the end of the vaccination list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstVaccination( | BSTR DrugCodeType BSTR BSTR DATE BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peDrugCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrLOTNumber, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] DrugCodeType | *peDrugCodeType | The type of the drug catalog defined by the DrugCodeType enumerator. |
[out] BSTR | *pbstrCode | The code of the applied vaccine as given in the corresponding drug catalog defined by eDrugCodeType. |
[out] BSTR | *pbstrName | Textual description of the applied vaccine as given in the corresponding drug catalog defined by eDrugCodeType. |
[out] DATE | *pdDate | The date the vaccination was applied |
[out] BSTR | *pbstrLOTNumber | The LOT number of the vaccine |
[out] BSTR | *pbstrRemark | An optional remark |
[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. |  |


  • IGeneralFormResult
  • GetForm

IGeneralFormResult::GetForm method |  |  |
Retrieves the main form object reference parameters. The dependent object references form a object reference chain with the form 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 GetForm( | BSTR DATE long VARIANT_BOOL | *pbstrRequestFormID, *pdRequestFormDate, *plRequestFormTimestamp, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrRequestFormID | The form ID is the main software's ID of the form process. This is one of 3 identifiers that constitute the form object reference. |
[out] DATE | *pdRequestFormDate | The notification date is the main software's date of the notification. This is one of 3 identifiers that constitute the form object reference. |
[out] long | *plRequestFormTimestamp | This is a UNIX timestamp defined at the moment of the form's infoset generation. Set this variable 0 to indicate the generation of a new form object reference. The IGeneralFormRequestManager::GetXML method will return the timestamp that must be used from that point on as 3rd parameter of the object reference. This is one of 3 identifiers that constitute the form object reference. The timestamp will be generated once for a certain form object reference and thereafter the timestamp is always referenced |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormResult
  • GetLaw

IGeneralFormResult::GetLaw method |  |  |
Retrieves the data about the applied law and its dependent information. VARIANT_FALSE is returned if the law structure is undefined. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetLaw( | LawType DATE BSTR BSTR BSTR VARIANT_BOOL | *peLawType, *pdCaseDate, *pbstrCaseID, *pbstrInsuredID, *pbstrContractNumber, *pbStatus); |
Calling argument description |  |  |
[out] LawType | *peLawType | The type of law to set from the LawType enumeration |
[out] DATE | *pdCaseDate | The case date of the insurance (e.g. date of accident in UVG) This date might undefined for certain laws and therefore left empty |
[out] BSTR | *pbstrCaseID | The case ID of the insurance (e.g. accident number in UVG) This ID might undefined for certain laws and therefore left empty |
[out] BSTR | *pbstrInsuredID | The patient's ID at the insurance This ID might be undefined for certain laws and therefore left empty |
[out] BSTR | *pbstrContractNumber | Contract number if such a special contract exists between provider and insurance |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then the law structure is undefined. |
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. |  |


  • IGeneralFormResult
  • GetNextAddress

IGeneralFormResult::GetNextAddress method |  |  |
Retrieves the next address data from the list of all addresses. The address data consists of the semantical typification of the address, various identifiers (EAN, UID number,...) and the structured address itself. The IAddress interface might be NULL if no address was defined. VARIANT_FALSE is returned if the end of the address list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextAddress( | BSTR AddressRoleType BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrAddressName, *peAddressRole, *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **ppIAddress, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrAddressName | The PDF internal variable name/placeholder onto which the address was mapped. |
[out] AddressRoleType | *peAddressRole | The role type of the address defined by the AddressRoleType enumerator. |
[out] BSTR | *pbstrEAN | EAN number of the address party as supplied by medwin.ch bstrEAN is empty if undefined |
[out] BSTR | *pbstrZSR | ZSR number of the address party as supplied by santésuisse bstrZSR is empty if undefined. Note, that an employer's national BER number as defined by Swiss Federal Statistical Office MUST be supplied within the bstrZSR variable. |
[out] BSTR | *pbstrNIF | The IV specific identification number NIF of the address party. bstrNIF is empty if undefined |
[out] BSTR | *pbstrSpecialty | The specialty of the address party, i.e. FMH title of a physician. bstrSpecialty is empty if undefined |
[out] IAddress | **ppIAddress | The IAddress interface handle that allows to get the structured address data back. If no address is defined then the handle is NULL. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE 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. |  |


  • IGeneralFormResult
  • GetNextAllergy

IGeneralFormResult::GetNextAllergy method |  |  |
Retrieves the next allergy. VARIANT_FALSE is returned if the end of the allergy list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextAllergy( | BSTR AllergyType BSTR BSTR DATE SeverityLevelType VARIANT_BOOL | *pbstrStructName, *peAllergyType, *pbstrCode, *pbstrName, *pdDate, *peSeverityLevel, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] AllergyType | *peAllergyType | The type of the allergy defined by the AllergyType enumerator |
[out] BSTR | *pbstrCode | The code of the allergy as given in the corresponding allergy catalog. bstrCode is empty if no coding system was used. |
[out] BSTR | *pbstrName | Textual description of the allergy as given in the corresponding allergy catalog or a free text if no coding system was used. |
[out] DATE | *pdDate | The date the allergy was first diagnosed |
[out] SeverityLevelType | *peSeverityLevel | The severity level of the allergy defined by the SeverityLevel enumerator |
[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. |  |


  • IGeneralFormResult
  • GetNextDiagnosis

IGeneralFormResult::GetNextDiagnosis method |  |  |
Retrieves the next diagnosis. VARIANT_FALSE is returned if the end of the diagnosis list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextDiagnosis( | BSTR DiagnosisCodeType BSTR BSTR DATE YesNoType BSTR VARIANT_BOOL | *pbstrStructName, *peDiagnosisCodeType, *pbstrCode, *pbstrName, *pdDate, *peIsActive, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] DiagnosisCodeType | *peDiagnosisCodeType | The type of the diagnosis defined by the DiagnosisCodeType enumerator. |
[out] BSTR | *pbstrCode | The code of the diagnosis as given in the corresponding diagnosis catalog defined by eDiagnosisCodeType . |
[out] BSTR | *pbstrName | Textual description of the code as given in the corresponding diagnosis catalog defined by eDiagnosisCodeType . |
[out] DATE | *pdDate | The date the diagnosis was defined |
[out] YesNoType | *peIsActive | A Boolean designating if the diagnosis is active (enYes) or not (enNo). |
[out] BSTR | *pbstrRemark | An optional remark |
[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. |  |


  • IGeneralFormResult
  • GetNextMedication

IGeneralFormResult::GetNextMedication method |  |  |
Retrieves the next medication structure. VARIANT_FALSE is returned if the end of the medication list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextMedication( | BSTR DrugCodeType BSTR BSTR DATE DATE VARIANT_BOOL | *pbstrStructName, *peDrugCodeType, *pbstrCode, *pbstrName, *pdBeginDate, *pdEndDate, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] DrugCodeType | *peDrugCodeType | The type of the drug catalog defined by the DrugCodeType enumerator. |
[out] BSTR | *pbstrCode | The code of the applied drug as given in the corresponding drug catalog defined by eDrugCodeType. |
[out] BSTR | *pbstrName | Textual description of the applied drug as given in the corresponding drug catalog defined by eDrugCodeType. |
[out] DATE | *pdBeginDate | The date when the medication started |
[out] DATE | *pdEndDate | The date when the medication ended. 0 is returned if the medication is still ongoing. |
[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. |  |


  • IGeneralFormResult
  • GetNextNumericResult

IGeneralFormResult::GetNextNumericResult method |  |  |
Retrieves the next numerical result structure. VARIANT_FALSE is returned if the end of the numerical result list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextNumericResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peResultCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrValue, *pbstrUnit, *pbstrLowerReference, *pbstrUpperReference, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] ResultCodeType | *peResultCodeType | The used coding system in which the result is defined. |
[out] BSTR | *pbstrCode | The code of the measurement defined in the used coding system. |
[out] BSTR | *pbstrName | The name of the measurement. |
[out] DATE | *pdDate | The date of the measurement |
[out] BSTR | *pbstrValue | The numerical measurement value ASCII formatted - thus the full measurement result consist of eOperator*bstrValue*bstrUnit Note that the formatting of numerical values in the PDF is cumbersome and partly impossible (no scientific notation available). Furthermore there is no possibility to extracted and propagate such formatting instructions from the PDF via the COM module to the calling software. Consequently, all values of the numerical result structure are supplied ASCII formatted. |
[out] BSTR | *pbstrUnit | The unit in which the all values are expressed - thus the full measurement result consist of eOperator*bstrValue*bstrUnit |
[out] BSTR | *pbstrLowerReference | The lower reference value ASCII formatted of the measurement expressed in the same unit as the value. An empty string is returned if no lower reference value is defined. |
[out] BSTR | *pbstrUpperReference | The upper reference value ASCII formatted of the measurement expressed in the same unit as the value. An empty string is returned if no upper reference value is defined. |
[out] BSTR | *pbstrRemark | An optional remark. |
[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. |  |


  • IGeneralFormResult
  • GetNextTextResult

IGeneralFormResult::GetNextTextResult method |  |  |
Retrieves the next textual result structure. VARIANT_FALSE is returned if the end of the textual result list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextTextResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peResultCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrValue, *pbstrReference, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] ResultCodeType | *peResultCodeType | The used coding system in which the result is defined. |
[out] BSTR | *pbstrCode | The code of the measurement defined in the used coding system. |
[out] BSTR | *pbstrName | The name of the measurement. |
[out] DATE | *pdDate | The date of the measurement. |
[out] BSTR | *pbstrValue | The textual value of the measurement. |
[out] BSTR | *pbstrReference | An optional reference of any kind that further qualifies the given result value. |
[out] BSTR | *pbstrRemark | An optional remark. |
[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. |  |


  • IGeneralFormResult
  • GetNextUnemployability

IGeneralFormResult::GetNextUnemployability method |  |  |
Retrieves the next unemployability structure. VARIANT_FALSE is returned if the end of the unemployability list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextUnemployability( | BSTR DATE DATE DATE long BSTR VARIANT_BOOL | *pbstrStructName, *pdDate, *pdBeginDate, *pdEndDate, *plPercentage, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] DATE | *pdDate | The date when the unemployability record was created |
[out] DATE | *pdBeginDate | The date when the unemployability starts |
[out] DATE | *pdEndDate | The date when the unemployability ends. |
[out] long | *plPercentage | The percentage of the unemployability supplied as a integer value in the interval [0,100]. |
[out] BSTR | *pbstrRemark | An optional remark |
[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. |  |


  • IGeneralFormResult
  • GetNextVaccination

IGeneralFormResult::GetNextVaccination method |  |  |
Retrieves the next vaccination structure. VARIANT_FALSE is returned if the end of the vaccination list is reached. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextVaccination( | BSTR DrugCodeType BSTR BSTR DATE BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peDrugCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrLOTNumber, *pbstrRemark, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrStructName | The PDF internal variable name/placeholder onto which the structure was mapped. |
[out] DrugCodeType | *peDrugCodeType | The type of the drug catalog defined by the DrugCodeType enumerator. |
[out] BSTR | *pbstrCode | The code of the applied vaccine as given in the corresponding drug catalog defined by eDrugCodeType. |
[out] BSTR | *pbstrName | Textual description of the applied vaccine as given in the corresponding drug catalog defined by eDrugCodeType. |
[out] DATE | *pdDate | The date the vaccination was applied |
[out] BSTR | *pbstrLOTNumber | The LOT number of the vaccine |
[out] BSTR | *pbstrRemark | An optional remark |
[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. |  |


  • IGeneralFormResult
  • GetPackage

IGeneralFormResult::GetPackage method |  |  |
Retrieves the identification parameters of the main software that used this DLL. |  |  | 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 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. |  |


  • IGeneralFormResult
  • GetPatient

IGeneralFormResult::GetPatient method
Retrieves the primary parameters and structured address of the patient.

The address is defined via a IAddress interface pointer and the address data must be defined prior to call this method.

space
C/C++ calling syntax
HRESULT GetPatient( SexType
DATE
BSTR
IAddress
VARIANT_BOOL 		*peSexType,
*pdBirthdate,
*pbstrSSN,
**ppIAddress,
*pbStatus);
Calling argument description
[out] SexType | *peSexType | The patient's gender.
[out] DATE | *pdBirthdate | The patient's birthdate.
[out] BSTR *pbstrSSN The social security number (SSN) of the patient in its printed form whereupon 3 distinguished types are possible:
  • the old 11 digit Swiss SSN ("AHV-Nummer") as defined by Federal Social Insurance Office
  • the new 13 digit Swiss SSN ("SV-Nummer") beginning with 756 as defined by Federal Social Insurance Office
  • the new 4-10 digit SSN of Liechtenstein ("AHV-Nummer") as defined by Liechtensteinische AHV-IV-FAK
[out] IAddress **ppIAddress The IAddress interface handle that allows to get the structured address data back.
If no address is defined then the handle is NULL.
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
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.


  • IGeneralFormResult
  • GetRefObject

IGeneralFormResult::GetRefObject method |  |  |
Retrieves the dependent object reference parameters if any was defined. This reference object forms an object reference chain with the form 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 GetRefObject( | ObjectType BSTR DATE long VARIANT_BOOL | *peRefObjectType, *pbstrRequestID, *pdRequestDate, *plRequestTimestamp, *pbStatus); |
Calling argument description |  |  |
[out] ObjectType | *peRefObjectType | The type of the depended object reference. |
[out] BSTR | *pbstrRequestID | The request ID is the main software's identification of the dependent reference object. This is one of 3 identifiers that constitute this object reference. |
[out] DATE | *pdRequestDate | The request date is the main software's date of the dependent reference object. This is one of 3 identifiers that constitute this object reference. |
[out] long | *plRequestTimestamp | This is a UNIX timestamp defined at the moment of the dependent reference object's infoset generation. This is one of 3 identifiers that constitute this 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. |  |


  • IGeneralFormResult
  • GetRequest

IGeneralFormResult::GetRequest method |  |  |
Retrieves the role and place information, the processing parameters "storno" and "copy" besides data language and optional remark. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetRequest( | LanguageType RoleType PlaceType BSTR YesNoType YesNoType VARIANT_BOOL | *peDataLanguage, *peRoleType, *pePlaceType, *pbstrRoleTitle, *peIsStorno, *peIsCopy, *pbStatus); |
Calling argument description |  |  |
[out] LanguageType | *peDataLanguage | Sets the language in which the data part is coded. It is exactly the language in which the response is formulated. Note, that the data language and the module language (given by
[out] RoleType | *peRoleType | Defines the role categories that the main provider is best categorized by. If the main provider has an other role than defined then use enRoleOther and additionally supply a role title with a description of the role |
[out] PlaceType | *pePlaceType | Defines the principle place where the main provider is applying the treatment |
[out] BSTR | *pbstrRoleTitle | Optional role title/description of the main provider. If a suitable predefined role can not be set then bstrRoleTitle is mandatory (use enRoleOther as role in that case) |
[out] YesNoType | *peIsStorno | Boolean value that defines the "storno" status of the form process. eIsStorno should be false when the initial form is produced. At this step the timestamp is generated and returned in the GeneralFormRequestManager::GetXML method. Whenever eIsStorno is true then the form timestamp must be set otherwise an error will result. |
[out] YesNoType | *peIsCopy | Boolean value that defines the "copy" status of the form process. eIsCopy should be false when the initial form is produced. At this step the timestamp is generated and returned in the IGeneralFormRequestRequestManager::GetXML method. Whenever eIsCopy is true then the invoice or reminder timestamp must be set otherwise an error will result. |
[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. |  |


  • IGeneralFormResult
  • GetTransport

IGeneralFormResult::GetTransport method |  |  |
Returns the transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to). All the involved parties are defined by EAN numbers as defined by www.medwin.ch. If the parameters for the signature and encryption were set then these data are returned as well otherwise the corresponding variables are empty. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetTransport( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrFromEAN, *pbstrViaEAN, *pbstrToEAN, *pbstrToBinDERFile, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrFromEAN | The EAN number of the sender as supplied by medwin.ch |
[out] BSTR | *pbstrViaEAN | The EAN number of the first intermediate as supplied by medwin.ch |
[out] BSTR | *pbstrToEAN | The EAN number of the receiver as supplied by medwin.ch |
[out] BSTR | *pbstrToBinDERFile | The file name of the binary DER certificate that is the public certificate of the "to" entity. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • IGeneralFormResult
  • GetTreatment

IGeneralFormResult::GetTreatment method |  |  |
Retrieves the primary treatment structure data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetTreatment( | DATE DATE CantonType TreatmentType TreatmentReasonType VARIANT_BOOL | *pdDateBegin, *pdDateEnd, *peTreatmentCanton, *peTreatmentType, *peTreatmentReason, *pbStatus); |
Calling argument description |  |  |
[out] DATE | *pdDateBegin | dDateBegin is the start of the treatment |
[out] DATE | *pdDateEnd | dDateEnd is the end of the treatment |
[out] CantonType | *peTreatmentCanton | The treatment canton given by the CantonType enumeration |
[out] TreatmentType | *peTreatmentType | The treatment type given by the TreatmentType enumeration |
[out] TreatmentReasonType | *peTreatmentReason | The treatment reason given by the TreatmentReasonType enumeration |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
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. |  |


  • Type definitions

Builtin, composite & enumeration types |  | V4.30/ 7 Sep 2011
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 |  | 30 types
[enumeration] AddressRoleType | Enumerates the defined roles/typifications of an address. |
[enumeration] AddressType | Enumerates the defined roles types/typifications of an address. |
[enumeration] AllergyType | Enumerates the defined types/origins of an allergy. |
[builtin] BSTR | A BSTR, known as basic string or binary string, is a pointer to a wide character string used by Automation data manipulation functions |
[enumeration] CantonType | Enumerates the defined Swiss cantons or countries close to the border. |
[builtin] DATE | A value denoting a date and time was specified |
[enumeration] DiagnosisCodeType | Enumerates the defined types of diagnosis coding systems. |
[enumeration] DrugCodeType | Enumerates the defined coding types for a drug/vaccine. |
[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] IForms | IForms interface. |
[builtin] IGeneralFormRequest | IGeneralFormRequest interface. |
[builtin] IGeneralFormResult | IGeneralFormResult interface. |
[enumeration] LanguageType | Enumerates all supported languages. |
[enumeration] LawType | Enumerates the supported legal law set. |
[builtin] long | A 4-byte integer value. |
[enumeration] ModusType | Enumerates the defined operation modus types |
[enumeration] ObjectType | Enumerates the defined types of the dependent object reference |
[enumeration] PlaceType | Enumerates the defined places where the main provider is located |
[enumeration] ResultCodeType | Enumerates the defined coding systems usable for a clinical or lab result coding. |
[enumeration] RoleType | Enumerates the defined role categories that the main provider is best categorized |
[enumeration] SeverityLevelType | Enumerates the defined levels of severity of an allergy. |
[enumeration] SexType | Enumerates the defined gender categories. |
[enumeration] StructRoleType | Enumerates the defined role types/typifications of a structure. |
[enumeration] TreatmentReasonType | Enumerates the defined treatment reasons. |
[enumeration] TreatmentType | Enumerates the defined treatment categories. |
[builtin] VARIANT_BOOL | A 16 bit Boolean (True/False) value was specified |
[enumeration] VarType | Enumerates the defined atomic data types |
[enumeration] XMLGenerationAttributes | Enumerates defined types of XML generation attributes |
[enumeration] YesNoType | Boolean enumerator. |


  • Type definitions
  • AddressRoleType

AddressRoleType enumeration type |  |
Enumerates the defined roles/typifications of an address. |  | space
Set of enumeration values |  | 9 elements
enAddressRoleProducer: 1 | The address is of type "producer" - the address of the producer of the request |
enAddressRoleConsumer: 2 | The address is of type "consumer" - the address of the recipient/consumer of the request |
enAddressRolePatient: 3 | The address is of type "patient" - the patient's address |
enAddressRoleGuarantor: 4 | The address is of type "guarantor" - the guarantor/legal representative of the patient |
enAddressRoleProvider: 5 | The address is of type "provider" - the patient's health care provider |
enAddressRoleReferrer: 6 | The address is of type "referrer" - the health care provider that referred the patient |
enAddressRoleInsurance: 7 | The address is of type "insurance" - the patient's health insurance |
enAddressRoleEmployer: 8 | The address is of type "employer" - the employer of the patient |
enAddressRoleOther: 9 | The address is of type "other" - the address is not one of the semantically well-defined address roles |


  • Type definitions
  • AddressType

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


  • Type definitions
  • AllergyType

AllergyType enumeration type |  |
Enumerates the defined types/origins of an allergy. |  | space
Set of enumeration values |  | 5 elements
enAllergyDrug: 1 | The allergy is induced by a drug |
enAllergySubstance: 2 | The allergy is induced by a substance |
enAllergyFood: 3 | The allergy is induced by food |
enAllergyLatex: 4 | The allergy is induced by latex |
enAllergyOther: 99 | The allergy is induced by something not defined above |


  • 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
  • CantonType

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


  • 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
  • DiagnosisCodeType

DiagnosisCodeType enumeration type |  |
Enumerates the defined types of diagnosis coding systems. |  | space
Set of enumeration values |  | 7 elements
enDiagnosisCodeICD: 0 | The coding system is of type "ICD 10". |
enDiagnosisCodeCantonal: 1 | The coding system is of type "Cantonal diagnosis". |
enDiagnosisCodeByContract: 2 | The coding system is of type "contract" - an agreement between sender and recipient. |
enDiagnosisCodeFreeText: 3 | The coding system is of type "free text" - the diagnosis is given purely by a text without a coupled code. |
enDiagnosisCodeBirthdefect: 4 | The coding system is of type "birth defect". |
enDiagnosisCodeICPC: 5 | The coding system is of type "ICPC" diagnosis (International Classification of Primary Care) |
enDiagnosisCodeDRG: 6 | The coding system is of type "DRG" - that is the diagnosis is implicitly defined by using a DRG code. |


  • Type definitions
  • DrugCodeType

DrugCodeType enumeration type |  |
Enumerates the defined coding types for a drug/vaccine. |  | space
Set of enumeration values |  | 4 elements
enDrugCodePharmacode: 1 | The coding of a drug is done by a pharmacode |
enDrugCodeSwissmedic: 2 | The coding of a drug is done by a Swissmedic code |
enDrugCodeEAN13: 3 | The coding of a drug is done by a EAN13 or GTIN code |
enDrugCodeOther: 99 | The coding of a drug is done by something not defined above |


  • 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
  • IForms

IForms type |
IForms interface. | space


  • Type definitions
  • IGeneralFormRequest

IGeneralFormRequest type |
IGeneralFormRequest interface. | space


  • Type definitions
  • IGeneralFormResult

IGeneralFormResult type |
IGeneralFormResult 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
  • LawType

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


  • Type definitions
  • long

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


  • Type definitions
  • ModusType

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


  • Type definitions
  • ObjectType

ObjectType enumeration type |  |
Enumerates the defined types of the dependent object reference |  | space
Set of enumeration values |  | 7 elements
enObjectUndef: 0 | The dependent object reference is undefined |
enObjectCredit: 1 | The dependent object reference is of type "credit" |
enObjectInvoice: 2 | The dependent object reference is of type "invoice" |
enObjectReminder: 3 | The dependent object reference is of type "reminder" |
enObjectMCD: 4 | The dependent object reference is of type "MCD" |
enObjectForm: 5 | The dependent object reference is of type "form" |
enObjectNotification: 6 | The dependent object reference is of type "notification" |


  • Type definitions
  • PlaceType

PlaceType enumeration type |  |
Enumerates the defined places where the main provider is located |  | space
Set of enumeration values |  | 5 elements
enPlacePractice: 1 | The service location is the practice |
enPlaceHospital: 2 | The service location is the hospital |
enPlaceLab: 4 | The service location is in a laboratory |
enPlaceAssociation: 8 | The service location is in an association (like "Spitex") |
enPlaceCompany: 16 | The service location is in a company |


  • Type definitions
  • ResultCodeType

ResultCodeType enumeration type |  |
Enumerates the defined coding systems usable for a clinical or lab result coding. |  | space
Set of enumeration values |  | 4 elements
enResultCodeLoinc: 1 | The coding system is LOINC (Logical Observation Identifiers Names and Code) |
enResultCodeSmerf: 2 | The coding system is SMERF (Swiss Medical Reference System) |
enResultCodeSmeex: 3 | The coding system is SMEEX (Swiss Medical Data Exchange) |
enResultCodeOther: 99 | The coding system is any other coding system other than the previously defined. |


  • Type definitions
  • RoleType

RoleType enumeration type |  |
Enumerates the defined role categories that the main provider is best categorized |  | space
Set of enumeration values |  | 21 elements
enRolePhysician: 1 | The main provider is a physician |
enRolePhysiotherapist: 2 | The main provider is a physiotherapist This role includes therapeutic masseurs as well. |
enRoleChiropractor: 4 | The main provider is a chiropractor |
enRoleErgotherapist: 8 | The main provider is an ergotherapist |
enRoleNutritionist: 16 | The main provider is a nutritionist This role includes diet advisors, diabetic dietitian and diabetic advisors as well |
enRoleMidwife: 32 | The main provider is a midwife |
enRoleLogotherapist: 64 | The main provider is a logotherapist |
enRoleHospital: 128 | The main provider's address is that of a hospital. Therefore the "virtual" role is enRoleHospital and it qualifies the invoice/reminder as one from a hospital |
enRolePharmacist: 256 | The main provider is a pharmacist |
enRoleDentist: 512 | The main provider is a dentist This role includes dental hygienists as well. |
enRoleLabTechnician: 1024 | The main provider is a lab technician |
enRoleDentalTechnician: 2048 | The main provider is a dental technician |
enRoleOtherTechnician: 4096 | The main provider The main provider is a technician but neither a dental nor a lab technician This role includes (orthopedic) shoemakers as well |
enRolePsychologist: 16384 | The main provider a psychologist Note that psychiatrists would count as enRolePhysician |
enRoleWholesaler: 65536 | The main provider is a wholesaler |
enRoleNursingStaff: 131072 | The main provider is belonging to the nursing staff including nursing auxiliaries |
enRoleTransport: 262144 | The main provider accomplishes transports or carrier services This role includes ambulance transport as well. |
enRoleDruggist: 524288 | The main provider is a druggist |
enRoleNaturopathicDoctor: 1048576 | The main provider is a is naturopathic doctor. As per definition this is a doctor of none-conventional Western medicine/none-biomedicine. |
enRoleNaturopathicTherapist: 2097152 | The main provider is a is naturopathic therapist. As per definition this is a therapist of none-conventional Western medicine/none-biomedicine. This role includes wellness therapists as well. |
enRoleOther: 4194304 | The main provider has another role than defined here. Supply a role title in this case with a description of the role |


  • Type definitions
  • SeverityLevelType

SeverityLevelType enumeration type |  |
Enumerates the defined levels of severity of an allergy. |  | space
Set of enumeration values |  | 5 elements
enSeverityLevelNone: 0 | The severity level of an allergy is "none" - this is the severity level to code an inexistent allergy |
enSeverityLevelLow: 1 | The severity level of an allergy is "low" |
enSeverityLevelMedium: 2 | The severity level of an allergy is "medium" |
enSeverityLevelStrong: 3 | The severity level of an allergy is "strong" |
enSeverityLevelVeryStrong: 4 | The severity level of an allergy is "very strong" |


  • 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
  • StructRoleType

StructRoleType enumeration type |  |
Enumerates the defined role types/typifications of a structure. |  | space
Set of enumeration values |  | 10 elements
enStructRoleCard: 1 | The structure is of type "card" - the patient card structure |
enStructRoleLaw: 2 | The structure is of type "law" - a law data structure |
enStructRoleTreatment: 3 | The structure is of type "treatment" - a treatment data structure |
enStructRoleDiagnosis: 4 | The structure is of type "diagnosis" - a diagnosis structure |
enStructRoleMedication: 5 | The structure is of type "medication" - a medication structure |
enStructRoleAllergy: 6 | The structure is of type "allergy" - an allergy structure |
enStructRoleVaccination: 7 | The structure is of type "vaccination" - a vaccination structure |
enStructRoleUnemployability: 8 | The structure is of type "unemployability" - an unemployability structure |
enStructRoleNumericResult: 9 | The structure is of type "numericResult" - a numerical clinical or lab result |
enStructRoleTextResult: 10 | The structure is of type "textResult" - a texual clinical or lab result |


  • Type definitions
  • TreatmentReasonType

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


  • Type definitions
  • TreatmentType

TreatmentType enumeration type |  |
Enumerates the defined treatment categories. |  | space
Set of enumeration values |  | 3 elements
enTreatmentAmbulatory: 0 | The treatment is of type "ambulatory" |
enTreatmentStationary: 1 | The treatment is of type "stationary" |
enTreatmentUnknown: 2 | The treatment type is unknown |


  • 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
  • VarType

VarType enumeration type |  |
Enumerates the defined atomic data types |  | space
Set of enumeration values |  | 6 elements
enVarString: 1 | The data is of type string |
enVarLong: 2 | The data is of type 32-bit integer |
enVarFloat: 4 | The data is of type 32-bit floating point |
enVarDate: 8 | The data is of type date/time |
enVarBoolean: 16 | The data is of type Boolean |
enVarEnumeration: 32 | The data is of type enumeration |


  • Type definitions
  • XMLGenerationAttributes

XMLGenerationAttributes enumeration type |  |
Enumerates defined types of XML generation attributes |  | space
Set of enumeration values |  | 2 elements
enGenerateWithoutSignature: 2 | The XML infoset is generated without applying a signature even if the signature parameters have been set in the IGeneralFormRequest::SetTransport method. |
enGenerateWithoutEncryption: 4 | The XML infoset is generated without applying encryption even if the encryption parameters have been set in the IGeneralFormRequest::SetTransport method. |


  • Type definitions
  • YesNoType

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


 Boundary conditions for the usage of a PDF Viewer

The GeneralFormRequestManager ultimately needs a PDF Viewer to run the final user-driven review and modification process of the PDF forms. In fact, only Acrobat Reader from all public domain PDF Viewers is capable of display and process PDF forms.

Boundary conditions and critical aspects

  1. PDF Viewer: Acrobat Reader V8.0 or higher
  2. Enhanced security: if "Enhanced security" is enabled, every load of a PDF form enforces the "data block mode...".

    If the PDF form is not unblocked each time, the form data are not displayed.
    It is therefore recommended to disable "Enhanced security" in Properties::Security (Enhanced)" of Acrobat Reader


 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. oopProxyGeneralFormManager430.exe, where the prefix signifies the out-of-process proxy nature of the executable.

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


 Notes about the encryption

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

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

Boundary conditions and critical aspects

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

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

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

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


 VB code snippet for using the generalFormRequestManager

Private Sub Launch_Click()

On Error GoTo Err_Trap

Dim bStatus As Boolean

Dim formRequestManagerEx As GENERALFORMREQUESTMANAGER430Lib.GeneralFormRequestManager
Set formRequestManagerEx = New GENERALFORMREQUESTMANAGER430Lib.GeneralFormRequestManager

Dim formRequestEx As GENERALFORMREQUESTMANAGER430Lib.GeneralFormRequest
Dim formResultEx As GENERALFORMREQUESTMANAGER430Lib.GeneralFormResult

'### set module language to german
formRequestManagerEx.ModuleLanguage = enGerman

'### load an example form
bStatus = formRequestManagerEx.LoadPDF("medforms.30.40.300.5050", formRequestEx, formResultEx)

'### set addresses
Dim IAddress As GENERALFORMREQUESTMANAGER430Lib.Address
Set IAddress = formRequestEx.CreateAddress
Dim eAddressRole As AddressRoleType
Dim strAddressName As String
Dim lIndex As Long
Dim lMaxOccurs As Long
Dim eIsDefined As GENERALFORMREQUESTMANAGER430Lib.YesNoType

Dim bHasAddress, bFirst As Boolean
bHasAddress = True
bFirst = True

While bHasAddress
    If bFirst Then
            bStatus = formRequestEx.GetFirstAddressRole(eAddressRole, strAddressName, lIndex, _
                                                        lMaxOccurs, eIsDefined)
            bFirst = False
    Else
            bStatus = formRequestEx.GetNextAddressRole(eAddressRole, strAddressName, lIndex, _
                                                       lMaxOccurs, eIsDefined)
    End If
    If bStatus Then
        '### set the producer
        If eAddressRole = enAddressRoleProducer Then
            IAddress.Initialize
            bStatus = IAddress.SetCompany("Gruppenpraxis XY", "", "")
            bStatus = IAddress.SetPostal("Arztgasse 17b5", "", "4000", "Basel", "BS", "")
            bStatus = formRequestEx.AddAddress(strAddressName, "2000000110000", "", "", "speciality", IAddress)
        End If
        '### set the consumer
        If eAddressRole = enAddressRoleConsumer Then
            IAddress.Initialize
            bStatus = IAddress.SetCompany("Krankenkasse AG", "Sektion Basel", "")
            bStatus = IAddress.SetPostal("Kassengraben 222", "", "4000", "Basel", "", "")
            bStatus = formRequestEx.AddAddress(strAddressName, "2034567890222", "", "", "", IAddress)
        End If
        '### set the provider
        If eAddressRole = enAddressRoleProvider Then
            IAddress.Initialize
            bStatus = IAddress.SetPerson("Aerztin", "Patricia", "Frau", "Dr. med.", "")
            bStatus = IAddress.SetPostal("Arztgasse 17b5", "", "4000", "Basel", "BS", "")
            bStatus = formRequestEx.AddAddress(strAddressName, "2000000000000", "", "", "speciality", IAddress)
        End If
        '### set the patient
        If eAddressRole = enAddressRolePatient Then
            IAddress.Initialize
            bStatus = IAddress.SetPerson("Muster", "Peter", "Herr", "", "c/o Mieter Karl")
            bStatus = IAddress.SetPostal("Musterstrasse 5", "", "7304", "Maienfeld", "", "")
            bStatus = formRequestEx.SetPatient(strAddressName, enMale, DateValue("1940-6-25"), "", IAddress)
        End If
    Else
        bHasAddress = False
    End If
Wend

'### add a diagnosis
Dim eStructRole As GENERALFORMREQUESTMANAGER430Lib.StructRoleType
Dim strStructName As String
Dim bHasStruct As Boolean
Dim strConstrained As String

bHasStruct = True
bFirst = True

While bHasStruct
    If bFirst Then
        bStatus = formRequestEx.GetFirstStructRole(eStructRole, strStructName, lIndex, lMaxOccurs, _
                                                   eIsDefined, strConstrained)
        bFirst = False

    Else
        bStatus = formRequestEx.GetNextStructRole(eStructRole, strStructName, lIndex, lMaxOccurs, _
                                                  eIsDefined, strConstrained)
    End If
    If bStatus Then
        If eStructRole = enStructRoleDiagnosis Then
            bStatus = formRequestEx.AddDiagnosis(strStructName, enDiagnosisFreeText, "n/a", "unknown virus")
            bHasStruct = False
        End If
    Else
        bHasStruct = False
    End If
Wend

'### set transport
bStatus = formRequestEx.SetTransport("2000000110000", "", "", "", "2034567890222", "")

'### set request
bStatus = formRequestEx.SetRequest(enRolePhysician, enPlacePractice, "", enNo, enNo)

'### set form
Dim dRequestFormDate As Date
dRequestFormDate = DateValue("2011-09-20")
Dim strRequestFormID As String
strRequestFormID = "internal-id"
Dim lRequestTimestamp As Long
lRequestTimetamp = 11111111

bStatus = formRequestEx.SetForm(strRequestFormID, dRequestFormDate, lRequestTimestamp)

'###
Dim lTotalVars As Long
Dim lUndefVars As Long
Dim strPDFFile As String

'### produce an xml
Dim lXMLGenerationAttributes As Long
lXMLGenerationAttributes = 0
Dim strOutputXml As String
Dim lValidationError As Long
Dim lTimestamp As Long

bStatus = formRequestManagerEx.GetXML(lXMLGenerationAttributes, enYes, strOutputXml, lValidationError, _
                                      lTimestamp)
If bStatus Then
Dim strTargetFile As String
    strTargetFile = "d:\TestXML.xml"
    FileCopy strOutputXml, strTargetFile
End If

Exit Sub

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

'### relase resources

End Sub


 General use of the generalFormRequest ATL COM module

The GeneralFormRequestManager is an ATL COM module that manages a PDF based form system. The module provides all the necessary methods to produce a filled out PDF form or a generalFormRequest_430.xsd type XML infoset that includes the PDF form itself as Base64 octet stream.

Empty PDF form templates from the medForms OID space or previously processed PDF form can be loaded into the module.

To produce e.g. an XML infoset, firstly load the appropriate PDF form template with the LoadPDF method. By using the returned IGeneralFormRequest interface all semantically well-known addresses and structured are queried by the iterator pairs GetFirstAddressRole / GetNextAddressRole and GetFirstStructRole / GetNextStructRole. The data returned from these iterators allows to define the corresponding addresses and structure by using the AddAddress and the various structure methods e.g. AddDiagnosis.

The generalFormRequest system does not endorse a paradigm of "completeness" or "100% preset capability". Therefore, after all semantically well-known information is set the PDF form is finalized by a user-driven review process whereas Acrobat Reader using a preset PDF form does the visualization. This is done automatically when calling the GetPDF or GetXML methods. These methods deliver the final PDF form or XML infoset.

To get a staring point with the generalFormRequest module there is a Visual Basic code snippet provided that can be used for generating and PDF form.


 Process attributes...

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

"copy" attribute

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

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

"storno" attribute

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

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

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


 Object reference...

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

object reference

An object reference is an identification of an individual XML request defined by a unique triple of data, namely
  • timestamp (UNIX time) defined at the moment of generation
  • date of the object defined by the provider
  • id of the object defined by the provider
Each and every XML request of version 4.3 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 "generalFormRequest" needs 2 object references, namely
  • a optional object reference from another process, e.g. "General Invoice Request" or "General Credit Request"
  • a mandatory form object reference from the main " General Form Request " process
This set of object references by itself defines an ordered object reference chain (e.g. invoice -> form) 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

  • the URI attribute of the reference element must use a XPointer syntax of the payload element, e.g. <ds:Reference URI="#xpointer(/form:request/form: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 generalFormRequest module does obey all these conditions whenever signature is "turned on" by setting the private certificate and password of the "fromEAN" entity (cf. IGeneralFormRequest::SetTransport). This certificate must be in the PFX format.