4

I'm working on an application that connects with HIS via the HL7 protocol. The connection is for syncing the patient demographics saved on my application DB with the HIS DB. How do you request patient information of some patient by their ID anytime?

The documents are talking about update trigger: if the patient demographics changes on HIS it sends the new data. Is there a way to request the data anytime?

Nathaniel Ford
  • 20,545
  • 20
  • 91
  • 102
user3764739
  • 41
  • 1
  • 2

1 Answers1

5

You can use an ADT-Query ADT^A19

QRY^A19^QRY_A19     Patient Query
MSH     Message Header
QRD     Query Definition
[ QRF ]     Query Filter

for example

MSH|^~\&|KIS||CommServer||200811111017||QRY^A19||P|2.2| QRD|200811111016|R|I|Q1004|||1^RD|10000437363|DEM|||

You can get back ADR^A19

ADR^A19^ADR_A19     ADT Response
MSH     Message Header
MSA     Message Acknowledgment
[ERR]   Error
[ QAK ]     Query Acknowledgment
QRD     Query Definition
[ QRF ]     Query Filter
{    
PID     Patient Identification
[{ ROL }]   Role
[{ NK1 }]   Next of Kin / Associated Parties
PV1     Patient Visit
[ PV2 ]     Patient Visit - Additional Info.
[{ ROL }]   Role
[{ OBX }]   Observation/Result
[{ AL1 }]   Allergy Information
[{ DG1 }]   Diagnosis Information
[ DRG ]     Diagnosis Related Group
[{   
PR1     Procedures
[{ ROL }]   Role
}]   
[{ GT1 }]   Guarantor
[{   
IN1     Insurance
[ IN2 ]     Insurance Additional Info.
[{ ROL }]   Role
}]   
[ ACC ]     Accident Information
}    

But beware, not many systems support queries. It should also be noted, that this type of query was withdrawn with the HL7 Version 2.7. From V2.4 on you could use QBPQuery by parameter

sqlab
  • 6,412
  • 1
  • 14
  • 29