<< Click to Display Table of Contents >>
Navigation: Creating Postmasters > Data Sources > Web Service >
Retrieving HL7 Messages from Your Web Service
The UltraPort HL7 Postmaster can integrate with your own custom web service (internet connection is required).
When configured the postmaster will communicate with your web service via a set of secure URLs provided by you via encoded XML HTTP Posts. It includes user credentials (ID and Password) and even the ability to dynamically assign the different URLS at run time. It does this in 3 stages.
Stage 1: The postmaster will 'ping' the starting URL with the Login ID supplied in an XML format (http POST). Your web service will respond with an XML structure containing either an exception (you don't like the Login ID) or the listing of URLS which the postmaster should use in stages 2 and 3. This means that your starting URL can be either secure or unsecure as it contains no private data (ie only the Login ID and NOT the password). Both the Login ID and Password are included in Stage 2 and Stage 3.
Stage 2: The postmaster will use the "Mailbox" URL retrieved in stage 1 (which SHOULD be secure [https]) to query the server (again with an XML http POST) at predefined intervals asking whether you have any HL7 messages to be picked up for the Login ID. Your web service will respond with a predefined XML response listing the HL7 messages waiting on your server for the client (if any) with a unique identifier for each message.
Stage 3: The postmaster then iterate through the "HL7 Mailbox" listing returned in Stage 2 (1 message at a time) and will use the "Retrieval" URL (also returned in stage 1) to query the server asking for each particular HL7 message which your web service will return again in a predefined XML format. For each message the postmaster retrieves and successfully delivers to the Central Distribution folder for processing it will post a 'Receipt' message using the "Acknowledgement" URL (also returned in stage 1) so that your web service can flag the HL7 message as having been retrieved by [Login ID].