ALPBHL1U ;OIFO-DALLAS MW,SED,KC -HL7 MESSAGE SEGMENT PARSER AND UPDATE ;2/6/21 15:41
Source file <ALPBHL1U.m>
| Package | Total | Call Graph |
|---|---|---|
| Barcode Medication Administration | 2 | $$UNESC^ALPBGEN ERRBLD^ALPBUTL1 |
| Health Level Seven | 1 | $$FMDATE^HLFNC |
| VA FileMan | 1 | (FILE,UPDATE,WP)^DIE |
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| AL1(IEN,DATA,FS,CS,ERR) | ; process AL1 (allergies) segment...
|
|
| ORC(IEN,OIEN,DATA,MLOG,FS,CS,ERR) | ; process ORC (common order) segment...
; MLOG = if 1 then this is an ORC segment with a Med Log update ; if 0 then this is a common order update |
|
| PV1(IEN,DATA,FS,CS,ERR) | ; process PV1 (patient visit/movement) segment...
|
|
| RXO(IEN,OIEN,DATA,FS,CS,ERR) | ; process RXO (pharmacy prescription order) segment...
; for inpatient meds, this segment contains an orderable item. this ; module is ONLY called if the order is "P"ending. it only files the ; orderable item if no drug is on file for the order. |
|
| RXE(IEN,OIEN,DATA,FS,CS,ECH,ERR) | ; process RXE (order detail) segment...
; this segment may contain the drug name, though there may not be a drug ; because this can also be used for order detail for IV's which are ; contained in an RXC segment. this segment can also contain start/stop ; date&time, dosage and schedule |
|
| RXR(IEN,OIEN,DATA,FS,CS,ERR) | ; process RXR (med administration route) segment...
|
|
| RXC(IEN,OIEN,DATA,FS,CS,ERR) | ; process RXC (IV orders: additives/solutions) segment...
|
|
| NTE(IEN,OIEN,DATA,FS,CS,ERR) | ; process NTE (note) segment...
; note: in the case of NTE segments, DATA is passed in as an array. ; NTE data can be in multiple nodes, the first subscript of which ; contains the actual NTE segments itself. |
|
| ZZZ(IEN,OIEN,DATA,FS,CS,ERR) | ; process Hazardous Drug flags segment *108
|
|
| HL7FMT(NEWLN,AR) | ;Unwrap formatted text array lines into a new array
; the escape character, \.br\ ,will cause a new array element to ; begin with the text after the escape character. |
|
| CNVRT4(STR,SEP) | ;Converts a time string to 4 digit for consistency
; STR - string of times ; SEP - seperator character between times |
| Name | Field # of Occurrence |
|---|---|
| $$UNESC^ALPBGEN | RXE+29 |
| ERRBLD^ALPBUTL1 | AL1+1, AL1+4, ORC+3, PV1+1, RXO+5, RXO+8, RXE+5, RXR+1, RXC+1, RXC+5 , NTE+4, ZZZ+1 |
| FILE^DIE | PV1+11 |
| UPDATE^DIE | AL1+12, ORC+19, ORC+55, ORC+73, RXO+15, RXE+18, RXE+45, RXR+5, RXC+17, ZZZ+6 |
| WP^DIE | ORC+23, NTE+48 |
| $$FMDATE^HLFNC | ORC+28, RXE+22, RXE+24 |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^ALPB(53.7 - [#53.7] | AL1+7, AL1+9, ORC+36, ORC+37, ORC+45, ORC+59, RXO+10, RXO+12, RXE+14, RXE+15 , RXC+9, RXC+13, NTE+8 |
| Name | Line Occurrences |
|---|---|
| $$CNVRT4 | RXE+39, RXE+40 |
| HL7FMT | NTE+34 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ALEN | NTE+24~, NTE+29*, NTE+30 |
| ALLTXT | NTE+24~, NTE+25*, NTE+29, NTE+30*, NTE+31*, NTE+34 |
| ALPBADM | RXE+7~, RXE+38*, RXE+39*, RXE+41 |
| ALPBALG | AL1+2~, AL1+3*, AL1+4, AL1+7, AL1+10 |
| ALPBALGN | AL1+2~, AL1+5*, AL1+11 |
| ALPBDIEN | RXO+4~, RXO+6*, RXO+8, RXO+13, RXE+6~, RXE+11*, RXE+14, RXE+16 |
| ALPBDOA | RXE+7~, RXE+31*, RXE+43 |
| ALPBDRUG | RXO+4~, RXO+7*, RXO+14, RXE+6~, RXE+12*, RXE+17 |
| ALPBFERR | RXE+19! |
| ALPBFIEN | ORC+4~, ORC+5*, ORC+10, ORC+12, ORC+14, ORC+16, ORC+18, ORC+23, ORC+39, ORC+40 , ORC+41, ORC+42, ORC+46, ORC+47, ORC+48, ORC+51, ORC+52, ORC+53, ORC+60, ORC+62 , ORC+64, ORC+66, ORC+69, ORC+70, ORC+71, PV1+2~, PV1+3*, PV1+6, PV1+8, PV1+10 , RXE+6~, RXE+9*, RXE+16, RXE+17, RXE+22, RXE+24, RXE+26, RXE+35, RXE+41, RXE+42 , RXE+43, ZZZ+2~, ZZZ+3*, ZZZ+4, ZZZ+5 |
| ALPBFILE | AL1+2~, ORC+4~, PV1+2~, RXO+4~, RXE+6~, RXE+19!, RXR+2~, RXC+2~, NTE+5~, ZZZ+2~ |
| ALPBFILE( | AL1+10*, AL1+11*, ORC+10*, ORC+12*, ORC+14*, ORC+16*, ORC+18*, ORC+39*, ORC+40*, ORC+41* , ORC+42*, ORC+46*, ORC+47*, ORC+48*, ORC+51*, ORC+52*, ORC+53*, ORC+60*, ORC+62*, ORC+64* , ORC+66*, ORC+69*, ORC+70*, ORC+71*, PV1+6*, PV1+8*, PV1+10*, RXO+13*, RXO+14*, RXE+16* , RXE+17*, RXE+22*, RXE+24*, RXE+26*, RXE+35*, RXE+41*, RXE+42*, RXE+43*, RXR+4*, RXC+14* , RXC+15*, RXC+16*, NTE+43*, NTE+44*, NTE+45*, ZZZ+4*, ZZZ+5* |
| ALPBFILE(1 | NTE+12*, NTE+42, NTE+45 |
| ALPBFNOD | RXC+2~, RXC+6*, RXC+14, RXC+15, RXC+16 |
| ALPBGNOD | RXC+2~, RXC+4*, RXC+5, RXC+6, RXC+9, RXC+13 |
| ALPBMREC | ORC+4~, ORC+31*, ORC+37, ORC+42, ORC+66 |
| ALPBNAM | RXC+2~, RXC+11*, RXC+15 |
| ALPBNEXT | AL1+2~, AL1+9*, AL1+10, AL1+11, ORC+4~, ORC+36*, ORC+37*, ORC+38, ORC+39, ORC+40 , ORC+41, ORC+42, ORC+45, ORC+46, ORC+47, ORC+48, ORC+51, ORC+52, ORC+53, ORC+56! , ORC+59*, ORC+60, ORC+62, ORC+64, ORC+66, ORC+69, ORC+70, ORC+71, RXO+4~, RXO+12* , RXO+13, RXO+14, RXE+6~, RXE+15*, RXE+16, RXE+17, RXE+19!, RXC+2~, RXC+13*, RXC+14 , RXC+15, RXC+16 |
| ALPBNUM | RXC+2~, RXC+7*, RXC+9, RXC+14 |
| ALPBREMV | RXE+7~, RXE+30*, RXE+40*, RXE+42 |
| ALPBSCHD | AL1+2~, RXE+6~, RXE+29*, RXE+33*, RXE+34*, RXE+35 |
| ALPBSCHDLE1 | AL1+2~ |
| ALPBTEXT | ORC+4~, ORC+24! |
| ALPBTEXT(1 | ORC+22* |
| ALPBTIMG | RXE+7~, RXE+28*, RXE+29, RXE+30, RXE+31 |
| ALPBTYP | RXC+2~, RXC+3*, RXC+4 |
| ALPBUNIT | RXC+2~, RXC+12*, RXC+16 |
| ALPBX | AL1+2~, ORC+4~, ORC+8*, ORC+28*, ORC+29!, ORC+36, ORC+39, ORC+60, PV1+2~, PV1+4* , PV1+6, PV1+8, PV1+10, RXE+6~, RXE+20*, RXE+22, RXE+24, RXE+26, RXE+28 |
| ALPBX2 | AL1+2~ |
| ALPBXX | AL1+2~ |
| ALPBYY | AL1+2~ |
| AR | HL7FMT~ |
| AR( | HL7FMT+7*, HL7FMT+8*, HL7FMT+11* |
| CS | AL1~, AL1+1, AL1+5, ORC~, ORC+3, ORC+12, ORC+14, ORC+16, ORC+21, ORC+31 , ORC+40, ORC+41, ORC+44, ORC+50, ORC+62, ORC+64, ORC+68, PV1~, PV1+6, PV1+8 , PV1+10, RXO~, RXO+5, RXO+6, RXO+7, RXE~, RXE+5, RXE+11, RXE+12, RXE+22 , RXE+24, RXE+26, RXE+28, RXE+34, RXE+38, RXR~, RXR+1, RXR+4, RXC~, RXC+1 , RXC+7, RXC+11, RXC+12, NTE~, NTE+4, ZZZ~, ZZZ+1 |
| DATA | AL1~, AL1+1, AL1+3, AL1+4, AL1+5, ORC~, ORC+3, ORC+8, ORC+10, ORC+12 , ORC+14, ORC+16, ORC+18, ORC+21, ORC+28, ORC+31, ORC+40, ORC+41, ORC+44, ORC+50 , ORC+62, ORC+64, ORC+68, PV1~, PV1+1, PV1+4, RXO~, RXO+5, RXO+6, RXO+7 , RXE~, RXE+5, RXE+11, RXE+12, RXE+20, RXE+33, RXE+34, RXE+38, RXR~, RXR+1 , RXR+4, RXC~, RXC+1, RXC+3, RXC+7, RXC+11, RXC+12, NTE~, NTE+4, ZZZ~ , ZZZ+1, ZZZ+4, ZZZ+5 |
| DATA( | NTE+28, NTE+29, NTE+30, NTE+31 |
| DATA(1 | NTE+12, NTE+21* |
| DLEN | NTE+24~, NTE+29*, NTE+30 |
| ECH | RXE~, RXE+5, RXE+8 |
| ELEN | NTE+24~, NTE+30* |
| ERR | AL1~, AL1+1, AL1+4, ORC~, ORC+3, PV1~, PV1+1, RXO~, RXO+5, RXO+8 , RXE~, RXE+5, RXR~, RXR+1, RXC~, RXC+1, RXC+5, NTE~, NTE+4, ZZZ~ , ZZZ+1 |
| ERR("DIERR" | AL1+7*, RXC+9* |
| ESC | HL7FMT+3~, HL7FMT+6*, HL7FMT+7, HL7FMT+8, HL7FMT+9, HL7FMT+10 |
| FS | AL1~, AL1+1, AL1+3, AL1+5, ORC~, ORC+3, ORC+8, ORC+10, ORC+12, ORC+14 , ORC+16, ORC+18, ORC+21, ORC+28, ORC+31, ORC+40, ORC+41, ORC+44, ORC+50, ORC+62 , ORC+64, ORC+68, PV1~, PV1+4, RXO~, RXO+5, RXO+6, RXO+7, RXE~, RXE+5 , RXE+11, RXE+12, RXE+20, RXE+33, RXE+34, RXE+38, RXR~, RXR+1, RXR+4, RXC~ , RXC+1, RXC+3, RXC+7, RXC+11, RXC+12, NTE~, NTE+4, NTE+12, NTE+21, ZZZ~ , ZZZ+1, ZZZ+4, ZZZ+5 |
| I | NTE+5~, NTE+28*, NTE+29, NTE+30, NTE+31, NTE+42*, NTE+43, NTE+44, NTE+45*, HL7FMT+3~ , HL7FMT+5*, HL7FMT+7, HL7FMT+8, HL7FMT+11 |
| IEN | AL1~, AL1+1, AL1+7, AL1+9, AL1+10, AL1+11, ORC~, ORC+3, ORC+5, ORC+36 , ORC+37, ORC+45, ORC+59, PV1~, PV1+1, PV1+3, RXO~, RXO+5, RXO+10, RXO+12 , RXO+13, RXO+14, RXE~, RXE+5, RXE+9, RXE+14, RXE+15, RXR~, RXR+1, RXR+4 , RXC~, RXC+1, RXC+9, RXC+13, RXC+14, RXC+15, RXC+16, NTE~, NTE+4, NTE+8 , NTE+48, ZZZ~, ZZZ+1, ZZZ+3 |
| LIN | HL7FMT+3~, HL7FMT+7*, HL7FMT+8*, HL7FMT+9*, HL7FMT+11 |
| LN | HL7FMT+3~, HL7FMT+5*, HL7FMT+6, HL7FMT+7, HL7FMT+9, HL7FMT+10 |
| MLOG | ORC~, ORC+3, ORC+7, ORC+26 |
| NEWALPB | NTE+24~, NTE+34 |
| NEWALPB( | NTE+42, NTE+43, NTE+44, NTE+45 |
| NEWLN | HL7FMT~, HL7FMT+5, HL7FMT+7*, HL7FMT+8*, HL7FMT+10* |
| OIEN | ORC~, ORC+3, ORC+5, ORC+36, ORC+37, ORC+45, ORC+59, RXO~, RXO+5, RXO+10 , RXO+12, RXO+13, RXO+14, RXE~, RXE+5, RXE+9, RXE+14, RXE+15, RXR~, RXR+1 , RXR+4, RXC~, RXC+1, RXC+9, RXC+13, RXC+14, RXC+15, RXC+16, NTE~, NTE+4 , NTE+8, NTE+48, ZZZ~, ZZZ+1, ZZZ+3 |
| CNVRT4+4~, CNVRT4+5* | |
| QUIT | NTE+24~, NTE+25*, NTE+28, NTE+30*, HL7FMT+3~, HL7FMT+4*, HL7FMT+5, HL7FMT+8* |
| SCS | AL1+2~, RXE+6~, RXE+8*, RXE+29, RXE+30, RXE+31 |
| SEP | CNVRT4~, CNVRT4+5 |
| STR | CNVRT4~, CNVRT4+5*, CNVRT4+6 |
| SVZERO | ORC+4~, ORC+45*, ORC+46, ORC+47, ORC+48 |
| U | ORC+46, ORC+47, ORC+48 |