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 |