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

Package: Outpatient Pharmacy

Routine: PSODRDUP


Information

PSODRDUP ;BIR/SAB - Dup drug class checker ;4/30/09 12:32pm

Source Information

Source file <PSODRDUP.m>

Call Graph

Call Graph

Call Graph Total: 12

Package Total Call Graph
Outpatient Pharmacy 8 ^PSOBUILD  ^PSOCMOPA  REMOTE^PSOCPDUP  (,NVA)^PSODRDU1  STAT^PSOFUNC  ($$TRANCMOP,CMOP)^PSOUTL  FSIG^PSOUTLA  EN2^PSOUTLA1  
Kernel 2 ENDR^%ZISS  $$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: 1

Package Total Caller Graph
Outpatient Pharmacy 1 PSOCPDUP  

Entry Points

Name Comments DBIA/ICR reference
EXIT
DUP
DATA
ASKCAN
CLS
ULRX ;
PRSTAT(DA) ;Displays the prescription's status

External References

Name Field # of Occurrence
ENDR^%ZISS PRSTAT+7
^DIR ASKCANASKCAN+4, ASKCAN+8, CLS+5
^PSOBUILD EXIT
^PSOCMOPA PRSTAT+3
REMOTE^PSOCPDUP PSODRDUP+15
^PSODRDU1 PSODRDUP+6
NVA^PSODRDU1 PSODRDUP+7
STAT^PSOFUNC DATA+2
$$TRANCMOP^PSOUTL PRSTAT+10
CMOP^PSOUTL ASKCAN+9
FSIG^PSOUTLA DATA+4
EN2^PSOUTLA1 DATA+5
PSOL^PSSLOCK ASKCAN+4
PSOUL^PSSLOCK ULRX+2
$$FMTE^XLFDT PRSTAT+17, PRSTAT+18

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !,PSONULN,!,$C(7),"Duplicate Drug "_$P(DNM,"^")_" in Prescription: ",$P(^PSRX(+PSOSD(STA,DNM),0),"^")
  • Line Location: DUP+0
Function Call: WRITE
  • Prompt: !!,$J("Status: ",24)
  • Line Location: DATA+2
Function Call: WRITE
  • Prompt: ST
  • Line Location: DATA+2
Function Call: WRITE
  • Prompt: ST
  • Line Location: DATA+2
Function Call: WRITE
  • Prompt: !,$J("SIG: ",24)
  • Line Location: DATA+6
Function Call: WRITE
  • Prompt: $G(BSIG(1))
  • Line Location: DATA+6
Function Call: WRITE
  • Prompt: !?24,$G(BSIG(PSREV))
  • Line Location: DATA+7
Function Call: WRITE
  • Prompt: !,$J("QTY: ",24)_$P(DUPRX0,"^",7),?40,$J("# of refills: ",24)_RFLS
  • Line Location: DATA+9
Function Call: WRITE
  • Prompt: !,$J("Provider: ",24)_PHYS,?40,$J("Refills remaining: ",24),RFLS-$S($D(^PSRX(RXREC,1,0)):$P(^(0),"^",4),1:0)
  • Line Location: DATA+10
Function Call: WRITE
  • Prompt: !?40,$J("Last filled on: ",24)_$E(LSTFL,4,5)_"/"_$E(LSTFL,6,7)_"/"_$E(LSTFL,2,3),!?40,$J("Days Supply: ",24)_$P(DUPRX0,"^",8)
  • Line Location: DATA+11
Function Call: WRITE
  • Prompt: !,"PATIENT ON AUTHORIZED ABSENCE!"
  • Line Location: DATA+12
Function Call: WRITE
  • Prompt: !!,"Prescription "_$P($G(^PSRX(+$G(RXRECLOC),0)),"^")_" is on Provider Hold, it cannot be discontinued.",!
  • Line Location: ASKCAN+3
Function Call: WRITE
  • Prompt: !!,$P(PSOMSG,"^",2),!
  • Line Location: ASKCAN+5
Function Call: WRITE
  • Prompt: !,"A CMOP Rx cannot be discontinued during transmission!",!
  • Line Location: ASKCAN+9
Function Call: WRITE
  • Prompt: $C(7)," -Prescription was not "_$S($P(PSOSD(STA,DNM),"^",2)=12:"reinstated",1:"discontinued")_"..."
  • Line Location: ASKCAN+10
Function Call: WRITE
  • Prompt: !!,"Prescription "_$P($G(^PSRX(+$G(RXRECLOC),0)),"^")_" is on Provider Hold, it cannot be discontinued.",!
  • Line Location: ASKCAN+13
Function Call: WRITE
  • Prompt: !!,"Duplicate "_$S($G(CLS):"Class",1:"Drug")_" will be discontinued after the acceptance of the new order.",!
  • Line Location: ASKCAN+15
Function Call: WRITE
  • Prompt: !,PSONULN
  • Line Location: CLS+2
Function Call: WRITE
  • Prompt: !?5,$C(7),"*** SAME CLASS *** OF DRUG IN RX #"_$P(^PSRX(+PSOSD(STA,DNM),0),"^")_" FOR "_$P(DNM,"^"),!,"CLASS: "_PSODRUG("VA CLASS")
  • Line Location: CLS+3
Function Call: WRITE
  • Prompt: !,PSONULN
  • Line Location: CLS+5
Function Call: WRITE
  • Prompt: "Returned to stock on "_$$FMTE^XLFDT(PSORTS,2)
  • Line Location: PRSTAT+17
Routine Call
  • DIR
  • Line Location:
    • ASKCAN
    • ASKCAN+4
    • ASKCAN+8
    • CLS+5

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^PS(53 - [#53] DATA+12
^PSRX - [#52] DUPDATADATA+4, DATA+5, DATA+10, DATA+11, ASKCAN+3, ASKCAN+6, ASKCAN+7, ASKCAN+13
CLS+3, PRSTAT+2, PRSTAT+5, PRSTAT+9, PRSTAT+13, PRSTAT+14, PRSTAT+16, PRSTAT+18
^TMP("PSORXDC" ASKCAN+12!, ASKCAN+16*
^TMP($J PSODRDUP+14!
^VA(200 - [#200] DATA+9
^XUSEC("PSORPH" PSODRDUP+8, PSODRDUP+12, ASKCAN+1, ASKCAN+2

Label References

Name Line Occurrences
CLS PSODRDUP+13
DATA CLS+4
DUP PSODRDUP+9, PSODRDUP+10, PSODRDUP+11, PSODRDUP+12
PRSTAT DATA+3
ULRX ASKCAN+11, ASKCAN+13

Naked Globals

Name Field # of Occurrence
^(0 DATA+9, DATA+10

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
ACT EXIT!, ASKCAN+8*, ASKCAN+11, ASKCAN+14, ASKCAN+16
BSIG DATA+4!, DATA+8!
BSIG( DATA+4*, DATA+7
BSIG(1 DATA+6, DATA+7
CAN EXIT!, CLS+4*
CLS PSODRDUP+4!, ASKCAN+1, ASKCAN+2, ASKCAN+13!, ASKCAN+15, ASKCAN+17!, CLS+2*
CMOP ASKCAN+9!, PRSTAT+1~, PRSTAT+3!
CMOP("L" PRSTAT+5
CMOP("S" ASKCAN+9
DA EXIT!, DATA+3*, ASKCAN+8*, ASKCAN+16, PRSTAT~, PRSTAT+5
DIR EXIT!, ASKCAN!, ASKCAN+4!, ASKCAN+8!, CLS+5!
DIR("?" ASKCAN+7*
DIR("A" ASKCAN*, ASKCAN+4*, ASKCAN+7*, CLS+5*
DIR(0 ASKCAN*, ASKCAN+4*, ASKCAN+7*, CLS+5*
DIRUT ASKCAN!, CLS+5!
DNM PSODRDUP+4*, PSODRDUP+5*, PSODRDUP+8, PSODRDUP+12, PSODRDUP+13, EXIT!, DUPDUP+1, ASKCANASKCAN+3
ASKCAN+7, ASKCAN+8, ASKCAN+10, ASKCAN+11, ASKCAN+13, ASKCAN+14, ASKCAN+16, CLS+1, CLS+3, CLS+4
DTOUT ASKCAN!, CLS+5!
DUOUT ASKCAN!, CLS+5!
DUP DUP*, ASKCAN+3!, ASKCAN+4!, ASKCAN+11!, ASKCAN+13!, ASKCAN+17!, CLS!
DUPRX0 EXIT!, DATA*, DATA+9, DATA+11
DUZ PSODRDUP+8, PSODRDUP+12, ASKCAN+1, ASKCAN+2, ASKCAN+11, ASKCAN+14
FSIG DATA+4!, DATA+5!
FSIG( DATA+4
>> IOINHI PRSTAT+7, PRSTAT+10
>> IOINORM PRSTAT+7, PRSTAT+11
>> IORVOFF PRSTAT+11
>> IORVON PRSTAT+10
ISSD EXIT!, DATA*, DATA+2
J EXIT!, DATA+2*
LSTFL EXIT!, DATA+11*
MSG EXIT!, DUP+1*, ASKCAN+11*, ASKCAN+14*, ASKCAN+16, CLS+2*
PHYS EXIT!, DATA+9*, DATA+10
PSOCD EXIT!
PSOCLC EXIT!, ASKCAN+11*, ASKCAN+14*
PSOCLOZ EXIT!
>> PSOCMOP PRSTAT+3, PRSTAT+4, PRSTAT+11, PRSTAT+12
>> PSODRUG("NAME" PSODRDUP+8, PSODRDUP+12, PSODRDUP+13
>> PSODRUG("VA C LASS" , PSODRDUP+13, CLS+1, CLS+3
PSOELSE CLS+1!, CLS+6!
PSOLDT EXIT!
PSOLR EXIT!
PSOLRD PRSTAT+1~, PRSTAT+2*, PRSTAT+15*, PRSTAT+16*, PRSTAT+18
PSOMSG ASKCAN+4!, ASKCAN+5, ASKCAN+7!
PSONOOR ASKCAN+16*, ASKCAN+17!
PSONULN PSODRDUP+4*, EXIT!, DUPDATA+12, CLS+2, CLS+5
>> PSONV DUP+1, ASKCAN+8, ASKCAN+14, CLS+2
>> PSOPAR PSODRDUP+9, PSODRDUP+10, PSODRDUP+11, DATA+12, ASKCAN+1, ASKCAN+2, CLS+4
PSOREL PRSTAT+1~, PRSTAT+3!, PRSTAT+5*, PRSTAT+6*, PRSTAT+11
>> PSORENW("OIRXN" PSODRDUP+5
PSORTS PRSTAT+1~, PRSTAT+15*, PRSTAT+16*, PRSTAT+17
>> PSORX("DFLG" PSODRDUP+5, PSODRDUP+8, PSODRDUP+9, PSODRDUP+10, PSODRDUP+11, PSODRDUP+12, ASKCAN+1*, ASKCAN+2*, ASKCAN+3*, ASKCAN+4*
ASKCAN+11*, ASKCAN+13*
>> PSORX("PATIEN T STATUS" , DATA+12
>> PSOSD( PSODRDUP+5, PSODRDUP+13, DUPDUP+1, ASKCANASKCAN+3, ASKCAN+7, ASKCAN+8, ASKCAN+10, ASKCAN+11
ASKCAN+13, ASKCAN+14, CLS+1, CLS+3, CLS+4
PSOTRANS PRSTAT+1~, PRSTAT+3!, PRSTAT+4*, PRSTAT+11
PSOX PRSTAT+1~, PRSTAT+13*, PRSTAT+14
PSREV DATA+4*, DATA+5!, DATA+7*, DATA+8!
REA EXIT!, ASKCAN+11*, ASKCAN+14*, ASKCAN+16
RFLS EXIT!, DATA*, DATA+9, DATA+10
RFLZRO PRSTAT+1~, PRSTAT+14*, PRSTAT+15
RX0 EXIT!, DATA*, DATA+2!
RX2 EXIT!, DATA*, DATA+2!
RXN EXIT!
RXPSTA PRSTAT+1~, PRSTAT+2*, PRSTAT+11, PRSTAT+17
RXREC EXIT!, DUP+1*, DATADATA+1, DATA+2, DATA+3, DATA+4, DATA+5, DATA+10, DATA+11
ASKCAN+8, ASKCAN+12, ASKCAN+16, CLS+4*, PRSTAT+2, PRSTAT+9, PRSTAT+10, PRSTAT+13, PRSTAT+14, PRSTAT+16
, PRSTAT+18
RXRECLOC DATA+1*, DATA+12!, ASKCAN!, ASKCAN+1!, ASKCAN+2!, ASKCAN+3!, ASKCAN+4!, ASKCAN+6, ASKCAN+11!, ASKCAN+13!
ASKCAN+17!, ULRX+1, ULRX+2
SIG EXIT!
>> SPCANC ASKCAN+8
ST EXIT!, DATA+2
>> STA PSODRDUP+4*, PSODRDUP+5*, PSODRDUP+6, PSODRDUP+7, PSODRDUP+13, DUPDUP+1, ASKCANASKCAN+3, ASKCAN+7
ASKCAN+8, ASKCAN+10, ASKCAN+11, ASKCAN+13, ASKCAN+14, ASKCAN+16, CLS+1, CLS+3, CLS+4
>> X PRSTAT+7*
Y EXIT!, ASKCAN+9*, ASKCAN+10
ZZ EXIT!
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables  | All