XUMVIENU ;MVI/CKN,MKO - Master Veteran Index Enrich New Person ; 1/26/21 3:10pm
Source file <XUMVIENU.m>
| 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 |
|---|---|---|
| UPDATE(XURET,XUARR,XUFLAG) | ;RPC to enrich New Pperson file entry
|
|
| PROC(XURET,XUARR,XUFLAG) | ;Main code for RPC
|
|
| CHKINPUT(XUARR,XUFLAG) | ;Check inputs
|
|
| SETFDA(IEN,XUARR,FDA) | ;Set FDA from XUARR for filing into File #200
|
|
| SUBJDEF(XUARR) | ;Set default Subject Organization and ID
|
|
| TERMDATE(FDA,XURES) | ;Remove Termination Date from FDA if it's in the future,
|
|
| SECKEYS(XUDUZ,OLDTDATE,XURET,XURSET) | ;Add or remove Security Keys PROVIDER and XUORES
|
|
| ADDKEY(XUDUZ,KEYIEN) | ;Add the key
|
|
| PERSCLAS(XUDUZ,XUARR,XURET) | ;Update PERSON CLASS multiple
|
|
| ISPCACTV(XUDUZ,SUBIEN) | ;Is the Person Class active?
|
|
| NEWDEA(XUDUZ,XUARR,XURET) | ;Update DEA NUMBERS File #8991.9
|
|
| NPDEA(XUDUZ,XUARR,XURET) | ;Set the single-valued fields in the New Person file for
; DEA#, Detox #, DEA Expiration Date, and the Schedule fields from the first entry in ; the NEW DEA#'s multiple; Also default Auth to Write Med Orders to 1 if not already set, ; WHO is 200PIEV, and there's a DEA# |
|
| FIRSTDEA(XUDUZ,XUARR,XURET) | ;File the first valid DEA in the XUARR input array
|
|
| FILER(XUMVIFDA,FLAG,XURET) | ;Call the Filer
|
|
| UPDATER(XUMVIFDA,FLAG,XURET,XUMVIIEN) | ;Call the Updater
|
|
| ADDERR(XURET,MSG) | ;Add error MSG to XURET
|
|
| STATEIEN(STATE) | ;Return "`"_IEN if valid abbreviation, VA code, or name
|
|
| GETINT(FILE,FLD,VAL) | ;Get the internal form of the data; returns "^" if not valid
|
|
| BLDERR(INROOT) | ;Build a string containing error messages returned by FileMan
|
|
| MAXLEN(FILE,FLD) | ;Return the maximum length of field FLD in file FILE
|
|
| RECORD(PARAM,FLAG,RPCNAME) | ;Record RPC inputs for debugging
|
|
| RETURN(SEQ,RETURN) | ;Record the return value
|
|
| DBON | ;Set DEBUG on
|
|
| DBOFF | ;Set DEBUG off
|
|
| ISDEBUG() | ;Return 1 if DEBUG mode flag is set
|
|
| PURGE | ;Purge the debugging data stored in ^XTMP
|
|
| SETXTMP0(NODE,DESC,LIFE) | ;Set 0 node of ^XTMP(node)
|
|
| NODE() | ;Return ^XTMP Debug subscript
|
| Name | Field # of Occurrence |
|---|---|
| MSG^DIALOG | BLDERR+2 |
| $$GET1^DID | MAXLEN+2 |
| CHK^DIE | GETINT+3 |
| FILE^DIE | FILER+6 |
| UPDATE^DIE | UPDATER+3 |
| ^DIK | SECKEYS+15 |
| $$ROOT^DILFD | FILER+3 |
| $$VFIELD^DILFD | PROC+72 |
| $$VFILE^DILFD | PROC+72 |
| $$FMNAME^HLFNC | PROC+47 |
| $$FMADD^XLFDT | SETXTMP0+6 |
| $$NOW^XLFDT | RECORD+5 |
| $$PATCH^XPDUTL | PROC+72 |
| CPRSNVA^XUMVIEU1 | PROC+63 |
| SETFDA^XUMVIEU1 | SETFDA+2 |
| $$ADDUSER^XUMVINPA | PROC+13 |
| $$CHKDGT^XUSNPI | CHKINPUT+4 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| RPC Name | Call Tags |
|---|---|
| XUS MVI ENRICH NEW PERSON | UPDATE |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DIC(19.1 - [#19.1] | SECKEYS+9 |
| ^DIC(5 - [#5] | STATEIEN+3, STATEIEN+4 |
| ^ORD(101.13 - [#101.13] | PROC+36 |
| ^USC(8932.1 - [#8932.1] | PERSCLAS+7, PERSCLAS+8 |
| ^VA(200 - [#200] | PROC+22, PROC+31, PROC+37, PROC+38, PROC+57, TERMDATE+9, SECKEYS+5, SECKEYS+13, ADDKEY+4, PERSCLAS+9 , PERSCLAS+18, ISPCACTV+2, NEWDEA+50, NPDEA+5, NPDEA+6 |
| ^XTMP( | RECORD+8, RECORD+10, RECORD+11*, RECORD+12*, RECORD+13*, RECORD+14*, RECORD+15*, RECORD+16, RETURN+2*, DBON+4* , DBON+5, DBOFF+3!, DBOFF+4!, DBOFF+5, ISDEBUG+1, PURGE+3!, PURGE+4, SETXTMP0+3, SETXTMP0+6* |
| ^XTV(8991.9 - [#8991.9] | NEWDEA+20, NPDEA+10 |
| Name | Line Occurrences |
|---|---|
| $$BLDERR | FILER+8, UPDATER+4 |
| $$CHKINPUT | PROC+5 |
| $$GETINT | TERMDATE+7, FIRSTDEA+7 |
| $$ISDEBUG | RECORD+3, RETURN+1, PURGE+2 |
| $$ISPCACTV | PERSCLAS+20 |
| $$MAXLEN | NEWDEA+8, NEWDEA+9, NEWDEA+10, NEWDEA+11 |
| $$NODE | RECORD+6, RETURN+2, DBON+2, DBOFF+2, ISDEBUG+1, PURGE+3, PURGE+4, SETXTMP0+2 |
| $$RECORD | UPDATE+2 |
| $$STATEIEN | NEWDEA+36 |
| $$UPDATER | PERSCLAS+14, NEWDEA+26, NEWDEA+54 |
| ADDERR | TERMDATE+10, TERMDATE+15, FILER+4, FILER+5, FILER+8, UPDATER+4 |
| ADDKEY | SECKEYS+16, SECKEYS+17 |
| DBON | PURGE+5 |
| FILER | PROC+48, PROC+60, PERSCLAS+24, NEWDEA+47, NEWDEA+59, NPDEA+21, FIRSTDEA+23 |
| FIRSTDEA | PROC+79 |
| NEWDEA | PROC+74 |
| NPDEA | PROC+76 |
| PERSCLAS | PROC+69 |
| PROC | UPDATE+3 |
| RETURN | UPDATE+4 |
| SECKEYS | PROC+66 |
| SETFDA | PROC+51 |
| SETXTMP0 | RECORD+9, DBON+3 |
| SUBJDEF | PROC+12 |
| TERMDATE | PROC+54 |
| UPDATER | ADDKEY+7 |
| Name | Field # of Occurrence |
|---|---|
| ^(0 | SETXTMP0+3 |
| ^(2 | NPDEA+10 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ADDR | NEWDEA+3~, NEWDEA+7*, NEWDEA+8, NEWDEA+9, NEWDEA+10, NEWDEA+11, NEWDEA+12, NEWDEA+13 |
| CITY | NEWDEA+3~, NEWDEA+11*, NEWDEA+35 |
| CNT | PERSCLAS+1~, PERSCLAS+2*, PERSCLAS+3, PERSCLAS+19, PERSCLAS+22, NEWDEA+2~, NEWDEA+15*, NEWDEA+16, NEWDEA+38, NEWDEA+39 , NEWDEA+40, NEWDEA+41, NEWDEA+42, NEWDEA+43, NEWDEA+44, NEWDEA+45, FIRSTDEA+2~, FIRSTDEA+5*, FIRSTDEA+6, FIRSTDEA+8 |
| CREATEDT | SETXTMP0+1~, SETXTMP0+3*, SETXTMP0+6 |
| CURVAL | PERSCLAS+1~, PERSCLAS+18* |
| D0 | PERSCLAS+1~, PERSCLAS+23* |
| DA | SECKEYS+12~, SECKEYS+13* |
| DA(1 | SECKEYS+14* |
| DEA | NEWDEA+2~, NEWDEA+16*, NEWDEA+17, NEWDEA+20, NEWDEA+24, NEWDEA+50, NEWDEA+53, FIRSTDEA+2~, FIRSTDEA+6*, FIRSTDEA+7* , FIRSTDEA+8, FIRSTDEA+13 |
| DEAIEN | NPDEA+4~, NPDEA+5*, NPDEA+6 |
| DESC | SETXTMP0~, SETXTMP0+5*, SETXTMP0+6 |
| DIERR | NEWDEA+2~, FILER+1~, FILER+8, UPDATER+2~, UPDATER+4, GETINT+1~ |
| DIHELP | NEWDEA+2~, FILER+1~, UPDATER+2~, GETINT+1~ |
| DIK | SECKEYS+12~, SECKEYS+14* |
| DIMSG | NEWDEA+2~, FILER+1~, UPDATER+2~, GETINT+1~ |
| DT | TERMDATE+14, ISPCACTV+4, SETXTMP0+3, SETXTMP0+6 |
| DUZ | NEWDEA+46, RECORD+14 |
| EFFDT | ISPCACTV+1~, ISPCACTV+3*, ISPCACTV+4 |
| ERRSTR | BLDERR+1~, BLDERR+3*, BLDERR+4*, BLDERR+5 |
| EXPDT | ISPCACTV+1~, ISPCACTV+3*, ISPCACTV+4 |
| FDA | PROC+1~, PROC+48, PROC+51, PROC+54, PROC+60, SETFDA~, SETFDA+2, TERMDATE~, ADDKEY+3~, ADDKEY+7 , PERSCLAS+1~, PERSCLAS+14, PERSCLAS+24, NEWDEA+2~, NEWDEA+22!, NEWDEA+26, NEWDEA+29!, NEWDEA+46, NEWDEA+47, NEWDEA+52! , NEWDEA+54, NEWDEA+57!, NEWDEA+59, NPDEA+4~, NPDEA+21, FIRSTDEA+2~, FIRSTDEA+23 |
| FDA( | ADDKEY+6*, PERSCLAS+13*, PERSCLAS+20*, PERSCLAS+21*, PERSCLAS+22*, NEWDEA+24*, NEWDEA+25*, NEWDEA+32*, NEWDEA+33*, NEWDEA+34* , NEWDEA+35*, NEWDEA+36*, NEWDEA+37*, NEWDEA+38*, NEWDEA+39*, NEWDEA+40*, NEWDEA+41*, NEWDEA+42*, NEWDEA+43*, NEWDEA+44* , NEWDEA+45*, NEWDEA+46*, NEWDEA+53*, NEWDEA+58* |
| FDA(200 | PROC+48*, TERMDATE+3, TERMDATE+4, TERMDATE+7, TERMDATE+11!, TERMDATE+15, TERMDATE+16!, NPDEA+11*, NPDEA+12*, NPDEA+13* , NPDEA+14*, NPDEA+15*, NPDEA+16*, NPDEA+17*, NPDEA+18*, NPDEA+19*, NPDEA+20*, FIRSTDEA+13*, FIRSTDEA+14*, FIRSTDEA+15* , FIRSTDEA+16*, FIRSTDEA+17*, FIRSTDEA+18*, FIRSTDEA+19*, FIRSTDEA+20*, FIRSTDEA+21*, FIRSTDEA+22* |
| FILE | FILER+1~, FILER+3*, FILER+4, GETINT~, GETINT+3, MAXLEN~, MAXLEN+2 |
| FIRST | FIRSTDEA+2~, FIRSTDEA+5*, FIRSTDEA+8*, FIRSTDEA+9, FIRSTDEA+14, FIRSTDEA+15, FIRSTDEA+16, FIRSTDEA+17, FIRSTDEA+18, FIRSTDEA+19 , FIRSTDEA+20, FIRSTDEA+21 |
| FLAG | FILER~, FILER+6, UPDATER~, UPDATER+3, RECORD~, RECORD+12 |
| FLD | GETINT~, GETINT+3, MAXLEN~, MAXLEN+2 |
| I | BLDERR+1~, BLDERR+4* |
| IEN | SETFDA~, SETFDA+2, ADDKEY+3~, ADDKEY+7, PERSCLAS+1~, PERSCLAS+9*, PERSCLAS+12, PERSCLAS+14*, PERSCLAS+17, PERSCLAS+18 , PERSCLAS+20, NEWDEA+2~, NEWDEA+50*, NEWDEA+51, NEWDEA+54*, NEWDEA+58, STATEIEN+1~, STATEIEN+3*, STATEIEN+4*, STATEIEN+5 |
| IEN(1 | ADDKEY+6* |
| IENS | TERMDATE+2~, TERMDATE+3*, TERMDATE+4, TERMDATE+7, TERMDATE+9, TERMDATE+11, TERMDATE+15, TERMDATE+16, ADDKEY+3~, ADDKEY+5* , ADDKEY+6, PERSCLAS+1~, PERSCLAS+17*, PERSCLAS+20, PERSCLAS+21, PERSCLAS+22, NEWDEA+2~, NEWDEA+23*, NEWDEA+24, NEWDEA+25 , NEWDEA+30*, NEWDEA+32, NEWDEA+33, NEWDEA+34, NEWDEA+35, NEWDEA+36, NEWDEA+37, NEWDEA+38, NEWDEA+39, NEWDEA+40 , NEWDEA+41, NEWDEA+42, NEWDEA+43, NEWDEA+44, NEWDEA+45, NEWDEA+46, NPDEA+4~, NPDEA+9*, NPDEA+11, NPDEA+12 , NPDEA+13, NPDEA+14, NPDEA+15, NPDEA+16, NPDEA+17, NPDEA+18, NPDEA+19, NPDEA+20, FIRSTDEA+2~, FIRSTDEA+12* , FIRSTDEA+13, FIRSTDEA+14, FIRSTDEA+15, FIRSTDEA+16, FIRSTDEA+17, FIRSTDEA+18, FIRSTDEA+19, FIRSTDEA+20, FIRSTDEA+21, FIRSTDEA+22 , FILER+1~, FILER+3*, FILER+4 |
| INROOT | BLDERR~, BLDERR+2 |
| ISDEBUG | PURGE+1~, PURGE+2*, PURGE+5 |
| KEY | SECKEYS+3~, SECKEYS+8*, SECKEYS+9 |
| KEYIEN | SECKEYS+3~, SECKEYS+9*, SECKEYS+13, SECKEYS+16, SECKEYS+17, ADDKEY~, ADDKEY+4, ADDKEY+6 |
| LIFE | SETXTMP0~, SETXTMP0+4*, SETXTMP0+6 |
| MAX | MAXLEN+1~, MAXLEN+2*, MAXLEN+3 |
| MSG | ADDERR~, ADDERR+1, ADDERR+2 |
| NAME | PROC+45~, PROC+46*, PROC+47*, PROC+48 |
| ND | ISPCACTV+1~, ISPCACTV+2*, ISPCACTV+3 |
| ND0 | NPDEA+4~, NPDEA+10*, NPDEA+11, NPDEA+12, NPDEA+13 |
| ND2 | NPDEA+4~, NPDEA+10*, NPDEA+14, NPDEA+15, NPDEA+16, NPDEA+17, NPDEA+18, NPDEA+19 |
| NDEAIEN | NEWDEA+2~, NEWDEA+20*, NEWDEA+21, NEWDEA+26*, NEWDEA+30, NEWDEA+58, NPDEA+4~, NPDEA+6*, NPDEA+10 |
| NEWTDATE | SECKEYS+3~, SECKEYS+5*, SECKEYS+6, SECKEYS+10, SECKEYS+16 |
| NEWVAL | PERSCLAS+1~, PERSCLAS+19*, PERSCLAS+20, PERSCLAS+21 |
| NODE | RECORD+2~, RECORD+6*, RECORD+8, RECORD+9, RECORD+10, RECORD+11, RECORD+12, RECORD+13, RECORD+14, RECORD+15 , RECORD+16, DBON+1~, DBON+2*, DBON+4, DBON+5, DBOFF+1~, DBOFF+2*, DBOFF+3, DBOFF+4, DBOFF+5 , SETXTMP0~, SETXTMP0+2*, SETXTMP0+3, SETXTMP0+6 |
| NOW | RECORD+2~, RECORD+5*, RECORD+13 |
| OLDTDATE | PROC+1~, PROC+57*, PROC+63, PROC+66, SECKEYS~, SECKEYS+4*, SECKEYS+6, SECKEYS+10, SECKEYS+16 |
| ORDIEN | PROC+36~*, PROC+39 |
| PARAM | RECORD~, RECORD+11 |
| PCIEN | PERSCLAS+1~, PERSCLAS+6*, PERSCLAS+7*, PERSCLAS+8*, PERSCLAS+9, PERSCLAS+13 |
| QCPFLG | PROC+34~*, PROC+38, PROC+39*, PROC+40 |
| RETURN | RETURN~, RETURN+2 |
| ROOT | FILER+1~, FILER+3*, FILER+4, FILER+5, FILER+7 |
| RPCNAME | RECORD~, RECORD+4*, RECORD+15 |
| SEQ | RECORD+2~, RECORD+10*, RECORD+11, RECORD+12, RECORD+13, RECORD+14, RECORD+15, RECORD+17, RETURN~, RETURN+1 , RETURN+2 |
| STATE | NEWDEA+3~, NEWDEA+12*, NEWDEA+36, STATEIEN~, STATEIEN+2, STATEIEN+3, STATEIEN+4, STATEIEN+5 |
| STR1 | NEWDEA+3~, NEWDEA+8*, NEWDEA+32 |
| STR2 | NEWDEA+3~, NEWDEA+9*, NEWDEA+33 |
| STR3 | NEWDEA+3~, NEWDEA+10*, NEWDEA+34 |
| SUBIEN | ISPCACTV~, ISPCACTV+2 |
| TABIEN | PROC+34~, PROC+38*, PROC+39 |
| TDATE | TERMDATE+2~, TERMDATE+7*, TERMDATE+14 |
| TODAY | RECORD+2~, RECORD+5* |
| U | PROC+16, PROC+57, PROC+82, CHKINPUT+8, TERMDATE+7, TERMDATE+9, SECKEYS+5, PERSCLAS+18, ISPCACTV+3, NPDEA+6 , NPDEA+10, NPDEA+11, NPDEA+12, NPDEA+13, NPDEA+14, NPDEA+15, NPDEA+16, NPDEA+17, NPDEA+18, NPDEA+19 , FIRSTDEA+8, SETXTMP0+3, SETXTMP0+6 |
| VACODE | PERSCLAS+1~, PERSCLAS+7* |
| VAL | GETINT~, GETINT+2, GETINT+3 |
| X12CODE | PERSCLAS+1~, PERSCLAS+3*, PERSCLAS+7, PERSCLAS+8 |
| XUARR | UPDATE~, UPDATE+2, UPDATE+3, PROC~, PROC+5, PROC+12, PROC+13, PROC+51, PROC+63, PROC+69 , PROC+74, PROC+76, PROC+79, CHKINPUT~, CHKINPUT+2, SETFDA~, SETFDA+2, SUBJDEF~, PERSCLAS~, NEWDEA~ , NPDEA~, FIRSTDEA~ |
| XUARR("ADDRES | S DATA" , NEWDEA+6, NEWDEA+7, NEWDEA+31 |
| XUARR("AuthWriteMedOrders" | NPDEA+20, FIRSTDEA+22 |
| XUARR("DEA" | NEWDEA+15, NEWDEA+16, NEWDEA+38, NEWDEA+39, NEWDEA+40, NEWDEA+41, NEWDEA+42, NEWDEA+43, NEWDEA+44, NEWDEA+45 , FIRSTDEA+5, FIRSTDEA+6, FIRSTDEA+14, FIRSTDEA+15, FIRSTDEA+16, FIRSTDEA+17, FIRSTDEA+18, FIRSTDEA+19, FIRSTDEA+20, FIRSTDEA+21 |
| XUARR("NAME" | PROC+44, PROC+46, PROC+47 |
| XUARR("NPI" | PROC+22, PROC+23, CHKINPUT+3, CHKINPUT+4 |
| XUARR("PersonClass" | PERSCLAS+2, PERSCLAS+3, PERSCLAS+19, PERSCLAS+22 |
| XUARR("SubjectOrgan" | PROC+12, SUBJDEF+1* |
| XUARR("SubjectOrganID" | PROC+12, SUBJDEF+2* |
| XUARR("WHO" | PROC+31, PROC+35, PROC+63, CHKINPUT+5, NPDEA+20, FIRSTDEA+22 |
| XUDBSEQ | UPDATE+1~, UPDATE+2*, UPDATE+4 |
| XUDUZ | PROC+1~, PROC+13*, PROC+14, PROC+15, PROC+16*, PROC+17, PROC+22*, PROC+23, PROC+31, PROC+37 , PROC+38, PROC+48, PROC+51, PROC+57, PROC+63, PROC+66, PROC+69, PROC+74, PROC+76, PROC+79 , PROC+82, SECKEYS~, SECKEYS+4*, SECKEYS+5, SECKEYS+13, SECKEYS+14, SECKEYS+16, SECKEYS+17, ADDKEY~, ADDKEY+4 , ADDKEY+5, PERSCLAS~, PERSCLAS+9, PERSCLAS+13, PERSCLAS+17, PERSCLAS+18, PERSCLAS+20, PERSCLAS+23, ISPCACTV~, ISPCACTV+2 , NEWDEA~, NEWDEA+50, NEWDEA+53, NEWDEA+58, NPDEA~, NPDEA+5, NPDEA+6, NPDEA+9, FIRSTDEA~, FIRSTDEA+12 |
| XUERMSGS | BLDERR+1~, BLDERR+2 |
| XUERMSGS( | BLDERR+4 |
| XUERR | NEWDEA+2~ |
| XUFLAG | UPDATE~, UPDATE+2, UPDATE+3, PROC~, PROC+5, PROC+10, PROC+14*, PROC+26, PROC+31, PROC+35 , PROC+44, CHKINPUT~, CHKINPUT+7*, CHKINPUT+8 |
| XUMSG | GETINT+1~ |
| XUMVIERR | FILER+1~, UPDATER+2~ |
| XUMVIFDA | FILER~, FILER+2, UPDATER~ |
| XUMVIFDA( | FILER+3 |
| XUMVIFDA(0 | FILER+3 |
| XUMVIIEN | UPDATER~ |
| XUMVIIEN(1 | UPDATER+5 |
| XURES | PROC+54, TERMDATE~, GETINT+1~, GETINT+3, GETINT+4 |
| XURET | UPDATE~, UPDATE+3, UPDATE+4, PROC~, PROC+2!, PROC+5*, PROC+6, PROC+9*, PROC+15*, PROC+17* , PROC+23*, PROC+26, PROC+31*, PROC+40*, PROC+48, PROC+60, PROC+66, PROC+69, PROC+74, PROC+76 , PROC+79, PROC+82*, TERMDATE+10, TERMDATE+15, SECKEYS~, ADDKEY+7, PERSCLAS~, PERSCLAS+14, PERSCLAS+24, NEWDEA~ , NEWDEA+26, NEWDEA+47, NEWDEA+54, NEWDEA+59, NPDEA~, NPDEA+21, FIRSTDEA~, FIRSTDEA+23, FILER~, FILER+4 , FILER+5, FILER+8, UPDATER~, UPDATER+4, ADDERR~, ADDERR+2* |
| XURSET | PROC+1~, PROC+2*, PROC+14*, PROC+66, SECKEYS~, SECKEYS+6, SECKEYS+17 |
| ZIP | NEWDEA+3~, NEWDEA+13*, NEWDEA+37 |