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

Package: Outpatient Pharmacy

Routine: PSODDPR1


Information

PSODDPR1 ;BIR/SAB - enhanced dup drug checker for pending/nva orders ;09/30/06 11:33am

Source Information

Source file <PSODDPR1.m>

Call Graph

Call Graph

Call Graph Total: 5

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

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

Package Total Caller Graph
Outpatient Pharmacy 2 PSOCPPRE  PSODDPRE  

Entry Points

Name Comments DBIA/ICR reference
DUP
DATA
ASKCAN
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 ASKCAN+3, ASKCAN+4, ASKCAN+8, NVA+4, DSP+14, DSP+18
^DIWP ASKCAN+12
FSIG^PSOUTLA DATA+5
PSOL^PSSLOCK ASKCAN+4
PSOUL^PSSLOCK ULPN+2
$$FMTE^XLFDT DSP+8, DSP+10

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !,PSONULN,!,$C(7),"DUPLICATE DRUG in a Pending Order for",!
  • Line Location: DUP+0
Function Call: WRITE
  • Prompt: !,$J("Orderable Item: ",20)_$P(^PS(50.7,$P(DUPRX0,"^",8),0),"^")_" "_$P(^PS(50.606,$P(^(0),"^",2),0),"^")
  • Line Location: DATA+2
Function Call: WRITE
  • Prompt: !,$J("Drug: ",20)_$S($P(DUPRX0,"^",9):$P(^PSDRUG($P(DUPRX0,"^",9),0),"^"),1:"No Dispense Drug Selected")
  • Line Location: DATA+3
Function Call: WRITE
  • Prompt: $J(FSIG(I),20)
  • Line Location: DATA+6
Function Call: WRITE
  • Prompt: !?8
  • Line Location: DATA+6
Function Call: WRITE
  • Prompt: !,$J("Quantity: ",20)_$P(DUPRX0,"^",10),?35,$J("# of Refills: ",20)_$P(DUPRX0,"^",11)
  • Line Location: DATA+7
Function Call: WRITE
  • Prompt: !,$J("Provider: ",20)_$P(^VA(200,$P(DUPRX0,"^",5),0),"^")
  • Line Location: DATA+8
Function Call: WRITE
  • Prompt: ?30,$J("Issue Date: ",20)_Y
  • Line Location: DATA+9
Function Call: WRITE
  • Prompt: !,"PATIENT ON AUTHORIZED ABSENCE!"
  • Line Location: DATA+11
Function Call: WRITE
  • Prompt: !!,$P(PSOMSG,"^",2),!
  • Line Location: ASKCAN+5
Function Call: WRITE
  • Prompt: !,$C(7)," Pending Order was not discontinued..."
  • Line Location: ASKCAN+9
Function Call: WRITE
  • Prompt: !
  • Line Location: ASKCAN+12
Function Call: WRITE
  • Prompt: !,^UTILITY($J,"W",1,ZX,0)
  • Line Location: ASKCAN+13
Function Call: WRITE
  • Prompt: !
  • Line Location: ASKCAN+14
Function Call: WRITE
  • Prompt: @$S(TY=3:"!?14",1:"!?19")
  • Condition for execution: $X+$L($P(MIG," ",SG)_" ")>IOM
  • Line Location: INST+3
Function Call: WRITE
  • Prompt: $P(MIG," ",SG)_" "
  • Line Location: INST+3
Function Call: WRITE
  • Prompt: !,PSONULN,!,"Duplicate Drug in a Non-VA Med Order for",!
  • Line Location: DSP+1
Function Call: WRITE
  • Prompt: !,$J("Drug: ",20)_$S($P(DUPRX0,"^",2):$P(^PSDRUG($P(DUPRX0,"^",2),0),"^"),1:"No Dispense Drug Selected")
  • Line Location: DSP+4
Function Call: WRITE
  • Prompt: !,$J("Dosage: ",20)_$S($P(DUPRX0,"^",3):$P(DUPRX0,"^",3),1:"<NOT ENTERED>")
  • Line Location: DSP+6
Function Call: WRITE
  • Prompt: !,$J("Schedule: ",20)_$S($P(DUPRX0,"^",5)]"":$P(DUPRX0,"^",5),1:"<NOT ENTERED>"),!,$J("Medication Route: ",20)_$S($P(DUPRX0,"^",4)]"":$P(DUPRX0,"^",4),1:"<NOT ENTERED>")
  • Line Location: DSP+7
Function Call: WRITE
  • Prompt: !,$J("Start Date: ",20)_$S($P(DUPRX0,"^",9):$$FMTE^XLFDT($P(DUPRX0,"^",9)),1:"<NOT ENTERED>")
  • Line Location: DSP+8
Function Call: WRITE
  • Prompt: ?40,$J("CPRS Order #: ",20)_$P(DUPRX0,"^",8)
  • Line Location: DSP+9
Function Call: WRITE
  • Prompt: !,$J("Documented By: ",20)_$P(^VA(200,$P(DUPRX0,"^",11),0),"^")_" on "_$$FMTE^XLFDT($P(DUPRX0,"^",10))
  • Line Location: DSP+10
Function Call: WRITE
  • Prompt: !,PSONULN,!
  • Line Location: DSP+11
Function Call: WRITE
  • Prompt: !
  • Line Location: DSP+16
Function Call: WRITE
  • Prompt: @IOF
  • Line Location: DSP+17
Function Call: WRITE
  • Prompt: !?5,OCK(II)
  • Line Location: DSP+25
Function Call: WRITE
  • Prompt: " <NOT ENTERED>"
  • Line Location: DSP+29
Function Call: WRITE
  • Prompt: OCK(II)
  • Line Location: DSP+32
Function Call: WRITE
  • Prompt: !?5
  • Line Location: DSP+32
Function Call: WRITE
  • Prompt: !?5,OCK(II)
  • Line Location: DSP+36
Routine Call
  • DIR
  • Line Location:
    • ASKCAN+3
    • ASKCAN+4
    • ASKCAN+8
    • NVA+4
    • DSP+14
    • DSP+18

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^DD("DD" DATA+9
^PS(50.606 - [#50.606] DATA+2, DATA+4
^PS(50.7 - [#50.7] DATA+2, DATA+4
^PS(52.41 - [#52.41] PSODDPR1+11, PSODDPR1+12, PSODDPR1+26, DATAINST+1
^PS(53 - [#53] DATA+11
^PS(55 - [#55] NVA+5, DSP+2, DSP+16, DSP+21, DSP+28, DSP+33
^PS(56 - [#56] NVA+2
^PSDRUG - [#50] DATA+3, DATA+4, DSP+4
^TMP("PSORXDC" PSODDPR1+20*, PSODDPR1+33*, ASKCAN+15*
^TMP($J DSP+12*
^UTILITY($J ASKCAN+11!, ASKCAN+13, ASKCAN+14!
^VA(200 - [#200] DATA+8, DSP+10, DSP+27
^XUSEC("PSORPH" PSODDPR1+14, PSODDPR1+24, PSODDPR1+27, PSODDPR1+37, ASKCAN+2, NVA+6

Label References

Name Line Occurrences
DSP NVA+8
DUP PSODDPR1+15, PSODDPR1+16, PSODDPR1+21, PSODDPR1+22, PSODDPR1+23, PSODDPR1+24, PSODDPR1+28, PSODDPR1+29, PSODDPR1+34, PSODDPR1+35
PSODDPR1+36, PSODDPR1+37
INST DATA+10
ULPN ASKCAN+9

Naked Globals

Name Field # of Occurrence
^(0 DATA+2, DATA+4, DSP+21

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

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