1

Example hl7 v2.6 message:

MSH|^~\&|||||20200424103937.7340+0530||ORU^R40^ORU_R40|f08n8hw0nzkty5l6|P|2.6|||AL|NE|||||IHE_PCD_ACM_001^IHE PCD^1.3.6.1.4.1.19376.1.6.1.4.1^ISO
PID|||b5bbf095e54^^^abcde MRN^MR||^^^^^^L||199504000000|||||||||||123456789
PV1||I|SICU^01^01^aaaa Hospital^^^bbbb||||^James^James||||||||||^James^James
OBR|1|002d0542-dd18-4107-b5d8-ec64836747c0^^3C1A57FFFE431AD3^EUI-64|002d0542-dd18-4107-b5d8-ec64836747c0^^3C1A57FFFE431AD3^EUI-64|196616^MDC_EVT_ALARM^MDC|||20200424103937.7340+0530
OBX|1||69965^MDC_DEV_MON_PHYSIO_MULTI_PARAM_MDS^MDC|1.0.0.0|||||||X
OBX|2||69902^MDC_DEV_METER_TEMP_VMD^MDC|1.26.0.0|||||||X
OBX|3||69903^MDC_DEV_METER_TEMP_CHAN^MDC|1.26.1.0|||||||X
OBX|4|ST|196670^MDC_EVT_LO^MDC|1.26.1.1.1|Temp Low|||L~PN~SP|||R|||20200424103937.7340+0530||||SICU~01^^3C1A57FFFE431AD3^EUI-64
OBX|5|NM|150344^MDC_TEMP^MDC|1.26.1.1.2|37|Cel^Cel^UCUM|20-50||||R|||20200424103937.7340+0530||||SICU~01^^3C1A57FFFE431AD3^EUI-64||unknown
OBX|6|ST|68481^MDC_ATTR_EVENT_PHASE^MDC|1.26.1.1.3|end||||||R
OBX|7|ST|68482^MDC_ATTR_ALARM_STATE^MDC|1.26.1.1.4|inactive||||||R
OBX|8|ST|68483^MDC_ATTR_ALARM_INACTIVATION_STATE^MDC|1.26.1.1.5|enabled||||||X
OBX|9|ST|68484^MDC_ATTR_ALARM_PRIORITY^MDC|1.26.1.1.6|PN||||||R
OBX|10|ST|68485^MDC_ATTR_ALERT_TYPE^MDC|1.26.1.1.7|SP||||||R

Get PID Segment Values

I need to get PID segment (3rd field) for all components (e.g. b5bbf095e54^^^abcde MRN^MR). I have tried using terser as seen below:

terser.get("/PID-3") 

But as a result, I am only getting the 1st component.

Get OBR Segments Count

I also want to get the count of all the OBR segments and need to iterate through each segment. This OBR segments count may vary from one message to another, so it needs to be dynamic.

segFault
  • 3,887
  • 1
  • 19
  • 31
venkat
  • 11
  • 3

0 Answers0