Skip to content

mwaseem75/ResultVerification

Repository files navigation

LabResultsVerification-hl7

Summary

A stand-alone HL7 application built on InterSystems IRIS for Health and Docker. In terminal commands, build an HL7 integration engine, send a sample result to Business Process to get reference ranges for each test and set Abnormal Flag based on the results, and view the trace of routing and transformations.

This application is derived from quickstarts-hl7 template : https://openexchange.intersystems.com/package/HL7-Quick-Start and used csvgen utility from https://openexchange.intersystems.com/package/csvgen

Recommended for use with: https://learning.intersystems.com/course/view.php?name=HL7%20QS

Features

  • Importing CSV data to Persistent class by using csvgen utility
  • Use of Custom Utility functions
  • Use of SQL to read data from Persistent class
  • Use of Data Transformation to update reference ranges and abnormal flag from DB
  • Use of Business Rules to find critical data

Repo Contents

  • Dockerfile, docker-compose.yml, and Installer.cls to create container with resultVer.Production in INTEROP namespace
  • TestRanges.csv, Contains reference ranges for tests used in sample file. Data will be improted by csvgen utility which will be install by using zpm. For csvgen, view details with :https://openexchange.intersystems.com/package/csvgen
  • iris.script, containts script to execute during container initilization including installing and importing TestRanges
  • /src with source files for resultVer Production and for csvgen
  • /shared directory which acts as a volume between local machine and IRIS container
  • /.vscode/settings.json for automatic server connections when opened in VS Code.

Requirements:

To Run on Windows:

	git clone https://github.com/intersystems/LabResultsVerification-hl7  
	cd Lab-ResultsVerification-hl7  
	docker-compose up -d  
	start explorer "http://localhost:52795/csp/interop/EnsPortal.ProductionConfig.zen?PRODUCTION=resultVer.Production"

Log in with credentials: SuperUser | SYS

To Run on macOS:

	git clone https://github.com/intersystems/LabResultsVerification-hl7 
	cd quickstarts-hl7  
	docker-compose up -d  
	open "http://localhost:52795/csp/interop/EnsPortal.ProductionConfig.zen?PRODUCTION=resultVer.Production"

Log in with credentials: SuperUser | SYS

What is included?

LabResultsVerification-hl includes Business Services to read file, Business Processes to get results reference ranges and set abnormal flag and send to Business Operations.

Getting Started

Copy \shared\data\sample_data\ORU_R01.txt \shared\data\results directory. System will update reference range by using TestRanges Persistent class and set the abnormal flag. Business process will send critical results whom abnormal flag is set to ToCriticalResultsFile operation and rest of the normal results to ToNormalResultsFile operation.

How it works!

Below is the primary and transformed HL7 2.5 ORU_R01 message: image

It need to save reference ranges in database, for this I used TestRanges Persistent class which will be auto populated by using csvgen: image

In order to get reference range a custom function GetReferenceRange() is created in utility class. Please note this class should be Extends from EnsRule.FunctionSet image

and for Abnormal Flag, SetAbnormalFlag() function is created in utility class image

Data Transformation (UpdateReferenceRangesDTL) is created which will update reference range and set abnormal flag by using GetReferenceRange() and SetAbnormalFlag() utility class functions in nested foreach loops: image Please note that in order to get Abnormal flag we have to pass OBX:ObservationValue (Result) along with OBX:ObservationIdentifier(TestCode)

Business process "ResultsDTRouter" will transform the message by using "ResultsDTRule" Business rule and send message to another business process "ResultsRoute" to send message to "ToCriticalResultsFile" operation in case of Abnormal flag is set otherwise if will send to "ToCriticalResultsFile" operation: image

Following Visual Trace Below Visual Trace is for the message successfully send to "ToCriticalResultsFile" Operation image

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •