PSBPRND ;BIRMINGHAM/EFC-BCMA PRN DOCUMENTING ;May 2002 ;;2.0;BAR CODE MED ADMIN;**32**;May 2002 ; ;Queue the routine ENV(PSBPRNDT,PSBSTRT,PSBDUZ,PRNMSG) ; I $G(DUZ)="" W !,"Your DUZ is not defined. It must be defined." Q K ZTSAVE,ZTSK S ZTRTN="PROCESS^PSBPRND(PSBPRNDT,PSBSTRTE,PSBDUZ,PSBPRNM)",ZTDESC="BCMA PRN DOCUMENTATION",ZTIO="" W !! S ZTSAVE("PSBPRNDT")="" S ZTSAVE("PSBSTRTE")="" S ZTSAVE("PSBDUZ")="" S ZTSAVE("PSBPRNM")="" D ^%ZTLOAD I $D(ZTSK) D .W !!,"The PRN effectiveness documenting process was ",$S($G(ZTSK):"",1:"NOT"),"queued",! .W !," TASK#: "_$G(ZTSK) Q PSBPRNS ;Document all administrations of a PRN order that have NOT had ; the PRN Effectiveness documented for dates user provided ; N PSBIEN I $G(DUZ)="" W !,"Your DUZ is not defined. It must be defined." Q S PSBDUZ=$G(DUZ) D HEADER ;get start date S %DT="AEQ",%DT("A")="Select Date to Process From: " S %DT("B")="" W ! D ^%DT Q:+Y<1 S PSBDT=Y S PSBPRNDT=PSBDT D D^DIQ ;Get stop date S %DT="AEQ",%DT("A")="Select Date to Process Up to: " S %DT("B")="" W ! D ^%DT Q:+Y<1 S PSBDTA=Y S PSBSTRTE=PSBDTA D D^DIQ I PSBPRNDT>PSBSTRTE W !,"Start date cannot be greater than end date" Q ;Write user running routine S PSBNAME=$P(^VA(200,PSBDUZ,0),"^",1) W !!,"PRN effectiveness entered by: ",PSBNAME,! D HEADER ;COMMIT OR QUIT S Y=PSBDTA D DD^%DT S PSBRDT=Y S Y=PSBPRNDT D DD^%DT S PSBRDTA=Y W !!!,?10,"**PRN DOCUMENTATION WILL BE FILED FOR THE FOLLOWING**" W !!,?5,"PRN START DATE...........: ",PSBRDTA W !,?5,"PRN END DATE.............: ",PSBRDT W !,?5,"PRN ENTERED BY...........: ",PSBNAME W !,?5,"PRN DOCUMENTATION STATEMENT: " ;Set mesage to be used S PSBPRNM="Administrative Closure" I $L(PSBPRNM)>0 D .W ?9,$E(PSBPRNM,1,52) R !!,"Would you like to CONTINUE ? (Y/N):",PSBANS:30 S PSBFLAG="" I (PSBANS["Y")!(PSBANS="y") S PSBFLAG=1 I PSBFLAG'=1 D Q .W !!,"You have chosen not to continue! Application ending!!" D HEADER D ENV(PSBPRNDT,PSBSTRTE,PSBDUZ,PSBPRNM) Q ; PROCESS(PSBPRNDT,PSBSTRTE,PSBDUZ,PSBPRNM) ; ;Gather Patient DFN S PSBSRTD=PSBSTRTE+1 S PSBPRTA=PSBPRNDT-1 S PSBCNT="0" S DFN="" F S DFN=$O(^PSB(53.79,"APRN",DFN)) Q:DFN="" D .S PSBSTRT="" F S PSBSTRT=$O(^PSB(53.79,"APRN",DFN,PSBSTRT)) Q:PSBSTRT="" D ..I PSBSTRT>PSBPRTA,PSBSTRT