MHV7U ;WAS/GPM - HL7 UTILITIES ; [1/7/08 10:21pm]
Source file <MHV7U.m>
| 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 |
|---|---|---|
| LOADMSG(MSGROOT) | ; Load HL7 message into temporary global for processing
|
|
| LOADXMT(XMT) | ;Set HL dependent XMT values
|
|
| DELIM(PROTOCOL) | ;Return string of message delimiters based on Protocol
|
|
| PARSEMSG(MSGROOT,HL) | ; Message Parser
; Does not handle segments that span nodes ; Does not handle extremely long segments (uses a local) ; Does not handle long fields (segment parser doesn't) |
|
| PARSESEG(SEG,DATA,HL) | ;Generic segment parser
|
|
| BLDSEG(DATA,HL) | ;generic segment builder
|
|
| BLDWP(WP,SEG,MAXLEN,FORMAT,FMTLEN,HL) | ;
|
|
| ESCAPE(VAL,HL) | ;Escape any special characters
; *** Does not handle long strings of special characters *** |
|
| UNESC(VAL,HL) | ;Reconstitute any escaped characters
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^MHV(2275.4 - [#2275.4] | LOADXMT+25, LOADXMT+26 |
| ^ORD(101 - [#101] | LOADXMT+24 |
| Name | Line Occurrences |
|---|---|
| $$ESCAPE | BLDWP+17 |
| PARSESEG | PARSEMSG+7 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| CESC | UNESC+14~, UNESC+22*, UNESC+32, UNESC+33, UNESC+34 |
| CMP | PARSESEG+13~, PARSESEG+38*, PARSESEG+39, PARSESEG+42, PARSESEG+43, BLDSEG+10~, BLDSEG+39*, BLDSEG+40, BLDSEG+41, BLDSEG+43 , BLDSEG+44 |
| CMPVAL | PARSESEG+14~, PARSESEG+39*, PARSESEG+40, PARSESEG+41, PARSESEG+43, BLDSEG+11~, BLDSEG+40*, BLDSEG+42 |
| CNT | LOADMSG+5~, LOADMSG+8*, LOADMSG+9, LOADMSG+10*, PARSEMSG+5~, PARSEMSG+6*, PARSEMSG+8, PARSEMSG+9, BLDWP+2~, BLDWP+6* , BLDWP+7, BLDWP+20, BLDWP+21*, BLDWP+22, BLDWP+25 |
| CS | PARSESEG+22~, PARSESEG+28*, PARSESEG+38, PARSESEG+39, BLDSEG+19~, BLDSEG+26*, BLDSEG+41, ESCAPE+11~, ESCAPE+18*, ESCAPE+35 , ESCAPE+36, ESCAPE+37, UNESC+10~, UNESC+17*, UNESC+34 |
| DATA | PARSEMSG+5~, PARSEMSG+7, PARSEMSG+9, PARSESEG~, PARSESEG+26!, BLDSEG~ |
| DATA( | PARSESEG+42*, PARSESEG+43*, PARSESEG+44*, PARSESEG+45*, BLDSEG+33, BLDSEG+35, BLDSEG+36, BLDSEG+39, BLDSEG+40, BLDSEG+43 , BLDSEG+44 |
| DATA("" | BLDSEG+32 |
| DATA(0 | PARSEMSG+9, PARSESEG+32*, BLDSEG+31 |
| EESC | UNESC+14~, UNESC+24*, UNESC+44, UNESC+45, UNESC+46 |
| ES | BLDSEG+21~, BLDSEG+28*, ESCAPE+13~, ESCAPE+20*, ESCAPE+23, ESCAPE+24, ESCAPE+25, ESCAPE+29, ESCAPE+33, ESCAPE+37 , ESCAPE+41, UNESC+12~, UNESC+19*, UNESC+21, UNESC+22, UNESC+23, UNESC+24, UNESC+25, UNESC+27, UNESC+46 |
| FESC | UNESC+14~, UNESC+21*, UNESC+28, UNESC+29, UNESC+30 |
| FLD | PARSESEG+15~, PARSESEG+34*, PARSESEG+35, PARSESEG+42, PARSESEG+43, PARSESEG+44, PARSESEG+45, BLDSEG+12~, BLDSEG+32*, BLDSEG+33 , BLDSEG+35, BLDSEG+36, BLDSEG+39, BLDSEG+40, BLDSEG+43, BLDSEG+44 |
| FLDVAL | PARSESEG+16~, PARSESEG+35*, PARSESEG+36, PARSESEG+37, PARSESEG+44, PARSESEG+45, BLDSEG+13~, BLDSEG+33*, BLDSEG+34 |
| FMTLEN | BLDWP~, BLDWP+8*, BLDWP+20*, BLDWP+22*, BLDWP+25* |
| FORMAT | BLDWP~, BLDWP+23 |
| FS | PARSESEG+21~, PARSESEG+27*, PARSESEG+32, PARSESEG+33, PARSESEG+34, PARSESEG+35, BLDSEG+18~, BLDSEG+25*, BLDSEG+33, BLDWP+2~ , BLDWP+4*, BLDWP+7, BLDWP+20, ESCAPE+10~, ESCAPE+17*, ESCAPE+27, ESCAPE+28, ESCAPE+29, UNESC+9~, UNESC+16* , UNESC+30 |
| HL | DELIM+5~, DELIM+7, PARSEMSG~, PARSEMSG+7, PARSESEG~, BLDSEG~, BLDWP~, BLDWP+17, ESCAPE~, UNESC~ |
| HL("APAT" | LOADXMT+16 |
| HL("ECH" | LOADXMT+20, DELIM+8, PARSESEG+28, PARSESEG+29, PARSESEG+30, BLDSEG+26, BLDSEG+27, BLDSEG+28, BLDSEG+29, BLDWP+5 , ESCAPE+18, ESCAPE+19, ESCAPE+20, ESCAPE+21, UNESC+17, UNESC+18, UNESC+19, UNESC+20 |
| HL("EIDS" | LOADXMT+24 |
| HL("ETN" | LOADXMT+19 |
| HL("FS" | LOADXMT+20, DELIM+8, PARSESEG+27, BLDSEG+25, BLDWP+4, ESCAPE+17, UNESC+16 |
| HL("MID" | LOADXMT+14 |
| HL("MTN" | LOADXMT+18 |
| >> HLMTIENS | LOADXMT+17 |
| >> HLNEXT | LOADMSG+7 |
| >> HLNODE | LOADMSG+9 |
| >> HLNODE( | LOADMSG+10 |
| >> HLQUIT | LOADMSG+7 |
| I | BLDWP+2~, BLDWP+11*, BLDWP+12*, BLDWP+13, BLDWP+14, ESCAPE+15~, ESCAPE+25*, ESCAPE+29*, ESCAPE+33*, ESCAPE+37* , ESCAPE+41*, UNESC+14~, UNESC+30*, UNESC+34*, UNESC+38*, UNESC+42*, UNESC+46* |
| L | ESCAPE+15~, ESCAPE+24*, ESCAPE+25, ESCAPE+28*, ESCAPE+29, ESCAPE+32*, ESCAPE+33, ESCAPE+36*, ESCAPE+37, ESCAPE+40* , ESCAPE+41, UNESC+14~, UNESC+29*, UNESC+30, UNESC+33*, UNESC+34, UNESC+37*, UNESC+38, UNESC+41*, UNESC+42 , UNESC+45*, UNESC+46 |
| LAST | BLDWP+2~, BLDWP+18*, BLDWP+25 |
| LENGTH | BLDWP+2~, BLDWP+9*, BLDWP+12, BLDWP+15*, BLDWP+16 |
| LINE | BLDWP+2~, BLDWP+13*, BLDWP+14*, BLDWP+15, BLDWP+16*, BLDWP+17*, BLDWP+18, BLDWP+20, BLDWP+22, BLDWP+25 |
| MAXLEN | BLDWP~, BLDWP+3*, BLDWP+12, BLDWP+16 |
| MSG | PARSEMSG+5~ |
| MSGROOT | LOADMSG~, LOADMSG+6, LOADMSG+9, LOADMSG+10, PARSEMSG~, PARSEMSG+6, PARSEMSG+8, PARSEMSG+9 |
| PROTOCOL | DELIM~, DELIM+6, DELIM+7 |
| REP | PARSESEG+17~, PARSESEG+36*, PARSESEG+37, PARSESEG+42, PARSESEG+43, PARSESEG+44, BLDSEG+14~, BLDSEG+35*, BLDSEG+36, BLDSEG+37 , BLDSEG+39, BLDSEG+40, BLDSEG+43, BLDSEG+44 |
| REPVAL | PARSESEG+18~, PARSESEG+37*, PARSESEG+38, PARSESEG+39, PARSESEG+44, BLDSEG+15~, BLDSEG+36*, BLDSEG+38 |
| RESC | UNESC+14~, UNESC+23*, UNESC+36, UNESC+37, UNESC+38 |
| RESP0 | LOADXMT+13~, LOADXMT+26*, LOADXMT+27, LOADXMT+28, LOADXMT+29 |
| RESPIEN | LOADXMT+13~, LOADXMT+25*, LOADXMT+26 |
| RS | PARSESEG+23~, PARSESEG+29*, PARSESEG+36, PARSESEG+37, PARSESEG+44, BLDSEG+20~, BLDSEG+27*, BLDSEG+37, BLDWP+2~, BLDWP+5* , BLDWP+22, ESCAPE+12~, ESCAPE+19*, ESCAPE+31, ESCAPE+32, ESCAPE+33, UNESC+11~, UNESC+18*, UNESC+38 |
| SEG | LOADMSG+5~, LOADMSG+7*, LOADMSG+9, LOADMSG+10, PARSEMSG+5~, PARSEMSG+6*, PARSESEG~, PARSESEG+32, PARSESEG+33*, PARSESEG+34 , PARSESEG+35, BLDSEG+23~, BLDSEG+31*, BLDSEG+34*, BLDSEG+38*, BLDSEG+42*, BLDSEG+46*, BLDSEG+47, BLDWP~ |
| SEG( | BLDWP+7*, BLDWP+20*, BLDWP+22*, BLDWP+25* |
| SEG("" | BLDWP+6 |
| SEG(0 | PARSEMSG+7 |
| SEG(1 | PARSEMSG+10 |
| SEP | BLDSEG+23~, BLDSEG+33*, BLDSEG+34, BLDSEG+37*, BLDSEG+38, BLDSEG+41*, BLDSEG+42, BLDSEG+45*, BLDSEG+46 |
| SESC | UNESC+14~, UNESC+25*, UNESC+40, UNESC+41, UNESC+42 |
| SS | PARSESEG+24~, PARSESEG+30*, PARSESEG+40, PARSESEG+41, BLDSEG+22~, BLDSEG+29*, BLDSEG+45, ESCAPE+14~, ESCAPE+21*, ESCAPE+39 , ESCAPE+40, ESCAPE+41, UNESC+13~, UNESC+20*, UNESC+42 |
| STR | ESCAPE+15~, ESCAPE+24*, ESCAPE+25*, ESCAPE+26, ESCAPE+28*, ESCAPE+29*, ESCAPE+30, ESCAPE+32*, ESCAPE+33*, ESCAPE+34 , ESCAPE+36*, ESCAPE+37*, ESCAPE+38, ESCAPE+40*, ESCAPE+41*, ESCAPE+42, UNESC+14~, UNESC+29*, UNESC+30*, UNESC+31 , UNESC+33*, UNESC+34*, UNESC+35, UNESC+37*, UNESC+38*, UNESC+39, UNESC+41*, UNESC+42*, UNESC+43, UNESC+45* , UNESC+46*, UNESC+47 |
| SUB | PARSESEG+19~, PARSESEG+40*, PARSESEG+41, PARSESEG+42, BLDSEG+16~, BLDSEG+43*, BLDSEG+44, BLDSEG+45 |
| SUBPROT | LOADXMT+13~, LOADXMT+24*, LOADXMT+25 |
| SUBVAL | PARSESEG+20~, PARSESEG+41*, PARSESEG+42, BLDSEG+17~, BLDSEG+44*, BLDSEG+46 |
| VAL | ESCAPE~, ESCAPE+23, ESCAPE+24, ESCAPE+25, ESCAPE+26*, ESCAPE+27, ESCAPE+28, ESCAPE+29, ESCAPE+30*, ESCAPE+31 , ESCAPE+32, ESCAPE+33, ESCAPE+34*, ESCAPE+35, ESCAPE+36, ESCAPE+37, ESCAPE+38*, ESCAPE+39, ESCAPE+40, ESCAPE+41 , ESCAPE+42*, ESCAPE+43, UNESC~, UNESC+27, UNESC+28, UNESC+29, UNESC+30, UNESC+31*, UNESC+32, UNESC+33 , UNESC+34, UNESC+35*, UNESC+36, UNESC+37, UNESC+38, UNESC+39*, UNESC+40, UNESC+41, UNESC+42, UNESC+43* , UNESC+44, UNESC+45, UNESC+46, UNESC+47*, UNESC+48 |
| WP | BLDWP~ |
| WP( | BLDWP+12, BLDWP+13, BLDWP+14 |
| XMT | LOADXMT~ |
| XMT("BREAK SE | GMENT" , LOADXMT+29* |
| XMT("BUILDER" | LOADXMT+28* |
| XMT("DELIM" | LOADXMT+20* |
| XMT("EVENT TY | PE" , LOADXMT+19* |
| XMT("HLMTIENS" | LOADXMT+17* |
| XMT("MAX SIZE | " , LOADXMT+21* |
| XMT("MESSAGE | TYPE" , LOADXMT+18* |
| XMT("MID" | LOADXMT+14* |
| XMT("MODE" | LOADXMT+15*, LOADXMT+16* |
| XMT("PROTOCOL" | LOADXMT+27* |