DPTLK ;ALB/RMO,RTK,ARF,JAM - MAS Patient Look-up Main Routine ; 3/22/05 4:19pm
Source file <DPTLK.m>
| Package | Total | Call Graph |
|---|---|---|
| Registration | 15 | $$CVEDT^DGCV ($$FINDCUR,$$GET)^DGENA $$CATEGORY^DGENA4 ($$FINDCUR,$$GET)^DGENEGT $$ABOVE^DGENEGT1 $$EXT^DGENU ^DGSEC $$BADADR^DGUTL3 (,SETDPT)^DPTLK1 ^DPTLK2 ($$VAADV,EP2)^DPTLK3 $$FILE^DPTLK4 ($$BS5,$$DMT,FFP)^DPTLK5 $$SEARCH^DPTLK7 $$TESTPAT^VADPT |
| VA FileMan | 7 | CLRMSG^DDS DO^DIC1 YN^DICN DQ^DICQ $$EXTERNAL^DILFD $$GET1^DIQ ^DIR |
| Kernel | 4 | ENDR^%ZISS $$FMTE^XLFDT $$UP^XLFSTR ($$IEN,$$LKUP)^XUAF4 |
| Master Patient Index VistA | 3 | CARDLOG^MPIFAPI PATIENT^MPIFXMLP CARDPV^MPIFXMLS |
| 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 |
|---|---|---|
| EN | ; -- Entry point
|
|
| EN2 | ||
| ASKPAT | ; -- Prompt for patient
|
|
| CHKPAT | ; -- Custom Patient Lookup
|
|
| CHKPAT1 | ||
| MAG | ; -- No patient found, check for mag stripe input, create stub
|
|
| STOP | ;
|
|
| NOPAT | ; -- No patient found, ask to add new
; DG*5.3*1031;jam; If in Load/Edit or Admit, and not in "Ask" mode (DIC(0)'["A"), then quit. This allows trigger code that does lookups which end up in this routine, to quit (and not call STOP and go back to ASKPAT) ; Otherwise, (per patch DG*5.3*993) do not allow adding a new patient and reprompt for the patient entry. |
|
| CHKDFN | ; --
|
|
| Q | ; --
|
|
| Q1 | ; -- Clean up variables
|
|
| QK | ||
| QK1 | ||
| IX | ; --
|
|
| IATA(X) | ; --
|
|
| TRACK(X,START,END) | ; find track where start/end are sentinels
|
|
| FIELDS(IATA) | ; -- Sets fields
|
|
| BARCODE(X) | ;
|
|
| CACCARD(X) | ;
|
|
| EDIPI(EDIPI) | ; - returns `DFN from EDIPI number
|
|
| CARD(CARD) | ; - returns `DFN from card number
|
|
| VIC40(DGFLDS,DGVIC40,DGCAC) | ; - returns the data used to create the
; patient file entry from mpi |
|
| ENR | ;Display Enrollment information after patient selection
|
|
| CV | ;check for Combat Vet status
|
|
| B32TO10(X) | ; - convert from base 32 to base 10
|
|
| RPCVIC(RETURN,DPTX) | ; - patient lookup from VIC card, rpc/api
; non-interactive ; this function will return a patient's DFN based on input. input must ; be in the form of the FULL input from a VIC card (magstripe or bar ; code), the patient must be locally known (FULL doesn't but can contain ; additional card tracks) ; RETURN input should be passed by reference |
|
| Name | Field # of Occurrence |
|---|---|
| ENDR^%ZISS | ENR+21 |
| CLRMSG^DDS | CHKDFN+6 |
| $$CVEDT^DGCV | ENR+12, CV+2 |
| $$FINDCUR^DGENA | ENR+2, CV+4 |
| $$GET^DGENA | ENR+2, CV+4 |
| $$CATEGORY^DGENA4 | ENR+3 |
| $$FINDCUR^DGENEGT | ENR+14 |
| $$GET^DGENEGT | ENR+15 |
| $$ABOVE^DGENEGT1 | ENR+18 |
| $$EXT^DGENU | ENR+5, ENR+10 |
| ^DGSEC | CHKDFN+18 |
| $$BADADR^DGUTL3 | Q+5 |
| DO^DIC1 | CHKPAT+1 |
| YN^DICN | CHKPAT+17, CHKDFN+14 |
| DQ^DICQ | CHKPAT1+1 |
| $$EXTERNAL^DILFD | ENR+4 |
| $$GET1^DIQ | CHKDFN+3 |
| ^DIR | MAG+10 |
| ^DPTLK1 | CHKPAT1+28 |
| SETDPT^DPTLK1 | CHKPAT1+5, CHKPAT1+10, CHKPAT1+22, CHKPAT1+28 |
| ^DPTLK2 | NOPAT+4 |
| $$VAADV^DPTLK3 | Q+6 |
| EP2^DPTLK3 | MAG+17 |
| $$FILE^DPTLK4 | MAG+22 |
| $$BS5^DPTLK5 | CHKDFN+10 |
| $$DMT^DPTLK5 | Q+19 |
| FFP^DPTLK5 | Q+8 |
| $$SEARCH^DPTLK7 | CHKPAT1+33 |
| CARDLOG^MPIFAPI | IATA+26, BARCODE+16, EDIPI+3 |
| PATIENT^MPIFXMLP | CHKPAT1+32 |
| CARDPV^MPIFXMLS | VIC40+5 |
| $$TESTPAT^VADPT | Q+4 |
| $$FMTE^XLFDT | ENR+7, ENR+23, CV+5 |
| $$UP^XLFSTR | ASKPAT+10, ASKPAT+13, RPCVIC+26 |
| $$IEN^XUAF4 | CHKPAT1+19 |
| $$LKUP^XUAF4 | EDIPI+4, CARD+2 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Function Call: READ |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: READ |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Routine Call |
|
| Routine Call |
|
| RPC Name | Call Tags |
|---|---|
| DG VIC PATIENT LOOKUP | RPCVIC |
| FileNo | Call Tags |
|---|---|
| ^DPT - [#2] | Classic Fileman Calls, GET1^DIQ |
| ^DGEN(27.15 - [#27.15] | EXTERNAL^DILFD |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^%ZOSF("EOFF" | ASKPAT+12 |
| ^%ZOSF("EON" | ASKPAT+12 |
| ^DD("OS" - [#.7] | EN2+1, CHKPAT1+35 |
| ^DD("VERSION" | EN+3, EN+4 |
| ^DD(2 | IX+1 |
| ^DG(40.8 - [#40.8] | Q+21 |
| ^DGCN(391.91 - [#391.91] | CHKPAT1+19, CHKPAT1+21, EDIPI+5, CARD+3 |
| ^DISV( | CHKPAT1+4, Q+2* |
| ^DPT - [#2] | CHKPAT1+9, CHKPAT1+28, CHKPAT1+36, CHKDFN+5, CHKDFN+11, CHKDFN+19, Q+2 |
| ^DPT("AXFFP" | Q+8 |
| ^DPT("SSN" | RPCVIC+28, RPCVIC+32 |
| ^DPT(0 | EN+4, CHKPAT+17 |
| ^TMP("DGVIC" | MAG+9 |
| Name | Line Occurrences |
|---|---|
| $$B32TO10 | BARCODE+14, CACCARD+14 |
| $$BARCODE | ASKPAT+10, RPCVIC+30 |
| $$CACCARD | ASKPAT+13, RPCVIC+31 |
| $$CARD | IATA+27, BARCODE+17 |
| $$EDIPI | CACCARD+15 |
| $$IATA | ASKPAT+9, RPCVIC+29 |
| $$TRACK | IATA+18 |
| @( | MAG+14 |
| ASKPAT | CHKPAT+8, CHKPAT+10, CHKPAT1+15, CHKPAT1+28, NOPAT+3, NOPAT+4, CHKDFN+1, CHKDFN+10, CHKDFN+18 |
| CHKDFN | ASKPAT+15, CHKPAT+6, CHKPAT1+3, CHKPAT1+8, CHKPAT1+13, CHKPAT1+17, CHKPAT1+28 |
| CHKPAT | CHKPAT1+28 |
| CHKPAT1 | CHKPAT+13 |
| CV | Q+13 |
| DPTLK | IX+2 |
| EN2 | MAG+5, MAG+12, MAG+15, MAG+20 |
| ENR | Q+10 |
| NOPAT | MAG+1 |
| Q | QK |
| Q1 | MAG+6, MAG+12, MAG+15, MAG+20, QK1 |
| QK | EN+2, EN+3, EN+4, ASKPAT+1, CHKPAT+8, CHKPAT+10, CHKPAT1+28, CHKDFN+1, CHKDFN+10, CHKDFN+18 |
| QK1 | MAG+23, MAG+24, NOPAT+3, NOPAT+4 |
| STOP | CHKPAT1+15, NOPAT+3 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| % | CHKPAT+14~, CHKPAT+17*, CHKPAT+18, CHKDFN+10, CHKDFN+14*, CHKDFN+15 |
| BARCODE | ASKPAT+7~, ASKPAT+8*, ASKPAT+10*, ASKPAT+12, ASKPAT+13, ASKPAT+15, MAG+1, RPCVIC+23~, RPCVIC+24*, RPCVIC+30* , RPCVIC+31 |
| CARD | IATA+23~, IATA+24*, IATA+26, IATA+27, BARCODE+13~, BARCODE+14*, BARCODE+16, BARCODE+17, CARD~, CARD+3 , CARD+4 |
| CNT | FIELDS+2~, FIELDS+3*, FIELDS+5, FIELDS+6, FIELDS+7* |
| D | CHKPAT+11*, CHKPAT1+34!, Q1+1!, IX+1 |
| >> DDS | CHKDFN+6 |
| >> DDSHBX | CHKDFN+6 |
| >> DDXY | CHKDFN+6 |
| DFN | EDIPI+1~, EDIPI+5*, EDIPI+7, CARD+1~, CARD+3*, CARD+5 |
| DGCAC | ASKPAT+7~, ASKPAT+8*, ASKPAT+13*, ASKPAT+15, MAG+1, VIC40~, VIC40+5 |
| DGCV | CV+1~, CV+2*, CV+3, CV+5 |
| DGEDIPI | CHKPAT1+18~, CHKPAT1+19*, CHKPAT1+20, CHKPAT1+21 |
| DGEGT | ENR+1~, ENR+15* |
| DGEGT("PRIORITY" | ENR+16, ENR+18 |
| DGEGT("SUBGRP" | ENR+18 |
| DGEGTIEN | ENR+1~, ENR+14*, ENR+15 |
| DGENCAT | ENR+1~, ENR+3*, ENR+4*, ENR+6 |
| DGENDFN | ENR+1~ |
| DGENR | ENR+1~, ENR+2, CV+4 |
| DGENR("END" | ENR+7, ENR+23 |
| DGENR("PRIORITY" | ENR+5, ENR+16, ENR+18 |
| DGENR("STATUS" | ENR+9, ENR+10 |
| DGENR("SUBGRP" | ENR+5, ENR+18 |
| DGFLDS | MAG+15, MAG+22, Q1+6!, FIELDS+3*, FIELDS+4, FIELDS+6, FIELDS+9, FIELDS+10, FIELDS+11, VIC40~ , VIC40+3*, VIC40+4, VIC40+6 |
| DGMPI | VIC40+2~, VIC40+5 |
| DGMPI( | VIC40+6 |
| DGNEW | ASKPAT+2! |
| DGOPT | MAG+3~, MAG+4*, MAG+5 |
| DGPREFNM | CHKDFN+2~, CHKDFN+3*, CHKDFN+5 |
| DGSEARCH | EN+1~, ASKPAT+2!, CHKDFN+10 |
| DGVIC40 | ASKPAT+7~, ASKPAT+8*, ASKPAT+12, CHKPAT+6, CHKPAT1+28, MAG+14, MAG+17, MAG+20, MAG+22, EDIPI+6* , CARD+4*, VIC40~, VIC40+5 |
| >> DIC | EN2* |
| >> DIC("A" | ASKPAT+3 |
| >> DIC("B" | ASKPAT+3, ASKPAT+5 |
| >> DIC("W" | CHKPAT+2*, CHKPAT1+34!, Q1+1! |
| >> DIC(0 | EN+2, EN2*, ASKPAT+1, CHKPAT+8, CHKPAT+10, CHKPAT1+17, CHKPAT1+28, STOP+1, NOPAT+3, NOPAT+4 , CHKDFN+1, CHKDFN+5, CHKDFN+10, CHKDFN+18, Q+2, Q+4, Q+5, Q+6, Q+10, Q+13 , Q+19 |
| >> DICR | Q1+2 |
| DIE | EN+1~ |
| DIR | MAG+11! |
| DIR("A" | MAG+8* |
| DIR("B" | MAG+8* |
| DIR(0 | MAG+8* |
| >> DIVP | CHKDFN+5 |
| DO | EN2!, CHKPAT1+34!, Q1+1! |
| DPTBTDT | CHKDFN+18*, Q1+2! |
| DPTCNT | CHKPAT+4*, CHKPAT1+34!, Q1+1! |
| DPTDFN | EN+2!, CHKPAT1+6*, CHKPAT1+11*, CHKPAT1+17, CHKPAT1+23*, CHKPAT1+28*, CHKPAT1+32, CHKPAT1+33*, CHKPAT1+34*, CHKPAT1+36 , MAG+20, NOPAT+4, CHKDFN+1*, CHKDFN+3, CHKDFN+5, CHKDFN+10, CHKDFN+11, CHKDFN+15*, CHKDFN+18*, CHKDFN+19* , Q+1, ENR+2, ENR+3, ENR+12, ENR+18, CV+2, CV+4 |
| DPTDIV | Q+17~, Q+19*, Q+21 |
| >> DPTIDS( | FIELDS+10*, FIELDS+11* |
| DPTIFNS | CHKPAT+3!, Q1+1! |
| DPTIX | Q1+1!, IX+1* |
| DPTLSNME | CHKDFN+11~*, CHKDFN+12 |
| >> DPTNOFZK | QK, QK1 |
| DPTNOFZY | QK!, QK1! |
| DPTS | CHKPAT+3!, CHKPAT1+34!, Q1+1! |
| DPTS( | CHKPAT1+6, CHKPAT1+11, CHKPAT1+23, CHKPAT1+28, CHKPAT1+36*, CHKDFN+1, CHKDFN+5, CHKDFN+19, Q+1 |
| DPTSAVX | EN+2!, EN2*, Q+1, Q1+3! |
| DPTSEL | CHKPAT+3!, CHKPAT1+34!, CHKDFN+5, Q1+3! |
| DPTSSN | CHKDFN+11~*, CHKDFN+13 |
| DPTSZ | EN2+1*, CHKPAT1+34!, CHKPAT1+35*, Q1+3! |
| DPTX | EN+2!, EN2*, ASKPAT+1, ASKPAT+5*, ASKPAT+9*, ASKPAT+10*, ASKPAT+13*, ASKPAT+15, CHKPAT+6, CHKPAT+8 , CHKPAT+10, CHKPAT+12, CHKPAT1, CHKPAT1+3, CHKPAT1+8, CHKPAT1+9, CHKPAT1+13, CHKPAT1+15, CHKPAT1+17, CHKPAT1+19 , CHKPAT1+28, CHKPAT1+33, CHKPAT1+34*, STOP+1, CHKDFN+19*, Q+1, Q1+3!, FIELDS+9*, RPCVIC~, RPCVIC+25 , RPCVIC+26*, RPCVIC+27*, RPCVIC+28, RPCVIC+29*, RPCVIC+30*, RPCVIC+31*, RPCVIC+32 |
| DPTXX | EN+1~, ASKPAT+5*, CHKPAT1+33, CHKPAT1+34* |
| DPTZERO | CHKDFN+11~* |
| DR | EN+1~ |
| DT | ENR+23 |
| DTIME | ASKPAT+4, STOP+3 |
| DTOUT | EN2!, ASKPAT+2!, ASKPAT+5*, CHKPAT1+28, NOPAT+4 |
| DUOUT | EN2!, ASKPAT+2!, ASKPAT+5*, CHKPAT1+28 |
| DUZ | CHKPAT1+4, Q+2 |
| DUZ(2 | Q+18, Q+19 |
| >> DX | CHKDFN+6* |
| >> DY | CHKDFN+6* |
| >> DZ | CHKPAT+12*, CHKPAT+13, CHKPAT+19* |
| EDIPI | CACCARD+13~, CACCARD+14*, CACCARD+15, EDIPI~, EDIPI+3, EDIPI+5, EDIPI+6 |
| END | TRACK~, TRACK+2 |
| FIELD | FIELDS+2~, FIELDS+5*, FIELDS+6 |
| G | Q1+1! |
| GCHK | ASKPAT+7~, MAG+9* |
| I | B32TO10+1~, B32TO10+3* |
| IATA | Q1+5!, IATA+14*, IATA+18*, IATA+20, IATA+27*, IATA+29, FIELDS~, FIELDS+1, FIELDS+5 |
| IORVOFF | ENR+19~, ENR+22, ENR+23, ENR+24 |
| IORVON | ENR+19~, ENR+22, ENR+23, ENR+24 |
| MAG | ASKPAT+7~, ASKPAT+8*, ASKPAT+9*, ASKPAT+10, ASKPAT+13, ASKPAT+15, CHKPAT1+32, MAG+1, RPCVIC+23~, RPCVIC+24* , RPCVIC+29*, RPCVIC+30, RPCVIC+31 |
| RETURN | RPCVIC~, RPCVIC+24*, RPCVIC+28*, RPCVIC+29, RPCVIC+30, RPCVIC+32*, RPCVIC+33* |
| S | B32TO10+1~*, B32TO10+3 |
| START | TRACK~, TRACK+2 |
| U | EN2*, EN2+1, CHKPAT1+35, CHKDFN+5, CHKDFN+11, CHKDFN+19, Q+2, Q+21, CV+3, CV+5 |
| VICFAC | EDIPI+1~, EDIPI+4*, EDIPI+5, CARD+1~, CARD+2*, CARD+3 |
| X | EN+2, EN2, ASKPAT+4*, ASKPAT+5, ASKPAT+9*, ASKPAT+10*, ASKPAT+13*, CHKPAT1*, CHKPAT1+28, STOP+3* , Q+1*, IATA~, IATA+15, IATA+16, IATA+18, IATA+22, IATA+24, TRACK~, TRACK+2, BARCODE~ , BARCODE+14, CACCARD~, CACCARD+14, VIC40+2~, VIC40+6*, ENR+19~, ENR+20*, B32TO10~, B32TO10+2*, B32TO10+3 |
| X(1 | ASKPAT+12* |
| >> XQY0 | CHKPAT1+32, MAG+4, NOPAT+3 |
| Y | CHKPAT1+4*, CHKPAT1+5, CHKPAT1+6, CHKPAT1+9*, CHKPAT1+10, CHKPAT1+11, CHKPAT1+21*, CHKPAT1+22, CHKPAT1+23, CHKPAT1+28* , CHKPAT1+34*, MAG+12, MAG+22*, MAG+23, NOPAT+4*, CHKDFN+5*, CHKDFN+18*, Q+1*, Q+2, Q+4 , Q+5, Q+6, Q+8, Q+10, Q+13, Q+19, B32TO10+1~*, B32TO10+3*, B32TO10+4 |
| Y(0 | Q+2* |
| Name | Field # of Occurrence |
|---|---|
| $T(CARDPV^MPIFXMLS | VIC40+5 |
| $T(PATIENT^MPIFXMLP | CHKPAT1+32 |