Home Applications LabResultsVerification-hl7

LabResultsVerification-hl7

This application is not supported by InterSystems Corporation. Please be notified that you use it at your own risk.
5
1 reviews
0
Awards
813
Views
13
IPM installs
1
1
Details
Releases
Reviews  (1)
Issues
Videos  (1)
Articles  (3)
HL7 App to update reference range and find critical results

What's new in this version

Initial Release

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

Made with
Install
zpm install labresultsverification-hl7 download archive
Version
1.0.412 Nov, 2024
ObjectScript quality test
Category
Integration
Works with
InterSystems IRIS for HealthCachéEnsemble
First published
15 Oct, 2021
Last checked by moderator
27 Jun, 2023Works