Data to FHIR Route
This route extracts information on the services provided to Patients from an 835 or an 837 EDI and/or CARIN proprietary format documents and uploads the extracted information to a FHIR database in the form of FHIR bundles using the component HAPI Bulk Import as follows:
- Receives an 835 or an 837 EDI and/or CARIN proprietary format file either as an HTTP request or from a file system folder.
- Triggers the subroute Store Input Data that checks to see if the incoming data carries a property '${SaveSourceFile}' = 'true'. If required, the subroute saves the source files to a file system folder.
- If the data came in through the component RESTful Web Service Inbound, the route sends back an HTTP response "status":"OK".
- Validates and splits the incoming EDI and/or CARIN proprietary format data file based on the split rules.
- Submits tracking data (metadata of a source file) to the tracking system (Visualizer Server).
- Converts the EDI or CARIN proprietary format data file to the FHIR format based on the provided maps and guidelines.
- Processes the resulting data to form a FHIR bundle of the transaction type with the operation POST created for each of the resources.
- Passes the FHIR bundles directly to a FHIR database.
- Reports all the errors, if any, through the JMS service to the profile FHIR Aux.
Note If the route receives input data from an HTTP request, the data processing is performed asynchronously. This means that the route returns a response to say that the data has been accepted for processing as soon as the data processing begins. The route responds with the status 202 Accepted to the external system even while the data processing is underway.
Route Components Description
| RESTWS Inbound Financial
|
RESTful Web Service Inbound |
Receives a POST request with an 835 or an 837 EDI and/or CARIN proprietary format file. This component requires an authorization token passed in the request header Authorization. |
| FS Inbound Financial
|
File System Inbound |
Picks up an 835 or an 837 EDI and/or CARIN proprietary format file from the file system folder: ${XESFHIRRoot}\workspace\data-intake\EDI. This component is used as an alternative to the component RESTWS Inbound Financial to receive the source file.
|
| Store Input Data
|
Subroute |
Triggers the subroute Store Input Data to store the input data to the file system at the following location: ${XESFHIRWorkspace}/tracking. The file stored in this location can be accessed through Visualizer Server. |
| Process Errors - Last Message
|
Subroute |
Send the message with the property LastMessage=true to the subroute Process Errors to initiate the aggregation of all the error messages for the current request. |
| Check Inbound Type
|
Router |
Checks to see if the input data has been sent through the components FS Inbound Financial or RESTWS Inbound Financial. |
| Response
|
RESTful Web Service Outbound |
If the source data came in as an HTTP request, sends an HTTP response "status":"OK", indicating that the request has been successfully received and will now be processed. |
| Validate and Split
|
Native Processing |
Validates and splits the incoming 835 or an 837 EDI and/or CARIN proprietary format data against messages. |
| Set FhirContext
|
Router |
If applicable, adds a property indicating that the file is in EDI format. |
| Process Split
|
Subroute |
Sends the split files for further processing on the subroute Process Split. This subroute converts the data to FHIR format and sends the resulting FHIR bundle directly to a FHIR database. |
| Track Source File
|
Subroute |
Sends the data to the subroute Track Source File for further submission of the tracking data (metadata of the source file) to the tracking system (Visualizer Server), if required. The subroute also saves HTML reports from the component Validate and Split to a file system folder. The profile environment properties define the folder location: ${DataRepositoryPath}/{Prp[OriginalFileFolder]}. |
| Set Standard
|
Router |
If applicable, adds a property indicating that the file is in EDI format. |
| Errors
|
Router |
Checks to see if there were any errors during the processing on the component Validate and Split. |
| Audit Success Validation
|
Audit |
Logs an audit event regarding the validation based on the configuration of the Audit Service for the profile. |
| If Save
|
Router |
Checks to see if the error reports must be saved. |
| Log Reports
|
File System Outbound |
Passes information on errors to the component Process Errors and stores the error data (validation report, translator report, and so on) grouped by RequestID to a file system folder before the data is sent to the JMS queue of the profile FHIR Aux. The profile environment properties define the folder location: {Prp[ErrorContextPath]}/${XESFHIRWorkspace}/errors.
Note Use a cleanup tool regularly to remove log reports that you do not need anymore from this directory.
|
| Error Channel Inbound
|
Error Channel Inbound |
Send all the error data collected on the route to the subroute Process Errors. |
| Process Errors
|
Subroute |
Sends the error data to the JMS queue of the profile FHIR Aux. |