3 Slots Route

This route receives a request for a list of all the available time slots for an appointment with a specific practitioner. The route extracts the requested information from the FHIR Server in the form of a FHIR Bundle and splits the data into separate files, one for each available slot. Each slot has its unique ID. The route batches the resulting files into a single message and sends the data back through an HTTP response.

Route Structure

Da Vinci Profile Scheduling Generic Practitioner Route

Route Components Description

Component Name Component Type Description
Request Slots RESTful Web Service Inbound Receives a request from the Member's Portal through the RESTful Web Service to return a list of available appointment slots.
HTTP Router Redirects the data processing flow based on the request type.
405 Method Not Allowed RESTful Web Service Outbound Sends back an error message that the request type used is not allowed.
Required Params Router Extracts the practitioner ID from the incoming request.
400 Bad Request RESTful Web Service Outbound Sends back an HTTP response that the request is missing a mandatory parameter to the FHIR Server.
GET Slots FHIR System Action Gets a list of the available slots from the FHIR Server.
OK? Router Checks to see if the data has been successfully retrieved from the FHIR Server.
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.
Parse JSON JSON Value Extractor Extracts the requested data from the incoming file and saves the data in the form of message properties.
Size > 0 Router Checks to see if any slots are available.
200 OK RESTful Web Service Outbound Sends back a response message that no appointment slots are available.
For Each Slot Groovy Extracts data on each slot from the message properties.
Build JSON Velocity Transforms the incoming data for each available slot based on the Velocity template available.
Aggregate Aggregation Aggregates all the data into a single file.
200 OK RESTful Web Service Outbound Sends out an HTTP response with the resulting data.