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 |  Naked Globals |  Local Variables |  All
Print Page as PDF
Routine: PSODDPR2

Package: Outpatient Pharmacy

Routine: PSODDPR2


Information

PSODDPR2 ;BIR/SAB - display enhanced order checks ;11 May 2010 9:06 AM

Source Information

Source file <PSODDPR2.m>

Call Graph

Call Graph

Call Graph Total: 12

Package Total Call Graph
Outpatient Pharmacy 9 ^PSOBUILD  (,CLASSES,DCOR,RDI)^PSODDPR3  (EXC,INT,NSRT,NSRT1)^PSODDPR5  (DUP,NOCAN)^PSODDPR7  (DDRX,DUP,PEND)^PSODDPR8  BLD2^PSODGDGP  STAT^PSOFUNC  ^PSORXI  
CMOP^PSOUTL  
List Manager 1 FULL^VALM1  
Pharmacy Data Management 1 PSOL^PSSLOCK  
VA FileMan 1 ^DIR  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

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

Caller Graph

Caller Graph Total: 14

Package Total Caller Graph
Outpatient Pharmacy 14 PSOCPPRE  PSODDPR3  PSODDPR4  PSODDPR5  PSODDPR7  PSODDPRE  PSODGDGP  PSODRDU2  
PSODRG  PSODSPL  PSOORRDI  PSORX1  PSOVER  PSOVER1  

Entry Points

Name Comments DBIA/ICR reference
RTC ;Return to continue
ERR
INT ;
RX
HD(PSOLINES,OVRRID) ;
EXIT ;
DGSORT ;
THER2 ;
THER
DUPCL ;

External References

Name Field # of Occurrence
^DIR PSODDPR2+27, ERR, RX+5, RX+9, RX+13, DUPCL+43, HD+5, RTC+1
^PSOBUILD EXIT+1
^PSODDPR3 DUPCL+22
CLASSES^PSODDPR3 DUPCL+35
DCOR^PSODDPR3 THER2+11
RDI^PSODDPR3 DUPCL+32
EXC^PSODDPR5 PSODDPR2+8
INT^PSODDPR5 INT+2
NSRT^PSODDPR5 PSODDPR2+12
NSRT1^PSODDPR5 THER+2
DUP^PSODDPR7 DUPCL+33
NOCAN^PSODDPR7 THER+3
DDRX^PSODDPR8 DUPCL+16
DUP^PSODDPR8 PSODDPR2+15
PEND^PSODDPR8 DUPCL+25
BLD2^PSODGDGP PSODDPR2+15
STAT^PSOFUNC RX+3, DUPCL+20
^PSORXI PSODDPR2+23
CMOP^PSOUTL RX+15
PSOL^PSSLOCK RX+9
FULL^VALM1 PSODDPR2+23

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !
  • Line Location: PSODDPR2+23
Function Call: WRITE
  • Prompt: @IOF
  • Line Location: PSODDPR2+26
Function Call: WRITE
  • Prompt: !,"Drug Interaction Error(s):",!
  • Line Location: PSODDPR2+29
Function Call: WRITE
  • Prompt: @IOF,PSONULN1,!
  • Line Location: THER+4
Function Call: WRITE
  • Prompt: @IOF
  • Line Location: THER2+12
Function Call: WRITE
  • Prompt: !,"Drug Therapy Error(s):",!
  • Line Location: ERR+1
Function Call: WRITE
  • Prompt: ?5,$S($P(ON,";")="P":"Pending Order: ",$P(ON,";")="N":"Non-VA Med Order: ",$P(ON,";")="R":"Remote Rx: ",$P(ON,";")="O":"Rx: ",1:"Prospective Rx: ")
  • Line Location: ERR+4
Function Call: WRITE
  • Prompt: " "_^TMP($J,LIST,"OUT","THERAPY","ERROR",ON,CT,"MSG"),!," "_^TMP($J,LIST,"OUT","THERAPY","ERROR",ON,CT,"TEXT"),!
  • Line Location: ERR+5
Function Call: WRITE
  • Prompt: !
  • Line Location: RX+0
Function Call: WRITE
  • Prompt: !,"PATIENT ON AUTHORIZED ABSENCE!"
  • Line Location: RX+4
Function Call: WRITE
  • Prompt: @IOF
  • Line Location: RX+5
Function Call: WRITE
  • Prompt: !!,"Prescription "_$P($G(^PSRX(+$G(RXRECLOC),0)),"^")_" is on Provider Hold, it cannot be discontinued.",!
  • Line Location: RX+8
Function Call: WRITE
  • Prompt: !!,$P(PSOMSG,"^",2),!
  • Line Location: RX+10
Function Call: WRITE
  • Prompt: !,"A CMOP Rx cannot be discontinued during transmission!",!
  • Line Location: RX+15
Function Call: WRITE
  • Prompt: $C(7)," -Prescription was not "_$S(STATUS=12:"reinstated",1:"discontinued")_"..."
  • Line Location: RX+16
Function Call: WRITE
  • Prompt: !!,"THERAPEUTIC DUPLICATIONS will be discontinued after the acceptance of the new order.",!!
  • Line Location: RX+20
Function Call: WRITE
  • Prompt: "*** THERAPEUTIC DUPLICATION(S) *** "_PSODRUG("NAME")_" with"
  • Line Location: DUPCL+3
Function Call: WRITE
  • Prompt: @IOF
  • Line Location: DUPCL+43
Function Call: WRITE
  • Prompt: @IOF
  • Line Location: DUPCL+45
Function Call: WRITE
  • Prompt: !
  • Line Location: HD+5
Function Call: WRITE
  • Prompt: @IOF
  • Line Location: RTC+1
Routine Call
  • DIR
  • Line Location:
    • PSODDPR2+27
    • ERR
    • RX+5
    • RX+9
    • RX+13
    • DUPCL+43
    • HD+5
    • RTC+1

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^PS(50.606 - [#50.606] THER+17, THER+27, DUPCL+29, DUPCL+30
^PS(50.7 - [#50.7] THER+17, THER+27, DUPCL+29, DUPCL+30
^PS(52.41 - [#52.41] THER+17, THER+18, DUPCL+28
^PS(53 - [#53] RX+4
^PS(55 - [#55] THER+25
^PSDRUG - [#50] THER+18, THER+22, THER+28, DUPCL+29, DUPCL+30
^PSRX - [#52] THER+22, RX+1, RX+8, RX+11, RX+12, DUPCL+20
^TMP("PSODGI" PSODDPR2+12!
^TMP("PSODGS" PSODDPR2+12!
^TMP("PSORXDC" THER+11, THER+12, RX+18!, RX+21*, DUPCL+18, DUPCL+26
^TMP("PSORXDD" THER+13
^TMP("PSOSER" PSODDPR2+12!
^TMP("PSOSERS" PSODDPR2+12!
^TMP("PSOTDD" PSODDPR2+12!
^TMP($J PSODDPR2+7!, PSODDPR2+8, PSODDPR2+26, PSODDPR2+30, PSODDPR2+33, THER, THER+5, THER+9, THER+10, THER+30
, THER+32, THER+35, THER2+11!, ERR, ERR+2, ERR+5, ERR+7, DUPCL+21*, DUPCL+29*, DUPCL+30*
, DUPCL+38, DUPCL+40
^UTILITY($J PSODDPR2+7!, EXIT+3!
^XUSEC("PSORPH" PSODDPR2+20, THER+1, THER2+13, THER2+14, RX+6, RX+7, DUPCL+41, DUPCL+42

Label References

Name Line Occurrences
DUPCL THER2+6, THER2+8
ERR THER+3
EXIT PSODDPR2+8, PSODDPR2+16, PSODDPR2+18, PSODDPR2+19, PSODDPR2+25, PSODDPR2+26, THER, THER+1, THER2+1, THER2+9
, THER2+11
HD PSODDPR2+16, PSODDPR2+29, PSODDPR2+34, THER2+11, THER2+12, ERR+1, ERR+4, ERR+5, ERR+8, RX
, DUPCL+13, DUPCL+14, DUPCL+16, DUPCL+22, DUPCL+25, DUPCL+32, DUPCL+33, DUPCL+34
INT PSODDPR2+18
RTC THER2+13, THER2+14, DUPCL+9

Naked Globals

Name Field # of Occurrence
^(0 THER+17, THER+27

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
ACT EXIT+2!, RX+14*, RX+17, RX+19, RX+21, RX+22!
BSIG EXIT+3!
CAN EXIT+2!
CDDT PSODDPR2+16!, THER+3!, THER+4*, EXIT+2!
CLASS THER+3~
CLI PSODDPR2+9~
CLS RX+22!
CMOP RX+15!
CMOP("S" RX+15
>> COPY PSODDPR2+19
COUNT PSODDPR2+9~, PSODDPR2+11*, PSODDPR2+13*, PSODDPR2+15*, PSODDPR2+16!
COUNT2 PSODDPR2+10~, DGSORT+3*, DGSORT+4!
CT PSODDPR2+9~, PSODDPR2+11*, PSODDPR2+13*, PSODDPR2+29*, PSODDPR2+30*, PSODDPR2+33, THER+4*, THER+5*, ERR+1*, ERR+2*
, ERR+5
DA EXIT+2!, RX+14*, RX+21
DDTH THER+3~, THER2+8!, DUPCL+7!
DGI PSODDPR2+9~, PSODDPR2+11*, PSODDPR2+13*, PSODDPR2+16!, EXIT+3!
DIR PSODDPR2+16!, PSODDPR2+27!, PSODDPR2+28!, ERR!, ERR+7!, EXIT+2!, RX+5!, RX+9!, RX+13!, DUPCL+43!
, HD+4~, HD+5!, RTC+1~!
DIR("?" PSODDPR2+27*, ERR*, RX+5*, RX+9*, RX+12*, DUPCL+43*
DIR("A" PSODDPR2+27*, ERR*, RX+5*, RX+9*, RX+12*, DUPCL+43*, HD+5*, RTC+1*
DIR(0 PSODDPR2+27*, ERR*, RX+5*, RX+9*, RX+12*, DUPCL+43*, HD+5*, RTC+1*
DIROUT HD+4~, RTC+1~
DIRUT ERR+7, RX+5!, RX+13, HD+4~, RTC+1~
DIWF EXIT+3!
DIWL EXIT+3!
DIWR EXIT+3!
DNM EXIT+2!
DRG PSODDPR2+9~, PSODDPR2+11*, PSODDPR2+13*, PSODDPR2+15*, PSODDPR2+16!, RX+21
DRGI PSODDPR2+9~, EXIT+3!
DRGNM PSODDPR2+7!, DUPCL+21
DSPL EXIT+2!
DTOUT PSODDPR2+28!, ERR+7!, RX+5!, RX+13, DUPCL+44, HD+4~, HD+7, RTC+1~
DUOUT PSODDPR2+28!, ERR+7!, RX+5!, RX+13, DUPCL+44, HD+4~, HD+7, RTC+1~
DUP RX+8!, RX+9!, RX+17!, RX+22!
DUPRX0 THER+25*, THER+27, THER+28, EXIT+2!, RX+1*, DUPCL+28*, DUPCL+29, DUPCL+30
DUPT PSODDPR2+9~, THER+3!
DUZ PSODDPR2+20, THER+1, THER2+13, THER2+14, RX+6, RX+7, RX+17, RX+19, DUPCL+41, DUPCL+42
HZVA PSODDPR2+16!
I EXIT+3!
INT PSODDPR2+9~
IOF PSODDPR2+26, THER+4, RX+5, DUPCL+43, DUPCL+45, HD+8, RTC+1
IOSL PSODDPR2+26, DUPCL+45, HD+2
ISSD EXIT+2!, RX+1*
IT EXIT+3!
J EXIT+2!, RX+3*, DUPCL+20*
>> LIST PSODDPR2+8, PSODDPR2+26, PSODDPR2+30, PSODDPR2+33, THER, THER+5, THER+30, THER+32, THER+35, ERR
, ERR+2, ERR+5, ERR+7, DUPCL+38, DUPCL+40
LSI PSODDPR2+9~, PSODDPR2+11*
LST PSODDPR2+9~, THER+4*, EXIT+3!
LSTFL EXIT+2!
MSG EXIT+2!, RX+17*, RX+19*, RX+21
NODDERR PSODDPR2+27*, PSODDPR2+31, EXIT+3!
NODTERR ERR*, ERR+3, EXIT+3!
OLDDRG PSODDPR2+9~
ON PSODDPR2+9~, PSODDPR2+11*, PSODDPR2+13*, PSODDPR2+16!, PSODDPR2+29*, PSODDPR2+30*, PSODDPR2+31, PSODDPR2+32, PSODDPR2+33, THER+3~
, THER+5*, THER+6, THER+7, THER+8, THER+9, THER+10, THER+11, THER+12, THER+13, THER+14
, THER+15, THER+16, THER+17, THER+18, THER+19, THER+20, THER+21, THER+22, THER+23, THER+24
, THER+25, THER+26, THER+29, THER+30, THER+31, THER+32, THER+33, THER+34, THER+35, THER+36
, THER+37, ERR+1*, ERR+2*, ERR+3, ERR+4, ERR+5, RX, DUPCL+8*, DUPCL+16, DUPCL+22
, DUPCL+23, DUPCL+25, DUPCL+32, DUPCL+33
OVRRID HD~, HD+1*, HD+2, HD+6!
PDODCNT PSODDPR2+7!, DUPCL+10*
PDRG PSODDPR2+9~, EXIT+3!
PHYS EXIT+2!
>> POERR PSODDPR2+23
>> POERR("DFLG" PSODDPR2+19*
PSI PSODDPR2+7!
PSOCD EXIT+2!
PSOCLC EXIT+2!, RX+17*, RX+19*
PSOCLNS PSODDPR2+9~, PSODDPR2+16!
PSOCLOZ EXIT+2!
>> PSODAL("DA" PSODDPR2+23!
PSODCTH THER2+10!, EXIT+3!
PSODCTH( THER+6
PSODD PSODDPR2+7!
PSODDSEQ PSODDPR2+10~, PSODDPR2+13*
>> PSODFN THER+25
>> PSODGCK THER2+11
>> PSODLQT PSODDPR2+8, PSODDPR2+14, PSODDPR2+15, PSODDPR2+16, PSODDPR2+18, PSODDPR2+26, PSODDPR2+28*, PSODDPR2+29, PSODDPR2+34, THER+5
, THER2+1, THER2+9, THER2+11, THER2+13, THER2+14, ERR+1, ERR+2, ERR+3, ERR+4, ERR+5
, ERR+7*, RX, RX+5*, RX+13*, DUPCL+1, DUPCL+8, DUPCL+9, DUPCL+13, DUPCL+14, DUPCL+16
, DUPCL+22, DUPCL+25, DUPCL+32, DUPCL+33, DUPCL+34, DUPCL+41, DUPCL+44*, HD+1*, HD+2, HD+7*
>> PSODRUG("BAD" PSODDPR2+7!
>> PSODRUG("NAME" DUPCL+3
PSODSEQ PSODDPR2+9~, DUPCL+7*, DUPCL+8*, DUPCL+9, DUPCL+34
PSODUPC THER2+4*, THER2+6*, THER2+8!, DUPCL+2*, DUPCL+4*
PSODUPC( DUPCL+10*, DUPCL+13, DUPCL+14, DUPCL+15, DUPCL+16*, DUPCL+22*, DUPCL+25*, DUPCL+32*, DUPCL+33*, DUPCL+34*
PSODUPC("CLASS" THER2+6*, DUPCL+13
PSODUPC1 THER2+4*, THER2+8!, DUPCL+13
PSODUPC2 THER2+8!, DUPCL+4~, DUPCL+5*, DUPCL+10*, DUPCL+11, DUPCL+13
PSODUPCL DUPCL+4~, DUPCL+7*
PSODUPCT DUPCL+4~, DUPCL+5*, DUPCL+13*, DUPCL+14*, DUPCL+15*
PSODUPF THER2+4*, THER2+6*, THER2+8!, DUPCL+2, DUPCL+3, DUPCL+4, DUPCL+5, DUPCL+9, DUPCL+10, DUPCL+12
, DUPCL+16, DUPCL+22, DUPCL+25, DUPCL+32, DUPCL+33, DUPCL+34, DUPCL+42, DUPCL+44, DUPCL+45, HD+8
PSOINTV PSODDPR2+7!, PSODDPR2+18, EXIT+3!
PSOLDT EXIT+2!
PSOLINES PSODDPR2+9~, HD~, HD+1*, HD+2, HD+6!
PSOLR EXIT+2!
PSOMSG RX+9!, RX+10, RX+12!
PSONAM DGSORT+2*, DGSORT+3*, DGSORT+4!
PSONOOR RX+21*, RX+22!
PSONULN PSODDPR2+9~, PSODDPR2+11*, EXIT+2!, DUPCL+34
PSONULN1 PSODDPR2+9~, PSODDPR2+11*, THER+4
PSONV RX+14, RX+19, RX+22!
PSOOLDD PSODDPR2+9~, PSODDPR2+11*
>> PSOPAR THER+1, THER+3, THER2+11, RX+4, RX+6, RX+7
PSORDIT PSODDPR2+7!
>> PSORX("DFLG" PSODDPR2+19*, PSODDPR2+25, PSODDPR2+28*, ERR+7*, RX+5*, RX+6*, RX+7*, RX+8*, RX+9*, RX+13*
, RX+17*, DUPCL+44*, HD+7*
>> PSORX("INTERVENE" PSODDPR2+16!, PSODDPR2+20!, PSODDPR2+22
>> PSORX("PATIEN T STATUS" , RX+4
PSOSEVER PSODDPR2+10~, PSODDPR2+11*
>> PSOTECCK THER+1
PSOTHND1 THER2+2~*, THER2+11*, THER2+13, DUPCL+9, DUPCL+10*, HD+3*
PSOTHND2 THER2+2~*, HD+3
PSOTHND3 THER2+2~*, THER2+13*, THER2+14, DUPCL+9*
PSOTSUB PSODDPR2+9~, THER2+4*
PSOVAG PSODDPR2+7!, DGSORT+2*, DGSORT+3
PSOVORD EXIT+3!
PSOZZ THER+4*, THER2+10!, DUPCL+21*, DUPCL+28*, DUPCL+29, DUPCL+30
>> PSSDIUTL PSODDPR2+17, INT+1
QTHER THER+3~, THER+4*
REA EXIT+2!, RX+17*, RX+19*, RX+21, RX+22!
RFLS EXIT+2!, RX+1*
RX0 EXIT+2!, RX+1*, RX+3!, DUPCL+20*!
RX2 EXIT+2!, RX+1*, RX+3!, DUPCL+20*!
RXDT THER+4!, THER2+10!
RXDT("O" DUPCL+19, DUPCL+21*
RXDT("P" DUPCL+27, DUPCL+31*
RXN EXIT+2!
RXREC THER+7*, THER+9, THER+10, THER+11, THER+12, THER+13, THER+32*, THER+33, THER+35*, EXIT+2!
, RX*, RX+1, RX+2, RX+3, RX+11, RX+12, RX+14, RX+18, RX+21, DUPCL+18
, DUPCL+19, DUPCL+20, DUPCL+21, DUPCL+25*, DUPCL+26, DUPCL+27, DUPCL+28, DUPCL+29, DUPCL+31
RXRECLOC RX+2*, RX+4!, RX+5!, RX+6!, RX+7!, RX+8!, RX+9!, RX+22!
SER PSODDPR2+9~, PSODDPR2+11*, PSODDPR2+13*, EXIT+3!
SERS PSODDPR2+9~, PSODDPR2+11*, PSODDPR2+13*, EXIT+3!
SEV PSODDPR2+9~, EXIT+3!, DGSORT+2*, DGSORT+3
SIG EXIT+2!
SPCANC RX+14, RX+22!
ST EXIT+2!, RX+21, DUPCL+21
STATUS EXIT+3!, RX+1*, RX+5, RX+8, RX+12, RX+14, RX+16, RX+17, RX+19, RX+22!
, DUPCL+17
STX PSODDPR2+9~
SUB THER+3!, THER+4*, THER+5*, THER+37
SV PSODDPR2+9~, PSODDPR2+11*, PSODDPR2+13*, PSODDPR2+14*, PSODDPR2+15, PSODDPR2+16!
THER PSODDPR2+7!, THER+3!, THER+4*, EXIT+3!, DUPCL+16*, DUPCL+25*
THERO PSODDPR2+7!, THER+3!, THER+4*, EXIT+3!
>> TYP DGSORT+2*
U THER+35
>> VALMBCK PSODDPR2+19*, PSODDPR2+23*
X EXIT+3!, DUPCL+37~, DUPCL+40*, HD+4~, RTC+1~
Y EXIT+2!, RX+15*, RX+16, DUPCL+44, HD+4~, HD+5!, HD+7, RTC+1~
ZCLASS THER+3!
ZCT EXIT+2!, DUPCL+7*, DUPCL+8*, DUPCL+9, DUPCL+10, DUPCL+13, DUPCL+14, DUPCL+15, DUPCL+16, DUPCL+22
, DUPCL+25, DUPCL+32, DUPCL+33, DUPCL+34, DUPCL+37*, DUPCL+38*, DUPCL+40
ZDDT ERR+6!
ZDRG THER+3~, THER+17*, THER+18*, THER+22*, THER+27*, THER+28*, THER+32*, THER+35*, THER+37!
ZHDR PSODDPR2+9~, PSODDPR2+11*
ZMED PSODDPR2+10~, THER+35*
ZON ERR+6!
ZORS PSODDPR2+13*, PSODDPR2+14*, PSODDPR2+15, PSODDPR2+16!
ZOT THER+3!, THER+14*, THER+35, THER+37
ZPSOCTH ERR+6!
ZPSODCTH THER+2!, THER+3!
ZPSODCTH( THER+16, THER+19*, THER+21, THER+24, THER+26*, THER+31, THER+33*, THER+35*, THER+36*
ZST PSODDPR2+9~, PSODDPR2+13*, PSODDPR2+14*, PSODDPR2+15
ZSUB PSODDPR2+9~, DUPCL+7*
ZTHER THER+3~, EXIT+3!
ZTHER( THER+35, THER+37*, THER2+4, DUPCL+8, DUPCL+9, DUPCL+34
ZTHER("" THER2+3
ZVA PSODDPR2+13*, PSODDPR2+15*, PSODDPR2+16!
ZX EXIT+3!
ZZ EXIT+2!
ZZCT EXIT+2!, DUPCL+37*, DUPCL+38*, DUPCL+40
ZZDGDG PSODDPR2+16!, EXIT+3!
ZZDGDG( PSODDPR2+14, PSODDPR2+15
ZZDGDG2 EXIT+3!
ZZDGDG2( DGSORT+3*
>> ZZDGDG3( DGSORT+2, DGSORT+3
ZZDGDGC PSODDPR2+9~, PSODDPR2+11*
ZZHDR EXIT+3!
ZZOC PSODDPR2+13~*
ZZZCT EXIT+2!, DUPCL+37*
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables |  All