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

Package: Outpatient Pharmacy

Routine: PSOREF0


Information

PSOREF0 ;IHS/JCM - REFILL CON'T ; July 31, 2023@17:05:28

Source Information

Source file <PSOREF0.m>

Call Graph

Call Graph

Call Graph Total: 13

Package Total Call Graph
Outpatient Pharmacy 10 ^PSOBUILD  (KILLPARK,RXACT)^PSOPRK  (CHKPARK,UNPARK)^PSOPRKA  ^PSOPTPST  EN^PSOR52  PROFILE^PSOREF1  LOOK^PSOREF2  (NEXT,STATUS,SUSDATE,SUSDATEK)^PSOUTIL  
FSIG^PSOUTLA  ($$DEACHK,EN2)^PSOUTLA1  
VA FileMan 2 DD^%DT  ^DIR  
List Manager 1 PAUSE^VALM1  

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 PSOBBC  PSOORFI2  PSOPRK  PSOREF  

Entry Points

Name Comments DBIA/ICR reference
PROCESS ;
PROCESSX
DSPLY ;W !!,$P(PSOREF("RX0"),"^"),?12," ",$P(^PSDRUG($P(PSOREF("RX0"),"^",6),0),"^"),?45," SIG: "_PSOREF("SIG"),?60," QTY: ",$P(PSOREF("RX0"),"^",7)
DSPLYX
CHECK ;
CHECKX
CKQ ;
CHKDIV
CHKDIVX
NUMBER
DATES
EDATE
DATESX
DIR
NEWPT
NEWPTX
UNPARK ; 441 PAPI
EN(PSOREF)

External References

Name Field # of Occurrence
DD^%DT EDATE+11
^DIR CHECK+38, DIR+1, UNPARK+6
^PSOBUILD PROCESS+9
KILLPARK^PSOPRK PROCESS+12
RXACT^PSOPRK PROCESS+12
CHKPARK^PSOPRKA CHECK+10
UNPARK^PSOPRKA UNPARK+2
^PSOPTPST NEWPT
EN^PSOR52 PROCESS+8
PROFILE^PSOREF1 NEWPT+1
LOOK^PSOREF2 CHECK+15
NEXT^PSOUTIL DATES
STATUS^PSOUTIL CHECK+12
SUSDATE^PSOUTIL DATES+3
SUSDATEK^PSOUTIL PROCESSX
FSIG^PSOUTLA DSPLY+1
$$DEACHK^PSOUTLA1 CHECK+34
EN2^PSOUTLA1 DSPLY+2
PAUSE^VALM1 CKQ+1

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !,"Now refilling Rx# ",$P(PSOREF("RX0"),"^")_" Drug: "_$P(^PSDRUG($P(PSOREF("RX0"),"^",6),0),"^")
  • Line Location: PROCESS+4
Function Call: WRITE
  • Prompt: !!,"Qty: ",$P(PSOREF("RX0"),"^",7),?19,"Sig: ",$G(BSIG(1))
  • Line Location: DSPLY+3
Function Call: WRITE
  • Prompt: !?24,$G(BSIG(PSREV))
  • Line Location: DSPLY+4
Function Call: WRITE
  • Prompt: !!,?5,$C(7),"Can't refill Rx # "_$P(PSOREF("RX0"),"^")_", it is not for this patient."
  • Line Location: CHECK+4
Function Call: WRITE
  • Prompt: !,$C(7),"Cannot refill, Rx is discontinued or expired. Later Rx may exist.",!
  • Line Location: CHECK+14
Function Call: WRITE
  • Prompt: !,$C(7),"Rx is in suspense and cannot be refilled"
  • Line Location: CHECK+21
Function Call: WRITE
  • Prompt: !,$C(7),"Rx is in "_PSOY_" status, cannot be refilled"
  • Line Location: CHECK+26
Function Call: WRITE
  • Prompt: !?5,"Can't refill, no refills remaining."
  • Line Location: CHECK+28
Function Call: WRITE
  • Prompt: $C(7),!!
  • Line Location: CHECK+35
Function Call: WRITE
  • Prompt: "Requested refill exceeds maximum allowable days supply for Rx.",!
  • Line Location: CHECK+36
Function Call: WRITE
  • Prompt: "Current drug DEA/SPECIAL HANDLING code does not allow refills.",!
  • Line Location: CHECK+37
Function Call: WRITE
  • Prompt: !?5,$C(7),"RX # ",$P(PSOREF("RX0"),"^")," is for (",$P(^PS(59,$P(PSOREF("RX2"),"^",9),0),"^"),") division."
  • Line Location: CHKDIV+1
Function Call: WRITE
  • Prompt: !,"********* Not Refilled *********"
  • Line Location: CHKDIV+2
Function Call: WRITE
  • Prompt: !!?5,$C(7),"Can't refill, Refill Date ",$E(PSOREF("FILL DATE"),4,5),"/",$E(PSOREF("FILL DATE"),6,7),"/"
  • Line Location: DATES+6
Function Call: WRITE
  • Prompt: $E(PSOREF("FILL DATE"),2,3)," is past Expiration Date ",$E(PSOREF("STOP DATE"),4,5),"/",$E(PSOREF("STOP DATE"),6,7),"/"
  • Line Location: DATES+7
Function Call: WRITE
  • Prompt: $E(PSOREF("STOP DATE"),2,3)
  • Line Location: DATES+8
Function Call: WRITE
  • Prompt: !?5,"Can't refill, Fill Date already exists for ",$E(PSOREF("FILL DATE"),4,5),"/",$E(PSOREF("FILL DATE"),6,7),"/",$E(PSOREF("FILL DATE"),2,3)
  • Line Location: EDATE+2
Function Call: WRITE
  • Prompt: !?5,"Can't refill, later Refill Date already exists for ",$E(PSOREF("LAST REFILL DATE"),4,5),"/",$E(PSOREF("LAST REFILL DATE"),6,7),"/",$E(PSOREF("LAST REFILL DATE"),2,3)
  • Line Location: EDATE+5
Function Call: WRITE
  • Prompt: !?5,$C(7),"LESS THAN ",PSOX1," DAYS FOR ",PSOREF("NUMBER")+1," FILLS",!
  • Line Location: EDATE+9
Function Call: WRITE
  • Prompt: !!,$C(7),"Cannot be refilled until "_Y_"."
  • Line Location: EDATE+11
Function Call: WRITE
  • Prompt: !,"Rx # "_$P(PSOREF("RX0"),"^")," Unparked."
  • Line Location: UNPARK+3
Function Call: WRITE
  • Prompt: $C(7)," ",ERRMSG(1)
  • Line Location: UNPARK+5
Routine Call
  • DIR
  • Line Location:
    • CHECK+38
    • DIR+1
    • UNPARK+6

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^DD(52 CHECK+25
^PS(52.5 - [#52.5] CHECK+21
^PS(59 - [#59] CHKDIV+1
^PSDRUG - [#50] PROCESS+4, CHECK+2, CHECK+32
^PSRX - [#52] PROCESS+1, PROCESS+12, DSPLY+1, DSPLY+2, CHECK+19, NUMBER+3

Label References

Name Line Occurrences
CHECK PROCESS+8
CHECKX CHECK+20, CHECK+21, CHECK+24, CHECK+27, CHECK+28, CHECK+35, CKQ+1
CHKDIV CHECK+27
CHKDIVX CHKDIVCHKDIV+2
CKQ CHECK+2, CHECK+4
DATES CHECK+40
DATESX EDATE+1, EDATE+4
DIR CHKDIV+3, EDATE+9
DSPLY PROCESS+6
EDATE DATES+1
NEWPT PROCESS+3
NEWPTX NEWPT
NUMBER CHECK+28
PROCESS PROCESS+8, PROCESS+10, EN+1
PROCESSX PROCESS+6, PROCESS+8, PROCESS+9, PROCESS+10
UNPARK CHECK+10, CHECK+19

Naked Globals

Name Field # of Occurrence
^("I" CHECK+2
^("SIG" PROCESS+1
^("STA" PROCESS+1
^(2 PROCESS+1
^(3 PROCESS+1

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
>> BINGCRT PROCESS+14*
>> BINGRTE PROCESS+14*
BSIG DSPLY+1!, DSPLY+5!
BSIG( DSPLY+1*, DSPLY+4
BSIG(1 DSPLY+3, DSPLY+4
>> DFN NEWPT*
DIR CHECK+38~, DIR!, DIR+1!, UNPARK+6~
DIR("?" DIR*
DIR("A" CHECK+38*, DIR*, UNPARK+6*
DIR("B" DIR*
DIR(0 CHECK+38*, DIR*, UNPARK+6*
DIRUT CHECK+38~, DIR+1!, UNPARK+6~
DRUG EN+1!
DT CHECK+2, DATES+2
DTOUT CHECK+38~, DIR+1!, UNPARK+6~
DUOUT CHECK+38~, DIR+1!, UNPARK+6~
ERRMSG UNPARK+1~, UNPARK+2
ERRMSG(1 UNPARK+4, UNPARK+5
FSIG DSPLY+1!, DSPLY+2!
FSIG( DSPLY+1
>> ORRFILL CHECK+1
>> PSOBBC("PSOVEXRX" CHKDIV
>> PSOBBC("QFLG" DATES+1
PSOCHECK CHECK+31~, CHECK+34*, CHECK+35, CHECK+36
PSODAY CHECK+31~, CHECK+33*, CHECK+34
PSODEA CHECK+31~, CHECK+32*, CHECK+34
PSODF PROCESS+1!, PROCESS+8, PROCESS+10, CHECK+14, CHECK+15, EN+1!
>> PSODFN PROCESS+3, CHECK+4, NEWPT*, UNPARK+2
PSODRG CHECK+31~, CHECK+32*
>> PSOERR CHECK+11
>> PSOHRC PROCESS+7
>> PSOHRCF PROCESS+7*
>> PSOMHV CHKDIV+2*, EDATE+11*, DIR+1*
>> PSOPAR CHECK+2, DATES+1, DATES+3, EDATE+7, EDATE+10
>> PSOQFLG NEWPT*
PSOREA CHECK+11*, CHECK+12!
PSOREF PROCESS+8, PROCESSXDATESDATES+3, EN~
PSOREF("# OF REFILLS" , NUMBER*, NUMBER+3*, NUMBER+4
PSOREF("DAYS SUPPLY" , PROCESS+2*, EDATE+8
PSOREF("DFLG" PROCESS+6*, PROCESS+8, PROCESS+10, PROCESSX+1*, CHECK+6, CHECK+7, CHECK+10*, CHECK+11*, CHECK+16*, CHECK+17
CHECK+19*, CHECK+20, CHECK+21*, CHECK+26*, CHECK+27, CHECK+28*, CHECK+35*, CKQ+1*, CHKDIV+2*, DATES+1
DATES+8*, EDATE+3*, EDATE+6*, EDATE+11*, DIR+1*, NEWPT*
PSOREF("EAOK" EDATE+7, EDATE+10
PSOREF("FILL DATE" , DATES+2*, DATES+3, DATES+5, DATES+6, DATES+7, EDATE+1, EDATE+2, EDATE+4, EDATE+7
EDATE+10
PSOREF("IRXN" PROCESS+1, PROCESS+5, PROCESS+12, DSPLY+1, DSPLY+2, CHECK+8, CHECK+10, CHECK+19, CHECK+21, CHECK+34
NUMBER+3, UNPARK+2
PSOREF("LAST REFILL DATE" , EDATE*, EDATE+1, EDATE+4, EDATE+5
PSOREF("MAIL/WINDOW" PROCESS+7*, PROCESS+14
PSOREF("NUMBER" CHECK+28, NUMBER+4*, EDATE+8, EDATE+9
PSOREF("OLD F ILL DATE" , PROCESSX
PSOREF("PSODFN" PROCESS+1*, PROCESS+3, CHECK+4, NEWPT
PSOREF("QS" PROCESS+7*
PSOREF("RX0" PROCESS+1*, PROCESS+2, PROCESS+4, DSPLY+3, CHECK+2, CHECK+3, CHECK+4, CHECK+11, CHECK+28, CHECK+32
CHECK+33, CHKDIV+1, UNPARK+3
PSOREF("RX2" PROCESS+1*, CHKDIVCHKDIV+1, DATES
PSOREF("RX3" PROCESS+1*, DATES+3, EDATEEDATE+7, EDATE+10, EDATE+11
PSOREF("RXSTATUS" CHECK+23*, CHECK+24, CHECK+25
PSOREF("SIG" PROCESS+1*
PSOREF("STA" PROCESS+1*, CHECK+11, CHECK+23
PSOREF("STOP DATE" , DATES*, DATES+5, DATES+7, DATES+8
>> PSORX("BAR CO DE" , PROCESS+3, CHECK+4
>> PSORX("MAIL/WINDOW" PROCESS+7*
>> PSOSD CHECK+6
>> PSOSD( CHECK+6, CHECK+7, CHECK+8
>> PSOSITE CHKDIV
PSOSTAT CHECK+11*, CHECK+12!
>> PSOSYS CHKDIV+2, CHKDIV+3
PSOX CHECK+7*, CHECK+8, CHECK+19!, CHECK+20!, CHECK+25*, NUMBER!, NUMBER+3*
PSOX1 EDATE+8*, EDATE+9!
PSOY CHECK+5*, CHECK+8*, CHECK+11, CHECK+14, CHECK+19!, CHECK+20!, CHECK+25*, CHECK+26, NUMBER!
PSREV DSPLY+1*, DSPLY+2!, DSPLY+4*, DSPLY+5!
>> RESULT CHECK+10
>> STA CHECK+5*, CHECK+6*, CHECK+7, CHECK+8
U CHECK+32, CHECK+33
UNPARK PROCESS+9, PROCESSX+1, CHECK+1~*, CHECK+9*, CHECK+17, CHECK+18*, CHECK+21
VALMHDR PROCESS+7!
X DIR!, DIR+1!
Y EDATE+11*!, DIR!, DIR+1!
>> ZD( PROCESS+5!
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables  | All