Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PSOBKDE1

PSOBKDE1.m

Go to the documentation of this file.
  1. PSOBKDE1 ;BIR/MR-Sub-routines for Backdoor Rx Order Edit ;11/25/02
  1. ;;7.0;OUTPATIENT PHARMACY;**117,133,372,402,500,518**;DEC 1997;Build 3
  1. ;
  1. LST1 ;
  1. W @IOF
  1. N PSOLCNT,DIRUT,DTOUT,DUOUT,I,PSODOSCT,PSODOSFL,PSOBKDF1
  1. W !,"This is the amount of medication the patient is to receive as one dose"
  1. W !,"for this order. This can be a numeric value, such as 325 or 650 or an"
  1. W !,"amount with a unit of measure such as 325MG or 650MG. You may also enter"
  1. W !,"a free text dosage, such as 1 Tablet or 2 Tablets",!
  1. S PSOLCNT=5,PSOBKDF1=1
  1. ;
  1. LST ;
  1. I '$G(PSOBKDF1) W @IOF S PSOBKDF1=1
  1. N DIR I '$D(DOSE("DD")) D Q
  1. . W !," No dosages are available"
  1. . N X S X=$$GET1^DIQ(50,PSODRUG("IEN"),100,"I")
  1. . W $S(X'=""&(DT>X):" because the Drug is now Inactive.",1:"!")
  1. . W !," Please, enter a free text dosage, or You may select a New"
  1. . W !," Orderable Item and Dispense Drug for this order, or you can"
  1. . W !," enter a New Order with an Active Drug."
  1. . S PSOLCNT=$G(PSOLCNT)+4
  1. ;
  1. I $P(DOSE("DD",PSODRUG("IEN")),"^",5)]"" D
  1. .W !,"VERB: "_$P(DOSE("DD",PSODRUG("IEN")),"^",10)
  1. .S PSOLCNT=$G(PSOLCNT)+1
  1. ;
  1. LST2 ;
  1. I '$G(PSOBKDF1) W @IOF S PSOBKDF1=1
  1. N PSOEND
  1. S (PSODOSFL,PSODOSCT)=0
  1. F I=0:0 S I=$O(DOSE(I)) Q:'I!('$D(DOSE(I))) S PSODOSCT=I
  1. I PSODOSCT=1,$P(DOSE(1),"^")=""&($P(DOSE(1),"^",3)="") S PSODOSFL=1
  1. W !!,"There "_$S(PSODOSFL:"are NO",PSODOSCT=1&('PSODOSFL):"is ",1:"are ")_$S(PSODOSFL:"",1:PSODOSCT)_" Available Dosage(s)"_$S(PSODOSFL:".",1:":")
  1. F I=0:0 S I=$O(DOSE(I)) Q:'I!('$D(DOSE(I))) D
  1. .S PSOLCNT=$G(PSOLCNT)+1
  1. .W:'$G(PSODOSFL) !?5,$J(I,3)_". "_$S($P(DOSE(I),"^"):$P(DOSE(I),"^")_$S($P(DOSE("DD",PSODRUG("IEN")),"^",6)]"":$P(DOSE("DD",PSODRUG("IEN")),"^",6),1:""),$P(DOSE(I),"^",3)'="":$P(DOSE(I),"^",3),1:"Please Enter a Free Text Dosage.")
  1. .I ($Y>19),(I>2)&(PSODOSCT>0) D PAUSE S PSOLCNT=0 W !
  1. K DIRUT,DIR
  1. Q
  1. ;
  1. PAUSE ;
  1. Q:PSODOSCT=I
  1. N DIR
  1. S DIR("A")="Enter RETURN to view additional dosages or '^' to exit the list of dosages"
  1. S DIR(0)="E" W !
  1. D ^DIR
  1. I $D(DTOUT)!($D(DUOUT)) S I=9999 Q
  1. W @IOF
  1. Q