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 |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables |  All
Print Page as PDF
Routine: PSOUTL

Package: Outpatient Pharmacy

Routine: PSOUTL


Information

PSOUTL ;BHAM ISC/SAB - PSO utility routine ;4/28/09 4:14pm

Source Information

Source file <PSOUTL.m>

Call Graph

Call Graph

Call Graph Total: 18

Package Total Call Graph
VA FileMan 8 ^%DT  (C,NOW)^%DTC  EN^DDIOL  ^DIC  ^DIE  ^DIK  $$GET1^DIQ  ^DIR  
Outpatient Pharmacy 5 REF^PSOCAN2  (KCMPX,SCMPX)^PSOCMOP  ^PSOCMOPA  ^PSODGAL1  ($$REFIP,WARN1)^PSOUTLA1  
Pharmacy Data Management 2 ^PSSDIUTL  $$DRG^PSSDSAPM  
Integrated Billing 1 $$SERV^IBARX1  
MailMan 1 ^XMD  
Registration 1 (DEM,KVA)^VADPT  

Caller Graph

Caller Graph Total: 52

Package Total Caller Graph
Outpatient Pharmacy 52 PARTIAL DATE  PSO CHECK DRUG INTERACTION  PSO52API  PSOATRF  PSOATRFC  PSOAUTOC  PSOBBC  PSOBKDED  
PSOBUILD  PSOCAN  PSOCAN2  PSOCPDUP  PSOCSRL  PSODRDU2  ^PSRX  PSOCAN3  
PSODDPR2  PSODDPR5  PSODDPRE  PSODISP  PSODISP3  PSODISPS  PSODRDUP  PSODRG  
PSOHLNE1  PSOHLNEW  PSOHLUP  PSOHLUP1  PSOORCPY  PSOORDRG  PSOORED2  PSOOREDT  
PSOORFI2  PSOORNE2  PSOORNE4  PSOORUT1  PSOORUTL  PSOOTMRX  PSOP  PSOP1  
PSOPMP0  PSOPOST  PSOREF  PSORENW  PSORENW4  PSORREF  PSORXVW  PSOVERC  
PSOXZA15  REFILL  ^PS(59  PSOXZA6  

Entry Points

Name Comments DBIA/ICR reference
CID ;calculates six months limit on issue dates
K52
SREF
DISCK(PSRX) ;
KILL
S52
SUSPCAN ;dcl rx from suspense used in new, renew AND verification of Rxs
OICHK(DGCKSTA,DGCKDNM) ;only orderable item on order (no drug)
CMOP ;CMOP("L")=LAST FILL... if it is orig Rx =0
IBSS
SPR
CHKCMOP(RX,REA) ;Check if an RX is Transmitted/Retransmitted to CMOP and send alert mail
MAILCMOP(RX,STR,REA) ;Send mail message to mail group PSX EXTERNAL DISPENSE ALERTS
PSSDGCK ;
ACTOUT
PSOSUPCK(CHK) ;
ORIG
CMOP1
CIDH
KPR
TITRX(RX) ; Returns the titration/maintenance flags
  • ICR #6980
    • Status: Pending
    • Usage: Controlled Subscription
    IBSSR
    WARN1 ;move to PSOUTLA1
    WARN ;
    PRFLP ;
    ENDVCHK
    KREF
    TRANCMOP(RX) ;check if a fill is Transmitted or Retransmitted
    ECAN(PSOXRX) ;Clean up Rx when expired
    ACTLOG ;
    PSOCK ;
    LTHEN(RX) ; Looks for a THEN anywhere in the Complex Order.
    ; Returns: 1 if found and 0 if not found. Complex Order must contain at least one THEN conjunction
    ; in order to mark it as a Titration Rx.
    CHK1
    QUES ;INSTRUCTIONS FOR RENEW AND REFILL
    CAN(PSOXRX) ;Clean up Rx when discontinued
    EX

    External References

    Name Field # of Occurrence
    ^%DT CID+1, CIDH
    C^%DTC DISCK+5
    NOW^%DTC KILL+16
    EN^DDIOL CIDH, IBSS+7, WARN+2, WARN+4, WARN+5, WARN+11, WARN+15, WARN+16, WARN+20, WARN+21
    , WARN+22
    ^DIC OICHK+12, PRFLP+5, PRFLP+6
    ^DIE IBSSR+1, CAN+6, ECAN+6
    ^DIK CAN+3, CAN+4, ECAN+3, ECAN+4
    $$GET1^DIQ MAILCMOP+9, MAILCMOP+24, MAILCMOP+27, MAILCMOP+28, MAILCMOP+29, TITRX+4, TITRX+5
    ^DIR WARN+28
    $$SERV^IBARX1 IBSSR+1
    REF^PSOCAN2 CAN+3
    KCMPX^PSOCMOP K52+4, KILL+11, KILL+12
    SCMPX^PSOCMOP S52+4
    ^PSOCMOPA TRANCMOP+8
    ^PSODGAL1 PRFLP+22
    $$REFIP^PSOUTLA1 WARN+19
    WARN1^PSOUTLA1 WARN1+1
    ^PSSDIUTL PSSDGCK+1
    $$DRG^PSSDSAPM OICHK+11
    DEM^VADPT MAILCMOP+24
    KVA^VADPT MAILCMOP+43
    ^XMD MAILCMOP+42

    Interaction Calls

    Name Line Occurrences
    Function Call: WRITE
    • Prompt: !?5,"Enter the item #(s) or RX #(s) you wish to ",$S(PSFROM="N":"renew ",PSFROM="R":"REFILL "),"separated by commas."
    • Line Location: QUES+1
    Function Call: WRITE
    • Prompt: !?5,"For example: 1,2,5 or 123456,33254A,232323B."
    • Line Location: QUES+2
    Function Call: WRITE
    • Prompt: !?5,"Do not enter the same number twice, duplicates are not allowed."
    • Line Location: QUES+3
    Function Call: WRITE
    • Prompt: !?10,$C(7),"RX# ",$P(^PSRX(PSRX,0),"^")," is not a valid choice. (Different Division)"
    • Line Location: CHK1+0
    Function Call: READ
    • Timeout: DTIME
    • Variable: ANS
    • Line Location: CHK1+1
    Function Call: WRITE
    • Prompt: !?10,$C(7),"RX# ",$P(^PSRX(PSRX,0),"^")," is from another division. Continue? (Y/N) "
    • Line Location: CHK1+1
    Function Call: WRITE
    • Prompt: !?10,$C(7),"Answer 'YES' or 'NO'."
    • Line Location: CHK1+2
    Function Call: WRITE
    • Prompt: !!!,"*The following list of order checks is a comprehensive report of all"
    • Line Location: PSOCK+1
    Function Call: WRITE
    • Prompt: !,"Outpatient, Non-VA, and Clinic medication orders on this patient's profile."
    • Line Location: PSOCK+2
    Function Call: WRITE
    • Prompt: !,"It may include orders that are local, remote, active, pending, recently"
    • Line Location: PSOCK+3
    Function Call: WRITE
    • Prompt: !,"discontinued, or expired. Please note that the sort order and format"
    • Line Location: PSOCK+4
    Function Call: WRITE
    • Prompt: !,"displayed in this report differs from the display of MOCHA 1.0 order"
    • Line Location: PSOCK+5
    Function Call: WRITE
    • Prompt: !,"checks which occurs during order processing.*",!
    • Line Location: PSOCK+6
    Function Call: WRITE
    • Prompt: !!,"You have selected a supply item, please select another drug"
    • Line Location: PSOSUPCK+3
    Function Call: WRITE
    • Prompt: !,"or leave blank and hit enter for Profile Order Checks."
    • Line Location: PSOSUPCK+4
    Function Call: WRITE
    • Prompt: !
    • Line Location: PSOSUPCK+4
    Routine Call
    • DIE
    • Line Location:
      • IBSSR+1
      • CAN+6
      • ECAN+6
    Routine Call
    • DIC
    • Line Location:
      • OICHK+12
      • PRFLP+5
      • PRFLP+6
    Routine Call
    • DIR
    • Line Location:
      • WARN+28

    FileMan Files Accessed Via FileMan Db Call

    FileNo Call Tags
    ^PSRX - [#52] Classic Fileman Calls,  GET1^DIQ
    ^PS(52.4 - [#52.4] Classic Fileman Calls
    ^PS(52.5 - [#52.5] Classic Fileman Calls
    ^PS(59 - [#59] Classic Fileman Calls

    Global Variables Directly Accessed

    Name Line Occurrences  (* Changed,  ! Killed)
    ^DD("DD" CIDH
    ^DIC(49 - [#49] IBSSR+1
    ^DPT - [#2] KILL+2
    ^PS(50.7 - [#50.7] PRFLP+19
    ^PS(52.4 - [#52.4] CAN+4, ECAN+4
    ^PS(52.41 - [#52.41] OICHK+6
    ^PS(52.5 - [#52.5] K52, K52+1, K52+2, K52+3!, K52+4!, K52+5!, S52+1, S52+2, S52+3*, S52+4*
    , S52+5*, KILL+2, KILL+4!, KILL+5, KILL+6!, KILL+7!, KILL+8, KILL+10, KILL+11!, KILL+12!
    , KILL+13!, KILL+14!, CAN+3, ECAN+3, CMOP1+4
    ^PS(55 - [#55] ACTOUT*, ACTOUT+2, ACTOUT+3*, OICHK+9
    ^PS(59 - [#59] MAILCMOP+14
    ^PSDRUG - [#50] PSOSUPCK+2, PRFLP+19, PRFLP+20
    ^PSRX - [#52] SUSPCAN+1, SUSPCAN+2!, SUSPCAN+3*, ACTLOG+2*, ACTOUT, ACTOUT+1, ACTOUT+3, ENDVCHK, CHK1, CHK1+1
    , K52+1, S52, S52+1, KILL+2*, KILL+15, KILL+17*, KILL+18*, KILL+20*, SPR, SPR+1*
    , SREF, SREF+1*, SREF+2*, KPR, KPR+2*, KREF+1*, KREF+2, ORIG*, ORIG+1*, WARN+9
    , WARN+10, WARN+14, CAN+2, CAN+3, CAN+5*, CAN+6, ECAN+2, ECAN+5*, ECAN+6, CMOP1+1
    , CMOP1+2, CMOP1+3, MAILCMOP+14, DISCK+4, TITRX+3, LTHEN+5, LTHEN+6
    ^PSRX("AH" CAN+5!, ECAN+5!
    ^XMB(3.8 - [#3.8] MAILCMOP+19, MAILCMOP+20
    ^XUSEC("PSXCMOPMGR" MAILCMOP+22

    Label References

    Name Line Occurrences
    $$DISCK PRFLP+12
    $$TRANCMOP CHKCMOP+8
    CHK1 CHK1+2
    EX KPR+2, KREF, KREF+1, ORIG, ORIG+1
    KILL K52+1, K52+2
    KREF KPR+1, KREF+2
    MAILCMOP CHKCMOP+8
    OICHK PRFLP+9
    ORIG KPR+1
    SREF SREF

    Naked Globals

    Name Field # of Occurrence
    ^( ACTLOG+2, ACTOUT!, ACTOUT+1, ACTOUT+2!
    ^("ND" PRFLP+20
    ^("P" K52+2
    ^(0 SUSPCAN+2*, ACTOUT+1, K52+2, S52+2, KILL+6, KILL+12, KILL+13, CMOP1+3
    ^(2 ACTOUT, ENDVCHK, PRFLP+19

    Local Variables

    Legend:

    >> Not killed explicitly
    * Changed
    ! Killed
    ~ Newed

    Name Field # of Occurrence
    >> % KILL+17
    >> %DT CID+1*, CIDH*
    >> %DT(0 CID+1*
    ANS ENDVCHK~, CHK1+1*, CHK1+2, CHK1+3
    CHK PSOSUPCK~, PSOSUPCK+2!, PSOSUPCK+5!
    CMDT MAILCMOP+7~, MAILCMOP+10*, MAILCMOP+11*, MAILCMOP+38
    CMOP WARN+3!, WARN+6!, CHKCMOP+6~
    CMOP( WARN+3, WARN+4, CMOP1+3*
    CMOP("L" CMOP1+1*
    CMOP("S" CMOP1+4*
    CMST MAILCMOP+7~, MAILCMOP+13*, MAILCMOP+31, MAILCMOP+38
    CNT KILL+15*, KILL+16*, KILL+17, KILL+18, KILL+20!
    CRX CMOP+5*, CMOP1+1, CMOP1+2, CMOP1+3, CMOP1+4, CMOP1+5!
    DA KILL+16*, KILL+17, KPR+1, KREF+2, IBSSR+1*, WARN+3, WARN+4, WARN+10, WARN+14, WARN+19
    , CAN+1~, CAN+3*, CAN+4*, CAN+6*, ECAN+1~, ECAN+3*, ECAN+4*, ECAN+6*!, CMOP+5, TRANCMOP+7~
    , TRANCMOP+8*
    DA(1 K52, S52, S52+1, KILL+2, KILL+15, KILL+17, KILL+18, KILL+20, SPR, SPR+1
    , SREF, SREF+1, SREF+2, KPR, KPR+2, KREF+1, KREF+2, ORIG, ORIG+1, WARN+9
    , WARN+10, WARN+14, WARN+19
    DFN KILL~, KILL+2*, KILL+4, KILL+7, KILL+14!, MAILCMOP+7~, MAILCMOP+24*, OICHK+9, PRFLP+21
    DGCKDNM OICHK~, OICHK+5, OICHK+8, PRFLP+2*, PRFLP+4*, PRFLP+5, PRFLP+9, PRFLP+12, PRFLP+14, PRFLP+15*
    , PRFLP+16*, PRFLP+17, PRFLP+24!
    DGCKSTA OICHK~, OICHK+4, OICHK+5, OICHK+7, OICHK+8, PRFLP+2*, PRFLP+4*, PRFLP+9, PRFLP+12, PRFLP+14
    , PRFLP+24!
    DIC OICHK+12*!, PRFLP+5*!, PRFLP+6*!
    DIC(0 OICHK+12*, PRFLP+5*, PRFLP+6*
    DIE IBSSR+1*!, CAN+6!*, ECAN+6!*
    DIK CAN+3*!, CAN+4*!, ECAN+3!*, ECAN+4!*
    DIR WARN+23!, WARN+29!
    DIR("?" WARN+27*
    DIR("A" WARN+24*
    DIR("B" WARN+25*
    DIR(0 WARN+26*
    DIV MAILCMOP+8~, MAILCMOP+14*
    DIVN MAILCMOP+8~, MAILCMOP+14*, MAILCMOP+31
    DR IBSSR+1*, CAN+6*, ECAN+6*!
    DRUG MAILCMOP+8~, MAILCMOP+28*, MAILCMOP+34
    DT ACTLOG+2, ACTOUT, CAN+6, ECAN+6, DISCK+6
    DTIME CHK1+1
    DTOUT OICHK+2~, OICHK+12!, PRFLP+23!, PRFLP+24!
    DUOUT OICHK+2~, OICHK+12!, PRFLP+23!, PRFLP+24!
    DUZ KILL+17
    FILL MAILCMOP+8~, MAILCMOP+12*, MAILCMOP+32
    FNDTHEN LTHEN+3~, LTHEN+4*, LTHEN+5, LTHEN+7*, LTHEN+8
    IFN CAN+1~
    MAILGRP MAILCMOP+8~, MAILCMOP+15*, MAILCMOP+16, MAILCMOP+19
    NAME MAILCMOP+8~, MAILCMOP+25*, MAILCMOP+33
    NODE SPR*, SPR+1, SREF*, SREF+1, SREF+2, SREF+3!, KPR*, KPR+1*, KPR+2, KREF*
    , KREF+1, KREF+2, ORIG, ORIG+1, EX!, CAN+1~
    PAT KILL+2*, KILL+4, KILL+14!
    PRV MAILCMOP+8~, MAILCMOP+29*, MAILCMOP+39
    >> PSDFN ACTOUT, ACTOUT+2, ACTOUT+3
    >> PSFROM QUES+1
    PSI SUSPCAN+1*, SUSPCAN+2*!, SUSPCAN+3!, ACTLOG+2*, ACTOUT*, ACTOUT+1*
    PSID CID+1*!
    PSLAST SUSPCAN+1*, SUSPCAN+2!
    >> PSMSG ACTLOG+2
    PSOALLGY PRFLP+1~
    PSOALLGY( PRFLP+14*, PRFLP+16, PRFLP+17
    PSOC7 KILL+10~*, KILL+11, KILL+12
    >> PSOCLC ACTLOG+2
    PSOCMOP CHKCMOP+6~, CHKCMOP+8, TRANCMOP+9
    PSOCOUNT LTHEN+3~, LTHEN+4*, LTHEN+5*, LTHEN+6
    PSODATA PRFLP+1~, PRFLP+17*, PRFLP+18, PRFLP+21
    >> PSODFN PRFLP+21*
    PSODGCKF PRFLP+2*, PRFLP+24!
    >> PSODGCKX PSOSUPCK+1
    PSODGCRX PRFLP+1~, PRFLP+21*
    >> PSODIV ENDVCHK
    PSODRIEN PRFLP+1~, PRFLP+15*, PRFLP+16*, PRFLP+17
    PSODRUG PRFLP+1~
    PSODRUG("IEN" PRFLP+13*, PRFLP+14, PRFLP+17*, PRFLP+19, PRFLP+20
    PSODRUG("NAME" PRFLP+13*, PRFLP+14, PRFLP+18*
    PSODRUG("NDF" PRFLP+20*
    PSODRUG("OI" PRFLP+19*
    PSODRUG("OIN" PRFLP+19*
    PSODRUG("VA C LASS" , PRFLP+13*, PRFLP+14, PRFLP+18*
    PSODRUG2 OICHK+2~, OICHK+11*, OICHK+12, OICHK+13!
    PSOHLP IBSS~, IBSS+7!
    PSOHLP(1 IBSS*, IBSS+1*
    PSOHLP(2 IBSS+2*, IBSS+3*
    PSOHLP(3 IBSS+4*, IBSS+5*
    PSOHLP(4 IBSS+6*
    PSOI OICHK+2~, OICHK+3*, OICHK+6*, OICHK+9*, OICHK+10, OICHK+11, OICHK+13!
    PSOIBFL IBSSR~*, IBSSR+1*
    PSOIBLP IBSSR~, IBSSR+1*
    PSOIBST IBSSR~, IBSSR+1*
    PSOIEN MAILCMOP+7~, MAILCMOP+19*, MAILCMOP+20
    PSOKEYN MAILCMOP+7~, MAILCMOP+21*, MAILCMOP+22*, MAILCMOP+23
    PSOL WARN+8~, WARN+9*, WARN+10
    >> PSOPSDAL KILL+20
    PSORD OICHK+2~, OICHK+5*, OICHK+6, OICHK+8*, OICHK+9, OICHK+13!
    >> PSOSD PRFLP+3
    >> PSOSD( OICHK+5, OICHK+8, PRFLP+4, PRFLP+12, PRFLP+14
    PSOSFN K52!*
    >> PSOSITE ENDVCHK, IBSSR+1
    PSOSX S52*, S52+6!
    PSOSXDT S52+6!
    >> PSOSYS CHK1, CHK1+1
    PSOTEXT MAILCMOP+7~
    PSOTEXT(1 MAILCMOP+32*
    PSOTEXT(2 MAILCMOP+33*
    PSOTEXT(3 MAILCMOP+34*
    PSOTEXT(4 MAILCMOP+35*, MAILCMOP+36*, MAILCMOP+37*
    PSOTEXT(5 MAILCMOP+38*
    PSOTEXT(6 MAILCMOP+39*
    PSOTEXT(7 MAILCMOP+40*
    PSOTEXT(8 MAILCMOP+41*
    PSOTHEN LTHEN+3~, LTHEN+4*, LTHEN+6*, LTHEN+7
    PSOTRANS TRANCMOP+7~, TRANCMOP+9*, TRANCMOP+10
    >> PSOUNHLD WARN+1
    PSOXRX CAN~, CAN+2, CAN+3, CAN+4, CAN+5, CAN+6, ECAN~, ECAN+2, ECAN+3, ECAN+4
    , ECAN+5, ECAN+6
    PSOXX K52+1~*, KILL+18, KILL+20
    PSPOP ENDVCHK~*, CHK1*, CHK1+1*, CHK1+3*
    PSR WARN+8~, WARN+9*
    >> PSREA ACTLOG+2, ACTOUT, ACTOUT+1, ACTOUT+3
    PSRX SUSPCAN+1, SUSPCAN+2, SUSPCAN+3, ACTLOG+2, ACTOUT, ACTOUT+1, ACTOUT+2, ACTOUT+3, ENDVCHK, CHK1
    , CHK1+1, DISCK~, DISCK+4, PRFLP+1~, PRFLP+12*
    >> PSRXREF ACTLOG+2
    PSS ACTLOG+1~, ACTOUT+1*, ACTOUT+2
    REA CHKCMOP~, CHKCMOP+7*, CHKCMOP+8, MAILCMOP~, MAILCMOP+36, MAILCMOP+37
    >> RESK KILL+20
    RF SPR*, SREF+3!, KPR*, EX!, CAN+1~
    RFID S52*, S52+3, S52+4, S52+5, S52+6!
    RIFN S52*, S52+6!
    RX CHKCMOP~, CHKCMOP+8, TRANCMOP~, TRANCMOP+8, TRANCMOP+10, MAILCMOP~, MAILCMOP+9, MAILCMOP+14, MAILCMOP+24, MAILCMOP+27
    , MAILCMOP+28, MAILCMOP+29, TITRX~, TITRX+2, TITRX+3, TITRX+4, TITRX+5, LTHEN~, LTHEN+5, LTHEN+6
    RXO MAILCMOP+8~, MAILCMOP+9*, MAILCMOP+31, MAILCMOP+32
    RXSTS MAILCMOP+8~, MAILCMOP+27*, MAILCMOP+35
    SDT K52+3*, K52+4, K52+5, K52+6!
    SFN K52*, K52+1, K52+2, K52+3, K52+4, K52+5, K52+6!, S52+1*, S52+2, S52+3
    , S52+4, S52+5, S52+6!, KILL+1, KILL+2, KILL+4, KILL+5, KILL+6, KILL+7, KILL+8
    , KILL+10, KILL+11, KILL+12, KILL+13, KILL+14!
    SSN MAILCMOP+8~, MAILCMOP+26*, MAILCMOP+33
    STR MAILCMOP~, MAILCMOP+10, MAILCMOP+12, MAILCMOP+13
    SUB KILL+15*, KILL+20!
    SUS1 SUSPCAN+2!, SUSPCAN+3!
    SUS2 SUSPCAN+2!, SUSPCAN+3!
    SUSD CAN+1~, CAN+3*
    SUSX SUSPCAN+2!, SUSPCAN+3!
    U MAILCMOP+10, MAILCMOP+12, MAILCMOP+13
    VADM MAILCMOP+7~
    VADM(1 MAILCMOP+25
    VADM(2 MAILCMOP+26
    X K52+2, CID+1*, CIDH*, KPR+1, KREF+2, CMOP1~, CMOP1+1*, CMOP1+2*, CMOP1+3, CMOP1+4*
    , CMOP1+5!, OICHK+12*, DISCK+3~, DISCK+6, PRFLP+5*, PRFLP+6*, PRFLP+23!, PRFLP+24!
    X1 DISCK+3~, DISCK+4*
    X2 DISCK+3~, DISCK+4*
    XMDUZ MAILCMOP+7~, MAILCMOP+30*
    XMSUB MAILCMOP+7~, MAILCMOP+31*
    XMTEXT MAILCMOP+7~, MAILCMOP+42*
    XMY MAILCMOP+7~
    XMY( MAILCMOP+23*
    XMY("G." MAILCMOP+16*
    Y K52+2, CID+1, CIDH, IBSSR+1*, WARN+19, OICHK+12*, DISCK+3~, PRFLP+6, PRFLP+7, PRFLP+10
    , PRFLP+13, PRFLP+23!, PRFLP+24!
    Y(0 PRFLP+13
    Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables |  All