DB to FHIR Server Sample Profile Workflow
The profile picks up two data files with patients' information and observations. The corresponding route components create new tables in the database and add the incoming data to the tables. The route retrieves all the available data from the database in the form of a single file after a specific route component picks up a trigger from the file system. XEServer splits the incoming data into separate files line by line and then translates the files into FHIR Bundles. The next route component sends the resulting Bundles to the FHIR Server. The routes are designed in a way that the same data cannot be submitted to the FHIR Server again.
The profile contains the following routes:
1 DB Load
This route creates two new tables in the database and fills them with the patients' information and observations.
Route Structure
Route Components
Patient DFF Inbound
|
File System Inbound |
Picks up a file with a list of patients with their ID, first and last name, date of birth, age, and gender. |
Create Patient Table
|
DB Writer |
Creates a new table in the database that is later filled in with the patients' information. |
Insert Patient Data
|
DB Writer |
Populates patients' data into the newly created table in the database. |
Observation DFF Inbound
|
File System Inbound |
Picks up a file with information on observations. |
Create Observation Table
|
DB Writer |
Creates a new table that is later filled in with the patients' observations. |
Insert Observation Data
|
DB Writer |
Populates detailed observation information into the newly created table in the database. |
2 DB to FHIR Server
This route is triggered to pick up all the data from the database and submit the data to the FHIR server.
Route Structure
Route Components
Trigger
|
File System Inbound |
Picks up a trigger to extract all the data available in a specific database. |
Read DB Data
|
DB Reader |
Retrieves data from the database, merges the data into a single file, and then sends the data for further processing. |
Line-by-Line
|
Splitter |
Splits the incoming data into separate files line by line. |
DFF to FHIR
|
Translator |
Translates the incoming data files into FHIR Bundles based on the provided parser schema and translation map. |
POST Bundle to Payer FHIR Server
|
FHIR System Action |
Receives the FHIR Bundle, submits the bundles to the FHIR Server, and then reports the processing status code to the next route component. |
Status
|
Router |
Checks the received status code generated for each separate FHIR Bundle. |
Log Bundle Response
|
File System Outbound |
Stores a log file with the status code for each separate FHIR Bundle submitted to the FHIR Server. |
Errors
|
File System Outbound |
Stores an error log file with the status code for each separate FHIR Bundle that has not been successfully submitted to the FHIR Server. |