Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Local Variables  | All
Print Page as PDF
Routine: PSOUTOR

Package: Outpatient Pharmacy

Routine: PSOUTOR


Information

PSOUTOR ;HPS/DSK - MEDICATION ORDER STATUS CHECK ;FEB. 10, 2019@16:00

Source Information

Source file <PSOUTOR.m>

Call Graph

Call Graph

Call Graph Total: 7

Package Total Call Graph
Kernel 3 ^%ZTLOAD  ($$FMADD,$$FMDIFF,$$FMTE)^XLFDT  $$SETUP1^XQALERT  
VA FileMan 2 DD^%DT  ^DIR  
Order Entry Results Reporting 1 STATUS^ORCSAVE2  
Outpatient Pharmacy 1 $$MAIL^PSOUTOR1  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 1

Package Total Caller Graph
Outpatient Pharmacy 1 PSO MEDICATION STATUS CHECK  

Entry Points

Name Comments DBIA/ICR reference
EN ;Status Mismatch Search
ASK ;
VER ;
QUIT ;
TASK ;
INIT ;
SEARCH ;
NONVA ;Non-VA medication order evaluation
OP ;Outpatient medication order evaluation
IV ;IV order search
UD ;Inpatient (unit dose) order search
FOUND ;
XTMP(PSOTX,PSOWHICH) ;
ALERT ;
KILL ;

External References

Name Field # of Occurrence
DD^%DT ASK+18, ASK+19, ASK+26, VER+3, VER+5
^%ZTLOAD TASK+10
^DIR ASK+12, ASK+21, ASK+36, ASK+55, VER+10
STATUS^ORCSAVE2 FOUND+9
$$MAIL^PSOUTOR1 SEARCH+54
$$FMADD^XLFDT SEARCH+15
$$FMDIFF^XLFDT ASK+27
$$FMTE^XLFDT XTMP+5, XTMP+6, XTMP+7
$$SETUP1^XQALERT ALERT+6

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !!,"NOTE: Because of the potential for journaling or other system"
  • Line Location: ASK+1
Function Call: WRITE
  • Prompt: !,"issues, you may not want to search large date ranges at one time."
  • Line Location: ASK+2
Function Call: WRITE
  • Prompt: !,"This search routine limits the search to a year's worth of orders,"
  • Line Location: ASK+3
Function Call: WRITE
  • Prompt: !,"but that might still be too large of a date range depending on"
  • Line Location: ASK+4
Function Call: WRITE
  • Prompt: !,"your order volume.",!
  • Line Location: ASK+5
Function Call: WRITE
  • Prompt: !,?5,"The start date cannot be previous to "
  • Line Location: ASK+17
Function Call: WRITE
  • Prompt: $G(Y),!,?5,"since the first CPRS order was entered on ",$G(Y),".",!
  • Line Location: ASK+18
Function Call: WRITE
  • Prompt: ?40,$G(Y)
  • Line Location: ASK+19
Function Call: WRITE
  • Prompt: !,?5,"The start date cannot be greater than the end date.",!
  • Line Location: ASK+25
Function Call: WRITE
  • Prompt: ?40,$G(Y)
  • Line Location: ASK+26
Function Call: WRITE
  • Prompt: !!,"A maximum of a year's worth of orders may be searched due to"
  • Line Location: ASK+28
Function Call: WRITE
  • Prompt: !,"potential journaling or other system issues."
  • Line Location: ASK+29
Function Call: WRITE
  • Prompt: !!,"Search Inpatient, Outpatient, Non-VA, or a combination of order types?"
  • Line Location: ASK+30
Function Call: WRITE
  • Prompt: !,"(IV Medications are included in an Inpatient search.)"
  • Line Location: ASK+31
Function Call: WRITE
  • Prompt: !,"(""Inpatient"" and ""Outpatient"" refer to the order dialog used,"
  • Line Location: ASK+32
Function Call: WRITE
  • Prompt: !," not the patient's status.)"
  • Line Location: ASK+33
Function Call: WRITE
  • Prompt: !!,"INSTRUCTIONS FOR NEXT PROMPT"
  • Line Location: ASK+40
Function Call: WRITE
  • Prompt: !,"============================"
  • Line Location: ASK+41
Function Call: WRITE
  • Prompt: !!," * If a medication is expired or discontinued in the associated"
  • Line Location: ASK+42
Function Call: WRITE
  • Prompt: !," medication file (PRESCRIPTION (#52) file or PHARMACY PATIENT (#55) file)"
  • Line Location: ASK+43
Function Call: WRITE
  • Prompt: !," this routine could correct the ORDERS (#100) file status to expired"
  • Line Location: ASK+44
Function Call: WRITE
  • Prompt: !," or discontinued if the ORDERS (#100) file status is active."
  • Line Location: ASK+45
Function Call: WRITE
  • Prompt: !!," * Initially answer the prompt ""Should the status in the ORDERS (#100) file"
  • Line Location: ASK+46
Function Call: WRITE
  • Prompt: !," be corrected automatically?"" with ""NO"" to let the routine search to see"
  • Line Location: ASK+47
Function Call: WRITE
  • Prompt: !," how many affected orders exist per date range. Then check a few in CPRS"
  • Line Location: ASK+48
Function Call: WRITE
  • Prompt: !," and FileMan."
  • Line Location: ASK+49
Function Call: WRITE
  • Prompt: !!," * After running the search option again and answering the following prompt"
  • Line Location: ASK+50
Function Call: WRITE
  • Prompt: !," with ""Y"", verify that those orders have been corrected."
  • Line Location: ASK+51
Function Call: WRITE
  • Prompt: !!,"Should the status in the ORDERS (#100) file"
  • Line Location: ASK+52
Function Call: WRITE
  • Prompt: !!,"PLEASE VERIFY:",!
  • Line Location: VER+1
Function Call: WRITE
  • Prompt: !,?5,"Date to begin search: "
  • Line Location: VER+2
Function Call: WRITE
  • Prompt: ?34,Y
  • Line Location: VER+3
Function Call: WRITE
  • Prompt: !,?5,"Date to end search: "
  • Line Location: VER+4
Function Call: WRITE
  • Prompt: ?34,Y
  • Line Location: VER+5
Function Call: WRITE
  • Prompt: !!,?5,"Type(s) of orders to search: ",PSOAR(PSOTYP)
  • Line Location: VER+6
Function Call: WRITE
  • Prompt: !!,?5,"ORDERS (#100) file status ",$S(PSOCORR:"*** WILL ***",1:"*** WILL NOT ***")," be corrected automatically.",!
  • Line Location: VER+7
Function Call: WRITE
  • Prompt: !
  • Line Location: VER+9
Function Call: WRITE
  • Prompt: !!
  • Line Location: VER+11
Function Call: WRITE
  • Prompt: !!,"Exiting... Re-enter option if you wish to perform the search."
  • Line Location: QUIT+9
Function Call: WRITE
  • Prompt: !!,"There will be no MailMan message and alert generated"
  • Line Location: QUIT+10
Function Call: WRITE
  • Prompt: !,"due to early termination of this option.",!!
  • Line Location: QUIT+11
Function Call: WRITE
  • Prompt: !!,"You will receive an alert and a MailMan message when the search completes.",!
  • Line Location: TASK+12
Routine Call
  • DIR
  • Line Location:
    • ASK+12
    • ASK+21
    • ASK+36
    • ASK+55
    • VER+10

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^OR(100 - [#100] ASK+9, ASK+10, SEARCH+25, SEARCH+32, SEARCH+39, SEARCH+41, SEARCH+43, NONVA+1, NONVA+12, NONVA+14
OP+1, OP+7, OP+9, IV+1, IV+14, IV+16, IV+19, UD+1, UD+15, UD+17
, XTMP+3
^ORD(100.01 - [#100.01] INIT+3, INIT+4, INIT+5, INIT+6, XTMP+4
^ORD(100.98 - [#100.98] INIT+8, INIT+14, INIT+19
^ORD(101.43 - [#101.43] NONVA+13, OP+8, IV+17, UD+16
^PS(52.6 - [#52.6] IV+22
^PS(55 - [#55] NONVA+5, IV+4, IV+21, UD+8, UD+18, UD+20, UD+21, UD+23
^PSDRUG - [#50] NONVA+17, OP+12, UD+22
^PSRX - [#52] OP+4, OP+10, OP+11, OP+13, OP+20
^TMP("PSOQUIT" QUIT+1, QUIT+8*
^XTMP( SEARCH+5, SEARCH+7, SEARCH+15*, SEARCH+18*, SEARCH+21*, SEARCH+31*, SEARCH+36, SEARCH+37*, SEARCH+56*, XTMP+5*
, XTMP+6*, XTMP+7*, KILL+1!, KILL+5, KILL+8!

Label References

Name Line Occurrences
ALERT SEARCH+55
ASK EN+8, ASK+15, ASK+24, ASK+27
EN VER+11
FOUND NONVA+27, OP+26, IV+30, UD+30
IV SEARCH+50, UD+5
KILL SEARCH+55
NONVA SEARCH+46
OP SEARCH+48
QUIT EN+9, EN+11
SEARCH INIT+47
TASK EN+15
UD SEARCH+52
VER EN+10
XTMP NONVA+28, OP+27, IV+31, UD+31

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
DIR EN+1~, ASK+34!, ASK+55!, VER+10!
DIR("A" ASK+11*, ASK+20*, ASK+54*, VER+9*
DIR("B" ASK+53*, VER+8*
DIR(0 ASK+11*, ASK+20*, ASK+34*, ASK+35*, ASK+53*, VER+8*
DT SEARCH+15
DTOUT EN+1~, ASK+13, ASK+22, ASK+37, ASK+56, VER+12
DUOUT EN+1~, ASK+13, ASK+22, ASK+37, ASK+56, VER+12
DUZ VER+13
PSIV INIT+2~, INIT+16*, SEARCH+50
PSMSTAT SEARCH+1~, NONVA+21*, NONVA+22*, NONVA+25, OP+20*, OP+21*, OP+24, OP+26, IV+24*, IV+25*
IV+28, IV+30, UD+24*, UD+25*, UD+28, UD+30, FOUND+8, XTMP+7
PSNUM SEARCH+1~, NONVA+1*, NONVA+4, OP+1*, OP+4, OP+10, OP+11, OP+13, OP+20, IV+1*
IV+3, UD+1*, UD+5, UD+6, UD+7
PSOA SEARCH+1~, SEARCH+7*, SEARCH+23*, NONVA+26*, OP+25*, IV+29*, UD+29*, ALERT+3
PSOACTIVE INIT+1~, INIT+6*, NONVA+25, OP+24, IV+28, UD+28
PSOAR EN+1~
PSOAR( VER+6
PSOAR("I" EN+5*, ASK+34
PSOAR("IN" EN+6*, ASK+34
PSOAR("IO" EN+6*
PSOAR("ION" EN+7*
PSOAR("N" EN+5*, ASK+34
PSOAR("O" EN+5*, ASK+34
PSOAR("ON" EN+7*, ASK+35
PSOCORR EN+1~, ASK+57*, VER+7, NONVA+27, OP+26, IV+30, UD+30, XTMP+5
PSOCOUNT KILL+3~, KILL+4*, KILL+6*, KILL+7
PSOCPRS ASK+6~, ASK+8*
PSOCPRSDT ASK+6~, ASK+7*, ASK+8, ASK+10*, ASK+15, ASK+16
PSOCPRSIEN ASK+6~, ASK+7*, ASK+9*, ASK+10
PSODATEA SEARCH+3~, NONVA+15*, OP+10*, IV+20*, UD+18*, XTMP+6
PSODATEB SEARCH+3~, NONVA+18*, OP+13*, IV+23*, UD+23*, XTMP+7
PSODIAL INIT+1~
PSODIAL( INIT+10*, INIT+15*, INIT+20*, SEARCH+40
PSODRUG SEARCH+3~, NONVA+16*, NONVA+17*, OP+11*, OP+12*, IV+21*, IV+22*, UD+20*, UD+21*, UD+22*
, XTMP+7
PSODUZ EN+1~, EN+2*, EN+15, VER+13*, ALERT+5
PSOEDT EN+1~, ASK+23*, ASK+24, ASK+27, VER+5, SEARCH+23*, SEARCH+25
PSOINPAT INIT+2~
PSOINPAT( INIT+17*, SEARCH+52
PSOIV SEARCH+3~, IV+13*, IV+16*, IV+17
PSOJOB SEARCH+1~, SEARCH+6*, SEARCH+8*, SEARCH+9
PSOMESNUM SEARCH+2~, SEARCH+54*, ALERT+4
PSOMSTAT INIT+2~
PSOMSTAT( OP+21, IV+25, UD+25
PSOMSTAT("A" INIT+36*
PSOMSTAT("D" INIT+37*
PSOMSTAT("DE" INIT+38*
PSOMSTAT("DR" INIT+39*
PSOMSTAT("E" INIT+41*
PSOMSTAT("H" INIT+40*
PSOMSTAT("N" INIT+46*
PSOMSTAT("O" INIT+45*
PSOMSTAT("P" INIT+44*
PSOMSTAT("R" INIT+42*
PSOMSTAT("RE" INIT+43*
PSOMSTAT(0 INIT+23*
PSOMSTAT(1 INIT+24*
PSOMSTAT(10 INIT+29*
PSOMSTAT(11 INIT+30*
PSOMSTAT(12 INIT+31*
PSOMSTAT(13 INIT+32*
PSOMSTAT(14 INIT+33*
PSOMSTAT(15 INIT+34*
PSOMSTAT(16 INIT+35*
PSOMSTAT(2 INIT+25*
PSOMSTAT(3 INIT+26*
PSOMSTAT(4 INIT+27*
PSOMSTAT(5 INIT+28*
PSONONVA INIT+2~, INIT+19*, INIT+20, SEARCH+46
PSOOI SEARCH+3~, NONVA+12*, NONVA+13*, OP+7*, OP+8*, IV+13*, IV+15*, IV+17*, IV+18*, UD+15*
UD+16*, XTMP+5
PSOORD SEARCH+1~, SEARCH+2~, SEARCH+24*, SEARCH+32*, SEARCH+36, SEARCH+37, SEARCH+39, SEARCH+41, SEARCH+43, NONVA+1
NONVA+12, NONVA+14, OP+1, OP+7, OP+9, IV+1, IV+14, IV+16, IV+19, UD+1
UD+15, UD+17, FOUND+9, XTMP+3, XTMP+5, XTMP+6, XTMP+7, KILL+3~, KILL+4*, KILL+5*
KILL+8
PSOORDIS INIT+1~, INIT+4*, FOUND+8
PSOORDISED INIT+1~, INIT+5*
PSOORDTM XTMP+2~, XTMP+3*, XTMP+5
PSOOREXP INIT+1~, INIT+3*, FOUND+8
PSOORSTAT SEARCH+1~, SEARCH+41*, NONVA+25, OP+24, IV+28, UD+28, XTMP+4
PSOORTYPE SEARCH+2~, SEARCH+39*, SEARCH+40, SEARCH+46, SEARCH+48, SEARCH+50, SEARCH+52
PSOOUTP INIT+2~, INIT+9*, SEARCH+48
PSOPAT SEARCH+1~, SEARCH+43*, NONVA+5, IV+4, IV+21, UD+8, UD+18, UD+20, UD+21, UD+23
PSOPAUSED SEARCH+1~, SEARCH+23*, SEARCH+27, SEARCH+28*, SEARCH+31
PSOPKG SEARCH+3~, NONVA+14*, OP+9*, IV+19*, UD+17*, XTMP+6
PSOQUIT EN+1~, EN+2*, EN+9, EN+11, ASK+13*, ASK+22*, ASK+37*, ASK+56*, VER+12*
PSORD INIT+1~, INIT+13*, INIT+14, INIT+16
PSOSDT EN+1~, ASK+14*, ASK+15, ASK+24, ASK+27, VER+3, SEARCH+23, SEARCH+25*, SEARCH+27, SEARCH+28
SEARCH+32
PSOSTART SEARCH+2~, SEARCH+23*
PSOSTAT FOUND+7~, FOUND+8*, FOUND+9
PSOSTATX XTMP+2~, XTMP+4*, XTMP+6
PSOSTR SEARCH+2~, NONVA+5*, NONVA+9, NONVA+15, NONVA+16, NONVA+18, NONVA+21, IV+4*, IV+7, IV+20
IV+23, IV+24, UD+8*, UD+11, UD+24
PSOSUB INIT+1~, INIT+8*, INIT+9, INIT+10, INIT+14*, INIT+15, INIT+16, INIT+17
PSOSUBN SEARCH+2~, NONVA+4*, NONVA+5, IV+3*, IV+4, IV+21, UD+7*, UD+8, UD+18, UD+20
UD+21, UD+23
PSOTMP SEARCH+1~, SEARCH+4*, SEARCH+5, SEARCH+7, SEARCH+9*, SEARCH+15, SEARCH+18, SEARCH+21, SEARCH+31, SEARCH+36
SEARCH+37, SEARCH+56, XTMP+5, XTMP+6, XTMP+7, KILL+1, KILL+5, KILL+8
PSOTX SEARCH+3~, XTMP~, XTMP+5, XTMP+6, XTMP+7
PSOTYP EN+1~, ASK+38*, VER+6, INIT+7, INIT+11, INIT+18
PSOVER EN+1~
PSOWHICH SEARCH+2~, XTMP~, XTMP+5, XTMP+6, XTMP+7
PSOX IV+9~, IV+13*, IV+14*, IV+16
X SEARCH+1~
XALERT ALERT+2~, ALERT+6*
>> XQA( ALERT+5*
XQAID ALERT+2~, ALERT+3*
>> XQAMSG ALERT+3*, ALERT+4*
Y EN+1~, ASK+13, ASK+14, ASK+16*, ASK+18, ASK+19, ASK+22, ASK+23, ASK+26, ASK+37
ASK+38, ASK+57, VER+3*, VER+5*, VER+11
>> ZTDESC TASK+8*
>> ZTIO TASK+9*
>> ZTRTN TASK+7*
>> ZTSAVE("PSOAR(" TASK+6*
>> ZTSAVE("PSOCORR" TASK+4*
>> ZTSAVE("PSODUZ" TASK+5*
>> ZTSAVE("PSOEDT" TASK+2*
>> ZTSAVE("PSOSDT" TASK+1*
>> ZTSAVE("PSOTYP" TASK+3*
>> ZTSK TASK+11
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Local Variables  | All