BADEHL3 ;IHS/MSC/MGH/VAC - Dentrix HL7 inbound interface ;01-Oct-2010
Source file <BADEHL3.m>
| Package | Total | Call Graph | 
|---|---|---|
| Electronic Dental Record | 3 | $$IMP^BADEHL3 ($$GETTOS,DEL,UPD)^BADEHL4 ($$DUSER,$$HASPOV,$$HRCNF,$$MRGTODFN,GETPOV)^BADEUTIL | 
| Health Level Seven | 3 | ($$FMDATE,$$HLDATE)^HLFNC $$ACK^HLOAPI2 ($$GET,$$NEXTSEG,$$STARTMSG)^HLOPRS | 
| VA Fileman | 3 | DD^%DT $$FIND1^DIC $$GET1^DIQ | 
| Kernel | 2 | $$DT^XLFDT SETUP^XQALERT | 
| IHS Changes To Scheduling | 1 | GETVISIT^BSDAPI4 | 
| MSC RPC Broker | 1 | BRDCAST^CIANBEVT | 
| Patient Care Component | 1 | EN^APCDALVR | 
| Toolkit | 1 | $$GET^XPAR | 
| Package | Total | Caller Graph | 
|---|---|---|
| Electronic Dental Record | 3 | BADECTRL BADEHL3 BADEHL4 | 
| Ensemble Suite | 1 | BEEICTRL | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| PV1 | ;Get the PV1 segment and get enough data to create the visit | |
| FT1 | ;Get the FT1 segment | |
| FNDVST(CRIT) | ;EP | |
| PRV(PRIMARY) | ;Store the provider patch 1 added parameter | |
| OPT(IEN) | ;Check to see if the option n the visit matches the dental option | |
| POV | ;Store the POV | |
| VISIT | ;Create the visit | |
| NOTIF(MSGIEN,MSG) | ;Send a alert to a mail group | |
| PID | ;Get the PID segment and find the correct patient | |
| DENT | ;Store the procedure | |
| CHECKPRV | ;Check to see if the provider in the message is already on this visit | |
| ACK(HLMSGIEN,DFN,BADERR) | ;Send acknowledgement IHS/MSC/AMF 11/23/10 More descriptive alert | |
| GETOPT() | ; EP  IHS/MSC/MGH patch 1 | |
| PARSE(DATA,MIEN,HLMSTATE) | ;EP | |
| NEW | ;Create a new dental procedure | |
| PROC | ;EP | |
| IMP(D) | ;  which coding system should be used | |
| FSEGIEN(SRC,SEG) | ;Segment item | |
| MAKEVST(CRIT) | ;EP | 
| Name | Field # of Occurrence | 
|---|---|
| DD^%DT | FT1+16 | 
| EN^APCDALVR | POV+15, POV+18, PRV+6, PRV+7, DENT+20 | 
| $$IMP^BADEHL3 | POV+9 | 
| $$GETTOS^BADEHL4 | NEW+48 | 
| DEL^BADEHL4 | FT1+26 | 
| UPD^BADEHL4 | FT1+28 | 
| $$DUSER^BADEUTIL | NEW+34 | 
| $$HASPOV^BADEUTIL | POV+15, POV+18 | 
| $$HRCNF^BADEUTIL | PID+11 | 
| $$MRGTODFN^BADEUTIL | PID+15 | 
| GETPOV^BADEUTIL | POV+12 | 
| GETVISIT^BSDAPI4 | FNDVST+3, MAKEVST+4 | 
| BRDCAST^CIANBEVT | FNDVST+9, MAKEVST+9 | 
| $$FIND1^DIC | GETOPT+2 | 
| $$GET1^DIQ | PID+23, PID+25, NEW+10 | 
| $$FMDATE^HLFNC | FT1+12 | 
| $$HLDATE^HLFNC | PID+24 | 
| $$ACK^HLOAPI2 | ACK+11 | 
| $$GET^HLOPRS | PID+4, PID+8, PID+19, PID+20, PID+21, FT1+5, FT1+18, FT1+19, NEW+3, NEW+4 , NEW+12, NEW+15, NEW+16, NEW+36, NEW+38, NEW+43, NEW+44, NEW+45, NEW+46, NEW+47 , NEW+50 | 
| $$NEXTSEG^HLOPRS | PARSE+5 | 
| $$STARTMSG^HLOPRS | PARSE+2 | 
| $$DT^XLFDT | FT1+13 | 
| $$GET^XPAR | FT1+9, NEW+26 | 
| SETUP^XQALERT | NOTIF+6 | 
| FileNo | Call Tags | 
|---|---|
| ^DIC(19 - [#19] | FIND1^DIC | 
| ^DPT - [#2] | GET1^DIQ | 
| ^AUTTADA - [#9999999.31] | GET1^DIQ | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^%ZOSF("TEST" | FNDVST+9, MAKEVST+9 | 
| ^APCCCTRL - [#9001000] | VISIT+4 | 
| ^AUPNVDEN("AXK" | FT1+22 | 
| ^AUPNVPRV - [#9000010.06] | CHECKPRV+6, CHECKPRV+8 | 
| ^AUPNVPRV("AD" | CHECKPRV+5 | 
| ^AUPNVSIT - [#9000010] | OPT+4 | 
| ^AUTTADA("B" | NEW+8 | 
| ^AUTTLOC("C" | NEW+25 | 
| ^DIC(40.7 - [#40.7] | VISIT+5 | 
| ^DPT - [#2] | PID+16, ACK+3 | 
| ^ICDS - [#80.4] | IMP+10, IMP+11 | 
| ^ICDS("F" | IMP+7, IMP+9 | 
| ^SC - [#44] | NEW+23, NEW+27 | 
| ^SC("B" | NEW+22 | 
| ^VA(200 - [#200] | NEW+42 | 
| Name | Line Occurrences | 
|---|---|
| $$FNDVST | VISIT+12 | 
| $$FSEGIEN | PID+1, PV1+2, FT1+1 | 
| $$GETOPT | VISIT+10, OPT+3 | 
| $$MAKEVST | VISIT+14 | 
| $$OPT | FNDVST+11 | 
| ACK | PID+2, PID+5, PID+9, PID+13, PID+16, FT1+2, FT1+6, FT1+13, FT1+20, FT1+33 , NEW+5, NEW+9, NEW+28, NEW+29, NEW+40, NEW+49, VISIT+19, DENT+22 | 
| CHECKPRV | VISIT+26 | 
| DENT | VISIT+24, VISIT+26 | 
| NEW | FT1+32 | 
| NOTIF | ACK+5, ACK+11 | 
| PARSE | PROC+10 | 
| POV | VISIT+24, VISIT+26 | 
| PRV | VISIT+24, CHECKPRV+10 | 
| VISIT | NEW+51 | 
| Name | Field # of Occurrence | 
|---|---|
| ^(0 | VISIT+4 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| ACK | ACK+7~, ACK+11 | 
| APCDAFLG | DENT+22, DENT+23! | 
| APCDALVR | PROC+3~, POV+1~, PRV+1~, DENT+1~ | 
| APCDALVR("APCDACS" | DENT+2* | 
| APCDALVR("APCDANE" | DENT+7* | 
| APCDALVR("APCDATMP" | POV+15*, POV+18*, PRV+6*, PRV+7*, DENT+18*, DENT+19* | 
| APCDALVR("APCDLOC" | DENT+16* | 
| APCDALVR("APCDOVRR" | POV+5*, POV+20! | 
| APCDALVR("APCDPAT" | POV+2*, PRV+3*, DENT+4* | 
| APCDALVR("APCDTCDT" | DENT+11* | 
| APCDALVR("APCDTCLN" | DENT+12* | 
| APCDALVR("APCDTEPR" | DENT+13* | 
| APCDALVR("APCDTEXK" | POV+15*, DENT+17* | 
| APCDALVR("APCDTFEE" | DENT+10* | 
| APCDALVR("APCDTNOU" | DENT+8* | 
| APCDALVR("APCDTNQ" | POV+4* | 
| APCDALVR("APCDTOS" | DENT+15* | 
| APCDALVR("APCDTPOV" | POV+15*, POV+17* | 
| APCDALVR("APCDTPRO" | PRV+4* | 
| APCDALVR("APCDTPRV" | DENT+14* | 
| APCDALVR("APCDTPS" | PRV+5* | 
| APCDALVR("APCDTSC" | DENT+3* | 
| APCDALVR("APCDTSUR" | DENT+9* | 
| APCDALVR("APCDVSIT" | POV+3*, PRV+2*, DENT+5* | 
| APCDALVR("AUPNTALK" | DENT+6* | 
| APCDOVRR | POV+20! | 
| APCDPAT | PROC+4~, PID+17* | 
| APCDTCDT | PROC+4~, FT1+16*, DENT+11 | 
| APCDTEPR | PROC+4~ | 
| APCDTEXK | PROC+4~, FT1+19*, FT1+20, FT1+22, FT1+24, FT1+30, FT1+31, POV+15, DENT+17 | 
| APCDTFEE | PROC+4~, NEW+12*, DENT+10 | 
| APCDTNOU | PROC+4~ | 
| APCDTNOV | PROC+3~, NEW+2* | 
| APCDTOPR | PROC+4~, PROC+8* | 
| APCDTOS | PROC+4~, NEW+48*, NEW+49, DENT+15 | 
| APCDTPNT | PROC+4~, PROC+8* | 
| APCDTPRV | PROC+4~ | 
| APCDTSC | PROC+4~ | 
| APCDTSUR | PROC+4~, NEW+50*, DENT+9 | 
| APCDVSIT | PROC+3~, VISIT+20*, POV+3, POV+15, POV+18, CHECKPRV+5, PRV+2, DENT+5 | 
| APTIME | PROC+2~ | 
| ARY | PROC+2~ | 
| ASUFAC | PROC+5~, PID+7~, PID+10*, NEW+17*, NEW+25, NEW+26, NEW+27 | 
| ASUFAC2 | PROC+5~, NEW+15*, NEW+17 | 
| BADERR | PROC+5~, PROC+7*, FT1+13*, FT1+24*, FT1+30*, FT1+31*, FT1+33, NEW+25*, NEW+26*, NEW+27* , NEW+28, NEW+49*, VISIT+18*, VISIT+19, ACK~, ACK+2, ACK+4*, ACK+5, ACK+8, ACK+9 , ACK+10 | 
| BADEWARN | PROC+5~, NEW+19*, NEW+22*, NEW+23*, NEW+29 | 
| BADIN | PROC+3~, VISIT+12, VISIT+14 | 
| BADIN("APCDOPT" | VISIT+10* | 
| BADIN("CLINIC | CODE" , VISIT+6* | 
| BADIN("HOS LO | C" , VISIT+7* | 
| BADIN("NEVER | ADD" , VISIT+11* | 
| BADIN("PAT" | PID+17*, VISIT+1* | 
| BADIN("PROVIDER" | NEW+41* | 
| BADIN("SITE" | VISIT+8* | 
| BADIN("SRV CA | T" , VISIT+3* | 
| BADIN("TIME R | ANGE" , VISIT+2* | 
| BADIN("USR" | VISIT+9* | 
| BADIN("VISIT | DATE" , FT1+15*, TYPE" , VISIT+4* | 
| CCODE | PROC+5~, VISIT+5*, VISIT+6 | 
| CNT | PARSE+1~, PARSE+4*, PARSE+6*, PARSE+7 | 
| CODE | POV+1~ | 
| CODEIEN | PROC+5~, NEW+8*, NEW+9, NEW+10, DENT+3 | 
| CRIT | FNDVST~, FNDVST+3, MAKEVST~, MAKEVST+4 | 
| CRIT("FORCE A | DD" , MAKEVST+3* | 
| CRIT("NEVER A | DD" , MAKEVST+2! | 
| D | IMP~, IMP+5*, IMP+13 | 
| DATA | PARSE~, PROC+2~, PROC+10, PID+1, PV1+2, FT1+1 | 
| DATA( | PARSE+7*, PID+3, PV1+4, FT1+3 | 
| DATA("HDR" | PARSE+3* | 
| DCODE | PROC+3~ | 
| DCODEQ | PROC+3~ | 
| DESC | PROC+5~, FT1+18*, FT1+24, FT1+26, FT1+28, FT1+30, FT1+31, FT1+32, PRV+6, PRV+7 , DENT+18, DENT+19 | 
| DFN | PROC+2~, PID+4*, PID+5, PID+9, PID+13, PID+15*, PID+16, PID+17, PID+23, PID+25 , FT1+2, FT1+6, FT1+13, FT1+20, FT1+33, NEW+5, NEW+9, NEW+28, NEW+29, NEW+40 , NEW+49, VISIT+1, VISIT+19, ACK~, ACK+3, POV+2, PRV+3, DENT+4, DENT+22, NOTIF+3 , FNDVST+9, MAKEVST+9 | 
| DOB | PROC+5~, PID+23*, PID+24* | 
| DRG | PROC+3~ | 
| DSPNUM | PROC+3~ | 
| DT | IMP+5 | 
| DUSER | NEW+1~, NEW+34*, NEW+35 | 
| DUZ | NEW+35*, VISIT+9 | 
| DUZ(2 | NEW+33*, VISIT+4, VISIT+8 | 
| EFLG | FNDVST+1~, FNDVST+5*, FNDVST+6, FNDVST+11* | 
| ERR | PROC+2~, ACK+7~, ACK+11 | 
| EXKEY | PROC+5~, FT1+22*, FT1+23, FT1+29 | 
| FAC | PID+7~ | 
| >> FVST | VISIT+12*, VISIT+13, VISIT+14*, VISIT+18, VISIT+20 | 
| HFCN | PID+7~ | 
| HFNAME | PROC+5~, PID+20* | 
| HLDOB | PROC+5~, PID+21*, PID+22* | 
| HLMSGIEN | PROC+9, PROC+10, PID+2, PID+5, PID+9, PID+13, PID+16, FT1+2, FT1+6, FT1+13 , FT1+20, FT1+33, NEW+5, NEW+9, NEW+28, NEW+29, NEW+40, NEW+49, VISIT+19, ACK~ , ACK+4, ACK+5, ACK+11, DENT+22 | 
| HLMSTATE | PARSE~, PARSE+2, PARSE+5, PROC+10, ACK+11 | 
| HLMSTATE("HDR" | PARSE+3 | 
| HLNAME | PROC+5~, PID+19* | 
| HOSLOC | PROC+5~, NEW+16*, NEW+17, NEW+20, NEW+22*, NEW+23* | 
| >> HOSLOC2 | NEW+20*, NEW+21, NEW+24 | 
| >> I | POV+9*, POV+11 | 
| IEN | PROC+5~, PID+11*, PID+13, OPT~, OPT+4, FNDVST+1~, FNDVST+5*, FNDVST+6*, FNDVST+7, FNDVST+9 , FNDVST+11 | 
| IMPDT | IMP+6~, IMP+11*, IMP+13 | 
| LNAME | PROC+5~, PID+25* | 
| LOC | PROC+2~, NEW+23*, NEW+25*, NEW+26, NEW+27, NEW+32, NEW+33, NEW+34, DENT+16 | 
| >> LOCA | NEW+27* | 
| LP | FSEGIEN+1~, FSEGIEN+2*, FSEGIEN+3*, FSEGIEN+4 | 
| MATCH | CHECKPRV+2~, CHECKPRV+4*, CHECKPRV+9*, CHECKPRV+10, OPT+1~, OPT+2*, OPT+4*, OPT+5 | 
| MIEN | PARSE~, PARSE+2 | 
| MOD | PROC+5~, NEW+46*, NEW+48, NEW+49 | 
| MSA | VISIT+27~ | 
| MSG | NOTIF~, NOTIF+2 | 
| MSGIEN | NOTIF~, NOTIF+2, NOTIF+4 | 
| MSHMSG | VISIT+27~, ACK+8*, ACK+9* | 
| NAME | PROC+2~, PROC+5~, PID+25* | 
| NOOPSITE | PROC+6~, NEW+10*, NEW+48, NEW+49 | 
| >> NOPOV | POV+13 | 
| NOPV1 | PROC+2~, PV1+1*, PV1+3* | 
| OPT | OPT+1~, OPT+3*, OPT+4 | 
| OUT | PROC+2~, FNDVST+1~, FNDVST+3, MAKEVST+1~, MAKEVST+4 | 
| OUT( | FNDVST+6, FNDVST+7, MAKEVST+7 | 
| OUT(0 | FNDVST+4, FNDVST+13, MAKEVST+5, MAKEVST+6 | 
| PARLOC | PROC+4~, NEW+22*, NEW+23, NEW+26*, NEW+27, VISIT+7 | 
| PARMS | ACK+7~, ACK+11 | 
| PARMS("ACK CO | DE" , ACK+8*, ACK+9*, ACK+10 | 
| PARMS("ERROR | MESSAGE" , ACK+10* | 
| PNAME | PROC+2~, NEW+42*, DENT+13, DENT+14 | 
| POV | PROC+2~, NEW+36*, POV+14*, POV+15, POV+17*, POV+18 | 
| PRIM | CHECKPRV+2~, CHECKPRV+3*, CHECKPRV+8*, CHECKPRV+10 | 
| PRIMARY | PRV~, PRV+5 | 
| PROV | PROC+2~, NEW+38*, NEW+40, NEW+41, NEW+42, CHECKPRV+9, PRV+4 | 
| PROVFN | PROC+2~, NEW+44* | 
| PROVLN | PROC+2~, NEW+43* | 
| PROVMN | PROC+2~, NEW+45* | 
| PRVIEN | CHECKPRV+2~, CHECKPRV+6*, CHECKPRV+9 | 
| PRVNPI | PROC+6~ | 
| PVDIEN | PROC+3~ | 
| RES | FSEGIEN+1~, FSEGIEN+2*, FSEGIEN+3, FSEGIEN+4*, FSEGIEN+5 | 
| RET | PROC+2~, GETOPT+1~, GETOPT+2*, GETOPT+3, FNDVST+1~, FNDVST+2*, FNDVST+11*, FNDVST+13, MAKEVST+1~, MAKEVST+6* , MAKEVST+7, MAKEVST+9, MAKEVST+10 | 
| SCODE | PROC+2~, NEW+6*, NEW+7*, NEW+8 | 
| SEG | PARSE+1~, PARSE+5, PARSE+7, FSEGIEN~, FSEGIEN+4 | 
| SEGFT1 | PROC+2~, FT1+3*, FT1+5, FT1+18, FT1+19, NEW+3, NEW+4, NEW+12, NEW+15, NEW+16 , NEW+36, NEW+38, NEW+43, NEW+44, NEW+45, NEW+46, NEW+47, NEW+50 | 
| SEGIEN | PROC+3~, PID+1*, PID+2, PID+3, PV1+2*, PV1+3, PV1+4, FT1+1*, FT1+2, FT1+3 | 
| SEGPID | PROC+2~, PID+3*, PID+4, PID+8, PID+19, PID+20, PID+21 | 
| SEGPV1 | PROC+2~ | 
| SEGRXD | PROC+3~, PV1+4* | 
| SRC | FSEGIEN~ | 
| SRC( | FSEGIEN+3, FSEGIEN+4 | 
| STR | ACK+1~, ACK+3*, ACK+4 | 
| SURGDES | PROC+3~, NEW+47*, NEW+48, NEW+49 | 
| TCODE | PROC+3~, NEW+4*, NEW+5, NEW+6, NEW+7, NEW+9 | 
| TYPE | PROC+3~, NEW+3* | 
| U | NEW+23, NEW+27, NEW+42, VISIT+4, ACK+3, CHECKPRV+6, CHECKPRV+8, OPT+4, IMP+10, IMP+11 | 
| >> VISDT | FT1+14*, POV+9 | 
| VPRV | CHECKPRV+2~, CHECKPRV+5*, CHECKPRV+6, CHECKPRV+8 | 
| VTIME | PROC+5~, FT1+9*, FT1+10*, FT1+11 | 
| VTYPE | PROC+3~, VISIT+15*, VISIT+17*, VISIT+24, VISIT+26 | 
| X | PROC+5~, PID+8*, PID+9, PID+10, PID+11, FT1+5*, FT1+6, FT1+8, FT1+11*, FT1+12 , FNDVST+8~, FNDVST+9*, MAKEVST+8~, MAKEVST+9*, IMP+6~, IMP+9*, IMP+10, IMP+11 | 
| XQA | NOTIF+1~ | 
| XQA("G.RPMS D | ENTAL" , NOTIF+5* | 
| XQAID | NOTIF+1~, NOTIF+3* | 
| XQAMSG | NOTIF+1~, NOTIF+2* | 
| XQDATA | NOTIF+1~, NOTIF+4* | 
| Y | PROC+5~, FT1+12*, FT1+13, FT1+14, FT1+15, FT1+16, IMP+6~, IMP+8*, IMP+13*, IMP+14* , IMP+15 |