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

APSQFAS2.m

Go to the documentation of this file.
  1. APSQFAS2 ;IHS/ASDS/ENM/POC - PROGRAM TO COMPUTE LATE RXS;
  1. ;;6.0;IHS PHARMACY MODIFICATIONS;**3**;FEB 20, 2001
  1. I '$D(IOF) S %ZIS="N",IOP=0 D ^%ZIS
  1. S U="^",DNUM=0
  1. IF '$D(DUZ)!($G(DUZ)=0) W !,"NEED TO DEFINE DUZ" G EXIT
  1. ;IF '($D(DUZ(2))#10) D ^AUKVAR
  1. IF '$D(DT) D NOW^%DTC S DT=X
  1. ;
  1. ;
  1. GETEM K DIC I $D(DELETE) W !,"THE DRUG YOU SELECT WILL BE DELETED FROM YOUR LIST IF IT IS ON THE LIST"
  1. F Q:U[$G(X,0)!($G(ALL)) S DNUM=DNUM+1 D ;U[""OR ^ AS TRUE
  1. .S DIC="^APSQFAST(",DIC(0)="AEMQ"
  1. .S DIC("W")="W "" ""_$S($P(^(0),U,2):$P(^PSDRUG($P(^(0),U,2),0),U,1),1:""EXPLODE"")"
  1. .S DIC("S")="I $G(^(""I""),0)=0!($P($G(^(0)),U)>DT)"
  1. .S DIC("A")="SELECT THE FAST CODE YOU WANT TO"_$S($D(DELETE):" DELETE",1:" ADD")_": "
  1. .D ^DIC K DIC
  1. .IF X="" K DELETE W @IOF Q
  1. .I $D(DELETE) D Q
  1. ..S DRUGX=$P(^APSQFAST(+Y,0),U)
  1. ..W !,DRUGX," "
  1. ..I $D(DRUG(DRUGX)) W "DELETED" K DRUG(DRUGX)
  1. ..E W "IS NOT A MEMBER OF SELECTED FAST CODES!"
  1. ..Q
  1. .;NEXT THREE LINES EDITED 11/24/98 IHS/OKCAO/POC
  1. .IF +Y>0 D
  1. ..S DRUGNAM=$P(^APSQFAST(+Y,0),U),DRUG(DRUGNAM)=Y
  1. ..S DRUGNAM=$P(^APSQFAST(+Y,0),U)_" "_$S($P(^APSQFAST(+Y,0),U,2):$P(^PSDRUG($P(^APSQFAST(+Y,0),U,2),0),U,1),1:"")
  1. .Q
  1. ;
  1. LIST ;LIST OF DRUGS CHOOSEN
  1. W !,"LISTED ARE THE FAST CODES SELECTED SO FAR:",!
  1. I '$D(DRUG) W !,"NO FAST CODES HAVE BEEN SELECTED",!
  1. S DRUGNAM=0 F S DRUGNAM=$O(DRUG(DRUGNAM)) Q:DRUGNAM="" W !,DRUGNAM
  1. ;
  1. K DIR
  1. S DIR(0)="S^A:ADD MORE FAST CODES;D:DELETE A DRUG;C:CONTINUE"
  1. S DIR("B")="C"
  1. S DIR("A")="ANSWER WITH THE RESPONSE TO ADD, DELETE, CONTINUE, OR '^' TO EXIT"
  1. D ^DIR K DIR,X
  1. I Y="A" G GETEM
  1. I Y="D" S DELETE=1 G GETEM
  1. I $D(DIRUT) G EXIT ;ADD SOME HERE XXX
  1. D EXPAND
  1. G:'$D(DRUG) EXIT
  1. Q
  1. DIQ S APSQHIT=0 F S APSQHIT=$O(DRUG(APSQHIT)) Q:APSQHIT="" D D ^APSQFAS3
  1. .S APSQDG=+DRUG(APSQHIT)
  1. .Q:'APSQDG
  1. .D GETS^DIQ(9009035.3,APSQDG_",","*","I","APSQ","ERR")
  1. .M APSQF=APSQ(9009035.3,APSQDG_",") K APSQ ;EASIER TO WORK WITH
  1. ;
  1. Q
  1. EXPAND ;EXPAND ANY EXPLODING ENTRIES
  1. S DRUGNAM="" F S DRUGNAM=$O(DRUG(DRUGNAM)) Q:DRUGNAM="" D
  1. .S DRUGNAMI=+DRUG(DRUGNAM)
  1. .Q:'$O(^APSQFAST(DRUGNAMI,2,0))
  1. .S APSQEXP=0 F S APSQEXP=$O(^APSQFAST(DRUGNAMI,2,APSQEXP)) Q:APSQEXP'=+APSQEXP D
  1. ..S APSQEXPI=^APSQFAST(DRUGNAMI,2,APSQEXP,0)
  1. ..S DRUGALSO($P(^APSQFAST(APSQEXPI,0),U,1))=APSQEXPI
  1. .K DRUG(DRUGNAM)
  1. M DRUG=DRUGALSO
  1. K DRUGALSO
  1. Q
  1. EXIT ;KILL AND EXIT
  1. K PSONEW,PSONEW1
  1. S PSONEW("QFLG")=1
  1. K DRUGALSO,DRUG
  1. Q