-1

We're working on an HL7 interface right now and we've successfully setup Mirth Connect and are receiving and parsing sample HL7 feeds (for SIU messages, specially S12 I think for appointment schedule information). We are new to working with HL7, and since you mentioned Mirth I thought I would ask a couple of questions:

  1. One thing we were unsure of is where the patient email address (if one exists in the EMR) would be in the HL7 message. Any advice on where this piece of information should be located if present?

  2. Often times we need to determine the department or clinic a particular appointment is in (e.g. is it in "Orthopedics" or "General Surgery". In some sample messages I've seen things like an appointment having an "X-ray" label in it alongside the provider name, is this is the location of department or clinic names - or is that information elsewhere?

Thanks for your help!

snwbge
  • 11
  • 3
  • huh? What did i mention? – AndrewK Jul 15 '16 at 19:28
  • FYI, I don't think that stack overflow will be able to help you. This appears to be a message to a help desk, which this is not. – AndrewK Jul 15 '16 at 19:46
  • Hi Andrew, this isn't a help desk question but a request for advice from someone experienced with HL7. I was originally trying to post this question as a followup to another question that was discussing scheduling (one of the users who answered that question was quite knowledgable) so my apologies if this question somehow got directed to you. – snwbge Jul 15 '16 at 20:08

4 Answers4

1

First, Mirth Connect as an interface engine has nothing to do with your HL7 messages. You need an original HL7v2.x specification, which can be download from hl7.org site, to locate all required fields. Thus, SIU^S12 has PID and PD1 segments conveying all personal information, email included.

Same SIU^S12 contains the PV1 segment where location may be provided in fields with PL or IS data types. If this is not enough then all doctors with XCN data types may convey location information as well. How this information coded is defined by user-defined tables which may be extended or overridden by your local terminology sets.

Shamil
  • 910
  • 4
  • 17
  • Hi sqlab and user3005941 - thank you both for your help, I had one additional question: we're looking to pull schedules for a particular day (i.e. a trigger time in our system, let's say on 8AM Monday would pull the Tuesday appointment schedule for a clinic/department). As we're a little new to setting up a connection to a hospital EMR - when we setup a connection do we just need to listen for all HL7 messages being broadcast by the hospital and filter just what we want, or is there a specific query method? – snwbge Jul 17 '16 at 01:33
  • @snwbge: Hire someone who familiar with both HL7v2.x and Mirth Connect to answer all your questions and build a prototype. – Shamil Jul 18 '16 at 17:47
1
PID.13  250 XTN O   *       Phone Number - Home
PID.14  250 XTN O   *       Phone Number - Business

allow eMails in XTN.4. Look for the definition of XTN Extended Telecommunication number

`AIL - Appointment information - location resource segment 

should be the appropriate place for appointment location.

sqlab
  • 6,412
  • 1
  • 14
  • 29
0

Based on your other comments I wanted to see if I could answer your question and additional comments:

For the location of a patient's phone number, these are typically in the PID-13.4 or PID-14.4. They typically have a data a couple sub-components afterwards called XTN, but it could vary depending on what vendor is sending you the data. Always check with the sending system to be sure they are sending it and you are looking in the appropriate field.

Typically you see things like department sent in the PV1-10 field. If it is a SIU message then you should check AIL-3 as well since this will contain additional resource scheudling information.

In an ADT message I would expect a sending system to populate the PV1-10 with that value, but again you would have to confirm with the sending system that the data is being sent and which field specifically it is mapped to. Some SIU feeds populate the PV1-10 in lieu of the AIL-3, so confirmation with the other system is a must.

On your comment, you mentioned you were setting up a connection to receive an inbound SIU feed. In a traditional SIU feed, you will sit and listen while the sending system broadcasts all updates it receives. In a lot of cases, it makes sense to request a full data feed of all scheduling messages and then refine/filter down to only the subset that you need. There are query/response interfaces that could be used as well but they are rare for SIU feeds and need to be fully supported by both you and the other application. Typically, listening to an SIU feed is your best case scenario, and a query interface probably won't work or make sense to develop in an SIU integration scenario.

If you have any other questions feel free to let me know.

Maiza
  • 44
  • 4
0

msg['AIL']['AIL.3']['AIL.3.2'].toString()

In SIU(s12) message here you will find the department name.

msg['PID']['PID.13'][0]['PID.13.4'].toString()

Here, you will find the email id

Hemant
  • 31
  • 7