PSOQUAP2 ;HINES/RMS - UNIFIED PROFILE BASED ON PORTLAND IDEA ;08/23/17  20:42
 ;;7.0;OUTPATIENT PHARMACY;**294,441**;DEC 1997;Build 208
 ;
 ;**** PaPI note *** this routine will be replaced by GMTSPST1 per Rob Silverman -
 ; make sure correct routine is changed for Medication Reconciliation when implementing PaPI
 ; and make sure it has ACTIVE/PARKED instead of ACTIVE/PARK
 ;
 ;Reference to COVER^ORWPS supported by DBIA 4954
 ;Reference to BCMALG^PSJUTL2 supported by DBIA 5057
EN ;ENTRY POINT FOR HEALTH SUMMARY
 N RPC,RPCT,ALPHA,PSNUM,DRUGNM,RPCNODE,ORDER,SAVE
 D COVER^ORWPS(.RPC,DFN)
 S RPCT=0 F  S RPCT=$O(RPC(RPCT)) Q:'+RPCT  D  ;
 . S RPCNODE=RPC(RPCT)
 . S PSNUM=$P(RPCNODE,"^")
 . S DRUGNM=$$UP^XLFSTR($P(RPCNODE,"^",2))
 . S ORDER=+$P(RPCNODE,"^",3)
 . Q:DRUGNM']""!(ORDER=0)!(PSNUM']"")
 . K SAVE(DRUGNM) S SAVE(DRUGNM,ORDER,PSNUM)=""
 . Q:"ACTIVE^ACTIVE/SUSP^ACTIVE/PARKED^HOLD"'[$P(RPCNODE,"^",4)
 . S ALPHA(DRUGNM,ORDER,PSNUM)=""
 D ADDREM
 D HEADER
 D OUTPUT
 D FOOTER
 Q
 D NVADT^PSOQCF04(DFN,.ATEST,.ADATE,.AVALUE,.ATEXT)
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W $$REPEAT^XLFSTR("-",IOM),!,"Alphabetized list of outpatient Rx's, inpatient orders, remote and Non-VA meds"
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W !,"Legend: OPT = VA issued outpatient prescription, INP = VA issued inpatient order"
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W !,"Non-VA Meds Last Documented On: "
 W $S(+ADATE:$$FMTE^XLFDT(ADATE,"D"),1:"** Data not found **")
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W !,$$REPEAT^XLFSTR("-",IOM)
 D CKP^GMTSUP Q:$D(GMTSQIT)
 Q
OUTPUT N DRUGNM,ORDER,PSNUM
 N PACK,PACKREF,SIGLINE,ORDNUM
 N LASTACT,OTLINE
 S DRUGNM="" F  S DRUGNM=$O(ALPHA(DRUGNM)) Q:DRUGNM']""  D  K SAVE(DRUGNM)  ;
 . S ORDER="" F  S ORDER=$O(ALPHA(DRUGNM,ORDER)) Q:ORDER']""  D  ;
 .. S PSNUM="" F  S PSNUM=$O(ALPHA(DRUGNM,ORDER,PSNUM)) Q:PSNUM']""  D  ;
 ... S PACK=$P(PSNUM,";",2),ORDNUM=$P(PSNUM,";")
 ... I PACK="I" D INPDISP
 ... I PACK="O" D OPTDISP
  ... I PACK="R" D RDIDISP
 Q
 N BLINE
 S BLINE=$$REPEAT^XLFSTR("-",IOM)
 W !,BLINE,!,"Other medications previously dispensed in the last year:",!
 D CKP^GMTSUP Q:$D(GMTSQIT)
 N DRUGNM,ORDER,PSNUM
 N PACK,PACKREF,SIGLINE
 S DRUGNM="" F  S DRUGNM=$O(SAVE(DRUGNM)) Q:DRUGNM']""  D  ;
 . S ORDER="" F  S ORDER=$O(SAVE(DRUGNM,ORDER)) Q:ORDER']""  D  ;
 .. S PSNUM="" F  S PSNUM=$O(SAVE(DRUGNM,ORDER,PSNUM)) Q:PSNUM']""  D  ;
 ... S PACK=$P(PSNUM,";",2)
 ... I PACK="O" D OPTFOOT
 Q
ADDREM ;6-21-07 ADD ACTIVE MEDS VIA REMOTE DATA INTEROPERABILITY
 N PSOQRDI,PSOQMED,PSOQSTAT,PSOQRNAM,PSOQRNUM,PSOQDOWN
 Q:'$$HAVEHDR^ORRDI1
 D  Q:$G(PSOQDOWN)
 . I $D(^XTMP("ORRDI","OUTAGE INFO","DOWN")) H $$GET^XPAR("ALL","ORRDI PING FREQ")/2
 . I $D(^XTMP("ORRDI","OUTAGE INFO","DOWN")) S PSOQDOWN=1 D
 .. D CKP^GMTSUP Q:$D(GMTSQIT)
 .. W !,"WARNING: Connection to Remote Data Currently Down",!
 .. D CKP^GMTSUP Q:$D(GMTSQIT)
 D  ;18-MAR-08 TO ALLOW HDR/RDI PROCESS TO USE IO VARIABLE
 . D SAVDEV^%ZISUTL("PSOQHFS")
 . S PSOQRDI=$$GET^ORRDI1(DFN,"PSOO")
 . D USE^%ZISUTL("PSOQHFS")
 . D RMDEV^%ZISUTL("PSOQHFS")
 I PSOQRDI=-1 D
 . D CKP^GMTSUP Q:$D(GMTSQIT)
 . W !,"WARNING: Connection to Remote Data Not Available",!
 . D CKP^GMTSUP Q:$D(GMTSQIT)
 Q:'$D(^XTMP("ORRDI","PSOO",DFN))
 S PSOQMED=0 F  S PSOQMED=$O(^XTMP("ORRDI","PSOO",DFN,PSOQMED)) Q:'+PSOQMED  D
 . S PSOQSTAT=$G(^XTMP("ORRDI","PSOO",DFN,PSOQMED,5,0))
 . Q:PSOQSTAT']""  ;8-3-07 TO CATCH INCOMPLETE RECORDS
 . Q:"ACTIVE^SUSPENDED^ACTIVE/PARKED"'[PSOQSTAT   ;441 PAPI
 . S PSOQRNAM=$G(^XTMP("ORRDI","PSOO",DFN,PSOQMED,2,0),"Unknown Drug")
 . S PSOQRNUM=$G(^XTMP("ORRDI","PSOO",DFN,PSOQMED,4,0))
 . Q:PSOQRNAM']""!(PSOQRNUM']"")
 . S ALPHA(PSOQRNAM,PSOQRNUM,PSOQMED_"X;R")=""
 Q
 S PACKREF=+$G(^OR(100,ORDER,4))
 S X1=DT,X2=-365 D C^%DTC S PSOQYEAR=X
 S PSOQLRD=$$LRDFUNC^PSOQ0076(PACKREF)
 D CKP^GMTSUP Q:$D(GMTSQIT)
 Q:PSOQLRD<PSOQYEAR
 Q:$P(PSNUM,";")["N"
 W !,"OPT "_DRUGNM_" ("_$$GET1^DIQ(52,+PACKREF,100,"E")_"/"_$$DAYSSUPP^PSOQ0076(PACKREF)_" Days Supply Last Released: "_$$FMTE^XLFDT(PSOQLRD,"2D")_")"  D CKP^GMTSUP Q:$D(GMTSQIT)
 S SIGLINE=0 F  S SIGLINE=$O(^PSRX(PACKREF,"SIG1",SIGLINE)) Q:'+SIGLINE  D  ;
 . W !?5,$G(^PSRX(PACKREF,"SIG1",SIGLINE,0)) D CKP^GMTSUP Q:$D(GMTSQIT)
 W ! D CKP^GMTSUP Q:$D(GMTSQIT)
 Q
INPDISP D CKP^GMTSUP Q:$D(GMTSQIT)
 W !,"INP "_DRUGNM D CKP^GMTSUP Q:$D(GMTSQIT)
 S LASTACT=$O(^OR(100,+ORDER,8,":"),-1)
 S OTLINE=1 F  S OTLINE=$O(^OR(100,+ORDER,8,LASTACT,.1,OTLINE)) Q:'+OTLINE  D  ;
 . D WRAPTEXT^PSOQUTIL($$LSIG^PSOQUTIL($G(^OR(100,+ORDER,8,LASTACT,.1,OTLINE,0))),60,5) D CKP^GMTSUP Q:$D(GMTSQIT)
 . W !?5,$$BCMALG^PSJUTL2(DFN,ORDNUM) D CKP^GMTSUP Q:$D(GMTSQIT)
 W ! D CKP^GMTSUP Q:$D(GMTSQIT)
 Q
OPTDISP N PSOQEXP,PSOQREF,PSOQSTA
 D CKP^GMTSUP Q:$D(GMTSQIT)
 S PACKREF=+$G(^OR(100,ORDER,4))
 S PSOQLRD=$$LRDFUNC^PSOQ0076(PACKREF)
 S PSOQEXP=$$EXPDATE^PSOQ0076(PACKREF)
 S PSOQREF=$$REFILLS^PSOQ0076(PACKREF)
 I $P(PSNUM,";")["N" G NVADISP
 D  ;
 . N C,Y
 . S Y=$G(^PSRX(PACKREF,"STA"))
 . S C=$P(^DD(52,100,0),U,2)
 . D Y^DIQ
 . S PSOQSTA=Y  I PSOQSTA="ACTIVE",$G(^PSRX(PACKREF,"PARK")) S PSOQSTA="ACTIVE/PARKED"  ;441 PAPI
 W !,"OPT "_DRUGNM_" (Status = "_PSOQSTA_")"
 S SIGLINE=0 F  S SIGLINE=$O(^PSRX(PACKREF,"SIG1",SIGLINE)) Q:'+SIGLINE  D  ;
 . W !?5,$G(^PSRX(PACKREF,"SIG1",SIGLINE,0)) D CKP^GMTSUP Q:$D(GMTSQIT)
 W !?10,"Last Released: "_$$FMTE^XLFDT(PSOQLRD,"2D"),?55,"Days Supply: "_$$DAYSSUPP^PSOQ0076(PACKREF) D CKP^GMTSUP Q:$D(GMTSQIT)
 W !?10,"Rx Expiration Date: ",$$FMTE^XLFDT(PSOQEXP,"2D"),?55,"Refills Remaining: ",PSOQREF D CKP^GMTSUP Q:$D(GMTSQIT)
 W ! D CKP^GMTSUP Q:$D(GMTSQIT)
 Q
RDIDISP D CKP^GMTSUP Q:$D(GMTSQIT)
 W !,"Remote "_DRUGNM D CKP^GMTSUP Q:$D(GMTSQIT)
 N PSOQSIG,PSOQSTAT
 S PSOQSIG=$G(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,14,0))
 D WRAPTEXT^PSOQUTIL(PSOQSIG,65,5)
 D CKP^GMTSUP Q:$D(GMTSQIT)
 S PSOQSTAT=$G(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,5,0))
 S PSOQSTAT=$S(PSOQSTAT["PARK":"Active/Parked",PSOQSTAT["ACTIVE":"Active",PSOQSTAT["SUSPENDED":"Active/Suspended",1:"Unknown")  ;441 PAPI
 W !?10,"Last Filled: "_$G(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,9,0))_" ("_PSOQSTAT_" at "_$G(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,1,0))_") "
 W:$X>54 ! ;NEW LINE IF THE STATUS+STATION IS TOO LONG
 W ?55,"Days Supply: "_$P($P($G(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,6,0)),";",2),"D",2)
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W !?10,"Rx Expiration Date: ",$G(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,7,0)),?55,"Refills Remaining: ",$G(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,10,0))
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W ! D CKP^GMTSUP Q:$D(GMTSQIT)
 Q
NVADISP D CKP^GMTSUP Q:$D(GMTSQIT)
 W !,"Non VA "_DRUGNM D CKP^GMTSUP Q:$D(GMTSQIT)
 S LASTACT=$O(^OR(100,ORDER,8,":"),-1)
 S OTLINE=1 F  S OTLINE=$O(^OR(100,ORDER,8,LASTACT,.1,OTLINE)) Q:'+OTLINE  D  ;
 .D WRAPTEXT^PSOQUTIL($G(^OR(100,ORDER,8,LASTACT,.1,OTLINE,0)),65,5) D CKP^GMTSUP Q:$D(GMTSQIT)
 W ! D CKP^GMTSUP Q:$D(GMTSQIT)
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOQUAP2   7008     printed  Sep 23, 2025@20:09:49                                                                                                                                                                                                    Page 2
PSOQUAP2  ;HINES/RMS - UNIFIED PROFILE BASED ON PORTLAND IDEA ;08/23/17  20:42
 +1       ;;7.0;OUTPATIENT PHARMACY;**294,441**;DEC 1997;Build 208
 +2       ;
 +3       ;**** PaPI note *** this routine will be replaced by GMTSPST1 per Rob Silverman -
 +4       ; make sure correct routine is changed for Medication Reconciliation when implementing PaPI
 +5       ; and make sure it has ACTIVE/PARKED instead of ACTIVE/PARK
 +6       ;
 +7       ;Reference to COVER^ORWPS supported by DBIA 4954
 +8       ;Reference to BCMALG^PSJUTL2 supported by DBIA 5057
EN        ;ENTRY POINT FOR HEALTH SUMMARY
 +1        NEW RPC,RPCT,ALPHA,PSNUM,DRUGNM,RPCNODE,ORDER,SAVE
 +2        DO COVER^ORWPS(.RPC,DFN)
 +3       ;
           SET RPCT=0
           FOR 
               SET RPCT=$ORDER(RPC(RPCT))
               if '+RPCT
                   QUIT 
               Begin DoDot:1
 +4                SET RPCNODE=RPC(RPCT)
 +5                SET PSNUM=$PIECE(RPCNODE,"^")
 +6                SET DRUGNM=$$UP^XLFSTR($PIECE(RPCNODE,"^",2))
 +7                SET ORDER=+$PIECE(RPCNODE,"^",3)
 +8                if DRUGNM']""!(ORDER=0)!(PSNUM']"")
                       QUIT 
 +9                KILL SAVE(DRUGNM)
                   SET SAVE(DRUGNM,ORDER,PSNUM)=""
 +10               if "ACTIVE^ACTIVE/SUSP^ACTIVE/PARKED^HOLD"'[$PIECE(RPCNODE,"^",4)
                       QUIT 
 +11               SET ALPHA(DRUGNM,ORDER,PSNUM)=""
               End DoDot:1
 +12       DO ADDREM
 +13       DO HEADER
 +14       DO OUTPUT
 +15       DO FOOTER
 +16       QUIT 
 +1        DO NVADT^PSOQCF04(DFN,.ATEST,.ADATE,.AVALUE,.ATEXT)
 +2        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +3        WRITE $$REPEAT^XLFSTR("-",IOM),!,"Alphabetized list of outpatient Rx's, inpatient orders, remote and Non-VA meds"
 +4        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +5        WRITE !,"Legend: OPT = VA issued outpatient prescription, INP = VA issued inpatient order"
 +6        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +7        WRITE !,"Non-VA Meds Last Documented On: "
 +8        WRITE $SELECT(+ADATE:$$FMTE^XLFDT(ADATE,"D"),1:"** Data not found **")
 +9        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +10       WRITE !,$$REPEAT^XLFSTR("-",IOM)
 +11       DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +12       QUIT 
OUTPUT     NEW DRUGNM,ORDER,PSNUM
 +1        NEW PACK,PACKREF,SIGLINE,ORDNUM
 +2        NEW LASTACT,OTLINE
 +3       ;
           SET DRUGNM=""
           FOR 
               SET DRUGNM=$ORDER(ALPHA(DRUGNM))
               if DRUGNM']""
                   QUIT 
               Begin DoDot:1
 +4       ;
                   SET ORDER=""
                   FOR 
                       SET ORDER=$ORDER(ALPHA(DRUGNM,ORDER))
                       if ORDER']""
                           QUIT 
                       Begin DoDot:2
 +5       ;
                           SET PSNUM=""
                           FOR 
                               SET PSNUM=$ORDER(ALPHA(DRUGNM,ORDER,PSNUM))
                               if PSNUM']""
                                   QUIT 
                               Begin DoDot:3
 +6                                SET PACK=$PIECE(PSNUM,";",2)
                                   SET ORDNUM=$PIECE(PSNUM,";")
 +7                                IF PACK="I"
                                       DO INPDISP
 +8                                IF PACK="O"
                                       DO OPTDISP
 +9                                IF PACK="R"
                                       DO RDIDISP
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
               KILL SAVE(DRUGNM)
 +10       QUIT 
           if $DATA(GMTSQIT)
               QUIT 
 +1        NEW BLINE
 +2        SET BLINE=$$REPEAT^XLFSTR("-",IOM)
 +3        WRITE !,BLINE,!,"Other medications previously dispensed in the last year:",!
 +4        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +5        NEW DRUGNM,ORDER,PSNUM
 +6        NEW PACK,PACKREF,SIGLINE
 +7       ;
           SET DRUGNM=""
           FOR 
               SET DRUGNM=$ORDER(SAVE(DRUGNM))
               if DRUGNM']""
                   QUIT 
               Begin DoDot:1
 +8       ;
                   SET ORDER=""
                   FOR 
                       SET ORDER=$ORDER(SAVE(DRUGNM,ORDER))
                       if ORDER']""
                           QUIT 
                       Begin DoDot:2
 +9       ;
                           SET PSNUM=""
                           FOR 
                               SET PSNUM=$ORDER(SAVE(DRUGNM,ORDER,PSNUM))
                               if PSNUM']""
                                   QUIT 
                               Begin DoDot:3
 +10                               SET PACK=$PIECE(PSNUM,";",2)
 +11                               IF PACK="O"
                                       DO OPTFOOT
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +12       QUIT 
ADDREM    ;6-21-07 ADD ACTIVE MEDS VIA REMOTE DATA INTEROPERABILITY
 +1        NEW PSOQRDI,PSOQMED,PSOQSTAT,PSOQRNAM,PSOQRNUM,PSOQDOWN
 +2        if '$$HAVEHDR^ORRDI1
               QUIT 
 +3        Begin DoDot:1
 +4            IF $DATA(^XTMP("ORRDI","OUTAGE INFO","DOWN"))
                   HANG $$GET^XPAR("ALL","ORRDI PING FREQ")/2
 +5            IF $DATA(^XTMP("ORRDI","OUTAGE INFO","DOWN"))
                   SET PSOQDOWN=1
                   Begin DoDot:2
 +6                    DO CKP^GMTSUP
                       if $DATA(GMTSQIT)
                           QUIT 
 +7                    WRITE !,"WARNING: Connection to Remote Data Currently Down",!
 +8                    DO CKP^GMTSUP
                       if $DATA(GMTSQIT)
                           QUIT 
                   End DoDot:2
           End DoDot:1
           if $GET(PSOQDOWN)
               QUIT 
 +9       ;18-MAR-08 TO ALLOW HDR/RDI PROCESS TO USE IO VARIABLE
           Begin DoDot:1
 +10           DO SAVDEV^%ZISUTL("PSOQHFS")
 +11           SET PSOQRDI=$$GET^ORRDI1(DFN,"PSOO")
 +12           DO USE^%ZISUTL("PSOQHFS")
 +13           DO RMDEV^%ZISUTL("PSOQHFS")
           End DoDot:1
 +14       IF PSOQRDI=-1
               Begin DoDot:1
 +15               DO CKP^GMTSUP
                   if $DATA(GMTSQIT)
                       QUIT 
 +16               WRITE !,"WARNING: Connection to Remote Data Not Available",!
 +17               DO CKP^GMTSUP
                   if $DATA(GMTSQIT)
                       QUIT 
               End DoDot:1
 +18       if '$DATA(^XTMP("ORRDI","PSOO",DFN))
               QUIT 
 +19       SET PSOQMED=0
           FOR 
               SET PSOQMED=$ORDER(^XTMP("ORRDI","PSOO",DFN,PSOQMED))
               if '+PSOQMED
                   QUIT 
               Begin DoDot:1
 +20               SET PSOQSTAT=$GET(^XTMP("ORRDI","PSOO",DFN,PSOQMED,5,0))
 +21      ;8-3-07 TO CATCH INCOMPLETE RECORDS
                   if PSOQSTAT']""
                       QUIT 
 +22      ;441 PAPI
                   if "ACTIVE^SUSPENDED^ACTIVE/PARKED"'[PSOQSTAT
                       QUIT 
 +23               SET PSOQRNAM=$GET(^XTMP("ORRDI","PSOO",DFN,PSOQMED,2,0),"Unknown Drug")
 +24               SET PSOQRNUM=$GET(^XTMP("ORRDI","PSOO",DFN,PSOQMED,4,0))
 +25               if PSOQRNAM']""!(PSOQRNUM']"")
                       QUIT 
 +26               SET ALPHA(PSOQRNAM,PSOQRNUM,PSOQMED_"X;R")=""
               End DoDot:1
 +27       QUIT 
 +1        SET PACKREF=+$GET(^OR(100,ORDER,4))
 +2        SET X1=DT
           SET X2=-365
           DO C^%DTC
           SET PSOQYEAR=X
 +3        SET PSOQLRD=$$LRDFUNC^PSOQ0076(PACKREF)
 +4        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +5        if PSOQLRD<PSOQYEAR
               QUIT 
 +6        if $PIECE(PSNUM,";")["N"
               QUIT 
 +7        WRITE !,"OPT "_DRUGNM_" ("_$$GET1^DIQ(52,+PACKREF,100,"E")_"/"_$$DAYSSUPP^PSOQ0076(PACKREF)_" Days Supply Last Released: "_$$FMTE^XLFDT(PSOQLRD,"2D")_")"
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +8       ;
           SET SIGLINE=0
           FOR 
               SET SIGLINE=$ORDER(^PSRX(PACKREF,"SIG1",SIGLINE))
               if '+SIGLINE
                   QUIT 
               Begin DoDot:1
 +9                WRITE !?5,$GET(^PSRX(PACKREF,"SIG1",SIGLINE,0))
                   DO CKP^GMTSUP
                   if $DATA(GMTSQIT)
                       QUIT 
               End DoDot:1
 +10       WRITE !
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +11       QUIT 
INPDISP    DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +1        WRITE !,"INP "_DRUGNM
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +2        SET LASTACT=$ORDER(^OR(100,+ORDER,8,":"),-1)
 +3       ;
           SET OTLINE=1
           FOR 
               SET OTLINE=$ORDER(^OR(100,+ORDER,8,LASTACT,.1,OTLINE))
               if '+OTLINE
                   QUIT 
               Begin DoDot:1
 +4                DO WRAPTEXT^PSOQUTIL($$LSIG^PSOQUTIL($GET(^OR(100,+ORDER,8,LASTACT,.1,OTLINE,0))),60,5)
                   DO CKP^GMTSUP
                   if $DATA(GMTSQIT)
                       QUIT 
 +5                WRITE !?5,$$BCMALG^PSJUTL2(DFN,ORDNUM)
                   DO CKP^GMTSUP
                   if $DATA(GMTSQIT)
                       QUIT 
               End DoDot:1
 +6        WRITE !
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +7        QUIT 
OPTDISP    NEW PSOQEXP,PSOQREF,PSOQSTA
 +1        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +2        SET PACKREF=+$GET(^OR(100,ORDER,4))
 +3        SET PSOQLRD=$$LRDFUNC^PSOQ0076(PACKREF)
 +4        SET PSOQEXP=$$EXPDATE^PSOQ0076(PACKREF)
 +5        SET PSOQREF=$$REFILLS^PSOQ0076(PACKREF)
 +6        IF $PIECE(PSNUM,";")["N"
               GOTO NVADISP
 +7       ;
           Begin DoDot:1
 +8            NEW C,Y
 +9            SET Y=$GET(^PSRX(PACKREF,"STA"))
 +10           SET C=$PIECE(^DD(52,100,0),U,2)
 +11           DO Y^DIQ
 +12      ;441 PAPI
               SET PSOQSTA=Y
               IF PSOQSTA="ACTIVE"
                   IF $GET(^PSRX(PACKREF,"PARK"))
                       SET PSOQSTA="ACTIVE/PARKED"
           End DoDot:1
 +13       WRITE !,"OPT "_DRUGNM_" (Status = "_PSOQSTA_")"
 +14      ;
           SET SIGLINE=0
           FOR 
               SET SIGLINE=$ORDER(^PSRX(PACKREF,"SIG1",SIGLINE))
               if '+SIGLINE
                   QUIT 
               Begin DoDot:1
 +15               WRITE !?5,$GET(^PSRX(PACKREF,"SIG1",SIGLINE,0))
                   DO CKP^GMTSUP
                   if $DATA(GMTSQIT)
                       QUIT 
               End DoDot:1
 +16       WRITE !?10,"Last Released: "_$$FMTE^XLFDT(PSOQLRD,"2D"),?55,"Days Supply: "_$$DAYSSUPP^PSOQ0076(PACKREF)
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +17       WRITE !?10,"Rx Expiration Date: ",$$FMTE^XLFDT(PSOQEXP,"2D"),?55,"Refills Remaining: ",PSOQREF
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +18       WRITE !
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +19       QUIT 
RDIDISP    DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +1        WRITE !,"Remote "_DRUGNM
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +2        NEW PSOQSIG,PSOQSTAT
 +3        SET PSOQSIG=$GET(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,14,0))
 +4        DO WRAPTEXT^PSOQUTIL(PSOQSIG,65,5)
 +5        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +6        SET PSOQSTAT=$GET(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,5,0))
 +7       ;441 PAPI
           SET PSOQSTAT=$SELECT(PSOQSTAT["PARK":"Active/Parked",PSOQSTAT["ACTIVE":"Active",PSOQSTAT["SUSPENDED":"Active/Suspended",1:"Unknown")
 +8        WRITE !?10,"Last Filled: "_$GET(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,9,0))_" ("_PSOQSTAT_" at "_$GET(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,1,0))_") "
 +9       ;NEW LINE IF THE STATUS+STATION IS TOO LONG
           if $X>54
               WRITE !
 +10       WRITE ?55,"Days Supply: "_$PIECE($PIECE($GET(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,6,0)),";",2),"D",2)
 +11       DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +12       WRITE !?10,"Rx Expiration Date: ",$GET(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,7,0)),?55,"Refills Remaining: ",$GET(^XTMP("ORRDI","PSOO",DFN,+ORDNUM,10,0))
 +13       DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +14       WRITE !
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +15       QUIT 
NVADISP    DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +1        WRITE !,"Non VA "_DRUGNM
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +2        SET LASTACT=$ORDER(^OR(100,ORDER,8,":"),-1)
 +3       ;
           SET OTLINE=1
           FOR 
               SET OTLINE=$ORDER(^OR(100,ORDER,8,LASTACT,.1,OTLINE))
               if '+OTLINE
                   QUIT 
               Begin DoDot:1
 +4                DO WRAPTEXT^PSOQUTIL($GET(^OR(100,ORDER,8,LASTACT,.1,OTLINE,0)),65,5)
                   DO CKP^GMTSUP
                   if $DATA(GMTSQIT)
                       QUIT 
               End DoDot:1
 +5        WRITE !
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +6        QUIT