8 Followers · 511 Posts

Health Level-7 or HL7 refers to a set of international standards for the transfer of clinical and administrative data between software applications used by various healthcare providers

Learn more

Question George Varghese · Sep 15, 2020

We are trying to make a document query from an HIE iti-43 on healthshare platform

the full SOAP message is follows

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soap:Header>
<wsa:To soap:mustUnderstand="1">XXXXXX</wsa:To>
<wsa:MessageID>4748c3e1-0cfe-4a0e-0888-4126ff66d183</wsa:MessageID>
<wsa:Action soap:mustUnderstand="1">urn:ihe:iti:2007:RetrieveDocumentSet</wsa:Action>
</soap:Header>
<soap:Body>
<RetrieveDocumentSetRequest xmlns="urn:ihe:iti:xds-b:2007">
<DocumentRequest>
<RepositoryUniq






3
0 409
Question Duncan Priest · Aug 9, 2019

Hi

I've had a play with the Docker image for IRIS Community Edition, but was disappointed to find that it seems to lack any of the HL7 v2 features that I'm familiar with in Ensemble/HealthShare. Is there another image with these features enabled (IRIS for Health Community Edition perhaps?) or is there any plan to make such a Docker image available? I'm a big fan of the move towards publishing Community Editions of your tools as this makes it possible to both maintain skills when work dictates using other technologies and licensed installations are not available, and also pursue development task

7
0 869
Question Mary George · Dec 3, 2020

What is the best way to create an HL7 message from JSON input file?

We have JSON file available with data required for building the HL7 message . I am trying to use a standard file/FTP Business service to pick up the file and convert the input %FileCharacterStream into a dynamic Object and use the stand JSON features to read /process the data and build the HL7 message. 

Is there any other better way to do this? or any standard built-in functionality available in HealthShare? 

Thanks you for your help

Mary

2
0 956
Article Guillaume Rongier · Oct 23, 2020 5m read

The aim of my question is to achieve this :

  • User with authorization :
  • User without authorization :

You can notice that some information of the PID segment are obfuscated.

I do have a solution but it involve a modification of EnsLib.HL7.Message. It's not a best practice.

Do you have idea or a simple solution that doesn't involve overloading every HL7 classes ?

Here is my solution :

https://github.com/grongierisc/hl7-msg-anonymizer

HL7-Msg-Anonymizer

This is a modification of EnsLib.HL7.Message to not display Patient demography information in visual trace.

This feature is toggle by a resou

main

1
0 836
Question Stuart Byrne · Sep 9, 2020

I have a project to only filter certain pathology results into a downstream system.

Within a HL7 router and business I was planning on using a lookup table and either the exists() or Lookup(), but am having issues when using it with repeating fields or segments.

For example if I perform teh analysis per stated segment usign {} brackets this will work, as each stated repeat is assessed:

(HL7.{PIDgrpgrp(1).PIDgrp.PID:PatientIdentifierList(1).ID} DoesNotStartWith "ICE")&&((Lookup("Sunquest.Lorenzo.OBR4Whitelist",HL7.{PIDgrpgrp1(1).ORCgrp(1).OBR:UniversalServiceIdentifier.identifierST},,)="1")|

2
0 998
Question Neil Thaiss · Nov 23, 2020

Hi,

I need to develop a HL7 Q22/K22 query/response mechanism for a NHS Trust I am working for, but I do not know how to handle the message continuation.

Can any one give me any advise on this and/or point me in the direction of any documentation on the subject?

Thanks

Neil Thaiss

2
0 761
Question Nicole Febres · Nov 12, 2020

I am looking to create a routing rule that will do the following:

When transaction is not an A03, and discharge date is valued, do not transform. 

What I am having trouble with is with the conditional for the discharge date {PV1:45}.  Not sure if I can use length here or if I can use HL7.{PV1:45}>0.  I did try that, but its not working.  Not sure what I am doing wrong.

Thanks,

Nicole

2
0 326
Question Paul Hula · Nov 2, 2020

Hi All,

  I know hundreds of people have done this but I'm looking for some DTL's as a start to do HL7 to FHIR, I appreciate everyone's HL7 is slightly different, but just some starter DTL's would be much appreciated?  Can anyone help?

  Regards

2
0 604
Question Pavithra Rajamohan · Oct 13, 2020

Hello,

I am trying to create a HL7 message (REF_I12 message) using variables extracted from a Dynamic Object and need some advice about segment creation issues that I am having. Some background info: I receive a JSON response from an API call and used %FromJSON to convert the response to an Dynamic Object. Some of the items in the response are repeated such as NOKName, NOKrelationship.

Using the methods suggested in this post (https://community.intersystems.com/post/advice-about-json-conversions-and-reading-outputs-dynamic-objects), I have been able to extract the values from the response an

3
0 896
Question Salma Sarwar · Oct 6, 2020

Hi

I would like to create a new message of a particular type and append various segments programmatically.  I have started with the following snippet.  What I am currently finding difficult is to define a segment of a particular segment structure.  I would like to append a pid segment of 2.3.1 to my message.  I know I could you the importfromstring but I wanted to know whether there was a better way of achieving this.

Set tOutputMessage = ##class(EnsLib.HL7.Message).%New()
Set target.DocType="2.3.1:DFT_P03"

#Dim tPID As EnsLib.HL7.Segment

tPID.SegTypeName ="PID"

Any help would b

2
0 868
Question Ewan Whyte · Jul 8, 2020

Hi,

I'm trying to ultimately create a function that I can use with HL7 messages that calls a stored procedure held on a SQL Server.

Initially I triedextending the function class to use the sql inbound adapter and/or EnsLib.SQL.Common, but this wouldn't work from the class method for the function.

Then I attempted to use the linked stored procedure using the wizard where it connected fine and I could find the sp but but it wouldn't return any data when ran. The test sp should just return an int.

The class document produced is this.

I suppose my question is, is it even possible t

5
0 1244
Question Yone Moreno · Oct 5, 2020

Hello, we would need some help:

We would like to use a Transformation to convert an ORU_R30 2.3 to ORU_R30 2.5

However Ensemble does not have a HL7 Schema for ORU R_30 2.3

So then our original message is not being recognized:

→ How could we let Ensemble recognize the ORU R30 2.3 structure to be able to use a Transformation?

We have read:

https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.c…

https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.U…

https://cedocs.intersys

2
0 316
Question Kyle M · Sep 21, 2020

Hi all

Another newbie question.

A small percentage of our patients have an extra hospital number which was imported from the previous PAS but is no longer in use. We only need to send MRN and NHS number and would like to suppress CMRN. Could you please advise me how to do it in DTL?

PID|1|E05088888^^^RTPMRN^MRN^CD:14248745|00550972^^^RTPCMRN^CMRN^CD:4528185~E05088888^^^RTPMRN^MRN^CD:4528185~4449999999^^^NHSNBR^NHSNMBR|

5
0 530
Question Ahmad Bukhtiar · Sep 23, 2020

Any syntax help, i want to check different msg types and then reach out to the value in that particular segment. Here is example, i want to get SSNNumber from a method. Trying to use NOTIN, and Lookup

Class Training.RulesFunctionSet Extends Ens.Rule.FunctionSet

{

ClassMethod getEmiratesId(pHL7 As EnsLib.HL7.Message) As %String
{
SET msgType = pHL7.GetValueAt("MSH:MessageType.TriggerEvent")
 

IF msgType NotIn "A39,A40,O01,O11,O09,R01" {
return pHL7.GetValueAt("PID:SSNNumberPatient")}

IF msgType In "A39,A40" {
 return pHL7.GetValueAt("PIDgrp(1).PID:SSNNumberPatient")}
 
IF msgType In Lookup("All

5
0 750
Question Kyle M · Sep 17, 2020

Hi

Newbie question. Could you please help me implement the following using DTL only - no programming. 

We have a problem where our system sends longer addresses e.g. block of flats in an unexpected format

e.g. address below:

Flat 22 Kings Court

49 Kings Road

Gateshead

NE10  8AW

 

Would be sent as

Flat 22^Kings Court^Gateshead^""^NE10  8AW^GBR^HOME^49 Kings Road^

 

With Road being sent right at the end after the post code and country etc. Shorter addresses are OK.

I need to have a logic which would clean it up and move these values around to have the following:

 Flat 22 Kings

3
0 467
Question Ahmad Bukhtiar · Sep 1, 2020

Hi 

We have several rules in router to validate HL7 messages, each rule check a particular field in HL7 message and send back response.  We want to run all rules and combine the rules responses into some variable/object and at the end if variable/object is empty it means message is valid, else send the value from this variable/object. This way one message we dont run it again and again, and we can send one message and response will give us combine results from all rules. 

For example,

Rule 1 - Check MSH.12 field, Send response "MSH.12 value not valid", and RETURN

Rule 2 - Check PID.3 field

3
0 359
Question Scott Roth · Jun 19, 2017

I have come across several cases where I need to set a Date filter to send only send any admit/scheduled date past a certain point. We have a couple different date comparison functions but none looking at the true date. Most of them are date + 15 or etc. Does anyone have a good date function they have written to say if x > 20170102 ?

Thanks

Scott

14
0 2466
Announcement Anastasia Dyubaylo · Aug 31, 2020

Hi Community!

We're pleased to invite you to the Online meetup with the winners of the InterSystems FHIR programming contest!

Date & Time: Friday, September 4, 2020 – 11:00 EDT

What awaits you at this virtual Meetup? 

  • Our winners' bios.
  • Short demos on their applications.
  • A short interview with all the winners about the past contest. Plans for the next contests.

   

3
0 416
Announcement Anastasia Dyubaylo · Aug 24, 2020

Hey Developers!

This week is a voting week for the InterSystems IRIS for Health FHIR Contest!

So, it's time to give your vote to the best FHIR solutions built with InterSystems IRIS for Health.

🔥 You decide: VOTING IS HERE 🔥

 

How to vote? This is easy: you will have one vote, and your vote goes either in Experts Nomination or in Community Nomination.

6
0 425
Announcement Evgeny Shvarov · Aug 13, 2020

Hi Developers!

Here're the technology bonuses for the FHIR programming contest that will give you extra points in the voting:

  • FHIR Server REST API usage 
  • The usage of SQL Schema of FHIR Resources 
  • Healthcare standards data transformation
  • Docker container usage

See the details below.

3
1 332