- PSDRFL ;BIR/JPW,LTL-Nurse RF Dispensing ; 8 Aug 94
- ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
- QTY S DIR(0)="NA^.01:"_OQTY_":2",DIR("A")="Amount given: "
- W ! D ^DIR K DIR G:Y'>0 END S (PSDQ,OQTY)=Y
- WASTE I PSDQ#1 D G:$G(PSDOUT) END
- .S DIR(0)="Y",DIR("A")="Will you be wasting any of this dose"
- .W ! D ^DIR K DIR S:$D(DIRUT) PSDOUT=1 Q:Y'=1
- .W ?44,"Amount to be wasted: ",1-PSDQ#1,! S WQTY=1-PSDQ#1
- WIT .S NUR2=$$WITNESS^XUVERIFY("WITNESS")
- .I NUR2=DUZ W !!,"Wait a minute, you can't witness yourself!",$C(7) G WIT
- .I NUR2'>0 S PSDOUT=1 Q
- .W !!,"Thank you, ",$S($P($G(^VA(200,NUR2,.1)),U,4)]"":$P($G(^(.1)),U,4),1:$P($G(^VA(200,NUR2,0)),U))
- .S PSDQ=PSDQ+WQTY ;S DUZ=PSDUZ
- W !!,"Remaining Balance: ",$P(PSDR(1),U,4)-PSDQ," ",$P(PSDR(1),U,8)
- D UPDAT^PSDRF1 G DRUG^PSDRF
- END W:$G(PSDOUT) !!,"No dose signed out.",$C(7),!! K %,%DT,%H,%I,CNT,CNT1,DA,DIC,DIE,DINUM,DIR,DIROUT,DIRUT,DIWF,DIWL,DIWR,DR,DTOUT,DUOUT,LN,MSG,MSG1
- K NAOU,NAOUN,NBKU,NPKG,OK,OKTYP,ORD,PSDA,PSDEM,PSDOUT,PSDQTY,PSDRD,PSDR,PSDRN,PSDS,PSDT,PSDUZ,PSDUZN,REQD,TEXT,TYPE,WORD,X,Y
- Q
- MSG ;display error message
- W $C(7),!!,?10,"Contact your Pharmacy Coordinator.",!,?10,"This "_$S(MSG=2:"Dispensing Site",MSG=1:"NAOU",1:"Drug")_" is missing "
- W $S(MSG1=1:"Primary Disp. Site",MSG1=2:"stocked drugs",MSG1=3:"narcotic breakdown unit",MSG1=4:"narcotic package size",1:"data")_".",!
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSDRFL 1376 printed Jan 18, 2025@02:49:52 Page 2
- PSDRFL ;BIR/JPW,LTL-Nurse RF Dispensing ; 8 Aug 94
- +1 ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
- QTY SET DIR(0)="NA^.01:"_OQTY_":2"
- SET DIR("A")="Amount given: "
- +1 WRITE !
- DO ^DIR
- KILL DIR
- if Y'>0
- GOTO END
- SET (PSDQ,OQTY)=Y
- WASTE IF PSDQ#1
- Begin DoDot:1
- +1 SET DIR(0)="Y"
- SET DIR("A")="Will you be wasting any of this dose"
- +2 WRITE !
- DO ^DIR
- KILL DIR
- if $DATA(DIRUT)
- SET PSDOUT=1
- if Y'=1
- QUIT
- +3 WRITE ?44,"Amount to be wasted: ",1-PSDQ#1,!
- SET WQTY=1-PSDQ#1
- WIT SET NUR2=$$WITNESS^XUVERIFY("WITNESS")
- +1 IF NUR2=DUZ
- WRITE !!,"Wait a minute, you can't witness yourself!",$CHAR(7)
- GOTO WIT
- +2 IF NUR2'>0
- SET PSDOUT=1
- QUIT
- +3 WRITE !!,"Thank you, ",$SELECT($PIECE($GET(^VA(200,NUR2,.1)),U,4)]"":$PIECE($GET(^(.1)),U,4),1:$PIECE($GET(^VA(200,NUR2,0)),U))
- +4 ;S DUZ=PSDUZ
- SET PSDQ=PSDQ+WQTY
- End DoDot:1
- if $GET(PSDOUT)
- GOTO END
- +5 WRITE !!,"Remaining Balance: ",$PIECE(PSDR(1),U,4)-PSDQ," ",$PIECE(PSDR(1),U,8)
- +6 DO UPDAT^PSDRF1
- GOTO DRUG^PSDRF
- END if $GET(PSDOUT)
- WRITE !!,"No dose signed out.",$CHAR(7),!!
- KILL %,%DT,%H,%I,CNT,CNT1,DA,DIC,DIE,DINUM,DIR,DIROUT,DIRUT,DIWF,DIWL,DIWR,DR,DTOUT,DUOUT,LN,MSG,MSG1
- +1 KILL NAOU,NAOUN,NBKU,NPKG,OK,OKTYP,ORD,PSDA,PSDEM,PSDOUT,PSDQTY,PSDRD,PSDR,PSDRN,PSDS,PSDT,PSDUZ,PSDUZN,REQD,TEXT,TYPE,WORD,X,Y
- +2 QUIT
- MSG ;display error message
- +1 WRITE $CHAR(7),!!,?10,"Contact your Pharmacy Coordinator.",!,?10,"This "_$SELECT(MSG=2:"Dispensing Site",MSG=1:"NAOU",1:"Drug")_" is missing "
- +2 WRITE $SELECT(MSG1=1:"Primary Disp. Site",MSG1=2:"stocked drugs",MSG1=3:"narcotic breakdown unit",MSG1=4:"narcotic package size",1:"data")_".",!
- +3 QUIT