PSOATRP ;BIR/SJA - INTERNET REFILL REPORT ;05/29/07 12:36pm
;;7.0;OUTPATIENT PHARMACY;**264**;DEC 1997;Build 19
;
N PSODS,PSOED,PSOEDX,PSODIV,PSOREP,PSORST,PSORMZ,PSOSD,PSOSDX,PSOSITE,RDATE,X,Y
S PSORMZ=0 D NOW^%DTC S Y=% X ^DD("DD") S RDATE=Y
;
D SEL^PSOREJU1("DIVISION","^PS(59,",.PSODIV) I $G(PSODIV)="^" D MESS Q
I $G(PSODIV)="ALL" S PSOSITE=0 F S PSOSITE=$O(^PS(59,PSOSITE)) Q:'PSOSITE D
.I '$P($G(^PS(59,PSOSITE,"I")),"^")!(DT<$P($G(^("I")),"^")) S PSODIV(PSOSITE)=""
;
K DIR W ! S DIR(0)="DAO^:DT:APEX",DIR("A")="Beginning Date: ",DIR("?")=" ",DIR("?",1)="Enter the date to begin searching.",DIR("?",2)="A future date cannot be entered." D ^DIR K DIR
I 'Y!($D(DTOUT))!($D(DUOUT)) D MESS Q
S PSOSD=Y D DD^%DT S PSOSDX=Y
;
W ! K DIR S DIR(0)="DAO^:DT:APEX",DIR("A")="Ending Date: ",DIR("?")=" ",DIR("?",1)="Enter the ending date of the search.",DIR("?",2)="This date cannot be a future date." D ^DIR K DIR
I 'Y!($D(DTOUT))!($D(DUOUT)) D MESS Q
S PSOED=Y D DD^%DT S PSOEDX=Y
;
W ! K DIR S DIR(0)="S^P:Patient;D:Date;R:Result;",DIR("B")="R"
S DIR("A")="Sort by Patient/Date/Result (P/D/R)",DIR("?")="Enter 'P' to sort by Patient, 'D' to sort by date, or 'R' to sort by result." D ^DIR K DIR
I $D(DTOUT)!$D(DUOUT) D MESS Q
S PSOREP=Y
;
W ! K DIR S DIR(0)="S^D:Detail;S:Summary;",DIR("B")="S"
S DIR("A")="Print Detail/Summary report (D/S)",DIR("?")="Enter 'D' to print detail report or 'S' for summary report" D ^DIR K DIR
I $D(DTOUT)!$D(DUOUT) D MESS Q
S PSODS=Y
;
SKIPC ;
I PSODS="S" G SEL
W ! K DIR S DIR("A")="Do you want this report to print in 80 or 132 column format: "
S DIR("B")="80",DIR(0)="SAM^1:132;8:80" D ^DIR K DIR I Y["^"!($D(DIRUT)) D MESS Q
W ! S PSORMZ=$S(Y=1:1,1:0)
;
SEL D @$S(PSOREP="D":"^PSOATRD",PSOREP="R":"^PSOATRR",1:"^PSOATRPP")
;
END K X,Y,PSOSDX,PSOSD,PSOSITE,PSORST,PSOREP,PSODIV,PSOEDX,PSOED,PSODS,DIRUT,DTOUT,DUOUT
Q
MESS W !!,"Nothing queued to print.",!
Q
DIV(RX,DV) ; Check if the Division for the Prescription/Fill was selected by the user
I $G(PSODIV)="ALL" Q 1
I $D(PSODIV(DV)) Q 1
Q 0
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOATRP 2110 printed Nov 22, 2024@17:34:34 Page 2
PSOATRP ;BIR/SJA - INTERNET REFILL REPORT ;05/29/07 12:36pm
+1 ;;7.0;OUTPATIENT PHARMACY;**264**;DEC 1997;Build 19
+2 ;
+3 NEW PSODS,PSOED,PSOEDX,PSODIV,PSOREP,PSORST,PSORMZ,PSOSD,PSOSDX,PSOSITE,RDATE,X,Y
+4 SET PSORMZ=0
DO NOW^%DTC
SET Y=%
XECUTE ^DD("DD")
SET RDATE=Y
+5 ;
+6 DO SEL^PSOREJU1("DIVISION","^PS(59,",.PSODIV)
IF $GET(PSODIV)="^"
DO MESS
QUIT
+7 IF $GET(PSODIV)="ALL"
SET PSOSITE=0
FOR
SET PSOSITE=$ORDER(^PS(59,PSOSITE))
if 'PSOSITE
QUIT
Begin DoDot:1
+8 IF '$PIECE($GET(^PS(59,PSOSITE,"I")),"^")!(DT<$PIECE($GET(^("I")),"^"))
SET PSODIV(PSOSITE)=""
End DoDot:1
+9 ;
+10 KILL DIR
WRITE !
SET DIR(0)="DAO^:DT:APEX"
SET DIR("A")="Beginning Date: "
SET DIR("?")=" "
SET DIR("?",1)="Enter the date to begin searching."
SET DIR("?",2)="A future date cannot be entered."
DO ^DIR
KILL DIR
+11 IF 'Y!($DATA(DTOUT))!($DATA(DUOUT))
DO MESS
QUIT
+12 SET PSOSD=Y
DO DD^%DT
SET PSOSDX=Y
+13 ;
+14 WRITE !
KILL DIR
SET DIR(0)="DAO^:DT:APEX"
SET DIR("A")="Ending Date: "
SET DIR("?")=" "
SET DIR("?",1)="Enter the ending date of the search."
SET DIR("?",2)="This date cannot be a future date."
DO ^DIR
KILL DIR
+15 IF 'Y!($DATA(DTOUT))!($DATA(DUOUT))
DO MESS
QUIT
+16 SET PSOED=Y
DO DD^%DT
SET PSOEDX=Y
+17 ;
+18 WRITE !
KILL DIR
SET DIR(0)="S^P:Patient;D:Date;R:Result;"
SET DIR("B")="R"
+19 SET DIR("A")="Sort by Patient/Date/Result (P/D/R)"
SET DIR("?")="Enter 'P' to sort by Patient, 'D' to sort by date, or 'R' to sort by result."
DO ^DIR
KILL DIR
+20 IF $DATA(DTOUT)!$DATA(DUOUT)
DO MESS
QUIT
+21 SET PSOREP=Y
+22 ;
+23 WRITE !
KILL DIR
SET DIR(0)="S^D:Detail;S:Summary;"
SET DIR("B")="S"
+24 SET DIR("A")="Print Detail/Summary report (D/S)"
SET DIR("?")="Enter 'D' to print detail report or 'S' for summary report"
DO ^DIR
KILL DIR
+25 IF $DATA(DTOUT)!$DATA(DUOUT)
DO MESS
QUIT
+26 SET PSODS=Y
+27 ;
SKIPC ;
+1 IF PSODS="S"
GOTO SEL
+2 WRITE !
KILL DIR
SET DIR("A")="Do you want this report to print in 80 or 132 column format: "
+3 SET DIR("B")="80"
SET DIR(0)="SAM^1:132;8:80"
DO ^DIR
KILL DIR
IF Y["^"!($DATA(DIRUT))
DO MESS
QUIT
+4 WRITE !
SET PSORMZ=$SELECT(Y=1:1,1:0)
+5 ;
SEL DO @$SELECT(PSOREP="D":"^PSOATRD",PSOREP="R":"^PSOATRR",1:"^PSOATRPP")
+1 ;
END KILL X,Y,PSOSDX,PSOSD,PSOSITE,PSORST,PSOREP,PSODIV,PSOEDX,PSOED,PSODS,DIRUT,DTOUT,DUOUT
+1 QUIT
MESS WRITE !!,"Nothing queued to print.",!
+1 QUIT
DIV(RX,DV) ; Check if the Division for the Prescription/Fill was selected by the user
+1 IF $GET(PSODIV)="ALL"
QUIT 1
+2 IF $DATA(PSODIV(DV))
QUIT 1
+3 QUIT 0