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 |