SDHL7UL ;MS/TG - TMP HL7 Routine;JULY 23, 2018
Source file <SDHL7UL.m>
| Package | Total | Call Graph |
|---|---|---|
| Health Level Seven | 1 | INIT^HLFNC2 |
| Kernel | 1 | ($$DT,$$HTFM,$$NOW)^XLFDT |
| VA FileMan | 1 | ^%DT |
| 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
|
|
| RESET | ; Initialize or clear session pointer into log
|
|
| LOGPRG(RESULT,DTM) | ;Purge SDHL7 application log
|
|
| AUTOPRG | ;
|
|
| LOG(NAME,DATA,TYPE,LEVEL) | ;Log to SDHL7 application log
|
|
| ESCAPE(VAL,HL) | ;Escape any special characters
; *** Does not handle long strings of special characters *** |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^ORD(101 - [#101] | LOADXMT+19 |
| ^TMP("SDHL7LOG" | RESET+1!, LOG+53, LOG+56*, LOG+62 |
| ^XTMP("SDHL7LOG" | LOGPRG+15!, AUTOPRG+1, AUTOPRG+5, AUTOPRG+7, AUTOPRG+11*, LOG+26, LOG+36, LOG+48, LOG+50, LOG+55! , LOG+58*, LOG+63, LOG+64*, LOG+67*, LOG+68*, LOG+69* |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| %DT | LOGPRG+10~, LOGPRG+11* |
| 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, LOG+27~, LOG+57* , LOG+58, LOG+63*, LOG+64, LOG+67, LOG+68, LOG+69 |
| 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 |
| DATA | PARSEMSG+5~, PARSEMSG+7, PARSEMSG+9, PARSESEG~, PARSESEG+26!, BLDSEG~, LOG~, LOG+29, LOG+67, LOG+68 , LOG+69 |
| 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 |
| DAYS | AUTOPRG+2~, AUTOPRG+7*, AUTOPRG+8*, AUTOPRG+10 |
| DT | AUTOPRG+2~, AUTOPRG+4*, AUTOPRG+5, AUTOPRG+11 |
| DTM | LOGPRG~, LOGPRG+11*, LOGPRG+12*, LOGPRG+13, LOGPRG+14*, LOGPRG+15*, LOG+27~, LOG+54*, LOG+55, LOG+56 , LOG+58, LOG+62*, LOG+63, LOG+64, LOG+67, LOG+68, LOG+69 |
| ES | BLDSEG+21~, BLDSEG+28*, ESCAPE+13~, ESCAPE+20*, ESCAPE+23, ESCAPE+24, ESCAPE+25, ESCAPE+29, ESCAPE+33, ESCAPE+37 , ESCAPE+41 |
| 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 |
| FS | PARSESEG+21~, PARSESEG+27*, PARSESEG+32, PARSESEG+33, PARSESEG+34, PARSESEG+35, BLDSEG+18~, BLDSEG+25*, BLDSEG+33, ESCAPE+10~ , ESCAPE+17*, ESCAPE+27, ESCAPE+28, ESCAPE+29 |
| HL | DELIM+5~, DELIM+7, PARSEMSG~, PARSEMSG+7, PARSESEG~, BLDSEG~, ESCAPE~ |
| HL("APAT" | LOADXMT+11 |
| HL("ECH" | LOADXMT+15, DELIM+8, PARSESEG+28, PARSESEG+29, PARSESEG+30, BLDSEG+26, BLDSEG+27, BLDSEG+28, BLDSEG+29, ESCAPE+18 , ESCAPE+19, ESCAPE+20, ESCAPE+21 |
| HL("EIDS" | LOADXMT+19 |
| HL("ETN" | LOADXMT+14 |
| HL("FS" | LOADXMT+15, DELIM+8, PARSESEG+27, BLDSEG+25, ESCAPE+17 |
| HL("MID" | LOADXMT+9 |
| HL("MTN" | LOADXMT+13 |
| >> HLMTIENS | LOADXMT+12 |
| >> HLNEXT | LOADMSG+7 |
| >> HLNODE | LOADMSG+9 |
| >> HLNODE( | LOADMSG+10 |
| >> HLQUIT | LOADMSG+7 |
| I | ESCAPE+15~, ESCAPE+25*, ESCAPE+29*, ESCAPE+33*, ESCAPE+37*, ESCAPE+41* |
| L | ESCAPE+15~, ESCAPE+24*, ESCAPE+25, ESCAPE+28*, ESCAPE+29, ESCAPE+32*, ESCAPE+33, ESCAPE+36*, ESCAPE+37, ESCAPE+40* , ESCAPE+41 |
| LEVEL | LOG~, LOG+35*, LOG+36*, LOG+50 |
| LOGLEVEL | LOG+27~, LOG+48*, LOG+49*, LOG+50 |
| MSG | PARSEMSG+5~ |
| MSGROOT | LOADMSG~, LOADMSG+6, LOADMSG+9, LOADMSG+10, PARSEMSG~, PARSEMSG+6, PARSEMSG+8, PARSEMSG+9 |
| NAME | LOG~, LOG+31, LOG+32*, LOG+50, LOG+67, LOG+68, LOG+69 |
| 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 |
| RESP0 | LOADXMT+8~ |
| RESPIEN | LOADXMT+8~ |
| RESULT | LOGPRG~, LOGPRG+13*, LOGPRG+16*, AUTOPRG+2~, AUTOPRG+10 |
| RS | PARSESEG+23~, PARSESEG+29*, PARSESEG+36, PARSESEG+37, PARSESEG+44, BLDSEG+20~, BLDSEG+27*, BLDSEG+37, ESCAPE+12~, ESCAPE+19* , ESCAPE+31, ESCAPE+32, ESCAPE+33 |
| 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 |
| 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 |
| 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 |
| 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 |
| SUB | PARSESEG+19~, PARSESEG+40*, PARSESEG+41, PARSESEG+42, BLDSEG+16~, BLDSEG+43*, BLDSEG+44, BLDSEG+45 |
| SUBPROT | LOADXMT+8~, LOADXMT+19* |
| SUBVAL | PARSESEG+20~, PARSESEG+41*, PARSESEG+42, BLDSEG+17~, BLDSEG+44*, BLDSEG+46 |
| TYPE | LOG~, LOG+30, LOG+67, LOG+68, LOG+69 |
| 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 |
| X | LOGPRG+10~, LOGPRG+11* |
| XMT | LOADXMT~ |
| XMT("DELIM" | LOADXMT+15* |
| XMT("EVENT TY | PE" , LOADXMT+14* |
| XMT("HLMTIENS" | LOADXMT+12* |
| XMT("MAX SIZE | " , LOADXMT+16* |
| XMT("MESSAGE | TYPE" , LOADXMT+13* |
| XMT("MID" | LOADXMT+9* |
| XMT("MODE" | LOADXMT+10*, LOADXMT+11* |
| Y | LOGPRG+10~, LOGPRG+11 |