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

PSGWCL.m

Go to the documentation of this file.
  1. PSGWCL ;BHAM ISC/PTD,CML-Clear AMIS Exceptions ; 29 Dec 93 / 2:29 PM
  1. ;;2.3; Automatic Replenishment/Ward Stock ;;4 JAN 94
  1. W !!,"This option will show AR/WS drugs for which information is missing.",!,"The information MUST be supplied before the AMIS report can be printed.",!!
  1. ;GET DATES FOR AMIS REPORT
  1. BDT S %DT="AEX",%DT("A")="BEGINNING date for AMIS report: " D ^%DT K %DT G:Y<0 END S BDT=Y
  1. EDT S %DT="AEX",%DT(0)=BDT,%DT("A")="ENDING date for AMIS report: " D ^%DT K %DT G:Y<0 END S EDT=Y
  1. I '$O(^PSI(58.5,"AEX",BDT-1)) W !!,"No AMIS exceptions for selected dates." G END
  1. S QUEFLG=0 D ^PSGWCLP G:QUEFLG END
  1. CONT W !!,"Do you wish to edit incomplete data now" S %=1 D YN^DICN I %<0!(%=2) G END
  1. I '% W !?5,"Enter ""YES"" or ""NO""" G CONT
  1. ;LOOP THROUGH THE "AEX" CROSS-REFERENCE
  1. S DATDA=(BDT-1),(SITE,DRGDA,INC,MSG)=0
  1. DTLP S DATDA=$O(^PSI(58.5,"AEX",DATDA)),PSGWADT=$P(DATDA,".") G:(DATDA>EDT)!(DATDA="") MSG
  1. STLP S SITE=$O(^PSI(58.5,"AEX",DATDA,SITE)) G:'SITE DTLP
  1. DRGLP S DRGDA=$O(^PSI(58.5,"AEX",DATDA,SITE,DRGDA)) G:'DRGDA STLP
  1. ASK ;ASK FOR MISSING DRUG DATA
  1. S PSGWDN=$P(^PSI(58.5,DATDA,"S",SITE,"DRG",DRGDA,0),"^"),DRGNAM=$S($P($G(^PSDRUG(PSGWDN,0)),"^")'="":$P(^(0),"^"),1:"") I DRGNAM="" W !!,"The name for drug ",PSGWDN," is missing from the drug file.",!,"Notify your package coordinator!" G DRGLP
  1. I $D(LOC(PSGWDN)) D CHK G DRGLP
  1. W !!,"==> Information incomplete for: ",DRGNAM,!
  1. S INC=1,DIE="^PSDRUG(",DA=PSGWDN,DR="13;15;301;302" D ^DIE K DIE G:$D(Y) MSG S LOC(PSGWDN)="" D CHK G DRGLP
  1. CHK ;VERIFY THAT USER HAS ENTERED ALL NECESSARY DATA
  1. I $D(^PSDRUG(PSGWDN,660)) S LOC1=^(660),INC=0
  1. E S INC=1,MSG=1 Q
  1. I $D(^PSDRUG(PSGWDN,"PSG")) S LOC2=^("PSG"),INC=0
  1. E S INC=1,MSG=1 Q
  1. F J=3,5,6 I $P(LOC1,"^",J)="" S INC=1,MSG=1 Q
  1. F J=2,3 I $P(LOC2,"^",J)="" S INC=1,MSG=1 Q
  1. I INC=0 D UPAMIS
  1. Q
  1. MSG I INC!(MSG) W *7,!!,"DATA IS STILL MISSING! YOU WILL NOT BE ABLE",!,"TO PRINT AMIS UNTIL INFORMATION IS COMPLETE!!"
  1. E W !!,"DATA COMPLETE!!"
  1. END K PSGWCAT,PSGWQD,X,Y,BDT,EDT,SITE,DATDA,DRGDA,DRGNAM,LOC1,LOC2,INC,J,PSGWDN,CAT,COST,DOSE,FLD,FLDA,LOC,LOC3,PSGWADT,PSGWAOU,DA,DR,%,D0,DI,DIG,DIH,DIU,DIV,DQ,DTDA,QUEFLG,G,MSG Q
  1. ;
  1. UPAMIS ;UPDATE THE AMIS SUBFILE AND REMOVE INCOMPLETE FLAG & X-REF
  1. I '$O(^PSI(58.5,DATDA,"S",SITE,"DRG",DRGDA,"CAT",0)) D KILL Q
  1. F CAT=0:0 S CAT=$O(^PSI(58.5,DATDA,"S",SITE,"DRG",DRGDA,"CAT",CAT)) Q:'CAT S PSGWCAT=$P(^PSI(58.5,DATDA,"S",SITE,"DRG",DRGDA,"CAT",CAT,0),"^"),PSGWQD=$P(^(0),"^",2) D UPDATE
  1. Q
  1. ;
  1. UPDATE I PSGWCAT["R" S LOC3="^"_$E(PSGWCAT,2)
  1. D CALC^PSGWCAD
  1. AMIS D @($S(PSGWCAT'["R":"SETDSP^PSGWCAD",1:"SETRET^PSGWCAD"))
  1. KILL S $P(^PSI(58.5,DATDA,"S",SITE,"DRG",DRGDA,0),"^",2)=0
  1. K ^PSI(58.5,"AEX",DATDA,SITE,DRGDA)
  1. K PSGWCAT,PSGWQD,LOC3,DOSE,COST,FLD
  1. Q