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: PSODRDU1

Package: Outpatient Pharmacy

Routine: PSODRDU1


Information

PSODRDU1 ;BIR/SAB - dup drug class checker for pending orders ;08/23/17 19:51

Source Information

Source file <PSODRDU1.m>

Call Graph

Call Graph

Call Graph Total: 5

Package Total Call Graph
Outpatient Pharmacy 2 $$ERXIEN^PSOERXUT  FSIG^PSOUTLA  
Kernel 1 $$FMTE^XLFDT  
Pharmacy Data Management 1 (PSOL,PSOUL)^PSSLOCK  
VA FileMan 1 ^DIR  

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: 4

Package Total Caller Graph
Outpatient Pharmacy 4 PSOCPDUP  PSODGDGI  PSODRDUP  PSOVER1  

Entry Points

Name Comments DBIA/ICR reference
DUP
DATA
ASKCAN
CLS
INST ;displays instruction and/or comments
ULPN ;
NVA ;displays duplicate drugs and classes for non-va meds
DSP

External References

Name Field # of Occurrence
^DIR ASKCANASKCAN+4, CLS+5, NVA+4, DSP+28
$$ERXIEN^PSOERXUT DATA+4
FSIG^PSOUTLA DATA+5
PSOL^PSSLOCK ASKCAN
PSOUL^PSSLOCK ULPN+2
$$FMTE^XLFDT DSP+8, DSP+9

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !,PSONULN,!,$C(7),"DUPLICATE DRUG "_$P(DNM,"^")_" in a Pending Order"
  • Line Location: DUP+0
Function Call: WRITE
  • Prompt: !,"Orderable Item: "_$P(^PS(50.7,$P(DUPRX0,"^",8),0),"^")_" "_$P(^PS(50.606,$P(^(0),"^",2),0),"^")
  • Line Location: DATA+2
Function Call: WRITE
  • Prompt: !,"Drug: "_$S($P(DUPRX0,"^",9):$P(^PSDRUG($P(DUPRX0,"^",9),0),"^"),1:"No Dispense Drug Selected")
  • Line Location: DATA+3
Function Call: WRITE
  • Prompt: !,$S($$ERXIEN^PSOERXUT(RXREC_"P"):"eRx ",1:"")_"Instructions: "
  • Line Location: DATA+4
Function Call: WRITE
  • Prompt: FSIG(I),!?5
  • Line Location: DATA+6
Function Call: WRITE
  • Prompt: !,"Routing: "_$S($P(DUPRX0,"^",17)="W":"WINDOW",$P(DUPRX0,"^",17)="P":"PARK",1:"MAIL"),?30,"Quantity: "_$P(DUPRX0,"^",10),!,"# of Refills: "_$P(DUPRX0,"^",11)
  • Line Location: DATA+7
Function Call: WRITE
  • Prompt: ?30,"Patient Status: SC",!,"Patient Location: "_$S($P(DUPRX0,"^",13):$P($G(^SC($P(DUPRX0,"^",13),0)),"^"),1:""),!,"Med Route: "_$P($G(^PS(51.2,+$P(DUPRX0,"^",15),0)),"^"),?30,"Provider: "_$P(^VA(200,$P(DUPRX0,"^",5),0),"^")
  • Line Location: DATA+8
Function Call: WRITE
  • Prompt: !,"Issue Date: "_Y
  • Line Location: DATA+9
Function Call: WRITE
  • Prompt: !,"Provider Comments: "
  • Line Location: DATA+10
Function Call: WRITE
  • Prompt: !,"PATIENT ON AUTHORIZED ABSENCE!"
  • Line Location: DATA+11
Function Call: WRITE
  • Prompt: !!,$P(PSOMSG,"^",2),!
  • Line Location: ASKCAN+1
Function Call: WRITE
  • Prompt: $C(7)," -Pending Order was not discontinued..."
  • Line Location: ASKCAN+5
Function Call: WRITE
  • Prompt: !!,"Duplicate "_$S($G(CLS):"Class",1:"Drug")_" will be discontinued after the acceptance of the new order.",!
  • Line Location: ASKCAN+7
Function Call: WRITE
  • Prompt: !,PSONULN
  • Line Location: CLS+2
Function Call: WRITE
  • Prompt: !,$C(7),"*** SAME CLASS *** of drug in a Pending Order for "_$P(DNM,"^"),!,"Class: "_$G(PSODRUG("VA CLASS"))
  • Line Location: CLS+3
Function Call: WRITE
  • Prompt: @$S(TY=3:"!?14",1:"!?19")
  • Condition for execution: $X+$L($P(MIG," ",SG)_" ")>IOM
  • Line Location: INST+2
Function Call: WRITE
  • Prompt: $P(MIG," ",SG)_" "
  • Line Location: INST+2
Function Call: WRITE
  • Prompt: !,PSONULN,!,$C(7),"Duplicate Drug "_$S($G(PSODRUG("NAME"))=$P(DNM,"^"):$P(DNM,"^"),1:"Class "_$G(PSODRUG("VA CLASS")))_" in a Non-VA Med Order.",!
  • Line Location: DSP+1
Function Call: WRITE
  • Prompt: !,"Orderable Item: "_$P(^PS(50.7,$P(DUPRX0,"^"),0),"^")_" "_$P(^PS(50.606,$P(^(0),"^",2),0),"^")
  • Line Location: DSP+3
Function Call: WRITE
  • Prompt: !,"Drug: "_$S($P(DUPRX0,"^",2):$P(^PSDRUG($P(DUPRX0,"^",2),0),"^"),1:"No Dispense Drug Selected")
  • Line Location: DSP+4
Function Call: WRITE
  • Prompt: !,"Drug Class: "_$G(PSODRUG("VA CLASS"))
  • Line Location: DSP+5
Function Call: WRITE
  • Prompt: !,"Dosage: "_$P(DUPRX0,"^",3)
  • Line Location: DSP+6
Function Call: WRITE
  • Prompt: !,"Schedule: "_$P(DUPRX0,"^",5),?40,"Medication Route: "_$P(DUPRX0,"^",4)
  • Line Location: DSP+7
Function Call: WRITE
  • Prompt: !,"Start Date: "_$$FMTE^XLFDT($P(DUPRX0,"^",9)),?40,"CPRS Order #: "_$P(DUPRX0,"^",8)
  • Line Location: DSP+8
Function Call: WRITE
  • Prompt: !,"Documented By: "_$P(^VA(200,$P(DUPRX0,"^",11),0),"^")_" on "_$$FMTE^XLFDT($P(DUPRX0,"^",10))
  • Line Location: DSP+9
Function Call: WRITE
  • Prompt: !
  • Line Location: DSP+10
Function Call: WRITE
  • Prompt: !?5,OCK(II)
  • Line Location: DSP+15
Function Call: WRITE
  • Prompt: OCK(II)
  • Line Location: DSP+21
Function Call: WRITE
  • Prompt: !?5
  • Line Location: DSP+21
Function Call: WRITE
  • Prompt: !?5,OCK(II)
  • Line Location: DSP+25
Function Call: WRITE
  • Prompt: !,PSONULN,!
  • Line Location: DSP+26
Routine Call
  • DIR
  • Line Location:
    • ASKCAN
    • ASKCAN+4
    • CLS+5
    • NVA+4
    • DSP+28

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^DD("DD" DATA+9
^PS(50.606 - [#50.606] DATA+2, DSP+3
^PS(50.7 - [#50.7] DATA+2, DSP+3
^PS(51.2 - [#51.2] DATA+8
^PS(52.41 - [#52.41] PSODRDU1+10, PSODRDU1+11, PSODRDU1+20, DATAINST+1
^PS(53 - [#53] DATA+11
^PS(55 - [#55] NVA+5, DSP+2, DSP+10, DSP+11, DSP+18, DSP+22
^PS(56 - [#56] NVA+2
^PSDRUG - [#50] DATA+3, DSP+4
^SC - [#44] DATA+8
^TMP("PSORXDC" ASKCAN+8*
^VA(200 - [#200] DATA+8, DSP+9, DSP+17
^XUSEC("PSORPH" PSODRDU1+13, PSODRDU1+17, PSODRDU1+21, PSODRDU1+25

Label References

Name Line Occurrences
CLS PSODRDU1+18, PSODRDU1+26
DATA CLS+4
DSP NVA+7, NVA+8
DUP PSODRDU1+14, PSODRDU1+15, PSODRDU1+16, PSODRDU1+17, PSODRDU1+22, PSODRDU1+23, PSODRDU1+24, PSODRDU1+25
INST DATA+4, DATA+10
ULPN ASKCAN+5

Naked Globals

Name Field # of Occurrence
^(0 DATA+2, DSP+3, DSP+11

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
>> ACT ASKCAN+6*
CLS ASKCAN+5!, ASKCAN+7, ASKCAN+9!, CLS+1!, CLS+4*, CLS+6!
DIR ASKCAN!, ASKCAN+4!, CLS+5!, NVA+4!, DSP+28!
DIR("?" ASKCAN+3*
DIR("A" ASKCAN*, ASKCAN+3*, CLS+5*, NVA+4*, DSP+28*
DIR(0 ASKCAN*, ASKCAN+3*, CLS+5*, NVA+4*, DSP+28*
DIRUT CLS+5!, NVA+4!, DSP+28!
>> DNM PSODRDU1+9, PSODRDU1+13, PSODRDU1+17, PSODRDU1+18, PSODRDU1+21, PSODRDU1+25, PSODRDU1+26, DUPASKCAN+9, CLS+1
CLS+3, NVA+3, NVA+5, NVA+6, NVA+7, NVA+8, DSP+1
DSC DSP+25!, DSP+27!
DSC( DSP+22*, DSP+23, DSP+24
DTOUT CLS+5!, NVA+4!, DSP+28!
DUOUT CLS+5!, NVA+4!, DSP+28!
DUP DUP*, ASKCAN!, ASKCAN+5!, ASKCAN+9!, CLS!, CLS+1!, CLS+6!
DUPRX0 DATA*, DATA+2, DATA+3, DATA+7, DATA+8, DATA+9, DSP+2*, DSP+3, DSP+4, DSP+6
DSP+7, DSP+8, DSP+9, DSP+27!
DUZ PSODRDU1+13, PSODRDU1+17, PSODRDU1+21, PSODRDU1+25
FL DSP+27!
FSIG PSODRDU1+12!, PSODRDU1+21!, PSODRDU1+27!, DSP+27!
FSIG( DATA+6
I DATA+6*, DSP+10*, DSP+11, DSP+12, DSP+18, DSP+27!
IEN DSP+13*, DSP+14*, DSP+16!, DSP+19*, DSP+20*, DSP+21!, DSP+23*, DSP+24*, DSP+25!, DSP+27!
IFN NVA+6*, DSP+10, DSP+11, DSP+18, DSP+22, DSP+27!
II DSP+15*, DSP+16!, DSP+19*, DSP+20, DSP+21*, DSP+23*, DSP+24, DSP+25*
INST INST+1*, INST+3!
IOM DATA+5, INST+2
ISSD DATA*, DSP+27!
>> IT NVA+1, NVA+2, NVA+7, NVA+8
J DSP+27!
LEN DSP+13!*, DSP+16!
LSTFD DSP+27!
LSTFL DSP+27!
MIG INST+1*, INST+2, INST+3!
>> MSG DUP+1*, ASKCAN+8, CLS+2*
OCK DSP+13!, DSP+16!, DSP+18!, DSP+22!, DSP+27!
OCK( DSP+14*, DSP+15, DSP+20*, DSP+21, DSP+24*, DSP+25
>> ORD PSODRDU1+12, PSODRDU1+13, PSODRDU1+17, PSODRDU1+18
ORD1 DSP+11*, DSP+13, DSP+14, DSP+16!, DSP+27!
ORP DSP+11*, DSP+17, DSP+18!
PHYS DSP+27!
>> PSODFN NVA+5, DSP+2, DSP+10, DSP+11, DSP+18, DSP+22
>> PSODRUG("NAME" PSODRDU1+13, PSODRDU1+17, PSODRDU1+18, PSODRDU1+21, PSODRDU1+25, PSODRDU1+26, NVA+7, NVA+8, DSP+1
>> PSODRUG("VA C LASS" , PSODRDU1+18, PSODRDU1+26, CLS+1, CLS+3, NVA+8, DSP+1, DSP+5
PSOELSE CLS+1!, CLS+6!
PSOMSG ASKCAN!, ASKCAN+1, ASKCAN+3!
PSONULN DUPDATA+11, CLS+2, DSP*, DSP+1, DSP+26, DSP+27!
>> PSONV DUP+1, ASKCAN+6, CLS+2
>> PSOPAR PSODRDU1+14, PSODRDU1+15, PSODRDU1+16, PSODRDU1+22, PSODRDU1+23, PSODRDU1+24, DATA+11, CLS+4
>> PSORX("DFLG" PSODRDU1+13, PSODRDU1+14, PSODRDU1+15, PSODRDU1+16, PSODRDU1+17, PSODRDU1+21, PSODRDU1+22, PSODRDU1+23, PSODRDU1+24, PSODRDU1+25
, ASKCAN*, ASKCAN+5*
>> PSORX("PATIEN T STATUS" , DATA+11
>> PSOSD( PSODRDU1+9, PSODRDU1+18, PSODRDU1+26, ASKCAN+9!, CLS+1, NVA+5, NVA+6, NVA+8
REA DSP+18!, DSP+21!, DSP+27!
REA( DSP+18*, DSP+19, DSP+20
RFLS DATA*, DSP+27!
RX3 DSP+27!
RXREC PSODRDU1+9*, PSODRDU1+10, PSODRDU1+11, PSODRDU1+13, PSODRDU1+17, PSODRDU1+18, PSODRDU1+20, DATADATA+1, DATA+4
DATA+5, ASKCAN+8, INST+1, NVA+6*, DSP+2, DSP+27!
RXRECLOD DATA+1*, DATA+11!, ASKCAN!, ULPN+1, ULPN+2!
>> SER NVA+2*, NVA+3
SG INST+2*, INST+3!, DSP+14*, DSP+16!, DSP+20*, DSP+21!, DSP+24*, DSP+25!
>> SS DSP+18*, DSP+22*
ST DSP+27!
>> STA PSODRDU1+9, PSODRDU1+18, PSODRDU1+26, ASKCAN+9, CLS+1, NVA+5, NVA+6, NVA+8
TRM DSP+27!
TY DATA+4*, DATA+10*, INST+1, INST+2, INST+3!
X DSP+27!
Y DATA+9*, ASKCAN+5, DSP+27!
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables  | All