- PSDEXP1 ;BIR/JPW-CS Drug Expiration Date Report (cont'd) ; 2 Aug 94
- ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
- U IO
- PRINT ;print cs exp date report
- S (PG,PSDOUT)=0
- K LN S $P(LN,"-",80)="" D NOW^%DTC S Y=+$E(%,1,12) X ^DD("DD") S RPDT=Y
- D HDR
- I '$D(^TMP("PSDEXP",$J)) W !!,?15,"**** NO DRUG EXPIRATION DATA FOR THIS REPORT ****" G END
- F PSD=0:0 S PSD=$O(^TMP("PSDEXP",$J,PSD)) Q:'PSD!(PSDOUT) D:$Y+5>IOSL HDR Q:PSDOUT S Y=PSD X ^DD("DD") W !!,"=> ",Y D
- .S PSD1="" F S PSD1=$O(^TMP("PSDEXP",$J,PSD,PSD1)) Q:PSD1=""!(PSDOUT) D:$Y+5>IOSL HDR Q:PSDOUT W !,?12,PSD1 D
- ..S PSD2="" F S PSD2=$O(^TMP("PSDEXP",$J,PSD,PSD1,PSD2)) Q:PSD2=""!(PSDOUT) S PSD3="" F S PSD3=$O(^TMP("PSDEXP",$J,PSD,PSD1,PSD2,PSD3)) Q:PSD3=""!(PSDOUT) D:$Y+5>IOSL HDR Q:PSDOUT W !,?14,$S(PSD3'="N/A":PSD3,1:""),?25,PSD2
- DONE I $E(IOST)'="C" W @IOF
- I $E(IOST,1,2)="C-",'PSDOUT W ! K DIR,DIRUT S DIR(0)="EA",DIR("A")="END OF REPORT! Press <RET> to return to the menu" D ^DIR K DIR
- END ;
- K %,%DT,%H,%I,%ZIS,ANS,CNT,DA,DIC,DIR,DIROUT,DIRUT,DTOUT,DRUG,DRUGN,DUOUT,JJ,LN,NAOU,NAOUN,NODE,OK,ORD
- K PG,POP,PSD,PSDT,PSD1,PSD2,PSD3,PSDATE,PSDED,PSDIO,PSDOUT,PSDSD,RPDT,TYPE,X,Y,ZTDESC,ZTDTH,ZTRTN,ZTSAVE,ZTSK
- K ^TMP("PSDEXP",$J) D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
- Q
- HDR ;header for log
- I $E(IOST,1,2)="C-",PG W ! K DA,DIR S DIR(0)="E" D ^DIR K DIR I 'Y S PSDOUT=1 Q
- S PG=PG+1 W:$Y @IOF W !,?27,"CS DRUG EXPIRATION DATE REPORT",?70,"Page: ",PG
- W !,?22,"FOR PERIOD ",$P(PSDATE,"^")," TO ",$P(PSDATE,"^",2)
- W !,?27,"PRINTED ",RPDT,!!,"=> DATE",!,?12
- I ANS="D" W "DRUG",!,?14,"DISP #",?25,"NAOU",!,LN Q
- W "NAOU",!,?14,"DISP #",?25,"ITEM",!,LN
- Q
- PSDEXP1 ;BIR/JPW-CS Drug Expiration Date Report (cont'd) ; 2 Aug 94
- +1 ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
- +2 USE IO
- PRINT ;print cs exp date report
- +1 SET (PG,PSDOUT)=0
- +2 KILL LN
- SET $PIECE(LN,"-",80)=""
- DO NOW^%DTC
- SET Y=+$EXTRACT(%,1,12)
- XECUTE ^DD("DD")
- SET RPDT=Y
- +3 DO HDR
- +4 IF '$DATA(^TMP("PSDEXP",$JOB))
- WRITE !!,?15,"**** NO DRUG EXPIRATION DATA FOR THIS REPORT ****"
- GOTO END
- +5 FOR PSD=0:0
- SET PSD=$ORDER(^TMP("PSDEXP",$JOB,PSD))
- IF 'PSD!(PSDOUT)
- QUIT
- IF $Y+5>IOSL
- DO HDR
- IF PSDOUT
- QUIT
- SET Y=PSD
- XECUTE ^DD("DD")
- WRITE !!,"=> ",Y
- Begin DoDot:1
- +6 SET PSD1=""
- FOR
- SET PSD1=$ORDER(^TMP("PSDEXP",$JOB,PSD,PSD1))
- IF PSD1=""!(PSDOUT)
- QUIT
- IF $Y+5>IOSL
- DO HDR
- IF PSDOUT
- QUIT
- WRITE !,?12,PSD1
- Begin DoDot:2
- +7 SET PSD2=""
- FOR
- SET PSD2=$ORDER(^TMP("PSDEXP",$JOB,PSD,PSD1,PSD2))
- IF PSD2=""!(PSDOUT)
- QUIT
- SET PSD3=""
- FOR
- SET PSD3=$ORDER(^TMP("PSDEXP",$JOB,PSD,PSD1,PSD2,PSD3))
- IF PSD3=""!(PSDOUT)
- QUIT
- IF $Y+5>IOSL
- DO HDR
- IF PSDOUT
- QUIT
- WRITE !,?14,$SELECT(PSD3'="N/A":PSD3,1:""),?25,PSD2
- End DoDot:2
- End DoDot:1
- DONE IF $EXTRACT(IOST)'="C"
- WRITE @IOF
- +1 IF $EXTRACT(IOST,1,2)="C-"
- IF 'PSDOUT
- WRITE !
- KILL DIR,DIRUT
- SET DIR(0)="EA"
- SET DIR("A")="END OF REPORT! Press <RET> to return to the menu"
- DO ^DIR
- KILL DIR
- END ;
- +1 KILL %,%DT,%H,%I,%ZIS,ANS,CNT,DA,DIC,DIR,DIROUT,DIRUT,DTOUT,DRUG,DRUGN,DUOUT,JJ,LN,NAOU,NAOUN,NODE,OK,ORD
- +2 KILL PG,POP,PSD,PSDT,PSD1,PSD2,PSD3,PSDATE,PSDED,PSDIO,PSDOUT,PSDSD,RPDT,TYPE,X,Y,ZTDESC,ZTDTH,ZTRTN,ZTSAVE,ZTSK
- +3 KILL ^TMP("PSDEXP",$JOB)
- DO ^%ZISC
- IF $DATA(ZTQUEUED)
- SET ZTREQ="@"
- +4 QUIT
- HDR ;header for log
- +1 IF $EXTRACT(IOST,1,2)="C-"
- IF PG
- WRITE !
- KILL DA,DIR
- SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- IF 'Y
- SET PSDOUT=1
- QUIT
- +2 SET PG=PG+1
- IF $Y
- WRITE @IOF
- WRITE !,?27,"CS DRUG EXPIRATION DATE REPORT",?70,"Page: ",PG
- +3 WRITE !,?22,"FOR PERIOD ",$PIECE(PSDATE,"^")," TO ",$PIECE(PSDATE,"^",2)
- +4 WRITE !,?27,"PRINTED ",RPDT,!!,"=> DATE",!,?12
- +5 IF ANS="D"
- WRITE "DRUG",!,?14,"DISP #",?25,"NAOU",!,LN
- QUIT
- +6 WRITE "NAOU",!,?14,"DISP #",?25,"ITEM",!,LN
- +7 QUIT