-
Notifications
You must be signed in to change notification settings - Fork 97
Description
Hello all,
I will not purport to be an HL7 guru, but I'm rather confused by the parsed structure that comes out of hl7apy and I'm not clear if this is an error in my understanding of HL7 or in my understanding of hl7apy. I'm not finding any documentation on the structure of messages in hl7apy (and maybe none exists).
For instance, when parsing an ORM_O01 order, I have the Order object with ORC and OBR. When I read the examples and the wiki page by Mr. Michael Sarfati, it seems that I should be able to run the HL7 string into the parse_message function and the output should be structured by groups of MSH, PID, OBR, ORM, etc. so with the example given: "message.pid.pid_3.value" should work, but it does not and I have to use "message.ORM_O01_PATIENT.pid.patient_identifier_list.value" sometimes and "message.ORM_O01_PATIENT.pid.patient_identifier_list.id.value" others.
What I find extremely confusing is the OBR segment where I need to call things like "message.ORM_O01_ORDER.ORM_O01_ORDER_DETAIL.ORM_O01_OBRRQDRQ1RXOODSODT_SUPPGRP.obr" or "message.ORM_O01_ORDER.ORM_O01_ORDER_DETAIL.ORM_O01_CHOICE.obr". To me, the messages seem the same, but I don't understand these extra abstractions... I would assume they mean something, else they wouldn't be there... but how am I programmatically supposed to know when these extra layers are supposed to take effect? I was working with the HAPI library previously and I had not come across this before...
Any pointers or documentation would be most appreciated!