message exchange protocol between to healthcare partners
Sets the transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to). All the involved parties are defined by GLN numbers as defined by Stiftung Refdata.
Furthermore, this method allows to define the parameters needed for sign and/or encrypt the resulting XML infoset. Therefore, read the notes about signature and encryption to get familiar with these concepts.
Important new feature: the electronic reachability of a recipient for a certain version of generalNotification is kind of chicken and egg problem. To solve this connectivity problem, the webservice medSRS (medical Standard Routing Service) has been created. By using the RESTful webservice method queryRHS one can find out, how and whether a specific recipient can be reached electronically. Please refer to the website medSRS.ch for getting an introduction to the topic or detailed information about the functionality of the webservice.
Instead of inputting the bstrToEan GLN literal, the query call queryRHS(glnProvider,glnRecipient) is supplied instead - cf. description of bstrToEAN below. Furthermore, should the query result indicate an unreachability for version V451, a query check for version V450 is automatically launched to investigate on the lower version. If the downgraded version is supported, than everything is prepared internally such that the method IGeneralNotificationManager::GetXML generates a downgrade automatically and transparently.
The usage of the patch can generate a new error code 'ERROR_RECIPIENTRHS_NOTAVAILABLE' indicating that a given recipient is not reachable. It is the decision of the calling program whether the error 'ERROR_RECIPIENTRHS_NOTAVAILABLE' will be considered or not.
|C/C++ calling syntax|
|HRESULT SetTransport(|| BSTR
|Calling argument description|
|[in] BSTR||bstrFromEAN||The GLN number of the sender as defined by Stiftung Refdata|
|[in] BSTR||bstrFromPFXFile||The file name of the PFX certificate that is the private certificate of the "from" entity.
If the variable is empty or NULL then no signature is applied otherwise a signature might be applied depending on the lXMLGenerationAttributes of the GetXML method.
|[in] BSTR||bstrFromPFXPassword||The password to open the PFX certificate. The password is only used if a PFX certificate is supplied.|
|[in] BSTR||bstrViaEAN||The GLN number of the first intermediate as defined by Stiftung Refdata|
|[in] BSTR||bstrToEAN||The GLN number of the recipient as defined by Stiftung Refdata
Patch for querying medSRS:
For example, given the input 'queryRHS(7601001302112, 7601003000078)' the medSRS system is queried whether
the recipient Suva (GLN=7601003000078) can be reached via the given intermediate (bstrViaEAN) with the
standard 'generalNotification451' for the provider TMR (GLN=7601001302112).
The result of the RESTful webservice call can return 3 possible result states:
|[in] BSTR||bstrToBinDERFile||The file name of the binary DER certificate that is the public certificate of the "to" entity.
If the variable is empty or NULL then no encryption is applied otherwise encryption might be applied depending on the lXMLGenerationAttributes of the GetXML
|[out, retval] VARIANT_BOOL||*pbStatus||Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.|
|C/C++ return value|
|S_OK||This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.|
|S_FALSE||This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.|
|E_name||This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.|