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 ;29-May-2012 14:45;PLS

Source Information

Source file <PSODRDUP.m>

Call Graph

Call Graph Total: 14

Package Total Call Graph
Outpatient Pharmacy 8 ^PSOBUILD  ^PSOCMOPA  REMOTE^PSOCPDUP  (,NVA)^PSODRDU1  STAT^PSOFUNC  CMOP^PSOUTL  FSIG^PSOUTLA  EN2^PSOUTLA1  
Kernel 3 $$FMTE^XLFDT  $$UP^XLFSTR  SIG^XUSESIG  
IHS Changes To Pharmacy 1 $$DIRYN^APSPUTIL  
Pharmacy Data Management 1 (PSOL,PSOUL)^PSSLOCK  
VA Fileman 1 ^DIR  

Caller Graph

Caller Graph Total: 4

Package Total Caller Graph
IHS Changes To Pharmacy 2 APSQDRG  APSQFAS4  
Outpatient Pharmacy 2 PSOCPDUP  PSOVER1  

Entry Points

Name Comments DBIA/ICR reference
CHK(FLG,RX) ; EP - IHS/MSC/PLS - 10/05/07 - New API for auto RTS/delete feature
EXPCMF ; EP - Set flag to remove CMF flag on expired duplicate meds
ASKCAN ;IHS/MSC/PLS - 09/27/10
PRSTAT(DA) ;Displays the prescription's status
EXIT
ASKCAN1
DUP
DATA
ULRX ;
CLS

External References

Name Field # of Occurrence
$$DIRYN^APSPUTIL ASKCAN+13
^DIR ASKCAN+3, ASKCAN+7, ASKCAN+16, CLS+5
^PSOBUILD EXIT
^PSOCMOPA PRSTAT+3
REMOTE^PSOCPDUP PSODRDUP+20
^PSODRDU1 PSODRDUP+11
NVA^PSODRDU1 PSODRDUP+12
STAT^PSOFUNC DATA+2
CMOP^PSOUTL ASKCAN1+1
FSIG^PSOUTLA DATA+4
EN2^PSOUTLA1 DATA+5
PSOL^PSSLOCK ASKCAN+7
PSOUL^PSSLOCK ULRX+2
$$FMTE^XLFDT PRSTAT+13, PRSTAT+14
$$UP^XLFSTR PSODRDUP+13, PSODRDUP+17, PSODRDUP+18
SIG^XUSESIG CHK+17

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+6
Function Call: WRITE
  • Prompt: !!,$P(PSOMSG,"^",2),!
  • Line Location: ASKCAN+8
Function Call: WRITE
  • Prompt: !,"A CMOP Rx cannot be discontinued during transmission!",!
  • Line Location: ASKCAN1+1
Function Call: WRITE
  • Prompt: $C(7)," -Prescription was not "_$S($P(PSOSD(STA,DNM),"^",2)=12:"reinstated",1:"discontinued")_"..."
  • Line Location: ASKCAN1+2
Function Call: WRITE
  • Prompt: !!,"Prescription "_$P($G(^PSRX(+$G(RXRECLOC),0)),"^")_" is on Provider Hold, it cannot be discontinued.",!
  • Line Location: ASKCAN1+5
Function Call: WRITE
  • Prompt: !!,"Duplicate "_$S($G(CLS):"Class",1:"Drug")_" will be discontinued after the acceptance of the new order.",!
  • Line Location: ASKCAN1+7
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+13
Function Call: WRITE
  • Prompt: !,NMSG,!,"Bypassing auto RTS/Delete feature."
  • Line Location: CHK+18
Routine Call
  • DIR
  • Line Location:
    • ASKCAN+3
    • ASKCAN+7
    • ASKCAN+16
    • CLS+5

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^PS(53 - [#53] DATA+12
^PSDRUG - [#50] CHK+8
^PSRX - [#52] DUP, DATA, DATA+4, DATA+5, DATA+10, DATA+11, ASKCAN+6, ASKCAN+9, ASKCAN+13, ASKCAN+15
, ASKCAN1+5, CLS+3, PRSTAT+2, PRSTAT+5, PRSTAT+9, PRSTAT+10, PRSTAT+12, PRSTAT+14, CHK+2
^TMP("PSORXDC" ASKCAN1+4!, ASKCAN1+8*, EXPCMF+1*
^TMP($J PSODRDUP+19!
^VA(200 - [#200] DATA+9
^XUSEC("PSDMGR" CHK+10
^XUSEC("PSORPH" PSODRDUP+13, PSODRDUP+17, ASKCAN+4, ASKCAN+5

Label References

Name Line Occurrences
$$CHK ASKCAN+14
ASKCAN1 ASKCAN+14
CLS PSODRDUP+18
DATA CLS+4
DUP PSODRDUP+14, PSODRDUP+15, PSODRDUP+16, PSODRDUP+17
EXPCMF ASKCAN+3
PRSTAT DATA+3
ULRX ASKCAN1+3, ASKCAN1+5

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!, ASKCAN1*, ASKCAN1+3, ASKCAN1+6, ASKCAN1+8
APSPCMF ASKCAN+1~, ASKCAN+3*, EXPCMF+1
APSPQ ASKCAN+13~, ASKCAN+14
APSPRTS ASKCAN+13~*, ASKCAN+14, EXPCMF+1
BSIG DATA+4!, DATA+8!
BSIG( DATA+4*, DATA+7
BSIG(1 DATA+6, DATA+7
CAN EXIT!, CLS+4*
CLS PSODRDUP+9!, ASKCAN+4, ASKCAN+5, ASKCAN1+5!, ASKCAN1+7, ASKCAN1+9!, CLS+2*
CMOP ASKCAN1+1!, PRSTAT+1~, PRSTAT+3!
CMOP("L" PRSTAT+5
CMOP("S" ASKCAN1+1
DA EXIT!, DATA+3*, ASKCAN1*, ASKCAN1+8, PRSTAT~, PRSTAT+5
DIR EXIT!, ASKCAN+3!, ASKCAN+7!, ASKCAN+16!, CLS+5!
DIR("?" ASKCAN+15*
DIR("A" ASKCAN+3*, ASKCAN+7*, ASKCAN+15*, CLS+5*
DIR(0 ASKCAN+3*, ASKCAN+7*, ASKCAN+15*, CLS+5*
DIRUT ASKCAN+3!, CLS+5!
DNM PSODRDUP+9*, PSODRDUP+10*, PSODRDUP+13, PSODRDUP+17, PSODRDUP+18, EXIT!, DUP, DUP+1, ASKCAN+3, ASKCAN+6
, ASKCAN+13, ASKCAN+15, ASKCAN1, ASKCAN1+2, ASKCAN1+3, ASKCAN1+5, ASKCAN1+6, ASKCAN1+8, CLS+1, CLS+3
, CLS+4, EXPCMF+1
DT ASKCAN+13
DTOUT ASKCAN+3!, CLS+5!
DUOUT ASKCAN+3!, CLS+5!
DUP DUP*, ASKCAN+6!, ASKCAN+7!, ASKCAN1+3!, ASKCAN1+5!, ASKCAN1+9!, CLS!
DUPRX0 EXIT!, DATA*, DATA+9, DATA+11
DUZ PSODRDUP+13, PSODRDUP+17, ASKCAN+4, ASKCAN+5, ASKCAN1+3, ASKCAN1+6, CHK+10
EXIT CHK+14~, CHK+15*, CHK+16, CHK+18*, CHK+19*
FLG CHK~, CHK+2, CHK+3*, CHK+10, CHK+12*, CHK+18*, CHK+22
FSIG DATA+4!, DATA+5!
FSIG( DATA+4
ISSD EXIT!, DATA*, DATA+2
J EXIT!, DATA+2*
LSTFL EXIT!, DATA+11*
MSG EXIT!, DUP+1*, ASKCAN1+3*, ASKCAN1+6*, ASKCAN1+8, CLS+2*
NAR CHK+7~, CHK+8*, CHK+10, CHK+13
NMSG CHK+7~, CHK+9*, CHK+18, CHK+20
PHYS EXIT!, DATA+9*, DATA+10
PSOCD EXIT!
PSOCLC EXIT!, ASKCAN1+3*, ASKCAN1+6*
PSOCLOZ EXIT!
>> PSOCMOP PRSTAT+3, PRSTAT+4, PRSTAT+7, PRSTAT+8
>> PSODRUG("IEN" CHK+8
>> PSODRUG("NAME" PSODRDUP+13, PSODRDUP+17, PSODRDUP+18
>> PSODRUG("VA C LASS" , PSODRDUP+18, CLS+1, CLS+3
PSOELSE CLS+1!, CLS+6!
PSOLDT EXIT!
PSOLR EXIT!
PSOLRD PRSTAT+1~, PRSTAT+2*, PRSTAT+11*, PRSTAT+12*, PRSTAT+14
PSOMSG ASKCAN+7!, ASKCAN+8, ASKCAN+15!
PSONOOR ASKCAN1+8*, ASKCAN1+9!
PSONULN PSODRDUP+9*, EXIT!, DUP, DATA+12, CLS+2, CLS+5
>> PSONV DUP+1, ASKCAN1, ASKCAN1+6, CLS+2
>> PSOPAR PSODRDUP+14, PSODRDUP+15, PSODRDUP+16, DATA+12, ASKCAN+4, ASKCAN+5, CLS+4
PSOREL PRSTAT+1~, PRSTAT+3!, PRSTAT+5*, PRSTAT+6*, PRSTAT+7
>> PSORENW("OIRXN" PSODRDUP+10
PSORTS PRSTAT+1~, PRSTAT+11*, PRSTAT+12*, PRSTAT+13
>> PSORX("DFLG" PSODRDUP+10, PSODRDUP+13, PSODRDUP+14, PSODRDUP+15, PSODRDUP+16, PSODRDUP+17, ASKCAN+4*, ASKCAN+5*, ASKCAN+6*, ASKCAN+7*
, ASKCAN1+3*, ASKCAN1+5*
>> PSORX("PATIEN T STATUS" , DATA+12
>> PSOSD( PSODRDUP+10, PSODRDUP+18, DUP, DUP+1, ASKCAN+3, ASKCAN+6, ASKCAN+13, ASKCAN+15, ASKCAN1, ASKCAN1+2
, ASKCAN1+3, ASKCAN1+5, ASKCAN1+6, CLS+1, CLS+3, CLS+4
PSOTRANS PRSTAT+1~, PRSTAT+3!, PRSTAT+4*, PRSTAT+7
PSOX PRSTAT+1~, PRSTAT+9*, PRSTAT+10
PSREV DATA+4*, DATA+5!, DATA+7*, DATA+8!
REA EXIT!, ASKCAN1+3*, ASKCAN1+6*, ASKCAN1+8
RFLS EXIT!, DATA*, DATA+9, DATA+10
RFLZRO PRSTAT+1~, PRSTAT+10*, PRSTAT+11
RX CHK~, CHK+2
RX0 EXIT!, DATA*, DATA+2!
RX2 EXIT!, DATA*, DATA+2!
RXN EXIT!
RXPSTA PRSTAT+1~, PRSTAT+2*, PRSTAT+7, PRSTAT+13
RXREC EXIT!, DUP+1*, DATA, DATA+1, DATA+2, DATA+3, DATA+4, DATA+5, DATA+10, DATA+11
, ASKCAN+13, ASKCAN+14, ASKCAN1, ASKCAN1+4, ASKCAN1+8, CLS+4*, PRSTAT+2, PRSTAT+9, PRSTAT+10, PRSTAT+12
, PRSTAT+14, EXPCMF+1
RXRECLOC DATA+1*, DATA+12!, ASKCAN+3!, ASKCAN+4!, ASKCAN+5!, ASKCAN+6!, ASKCAN+7!, ASKCAN+9, ASKCAN1+3!, ASKCAN1+5!
, ASKCAN1+9!, ULRX+1, ULRX+2
SIG EXIT!
>> SPCANC ASKCAN1
ST EXIT!, DATA+2
>> STA PSODRDUP+9*, PSODRDUP+10*, PSODRDUP+11, PSODRDUP+12, PSODRDUP+18, DUP, DUP+1, ASKCAN+3, ASKCAN+6, ASKCAN+13
, ASKCAN+15, ASKCAN1, ASKCAN1+2, ASKCAN1+3, ASKCAN1+5, ASKCAN1+6, ASKCAN1+8, CLS+1, CLS+3, CLS+4
, EXPCMF+1
U ASKCAN+3, ASKCAN+13, CHK+8, CHK+18, EXPCMF+1
X CHK+14~, CHK+18
X1 CHK+14~, CHK+19
Y EXIT!, ASKCAN+14*, ASKCAN1+1*, ASKCAN1+2
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