API browser of generalFormRequest450 COM module


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

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

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

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

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

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

where:
  • addRHS( ) is a literal command
  • glnProvider is the official GLN of the service with a required pattern of ^76[0-9]{11}.
    Please note that the official GLN of the service provider is needed here, which is not necessarily identical with the GLN of the sender == bstrFromEAN. The latter may be a GLN from the private sector (^2[0-9]{12}) - this is a small but crucial difference.
Note, that the patch is neither case- nor whitespace-sensitive.
 
For example, given the input 'addRHS(7601001302112)' the medSRS system announces that the provider TMR (GLN=7601001302112) can be reached via the given intermediate (bstrViaEAN) with the standard 'generalFormRequest450' using the given bstrEANFrom.
 
Note, that the returned error code is always S_FALSE to signal that the transport structure is not correctly defined - bstrToEan is set empty!
[in] BSTR bstrToBinDERFile The file name of the binary DER certificate that is the public certificate of the "to" entity.
If the variable is empty or NULL then no encryption is applied otherwise encryption might be applied depending on the lXMLGenerationAttributes of the GetXML
[out,retval] VARIANT_BOOL *pbStatus Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
space