SDHL7APU ;MS/TG,PH - TMP HL7 Routine;OCT 16, 2018
Source file <SDHL7APU.m>
Package | Total | Call Graph |
---|---|---|
Health Level Seven | 4 | $$LLOK^HLCSLM INIT^HLFNC2 GENACK^HLMA1 LINK^HLUTIL3 |
Scheduling | 4 | GETSTC^SDECCON SENDERR^SDHL7APU ARSET^SDHLAPT1 $$MSA^SDTMBUS |
Kernel | 3 | ($$FMADD,$$FMTE,$$HTFM)^XLFDT $$LOW^XLFSTR ($$NAME,$$PRNT)^XUAF4 |
VA FileMan | 3 | NOW^%DTC $$FIND1^DIC $$GET1^DIQ |
Master Patient Index VistA | 1 | $$GETDFN^MPIF001 |
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 |
Package | Total | Caller Graph |
---|---|---|
Scheduling | 3 | SDHL7APT SDHL7APU SDHLAPT2 |
Name | Comments | DBIA/ICR reference |
---|---|---|
MSH(MSH,INP,MSGARY) | ;
|
|
SCH(SCH,INP,MSGARY) | ;
|
|
SCHNTE(SCHNTE,INP,MSGARY) | ;
|
|
PID(PID,INP,MSGARY) | ;
|
|
PV1(PV1,INP,MSGARY) | ;
|
|
OBX(OBX,INP) | ;
|
|
RGS(RGS,CNT,INP) | ;
|
|
AIS(AIS,CNT,INP,MSGARY) | ;
|
|
AISNTE(AISNTE,CNT,INP) | ;
|
|
AIG(AIG,CNT,INP) | ;
|
|
AIGNTE(AIGNTE,CNT,INP) | ;
|
|
AIL(AIL,CNT,INP,MSGARY) | ;
|
|
AILNTE(AILNTE,CNT,INP) | ;
|
|
AIP(AIP,CNT,INP,MSGARY) | ;
|
|
AIPNTE(AIPNTE,CNT,INP,MSGARY) | ;
|
|
CHKCHILD | ;
|
|
VALIDMSG(MSGROOT,QRY,XMT,ERR) | ||
PARSESEG(SEG,DATA,HL) | ;Generic segment parser
|
|
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) |
|
SEND() | ;
|
|
ACKIN | ;
|
|
INP | ; set up the INP array for calling ARSET^SDECAR2 to update the RTC orders
; Need to add code to add the rtcparent to the HL7 message and to parse it out. |
|
ARSET(X) | ; set the appointment requests into 409.85
|
|
LOADMSG(MSGROOT) | ; Load HL7 message into temporary global for processing
|
|
LOADXMT(HL,XMT) | ;Set HL dependent XMT values
|
|
ERRLKP(ERRTXT) | ;
|
|
CHKAPT(RET,DFN,CLINID) | ;
|
|
STRIP(SDECZ) | ;Replace control characters with spaces
|
|
RESLKUP(CLINID) | ;
|
|
GETAPT(URL,SDCL,SDECSTART) | ;
|
|
CHKLL(X) | ;check setup of Logical Link
|
|
SENDERR(ERR) | ||
DUZ | ; send error nak back if user not on system
|
|
APPTYPE(CL) | ;Determines APPTYPE by STOP CODES associated with CLINIC (SD*5.3*780)
|
|
GETSTA(STA) | ;Return Parent STA or self if No parent
|
|
ERRS | ;
|
|
ACK | ;****BUILD THE RESPONSE MSA (Cont. of SDHL7APT)
|
Name | Field # of Occurrence |
---|---|
NOW^%DTC | INP+14 |
$$FIND1^DIC | LOADXMT+14, LOADXMT+15 |
$$GET1^DIQ | AIL+15, INP+4, INP+8, INP+23, INP+30, INP+36, APPTYPE+3 |
$$LLOK^HLCSLM | CHKLL+8 |
INIT^HLFNC2 | SENDERR+3, ACK+3 |
GENACK^HLMA1 | SENDERR+8, ACK+8 |
LINK^HLUTIL3 | CHKLL+5 |
$$GETDFN^MPIF001 | PID+3 |
GETSTC^SDECCON | AIL+11 |
SENDERR^SDHL7APU | DUZ+2 |
ARSET^SDHLAPT1 | CHKCHILD+16 |
$$MSA^SDTMBUS | SENDERR+5 |
$$FMADD^XLFDT | MSH+3 |
$$FMTE^XLFDT | AIL+15, INP+14 |
$$HTFM^XLFDT | INP+14 |
$$LOW^XLFSTR | SCH+21, AIL+14 |
$$NAME^XUAF4 | AIL+9, INP+16 |
$$PRNT^XUAF4 | GETSTA+1 |
FileNo | Call Tags |
---|---|
^ORD(101 - [#101] | FIND1^DIC |
^GMR(123 - [#123] | GET1^DIQ |
^VA(200 - [#200] | GET1^DIQ |
^DGEN(27.11 - [#27.11] | GET1^DIQ |
^DIC(40.7 - [#40.7] | GET1^DIQ |
^SDEC(409.85 - [#409.85] | GET1^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^DPT - [#2] | INP+7, INP+29, INP+39, CHKAPT+4 |
^ORD(101 - [#101] | LOADXMT+27 |
^SC - [#44] | CHKAPT+5, RESLKUP+6, GETAPT+5, GETAPT+6, GETAPT+7, GETAPT+8, GETAPT+9, GETAPT+10, GETAPT+11*, APPTYPE+3 |
^SD(409.2 - [#409.2] | SCH+8 |
^SDEC(409.831 - [#409.831] | RESLKUP+7, RESLKUP+9 |
^SDEC(409.85 - [#409.85] | SCH+28, SCH+29, CHKCHILD+6, CHKCHILD+8, CHKCHILD+11, CHKCHILD+14, CHKCHILD+15, INP+11, INP+45, INP+46 , ARSET+4, ARSET+5, ARSET+6, CHKAPT+7, CHKAPT+9, CHKAPT+10 |
^VA(200 - [#200] | SCH+21 |
^XTMP("SDTMP" | MSH+3* |
Name | Line Occurrences |
---|---|
PARSESEG | PARSEMSG+7 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
>> ACKMSG | ACK+6 |
AIG | AIG~, AIG+1 |
AIG( | AIG+1* |
AIGNTE | AIGNTE~, AIGNTE+1 |
AIGNTE( | AIGNTE+1* |
AIL | AIL~, AIL+2 |
AIL( | AIL+2* |
AIL(1 | AIL+5, AIL+6, AIL+9, AIL+12, AIL+14, AIL+18, AIL+19, AIL+20, INP+34 |
AIL(2 | AIL+7, AIL+18 |
AILNTE | AILNTE~, AILNTE+1, AILNTE+2*, AILNTE+3* |
AILNTE( | AILNTE+1* |
AILNTE(1 | AILNTE+2, AILNTE+3 |
AIP | AIP~, AIP+1 |
AIP( | AIP+1* |
AIP(1 | AIP+2 |
AIPNTE | AIPNTE~, AIPNTE+1 |
AIPNTE( | AIPNTE+1* |
AIS | AIS~, AIS+1 |
AIS( | AIS+1* |
AISNTE | AISNTE~, AISNTE+1 |
AISNTE( | AISNTE+1* |
CANCODE | SCH+1~, SCH+5*, SCH+8 |
CL | APPTYPE~, APPTYPE+3 |
CLINID | CHKAPT~, CHKAPT+3, CHKAPT+5, CHKAPT+7, RESLKUP~, RESLKUP+5, RESLKUP+6, RESLKUP+7 |
CMP | PARSESEG+13~, PARSESEG+39*, PARSESEG+40, PARSESEG+43, PARSESEG+44 |
CMPVAL | PARSESEG+14~, PARSESEG+40*, PARSESEG+41, PARSESEG+42, PARSESEG+44 |
CNODE | GETAPT+1~, GETAPT+10* |
CNT | RGS~, RGS+1, AIS~, AIS+1, AISNTE~, AISNTE+1, AIG~, AIG+1, AIGNTE~, AIGNTE+1 , AIL~, AIL+2, AILNTE~, AILNTE+1, AIP~, AIP+1, AIPNTE~, AIPNTE+1, VALIDMSG+17~, PARSEMSG+5~ , PARSEMSG+6*, PARSEMSG+8, PARSEMSG+9, LOADMSG+5~, LOADMSG+8*, LOADMSG+9, LOADMSG+10*, SENDERR+5*, SENDERR+6 |
CONSDSC | SCH+1~ |
CS | PARSESEG+22~, PARSESEG+28*, PARSESEG+39, PARSESEG+40 |
DATA | PARSESEG~, PARSESEG+26!, PARSEMSG+5~, PARSEMSG+7, PARSEMSG+9 |
DATA( | PARSESEG+43*, PARSESEG+44*, PARSESEG+45*, PARSESEG+46* |
DATA(0 | PARSESEG+32*, PARSEMSG+9 |
DFN | PID+3*, INP+7, INP+13, INP+29, CHKAPT~, CHKAPT+2, CHKAPT+4, CHKAPT+7, GETAPT+8 |
DT | MSH+3, CHKCHILD+14 |
DUZ | SCH+21*, SCH+22*, CHKCHILD+9* |
DUZ(2 | INP+16 |
>> EIN | SENDERR+3, ACK+3 |
ERR | SCH+7*, VALIDMSG~, VALIDMSG+18!, VALIDMSG+19*, SENDERR~, SENDERR+5, DUZ+1*, DUZ+2, ACK+2~, ACK+5* |
>> ERRCND | ACK+7 |
ERRTXT | SCH+7*, ERRLKP~, ERRLKP+2, ACK+7 |
ERTX1 | ERRLKP+1~, ERRLKP+5*, ERRLKP+7 |
ERTX2 | ERRLKP+1~, ERRLKP+6*, ERRLKP+7 |
ERTXI | ERRLKP+1~, ERRLKP+4* |
ERTXT | ERRLKP+1~, ERRLKP+2*, ERRLKP+7*, ERRLKP+9 |
>> FCHILD | CHKCHILD+17* |
FIRST | CHKCHILD+1~ |
FLD | PARSESEG+15~, PARSESEG+35*, PARSESEG+36, PARSESEG+43, PARSESEG+44, PARSESEG+45, PARSESEG+46 |
FLDVAL | PARSESEG+16~, PARSESEG+36*, PARSESEG+37, PARSESEG+38, PARSESEG+45, PARSESEG+46 |
FOUNDCN | ACK+2~, ACK+5* |
FS | PARSESEG+21~, PARSESEG+27*, PARSESEG+32, PARSESEG+33, PARSESEG+35, PARSESEG+36 |
GMRDA | AIL+13~, AIL+14*, AIL+15, AIL+16, AIL+17 |
HL | PARSESEG~, PARSEMSG~, PARSEMSG+7, LOADXMT~, SENDERR+3, SENDERR+5, ACK+3 |
HL("APAT" | LOADXMT+19 |
HL("ECH" | PARSESEG+28, PARSESEG+29, PARSESEG+30, LOADXMT+22, SENDERR+4*, ACK+4* |
HL("EID" | LOADXMT+14*, SENDERR+8, ACK+8 |
HL("EIDS" | LOADXMT+15*, LOADXMT+27, SENDERR+8, ACK+8 |
HL("ETN" | LOADXMT+21 |
HL("FS" | PARSESEG+27, LOADXMT+22, SENDERR+4*, ACK+4*, ACK+7 |
HL("MID" | LOADXMT+17, SENDERR+5, ACK+6*, ACK+7 |
HL("MTN" | LOADXMT+20 |
HLA | SENDERR+2~, ACK+2~ |
HLA("HLA" | SENDERR+7*, ACK+7* |
HLA("HLS" | SENDERR+6*, SENDERR+7 |
>> HLMTIENS | SENDERR+8, ACK+8 |
>> HLNEXT | LOADMSG+7 |
>> HLNODE | LOADMSG+9 |
>> HLNODE( | LOADMSG+10 |
>> HLQUIT | LOADMSG+7 |
HLRESLT | CHKLL+4~, CHKLL+5 |
HLRESLT(0 | CHKLL+6 |
>> I | CHKCHILD+13*, CHKCHILD+15, CHKCHILD+17 |
INP | MSH~, SCH~, SCHNTE~, PID~, PV1~, OBX~, RGS~, AIS~, AISNTE~, AIG~ , AIGNTE~, AIL~, AILNTE~, AIP~, AIPNTE~, CHKCHILD+16, INP+3! |
INP(1 | CHKCHILD+15*, INP+12* |
INP(10 | INP+4*, INP+23* |
INP(11 | INP+27* |
INP(12 | INP+28* |
INP(13 | INP+8*, INP+30* |
INP(14 | CHKCHILD+15*, INP+9*, INP+31*, INP+32* |
INP(15 | CHKCHILD+15*, INP+33* |
INP(16 | CHKCHILD+15*, INP+34* |
INP(17 | INP+35* |
INP(18 | INP+37* |
INP(19 | INP+40* |
INP(2 | INP+13*, INP+39 |
INP(22 | INP+41* |
INP(23 | INP+42* |
INP(25 | CHKCHILD+14*, INP+44* |
INP(26 | INP+46* |
INP(28 | INP+45*, INP+46 |
INP(3 | CHKCHILD+14*, INP+14* |
INP(4 | AIL+9*, INP+16* |
INP(5 | CHKCHILD+15*, INP+17* |
INP(6 | AIL+5*, CHKCHILD+14*, INP+18* |
INP(7 | INP+19* |
INP(8 | INP+20* |
INP(9 | INP+22* |
>> INTRA | AIL+18* |
INTV | INP+2~, INP+11*, INP+33, ARSET+6* |
>> IX | SENDERR+6* |
LEN | SENDERR+5*, ACK+2~ |
MSG | PARSEMSG+5~ |
MSGARY | MSH~, SCH~, SCHNTE~, PID~, PV1~, AIS~, AIL~, AIP~, AIPNTE~ |
MSGARY("DUZ" | SCH+21*, SCH+22*, CHKCHILD+9 |
MSGARY("EVENT" | SCH+4*, SCH+6, SCHNTE+3 |
MSGARY("FACILITYIEN" | RGS+2* |
MSGARY("HL7EVENT" | MSH+1* |
MSGARY("HLTHISSITE" | MSH+2* |
MSGARY("MPI" | PID+2*, PID+3 |
MSGARY("PROVIEN" | AIP+2*, INP+4, INP+23 |
MSGROOT | VALIDMSG~, PARSEMSG~, PARSEMSG+6, PARSEMSG+8, PARSEMSG+9, LOADMSG~, LOADMSG+6, LOADMSG+9, LOADMSG+10, SENDERR+1 , SENDERR+5, SENDERR+6, SENDERR+9, DUZ+3, ACK+1 |
MSH | MSH~, VALIDMSG+16~ |
MSH(5 | MSH+2 |
MSH(8 | MSH+1 |
MSH(9 | MSH+3 |
MTC | CHKCHILD+1~, CHKCHILD+6*, CHKCHILD+7, CHKCHILD+12, CHKCHILD+13 |
>> MYRESULT | SENDERR+8, ACK+8 |
NODE3 | INP+2~, INP+11* |
>> NOW | INP+14* |
NUMAPT | INP+2~, ARSET+6* |
OBX | OBX~ |
ORDATE | INP+2~ |
>> PCE | INP+7*, INP+8, INP+29*, INP+30 |
PID | PID~ |
PID(3 | PID+2 |
PSTA | GETSTA+1~*, GETSTA+2 |
PV1 | PV1~ |
QNAME | VALIDMSG+16~ |
QPD | VALIDMSG+16~ |
QRY | VALIDMSG~, VALIDMSG+18! |
QTAG | VALIDMSG+16~ |
RDF | VALIDMSG+16~ |
REP | PARSESEG+17~, PARSESEG+37*, PARSESEG+38, PARSESEG+43, PARSESEG+44, PARSESEG+45 |
REPVAL | PARSESEG+18~, PARSESEG+38*, PARSESEG+39, PARSESEG+40, PARSESEG+45 |
REQID | VALIDMSG+16~ |
REQTYPE | VALIDMSG+16~ |
RESP0 | LOADXMT+11~ |
RESPIEN | LOADXMT+11~ |
RET | CHKAPT~, CHKAPT+6*, CHKAPT+10*, CHKAPT+11, RESLKUP+3!, RESLKUP+4*, RESLKUP+5*, RESLKUP+6*, RESLKUP+9*, RESLKUP+10 |
RET1 | RESLKUP+3!, RESLKUP+10*, RESLKUP+11 |
RGS | RGS~, RGS+1 |
RGS( | RGS+1* |
RGS(1 | RGS+2 |
RS | PARSESEG+23~, PARSESEG+29*, PARSESEG+37, PARSESEG+38, PARSESEG+45 |
RTCCLIN | CHKCHILD+2!, CHKCHILD+8*, CHKCHILD+10 |
>> RTCID | SCH+25*, SCH+26* |
>> RTN | CHKCHILD+14*, CHKCHILD+16, CHKCHILD+17 |
SC0 | APPTYPE+2~, APPTYPE+3* |
SCH | SCH~ |
SCH(11 | SCH+14, SCH+15, INP+25 |
SCH(13 | SCH+20, SCH+21 |
SCH(16 | SCH+19 |
SCH(23 | CHKCHILD+5 |
SCH(24 | SCH+25, CHKCHILD+4, INP+6 |
SCH(5 | SCH+16, INP+24 |
SCH(6 | SCH+3, SCH+4, SCH+5, SCH+10, SCH+23 |
SCH(7 | SCH+25, SCH+26 |
SCH(9 | SCH+12 |
SCHEMAIL | SCH+20~, SCH+21* |
SCHNTE | SCHNTE~ |
SCHNTE(3 | SCHNTE+2, SCHNTE+3 |
>> SCPERC | INP+38*, INP+39*, INP+40 |
SCS | APPTYPE+2~, APPTYPE+3*, APPTYPE+4 |
SCSPTR | APPTYPE+2~, APPTYPE+3* |
SCXX | INP+36~*, INP+37 |
>> SDAPTYP | SCH+2*, SCH+27*, SCH+30*, SCH+31*, AIL+16*, AIL+17*, AIL+19*, AIL+20*, CHKCHILD+3, INP+12 , INP+21 |
SDCHILD | SCH+25*, SCH+26*, SCH+27, SCH+28, INP+2~, INP+43 |
SDCL | AIL+6*, AIL+8, AIL+11, CHKCHILD+8, CHKCHILD+10, INP+18, GETAPT~, GETAPT+4, GETAPT+5, GETAPT+6 , GETAPT+7, GETAPT+8, GETAPT+9, GETAPT+10, GETAPT+11 |
>> SDCL2 | AIL+7*, AIL+8 |
>> SDCL3 | AIL+8* |
>> SDDDT | SCH+15*, SCH+16*, AIL+15*, INP+24*, INP+25*, INP+26*, INP+27 |
>> SDECATID | SCH+3* |
>> SDECCR | SCH+5*, SCH+7, SCH+8*, SCH+9* |
SDECI | STRIP+1~, STRIP+2* |
>> SDECLEN | SCH+12* |
>> SDECNOT | SCHNTE+3* |
>> SDECNOTE | SCHNTE+2*, INP+28 |
SDECSTART | SCH+17*, INP+26, GETAPT~, GETAPT+6, GETAPT+7, GETAPT+8, GETAPT+9, GETAPT+10, GETAPT+11 |
>> SDECTYP | SCH+10* |
SDECZ | STRIP~, STRIP+2*, STRIP+3 |
>> SDMRTC | CHKCHILD+6*, INP+9, INP+32 |
>> SDMTC | SCH+28*, SCH+29* |
SDPARENT | SCH+25*, SCH+29, CHKCHILD+4*, CHKCHILD+5*, CHKCHILD+6, CHKCHILD+8, CHKCHILD+11, CHKCHILD+14, CHKCHILD+15, INP+2~ , INP+6*, INP+11, INP+36, INP+43*, INP+44, INP+45, INP+46 |
>> SDREQBY | SCH+19* |
SDTYP | SCH+23~*, SCH+24, SCH+30*, SCH+31* |
SEG | PARSESEG~, PARSESEG+32, PARSESEG+33*, PARSESEG+35, PARSESEG+36, PARSEMSG+5~, PARSEMSG+6*, LOADMSG+5~, LOADMSG+7*, LOADMSG+9 , LOADMSG+10 |
SEG(0 | PARSEMSG+7 |
SEG(1 | PARSEMSG+10 |
SEGTYPE | VALIDMSG+17~ |
SNODE | GETAPT+1~, GETAPT+9* |
SS | PARSESEG+24~, PARSESEG+30*, PARSESEG+41, PARSESEG+42 |
STA | GETSTA~, GETSTA+1*, GETSTA+2 |
STATUS | CHKAPT+1~, CHKAPT+6*, CHKAPT+8, CHKAPT+9*, CHKAPT+10* |
STCREC | AIL+3~, AIL+4*, AIL+11 |
STOP | ARSET+2*, ARSET+3, ARSET+4, RESLKUP+2~, RESLKUP+7*, RESLKUP+8, RESLKUP+9*, GETAPT+1~, GETAPT+2*, GETAPT+12* , GETAPT+13 |
SUB | PARSESEG+19~, PARSESEG+41*, PARSESEG+42, PARSESEG+43 |
SUBPROT | LOADXMT+11~, LOADXMT+27* |
SUBVAL | PARSESEG+20~, PARSESEG+42*, PARSESEG+43 |
TM | SCH+1~, SCH+14*, SCH+17 |
TMM | SCH+1~ |
U | MSH+3, AIL+11, INP+7, INP+29, INP+45, INP+46, APPTYPE+3, GETSTA+1 |
URL | GETAPT~, GETAPT+3, GETAPT+11 |
X | ARSET~, ARSET+3, ARSET+4, ARSET+5, ARSET+6, ERRLKP+1~, ERRLKP+4*, ERRLKP+5, ERRLKP+6, CHKLL~ , CHKLL+5, CHKLL+6*, CHKLL+8 |
X11 | INP+21~*, INP+22 |
X12 | CHKCHILD+11~* |
X13 | CHKCHILD+11~*, CHKCHILD+12 |
XMT | VALIDMSG~, LOADXMT~ |
XMT("DELIM" | LOADXMT+22* |
XMT("EVENT TY | PE" , LOADXMT+21* |
XMT("MAX SIZE | " , LOADXMT+24* |
XMT("MESSAGE | TYPE" , LOADXMT+20* |
XMT("MID" | LOADXMT+17* |
XMT("MODE" | LOADXMT+18*, LOADXMT+19* |
XSDDDT | AIL+13~, AIL+15* |
XSP | ERRLKP+1~, ERRLKP+3*, ERRLKP+4, ERRLKP+7* |
XX | CHKAPT+1~, CHKAPT+7*, CHKAPT+9, CHKAPT+10, RESLKUP+2~, RESLKUP+7*, RESLKUP+9, GETAPT+1~, GETAPT+7*, GETAPT+8 , GETAPT+9, GETAPT+10, GETAPT+11 |
Name | Field # of Occurrence |
---|---|
$T(ERRS+ERTXI | ERRLKP+4 |