1 Create and Send to Provider Route

When the profile receives a request from the Payer's Portal to create and send an alert to a Provider, this route extracts the required information from the FHIR Server to put together an Alert Message Bundle.

  • The route extracts the Patient ID, the Condition ID, the Encounter ID, the Coverage ID, and the Observations ID from the incoming request.
  • Based on the Patient ID, the 1a)Load resources from Payer subroute extracts the Condition, Encounter, Coverage, and Observations resources required from the Payer's FHIR Server.
  • The subroute 1a)Load resources from Payer then submits the requested resources back to the parent route that aggregates all the resources into a single file and sends the data to the 1b)Generate and save to local FHIR Server subroute.
  • The route then sends the bundle to the Provider and in return, receives a response indicating whether the back-end system has successfully received the data.
  • The 1c) Parse provider response subroute picks up the response and parses the data to identify possible errors.

Route Structure

Route Components Description

Component Name Component Type Description
Receive Alert Request RESTful Web Service Inbound Receives an HTTP alert request.
HTTP Router Checks the request type.
405 Method Not Allowed RESTful Web Service Outbound Sends back an error message that the request type used is not allowed.
Get IDs JSON Value Extractor Extracts the Patient ID, Coverage ID, Encounter ID, Condition ID, and Observation ID from the incoming request and passes the data as message properties.
Has Patient ID Router Checks to see if the Patient ID has been successfully retrieved from the incoming request.
400 Bad Request RESTful Web Service Outbound Sends back an error message that the request is invalid.
Get Patient FHIR System Action Extracts the required patient's data (resource Patient) based on the Patient ID from the Payer's FHIR Server.
Patient 200? Router Checks to see if the patient's data has been successfully retrieved from the FHIR Server.
Splitter Splitter Splits the incoming data based on the type (conditions, encounters, coverages, and observations).
Load Encounters Subroute Triggers the subroute to extract the encounter resource.
Load Conditions Subroute Triggers the subroute to extract the condition resource.
Extract Encounter IDs Groovy Extracts the Encounter IDs from the extracted resources.
Load Coverage Subroute Triggers the subroute to extract the coverage resource.
Load Observations Subroute Triggers the subroute to extract the observations resource.
Check Status Router Checks to see if the requested resources have been successfully retrieved from the Payer's FHIR Server.
Aggregation Aggregation Aggregates all the resources into a single file and sends the data to the subroute 1a Generate and save to local FHIR Server
Generate and save to local FHIR Server Subroute Triggers the subroute to form an Alert Message Bundle and to submit the data to the Payer's FHIR Server.
Send to Provider REST Client Submits the Alert Message Bundle to the Provider.
3) Parse provider response Subroute Triggers the subroute to parse the response received from the Provider.
503 Service Unavailable RESTful Web Service Outbound Sends back a message that the service is unavailable.
Any Error Error Channel Inbound Triggers the 500 Internal Server Error to send out an internal server error HTTP response when there are processing errors.
500 Internal Server Error RESTful Web Service Outbound Sends out an internal server error message.