- PSDEA ;BIR/JPW-List Drug Name & DEA Special Handling ; 2 Aug 94
- ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
- W !!,"This report lists Drug name, DEA Special Handling, and NDC information",!,"for all drugs marked for Controlled Substances use.",!
- DEV ;asks device and queueing information
- W !,"This report is designed for an 80 column format.",!
- K %ZIS,IOP,IO("Q"),POP S %ZIS="QM",%ZIS("B")="" D ^%ZIS I POP W !,"NO DEVICE SELECTED OR REPORT PRINTED!" G END
- I $D(IO("Q")) K IO("Q"),ZTIO,ZTSAVE,ZTDTH,ZTSK S ZTRTN="START^PSDEA",ZTDESC="CS PHARM List DEA SPECIAL HANDLING" D ^%ZTLOAD,HOME^%ZIS K ZTSK G END
- U IO
- START ;compiles and prints data for report
- K ^TMP("PSDEA",$J)
- S (PG,PSDOUT)=0,%DT="",X="T" D ^%DT X ^DD("DD") S RPDT=Y
- S PSD="" F S PSD=$O(^PSDRUG("AIUN",PSD)) Q:PSD="" F NUM=0:0 S NUM=$O(^PSDRUG("AIUN",PSD,NUM)) Q:'NUM I $D(^PSDRUG(NUM,0)) D
- .S NODE=^PSDRUG(NUM,0),PSDN=$S($P(NODE,"^")]"":$P(NODE,"^"),1:"ZZ #"_NUM_" DRUG NAME MISSING"),PSDEA=$S($P(NODE,"^",3)]"":$P(NODE,"^",3),1:"NOT LISTED")
- .S PSDNDC=$S($P($G(^PSDRUG(NUM,2)),"^",4)]"":$P(^(2),"^",4),1:"NOT LISTED")
- .S ^TMP("PSDEA",$J,PSDN,NUM)=PSDEA_"^"_PSDNDC
- PRINT ;print from ^tmp
- K LN S $P(LN,"-",80)="" D HEADER
- I '$D(^TMP("PSDEA",$J)) W !!,?10,"NO DATA FOR THE DEA SPECIAL HANDLING REPORT!!",!! G DONE
- S PSDN="" F S PSDN=$O(^TMP("PSDEA",$J,PSDN)) Q:PSDN=""!(PSDOUT) D:$Y+5>IOSL HEADER Q:PSDOUT F NUM=0:0 S NUM=$O(^TMP("PSDEA",$J,PSDN,NUM)) Q:'NUM!(PSDOUT) D
- .S NODE=$G(^TMP("PSDEA",$J,PSDN,NUM))
- .W !,?2,PSDN,?51,$P(NODE,"^"),?65,$P(NODE,"^",2)
- W !
- 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,%ZIS,DA,DEA,DIR,DIROUT,DIRUT,DTOUT,DUOUT,LN,NODE,NUM,PG,PSD,PSDEA,PSDN,PSDNDC,PSDOUT,RPDT,X,Y,ZTDESC,ZTIO,ZTRTN,ZTSK
- K ^TMP("PSDEA",$J) D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
- Q
- 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
- I $$S^%ZTLOAD W !!,"Task #",$G(ZTSK),", ",$G(ZTDESC)," was stopped by ",$P($G(^VA(200,+$G(DUZ),0)),U),"." S PSDOUT=1 Q
- W:$Y @IOF S PG=PG+1 W !,?15,"DEA SPECIAL HANDLING FOR CS PHARM DRUGS",!,?29,RPDT,?70,"PAGE: "_PG
- W !!,?48,"DEA SPECIAL",!,"DRUG NAME",?49,"HANDLING",?70,"NDC",!,LN,!
- Q
- PSDEA ;BIR/JPW-List Drug Name & DEA Special Handling ; 2 Aug 94
- +1 ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
- +2 WRITE !!,"This report lists Drug name, DEA Special Handling, and NDC information",!,"for all drugs marked for Controlled Substances use.",!
- DEV ;asks device and queueing information
- +1 WRITE !,"This report is designed for an 80 column format.",!
- +2 KILL %ZIS,IOP,IO("Q"),POP
- SET %ZIS="QM"
- SET %ZIS("B")=""
- DO ^%ZIS
- IF POP
- WRITE !,"NO DEVICE SELECTED OR REPORT PRINTED!"
- GOTO END
- +3 IF $DATA(IO("Q"))
- KILL IO("Q"),ZTIO,ZTSAVE,ZTDTH,ZTSK
- SET ZTRTN="START^PSDEA"
- SET ZTDESC="CS PHARM List DEA SPECIAL HANDLING"
- DO ^%ZTLOAD
- DO HOME^%ZIS
- KILL ZTSK
- GOTO END
- +4 USE IO
- START ;compiles and prints data for report
- +1 KILL ^TMP("PSDEA",$JOB)
- +2 SET (PG,PSDOUT)=0
- SET %DT=""
- SET X="T"
- DO ^%DT
- XECUTE ^DD("DD")
- SET RPDT=Y
- +3 SET PSD=""
- FOR
- SET PSD=$ORDER(^PSDRUG("AIUN",PSD))
- IF PSD=""
- QUIT
- FOR NUM=0:0
- SET NUM=$ORDER(^PSDRUG("AIUN",PSD,NUM))
- IF 'NUM
- QUIT
- IF $DATA(^PSDRUG(NUM,0))
- Begin DoDot:1
- +4 SET NODE=^PSDRUG(NUM,0)
- SET PSDN=$SELECT($PIECE(NODE,"^")]"":$PIECE(NODE,"^"),1:"ZZ #"_NUM_" DRUG NAME MISSING")
- SET PSDEA=$SELECT($PIECE(NODE,"^",3)]"":$PIECE(NODE,"^",3),1:"NOT LISTED")
- +5 SET PSDNDC=$SELECT($PIECE($GET(^PSDRUG(NUM,2)),"^",4)]"":$PIECE(^(2),"^",4),1:"NOT LISTED")
- +6 SET ^TMP("PSDEA",$JOB,PSDN,NUM)=PSDEA_"^"_PSDNDC
- End DoDot:1
- PRINT ;print from ^tmp
- +1 KILL LN
- SET $PIECE(LN,"-",80)=""
- DO HEADER
- +2 IF '$DATA(^TMP("PSDEA",$JOB))
- WRITE !!,?10,"NO DATA FOR THE DEA SPECIAL HANDLING REPORT!!",!!
- GOTO DONE
- +3 SET PSDN=""
- FOR
- SET PSDN=$ORDER(^TMP("PSDEA",$JOB,PSDN))
- IF PSDN=""!(PSDOUT)
- QUIT
- IF $Y+5>IOSL
- DO HEADER
- IF PSDOUT
- QUIT
- FOR NUM=0:0
- SET NUM=$ORDER(^TMP("PSDEA",$JOB,PSDN,NUM))
- IF 'NUM!(PSDOUT)
- QUIT
- Begin DoDot:1
- +4 SET NODE=$GET(^TMP("PSDEA",$JOB,PSDN,NUM))
- +5 WRITE !,?2,PSDN,?51,$PIECE(NODE,"^"),?65,$PIECE(NODE,"^",2)
- End DoDot:1
- +6 WRITE !
- 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,%ZIS,DA,DEA,DIR,DIROUT,DIRUT,DTOUT,DUOUT,LN,NODE,NUM,PG,PSD,PSDEA,PSDN,PSDNDC,PSDOUT,RPDT,X,Y,ZTDESC,ZTIO,ZTRTN,ZTSK
- +2 KILL ^TMP("PSDEA",$JOB)
- DO ^%ZISC
- IF $DATA(ZTQUEUED)
- SET ZTREQ="@"
- +3 QUIT
- +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 IF $$S^%ZTLOAD
- WRITE !!,"Task #",$GET(ZTSK),", ",$GET(ZTDESC)," was stopped by ",$PIECE($GET(^VA(200,+$GET(DUZ),0)),U),"."
- SET PSDOUT=1
- QUIT
- +3 IF $Y
- WRITE @IOF
- SET PG=PG+1
- WRITE !,?15,"DEA SPECIAL HANDLING FOR CS PHARM DRUGS",!,?29,RPDT,?70,"PAGE: "_PG
- +4 WRITE !!,?48,"DEA SPECIAL",!,"DRUG NAME",?49,"HANDLING",?70,"NDC",!,LN,!
- +5 QUIT