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

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 alternatively a XML infoset of type generalFormRequest_450 that includes the PDF form itself as Base64 octet stream. Empty PDF form templates from the medForms repository 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 (or a .xdp compliant handler) using a partially preset PDF form does the visualization.

At the end a final PDF form and/or a XML infoset of type generalFormRequest_450 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 search and iterate over the virtual hierarchical tree representation of the form space. Eventually, a suitable candidate for the form process is selected.
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_450 or generalFormRequest_430.
IGeneralFormResult | The interface IGeneralInvoiceResult allows to read back all data that have been defined with the IGeneralInvoiceRequest interface or by loading a previously generated XML infoset.
Types
type definitions | List of all used builtin, composite and enumeration types
Important documents about the usage and handling
Document | IMPORTANT: Boundary conditions for the usage of the PDF Viewer
Document | General usage of the generalFormRequest450 COM module - an overview
Document | Overview of changes when moving from generalFormResponse430 to generalFormResponse450
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 generalFormRequest450 COM module
Document | generalFormRequestManagerServer450: Introduction, overview and usage of the Restful Webservice Server
04.11.20 - API Patch | Documentation: establish/add the reachability for generalFormRequest450 XML files of a certain provider by using medSRS

© by sumex1.net - all rights reserved


  • generalFormRequest450
  • IAddress

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


  • IAddress
  • AddPhone

IAddress::AddPhone method |  |  | space
Adds a structured phone number. The Swiss international calling code +41 is filtered out in the printing. If the main software does not support structured pone numbers then all data is supplied in the bstrNumber variable. However, +41 is then no longer filtered. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/AddPhone
[JSON input data] | pIAddress: bstrNumber: bstrLocalCode: bstrInternationalCode: bstrExt: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrNumber, bstrLocalCode, bstrInternationalCode, bstrExt, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrNumber | The pure phone number part of the telephone number. It is possible to set the full telephone number in this variable and leave the other parts of the telephone number empty |
[in] BSTR | bstrLocalCode | The local area code part of the telephone number. |
[in] BSTR | bstrInternationalCode | The international calling code part of the telephone number. |
[in] BSTR | bstrExt | The optional extension number part of the telephone number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • GetAbortInfo

IAddress::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetAbortInfo
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • IAddress
  • GetCompany

IAddress::GetCompany method |  |  | space
Retrieves the company's naming part of the address. Call the property GetType first to test if GetPerson or GetCompany should be called. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetCompany
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrCompanyName: pbstrDepartment: pbstrSubaddressing: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetCompany( | BSTR BSTR BSTR VARIANT_BOOL | *pbstrCompanyName, *pbstrDepartment, *pbstrSubaddressing, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrCompanyName | The company's name. |
[out] BSTR | *pbstrDepartment | The optional department part of the company. |
[out] BSTR | *pbstrSubaddressing | The optional subaddressing information, e.g. a "c/o" like information as defined by the Post |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • GetFax

IAddress::GetFax method |  |  | space
Retrieves the structured fax number. Empty variables are returned if there is no fax number available. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetFax
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrNumber: pbstrLocalCode: pbstrInternationalCode: pbstrExt: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFax( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrNumber | The pure fax number part of the full fax number. It is possible that the full fax number is returned in this variable and the other parts of the fax number left empty. |
[out] BSTR | *pbstrLocalCode | The local area code part of the fax number. |
[out] BSTR | *pbstrInternationalCode | The international calling code part of the fax number. |
[out] BSTR | *pbstrExt | The extension number part of the fax number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • GetFirstPhone

IAddress::GetFirstPhone method |  |  | space
Retrieves the first phone number information. VARIANT_FALSE is returned if the end of the phone list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetFirstPhone
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrNumber: pbstrLocalCode: pbstrInternationalCode: pbstrExt: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrNumber | The pure phone number part of the full telephone number. It is possible that the full telephone number is returned in this variable and the other parts of the telephone number left empty. |
[out] BSTR | *pbstrLocalCode | The local area code part of the telephone number. |
[out] BSTR | *pbstrInternationalCode | The international calling code part of the telephone number. |
[out] BSTR | *pbstrExt | the extension number part of the telephone number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IAddress
  • GetNextPhone

IAddress::GetNextPhone method |  |  | space
Retrieves the next phone number information. VARIANT_FALSE is returned if the end of the phone list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetNextPhone
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrNumber: pbstrLocalCode: pbstrInternationalCode: pbstrExt: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextPhone( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrNumber, *pbstrLocalCode, *pbstrInternationalCode, *pbstrExt, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrNumber | The pure phone number part of the full telephone number. It is possible that the full telephone number is returned in this variable and the other parts of the telephone number left empty. |
[out] BSTR | *pbstrLocalCode | The local area code part of the telephone number. |
[out] BSTR | *pbstrInternationalCode | The international calling code part of the telephone number. |
[out] BSTR | *pbstrExt | the extension number part of the telephone number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IAddress
  • GetOnline

IAddress::GetOnline method |  |  | space
Retrieves the structured online part of the address. Empty variables are returned if there is no online information available. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetOnline
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrEMail: pbstrUrl: pbStatus: | "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetOnline( | BSTR BSTR VARIANT_BOOL | *pbstrEMail, *pbstrUrl, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrEMail | A relevant email address. |
[out] BSTR | *pbstrUrl | A relevant URL. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • GetPerson

IAddress::GetPerson method |  |  | space
Retrieves the person's naming part of the address. Call the property GetType first to test if GetPerson or GetCompany should be called. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetPerson
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrFamilyname: pbstrGivenname: pbstrSalutation: pbstrTitle: pbstrSubaddressing: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetPerson( | BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrFamilyname, *pbstrGivenname, *pbstrSalutation, *pbstrTitle, *pbstrSubaddressing, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrFamilyname | The family name (or last name) of the person. |
[out] BSTR | *pbstrGivenname | The given name (or first name) of the person. |
[out] BSTR | *pbstrSalutation | The optional salutation of the person. |
[out] BSTR | *pbstrTitle | The optional title of the person. |
[out] BSTR | *pbstrSubaddressing | 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 | The optional subaddressing information, e.g. a "c/o" like information as defined by the Post |
space |


  • IAddress
  • GetPhones

IAddress::GetPhones method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all phone numbers covered by the address and returned as JSON array. Please note that IAddress::GetPhones takes over the functionality of the iterator pair IAddress::GetFirstPhone / IAddress::GetNextPhone with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetPhones
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result array] | { pbstrNumber: pbstrLocalCode: pbstrInternationalCode: pbstrExt: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrNumber | The pure phone number part of the full telephone number. It is possible that the full telephone number is returned in this variable and the other parts of the telephone number left empty. |
[out] BSTR | *pbstrLocalCode | The local area code part of the telephone number. |
[out] BSTR | *pbstrInternationalCode | The international calling code part of the telephone number. |
[out] BSTR | *pbstrExt | the extension number part of the telephone number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IAddress
  • GetPostal

IAddress::GetPostal method |  |  | space
Retrieves the structured postal address part of the address. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/GetPostal
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbstrStreet: pbstrPoBox: pbstrZip: pbstrCity: pbstrStateCode: pbstrCountryCode: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetPostal( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrStreet, *pbstrPoBox, *pbstrZip, *pbstrCity, *pbstrStateCode, *pbstrCountryCode, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrStreet | The street name part of an address. |
[out] BSTR | *pbstrPoBox | The P.O. box code part of an address. Note that according to the Post the street and poBox parts should be used mutually exclusive. |
[out] BSTR | *pbstrZip | The ZIP code part of an address. |
[out] BSTR | *pbstrCity | The city name of an address. |
[out] BSTR | *pbstrStateCode | The optional state code part of an address. |
[out] BSTR | *pbstrCountryCode | The optional ISO country code part of an address. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • Initialize

IAddress::Initialize method |  |  | space
Initializes all internal address variables. This method should be called before new data is supplied to reset all internally stored data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/Initialize
[JSON input data] | pIAddress: | longValue, //interface address
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT Initialize( | VARIANT_BOOL | *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • SetCompany

IAddress::SetCompany method |  |  | space
Sets the company's naming part of the address. Note that the subaddressing is part of the extended name and is always printed before any postal information. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetCompany
[JSON input data] | pIAddress: bstrCompanyName: bstrDepartment: bstrSubaddressing: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetCompany( | BSTR BSTR BSTR VARIANT_BOOL | bstrCompanyName, bstrDepartment, bstrSubaddressing, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrCompanyName | The company's name. |
[in] BSTR | bstrDepartment | The optional department part of the company. |
[in] BSTR | bstrSubaddressing | The optional subaddressing information, e.g. a "c/o" like information as defined by the Post |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • SetFax

IAddress::SetFax method |  |  | space
Sets a structured fax number. The Swiss international calling code +41 is filtered in the printing. If the main software does not support structured pone numbers then all data is supplied in the bstrNumber variable. However, +41 is then no longer filtered. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetFax
[JSON input data] | pIAddress: bstrNumber: bstrLocalCode: bstrInternationalCode: bstrExt: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetFax( | BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrNumber, bstrLocalCode, bstrInternationalCode, bstrExt, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrNumber | The pure fax number part of the fax number. It is possible to set the full fax number in this variable and leave the other parts of the fax number empty |
[in] BSTR | bstrLocalCode | The local area code part of the fax number. |
[in] BSTR | bstrInternationalCode | The international calling code part of the fax number. |
[in] BSTR | bstrExt | The extension number part of the fax number. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • SetOnline

IAddress::SetOnline method |  |  | space
Sets the structured online part of the address. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetOnline
[JSON input data] | pIAddress: bstrEMail: bstrUrl: | longValue, //interface address "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetOnline( | BSTR BSTR VARIANT_BOOL | bstrEMail, bstrUrl, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrEMail | A relevant email address. |
[in] BSTR | bstrUrl | A relevant URL address. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • SetPerson

IAddress::SetPerson method |  |  | space
Sets the person's naming part of the address. Note that the subaddressing is part of the extended name and is always printed before any postal information. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetPerson
[JSON input data] | pIAddress: bstrFamilyname: bstrGivenname: bstrSalutation: bstrTitle: bstrSubaddressing: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetPerson( | BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrFamilyname, bstrGivenname, bstrSalutation, bstrTitle, bstrSubaddressing, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrFamilyname | The family name (or last name) of the person. |
[in] BSTR | bstrGivenname | The given name (or first name) of the person. |
[in] BSTR | bstrSalutation | The optional salutation of the person. |
[in] BSTR | bstrTitle | The optional title of the person. |
[in] BSTR | bstrSubaddressing | 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 | The optional subaddressing information, e.g. a "c/o" like information as defined by the Post |
space |


  • IAddress
  • SetPostal

IAddress::SetPostal method |  |  | space
Sets the structured postal address part. The Swiss ISO county code is the default but is filtered in the printing. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IAddress/SetPostal
[JSON input data] | pIAddress: bstrStreet: bstrPoBox: bstrZip: bstrCity: bstrStateCode: bstrCountryCode: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetPostal( | BSTR BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrStreet, bstrPoBox, bstrZip, bstrCity, bstrStateCode, bstrCountryCode, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrStreet | The street name part of an address. |
[in] BSTR | bstrPoBox | The P.O. box code part of an address. Note that according to the Post the street and poBox parts should be used mutually exclusive. |
[in] BSTR | bstrZip | The mandatory ZIP code part of an address. |
[in] BSTR | bstrCity | The mandatory city name of an address. |
[in] BSTR | bstrStateCode | The optional state code part of an address. |
[in] BSTR | bstrCountryCode | The ISO country code of an address. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IAddress
  • DestructAddress

IAddress::DestructAddress property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IAddress interface instance. The counterpart property to generate an IAddress interface instance is IGeneralFormRequest::GetCreateAddress. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IAddress/PutDestructAddress
[JSON input data] | pIAddress: | longValue, //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IAddress
  • Type

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

If no address is defined then enAddressUndefined is returned.

space
Restful webservice calling syntax
[GET] | /baseURL/ IAddress/GetType?param
[param] pIAddress= longValue
[JSON result data] peType: longValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
[get] HRESULT | Type( AddressType *peType );
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out,retval] AddressType | *peType
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • AddressType *GetType(void);
space


  • IForms

IForms interface | V4.50/ 2 Sep 2016
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 method allows to check if the automatic background update process is running correctly or if e.g. the local firewall system is blocking the outbound update communication. Thus, StartUpdate is a surrogate to inform/pushing back problems and errors in the form update process.
space
space
Methods | 8 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.
GetObjects | Method for collecting all object data covered by the IForms interface and returned as JSON array
Search | The Search method allows to search the form space by using a combination of search criteria
StartUpdate | With the change to an automatic, concurrent and externally running update process this method became a NOOP method except for the returned status
UpdateStatus | With the change to an automatic, concurrent and externally running update process this method became a NOOP method
space
Properties | 1 properties
[put] DestructForms | Destructs/invalidates this IForms interface instance
space


  • IForms
  • GetAbortInfo

IForms::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IForms/GetAbortInfo
[JSON input data] | pIForms: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • IForms
  • GetFirstObject

IForms::GetFirstObject method |  |  | space
Retrieves the first form space record. VARIANT_FALSE is returned if the end of the record list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IForms/GetFirstObject
[JSON input data] | pIForms: | longValue, //interface address
[JSON result data] | pbstrUID: pbstrOID: pbstrName: peIsFile: pbstrFile: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue, "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstObject( | BSTR BSTR BSTR YesNoType BSTR VARIANT_BOOL | *pbstrUID, *pbstrOID, *pbstrName, *peIsFile, *pbstrFile, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IForms
  • GetNextObject

IForms::GetNextObject method |  |  | space
Retrieves the next form space record. VARIANT_FALSE is returned if the end of the record list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IForms/GetNextObject
[JSON input data] | pIForms: | longValue, //interface address
[JSON result data] | pbstrUID: pbstrOID: pbstrName: peIsFile: pbstrFile: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue, "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextObject( | BSTR BSTR BSTR YesNoType BSTR VARIANT_BOOL | *pbstrUID, *pbstrOID, *pbstrName, *peIsFile, *pbstrFile, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IForms
  • GetObjectInfo

IForms::GetObjectInfo method |  |  | space
The GetObjectInfo method returns information about a given a medForms OID either in its full or shortened form. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IForms/GetObjectInfo
[JSON input data] | pIForms: eDataLanguage: bstrOID: | longValue, //interface address longValue, "utf8StringValue"
[JSON result data] | pbstrUID: pbstrName: peIsFile: pbstrFile: pbStatus: | "utf8StringValue", "utf8StringValue", longValue, "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetObjectInfo( | LanguageType BSTR BSTR BSTR YesNoType BSTR VARIANT_BOOL | eDataLanguage, bstrOID, *pbstrUID, *pbstrName, *peIsFile, *pbstrFile, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] LanguageType | eDataLanguage | 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. |
space |


  • IForms
  • GetObjects

IForms::GetObjects method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all object data covered by the IForms interface and returned as JSON array. Please note that IForms::GetObjects takes over the functionality of the iterator pair IForms::GetFirstObject / IForms::GetNextObject with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IForms/GetObjects
[JSON input data] | pIForms: | longValue, //interface address
[JSON result array] | { pbstrRequestFormID: pdRequestFormDate: plRequestFormTimestamp: pbStatus: | "utf8StringValue", "stringISODateValue", longValue, booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrRequestFormID | The form ID is the main software's own identification of the form process. This is one of 3 identifiers that constitute the form object reference. |
[out] DATE | *pdRequestFormDate | The form date is the main software's own date of the form process. 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. This is one of 3 identifiers that form the form object reference. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IForms
  • Search

IForms::Search method | space
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
Restful webservice calling syntax
[POST] | /baseURL/ IForms/Search
[JSON input data] pIForms:
eDataLanguage:
eSortByName:
eFormsOnly:
bstrNamePattern:
bstrOIDPattern:
bstrUIDPattern: 		longValue, //interface address
longValue,
longValue,
longValue,
"utf8StringValue",
"utf8StringValue",
"utf8StringValue"
[JSON result data] pbStatus: booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT Search( LanguageType
YesNoType
YesNoType
BSTR
BSTR
BSTR
VARIANT_BOOL 		eDataLanguage,
eSortByName,
eFormsOnly,
bstrNamePattern,
bstrOIDPattern,
bstrUIDPattern,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[in] LanguageType | eDataLanguage | 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 bstrNamePattern bstrNamePattern restricts the form space by applying a search pattern onto the name and path attribute of each form record.

The wildcard character is the *. Leave the bstrNamePattern empty if there is no restriction on the medForms name.

If other the OID and/or UID pattern are set as well, than the individual search patterns are AND together to form the overall search string.

[in] BSTR bstrOIDPattern bstrOIDPattern restricts the form space by applying a search pattern onto the medForms OID attribute of each form record.

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

If other the name and/or UID pattern are set as well, than the individual search patterns are AND together to form the overall search string.

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

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

If other the name and/or OID pattern are set as well, than the individual search patterns are AND together to form the overall search 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.
space


  • IForms
  • StartUpdate

IForms::StartUpdate method | space
With the change to an automatic, concurrent and externally running update process this method became a NOOP method except for the returned status.

If there is a principle problem with the update process (e.g. the local firewall blocks the update process) then the returned status is VARIANT_FALSE und GetAbortInfo() supplies the inability for updating the form template space.

So it is of uttermost importance that StartUpdate is called on a regular basis such that existing problems with the update process can be signaled back to the calling main process.

space
Restful webservice calling syntax
[POST] | /baseURL/ IForms/StartUpdate
[JSON input data] pIForms: longValue, //interface address
[JSON result data] peUpdateNecessary:
pbStatus: 		longValue,
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT StartUpdate( YesNoType
VARIANT_BOOL 		*peUpdateNecessary,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] YesNoType *peUpdateNecessary Boolean value that denotes if an update was started (enYes) or if the update is unnecessary (enNo).

Patch: *peUpdateNecessary = enNo is fixed 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.
space


  • IForms
  • UpdateStatus

IForms::UpdateStatus method |  |  | space
With the change to an automatic, concurrent and externally running update process this method became a NOOP method. The statistics arguments are set as 0, eIsRunning = enNo and the status will always be VARIANT_TRUE. Consequently, it is unnecessary to use/call this method anymore. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IForms/UpdateStatus
[JSON input data] | pIForms: | longValue, //interface address
[JSON result data] | plDBUpdatesTotal: plDBUpdatesDone: plFileUpdatesTotal: plFileUpdatesDone: peIsRunning: pbStatus: | longValue, longValue, longValue, longValue, longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT UpdateStatus( | long long long long YesNoType VARIANT_BOOL | *plDBUpdatesTotal, *plDBUpdatesDone, *plFileUpdatesTotal, *plFileUpdatesDone, *peIsRunning, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] long | *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. |
space |


  • IForms
  • DestructForms

IForms::DestructForms property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IForms interface instance. The counterpart property to generate an IForms interface instance is IGeneralFormsRequestManager::GetForms. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IForms/PutDestructForms
[JSON input data] | pIForms: eDestructForms: | longValue, //interface address longValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IGeneralFormRequest

IGeneralFormRequest interface |  | V4.50/ 2 Sep 2016
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_450 or generalFormRequest_430 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
space
Methods |  | 30 methods
AddAddress | Sets the structured address and primary parameters like GLN, ZSR, etc |
AddAllergy | Adds an allergy structure to the list of allergies. |
AddDiagnosis | Adds a diagnosis structure to the list of diagnoses. |
AddDocument | Attaches a PDF, JPG or PNG document to the list of documents |
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 |
GetAddressRoles | Method for collecting all address role data covered by the IGeneralFormRequest interface and returned as JSON array |
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 |
GetStructRoles | Method for collecting all structure role data covered by the IGeneralFormRequest interface and returned as JSON array |
GetVars | Method for collecting all variable data covered by the IGeneralFormRequest interface and returned as JSON array |
SetCard | Sets the patient's insurance card information (might be the patient card later on) - this information is optional. |
SetFormObject | Sets the form object reference parameters |
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. |
space
Properties |  | 3 properties
[get] CreateAddress | Create an instance of the IAddress interface |
[put] DestructAddress | Destructs/invalidates the IAddress interface instance |
[put] DestructGeneralFormRequest | Destructs/invalidates this IGeneralFormRequest interface instance. |
space |


  • IGeneralFormRequest
  • AddAddress

IGeneralFormRequest::AddAddress method |  |  | space
Sets the structured address and primary parameters like GLN, 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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/AddAddress
[JSON input data] | pIGeneralFormRequest: bstrAddressName: bstrEAN: bstrZSR: bstrNIF: bstrSpecialty: pIAddress: | longValue, //interface address "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", longValue
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddAddress( | BSTR BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | bstrAddressName, bstrEAN, bstrZSR, bstrNIF, bstrSpecialty, *pIAddress, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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 | GLN (former EAN13) of the given address party as supplied by medwin.ch Leave empty if the GLN 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. |
space |


  • IGeneralFormRequest
  • AddAllergy

IGeneralFormRequest::AddAllergy method |  |  | space
Adds an allergy structure to the list of allergies. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/AddAllergy
[JSON input data] | pIGeneralFormRequest: bstrStructName: eAllergyType: bstrCode: bstrName: dDate: eSeverityLevel: | longValue, //interface address "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", variantDateValue | "stringISODateValue", longValue
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddAllergy( | BSTR AllergyType BSTR BSTR DATE SeverityLevelType VARIANT_BOOL | bstrStructName, eAllergyType, bstrCode, bstrName, dDate, eSeverityLevel, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • AddDiagnosis

IGeneralFormRequest::AddDiagnosis method |  |  | space
Adds a diagnosis structure to the list of diagnoses. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/AddDiagnosis
[JSON input data] | pIGeneralFormRequest: bstrStructName: eDiagnosisCodeType: bstrCode: bstrName: dDate: eIsActive: bstrRemark: | longValue, //interface address "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", variantDateValue | "stringISODateValue", longValue, "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddDiagnosis( | BSTR DiagnosisCodeType BSTR BSTR DATE YesNoType BSTR VARIANT_BOOL | bstrStructName, eDiagnosisCodeType, bstrCode, bstrName, dDate, eIsActive, bstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • AddDocument

IGeneralFormRequest::AddDocument method | space
Attaches a PDF, JPG or PNG document to the list of documents.

Internally, the documents will be transformed to a BASE64 octet representation to safeguard the binary nature of the transport.

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/AddDocument?param
[param] pIGeneralFormRequest=longValue&
bstrFile=urlEncodedString&
bstrTitle=urlEncodedString&
bstrMimeType=urlEncodedString
+
<application/octet-stream> input_file_upload_stream
[JSON result data] pbStatus: booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT AddDocument( BSTR
BSTR
BSTR
VARIANT_BOOL 		bstrFile,
bstrTitle,
bstrMimeType,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[in] BSTR | bstrFile | bstrFile supplies the full file name (path + name) of the document. Be sure, that privileges allows to open and read the file since the content is internally BASE64 coded.
[in] BSTR | bstrTitle | bstrTitle is the document's title on the primary system and thus describes the document in terms of its semantic content.
[in] BSTR bstrMimeType The MIME type of the document. The MIME type enables applications to define the format and eventually read the file (cf. RFC 2046 standardizes and names the commonly used MIME types).

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

  • application/pdf for PDF files,
  • image/jpeg for JPG graphic files
  • image/png for PNG graphic files
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
space


  • IGeneralFormRequest
  • AddMedication

IGeneralFormRequest::AddMedication method |  |  | space
Adds a medication structure to the list of medications. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/AddMedication
[JSON input data] | pIGeneralFormRequest: bstrStructName: eDrugCodeType: bstrCode: bstrName: dBeginDate: dEndDate: | longValue, //interface address "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", variantDateValue | "stringISODateValue", variantDateValue | "stringISODateValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddMedication( | BSTR DrugCodeType BSTR BSTR DATE DATE VARIANT_BOOL | bstrStructName, eDrugCodeType, bstrCode, bstrName, dBeginDate, dEndDate, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • AddNumericResult

IGeneralFormRequest::AddNumericResult method |  |  | space
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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/AddNumericResult
[JSON input data] | pIGeneralFormRequest: bstrStructName: eResultCodeType: bstrCode: bstrName: dDate: bstrValue: bstrUnit: bstrLowerReference: bstrUpperReference: bstrRemark: | longValue, //interface address "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", variantDateValue | "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddNumericResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | bstrStructName, eResultCodeType, bstrCode, bstrName, dDate, bstrValue, bstrUnit, bstrLowerReference, bstrUpperReference, bstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • AddTextResult

IGeneralFormRequest::AddTextResult method |  |  | space
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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/AddTextResult
[JSON input data] | pIGeneralFormRequest: bstrStructName: eResultCodeType: bstrCode: bstrName: dDate: bstrValue: bstrReference: bstrRemark: | longValue, //interface address "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", variantDateValue | "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddTextResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR VARIANT_BOOL | bstrStructName, eResultCodeType, bstrCode, bstrName, dDate, bstrValue, bstrReference, bstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • AddUnemployability

IGeneralFormRequest::AddUnemployability method |  |  | space
Adds an unemployability structure to the list of unemployabilities. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/AddUnemployability
[JSON input data] | pIGeneralFormRequest: bstrStructName: dDate: dBeginDate: dEndDate: lPercentage: bstrRemark: | longValue, //interface address "utf8StringValue", variantDateValue | "stringISODateValue", variantDateValue | "stringISODateValue", variantDateValue | "stringISODateValue", longValue, "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddUnemployability( | BSTR DATE DATE DATE long BSTR VARIANT_BOOL | bstrStructName, dDate, dBeginDate, dEndDate, lPercentage, bstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • AddVaccination

IGeneralFormRequest::AddVaccination method |  |  | space
Adds a vaccination structure to the list of vaccinations. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/AddVaccination
[JSON input data] | pIGeneralFormRequest: bstrStructName: eDrugCodeType: bstrCode: bstrName: dDate: bstrLOTNumber: bstrRemark: | longValue, //interface address "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", variantDateValue | "stringISODateValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT AddVaccination( | BSTR DrugCodeType BSTR BSTR DATE BSTR BSTR VARIANT_BOOL | bstrStructName, eDrugCodeType, bstrCode, bstrName, dDate, bstrLOTNumber, bstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • AddVar

IGeneralFormRequest::AddVar method | space
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
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/AddVar
[JSON input data] pIGeneralFormRequest:
bstrName:
bstrValue: 		longValue, //interface address
"utf8StringValue",
"utf8StringValue"
[JSON result data] pbStatus: booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT AddVar( BSTR
BSTR
VARIANT_BOOL 		bstrName,
bstrValue,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[in] BSTR 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.
space


  • IGeneralFormRequest
  • Finalize

IGeneralFormRequest::Finalize method |  |  | space
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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/Finalize
[JSON input data] | pIGeneralFormRequest: | longValue, //interface address
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT Finalize( | VARIANT_BOOL | *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IGeneralFormRequest
  • GetAbortInfo

IGeneralFormRequest::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/GetAbortInfo
[JSON input data] | pIGeneralFormRequest: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • IGeneralFormRequest
  • GetAddressRoles

IGeneralFormRequest::GetAddressRoles method | space
This method has a Restful Webservice representation only!
Method for collecting all address role data covered by the IGeneralFormRequest interface and returned as JSON array.

Please note that IGeneralCreditRequest::GetAddressRoles takes over the functionality of the iterator pair IGeneralCreditRequest::GetFirstAddressRole / IGeneralCreditRequest::GetNextAddressRole with a single call, making the latter superfluous.
space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetAddressRoles
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result array] { peAddressRole:
pbstrAddressName:
plIndex:
plMaxOccurs:
peIsDefined:
pbstrConstraint:
pbStatus: 		longValue,
"utf8StringValue",
longValue,
longValue,
longValue,
"utf8StringValue",
booleanValue
},
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
Calling argument description
[out] AddressRoleType | *peAddressRole | The semantic 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] BSTR *pbstrConstraint bstrConstraint is -if defined at all- a constraint onto the value space, a constraint of the time axis (appinfo machine instruction) or a natural language based instruction (annotation). The constraint of an address is formatted by using/defining variables of the corresponding AddAddress method (without any IAddress participation!) and setting/assigning a constraint value. These token=value sets are whitespace separated, case-insensitive and the notation is exactly as in the API documentation.

Furthermore, there are situations where a constraint of the value space is defined by the applicable law. Therefore, the aforementioned token=value set can optionally be augmented by a eLawType set, e.g. eLawType=enUVG for setting focus to the UVG law (cf the enumeration space of eLawType for the possible set of values!).

In fact the eLawType constraint is the only important constraint if addresses are concerned and should be implemented at a minimum.

For example an insurance address is requested in the form "birth notice" (covered by KVG 64/KVV 105). From a logical point of view, it is clear that a KVG insurance address is requested. However, only by setting the constraint:

eLawType =enKVG
this information can be transported prior to displaying the form.

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 an UVG address in the aforementioned form!

[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • IGeneralFormRequest
  • GetFirstAddressRole

IGeneralFormRequest::GetFirstAddressRole method | space
Retrieves the first address of all semantically well defined address defined by the currently loaded PDF file.

Note, that basically the index of the address struct and the occupation status (defined or not) is returned , and 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.

Furthermore, the method returns a possible non-empty constraint, that supplies further specific information about the requested data. The constraint must be seen either as >xsd:appinfo< element holding information for the main software or as >xsd:annotation< formulated in the natural language of the form requesting specific information. Example of ist usage are:

  • eLawType=enUVG in an insuranceS1Address, requesting an address of an UVG insurance
  • name='HbA1c' in a numericS1Struct, requesting a 'HbA1c' lab result
  • 'letzte Thoraxaufnahme als JPG senden' in a documentS1Struct, requesting a specific document as attachment

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetFirstAddressRole
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result data] peAddressRole:
pbstrAddressName:
plIndex:
plMaxOccurs:
peIsDefined:
pbstrConstraint:
pbStatus: 		longValue,
"utf8StringValue",
longValue,
longValue,
longValue,
"utf8StringValue",
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetFirstAddressRole( AddressRoleType
BSTR
long
long
YesNoType
BSTR
VARIANT_BOOL 		*peAddressRole,
*pbstrAddressName,
*plIndex,
*plMaxOccurs,
*peIsDefined,
*pbstrConstraint,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] AddressRoleType | *peAddressRole | The semantic 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] BSTR *pbstrConstraint bstrConstraint is -if defined at all- a constraint onto the value space, a constraint of the time axis (appinfo machine instruction) or a natural language based instruction (annotation). The constraint of an address is formatted by using/defining variables of the corresponding AddAddress method (without any IAddress participation!) and setting/assigning a constraint value. These token=value sets are whitespace separated, case-insensitive and the notation is exactly as in the API documentation.

Furthermore, there are situations where a constraint of the value space is defined by the applicable law. Therefore, the aforementioned token=value set can optionally be augmented by a eLawType set, e.g. eLawType=enUVG for setting focus to the UVG law (cf the enumeration space of eLawType for the possible set of values!).

In fact the eLawType constraint is the only important constraint if addresses are concerned and should be implemented at a minimum.

For example an insurance address is requested in the form "birth notice" (covered by KVG 64/KVV 105). From a logical point of view, it is clear that a KVG insurance address is requested. However, only by setting the constraint:

eLawType =enKVG
this information can be transported prior to displaying the form.

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 an UVG address in the aforementioned form!

[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • IGeneralFormRequest
  • GetFirstStructRole

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

Note, that basically the index of the named struct and the occupation status (defined or not) is returned. Based on the returned status, a structure is set or overridden by the appropriate method e.g. AddDiagnosis, using the given bstrStructName struct index.

Furthermore, the method returns a possible non-empty constraint, that supplies further specific information about the requested data. The constraint must be seen either as >xsd:appinfo< element holding information for the main software or as >xsd:annotation< formulated in the natural language of the form requesting specific information. Example of ist usage are:

  • eLawType=enUVG in an insuranceS1Address, requesting an address of an UVG insurance
  • name='HbA1c' in a numericS1Struct, requesting a 'HbA1c' lab result
  • 'letzte Thoraxaufnahme als JPG senden' in a documentS1Struct, requesting a specific document as attachment

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetFirstStructRole
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result data] peStructRoleType:
pbstrStructName:
plIndex:
plMaxOccurs:
peIsDefined:
pbstrConstraint:
pbStatus: 		longValue,
"utf8StringValue",
longValue,
longValue,
longValue,
"utf8StringValue",
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetFirstStructRole( StructRoleType
BSTR
long
long
YesNoType
BSTR
VARIANT_BOOL 		*peStructRoleType,
*pbstrStructName,
*plIndex,
*plMaxOccurs,
*peIsDefined,
*pbstrConstraint,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] 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 *pbstrConstraint bstrConstraint is -if defined at all- a constraint onto the value space, a constraint of the time axis (appinfo machine instruction) or a natural language based instruction (annotation). The constraint of a structure is formatted by using/defining variables of the corresponding method and setting/assigning a constraint value. These token=value sets are whitespace separated, case-insensitive and the notation is exactly as in the API documentation.

Furthermore, there are situations where a constraint of the value space is defined by the applicable law. Therefore, the aforementioned token=value set can optionally be augmented by a eLawType set, e.g. eLawType=enUVG for setting the law to UVG (cf the enumeration space of eLawType for the possible set of values!).

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

eResultCodeType =enResultCodeLoinc && bstrCode=28826-6

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 HbA1c lab result for the aforementioned distant sphere case!

[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • IGeneralFormRequest
  • GetFirstVar

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

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetFirstVar
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result data] peVarType:
pbstrName:
pbstrValue:
pbstrEnumList:
peIsDefined:
pbStatus: 		longValue,
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
longValue,
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetFirstVar( VarType
BSTR
BSTR
BSTR
YesNoType
VARIANT_BOOL 		*peVarType,
*pbstrName,
*pbstrValue,
*pbstrEnumList,
*peIsDefined,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] 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
space


  • IGeneralFormRequest
  • GetNextAddressRole

IGeneralFormRequest::GetNextAddressRole method | space
Retrieves the next address of all semantically well defined address defined by the currently loaded PDF file.

Note, that basically the index of the address struct and the occupation status (defined or not) is returned , and 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.

Furthermore, the method returns a possible non-empty constraint, that supplies further specific information about the requested data. The constraint must be seen either as >xsd:appinfo< element holding information for the main software or as >xsd:annotation< formulated in the natural language of the form requesting specific information. Example of ist usage are:

  • eLawType=enUVG in an insuranceS1Address, requesting an address of an UVG insurance
  • name='HbA1c' in a numericS1Struct, requesting a 'HbA1c' lab result
  • 'letzte Thoraxaufnahme als JPG senden' in a documentS1Struct, requesting a specific document as attachment

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetNextAddressRole
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result data] peAddressRole:
pbstrAddressName:
plIndex:
plMaxOccurs:
peIsDefined:
pbstrConstraint:
pbStatus: 		longValue,
"utf8StringValue",
longValue,
longValue,
longValue,
"utf8StringValue",
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetNextAddressRole( AddressRoleType
BSTR
long
long
YesNoType
BSTR
VARIANT_BOOL 		*peAddressRole,
*pbstrAddressName,
*plIndex,
*plMaxOccurs,
*peIsDefined,
*pbstrConstraint,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] AddressRoleType | *peAddressRole | The semantic 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] BSTR *pbstrConstraint bstrConstraint is -if defined at all- a constraint onto the value space, a constraint of the time axis (appinfo machine instruction) or a natural language based instruction (annotation). The constraint of an address is formatted by using/defining variables of the corresponding AddAddress method (without any IAddress participation!) and setting/assigning a constraint value. These token=value sets are whitespace separated, case-insensitive and the notation is exactly as in the API documentation.

Furthermore, there are situations where a constraint of the value space is defined by the applicable law. Therefore, the aforementioned token=value set can optionally be augmented by a eLawType set, e.g. eLawType=enUVG for setting focus to the UVG law (cf the enumeration space of eLawType for the possible set of values!).

In fact the eLawType constraint is the only important constraint if addresses are concerned and should be implemented at a minimum.

For example an insurance address is requested in the form "birth notice" (covered by KVG 64/KVV 105). From a logical point of view, it is clear that a KVG insurance address is requested. However, only by setting the constraint:

eLawType =enKVG
this information can be transported prior to displaying the form.

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 an UVG address in the aforementioned form!

[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • IGeneralFormRequest
  • GetNextStructRole

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

Note, that basically the index of the named struct and the occupation status (defined or not) is returned. Based on the returned status, a structure is set or overridden by the appropriate method e.g. AddDiagnosis, using the given bstrStructName struct index.

Furthermore, the method returns a possible non-empty constraint, that supplies further specific information about the requested data. The constraint must be seen either as >xsd:appinfo< element holding information for the main software or as >xsd:annotation< formulated in the natural language of the form requesting specific information. Example of ist usage are:

  • eLawType=enUVG in an insuranceS1Address, requesting an address of an UVG insurance
  • name='HbA1c' in a numericS1Struct, requesting a 'HbA1c' lab result
  • 'letzte Thoraxaufnahme als JPG senden' in a documentS1Struct, requesting a specific document as attachment

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetNextStructRole
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result data] peStructRoleType:
pbstrStructName:
plIndex:
plMaxOccurs:
peIsDefined:
pbstrConstraint:
pbStatus: 		longValue,
"utf8StringValue",
longValue,
longValue,
longValue,
"utf8StringValue",
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetNextStructRole( StructRoleType
BSTR
long
long
YesNoType
BSTR
VARIANT_BOOL 		*peStructRoleType,
*pbstrStructName,
*plIndex,
*plMaxOccurs,
*peIsDefined,
*pbstrConstraint,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] 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 *pbstrConstraint bstrConstraint is -if defined at all- a constraint onto the value space, a constraint of the time axis (appinfo machine instruction) or a natural language based instruction (annotation). The constraint of a structure is formatted by using/defining variables of the corresponding method and setting/assigning a constraint value. These token=value sets are whitespace separated, case-insensitive and the notation is exactly as in the API documentation.

Furthermore, there are situations where a constraint of the value space is defined by the applicable law. Therefore, the aforementioned token=value set can optionally be augmented by a eLawType set, e.g. eLawType=enUVG for setting the law to UVG (cf the enumeration space of eLawType for the possible set of values!).

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

eResultCodeType =enResultCodeLoinc && bstrCode=28826-6

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 HbA1c 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
space


  • IGeneralFormRequest
  • GetNextVar

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

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetNextVar
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result data] peVarType:
pbstrName:
pbstrValue:
pbstrEnumList:
peIsDefined:
pbStatus: 		longValue,
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
longValue,
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetNextVar( VarType
BSTR
BSTR
BSTR
YesNoType
VARIANT_BOOL 		*peVarType,
*pbstrName,
*pbstrValue,
*pbstrEnumList,
*peIsDefined,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] 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
space


  • IGeneralFormRequest
  • GetStructRoles

IGeneralFormRequest::GetStructRoles method | space
This method has a Restful Webservice representation only!
Method for collecting all structure role data covered by the IGeneralFormRequest interface and returned as JSON array.

Please note that IGeneralCreditRequest::GetStructRoles takes over the functionality of the iterator pair IGeneralCreditRequest::GetFirstStructRole / IGeneralCreditRequest::GetNextStructRole with a single call, making the latter superfluous.
space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetStructRoles
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result array] { peStructRoleType:
pbstrStructName:
plIndex:
plMaxOccurs:
peIsDefined:
pbstrConstraint:
pbStatus: 		longValue,
"utf8StringValue",
longValue,
longValue,
longValue,
"utf8StringValue",
booleanValue
},
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
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 *pbstrConstraint bstrConstraint is -if defined at all- a constraint onto the value space, a constraint of the time axis (appinfo machine instruction) or a natural language based instruction (annotation). The constraint of a structure is formatted by using/defining variables of the corresponding method and setting/assigning a constraint value. These token=value sets are whitespace separated, case-insensitive and the notation is exactly as in the API documentation.

Furthermore, there are situations where a constraint of the value space is defined by the applicable law. Therefore, the aforementioned token=value set can optionally be augmented by a eLawType set, e.g. eLawType=enUVG for setting the law to UVG (cf the enumeration space of eLawType for the possible set of values!).

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

eResultCodeType =enResultCodeLoinc && bstrCode=28826-6

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 HbA1c lab result for the aforementioned distant sphere case!

[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
space


  • IGeneralFormRequest
  • GetVars

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

Please note that IGeneralCreditRequest::GetVars takes over the functionality of the iterator pair IGeneralCreditRequest::GetFirstVar / IGeneralCreditRequest::GetNextVar with a single call, making the latter superfluous.
space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/GetVars
[JSON input data] pIGeneralFormRequest: longValue, //interface address
[JSON result array] { peVarType:
pbstrName:
pbstrValue:
pbstrEnumList:
peIsDefined:
pbStatus: 		longValue,
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
longValue,
booleanValue
},
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
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
space


  • IGeneralFormRequest
  • SetCard

IGeneralFormRequest::SetCard method |  |  | space
Sets the patient's insurance card information (might be the patient card later on) - this information is optional. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/SetCard
[JSON input data] | pIGeneralFormRequest: bstrStructName: bstrCardID: dExpiryDate: dValidationDate: bstrValidationID: bstrValidationServer: | longValue, //interface address "utf8StringValue", "utf8StringValue", variantDateValue | "stringISODateValue", variantDateValue | "stringISODateValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetCard( | BSTR BSTR DATE DATE BSTR BSTR VARIANT_BOOL | bstrStructName, bstrCardID, dExpiryDate, dValidationDate, bstrValidationID, bstrValidationServer, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • SetFormObject

IGeneralFormRequest::SetFormObject method |  |  | space
Sets the 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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/SetFormObject
[JSON input data] | pIGeneralFormRequest: bstrRequestFormID: dRequestFormDate: lRequestFormTimestamp: | longValue, //interface address "utf8StringValue", variantDateValue | "stringISODateValue", longValue
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetFormObject( | BSTR DATE long VARIANT_BOOL | bstrRequestFormID, dRequestFormDate, lRequestFormTimestamp, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrRequestFormID | The form ID is the main software's own identification of the current form process. This is one of 3 identifiers that constitute the form object reference. |
[in] DATE | dRequestFormDate | The form date is the main software's own date of the current form process. 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. |
space |


  • IGeneralFormRequest
  • SetLaw

IGeneralFormRequest::SetLaw method |  |  | space
Sets the law and its dependent information |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/SetLaw
[JSON input data] | pIGeneralFormRequest: bstrStructName: eLawType: dCaseDate: bstrCaseID: bstrInsuredID: bstrContractNumber: | longValue, //interface address "utf8StringValue", longValue, variantDateValue | "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetLaw( | BSTR LawType DATE BSTR BSTR BSTR VARIANT_BOOL | bstrStructName, eLawType, dCaseDate, bstrCaseID, bstrInsuredID, bstrContractNumber, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • SetPackage

IGeneralFormRequest::SetPackage method |  |  | space
Defines the identification parameters of the main software that uses this DLL. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/SetPackage
[JSON input data] | pIGeneralFormRequest: bstrSoftwarePackage: lSoftwareVersion: lSoftwareID: bstrSoftwareCopyright: | longValue, //interface address "utf8StringValue", longValue, longValue, "utf8StringValue"
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetPackage( | BSTR long long BSTR VARIANT_BOOL | bstrSoftwarePackage, lSoftwareVersion, lSoftwareID, bstrSoftwareCopyright, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrSoftwarePackage | Name of the main software 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. |
space |


  • IGeneralFormRequest
  • SetPatient

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

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/SetPatient
[JSON input data] pIGeneralFormRequest:
bstrAddressName:
eSexType:
dBirthdate:
bstrSSN:
pIAddress: 		longValue, //interface address
"utf8StringValue",
longValue,
variantDateValue | "stringISODateValue",
"utf8StringValue",
longValue
[JSON result data] pbStatus: booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT SetPatient( BSTR
SexType
DATE
BSTR
IAddress
VARIANT_BOOL 		bstrAddressName,
eSexType,
dBirthdate,
bstrSSN,
*pIAddress,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[in] BSTR | 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.
space


  • IGeneralFormRequest
  • SetRefObject

IGeneralFormRequest::SetRefObject method |  |  | space
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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/SetRefObject
[JSON input data] | pIGeneralFormRequest: eRefObjectType: bstrRequestID: dRequestDate: lRequestTimestamp: | longValue, //interface address longValue, "utf8StringValue", variantDateValue | "stringISODateValue", longValue
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetRefObject( | ObjectType BSTR DATE long VARIANT_BOOL | eRefObjectType, bstrRequestID, dRequestDate, lRequestTimestamp, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] 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. |
space |


  • IGeneralFormRequest
  • SetRequest

IGeneralFormRequest::SetRequest method |  |  | space
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 (SetFormObject) must be defined that is > 0 otherwise an error will result in the IGeneralFormRequestManager::GetXML method. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/SetRequest
[JSON input data] | pIGeneralFormRequest: eRoleType: ePlaceType: bstrRoleTitle: eIsStorno: eIsCopy: | longValue, //interface address longValue, longValue, "utf8StringValue", longValue, longValue
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetRequest( | RoleType PlaceType BSTR YesNoType YesNoType VARIANT_BOOL | eRoleType, ePlaceType, bstrRoleTitle, eIsStorno, eIsCopy, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] 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. |
space |


  • IGeneralFormRequest
  • SetTransport

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

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

Important new feature: the electronic reachability of a given provider for generalFormRequest450 is kind of a chicken and egg problem. To solve this connectivity problem, the service medSRS (medical Standard Routing Service) has been created. By using the RESTful webservice method addRHS one announces the RHS to the outside world, that is the provider becomes a known, possible communication partner for generalFormRequest450. Please refer to the website medSRS.ch for getting an introduction to the topic or detailed information about the functionality of the webservice.

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

Note, that the returned error code is always S_FALSE to signal that the transport structure is not fully defined - bstrToEan is set empty!

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequest/SetTransport
[JSON input data] pIGeneralFormRequest:
bstrFromEAN:
bstrFromPFXFile:
bstrFromPFXPassword:
bstrViaEAN:
bstrToEAN:
bstrToBinDERFile: 		longValue, //interface address
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
"utf8StringValue"
[JSON result data] pbStatus: booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT SetTransport( BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
VARIANT_BOOL 		bstrFromEAN,
bstrFromPFXFile,
bstrFromPFXPassword,
bstrViaEAN,
bstrToEAN,
bstrToBinDERFile,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[in] BSTR | bstrFromEAN | The GLN (former EAN) number of the sender as supplied by Stiftung Refdata
[in] BSTR bstrFromPFXFile The file name of the PFX certificate that is the private certificate of the "from" entity.
If the variable is empty or NULL then no signature is applied otherwise a signature might be applied depending on the lXMLGenerationAttributes of the GetXML method.
[in] BSTR | bstrFromPFXPassword | The password to open the PFX certificate. The password is only used if a PFX certificate is supplied.
[in] BSTR | bstrViaEAN | The GLN (former EAN) number of the first intermediate as supplied by Stiftung Refdata
[in] BSTR bstrToEAN The GLN (former EAN) number of the recipient as supplied by Stiftung Refdata

Patch for adding RHS in the medSRS system:
bstrToEAN = "addRHS(glnProvider)"

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

For example, given the input 'addRHS(7601001302112)' the medSRS system announces that the provider TMR (GLN=7601001302112) can be reached via the given intermediate (bstrViaEAN) with the standard 'generalFormRequest450' using the given bstrEANFrom.

Note, that the returned error code is always S_FALSE to signal that the transport structure is not correctly defined - bstrToEan is set empty!
[in] BSTR bstrToBinDERFile The file name of the binary DER certificate that is the public certificate of the "to" entity.
If the variable is empty or NULL then no encryption is applied otherwise encryption might be applied depending on the lXMLGenerationAttributes of the GetXML
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
space


  • IGeneralFormRequest
  • SetTreatment

IGeneralFormRequest::SetTreatment method |  |  | space
Sets the primary treatment input data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequest/SetTreatment
[JSON input data] | pIGeneralFormRequest: bstrStructName: dDateBegin: dDateEnd: eTreatmentCanton: eTreatmentType: eTreatmentReason: | longValue, //interface address "utf8StringValue", variantDateValue | "stringISODateValue", variantDateValue | "stringISODateValue", longValue, longValue, longValue
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT SetTreatment( | BSTR DATE DATE CantonType TreatmentType TreatmentReasonType VARIANT_BOOL | bstrStructName, dDateBegin, dDateEnd, eTreatmentCanton, eTreatmentType, eTreatmentReason, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | 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. |
space |


  • IGeneralFormRequest
  • CreateAddress

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

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

space
Restful webservice calling syntax
[GET] | /baseURL/ IGeneralFormRequest/GetCreateAddress?param
[param] pIGeneralFormRequest= longValue
[JSON result data] pIAddress: longValue //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
[get] HRESULT | CreateAddress( IAddress **peCreateAddress );
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out,retval] IAddress | **peCreateAddress
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • IAddress **GetCreateAddress(void);
space


  • IGeneralFormRequest
  • DestructAddress

IGeneralFormRequest::DestructAddress property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates the IAddress interface instance. The counterpart property to generate an IAddress interface instance is IGeneralFormRequest::GetCreateAddress. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IGeneralFormRequest/PutDestructAddress
[JSON input data] | pIGeneralFormRequest: pIAddress: | longValue, //interface address longValue, //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IGeneralFormRequest
  • DestructGeneralFormRequest

IGeneralFormRequest::DestructGeneralFormRequest property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IGeneralFormRequest interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IGeneralFormRequest/PutDestructGeneralFormRequest
[JSON input data] | pIGeneralFormRequest: | longValue, //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IGeneralFormRequestManager

IGeneralFormRequestManager interface | V4.50/ 2 Sep 2016
The IGeneralFormRequestManager interface provides all the necessary tools to produce a filled out PDF form or a XML infoset either of type generalFormRequest_450 or its predecessor generalFormRequest_430.

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_450 or generalFormRequest_430
If the loading process is successful an instance of both the IGeneralFormRequest and the IGeneralFormResult interface is 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
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
space
Properties | 10 properties
[get] CreateGeneralFormRequestManager | Creates an instance of the main IGeneralFormRequestManager interface
[put] DestructForms | Destructs/invalidates this IForms interface instance
[put] DestructGeneralFormRequest | Destructs/invalidates this IGeneralFormRequest interface instance.
[put] DestructGeneralFormRequestManager | Destructs/invalidates a main instance of the IGeneralFormRequestManager interface
[put] DestructGeneralFormResult | Destructs/invalidates this IGeneralFormResult interface instance.
[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
space


  • IGeneralFormRequestManager
  • GetAbortInfo

IGeneralFormRequestManager::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequestManager/GetAbortInfo
[JSON input data] | pIGeneralFormRequestManager: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • IGeneralFormRequestManager
  • GetLogSettings

IGeneralFormRequestManager::GetLogSettings method | space
Get the log settings for the module.
space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequestManager/GetLogSettings
[JSON input data] pIGeneralFormRequestManager: longValue, //interface address
[JSON result data] plLogLevel:
plMaxSizeKB:
peDoArchive:
pbstrArchiveDir:
pbStatus: 		longValue,
longValue,
longValue,
"utf8StringValue",
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetLogSettings( long
long
YesNoType
BSTR
VARIANT_BOOL 		*plLogLevel,
*plMaxSizeKB,
*peDoArchive,
*pbstrArchiveDir,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] long | *plLogLevel | 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.
space


  • IGeneralFormRequestManager
  • GetPDF

IGeneralFormRequestManager::GetPDF method | space
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 free Acrobat Reader (in fact it is the first installed and available browser, capable of handling .xdp files) using a PDF form with the merged-in programmatically preset data.

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.

In Restful Webservice environment: the data visualization step can obviously not be performed on the Restful Webservice. Therefore the result of GetPDF() method is a PDF form which includes all programmatically set data. This PDF form must be shown and validated on the end-user side in an Acrobat Reader with enabled Javascript engine. User-specific changes and modifications can then be made and the form can be sent via a posible DirectSend functionality.

The merge process of the programmatically defined data into the PDF form is performed on the web server side with a full version of Adobe Acrobat, i.e. the availability of this license-requiring browser is a system requirement.

It should be noted that after the successful merge process, any prior attached documents (IGeneralFormRequest::AddDocument method) will be sent to the medForms portal ahead of time, bearing in mind that the form data itself will be sent later by the user. On the medForms portal, these documents are cached for a maximum of 3h awaiting to be migrate with the main form data. If the latter are not delivered, the documents are deleted after the cache time is due.

If an XML is to be generated, then the PDF form saved after the visualization step must be loaded on the rest server with LoadPDF, any required XML-specific data must be set and then GetXML must be called.

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequestManager/GetPDF
[JSON input data] pIGeneralFormRequestManager:
lGenerationAttributes: 		longValue, //interface address
longValue
[JSON result data] pbstrPDFFile:
plDirectSendTimestamp:
pbstrDirectSendLog:
pbStatus: 		"utf8StringValue",
longValue,
"utf8StringValue",
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetPDF( long
BSTR
long
BSTR
VARIANT_BOOL 		lGenerationAttributes,
*pbstrPDFFile,
*plDirectSendTimestamp,
*pbstrDirectSendLog,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[in] long lGenerationAttributes This variable overrules the default behavior of the PDF generation process even if the appropriate data have been defined.

lGenerationAttributes is a 32-bit integer where the possible "commands" are values from the generationAttributes data type ORed together to form the overall command.

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

Moreover, the downgrade to the lower version is defined by setting the enGenerateDowngradeToV430 bit.

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

In Restful Webservice output: pbstrOutputFile is a releative URL which must be downloaded in a subsequent GET process.

[out] long *plDirectSendTimestamp The timestamp as epoch time (seconds elapsed since 1.1.1970) when the "direct data send" feature on the PDF form was successfully used. The timestamp is set 0 under all other conditions.

This is basically an information for the documentation of the form process management thus allowing to build an quality of service for the form lifetime.

[out] BSTR *pbstrDirectSendLog This is a log excerpt of the "direct send" process.

The log consists of crlf-separated lines with the format:
date time: text [ERR=n]
where the error is given in an error situation only.

[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
space


  • IGeneralFormRequestManager
  • GetXML

IGeneralFormRequestManager::GetXML method | space
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

In Restful Webservice environment: the data visualization step can obviously not be performed on the Restful Webservice. Due to the lack of the former, no further user-defined data can be added to the PDF form, nor can the form be sent via a 'DirectSend' functionality in the PDF itself.

Consequently, the process-technically correct way to generate an XML Infoset is that the data of the visualization step is already included. This means that a data file with the complete set of variables is loaded via LoadPDF or LoadXML and then only XML-specific data is added. The latter are set and defined via the methods IGeneralFormRequest::SetRequest, IGeneralFormRequest::SetTransport, IGeneralFormRequest::SetPackage,IGeneralFormRequest::SetRefObject and IGeneralFormRequest::AddDocument. Most of these methods are necessary for creating a schema-valid XML infoset.

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequestManager/GetXML
[JSON input data] pIGeneralFormRequestManager:
lGenerationAttributes: 		longValue, //interface address
longValue
[JSON result data] pbstrOutputFile:
plValidationError:
plTimestamp:
pbStatus: 		"utf8StringValue",
longValue,
longValue,
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetXML( long
BSTR
long
long
VARIANT_BOOL 		lGenerationAttributes,
*pbstrOutputFile,
*plValidationError,
*plTimestamp,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[in] long lGenerationAttributes This variable overrules the default behavior of the XML generation process even if the appropriate data have been defined.

lGenerationAttributes is a 32-bit integer where the possible "commands" are values from the generationAttributes data type ORed together to form the overall command.

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

Moreover, the downgrade to the lower version is defined by setting the enGenerateDowngradeToV430 bit.

[out] BSTR *pbstrOutputFile The full file name (path + name) where the XML infoset is stored in UTF-8 mode.

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

In Restful Webservice output: pbstrOutputFile is a releative URL which must be downloaded in a subsequent GET process.

[out] long | *plValidationError | lValidationError is filled with the validation error code returned by the MSXML-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.
space


  • IGeneralFormRequestManager
  • LoadPDF

IGeneralFormRequestManager::LoadPDF method |  |  | space
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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequestManager/LoadPDF?param
[param] | pIGeneralFormRequestManager=longValue& bstrPDFTemplate=urlEncodedString + <application/octet-stream> input_file_upload_stream
[JSON result data] | pbstrFormOID: plFormVersion: peFormLanguage: pbstrIntermediates: peHasDirectSend: pIGeneralFormRequest: pIGeneralFormResult: pbStatus: | "utf8StringValue", longValue, longValue, "utf8StringValue", longValue, longValue, longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT LoadPDF( | BSTR BSTR long LanguageType BSTR YesNoType IGeneralFormRequest IGeneralFormResult VARIANT_BOOL | bstrPDFTemplate, *pbstrFormOID, *plFormVersion, *peFormLanguage, *pbstrIntermediates, *peHasDirectSend, **pIGeneralFormRequest, **pIGeneralFormResult, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrPDFTemplate | Either a full file name (path + name) of a previously saved PDF form or a 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 Restful webservice system: Since a medForms OID is not a physical file, there is no joint uploading process, e.g. if bstrPDFTemplate=medFormsOID than perform a normal POST <application/json> Restful call instead of the otherwise requested POST urlEncoded + <application/octet-stream> call! |
[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] BSTR | *pbstrIntermediates | A whitespace separated list of intermediates, that can be used to reach the intended recipient. The individual intermediates are formatted as: name{gln} Please note, this information stems from the form itself and does not include the data from transport element of the XML itself., defines possible static routing and purely serves as a help/hint for the routing. Furthermore, this data can be set only for "named" forms, that is forms with a predefined and fixed recipient. |
[out] YesNoType | *peHasDirectSend | A Boolean designating if the form in question includes a "direct send" feature (enYes) or not (enNo). |
[out] IGeneralFormRequest | **pIGeneralFormRequest | The IGeneralFormRequest interface handle that allows to add further data. The handle is NULL if an error occurred. |
[out] IGeneralFormResult | **pIGeneralFormResult | 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. |
space |


  • IGeneralFormRequestManager
  • LoadXML

IGeneralFormRequestManager::LoadXML method |  |  | space
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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormRequestManager/LoadXML?param
[param] | pIGeneralFormRequestManager=longValue& bstrInputFile=urlEncodedString + <application/octet-stream> input_file_upload_stream
[JSON result data] | pbstrFormOID: plFormVersion: peFormLanguage: pbstrIntermediates: peHasDirectSend: pbstrUsedSchema: pIGeneralFormRequest: pIGeneralFormResult: pbStatus: | "utf8StringValue", longValue, longValue, "utf8StringValue", longValue, "utf8StringValue", longValue, longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT LoadXML( | BSTR BSTR long LanguageType BSTR YesNoType BSTR IGeneralFormRequest IGeneralFormResult VARIANT_BOOL | bstrInputFile, *pbstrFormOID, *plFormVersion, *peFormLanguage, *pbstrIntermediates, *peHasDirectSend, *pbstrUsedSchema, **pIGeneralFormRequest, **pIGeneralFormResult, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrInputFile | The 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 | *pbstrIntermediates | A whitespace separated list of intermediates, that can be used to reach the intended recipient. The individual intermediates are formatted as: name{gln} Please note, that this static routing information is on a per form basis and purely serves as a help/hint for the routing. Furthermore, this data can be set only for "named" forms, that is forms with a predefined and fixed recipient. |
[out] YesNoType | *peHasDirectSend | A Boolean designating if the form in question includes a "direct send" feature (enYes) or not (enNo). |
[out] BSTR | *pbstrUsedSchema | The full XSD name of the loaded XML file. |
[out] IGeneralFormRequest | **pIGeneralFormRequest | The IGeneralFormRequest interface handle that allows to add further data. The handle is NULL if an error occurred. |
[out] IGeneralFormResult | **pIGeneralFormResult | 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. |
space |


  • IGeneralFormRequestManager
  • SetLogSettings

IGeneralFormRequestManager::SetLogSettings method | space
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
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormRequestManager/SetLogSettings
[JSON input data] pIGeneralFormRequestManager:
lLogLevel:
lMaxSizeKB:
eDoArchive:
bstrArchiveDir: 		longValue, //interface address
longValue,
longValue,
longValue,
"utf8StringValue"
[JSON result data] pbStatus: booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT SetLogSettings( long
long
YesNoType
BSTR
VARIANT_BOOL 		lLogLevel,
lMaxSizeKB,
eDoArchive,
bstrArchiveDir,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[in] long lLogLevel The log activity level where
lLogLevel = 0 | Logging is turned off
lLogLevel = 1 | Normal log activity
lLogLevel > 1 | Debug log activity. Use this level only for debugging purposes

Any log level below 0 is corrected to 0.

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

If the base archive directory or directories below have insufficient privileges to create directories or write files archiving is not done!

[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
space


  • IGeneralFormRequestManager
  • CreateGeneralFormRequestManager

IGeneralFormRequestManager::CreateGeneralFormRequestManager property |  |  | space
This property has a Restful Webservice representation only! Creates an instance of the main IGeneralFormRequestManager interface. To delete/invalidate this interface instance, the counterpart property PutDestructGeneralFormRequestManager must be explicitly called, since the pIGeneralFormRequestManager address has a global scope and is not automatically destructed. |  |  |
space
Restful webservice calling syntax |  |  |
[GET] | /baseURL/ IGeneralFormRequestManager/GetCreateGeneralFormRequestManager?param
[param] | pIGeneralFormRequestManager= | longValue
[JSON result data] | pIGeneralFormRequestManager: | longValue //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IGeneralFormRequestManager
  • DestructForms

IGeneralFormRequestManager::DestructForms property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IForms interface instance. The counterpart property to generate an IForms interface instance is IGeneralFormRequestManager::GetForms. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IGeneralFormRequestManager/PutDestructForms
[JSON input data] | pIGeneralFormRequestManager: eDestructForms: | longValue, //interface address longValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IGeneralFormRequestManager
  • DestructGeneralFormRequest

IGeneralFormRequestManager::DestructGeneralFormRequest property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IGeneralFormRequest interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IGeneralFormRequestManager/PutDestructGeneralFormRequest
[JSON input data] | pIGeneralFormRequestManager: pIGeneralFormRequest: | longValue, //interface address longValue, //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IGeneralFormRequestManager
  • DestructGeneralFormRequestManager

IGeneralFormRequestManager::DestructGeneralFormRequestManager property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates a main instance of the IGeneralFormRequestManager interface. Please note, that all dependent, active interface instances generated with IGeneralFormRequestManager::GetForms and all IGeneralFormRequest + IGeneralFormResult interface instances under this main instance, are automatically destructed as well. The counterpart property to generate a main interface instance is IGeneralFormRequestManager::GetCreateGeneralFormRequestManager. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IGeneralFormRequestManager/PutDestructGeneralFormRequestManager
[JSON input data] | pIGeneralFormRequestManager: | longValue, //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IGeneralFormRequestManager
  • DestructGeneralFormResult

IGeneralFormRequestManager::DestructGeneralFormResult property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IGeneralFormResult interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IGeneralFormRequestManager/PutDestructGeneralFormResult
[JSON input data] | pIGeneralFormRequestManager: pIGeneralFormResult: | longValue, //interface address longValue, //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • IGeneralFormRequestManager
  • Forms

IGeneralFormRequestManager::Forms property | space
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
Restful webservice calling syntax
[GET] | /baseURL/ IGeneralFormRequestManager/GetForms?param
[param] pIGeneralFormRequestManager= longValue
[JSON result data] pIForms: longValue //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
[get] HRESULT | Forms( IForms **peForms );
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out,retval] IForms | **peForms
space
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 | space
Get/Set the language for the module i.e. the language in which the error strings are coded.

Note, that the module language and the PDF form language are independent and can be different! The latter one is defined purely by the PDF form loaded.

space
Restful webservice calling syntax
[GET] | /baseURL/ IGeneralFormRequestManager/GetModuleLanguage?param
[param] pIGeneralFormRequestManager= longValue
[JSON result data] peModuleLanguage: longValue
[PUT] | /baseURL/ IGeneralFormRequestManager/PutModuleLanguage
[JSON input data] pIGeneralFormRequestManager:
eModuleLanguage: 		longValue, //interface address
longValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
[get] HRESULT | ModuleLanguage( LanguageType *peModuleLanguage );
[put] HRESULT | ModuleLanguage( LanguageType eModuleLanguage );
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out,retval] LanguageType | *peModuleLanguage
[in] LanguageType | eModuleLanguage
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • LanguageType *GetModuleLanguage(void);
  • void PutModuleLanguage( LanguageType lModuleLanguage);
space


  • IGeneralFormRequestManager
  • ModuleVersion

IGeneralFormRequestManager::ModuleVersion property | space
Get the version of the GeneralFormRequestManager module.
space
Restful webservice calling syntax
[GET] | /baseURL/ IGeneralFormRequestManager/GetModuleVersion?param
[param] pIGeneralFormRequestManager= longValue
[JSON result data] pbstrModuleVersion: "utf8StringValue"
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
[get] HRESULT | ModuleVersion( BSTR *pbstrModuleVersion );
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out,retval] BSTR | *pbstrModuleVersion
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersion(void);
space


  • IGeneralFormRequestManager
  • ModuleVersionText

IGeneralFormRequestManager::ModuleVersionText property | space
Get the textual version of the GeneralFormRequestManager module.
space
Restful webservice calling syntax
[GET] | /baseURL/ IGeneralFormRequestManager/GetModuleVersionText?param
[param] pIGeneralFormRequestManager= longValue
[JSON result data] pbstrModuleVersionText: "utf8StringValue"
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
[get] HRESULT | ModuleVersionText( BSTR *pbstrModuleVersionText );
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out,retval] BSTR | *pbstrModuleVersionText
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersionText(void);
space


  • IGeneralFormRequestManager
  • Modus

IGeneralFormRequestManager::Modus property | space
Get the operation modus.

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

space
Restful webservice calling syntax
[GET] | /baseURL/ IGeneralFormRequestManager/GetModus?param
[param] pIGeneralFormRequestManager= longValue
[JSON result data] peModus: longValue
[PUT] | /baseURL/ IGeneralFormRequestManager/PutModus
[JSON input data] pIGeneralFormRequestManager:
eModus: 		longValue, //interface address
longValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
[get] HRESULT | Modus( ModusType *peModus );
[put] HRESULT | Modus( ModusType eModus );
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out,retval] ModusType | *peModus
[in] ModusType | eModus
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • ModusType *GetModus(void);
  • void PutModus( ModusType lModus);
space


  • IGeneralFormResult

IGeneralFormResult interface |  | V4.50/ 2 Sep 2016
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
space
Methods |  | 37 methods
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetAddresses | Method for collecting all addresses covered by the IGeneralFormResult interface and returned as JSON array |
GetAllergies | Method for collecting all allergies covered by the IGeneralFormResult interface and returned as JSON array |
GetCard | Retrieves the patient's insurance card information (might be the patient card later on) |
GetDiagnoses | Method for collecting all diagnoses covered by the IGeneralFormResult interface and returned as JSON array |
GetDocuments | Method for collecting all document files covered by the IGeneralFormResult interface and returned as JSON array |
GetFirstAddress | Retrieves the first address data from the list of all addresses |
GetFirstAllergy | Retrieves the first allergy |
GetFirstDiagnosis | Retrieves the first diagnosis |
GetFirstDocument | Retrieves the first document from the list of documents |
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 |
GetFormObject | Retrieves the form object reference parameters |
GetLaw | Retrieves the data about the applied law and its dependent information |
GetMedications | Method for collecting all medications covered by the IGeneralFormResult interface and returned as JSON array |
GetNextAddress | Retrieves the next address data from the list of all addresses |
GetNextAllergy | Retrieves the next allergy |
GetNextDiagnosis | Retrieves the next diagnosis |
GetNextDocument | Retrieves the next document from the list of documents |
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 |
GetNumericResults | Method for collecting all numeric lab results covered by the IGeneralFormResult interface and returned as JSON array |
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. |
GetTextResults | Method for collecting all textual lab results covered by the IGeneralFormResult interface and returned as JSON array |
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. |
GetUnemployabilities | Method for collecting all unemployabilites covered by the IGeneralFormResult interface and returned as JSON array |
GetVaccinations | Method for collecting all vaccinations covered by the IGeneralFormResult interface and returned as JSON array |
space
Properties |  | 1 properties
[put] DestructGeneralFormResult | Destructs/invalidates this IGeneralFormResult interface instance. |
space |


  • IGeneralFormResult
  • GetAbortInfo

IGeneralFormResult::GetAbortInfo method |  |  | space
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetAbortInfo
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrAbort: pbStatus: | "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error-in-error situation occurred. |
space |


  • IGeneralFormResult
  • GetAddresses

IGeneralFormResult::GetAddresses method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all addresses covered by the IGeneralFormResult interface and returned as JSON array. Please note that IGeneralCreditResult::GetAddresses takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstAddress / IGeneralCreditResult::GetNextAddress with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetAddresses
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result array] | { pbstrAddressName: peAddressRole: pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrAddressName | The PDF internal variable name/placeholder onto which the address was mapped. |
[out] AddressRoleType | *peAddressRole | The semantic typification of the address defined by the AddressRoleType enumerator. |
[out] BSTR | *pbstrEAN | GLN (former EAN13) 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 | **pIAddress | The IAddress interface handle that allows to get the structured address data back. If no address is defined then the handle is NULL. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IGeneralFormResult
  • GetAllergies

IGeneralFormResult::GetAllergies method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all allergies covered by the IGeneralFormResult interface and returned as JSON array. Please note that IGeneralCreditResult::GetAllergies takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstAllergy / IGeneralCreditResult::GetNextAllergy with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetAllergies
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result array] | { pbstrStructName: peAllergyType: pbstrCode: pbstrName: pdDate: peSeverityLevel: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", longValue, booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
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 |
space |


  • IGeneralFormResult
  • GetCard

IGeneralFormResult::GetCard method |  |  | space
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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetCard
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrCardID: pdExpiryDate: pdValidationDate: pbstrValidationID: pbstrValidationServer: pbStatus: | "utf8StringValue", "stringISODateValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetCard( | BSTR DATE DATE BSTR BSTR VARIANT_BOOL | *pbstrCardID, *pdExpiryDate, *pdValidationDate, *pbstrValidationID, *pbstrValidationServer, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrCardID | The mandatory unique 20 digits card identifier |
[out] DATE | *pdExpiryDate | The 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 |
space |


  • IGeneralFormResult
  • GetDiagnoses

IGeneralFormResult::GetDiagnoses method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all diagnoses covered by the IGeneralFormResult interface and returned as JSON array. Please note that IGeneralCreditResult::GetDiagnoses takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstDiagnosis / IGeneralCreditResult::GetNextDiagnosis with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetDiagnoses
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result array] | { pbstrStructName: peDiagnosisCodeType: pbstrCode: pbstrName: pdDate: peIsActive: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", longValue, "utf8StringValue", booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Calling argument description |  |  |
[out] 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 |
space |


  • IGeneralFormResult
  • GetDocuments

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

Please note that IGeneralCreditResult::GetDocuments takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstDocument / IGeneralCreditResult::GetNextDocument with a single call, making the latter superfluous.
space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormResult/GetDocuments
[JSON input data] pIGeneralFormResult: longValue, //interface address
[JSON result array] { pbstrFile:
pbstrTitle:
pbstrMimeType:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
booleanValue
},
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
Calling argument description
[out] BSTR *pbstrFile *pbstrFile supplies the full file name (path + name) of the document in a temporary working directory.
Be sure to copy away the file to a different location as all files in the working directory are deleted before the COM module shuts down!

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

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

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

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


  • IGeneralFormResult
  • GetFirstAddress

IGeneralFormResult::GetFirstAddress method |  |  | space
Retrieves the first address data from the list of all addresses. The address data consists of the semantical typification of the address, various identifiers (GLN, 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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFirstAddress
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrAddressName: peAddressRole: pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstAddress( | BSTR AddressRoleType BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrAddressName, *peAddressRole, *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **pIAddress, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrAddressName | The PDF internal variable name/placeholder onto which the address was mapped. |
[out] AddressRoleType | *peAddressRole | The semantic typification of the address defined by the AddressRoleType enumerator. |
[out] BSTR | *pbstrEAN | GLN (former EAN13) 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 | **pIAddress | The IAddress interface handle that allows to get the structured address data back. If no address is defined then the handle is NULL. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IGeneralFormResult
  • GetFirstAllergy

IGeneralFormResult::GetFirstAllergy method |  |  | space
Retrieves the first allergy. VARIANT_FALSE is returned if the end of the allergy list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFirstAllergy
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peAllergyType: pbstrCode: pbstrName: pdDate: peSeverityLevel: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstAllergy( | BSTR AllergyType BSTR BSTR DATE SeverityLevelType VARIANT_BOOL | *pbstrStructName, *peAllergyType, *pbstrCode, *pbstrName, *pdDate, *peSeverityLevel, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetFirstDiagnosis

IGeneralFormResult::GetFirstDiagnosis method |  |  | space
Retrieves the first diagnosis. VARIANT_FALSE is returned if the end of the diagnosis list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFirstDiagnosis
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peDiagnosisCodeType: pbstrCode: pbstrName: pdDate: peIsActive: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", longValue, "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstDiagnosis( | BSTR DiagnosisCodeType BSTR BSTR DATE YesNoType BSTR VARIANT_BOOL | *pbstrStructName, *peDiagnosisCodeType, *pbstrCode, *pbstrName, *pdDate, *peIsActive, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetFirstDocument

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

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormResult/GetFirstDocument
[JSON input data] pIGeneralFormResult: longValue, //interface address
[JSON result data] pbstrFile:
pbstrTitle:
pbstrMimeType:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetFirstDocument( BSTR
BSTR
BSTR
VARIANT_BOOL 		*pbstrFile,
*pbstrTitle,
*pbstrMimeType,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] BSTR *pbstrFile *pbstrFile supplies the full file name (path + name) of the document in a temporary working directory.
Be sure to copy away the file to a different location as all files in the working directory are deleted before the COM module shuts down!

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

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

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

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


  • IGeneralFormResult
  • GetFirstMedication

IGeneralFormResult::GetFirstMedication method |  |  | space
Retrieves the first medication structure. VARIANT_FALSE is returned if the end of the medication list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFirstMedication
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peDrugCodeType: pbstrCode: pbstrName: pdBeginDate: pdEndDate: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "stringISODateValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstMedication( | BSTR DrugCodeType BSTR BSTR DATE DATE VARIANT_BOOL | *pbstrStructName, *peDrugCodeType, *pbstrCode, *pbstrName, *pdBeginDate, *pdEndDate, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetFirstNumericResult

IGeneralFormResult::GetFirstNumericResult method |  |  | space
Retrieves the first numerical result structure. VARIANT_FALSE is returned if the end of the numerical result list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFirstNumericResult
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peResultCodeType: pbstrCode: pbstrName: pdDate: pbstrValue: pbstrUnit: pbstrLowerReference: pbstrUpperReference: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstNumericResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peResultCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrValue, *pbstrUnit, *pbstrLowerReference, *pbstrUpperReference, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetFirstTextResult

IGeneralFormResult::GetFirstTextResult method |  |  | space
Retrieves the first textual result structure. VARIANT_FALSE is returned if the end of the textual result list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFirstTextResult
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peResultCodeType: pbstrCode: pbstrName: pdDate: pbstrValue: pbstrReference: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstTextResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peResultCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrValue, *pbstrReference, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetFirstUnemployability

IGeneralFormResult::GetFirstUnemployability method |  |  | space
Retrieves the first unemployability structure. VARIANT_FALSE is returned if the end of the unemployability list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFirstUnemployability
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: pdDate: pdBeginDate: pdEndDate: plPercentage: pbstrRemark: pbStatus: | "utf8StringValue", "stringISODateValue", "stringISODateValue", "stringISODateValue", longValue, "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstUnemployability( | BSTR DATE DATE DATE long BSTR VARIANT_BOOL | *pbstrStructName, *pdDate, *pdBeginDate, *pdEndDate, *plPercentage, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetFirstVaccination

IGeneralFormResult::GetFirstVaccination method |  |  | space
Retrieves the first vaccination structure. VARIANT_FALSE is returned if the end of the vaccination list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFirstVaccination
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peDrugCodeType: pbstrCode: pbstrName: pdDate: pbstrLOTNumber: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFirstVaccination( | BSTR DrugCodeType BSTR BSTR DATE BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peDrugCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrLOTNumber, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetFormObject

IGeneralFormResult::GetFormObject method |  |  | space
Retrieves the 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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetFormObject
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrRequestFormID: pdRequestFormDate: plRequestFormTimestamp: pbStatus: | "utf8StringValue", "stringISODateValue", longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetFormObject( | BSTR DATE long VARIANT_BOOL | *pbstrRequestFormID, *pdRequestFormDate, *plRequestFormTimestamp, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrRequestFormID | The form ID is the main software's own identification of the form process. This is one of 3 identifiers that constitute the form object reference. |
[out] DATE | *pdRequestFormDate | The form date is the main software's own date of the form process. 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. This is one of 3 identifiers that form the form object reference. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
space |


  • IGeneralFormResult
  • GetLaw

IGeneralFormResult::GetLaw method |  |  | space
Retrieves the data about the applied law and its dependent information. VARIANT_FALSE is returned if the law structure is undefined. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetLaw
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | peLawType: pdCaseDate: pbstrCaseID: pbstrInsuredID: pbstrContractNumber: pbStatus: | longValue, "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetLaw( | LawType DATE BSTR BSTR BSTR VARIANT_BOOL | *peLawType, *pdCaseDate, *pbstrCaseID, *pbstrInsuredID, *pbstrContractNumber, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] LawType | *peLawType | 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. |
space |


  • IGeneralFormResult
  • GetMedications

IGeneralFormResult::GetMedications method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all medications covered by the IGeneralFormResult interface and returned as JSON array. Please note that IGeneralCreditResult::GetMedications takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstMedication / IGeneralCreditResult::GetNextMedication with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetMedications
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result array] | { pbstrStructName: peDrugCodeType: pbstrCode: pbstrName: pdBeginDate: pdEndDate: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "stringISODateValue", booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
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 |
space |


  • IGeneralFormResult
  • GetNextAddress

IGeneralFormResult::GetNextAddress method |  |  | space
Retrieves the next address data from the list of all addresses. The address data consists of the semantical typification of the address, various identifiers (GLN, 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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNextAddress
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrAddressName: peAddressRole: pbstrEAN: pbstrZSR: pbstrNIF: pbstrSpecialty: pIAddress: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", { pbIsPrivateAddress: true, pbstrCompanyName: "utf8StringValue", pbstrDepartment: "utf8StringValue", pbstrSalutation: "utf8StringValue", pbstrTitle: "utf8StringValue", pbstrFamilyname: "utf8StringValue", pbstrGivenname: "utf8StringValue", pbstrSubaddressing: "utf8StringValue", pbstrStreet: "utf8StringValue", pbstrPoBox: "utf8StringValue", pbstrZip: "utf8StringValue", pbstrCity: "utf8StringValue", pbstrStateCode: "utf8StringValue", pbstrCountryCode: "utf8StringValue", pbstrPhone1: "utf8StringValue", pbstrPhone2: "utf8StringValue", pbstrPhone3: "utf8StringValue", pbstrFax: "utf8StringValue", pbstrEMail: "utf8StringValue", pbstrUrl: "utf8StringValue" }, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextAddress( | BSTR AddressRoleType BSTR BSTR BSTR BSTR IAddress VARIANT_BOOL | *pbstrAddressName, *peAddressRole, *pbstrEAN, *pbstrZSR, *pbstrNIF, *pbstrSpecialty, **pIAddress, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrAddressName | The PDF internal variable name/placeholder onto which the address was mapped. |
[out] AddressRoleType | *peAddressRole | The semantic typification of the address defined by the AddressRoleType enumerator. |
[out] BSTR | *pbstrEAN | GLN (former EAN13) 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 | **pIAddress | The IAddress interface handle that allows to get the structured address data back. If no address is defined then the handle is NULL. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
space |


  • IGeneralFormResult
  • GetNextAllergy

IGeneralFormResult::GetNextAllergy method |  |  | space
Retrieves the next allergy. VARIANT_FALSE is returned if the end of the allergy list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNextAllergy
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peAllergyType: pbstrCode: pbstrName: pdDate: peSeverityLevel: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextAllergy( | BSTR AllergyType BSTR BSTR DATE SeverityLevelType VARIANT_BOOL | *pbstrStructName, *peAllergyType, *pbstrCode, *pbstrName, *pdDate, *peSeverityLevel, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetNextDiagnosis

IGeneralFormResult::GetNextDiagnosis method |  |  | space
Retrieves the next diagnosis. VARIANT_FALSE is returned if the end of the diagnosis list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNextDiagnosis
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peDiagnosisCodeType: pbstrCode: pbstrName: pdDate: peIsActive: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", longValue, "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextDiagnosis( | BSTR DiagnosisCodeType BSTR BSTR DATE YesNoType BSTR VARIANT_BOOL | *pbstrStructName, *peDiagnosisCodeType, *pbstrCode, *pbstrName, *pdDate, *peIsActive, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetNextDocument

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

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

space
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormResult/GetNextDocument
[JSON input data] pIGeneralFormResult: longValue, //interface address
[JSON result data] pbstrFile:
pbstrTitle:
pbstrMimeType:
pbStatus: 		"utf8StringValue",
"utf8StringValue",
"utf8StringValue",
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetNextDocument( BSTR
BSTR
BSTR
VARIANT_BOOL 		*pbstrFile,
*pbstrTitle,
*pbstrMimeType,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] BSTR *pbstrFile *pbstrFile supplies the full file name (path + name) of the document in a temporary working directory.
Be sure to copy away the file to a different location as all files in the working directory are deleted before the COM module shuts down!

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

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

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

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


  • IGeneralFormResult
  • GetNextMedication

IGeneralFormResult::GetNextMedication method |  |  | space
Retrieves the next medication structure. VARIANT_FALSE is returned if the end of the medication list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNextMedication
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peDrugCodeType: pbstrCode: pbstrName: pdBeginDate: pdEndDate: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "stringISODateValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextMedication( | BSTR DrugCodeType BSTR BSTR DATE DATE VARIANT_BOOL | *pbstrStructName, *peDrugCodeType, *pbstrCode, *pbstrName, *pdBeginDate, *pdEndDate, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetNextNumericResult

IGeneralFormResult::GetNextNumericResult method |  |  | space
Retrieves the next numerical result structure. VARIANT_FALSE is returned if the end of the numerical result list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNextNumericResult
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peResultCodeType: pbstrCode: pbstrName: pdDate: pbstrValue: pbstrUnit: pbstrLowerReference: pbstrUpperReference: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextNumericResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peResultCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrValue, *pbstrUnit, *pbstrLowerReference, *pbstrUpperReference, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetNextTextResult

IGeneralFormResult::GetNextTextResult method |  |  | space
Retrieves the next textual result structure. VARIANT_FALSE is returned if the end of the textual result list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNextTextResult
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peResultCodeType: pbstrCode: pbstrName: pdDate: pbstrValue: pbstrReference: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextTextResult( | BSTR ResultCodeType BSTR BSTR DATE BSTR BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peResultCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrValue, *pbstrReference, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetNextUnemployability

IGeneralFormResult::GetNextUnemployability method |  |  | space
Retrieves the next unemployability structure. VARIANT_FALSE is returned if the end of the unemployability list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNextUnemployability
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: pdDate: pdBeginDate: pdEndDate: plPercentage: pbstrRemark: pbStatus: | "utf8StringValue", "stringISODateValue", "stringISODateValue", "stringISODateValue", longValue, "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextUnemployability( | BSTR DATE DATE DATE long BSTR VARIANT_BOOL | *pbstrStructName, *pdDate, *pdBeginDate, *pdEndDate, *plPercentage, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetNextVaccination

IGeneralFormResult::GetNextVaccination method |  |  | space
Retrieves the next vaccination structure. VARIANT_FALSE is returned if the end of the vaccination list is reached. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNextVaccination
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrStructName: peDrugCodeType: pbstrCode: pbstrName: pdDate: pbstrLOTNumber: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetNextVaccination( | BSTR DrugCodeType BSTR BSTR DATE BSTR BSTR VARIANT_BOOL | *pbstrStructName, *peDrugCodeType, *pbstrCode, *pbstrName, *pdDate, *pbstrLOTNumber, *pbstrRemark, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetNumericResults

IGeneralFormResult::GetNumericResults method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all numeric lab results covered by the IGeneralFormResult interface and returned as JSON array. Please note that IGeneralCreditResult::GetNumericResults takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstNumericResult / IGeneralCreditResult::GetNextNumericResult with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetNumericResults
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result array] | { pbstrStructName: peResultCodeType: pbstrCode: pbstrName: pdDate: pbstrValue: pbstrUnit: pbstrLowerReference: pbstrUpperReference: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
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 |
space |


  • IGeneralFormResult
  • GetPackage

IGeneralFormResult::GetPackage method |  |  | space
Retrieves the identification parameters of the main software that used this DLL. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetPackage
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrSoftwarePackage: plSoftwareVersion: plSoftwareID: pbstrSoftwareCopyright: pbStatus: | "utf8StringValue", longValue, longValue, "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetPackage( | BSTR long long BSTR VARIANT_BOOL | *pbstrSoftwarePackage, *plSoftwareVersion, *plSoftwareID, *pbstrSoftwareCopyright, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrSoftwarePackage | Name of the main software 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. |
space |


  • IGeneralFormResult
  • GetPatient

IGeneralFormResult::GetPatient method | space
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
Restful webservice calling syntax
[POST] | /baseURL/ IGeneralFormResult/GetPatient
[JSON input data] pIGeneralFormResult: longValue, //interface address
[JSON result data] peSexType:
pdBirthdate:
pbstrSSN:
pIAddress:

pbStatus: 		longValue,
"stringISODateValue",
"utf8StringValue",
{
pbIsPrivateAddress: true,
pbstrCompanyName: "utf8StringValue",
pbstrDepartment: "utf8StringValue",
pbstrSalutation: "utf8StringValue",
pbstrTitle: "utf8StringValue",
pbstrFamilyname: "utf8StringValue",
pbstrGivenname: "utf8StringValue",
pbstrSubaddressing: "utf8StringValue",
pbstrStreet: "utf8StringValue",
pbstrPoBox: "utf8StringValue",
pbstrZip: "utf8StringValue",
pbstrCity: "utf8StringValue",
pbstrStateCode: "utf8StringValue",
pbstrCountryCode: "utf8StringValue",
pbstrPhone1: "utf8StringValue",
pbstrPhone2: "utf8StringValue",
pbstrPhone3: "utf8StringValue",
pbstrFax: "utf8StringValue",
pbstrEMail: "utf8StringValue",
pbstrUrl: "utf8StringValue"
},
booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call
204 | Return status 204 (noContent) signals that the end of an iteration is reached
>= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do.
space
C/C++ calling syntax
HRESULT GetPatient( SexType
DATE
BSTR
IAddress
VARIANT_BOOL 		*peSexType,
*pdBirthdate,
*pbstrSSN,
**pIAddress,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] SexType | *peSexType | The patient's gender.
[out] DATE | *pdBirthdate | The patient's birthdate.
[out] BSTR *pbstrSSN The social security number (SSN) of the patient in its printed form whereupon 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 **pIAddress The IAddress interface handle that allows to get the structured address data back.
If no address is defined then the handle is NULL.
[out,retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
space


  • IGeneralFormResult
  • GetRefObject

IGeneralFormResult::GetRefObject method |  |  | space
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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetRefObject
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | peRefObjectType: pbstrRequestID: pdRequestDate: plRequestTimestamp: pbStatus: | longValue, "utf8StringValue", "stringISODateValue", longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetRefObject( | ObjectType BSTR DATE long VARIANT_BOOL | *peRefObjectType, *pbstrRequestID, *pdRequestDate, *plRequestTimestamp, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] 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. |
space |


  • IGeneralFormResult
  • GetRequest

IGeneralFormResult::GetRequest method |  |  | space
Retrieves the role and place information, the processing parameters "storno" and "copy" besides data language and optional remark. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetRequest
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | peDataLanguage: peRoleType: pePlaceType: pbstrRoleTitle: peIsStorno: peIsCopy: pbStatus: | longValue, longValue, longValue, "utf8StringValue", longValue, longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetRequest( | LanguageType RoleType PlaceType BSTR YesNoType YesNoType VARIANT_BOOL | *peDataLanguage, *peRoleType, *pePlaceType, *pbstrRoleTitle, *peIsStorno, *peIsCopy, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] LanguageType | *peDataLanguage | 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. |
space |


  • IGeneralFormResult
  • GetTextResults

IGeneralFormResult::GetTextResults method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all textual lab results covered by the IGeneralFormResult interface and returned as JSON array. Please note that IGeneralCreditResult::GetTextResults takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstTextResult / IGeneralCreditResult::GetNextTextResult with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetTextResults
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result array] | { pbstrStructName: peResultCodeType: pbstrCode: pbstrName: pdDate: pbstrValue: pbstrReference: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Calling argument description |  |  |
[out] BSTR | *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 |
space |


  • IGeneralFormResult
  • GetTransport

IGeneralFormResult::GetTransport method |  |  | space
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 GLN 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
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetTransport
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pbstrFromEAN: pbstrViaEAN: pbstrToEAN: pbstrToBinDERFile: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", "utf8StringValue", booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetTransport( | BSTR BSTR BSTR BSTR VARIANT_BOOL | *pbstrFromEAN, *pbstrViaEAN, *pbstrToEAN, *pbstrToBinDERFile, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrFromEAN | The GLN (former EAN13) of the sender as supplied by medwin.ch |
[out] BSTR | *pbstrViaEAN | The GLN (former EAN13) of the first intermediate as supplied by medwin.ch |
[out] BSTR | *pbstrToEAN | The GLN (former EAN13) 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. |
space |


  • IGeneralFormResult
  • GetTreatment

IGeneralFormResult::GetTreatment method |  |  | space
Retrieves the primary treatment structure data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetTreatment
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result data] | pdDateBegin: pdDateEnd: peTreatmentCanton: peTreatmentType: peTreatmentReason: pbStatus: | "stringISODateValue", "stringISODateValue", longValue, longValue, longValue, booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT GetTreatment( | DATE DATE CantonType TreatmentType TreatmentReasonType VARIANT_BOOL | *pdDateBegin, *pdDateEnd, *peTreatmentCanton, *peTreatmentType, *peTreatmentReason, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] DATE | *pdDateBegin | dDateBegin is the 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. |
space |


  • IGeneralFormResult
  • GetUnemployabilities

IGeneralFormResult::GetUnemployabilities method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all unemployabilites covered by the IGeneralFormResult interface and returned as JSON array. Please note that IGeneralCreditResult::GetUnemployabilities takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstUnemployanility / IGeneralCreditResult::GetNextUnemployanility with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetUnemployabilities
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result array] | { pbstrStructName: pdDate: pdBeginDate: pdEndDate: plPercentage: pbstrRemark: pbStatus: | "utf8StringValue", "stringISODateValue", "stringISODateValue", "stringISODateValue", longValue, "utf8StringValue", booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Calling argument description |  |  |
[out] 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 |
space |


  • IGeneralFormResult
  • GetVaccinations

IGeneralFormResult::GetVaccinations method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all vaccinations covered by the IGeneralFormResult interface and returned as JSON array. Please note that IGeneralCreditResult::GetVaccinations takes over the functionality of the iterator pair IGeneralCreditResult::GetFirstVaccination / IGeneralCreditResult::GetNextVaccination with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IGeneralFormResult/GetVaccinations
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[JSON result array] | { pbstrStructName: peDrugCodeType: pbstrCode: pbstrName: pdDate: pbstrLOTNumber: pbstrRemark: pbStatus: | "utf8StringValue", longValue, "utf8StringValue", "utf8StringValue", "stringISODateValue", "utf8StringValue", "utf8StringValue", booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
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 |
space |


  • IGeneralFormResult
  • DestructGeneralFormResult

IGeneralFormResult::DestructGeneralFormResult property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IGeneralFormResult interface instance. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IGeneralFormResult/PutDestructGeneralFormResult
[JSON input data] | pIGeneralFormResult: | longValue, //interface address
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Remarks |  |  |
This property has a Restful Webservice representation only! |  |  |
space |


  • Type definitions

Builtin, composite & enumeration types |  | V4.50/ 2 Sep 2016
The following list shows ans defines all used data types either basic builtin, composite or enumeration types that are used in the interface of the ATL COM module. |  | space
space
Data types |  | 30 types
[enumeration] AddressRoleType | Enumerates the defined role types of an address |
[enumeration] AddressType | Enumerates the defined 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. |
[enumeration] generationAttributes | List of options with which the standard generation of the XML infoset and/or print process can be oversteered. |
[builtin] HRESULT | The HRESULT data type is a 32-bit value that is used to describe an error or warning. |
[builtin] IAddress | IAddress interface object. |
[builtin] IForms | IForms interface object. |
[builtin] IGeneralFormRequest | IGeneralFormRequest interface object. |
[builtin] IGeneralFormResult | IGeneralFormResult interface object. |
[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] YesNoType | Boolean enumerator. |
space |


  • Type definitions
  • AddressRoleType

AddressRoleType enumeration type |  |
Enumerates the defined role types of an address. This enumeration list maps the various addresses given in a form onto a semantic namespace and thus supplies the primary address constraint for the main software. |  | space
space
Set of enumeration values |  | 31 elements
enAddressRoleProducer: 1 | The semantic characteristics of the address is that of a producer - that is the producer of the form. |
enAddressRoleConsumer: 2 | The semantic characteristics of the address is that of a consumer - that is the recipient of the form. |
enAddressRolePatient: 3 | The semantic characteristics of the address is that of a patient |
enAddressRoleGuarantor: 4 | The semantic characteristics of the address is that of a guarantor - that is the patient itself or the legal representative of the patient. |
enAddressRolePhysician: 5 | The semantic characteristics of the address is that of a physician |
enAddressRoleReferrer: 6 | The semantic characteristics of the address is that of a referrer - that is the previous unit in the treatment chain. |
enAddressRoleInsurance: 7 | The semantic characteristics of the address is that of an insurance |
enAddressRoleEmployer: 8 | The semantic characteristics of the address is that of an employer of the patient |
enAddressRoleGP: 9 | The semantic characteristics of the address is that of a general practinioner (GP). |
enAddressRoleHospital: 10 | The semantic characteristics of the address is that of a hospital |
enAddressRolePhysiotherapist: 11 | The semantic characteristics of the address is that of a physiotherapist |
enAddressRoleChiropractor: 12 | The semantic characteristics of the address is that of a chiropractor |
enAddressRoleErgotherapist: 13 | The semantic characteristics of the address is that of a ergotherapist |
enAddressRoleNutritionist: 14 | The semantic characteristics of the address is that of a nutritionist |
enAddressRoleDietician: 15 | The semantic characteristics of the address is that of a dietician |
enAddressRoleMidwife: 16 | The semantic characteristics of the address is that of a midwife |
enAddressRoleLogotherapist: 17 | The semantic characteristics of the address is that of a logottherapist |
enAddressRolePharmacist: 18 | The semantic characteristics of the address is that of a pharmacist |
enAddressRoleDentist: 19 | The semantic characteristics of the address is that of a dentist |
enAddressRoleMedicalLaboratory: 20 | The semantic characteristics of the address is that of a medical laboratory |
enAddressRoleDentalTechnician: 21 | The semantic characteristics of the address is that of a dental technician |
enAddressRoleOtherTechnician: 22 | The semantic characteristics of the address is that of a technician other than a dental technician. |
enAddressRolePsychologist: 23 | The semantic characteristics of the address is that of a psychologist |
enAddressRoleSupplier: 24 | The semantic characteristics of the address is that of a physiotherapist |
enAddressRoleNursingStaff: 25 | The semantic characteristics of the address is that of a nursing staff - that is any unit that provides nursing/care for a patient |
enAddressRoleHomeCare: 26 | The semantic characteristics of the address is that of a home care provider like SPITEX - that is in fact a specialized nursing staff unit. |
enAddressRoleMassageTherapist: 27 | The semantic characteristics of the address is that of a massage therapist. |
enAddressRoleNaturopathicDoctor: 28 | The semantic characteristics of the address is that of a naturopathic doctor. |
enAddressRoleNaturopathicTherapist: 29 | The semantic characteristics of the address is that of a naturopathic therapist. |
enAddressRolePodologist: 30 | The semantic characteristics of the address is that of a podologist |
enAddressRoleOther: 31 | The semantic characteristics of the address is "other" or "yet undefined" - that is the semeantics can not be adequately described with the above defined characteristica. |
space


  • Type definitions
  • AddressType

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


  • Type definitions
  • AllergyType

AllergyType enumeration type |  |
Enumerates the defined types/origins of an allergy. |  | space
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 |
space


  • Type definitions
  • BSTR

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


  • Type definitions
  • CantonType

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


  • Type definitions
  • DATE

DATE type |
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
space
space


  • Type definitions
  • DiagnosisCodeType

DiagnosisCodeType enumeration type |  |
Enumerates the defined types of diagnosis coding systems. |  | space
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. |
space


  • Type definitions
  • DrugCodeType

DrugCodeType enumeration type |  |
Enumerates the defined coding types for a drug/vaccine. |  | space
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 |
enDrugCodeGTIN: 3 | The coding of a drug is done by a GTIN code |
enDrugCodeOther: 99 | The coding of a drug is done by something not defined above |
space


  • Type definitions
  • generationAttributes

generationAttributes enumeration type |  |
List of options with which the standard generation of the XML infoset and/or print process can be oversteered. |  | space
space
Set of enumeration values |  | 6 elements
enGenerateXMLWithoutDocuments: 65536 | The XML infoset is generated without any documents even if such documents have been added in the IGeneralFormRequest::AddDocument method. |
enGenerateXMLWithoutSignature: 131072 | The XML infoset is generated without applying a signature even if the signature parameters have been set in the IGeneralFormRequest::SetTransport method. |
enGenerateXMLWithoutEncryption: 262144 | The XML infoset is generated without applying encryption even if the encryption parameters have been set in the IGeneralFormRequest::SetTransport method. |
enGenerateDowngradeToV430: 524288 | The XML infoset type generalFormRequest_430 is generated (a downgrade is performed) instead of the standard type generalFormRequest_450. This explicitly implies that any data unusable for the downgraded standard is silently discarded. |
enForceVisualValidation: 4194304 | This bit enforces the visual validation step by Acrobat Reader even if the basic data are unchanged since the last validation process and thus the visual validation would not be necessary. |
enHideDirectSend: 8388608 | This bit deactivates a possibly available "direct data send" feature on the PDF form. Setting this attribute is useful if an XML file should be generated eventually and the user should not send data out of bound of that generation process. |
space


  • Type definitions
  • HRESULT

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


  • Type definitions
  • IAddress

IAddress type |
IAddress interface object. | space
space
space


  • Type definitions
  • IForms

IForms type |
IForms interface object. | space
space
space


  • Type definitions
  • IGeneralFormRequest

IGeneralFormRequest type |
IGeneralFormRequest interface object. | space
space
space


  • Type definitions
  • IGeneralFormResult

IGeneralFormResult type |
IGeneralFormResult interface object. | space
space
space


  • Type definitions
  • LanguageType

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


  • Type definitions
  • LawType

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


  • Type definitions
  • long

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


  • Type definitions
  • ModusType

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


  • Type definitions
  • ObjectType

ObjectType enumeration type |  |
Enumerates the defined types of the dependent object reference |  | space
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" |
space


  • Type definitions
  • PlaceType

PlaceType enumeration type |  |
Enumerates the defined places where the main provider is located |  | space
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 |
space


  • Type definitions
  • ResultCodeType

ResultCodeType enumeration type |  |
Enumerates the defined coding systems usable for a clinical or lab result coding. |  | space
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. |
space


  • Type definitions
  • RoleType

RoleType enumeration type |  |
Enumerates the defined role categories that the main provider is best categorized |  | space
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 |
space


  • Type definitions
  • SeverityLevelType

SeverityLevelType enumeration type |  |
Enumerates the defined levels of severity of an allergy. |  | space
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" |
space


  • Type definitions
  • SexType

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


  • Type definitions
  • StructRoleType

StructRoleType enumeration type |  |
Enumerates the defined role types/typifications of a structure. |  | space
space
Set of enumeration values |  | 11 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 |
enStructRoleDocument: 11 | The structure is of type "document" - a document data structure |
space


  • Type definitions
  • TreatmentReasonType

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


  • Type definitions
  • TreatmentType

TreatmentType enumeration type |  |
Enumerates the defined treatment categories. |  | space
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 |
space


  • Type definitions
  • VARIANT_BOOL

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


  • Type definitions
  • VarType

VarType enumeration type |  |
Enumerates the defined atomic data types |  | space
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 |
space


  • Type definitions
  • YesNoType

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


 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.


 Changes from V4.30 to V4.50...

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

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

IGeneralFormRequestManager
changed: The IGeneralFormRequestManager::LoadXML(...) method can natively load XML infosets of type generalFormRequest_450.xsd and generalFormRequest_430.xsd.
changed: The IGeneralFormRequestManager::GetXML(...) method can natively produce XML infosets of type generalFormRequest_450.xsd and generalInvoiceRequest_430.xsd.
IGeneralFormRequest
new: The IGeneralFormRequest::AddDocument(...) method can add an undefined number of JPG, PNG, and/or PDF documents
new: The iterator pair IGeneralFormRequest::GetFirstAddressRole(...) / IGeneralFormRequest::GetNextAddressRole(...) returns a constraint, that is used to further qualify/specify the characteristics of an address.

Furthermore, the semantic set of address roles have been massively extended to model the address space more accurately.

IGeneralFormResult
new: The iterator pair IGeneralFormRequest::GetFirstDocument(...) / IGeneralFormRequest::GetNextDocument(...) was included to retrieve added documents of type JPG, PNG, or PDF
IForms
no changes
IAddress
no changes


 Notes about the encryption

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

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

Boundary conditions and critical aspects

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

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

The 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!


 Visual Basic code snippet for using the generalFormRequestManager

Private Sub CommandButton1_Click()

On Error GoTo Err_Trap

Dim bStatus As Boolean
Dim strFormOID As String
Dim lFormVersion As Long
Dim eFormLanguage As LanguageType
Dim strIntermediates As String
Dim eHasDirectSend As YesNoType

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

Dim formRequestEx As GENERALFORMREQUESTMANAGER450Lib.GeneralFormRequest
Dim formResultEx As GENERALFORMREQUESTMANAGER450Lib.GeneralFormResult

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

'### load an example form
bStatus = formRequestManagerEx.LoadPDF("medforms.40.40.10.5060", strFormOID, _
                                        lFormVersion, eFormLanguage, strIntermediates, _
                                        eHasDirectSend, formRequestEx, formResultEx)

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

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

While bHasAddress

    If bFirst Then
            bStatus = formRequestEx.GetFirstAddressRole(eAddressRole, strAddressName, lIndex, _
                                                        lMaxOccurs, eIsDefined, strConstrained)
            bFirst = False
    Else
            bStatus = formRequestEx.GetNextAddressRole(eAddressRole, strAddressName, lIndex, _
                                                       lMaxOccurs, eIsDefined, strConstrained)
    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 GENERALFORMREQUESTMANAGER450Lib.StructRoleType
Dim strStructName As String
Dim bHasStruct As Boolean
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", "previously undiscovered virus", _
                                                 0, enYes, Null)
            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.SetFormObject(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, strOutputXml, _
                                      lValidationError, lTimestamp)
If bStatus Then
    Dim strTargetFile As String
    strTargetFile = "d:\TestXML.xml"
    FileCopy strOutputXml, strTargetFile
Else
    Dim strAbortInfo As String
    Call formRequestManagerEx.GetAbortInfo(strAbortInfo)
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.


 Establish/add the reachability for generalFormRequest450 XML files of a certain provider by the medSRS webservice

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

By establishing this reachability, a provider becomes addressable for referrals, prescriptions, ordinances and the like on the basis of generalFormRequest450 XML files. Of course, this also means that genereralFormRequest450 XML files can be transported via the set intermediate, and thereafter processed in the provider's main software as well as formulating a response to the received request in the form of a generalFormResponse450 XML file.

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

glnProvider(standardName, glnIntermediate, glnFrom)

In this notation, a provider is bounded to an intermediate with a certain standard having the given GLN at that intermediate. By using the add webservice of medSRS, the given RHS of the provider is included and thus becoming a possible communication partner.

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

Patch of the IGeneralFormRequest::SetTransport method

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

Note, that the returned error code is always S_FALSE to signal that the transport structure is not correctly defined - bstrToEan is set empty! However, this is insignificant since the data transmission is done via the "directSend" mechanism in the PDF form itself.


 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.


 Introduction, overview and usage of the Restful Webservice Server

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

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

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

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

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

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

    http://localhost:35340/generalFormRequestManagerServer450/IGeneralFormRequestManager/GetModuleVersion?pIGeneralFormRequestManager=45467
        returns JSON-Out{pbstrModuleVersion: "1.00.010"}

    http://localhost:35340/generalFormRequestManagerServer450/IGeneralFormRequestManager/GetModuleLanguage?pIGeneralFormRequestManager=45467
        returns JSON-Out{peLanguage: "1"}

    http://localhost:35340/generalFormRequestManagerServer450/IGeneralFormRequestManager/GetGeneralFormRequest?pIGeneralFormRequestManager=45467
        returns JSON-Out{pIGeneralFormRequest: 5788991}

    http://localhost:35340/generalFormRequestManagerServer450/IGeneralFormRequest/PutDestructGeneralFormRequest
        JSON-IN(pIGeneralFormRequest: 5788991}

    http://localhost:35340/generalFormRequestManagerServer450/IGeneralFormRequestManager/PutDestructGeneralFormRequestManager
        JSON-IN{pIGeneralFormRequestManager:45467}


 Notes about the signature

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

Boundary conditions and critical aspects

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

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

  • the URI attribute of the reference element must use a XPointer syntax of the payload element, e.g. <ds:Reference URI="#xpointer(/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.