 API browser of labValidator100 COM module
Interface version: | 1.00
Interface date: | 30 Aug 2002

The labValidator is an ATL COM module which provides methods to browse, query, and validate service records against the valid lab catalog with tariff number 317 "EAL - Labortarif". There is a plethora of different service providers - physicians, pharmacists, hospital labs, professional labs and sub variants of these. The rule space for services of chapter D "General Services" as well as the valid service space visible in the ISearch and IValidate interfaces depends on the defined/set provider type. The 'normal' provider types are defined by setting the role and place, where the default is enRolePhysician@enPlacePractice. The set a 'special' provider type a path must be used: how to set a special provider type. |  | space
Interfaces |  | 3 interface
ILabValidator | database handling and global settings |
ISearch | search functionality according to the defined provider type |
IValidate | Validation of service records according to the rules and defined provider type |
Types |  |
type definitions | List of all used builtin, composite and enumeration types |
Important documents about the usage and handling |  |
Document | General usage of the labValidator100 COM module - an overview |
Document | What to do in a 64bit environment - is there a 64bit Sumex1 COM dll? |
01.07.09 - API Patch | setParameter feature of the AddService method for activating/defining special features |
01.07.09 - API Patch | List of patches that can be used for the new tariff 317 |
10.12.20 - API Patch | How to set a provider type via a patch |
10.12.20 - API Patch | How to get the currently active provider type |
Document | labValidatorServer100: Introduction, overview and usage of the Restful Webservice Server |

© by sumex1.net - all rights reserved


  • labValidator100
  • ILabValidator

ILabValidator interface |  | V1.00/30 Aug 2002
The ILabValidator interface handles the connections of the lab database. It provides means to open and close database connections. A connection to the database must be opened via ILabValidator before any methods from the other interfaces can be called/used. |  | space
space
Methods |  | 9 methods
Close | Closes the lab database. |
GetAbortInfo | Get the abort information. |
GetFirstTPValue | Retrieves the first tax point value information. |
GetNextTPValue | Retrieves the next tax point value information. |
GetTPValues | Method for collecting all TPValue data covered by the validator and returned as JSON array |
GetTreatment | Get the treatment input data. |
Open | Opens the lab database. |
OpenEx | Opens an external lab database |
SetTreatment | Set the treatment input data. |
space
Properties |  | 19 properties
[get] CreateLabValidator | Creates an instance of the main ILabValidator interface |
[get] CreateSearch | Create an instance of the ISearch interface. |
[get] CreateValidate | Create an instance of the IValidate interface. |
[get/put] Date | Get and Set the current date for the labValidator module |
[get] DBVersion | Get the version of the labValidator database. |
[get] DBVersionDate | Get the version date of the labValidator database. |
[get] DBVersionText | Get the textual version of the labValidator database. |
[put] DestructLabValidator | Destructs/invalidates a main instance of the ILOabValidator interface |
[put] DestructSearch | Destructs/invalidates this ISearch interface instance |
[put] DestructValidate | Destructs/invalidates this Ivalidate interface instance |
[get/put] EnableLog | Get and Set the log activity for the module |
[get/put] ExternalFactor | External scaling factor for the service. |
[get/put] Language | Get and Set the language for the labValidator module |
[get] ModuleVersion | Get the version of the labValidator module. |
[get] ModuleVersionText | Get the textual version of the labValidator module. |
[get/put] PlaceType | Get and Set the place where the service is provided |
[get/put] RoleType | Get and Set the role who provides the service |
[get/put] WildCard | Get and Set the match-all wildcard character for SQL queries |
[get/put] WildCharacter | Get and Set the "match any single character" wildcard character for SQL queries |
space |


  • ILabValidator
  • Close

ILabValidator::Close method |  |  | space
Closes the lab database. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/Close
[JSON input data] | pILabValidator: | 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 Close( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • GetAbortInfo

ILabValidator::GetAbortInfo method |  |  | space
Get the abort information. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/GetAbortInfo
[JSON input data] | pILabValidator: | 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. If the abort string is empty then there is no error condition - S_FALSE was set (e.g. in an iterator to signal end_of_data) |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • GetFirstTPValue

ILabValidator::GetFirstTPValue method |  |  | space
Retrieves the first tax point value information. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/GetFirstTPValue
[JSON input data] | pILabValidator: | longValue, //interface address
[JSON result data] | pdTPValue: pdValidFrom: pdValidTo: pbStatus: | doubleValue, "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 GetFirstTPValue( | double DATE DATE VARIANT_BOOL | *pdTPValue, *pdValidFrom, *pdValidTo, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] double | *pdTPValue | Tax point value. |
[out] DATE | *pdValidFrom | The begin date/validity of the service |
[out] DATE | *pdValidTo | The end date/validity of the service |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • GetNextTPValue

ILabValidator::GetNextTPValue method |  |  | space
Retrieves the next tax point value information. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/GetNextTPValue
[JSON input data] | pILabValidator: | longValue, //interface address
[JSON result data] | pdTPValue: pdValidFrom: pdValidTo: pbStatus: | doubleValue, "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 GetNextTPValue( | double DATE DATE VARIANT_BOOL | *pdTPValue, *pdValidFrom, *pdValidTo, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[out] double | *pdTPValue | Tax point value. |
[out] DATE | *pdValidFrom | The begin date/validity of the service |
[out] DATE | *pdValidTo | The end date/validity of the service |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • GetTPValues

ILabValidator::GetTPValues method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all TPValue data covered by the validator and returned as JSON array. Please note that ILabValidator::GetTPValues takes over the functionality of the iterator pair ILabValidator::GetFirstTPValue / ILabValidator::GetNextTPValue with a single call, making the latter superfluous. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/GetTPValues
[JSON input data] | pILabValidator: | longValue, //interface address
[JSON result array] | { pdTPValue: pdValidFrom: pdValidTo: pbStatus: | doubleValue, "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] double | *pdTPValue | Tax point value. |
[out] DATE | *pdValidFrom | The begin date/validity of the service |
[out] DATE | *pdValidTo | The end date/validity of the service |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • GetTreatment

ILabValidator::GetTreatment method |  |  | space
Get the treatment input data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/GetTreatment
[JSON input data] | pILabValidator: | longValue, //interface address
[JSON result data] | peCanton: peLaw: peSettlement: pbStatus: | 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( | CantonType LawType SettlementType VARIANT_BOOL | *peCanton, *peLaw, *peSettlement, *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] CantonType | *peCanton | Canton type. |
[out] LawType | *peLaw | Law type. |
[out] SettlementType | *peSettlement | Settlement type. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • Open

ILabValidator::Open method |  |  | space
Opens the lab database. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/Open
[JSON input data] | pILabValidator: eLanguage: | longValue, //interface address longValue
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT Open( | LanguageType VARIANT_BOOL | eLanguage, *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 | eLanguage | The choosen language of the tariff that should be opened |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • OpenEx

ILabValidator::OpenEx method |  |  | space
Opens an external lab database. This method is no longer supported! |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/OpenEx
[JSON input data] | pILabValidator: bstrConnect: | longValue, //interface address "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 OpenEx( | BSTR VARIANT_BOOL | bstrConnect, *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 | bstrConnect | Connect string for the database. See the Open method for the ADO Connection object for a detailed description. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • SetTreatment

ILabValidator::SetTreatment method |  |  | space
Set the treatment input data. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ILabValidator/SetTreatment
[JSON input data] | pILabValidator: eCanton: eLaw: eSettlement: | longValue, //interface address 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( | CantonType LawType SettlementType VARIANT_BOOL | eCanton, eLaw, eSettlement, *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] CantonType | eCanton | Canton type. |
[in] LawType | eLaw | Law type. |
[in] SettlementType | eSettlement | Settlement type. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ILabValidator
  • CreateLabValidator

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


  • ILabValidator
  • CreateSearch

ILabValidator::CreateSearch property | space
Create an instance of the ISearch interface.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetCreateSearch?param
[param] pILabValidator= longValue
[JSON result data] pISearch: 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 | CreateSearch( ISearch **peCreateSearch );
[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] ISearch | **peCreateSearch | The created instance of the ISearch interface
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • ISearch **GetCreateSearch(void);
space


  • ILabValidator
  • CreateValidate

ILabValidator::CreateValidate property | space
Create an instance of the IValidate interface.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetCreateValidate?param
[param] pILabValidator= longValue
[JSON result data] pIValidate: 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 | CreateValidate( IValidate **peCreateValidate );
[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] IValidate | **peCreateValidate | The created instance of the IValidate interface
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • IValidate **GetCreateValidate(void);
space


  • ILabValidator
  • Date

ILabValidator::Date property | space
Get and Set the current date for the labValidator module.

The date will be used for each method where no explicit date must be specified, for example the SearchCode method in the ISearch interface. The default is the current date.

space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetDate?param
[param] pILabValidator= longValue
[JSON result data] pdDate: "stringISODateValue"
[PUT] | /baseURL/ ILabValidator/PutDate
[JSON input data] pILabValidator:
dDate: 		longValue, //interface address
variantDateValue | "stringISODateValue"
[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 | Date( DATE *pdDate );
[put] HRESULT | Date( DATE dDate );
[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] DATE | *pdDate | The defined date of the current service
[in] DATE | dDate | The defined date of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • DATE *GetDate(void);
  • void PutDate( DATE dDate);
space


  • ILabValidator
  • DBVersion

ILabValidator::DBVersion property | space
Get the version of the labValidator database.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetDBVersion?param
[param] pILabValidator= longValue
[JSON result data] pbstrDBVersion: "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 | DBVersion( BSTR *pbstrDBVersion );
[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 | *pbstrDBVersion | The version of the currently open database
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetDBVersion(void);
space


  • ILabValidator
  • DBVersionDate

ILabValidator::DBVersionDate property | space
Get the version date of the labValidator database.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetDBVersionDate?param
[param] pILabValidator= longValue
[JSON result data] pdDBVersionDate: "stringISODateValue"
[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 | DBVersionDate( DATE *pdDBVersionDate );
[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] DATE | *pdDBVersionDate | The version of the currently open database
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • DATE *GetDBVersionDate(void);
space


  • ILabValidator
  • DBVersionText

ILabValidator::DBVersionText property | space
Get the textual version of the labValidator database.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetDBVersionText?param
[param] pILabValidator= longValue
[JSON result data] pbstrDBVersionText: "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 | DBVersionText( BSTR *pbstrDBVersionText );
[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 | *pbstrDBVersionText | The textual version of the currently open database
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetDBVersionText(void);
space


  • ILabValidator
  • DestructLabValidator

ILabValidator::DestructLabValidator property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates a main instance of the ILOabValidator interface. Please note, that all dependent, active interface instances generated with ILabValidator::GetCreateValidate and/or ILabSearch::GetCreateSearch under this main instances, are automatically destructed as well. The counterpart property to generate a main interface instance is ILabValidator::GetCreateLabValidator. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ILabValidator/PutDestructLabValidator
[JSON input data] | pILabValidator: | 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 |


  • ILabValidator
  • DestructSearch

ILabValidator::DestructSearch property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this ISearch interface instance. The counterpart property to generate an ISearch interface instance is ILabValidator::GetCreateSearch. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ILabValidator/PutDestructSearch
[JSON input data] | pILabValidator: pISearch: | 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 |


  • ILabValidator
  • DestructValidate

ILabValidator::DestructValidate property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this Ivalidate interface instance. The counterpart property to generate an Ivalidate interface instance is ILabValidator::GetCreateValidate. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ILabValidator/PutDestructValidate
[JSON input data] | pILabValidator: pIValidate: | 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 |


  • ILabValidator
  • EnableLog

ILabValidator::EnableLog property | space
Get and Set the log activity for the module. The default log activity is enYes.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetEnableLog?param
[param] pILabValidator= longValue
[JSON result data] peEnableLog: longValue
[PUT] | /baseURL/ ILabValidator/PutEnableLog
[JSON input data] pILabValidator:
eEnableLog: 		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 | EnableLog( YesNoType *peEnableLog );
[put] HRESULT | EnableLog( YesNoType eEnableLog );
[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] YesNoType | *peEnableLog | Boolean that defines if the logging is enabled (enYes) or not (enNo)
[in] YesNoType | eEnableLog | Boolean that defines if the logging is enabled (enYes) or not (enNo)
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • YesNoType *GetEnableLog(void);
  • void PutEnableLog( YesNoType lEnableLog);
space


  • ILabValidator
  • ExternalFactor

ILabValidator::ExternalFactor property | space
External scaling factor for the service.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetExternalFactor?param
[param] pILabValidator= longValue
[JSON result data] pdExternalFactor: doubleValue
[PUT] | /baseURL/ ILabValidator/PutExternalFactor
[JSON input data] pILabValidator:
dExternalFactor: 		longValue, //interface address
doubleValue
[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 | ExternalFactor( double *pdExternalFactor );
[put] HRESULT | ExternalFactor( double dExternalFactor );
[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] double | *pdExternalFactor | The external scaling factor of the current service
[in] double | dExternalFactor | The external scaling factor of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetExternalFactor(void);
  • void PutExternalFactor( double dExternalFactor);
space


  • ILabValidator
  • Language

ILabValidator::Language property | space
Get and Set the language for the labValidator module. The default language is enGerman.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetLanguage?param
[param] pILabValidator= longValue
[JSON result data] peLanguage: longValue
[PUT] | /baseURL/ ILabValidator/PutLanguage
[JSON input data] pILabValidator:
eLanguage: 		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 | Language( LanguageType *peLanguage );
[put] HRESULT | Language( LanguageType eLanguage );
[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 | *peLanguage | The language for the main interface defining the language of the error messages
[in] LanguageType | eLanguage | The language for the main interface defining the language of the error messages
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • LanguageType *GetLanguage(void);
  • void PutLanguage( LanguageType lLanguage);
space


  • ILabValidator
  • ModuleVersion

ILabValidator::ModuleVersion property | space
Get the version of the labValidator module.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetModuleVersion?param
[param] pILabValidator= 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 | The module version of the labValidator module
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersion(void);
space


  • ILabValidator
  • ModuleVersionText

ILabValidator::ModuleVersionText property | space
Get the textual version of the labValidator module.
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetModuleVersionText?param
[param] pILabValidator= 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 | The module version string of the labValidator module
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersionText(void);
space


  • ILabValidator
  • PlaceType

ILabValidator::PlaceType property | space
Get and Set the place where the service is provided.

Please note, that it is of uttermost importance to set a place at the beginning, because the rule space for all services of chapter D "General Services" as well as the "visible" service space depends on that role/place!

The following list defines the role/place parameters for the acceptable lab service providers:

Professional lab | enRoleLabTechnician@enPlaceLab
Hospital lab | enRoleHospital@enPlaceHospital
Physician in a practice | enRolePhysician@enPlacePractice
Pharmacist in a pharmacy | enRolePharmacist@any_place_except_hospital
Chiropractor in a practice | enRoleChiropractor@any_place_except_hospital
Midwife outside a hospital | enRoleMidwife@any_place_except_hospital

Please note, that enRolePhysician@enPlacePractice is used as default if nothing is defined!
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetPlaceType?param
[param] pILabValidator= longValue
[JSON result data] pePlaceType: longValue
[PUT] | /baseURL/ ILabValidator/PutPlaceType
[JSON input data] pILabValidator:
ePlaceType: 		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 | PlaceType( PlaceType *pePlaceType );
[put] HRESULT | PlaceType( PlaceType ePlaceType );
[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] PlaceType | *pePlaceType | The place type of that provides the services
[in] PlaceType | ePlaceType | The place type of that provides the services
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • PlaceType *GetPlaceType(void);
  • void PutPlaceType( PlaceType lPlaceType);
space


  • ILabValidator
  • RoleType

ILabValidator::RoleType property | space
Get and Set the role who provides the service.

Please note, that it is of uttermost importance to set a role at the beginning, because the rule space for all services of chapter D "General Services" as well as the "visible" service space depends on that role/place!

The following list defines the role/place parameters for the acceptable lab service providers:

Professional lab | enRoleLabTechnician@enPlaceLab
Hospital lab | enRoleHospital@enPlaceHospital
Physician in a practice | enRolePhysician@enPlacePractice
Pharmacist in a pharmacy | enRolePharmacist@any_place_except_hospital
Chiropractor in a practice | enRoleChiropractor@any_place_except_hospital
Midwife outside a hospital | enRoleMidwife@any_place_except_hospital

Please note, that enRolePhysician@enPlacePractice is used as default if nothing is defined!
space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetRoleType?param
[param] pILabValidator= longValue
[JSON result data] peRoleType: longValue
[PUT] | /baseURL/ ILabValidator/PutRoleType
[JSON input data] pILabValidator:
eRoleType: 		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 | RoleType( RoleType *peRoleType );
[put] HRESULT | RoleType( RoleType eRoleType );
[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] RoleType | *peRoleType | The role type of that provides the services
[in] RoleType | eRoleType | The role type of that provides the services
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • RoleType *GetRoleType(void);
  • void PutRoleType( RoleType lRoleType);
space


  • ILabValidator
  • WildCard

ILabValidator::WildCard property | space
Get and Set the match-all wildcard character for SQL queries.

You can use this property if you have imported the original lab database into another database, which uses a different wildcard character for queries. The default match-all wildcard character is the percent symbol (%). With the labValidator Module you can always formulate a query using the asterisk symbol (*) as a wildcard, as in each query string a * is replaced by the wildcard character specified by this property before being executed.

space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetWildCard?param
[param] pILabValidator= longValue
[JSON result data] pbstrWildCard: "utf8StringValue"
[PUT] | /baseURL/ ILabValidator/PutWildCard
[JSON input data] pILabValidator:
bstrWildCard: 		longValue, //interface address
"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 | WildCard( BSTR *pbstrWildCard );
[put] HRESULT | WildCard( BSTR bstrWildCard );
[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 | *pbstrWildCard | The wildcard symbol
[in] BSTR | bstrWildCard | The wildcard symbol
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetWildCard(void);
  • void PutWildCard( BSTR bstrWildCard);
space


  • ILabValidator
  • WildCharacter

ILabValidator::WildCharacter property | space
Get and Set the "match any single character" wildcard character for SQL queries.

You can use this property if you have ported the original lab database into another database, which uses a different wild character for the queries. The default match-single-character wildcard character is the underscore symbol (_). With the labValidator Module you can always formulate a query using the question mark (?) as a wildcard, as in each query string a ? is replaced by the wildcard character specified by this property before execution.

space
Restful webservice calling syntax
[GET] | /baseURL/ ILabValidator/GetWildCharacter?param
[param] pILabValidator= longValue
[JSON result data] pbstrWildCharacter: "utf8StringValue"
[PUT] | /baseURL/ ILabValidator/PutWildCharacter
[JSON input data] pILabValidator:
bstrWildCharacter: 		longValue, //interface address
"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 | WildCharacter( BSTR *pbstrWildCharacter );
[put] HRESULT | WildCharacter( BSTR bstrWildCharacter );
[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 | *pbstrWildCharacter | The wildcard character symbol
[in] BSTR | bstrWildCharacter | The wildcard character symbol
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetWildCharacter(void);
  • void PutWildCharacter( BSTR bstrWildCharacter);
space


  • ISearch

ISearch interface | V1.00/30 Aug 2002
The ISearch interface allows browsing and retrieval of detailed information from the lab database. Searches can be performed by code or name. The search terms may be specified in full, or may include wildcards. After a successful search, all of the available information directly related to the search term is made available through the interface's properties.
As of 01.01.2021 the search space is filtered by the currently defined provider type ("how to set a special provider type"), thus restricting the set of services by availability and accessibility.

Every search method (e.g. SearchCode, SearchName) produces as a result a selection list, composed of zero or more service records. The total number of records in the list can be retrieved using the method GetRecordCount(). The record pointer is initially positioned at the first entry of the selection list. The available information related to the current record is made available through the interface's properties. The methods MoveFirst, MoveLast, MoveNext, MovePrevious, PutAbsolutePosition, and GetAbsolutePosition are used to reposition the record pointer. 		space
space
Methods | 11 methods
GetAbortInfo | Get the abort information.
GetAbsolutePosition | Gets the current absolute position of the record pointer in the selection list
GetRecordCount | Gets the number of service records in the selection list.
GetServices | Method for collecting all service records of the resulting search space in one call without the necessity to call the record positioning methods and the appropriate properties of this interface
MoveFirst | Moves the record pointer to the first record in the selection list and makes that record the current service record
MoveLast | Moves to the last record in the selection list and makes that record the current service record
MoveNext | Moves to the next record in the selection list and makes that record the current service record
MovePrevious | Moves to the previous record in the selection list object and makes that record the current service record
PutAbsolutePosition | Positions the record pointer at the specified absolute position in the selection list
SearchCode | This method searches for services by code in the tariff catalog depending on the given date and provider type
SearchName | This method searches for services by the service name in the tariff catalog depending on the given date and provider type.
space
Properties | 9 properties
[get] AnonymousCode | Patched property! returns the currently applied providerType and the area codes (C, H, F, etc.) of the current service in the form
[get] Code | Get the service code of the current service
[put] DestructSearch | Destructs/invalidates this IValidate interface instance
[get] Limitation | Get the service interpretation and limitation of the current service
[get] Name Get the service name of the current service - for tariff 316
[get] TP | Get the tax point (TP) of the current service.
[get] TPValue | Get the tax point value (TPV) of the current service.
[get] ValidFrom | Get the validity start date of the current service.
[get] ValidTo | Get the validity end date of the current service.
space


  • ISearch
  • GetAbortInfo

ISearch::GetAbortInfo method |  |  | space
Get the abort information. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/GetAbortInfo
[JSON input data] | pISearch: | 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. If the abort string is empty then there is no error condition - S_FALSE was set (e.g. in an iterator to signal end_of_data) |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • GetAbsolutePosition

ISearch::GetAbsolutePosition method |  |  | space
Gets the current absolute position of the record pointer in the selection list. This method can be useful for implementing virtual selection lists. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/GetAbsolutePosition
[JSON input data] | pISearch: | longValue, //interface address
[JSON result data] | plID: 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 GetAbsolutePosition( | long VARIANT_BOOL | *plID, *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 | *plID | The ID of the service record |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • GetRecordCount

ISearch::GetRecordCount method |  |  | space
Gets the number of service records in the selection list. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/GetRecordCount
[JSON input data] | pISearch: | longValue, //interface address
[JSON result data] | plSize: 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 GetRecordCount( | long VARIANT_BOOL | *plSize, *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 | *plSize | The total number of service records included |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • GetServices

ISearch::GetServices method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all service records of the resulting search space in one call without the necessity to call the record positioning methods and the appropriate properties of this interface. The services are returned as JSON array however large that search space might be. So this might be a memory and performance bottleneck. Possibly, one might call the IDRGSearch::GetRecordCount method to get the size of the search space prior to call GetServices unconditionally. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/GetServices
[JSON input data] | pISearch: | longValue, //interface address
[JSON result array] | { pbstrCode: pbstrName: pbstrLimitation: pdTP: pdTPValue: pdValidFrom: pdValidTo: pbstrAnonymousCode: pbStatus: | "utf8StringValue", "utf8StringValue", "utf8StringValue", doubleValue, doubleValue, "stringISODateValue", "stringISODateValue", "utf8StringValue", booleanValue },
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
Calling argument description |  |  |
[out] BSTR | *pbstrCode | The code of the currently focused service |
[out] BSTR | *pbstrName | The name of the currently focused service |
[out] BSTR | *pbstrLimitation | The description and limitation text of the currently focused service |
[out] double | *pdTP | The tax point (TP) of the currently focused service |
[out] double | *pdTPValue | The tax point value (TPV) of the currently focused service |
[out] DATE | *pdValidFrom | The validity start date of the currently focused service |
[out] DATE | *pdValidTo | The validity end date of the currently focused service |
[out] BSTR | *pbstrAnonymousCode | Patched property! returns the currently applied providerType and the area codes (C, H, F, etc.) of the current service in the form providerType = <applied_filter> area = <area_code> Note, that since there are no Anonymous Codes anymore for tariff 317, this property was patched to return these information not available otherwise. |
[out,retval] VARIANT_BOOL | *pbStatus | Boolean return status |
space |


  • ISearch
  • MoveFirst

ISearch::MoveFirst method |  |  | space
Moves the record pointer to the first record in the selection list and makes that record the current service record. If the action could not be performed false will be returned. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/MoveFirst
[JSON input data] | pISearch: | 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 MoveFirst( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • MoveLast

ISearch::MoveLast method |  |  | space
Moves to the last record in the selection list and makes that record the current service record. If the action could not be performed false will be returned. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/MoveLast
[JSON input data] | pISearch: | 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 MoveLast( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • MoveNext

ISearch::MoveNext method |  |  | space
Moves to the next record in the selection list and makes that record the current service record. If the action could not be performed false will be returned. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/MoveNext
[JSON input data] | pISearch: | 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 MoveNext( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • MovePrevious

ISearch::MovePrevious method |  |  | space
Moves to the previous record in the selection list object and makes that record the current service record. If the action could not be performed false will be returned. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/MovePrevious
[JSON input data] | pISearch: | 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 MovePrevious( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • PutAbsolutePosition

ISearch::PutAbsolutePosition method |  |  | space
Positions the record pointer at the specified absolute position in the selection list. This method can be useful for implementing virtual selection lists. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/PutAbsolutePosition
[JSON input data] | pISearch: lID: | longValue, //interface address longValue
[JSON result data] | pbStatus: | booleanValue
[HTTP result status] | 200 | Return status 200 signals a successful method call |
 | 204 | Return status 204 (noContent) signals that the end of an iteration is reached |
 | >= 400 | Return status >= 400 signals an unsuccessful function call. The returned JSON{errorCode: code, errorText:"text"} supplies the error message the same as GetAbortInfo() would do. |
space
C/C++ calling syntax |  |  |
HRESULT PutAbsolutePosition( | long VARIANT_BOOL | lID, *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 | lID | The ID of the current service record |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • SearchCode

ISearch::SearchCode method |  |  | space
This method searches for services by code in the tariff catalog depending on the given date and provider type. Method patched for setting provider types -cf. bstrCode! |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/SearchCode
[JSON input data] | pISearch: bstrCode: | longValue, //interface address "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 SearchCode( | BSTR VARIANT_BOOL | bstrCode, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrCode | The search term may be specified as full code or may include wildcards ('*'). If the code is of the form "setParameter(providerType=aType)", than the given aType is set as provider type. |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • SearchName

ISearch::SearchName method |  |  | space
This method searches for services by the service name in the tariff catalog depending on the given date and provider type. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ ISearch/SearchName
[JSON input data] | pISearch: bstrName: | longValue, //interface address "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 SearchName( | BSTR VARIANT_BOOL | bstrName, *pbStatus); |
[C/C++ return value] | S_OK | This value is returned if the function call was successful. |
 | S_FALSE | This value is returned if the end of an iteration is reached |
 | E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |
space
Calling argument description |  |  |
[in] BSTR | bstrName | The search term may be specified as full name or may include wildcards ('*'). |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • ISearch
  • AnonymousCode

ISearch::AnonymousCode property | space
Patched property! returns the currently applied providerType and the area codes (C, H, F, etc.) of the current service in the form
providerType = <applied_filter> area = <area_code>

Note, that since there are no Anonymous Codes anymore for tariff 317, this property was patched to return these information not available otherwise.
space
Restful webservice calling syntax
[GET] | /baseURL/ ISearch/GetAnonymousCode?param
[param] pISearch= longValue
[JSON result data] pbstrAnonymousCode: "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 | AnonymousCode( BSTR *pbstrAnonymousCode );
[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 | *pbstrAnonymousCode | The currently applied providerType and the area codes (C, H, F, etc.) of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetAnonymousCode(void);
space


  • ISearch
  • Code

ISearch::Code property | space
Get the service code of the current service
space
Restful webservice calling syntax
[GET] | /baseURL/ ISearch/GetCode?param
[param] pISearch= longValue
[JSON result data] pbstrCode: "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 | Code( BSTR *pbstrCode );
[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 | *pbstrCode | The code of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetCode(void);
space


  • ISearch
  • DestructSearch

ISearch::DestructSearch property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IValidate interface instance. The counterpart property to generate an ISearch interface instance is ILabValidator::GetCreateSearch. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ ISearch/PutDestructSearch
[JSON input data] | pISearch: | 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 |


  • ISearch
  • Limitation

ISearch::Limitation property | space
Get the service interpretation and limitation of the current service
space
Restful webservice calling syntax
[GET] | /baseURL/ ISearch/GetLimitation?param
[param] pISearch= longValue
[JSON result data] pbstrLimitation: "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 | Limitation( BSTR *pbstrLimitation );
[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 | *pbstrLimitation | The service interpretation and limitation of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetLimitation(void);
space


  • ISearch
  • Name

ISearch::Name property | space
Get the service name of the current service - for tariff 316

Method patched for tariff 317!
Get the service name prepended with the area codes of that positions (C, H, etc.) with the format Area(area_codes): " + Name, e.g. Area(C): Aldolase for the service code 317:1025.00

Furthermore, if the service is of type 'fast analysis' than the character 'F' is appended as a pseudo area code, e.g. Area(CF): Alanin-Aminotransferase (ALAT) for the service code 317:1020.01
space
Restful webservice calling syntax
[GET] | /baseURL/ ISearch/GetName?param
[param] pISearch= longValue
[JSON result data] pbstrName: "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 | Name( BSTR *pbstrName );
[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 | *pbstrName | The name of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetName(void);
space


  • ISearch
  • TP

ISearch::TP property | space
Get the tax point (TP) of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ ISearch/GetTP?param
[param] pISearch= longValue
[JSON result data] pdTP: doubleValue
[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 | TP( double *pdTP );
[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] double | *pdTP | The tax points (TP) of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetTP(void);
space


  • ISearch
  • TPValue

ISearch::TPValue property | space
Get the tax point value (TPV) of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ ISearch/GetTPValue?param
[param] pISearch= longValue
[JSON result data] pdTPValue: doubleValue
[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 | TPValue( double *pdTPValue );
[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] double | *pdTPValue | The tax point value TPV of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetTPValue(void);
space


  • ISearch
  • ValidFrom

ISearch::ValidFrom property | space
Get the validity start date of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ ISearch/GetValidFrom?param
[param] pISearch= longValue
[JSON result data] pdValidFrom: "stringISODateValue"
[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 | ValidFrom( DATE *pdValidFrom );
[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] DATE | *pdValidFrom | The validity start of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • DATE *GetValidFrom(void);
space


  • ISearch
  • ValidTo

ISearch::ValidTo property | space
Get the validity end date of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ ISearch/GetValidTo?param
[param] pISearch= longValue
[JSON result data] pdValidTo: "stringISODateValue"
[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 | ValidTo( DATE *pdValidTo );
[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] DATE | *pdValidTo | The validity end of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • DATE *GetValidTo(void);
space


  • IValidate

IValidate interface |  | V1.00/30 Aug 2002
The IValidate interface checks whether a supplied service record does exist, the further supplied parameters are in agreement with the data from the database, and last if the service conforms to the lab rules. As of 01.01.2021 the search space is filtered by the currently defined provider type ("how to set a special provider type"), thus restricting the set of services by availability and accessibility. In case of a conflict with another service, the service will be rejected. Textual information explaining why the code was rejected can be retrieved, in order to provide appropriate feedback to the user. |  | space
space
Methods |  | 9 methods
AddService | Adds a new service that will be validated against all the previously entered services of the same session |
CalculateSum | Calculate the sum of all services that have been added through the AddService method |
GetAbortInfo | Get the information indicating why the method call generated an error. |
GetService | Method for collecting all data of the currently focused service in one call without the necessity to call the appropriate properties of this interface |
Initialize | Initializes the validation, clears all the entered records |
MoveFirst | Positions the record pointer at the first record in the result record set |
MoveLast | Positions the record pointer at the last record in the result record set |
MoveNext | Positions the record pointer at the next record in the result record set |
MovePrevious | Positions the record pointer at the previous record in the result record set |
space
Properties |  | 17 properties
[get] AnonymousCode | Patched property! returns the currently applied providerType and the area codes (C, H, F, etc.) of the current service in the form |
[get] CantonType | Get the canton type of the current service |
[get] Charge | Get the charge in CHF of the current service. |
[get] Code | Get the service code of the current service. |
[get] Date | Get the date of the current service. |
[put] DestructValidate | Destructs/invalidates this IValidate interface instance |
[get] ExternalFactor | Get the external scaling factor of the current services. |
[get] Hook | Get the hook (external ID) of the current service. |
[get] ID | Get the internal ID of the current service. |
[get] IgnoreValidate | Get the IgnoreValidate flag of the current service |
[get] LawType | Get the law type of the current service |
[get] Name | Get the service name of the current service. |
[get] Quantity | Get the quantity of the current service. |
[get] RoleType | Get the role who provides the service |
[get] SettlementType | Get the settlement type of the current service |
[get] TP | Get the tax points (TP) of the current service. |
[get] TPValue | Get the tax point value (TPV) of the current service. |
space |


  • IValidate
  • AddService

IValidate::AddService method | space
Adds a new service that will be validated against all the previously entered services of the same session. If the code passed all the validations a VARIANT_TRUE value is returned. If the code was not accepted VARIANT_FALSE is returned and the variable plStatus contains the error code.
As of 01.01.2021 the service space is additionally filtered by the currently defined provider type, thus restricting the set of services by availability and accessibility.

Please note, that the services 4707.00 ff. of tariff 317 have a different rules space dependent on the inputted role/place. If the role and place are not set or is unknown, there is a patch available to define the rule space - "how to set a special provider type".

Furthermore, some features like the expandChapter4Services has no explicit interface representation and these features are defined as well by the setParameter mechanism. Please consult referenced documentation for the syntax and target features, that can be addressed.
space
Restful webservice calling syntax
[POST] | /baseURL/ IValidate/AddService
[JSON input data] pIValidate:
bstrCode:
dQuantity:
dTP:
dTPValue:
dDate:
eIgnoreValidate:
lHook: 		longValue, //interface address
"utf8StringValue",
doubleValue,
doubleValue,
doubleValue,
variantDateValue | "stringISODateValue",
longValue,
longValue
[JSON result data] plStatus:
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 AddService( long
BSTR
double
double
double
DATE
YesNoType
long
VARIANT_BOOL 		*plStatus,
bstrCode,
dQuantity,
dTP,
dTPValue,
dDate,
eIgnoreValidate,
lHook,
*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 *plStatus The principal validation status
  • =0 is returned for success
  • >0 indicates that a validation rule was not fulfilled. Use the GetAbortInfo to get an error description string.
  • <0 indicates that the service was not added (cf. the AbortValidateType enumeration for possible codes).
[in] BSTR bstrCode Code of the service.

Pseudo codes of the form setParameter(cmd=value) can be used to alter the default behavior. It is especially important that a special provider type can be defined by this patch - cf. (how to set a provider type).
[in] double | dQuantity | Quantity value.
[in] double | dTP | Tax point of the service. A zero value will be substituted by the tax point form the catalog.
[in] double | dTPValue | Tax point value of the service. A zero value will be substituted by the tax point value form the catalog.
[in] DATE | dDate | Date of the service.
[in] YesNoType eIgnoreValidate Flag indicating whether the validation should be ignored or not.
To turn off the validation might be useful in the situation when a service should be added even if the validation failed due to a special agreement with the insurance or patient.
[in] long | lHook | External hook. The software house can provide for example the record ID of the service to identify the service later on.
[out,retval] VARIANT_BOOL *pbStatus Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name).
In the later case check for possible errors with the GetAbortInfo method.
space


  • IValidate
  • CalculateSum

IValidate::CalculateSum method | space
Calculate the sum of all services that have been added through the AddService method.

Patch available for tariff 317!
If the dTotal argument is set to -4242 when calling CalculateSum then the expandChapter4Services feature is turned on for all sessions. This is equivalent to define a pseudo service using the setParameter mechanism mechanism.

If the service expansion is turned on then dependent on the supplied role/place the services 4707.00 ff. are automatically added in the correct form.
4707.00 ff. services inputted prior to calling CalculateSum are taken into account and are re-calculated and adjusted accordingly! Be sure to read all service positions back to the main program in such a case.
If this feature is not used and/or the role/place dependent rues are violated then either the error code "enQuantityRestriction" or "enLimitation4707Wrong" is set

space
Restful webservice calling syntax
[POST] | /baseURL/ IValidate/CalculateSum
[JSON input data] pIValidate: longValue, //interface address
[JSON result data] pdTotal:
pbStatus: 		doubleValue,
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 CalculateSum( double
VARIANT_BOOL 		*pdTotal,
*pbStatus);
[C/C++ return value] | S_OK | This value is returned if the function call was successful.
S_FALSE | This value is returned if the end of an iteration is reached
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
space
Calling argument description
[out] double | *pdTotal | Total of all services in CHF.
[out,retval] VARIANT_BOOL *pbStatus Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name).
In the later case check for possible errors with the GetAbortInfo method.
space


  • IValidate
  • GetAbortInfo

IValidate::GetAbortInfo method |  |  | space
Get the information indicating why the method call generated an error. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IValidate/GetAbortInfo
[JSON input data] | pIValidate: | 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. If the abort string is empty then there is no error condition - S_FALSE was set (e.g. in an iterator to signal end_of_data) |
[out,retval] VARIANT_BOOL | *pbStatus | Return status. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • IValidate
  • GetService

IValidate::GetService method |  |  | space
This method has a Restful Webservice representation only! Method for collecting all data of the currently focused service in one call without the necessity to call the appropriate properties of this interface. The counterpart method to add services is ILabValidator::AddService |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IValidate/GetService
[JSON input data] | pIValidate: | longValue, //interface address
[JSON result data] | plID: pbstrCode: pbstrName: pdQuantity: pdTP: pdTPValue: pdDate: peIgnoreValidate: plHook: pdExternalFactor: peCantonType: peLawType: peSettlementType: peRoleType: pbstrAnonymousCode: pdCharge: pbStatus: | longValue, "utf8StringValue", "utf8StringValue", doubleValue, doubleValue, doubleValue, "stringISODateValue", longValue, longValue, doubleValue, longValue, longValue, longValue, longValue, "utf8StringValue", doubleValue, 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] long | *plID | The internal ID of the currently focused service |
[out] BSTR | *pbstrCode | The code of the currently focused service |
[out] BSTR | *pbstrName | The name of the currently focused service |
[out] double | *pdQuantity | The quantity of the currently focused service |
[out] double | *pdTP | The tax point (TP) of the currently focused service |
[out] double | *pdTPValue | The tax point value (TPV) of the currently focused service |
[out] DATE | *pdDate | The application date of the currently focused service |
[out] YesNoType | *peIgnoreValidate | The flag indicating whether the currently focused service was ignored in validation (enNo) or not (enYes). |
[out] long | *plHook | The hook of the currently focused service |
[out] double | *pdExternalFactor | The external scaling factor applied to the currently focused service |
[out] CantonType | *peCantonType | The canton type applied to the currently focused service This canton setting is copied from the data supplied with the ILabValidator::SetTreatment method. |
[out] LawType | *peLawType | The law type applied to the currently focused service This law setting is copied from the data supplied with the ILabValidator::SetTreatment method. |
[out] SettlementType | *peSettlementType | The settlement type applied to the currently focused service This settlement setting is copied from the data supplied with the ILabValidator::SetTreatment method. |
[out] RoleType | *peRoleType | The role type applied to the currently focused service This role setting is copied from the data supplied with the ILabValidator::SetRoleType property or set via a pseudo service using the by the setParameter mechanism. |
[out] BSTR | *pbstrAnonymousCode | Patched property! returns the currently applied providerType and the area codes (C, H, F, etc.) of the current service in the form providerType = <applied_filter> area = <area_code> Note, that since there are no Anonymous Codes anymore for tariff 317, this property was patched to return these information not available otherwise. |
[out] double | *pdCharge | The charge in CHF of the currently focused service calculated as ( Charge = Quantity * TP * TPValue * ExternalFactor ) |
[out,retval] VARIANT_BOOL | *pbStatus | Boolean return status |
space |


  • IValidate
  • Initialize

IValidate::Initialize method |  |  | space
Initializes the validation, clears all the entered records. The previously defined pseudo services using the setParameter mechanism mechanism are all re-set to their defaults. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IValidate/Initialize
[JSON input data] | pIValidate: | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • IValidate
  • MoveFirst

IValidate::MoveFirst method |  |  | space
Positions the record pointer at the first record in the result record set. If the action could not be performed false will be returned. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IValidate/MoveFirst
[JSON input data] | pIValidate: | 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 MoveFirst( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • IValidate
  • MoveLast

IValidate::MoveLast method |  |  | space
Positions the record pointer at the last record in the result record set. If the action could not be performed false will be returned. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IValidate/MoveLast
[JSON input data] | pIValidate: | 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 MoveLast( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • IValidate
  • MoveNext

IValidate::MoveNext method |  |  | space
Positions the record pointer at the next record in the result record set. If the action could not be performed false will be returned. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IValidate/MoveNext
[JSON input data] | pIValidate: | 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 MoveNext( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • IValidate
  • MovePrevious

IValidate::MovePrevious method |  |  | space
Positions the record pointer at the previous record in the result record set. If the action could not be performed false will be returned. |  |  |
space
Restful webservice calling syntax |  |  |
[POST] | /baseURL/ IValidate/MovePrevious
[JSON input data] | pIValidate: | 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 MovePrevious( | 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. VARIANT_TRUE means S_OK, VARIANT_FALSE means S_FALSE (e.g. in an iterator) or an error (E_name). In the later case check for possible errors with the GetAbortInfo method. |
space |


  • IValidate
  • AnonymousCode

IValidate::AnonymousCode property | space
Patched property! returns the currently applied providerType and the area codes (C, H, F, etc.) of the current service in the form
providerType = <applied_filter> area = <area_code>

Note, that since there are no Anonymous Codes anymore for tariff 317, this property was patched to return these information not available otherwise.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetAnonymousCode?param
[param] pIValidate= longValue
[JSON result data] pbstrAnonymousCode: "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 | AnonymousCode( BSTR *pbstrAnonymousCode );
[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 | *pbstrAnonymousCode | The currently applied providerType and the area codes (C, H, F, etc.) of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetAnonymousCode(void);
space


  • IValidate
  • CantonType

IValidate::CantonType property | space
Get the canton type of the current service.

This canton setting is copied from the data supplied with the ILabValidator::SetTreatment method.

space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetCantonType?param
[param] pIValidate= longValue
[JSON result data] peCantonType: 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 | CantonType( CantonType *peCantonType );
[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] CantonType | *peCantonType | The canton type of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • CantonType *GetCantonType(void);
space


  • IValidate
  • Charge

IValidate::Charge property | space
Get the charge in CHF of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetCharge?param
[param] pIValidate= longValue
[JSON result data] pdCharge: doubleValue
[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 | Charge( double *pdCharge );
[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] double | *pdCharge | The charge in CHF of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetCharge(void);
space


  • IValidate
  • Code

IValidate::Code property | space
Get the service code of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetCode?param
[param] pIValidate= longValue
[JSON result data] pbstrCode: "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 | Code( BSTR *pbstrCode );
[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 | *pbstrCode | The code of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetCode(void);
space


  • IValidate
  • Date

IValidate::Date property | space
Get the date of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetDate?param
[param] pIValidate= longValue
[JSON result data] pdDate: doubleValue
[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 | Date( double *pdDate );
[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] double | *pdDate | The defined date of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetDate(void);
space


  • IValidate
  • DestructValidate

IValidate::DestructValidate property |  |  | space
This property has a Restful Webservice representation only! Destructs/invalidates this IValidate interface instance. The counterpart property to generate an IValidate interface instance is ILabValidator::GetCreateValidate. |  |  |
space
Restful webservice calling syntax |  |  |
[PUT] | /baseURL/ IValidate/PutDestructValidate
[JSON input data] | pIValidate: | 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 |


  • IValidate
  • ExternalFactor

IValidate::ExternalFactor property | space
Get the external scaling factor of the current services.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetExternalFactor?param
[param] pIValidate= longValue
[JSON result data] pdExternalFactor: doubleValue
[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 | ExternalFactor( double *pdExternalFactor );
[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] double | *pdExternalFactor | The external scaling factor of the current services
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetExternalFactor(void);
space


  • IValidate
  • Hook

IValidate::Hook property | space
Get the hook (external ID) of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetHook?param
[param] pIValidate= longValue
[JSON result data] plHook: 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 | Hook( long *plHook );
[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] long | *plHook | The hook of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • long *GetHook(void);
space


  • IValidate
  • ID

IValidate::ID property | space
Get the internal ID of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetID?param
[param] pIValidate= longValue
[JSON result data] plID: 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 | ID( long *plID );
[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] long | *plID | The internal ID of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • long *GetID(void);
space


  • IValidate
  • IgnoreValidate

IValidate::IgnoreValidate property | space
Get the IgnoreValidate flag of the current service.

This flag indicates whether a validation should be ignored (=enYes) or a validation should be performed (=enNo).

space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetIgnoreValidate?param
[param] pIValidate= longValue
[JSON result data] peIgnoreValidate: 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 | IgnoreValidate( YesNoType *peIgnoreValidate );
[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] YesNoType | *peIgnoreValidate | Boolean that defines if the current service has a 'ignore validate' status (enYes) or not (enNo)
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • YesNoType *GetIgnoreValidate(void);
space


  • IValidate
  • LawType

IValidate::LawType property | space
Get the law type of the current service.

This law setting is copied from the data supplied with the ILabValidator::SetTreatment method.

space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetLawType?param
[param] pIValidate= longValue
[JSON result data] peLawType: 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 | LawType( LawType *peLawType );
[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] LawType | *peLawType | The law type of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • LawType *GetLawType(void);
space


  • IValidate
  • Name

IValidate::Name property | space
Get the service name of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetName?param
[param] pIValidate= longValue
[JSON result data] pbstrName: "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 | Name( BSTR *pbstrName );
[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 | *pbstrName | The name of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetName(void);
space


  • IValidate
  • Quantity

IValidate::Quantity property | space
Get the quantity of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetQuantity?param
[param] pIValidate= longValue
[JSON result data] pdQuantity: doubleValue
[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 | Quantity( double *pdQuantity );
[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] double | *pdQuantity | The quantity of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetQuantity(void);
space


  • IValidate
  • RoleType

IValidate::RoleType property | space
Get the role who provides the service.

This role setting is copied from the data supplied with the ILabValidator::SetRoleType property or set via a pseudo service using the by the setParameter mechanism.

space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetRoleType?param
[param] pIValidate= longValue
[JSON result data] peRoleType: 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 | RoleType( RoleType *peRoleType );
[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] RoleType | *peRoleType | The role type of that provides the services
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • RoleType *GetRoleType(void);
space


  • IValidate
  • SettlementType

IValidate::SettlementType property | space
Get the settlement type of the current service.

This settlement setting is copied from the data supplied with the ILabValidator::SetTreatment method.

space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetSettlementType?param
[param] pIValidate= longValue
[JSON result data] peSettlementType: 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 | SettlementType( SettlementType *peSettlementType );
[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] SettlementType | *peSettlementType | The settlement type of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • SettlementType *GetSettlementType(void);
space


  • IValidate
  • TP

IValidate::TP property | space
Get the tax points (TP) of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetTP?param
[param] pIValidate= longValue
[JSON result data] pdTP: doubleValue
[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 | TP( double *pdTP );
[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] double | *pdTP | The tax points (TP) of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetTP(void);
space


  • IValidate
  • TPValue

IValidate::TPValue property | space
Get the tax point value (TPV) of the current service.
space
Restful webservice calling syntax
[GET] | /baseURL/ IValidate/GetTPValue?param
[param] pIValidate= longValue
[JSON result data] pdTPValue: doubleValue
[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 | TPValue( double *pdTPValue );
[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] double | *pdTPValue | The tax point value TPV of the current service
space
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • double *GetTPValue(void);
space


  • Type definitions

Builtin, composite & enumeration types |  | V1.00/30 Aug 2002
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 |  | 16 types
[enumeration] AbortValidateType | Enumerates the defined grounds for an aborted validation attempt. |
[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 neighboring countries. |
[builtin] DATE | A value denoting a date and time was specified |
[builtin] double | An 8-byte IEEE real value. |
[builtin] HRESULT | The HRESULT data type is a 32-bit value that is used to describe an error or warning. |
[builtin] ISearch | ISearch interface. |
[builtin] IValidate | IValidate interface. |
[enumeration] LanguageType | Enumerates all supported languages. |
[enumeration] LawType | Enumerates the supported legal ruleset. |
[builtin] long | A 4-byte integer value. |
[enumeration] PlaceType | Enumerates the defined places where the main provider is located |
[enumeration] RoleType | Enumerates the defined role categories that the main provider is best categorized |
[enumeration] SettlementType | Enumerates the defined settlement categories. |
[builtin] VARIANT_BOOL | A 16 bit Boolean (True/False) value was specified |
[enumeration] YesNoType | Boolean enumerator. |
space |


  • Type definitions
  • AbortValidateType

AbortValidateType enumeration type |  |
Enumerates the defined grounds for an aborted validation attempt. |  | space
space
Set of enumeration values |  | 16 elements
enDatabaseNotOpen: 101 | The database is not open. |
enServiceNotFound: 301 | No service record found. |
enWrongTP: 401 | Wrong tax point specified. |
enWrongTPValue: 402 | Wrong tax point value specified. |
enNoTPValueFound: 403 | The tax point value could not be determined. |
enTreatmentDataChanged: 404 | Treatment input is not allowed to change. |
enExclusionRestriction: 405 | Exclusion restriction not fulfilled. |
enLimitation4707Wrong: 406 | Limitation of the 317:4707.00 position is violated |
enLimitation4707Wrong01: 407 | Limitation for service 317::4707 ff. not fulfilled (altnate version) |
enQuantityRestriction: 408 | A quantity restriction for the 4707 ff. positions "praxis lab positions" is violated |
enNoCodeTransformation: 409 | There is no code transformation from tariff 316 to 317 for the given old code |
enAmbiguousCodeTransformation: 410 | The transformation of an code from tariff 316 to 317 is ambiguous |
enLimitationAuxPositionErr: 411 | Limitation for auxiliary position not fulfilled |
enPositionRuleErr: 412 | The given service is in conflict with a rule |
enAccessRestrictionErr: 413 | Access restrinction error for given service record using the defined provider type |
enValidateFailed: 999 | The validation failed - incompatible database parameters - contact the support. |
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 neighboring countries. |  | space
space
Set of enumeration values |  | 32 elements
enCantonUndefined: 0 | The canton is undefined |
enAG: 1 | The Swiss canton AG |
enAI: 2 | The Swiss canton AI |
enAR: 3 | The Swiss canton AR |
enBE: 4 | The Swiss canton BE |
enBL: 5 | The Swiss canton BL |
enBS: 6 | The Swiss canton BS |
enFR: 7 | The Swiss canton FR |
enGE: 8 | The Swiss canton GE |
enGL: 9 | The Swiss canton GL |
enGR: 10 | The Swiss canton GR |
enJU: 11 | The Swiss canton JU |
enLU: 12 | The Swiss canton LU |
enNE: 13 | The Swiss canton NE |
enNW: 14 | The Swiss canton NW |
enOW: 15 | The Swiss canton OW |
enSG: 16 | The Swiss canton SG |
enSH: 17 | The Swiss canton SH |
enSO: 18 | The Swiss canton SO |
enSZ: 19 | The Swiss canton SZ |
enTG: 20 | The Swiss canton TG |
enTI: 21 | The Swiss canton TI |
enUR: 22 | The Swiss canton UR |
enVD: 23 | The Swiss canton VD |
enVS: 24 | The Swiss canton VS |
enZG: 25 | The Swiss canton ZG |
enZH: 26 | The Swiss canton 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
  • double

double type |
An 8-byte IEEE real value. | space
space
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
  • ISearch

ISearch type |
ISearch interface. | space
space
space


  • Type definitions
  • IValidate

IValidate type |
IValidate interface. | space
space
space


  • Type definitions
  • LanguageType

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


  • Type definitions
  • LawType

LawType enumeration type |  |
Enumerates the supported legal ruleset. |  | space
space
Set of enumeration values |  | 5 elements
enKVG: 0 | KVG |
enUVG: 1 | UVG |
enMVG: 2 | MVG |
enIVG: 3 | IVG |
enVVG: 4 | VVG |
space


  • Type definitions
  • long

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


  • Type definitions
  • PlaceType

PlaceType enumeration type |  |
Enumerates the defined places where the main provider is located |  | space
space
Set of enumeration values |  | 6 elements
enPlaceUndefined: 0 | the place is not yet defined |
enPlacePractice: 1 | place is Practice Note that enPlacePractice, enPlaceLab, enPlaceAssociation, enPlaceCompany are treated as synonyms for a working place that is not a hospital |
enPlaceHospital: 2 | place is Hospital |
enPlaceLab: 4 | place is Laboratory Note that enPlacePractice, enPlaceLab, enPlaceAssociation, enPlaceCompany are treated as synonyms for a working place that is not a hospital |
enPlaceAssociation: 8 | place is Association Note that enPlacePractice, enPlaceLab, enPlaceAssociation, enPlaceCompany are treated as synonyms for a working place that is not a hospital |
enPlaceCompany: 16 | place is Company Note that enPlacePractice, enPlaceLab, enPlaceAssociation, enPlaceCompany are treated as synonyms for a working place that is not a hospital |
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 |  | 23 elements
enRoleUndefined: 0 | the role is not yet defined |
enRolePhysician: 1 | the role of the service provider is a university degree MD |
enRolePhysiotherapist: 2 | the role of the service provider is a physiotherapist |
enRoleChiropractor: 4 | the role of the service provider is a chiropractor |
enRoleErgotherapist: 8 | the role of the service provider is an ergotherapist |
enRoleNutritionist: 16 | the role of the service provider is a nutritionist including dietitians and nutrition advisors for diabetics |
enRoleMidwife: 32 | the role of the service provider is a midwife |
enRoleLogotherapist: 64 | the role of the service provider is a logotherapist |
enRoleHospital: 128 | this is a "virtual" role covering any medical/paramedical role in a hospital |
enRolePharmacist: 256 | the role of the service provider is a pharmacist |
enRoleDentist: 512 | the role of the service provider is a dentist including dental hygienists |
enRoleLabTechnician: 1024 | the role of the service provider is a laboratory technician |
enRoleDentalTechnician: 2048 | the role of the service provider is a dental technician |
enRoleOtherTechnician: 4096 | the role of the service provider is a technician including shoemakers other than dental or lab technicians |
enRolePsychologist: 16384 | the role of the service provider is psychologist |
enRoleFlatrateService: 32768 | this is a "virtual" role covering services of flat rate tariffs like 910,920,930,940 |
enRoleWholesaler: 65536 | the role of the service provider is a wholesaler |
enRoleNursingStaff: 131072 | the role of the service provider either from the nursing staff or nursing auxiliary |
enRoleTransport: 262144 | the role of the service provider is from the transport area e.g. ambulance or carrier |
enRoleDruggist: 524288 | the role of the service provider is a druggist |
enRoleNaturopathicDoctor: 1048576 | the role of the service provider covers professionals of natural medicine other than university degree MDs |
enRoleNaturopathicTherapist: 2097152 | the role of the service provider covers therapists of natural medicine as well as professionals of the wellness area |
enRoleOther: 4194304 | the role of the service provider is not explicitly mentioned in the list |
space


  • Type definitions
  • SettlementType

SettlementType enumeration type |  |
Enumerates the defined settlement categories. |  | space
space
Set of enumeration values |  | 2 elements
enSettlementElectronic: 0 | Electronic transmitting of the bill. |
enSettlementPaper: 1 | Print on paper of the bill. |
space


  • Type definitions
  • VARIANT_BOOL

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


  • Type definitions
  • YesNoType

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


 Sumex1 under a 64bit architecture...

All Sumex1 COM modules are written as 32bit managed C++ dll. As a consequence, a 64bit executable cannot load a 32bit COM dll into its process space due to the addressing differences.

Since some necessary underlying sub-modules are not available in a 64bit version, this problem must be addressed differently than by a 64bit compilation. As Microsoft suggests Sumex1 uses the out-of-process proxy approach where a 32bit COM server loads the 32bit COM dll into its process space and delegates each method call to the dll. Since a 32bit COM server exists in its own process space, the main 64bit process can handle the 64/32bit boundary without problems.

As a result, each 32bit Sumex1 COM dll has a 32bit COM server counterpart with the same name and an oopProxy prefix, e.g. oopProxyLabValidator100.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.


 General use of the labValidator ATL COM module

  • First create an instance of the labValidator COM module.
  • Set the role and place using SetRoleType and SetPlaceType properties.
    It is of uttermost importance to set the role/place since the rules regarding service records 4700.00 ff. are role/place dependent.
  • Open the lab database with the Open method from the ILabValidator interface.
    Set the localization language (if it differs from the default setting of German) using the SetLanguage from the ILabValidator interface.
  • The following steps may then be performed, until the labValidator module instance is released:
  • Let the user search for a code (see the Search functions from the ISearch interface).
  • Add the selected services to the AddService method from the IValidate interface.
  • Release the labValidator COM module instance.


 How to get the currently active provider type

Since tariff 317 does not have the concept of anonymous codes (as was with tariff 316), the properties ISearch::GetAnonymousCode() as well as IValidate::GetAnonymousCode() have been patched to return the currently defined access filter as well as the area codes (C, H, F, etc.) of the service in question.
The format of the returned string is:

providerType=<currently_used_filter> area=<set_of_area_codes>

where 'currently_used_filter' is one of the following type:

aType |  | Provider type
lab | => | «Auftragslaboratorium» | «Laboratoires mandatés» | «Laboratorio su mandato»
hospital | => | «Spitallaboratorium (Eigenbedarf)» | «Laboratoires d'hôpitaux (pour les besoins propres de l'hôpital)» | «Laboratorio d'ospedale secondo (per il proprio bisogno)»
hospitalEx | => | «Spitallaboratorium (Fremdauftrag)» | «Laboratoires d'hôpitaux (sur mandat de prestataires externes)» | «Laboratorio d'ospedale secondo (per incarico esterno)»
hospital(54.1c, 54.2) | => | «Spitallaboratorium Art. 54.1c, 54.2 KVV (Eigenbedarf)» | «Laboratoires d'hôpitaux art. 54.1c, 54.2 OAMal (pour les besoins propres de l'hôpital)» | «Laboratorio d'ospedale secondo art. 54.1c, 54.2 OAMal (per il proprio bisogno)»
hospitalEx(54.1c, 54.2) | => | «Spitallaboratorium Art. 54.1c, 54.2 KVV (Fremdauftrag)» | «Laboratoires d'hôpitaux art. 54.1c, 54.2 OAMal (sur mandat de prestataires externes)» | «Laboratorio d'ospedale secondo art. 54.1c, 54.2 OAMal (per incarico esterno)»
hospital(54.1b) | => | «Spitallaboratorium Art. 54.1b KVV (Eigenbedarf)» | «Laboratoires d'hôpitaux art. 54.1b OAMal (pour les besoins propres de l'hôpital)» | «Laboratorio d'ospedale secondo art. 54.1b OAMal (per il proprio bisogno)»
pharmacist | => | «Offizin eines Apothekers oder einer Apothekerin» | «Officines de pharmaciens» | «L'officina del farmacista»
praxis (default) | => | «Praxislabor (praxisLab + alle Fachrichtungen)» | «Laboratoires de cabinets médicaux (praxisLab + toutes spécialités)» | «Laboratorio del gabinetto medico (praxisLab + tutte le discipline)»
praxisLab | => | «Praxislabor Grundversorgung» | «Laboratoires de cabinets médicaux, soins de base» | «Laboratorio del gabinetto medico (cure di base)»
homeVisit | => | «Hausbesuch (für Eigenbedarf)» | «Consultation à domicile (pour les besoins propres du médecin)» | «Visita a domicilio (per il proprio bisogno)»
allergology | => | «Allergologie, klinische Immunologie» | «Allergologie, Immunologie clinique» | «Allergologia, Immunologia clinica»
immunology | => | «Allergologie, klinische Immunologie» | «Allergologie, Immunologie clinique» | «Allergologia, Immunologia clinica»
dermatology | => | «Dermatologie, Venerologie» | «Dermatologie, Vénérologie» | «Dermatologia,Venerologia»
venerology | => | «Dermatologie, Venerologie» | «Dermatologie, Vénérologie» | «Dermatologia,Venerologia»
endocrinology | => | «Endokrinologie, Diabetologie» | «Endocrinologie, diabétologie» | «Endocrinologia, diabetologia»
gastroenterology | => | «Gastroenterologie» | «Gastroentérologie» | «Gastroenterologia»
gynaecology | => | «Gynäkologie, Geburtshilfe» | «Gynécologie, obstétrique» | «Ginecologia, ostetricia»
haematology | => | «Hämatologie, medizinische Onkologie» | «Hématologie, Oncologie médicale» | «Ematologia, Oncologia medica»
oncology | => | «Hämatologie, medizinische Onkologie» | «Hématologie, Oncologie médicale» | «Ematologia, Oncologia medica»
paediatrics | => | «Kinder und Jugendmedizin» | «Médecine pour enfants et adolescents» | «Pediatria»
physicalMedicine | => | «Physikalische Medizin, Rehabilitation» | «Médecine physique, réadaptation» | «Medicina fisica, riabilitazione»
pneumology | => | «Pneumologie» | «Pneumologie» | «Pneumologia»
rheumatology | => | «Rheumatologie» | «Rhumatologie» | «Reumatologia»
tropicalMedicine | => | «Tropenmedizin, Reisemedizin» | «Médecine tropicale, Médecine des voyages» | «Medicina tropicale, Medicina di viaggio»
travelMedicine | => | «Tropenmedizin, Reisemedizin» | «Médecine tropicale, Médecine des voyages» | «Medicina tropicale, Medicina di viaggio»
midwife | => | «Hebammen» | «Sages-femmes» | «Levatrici»
chiropractor | => | «Chiropraktoren» | «Chiropraticiens» | «Chiropratici»
noFilter | => | turns any provider type checking/filtering off


 List of patches for the new lab tariff 317

As of 1.7.2009 the new lab tariff 317 becomes active.
The labValidator will transparently handle both tariff catalogs, even if "old" lab codes are used with the new lab tariff. In principle nothing must be changed if the customer uses the new tariff positions. However, there are a few patches made to the labValidator the get extended information, and to ease the transfer to tariff 317.

The following list shows the patches made.

  • ISearch interface
    • SearchCode method
      One can use "old" tariff codes when searching the new tariff. As a result the corresponding new tariff codes are returned.
    • GetAnonymousCode property
      316: returns the anonymous code position
      317: returns the old AL equivalence code (since there are no anonymous positions anymore!) - note the difference to the IValidate interface!!
    • GetName property
      316: returns the name of the service position
      317: returns the name of the service position prepended with the area codes of that positions (C, H, etc.). The exact format is: "Area(area_codes): " + Name
  • IValidate interface
    • AddService method
      Depending on the date the old or new tariff catalog is used. One can set an "old" tariff code for the new tariff catalog. An automatic code transformation is taken place - IF the transformation is unambiguous. Be sure to read the transformed code back via the GetCode property!
      If the transformation is ambiguous (e.g. 8275.00 -> 1396.00, 1399.00, 1400.00 or 1403.00) the error "enAmbiguousCodeTransformation" is set.
      If there is no transformation available the error "enNoCodeTransformation" is set.
    • Automatic code transformation on/off
      Automatic code transformation is on by default! There are 2 possibilities to turn the transformation off or on again.
      1. Generate a labValidator100.ini file in the directory of the Dll. Use the following section definition
            [PARAMS]
            AutomaticCodeTransformation=0
         to turn the transformation off(=0) or on (=1).
      2. Use the AddService method with the special "position code"
            bstrCode="AutomaticCodeTransformationOff"
            bstrCode="AutomaticCodeTransformationOn"
         to dynamically turn the transformation off or on. The rest of the arguments does not matter!
        Note that an error (S_FALSE with error code=1) is returned in this situation that should be ignored.
    • CalculateSum method
      If the dTotal argument is set to -4242 prior to calling CalculateSum then all praxis lab positions are set automatically according to the rules! Manually set praxis lab positions are re-calculated and adjusted accordingly! Be sure the read all service positions back to the main program in such a case.

      If this feature is not used and the praxis lab rules are violated then either the error code "enQuantityRestriction" or "enLimitation4707Wrong" is set.

    • GetAnonymousCode property
      316: returns the anonymous code position
      317: returns the area codes of that positions (C, H, etc.) - note the difference to the ISearch interface!!
  • Note about the invoicing
    • The invoiceRequestManagers neither use automatic code transformation nor transparently generate the praxis lab positions!
  • New AbortValidate codes
    • enAmbiguousCodeTransformation
      Set by the IValidate:AddService method if the code transformation is ambiguous.
    • enNoCodeTransformation
      Set by the IValidate:AddService method if there is no code transformation available.
    • enQuantityRestriction
      Set by the IValidate:CalculateSum method if the quantity restriction of one of the praxis lab positions (4707.10 ff.) is violated
    • enLimitation4707Wrong
      Set by the IValidate:CalculateSum method if the quantity restriction of the praxis lab positions (4707.00 ff.) is violated


 Introduction, overview and usage of the Restful Webservice Server

The application labValidatorServer100.exe is a Restful Webservice Server, that has the same interface methods/properties as the COM module labValidator100.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 labValidatorServer100.exe will be addressed.

Installation, registration and parameterization:
By installing the installer object labValidator100 the COM module labValidator100.dll as well as the out-of-process proxy component oopLabValidator100.exe is automatically installed/registered in the system. However, the labValidatorServer100.exe must be installed manually as a service.
labValidatorServer100.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.
labValidatorServer100.exe -install | Installs/registers the Restful Webservice Server as a service. Please take into account, that the installation must be performed under administrator privileges
labValidatorServer100.exe -uninstall | Uninstalls the service component. Please take into account, that the uninstallation must be performed under administrator privileges
labValidatorServer100.exe -setport X | Sets the port X as part of the Webservice Endpoint
Restful Webservice Endpoint:
Installing labValidatorServer100.exe as a service activates the Restful Webservice Endpoint:
http://localhost:34338/labValidatorServer100
which is subsumed as baseURL in subsequent the 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 /labValidator/100/ http://localhost:34338/labValidatorServer100/
    ProxyPassReverse /labValidator/100/ http://localhost:34338/labValidatorServer100/
</VirtualHost>
Restful Webservice Operation:
The service may 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/ILabValidator/GetCreateLabValidator | returns the instance address as JSON out{pILabValidator: 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/ILabValidator/PutDestructLabValidator | with JSON-In{pILabValidator: 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 labValidatorServer100.exe performs an internal management of the generated instances and automatically deletes instances that have no activity for a defined period of 2 hours. no activity over a defined period of 2 hours. If after this action 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 query the version of the module and the associated database:
    http://localhost:34338/labValidatorServer100/ILabValidator/GetCreateLabValidator
        returns JSON-Out{pILabValidator: 45467}

    http://localhost:34338/labValidatorServer100/ILabValidator/GetModuleVersion?pILabValidator=45467
        returns JSON-Out{pbstrModuleVersion: "1.00.010"}

    http://localhost:34338/labValidatorServer100/ILabValidator/GetDBVersionText?pILabValidator=45467
        returns JSON-Out{pbstrDBVersionText: "3.22"}

    http://localhost:34338/labValidatorServer100/ILabValidator/GetDBVersionDate?pILabValidator=45467
        returns JSON-Out{pdDBVersionDate: "2021-11-29"}

    http://localhost:34778/labValidatorServer100/ILabValidator/GetCreateValidate?pILabValidator=45467
        returns JSON-Out{pIValidate: 47008}

    http://localhost:34778/labValidatorServer100/IValidate/PutDestructValidate
        JSON-IN(pIValidate: 47008}

    http://localhost:34338/labValidatorServer100/ILabValidator/PutDestructLabValidator
        JSON-IN{pILabValidator:45467}


 setParameter feature of the IValidate::AddService method for activating/defining special features

Over time the lab tariff have been changed in the normal way regarding TP and names changes. However, it was changed in a more principal way as well by defining the chapter 4 services. These services have different rules depending which role/place is active.

Due to the constant nature of the labValidator's interfaces some of the changes and features could not be reflected in the interface. To have a mechanism to import special data and parameters into the labValidator outside the normal interface methods the concept of a pseudo service was invented. Such a pseudo service is inputted as a normal service but transports special information. The pseudo service consists of a tariff type, a date and a pseudo code.

A pseudo code always consists of the line:

setParameter(cmd=value)
where the whole pseudo code line is case and whitespace insensitive, and the cmd and value data transports the individual information. A certain pseudo code is active until the next call of the IValidate::Initialize method and is then reset to the default value.

The following pseudo codes are defined for the labValidator:

  • setParameter(providerType=value), with value = { praxis | hospital | pharmacist | lab }, and praxis as default.
    This command set the rule focus for chapter 4 services to either one of the defined types. Please note that the same effect is defined by using the appropriate role/place parameters using the SetRoleType and SetPlaceType properties.
  • setParameter(expandChapter4Services=value), with value = { on | off }, and off as default.
    This command activates/deactivates the automatic service expansion of chapter 4 services (4707.00 ff.) on the basis of given provider type.
  • setParameter(AutomaticCodeTransformation=value), with value = { on | off }, and on as default.
    This command activates/deactivates the automatic transformation of old services of tariff 316 to the corresponding new services of tariff 317, if the service date is higher that 30.6.2009. It is a best effort feature that transforms the service code if possible.


 How to set a provider type via a patch

The providerType i.e. the type of the service provider is normally set via the role type. However, over time special provider types have been invented/defined that are not found in the list of ordinary roleTypes. Please note, that the rule space for services of chapter "D: General Services" as well as the valid service space visible in the ISearch and IValidate interfaces depends on the defined/set provider type!

The string variable

  bstrPatch = "setParameter(providerType = aType)"
with aType takeing one of the values in the following table.
Note, that the patch string is case and whitespace-insensitive!

By using either functions:
  • ISearch::SearchCode(bstrPatch,..)
  • IValidate::AddService(plStatus,bstrPatch,..)
the corresponding providerType is set overriding the previous providerType.
Note, that the return value of both functions is S_FALSE in such a case!

The table of usable provider types, that can be used:
aType |  | Provider type
lab | => | «Auftragslaboratorium» | «Laboratoires mandatés» | «Laboratorio su mandato»
hospital | => | «Spitallaboratorium (Eigenbedarf)» | «Laboratoires d'hôpitaux (pour les besoins propres de l'hôpital)» | «Laboratorio d'ospedale secondo (per il proprio bisogno)»
hospitalEx | => | «Spitallaboratorium (Fremdauftrag)» | «Laboratoires d'hôpitaux (sur mandat de prestataires externes)» | «Laboratorio d'ospedale secondo (per incarico esterno)»
hospital(54.1c, 54.2) | => | «Spitallaboratorium Art. 54.1c, 54.2 KVV (Eigenbedarf)» | «Laboratoires d'hôpitaux art. 54.1c, 54.2 OAMal (pour les besoins propres de l'hôpital)» | «Laboratorio d'ospedale secondo art. 54.1c, 54.2 OAMal (per il proprio bisogno)»
hospitalEx(54.1c, 54.2) | => | «Spitallaboratorium Art. 54.1c, 54.2 KVV (Fremdauftrag)» | «Laboratoires d'hôpitaux art. 54.1c, 54.2 OAMal (sur mandat de prestataires externes)» | «Laboratorio d'ospedale secondo art. 54.1c, 54.2 OAMal (per incarico esterno)»
hospital(54.1b) | => | «Spitallaboratorium Art. 54.1b KVV (Eigenbedarf)» | «Laboratoires d'hôpitaux art. 54.1b OAMal (pour les besoins propres de l'hôpital)» | «Laboratorio d'ospedale secondo art. 54.1b OAMal (per il proprio bisogno)»
pharmacist | => | «Offizin eines Apothekers oder einer Apothekerin» | «Officines de pharmaciens» | «L'officina del farmacista»
praxis (default) | => | «Praxislabor (praxisLab + alle Fachrichtungen)» | «Laboratoires de cabinets médicaux (praxisLab + toutes spécialités)» | «Laboratorio del gabinetto medico (praxisLab + tutte le discipline)»
praxisLab | => | «Praxislabor Grundversorgung» | «Laboratoires de cabinets médicaux, soins de base» | «Laboratorio del gabinetto medico (cure di base)»
homeVisit | => | «Hausbesuch (für Eigenbedarf)» | «Consultation à domicile (pour les besoins propres du médecin)» | «Visita a domicilio (per il proprio bisogno)»
allergology | => | «Allergologie, klinische Immunologie» | «Allergologie, Immunologie clinique» | «Allergologia, Immunologia clinica»
immunology | => | «Allergologie, klinische Immunologie» | «Allergologie, Immunologie clinique» | «Allergologia, Immunologia clinica»
dermatology | => | «Dermatologie, Venerologie» | «Dermatologie, Vénérologie» | «Dermatologia,Venerologia»
venerology | => | «Dermatologie, Venerologie» | «Dermatologie, Vénérologie» | «Dermatologia,Venerologia»
endocrinology | => | «Endokrinologie, Diabetologie» | «Endocrinologie, diabétologie» | «Endocrinologia, diabetologia»
gastroenterology | => | «Gastroenterologie» | «Gastroentérologie» | «Gastroenterologia»
gynaecology | => | «Gynäkologie, Geburtshilfe» | «Gynécologie, obstétrique» | «Ginecologia, ostetricia»
haematology | => | «Hämatologie, medizinische Onkologie» | «Hématologie, Oncologie médicale» | «Ematologia, Oncologia medica»
oncology | => | «Hämatologie, medizinische Onkologie» | «Hématologie, Oncologie médicale» | «Ematologia, Oncologia medica»
paediatrics | => | «Kinder und Jugendmedizin» | «Médecine pour enfants et adolescents» | «Pediatria»
physicalMedicine | => | «Physikalische Medizin, Rehabilitation» | «Médecine physique, réadaptation» | «Medicina fisica, riabilitazione»
pneumology | => | «Pneumologie» | «Pneumologie» | «Pneumologia»
rheumatology | => | «Rheumatologie» | «Rhumatologie» | «Reumatologia»
tropicalMedicine | => | «Tropenmedizin, Reisemedizin» | «Médecine tropicale, Médecine des voyages» | «Medicina tropicale, Medicina di viaggio»
travelMedicine | => | «Tropenmedizin, Reisemedizin» | «Médecine tropicale, Médecine des voyages» | «Medicina tropicale, Medicina di viaggio»
midwife | => | «Hebammen» | «Sages-femmes» | «Levatrici»
chiropractor | => | «Chiropraktoren» | «Chiropraticiens» | «Chiropratici»
noFilter | => | turns any provider type checking/filtering off

What providerType is currently in effect?
Since tariff 317 does not have the concept of anonymous codes (as was with tariff 316), the properties ISearch::GetAnonymousCode() as well as IValidate::GetAnonymousCode() have been patched to return the currently defined access filter as well as the area codes (C, H, F, etc.) of the service in question.
The format of the returned string is:
providerType=<aType> area=<set_of_area_codes>