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

APSQFAS4.m

Go to the documentation of this file.
  1. APSQFAS4 ;IHS/DSD/JCM - ORDER ENTRY FAST DRUG SELECTION
  1. ;;6.0;IHS PHARMACY MODIFICATIONS;**3**;FEB 20, 2001
  1. ;----------------------------------------------------------
  1. START ;
  1. S (PSONEW("DFLG"),PSONEW("FIELD"),PSODRG("QFLG"))=0
  1. D SELECT ; Select Drug
  1. I $G(PSORX("EDIT"))]"",'PSONEW("FIELD") D TRADE
  1. G:PSONEW("DFLG")!(PSODRG("QFLG")) END
  1. D SET ; Set various drug information
  1. D POST I PSORX("DFLG") S PSONEW("DFLG")=1 K:'$G(PSORX("EDIT")) PSORX("DFLG") ; Do any post selection action
  1. END D EOJ
  1. Q
  1. ;------------------------------------------------------------
  1. ;
  1. SELECT ;
  1. K DIC,X,Y,PSODRUG("TRADE NAME")
  1. I $G(PSODRUG("IEN"))]"" S DIC("B")=PSODRUG("NAME"),PSONEW("OLD VAL")=PSODRUG("IEN")
  1. ;S DIC="^PSDRUG(",DIC(0)="MQEAZO",DIC("A")="DRUG: ",DIC("S")="I $S('$D(^PSDRUG(+Y,""I"")):1,'^(""I""):1,DT'>^(""I""):1,1:0),$S($P($G(^PSDRUG(+Y,2)),""^"",3)'[""O"":0,1:1)" D ^DIC K DIC
  1. S Y=$G(APSQF(2,"I")),Y(0)=^PSDRUG(Y,0) ;IHS/OKCAO/POC FAST OPTION
  1. S:Y>0 X=$P(^PSDRUG(Y,0),U,1) ;IHS/OKCAO/POC FAST OPTION
  1. W !,X ;FAST OPTION
  1. ;IHS/DSD/ENM 01/31/97 NEXT LI COPIED MODIFIED/DISABLED
  1. ;S DIC="^PSDRUG(",DIC(0)="MQEAZ",DIC("A")="DRUG: ",DIC("S")="I $S('$D(^PSDRUG(+Y,""I"")):1,'^(""I""):1,DT'>^(""I""):1,1:0),$S($P($G(^PSDRUG(+Y,2)),""^"",3)'[""O"":0,1:1)" D ^DIC K DIC
  1. I X[U,$L(X)>1 S PSODIR("FLD")=PSONEW("FLD") D JUMP^PSODIR1 S:$G(PSODIR("FIELD")) PSONEW("FIELD")=PSODIR("FIELD") K PSODIR S PSODRG("QFLG")=1 G SELECTX
  1. I $D(DTOUT)!($D(DUOUT)) S PSONEW("DFLG")=1 G SELECTX
  1. ;I Y<0 G SELECT
  1. S:Y<1 PSODRG("QFLG")=1 ;IHS/OKCAO/POC FAST OPTION
  1. S:$G(PSONEW("OLD VAL"))=+Y PSODRG("QFLG")=1
  1. K PSOY S PSOY=Y,PSOY(0)=Y(0)
  1. ;D ^APSPMAN ;IHS/DSD/ENM MANUFACTURER CALL 1-6-95 8/18/2000 IHS/OKCAO/POC
  1. I $P(PSOY(0),"^")="OTHER DRUG"!($P(PSOY(0),"^")="OUTSIDE DRUG") D TRADE
  1. SELECTX K X,Y,DTOUT,DUOUT
  1. Q
  1. ;
  1. TRADE ;
  1. K DIR,DIC,DA,X,Y
  1. S DIR(0)="52,6.5" D ^DIR K DIR,DIC
  1. I $D(DIRUT) S:$D(DUOUT)!$D(DTOUT)&('$D(PSORX("EDIT"))) PSONEW("DFLG")=1 G TRADEX
  1. S PSODRUG("TRADE NAME")=Y
  1. TRADEX K DIRUT,DTOUT,DUOUT,X,Y
  1. Q
  1. ;
  1. SET ;
  1. S PSODRUG("IEN")=+PSOY,PSODRUG("VA CLASS")=$P(PSOY(0),"^",2)
  1. S PSODRUG("NAME")=$P(PSOY(0),"^")
  1. S PSODRUG("NDF")=$S($G(^PSDRUG(+PSOY,"ND"))]"":+^("ND")_"A"_$P(^("ND"),"^",3),1:0)
  1. S PSODRUG("MAXDOSE")=$P(PSOY(0),"^",4),PSODRUG("DEA")=$P(PSOY(0),"^",3)
  1. S PSODRUG("CLN")=$S($D(^PSDRUG(+PSOY,"ND")):+$P(^("ND"),"^",6),1:0)
  1. S PSODRUG("SIG")=$P(PSOY(0),"^",5)
  1. S PSODRUG("NDC")=$P($G(^PSDRUG(+PSOY,2)),"^",4)
  1. S PSODRUG("STKLVL")=$G(^PSDRUG(+PSOY,660.1))
  1. G:$G(^PSDRUG(+PSOY,660))']"" SETX
  1. S PSOX1=$G(^PSDRUG(+PSOY,660))
  1. S PSODRUG("COST")=$P($G(PSOX1),"^",6)
  1. S PSODRUG("UNIT")=$P($G(PSOX1),"^",8)
  1. ;S PSODRUG("EXPIRATION DATE")=$P($G(PSOX1),"^",9)
  1. S PSODRUG("AWP")=$P($G(^PSDRUG(+PSOY,999999931)),"^",2) ;AWP PRICE IHS/OKCAO/POC 8/18/2000
  1. ;MORE CHANGES IHS/OKCAO/POC 8/18/2000
  1. ;S DIC="^PSDRUG(",DR="9999999.24:9999999.26",DA=PSODRUG("IEN"),DIQ="APSQ(""DIQ1"",",DIQ(0)="I"
  1. S DIC="^PSDRUG(",DR="9999999.25:9999999.26",DA=PSODRUG("IEN"),DIQ="APSQ(""DIQ1"",",DIQ(0)="I"
  1. D EN^DIQ1
  1. ;S PSONEW("MANUFACTURER")=@("APSQ(""DIQ1"",50,"_PSODRUG("IEN")_",9999999.24,""I"")")
  1. S PSONEW("LOT #")=@("APSQ(""DIQ1"",50,"_PSODRUG("IEN")_",9999999.25,""I"")")
  1. S PSONEW("EXPIRATION DATE")=@("APSQ(""DIQ1"",50,"_PSODRUG("IEN")_",9999999.26,""I"")")
  1. I $G(PSONEW("EXPIRATION DATE"))["T+" S X=PSONEW("EXPIRATION DATE"),%DT="" D ^%DT S:Y'=-1 PSONEW("EXPIRATION DATE")=Y ;IHS/OKCAO/POC 1/9/2001 IN CASE FIELD HAS T+ CHANGE TO A FILEMAN DATE
  1. ;CRAP I NEED THE EXTERNAL FOR THE FAST OPTION
  1. S DIC="^PSDRUG(",DR="9999999.24",DA=PSODRUG("IEN"),DIQ="APSQ(""DIQ1"",",DIQ(0)="E"
  1. D EN^DIQ1
  1. S PSONEW("MANUFACTURER")=@("APSQ(""DIQ1"",50,"_PSODRUG("IEN")_",9999999.24,""E"")")
  1. ;END OF CHANGES IHS/OKCAO/POC 8/18/2000
  1. SETX K PSOX1,PSOY
  1. K APSQ("DIQ1") ;8/18/2000 IHS/OKCAO/POC
  1. Q
  1. ;
  1. POST ;
  1. S PSORX("DFLG")=0
  1. ;I $G(DUZ("AG"))="I" D ^PSODRG99 ; IHS specific call
  1. D ^PSODRDUP ; Set PSORX("DFLG")=1 if process to stop
  1. S X="APSQDRDU" X ^%ZOSF("TEST") I $T D ^APSQDRDU ;IHS/DSD/ENM/POC 05/11/98 DUP OUTSIDE RX CK
  1. Q:$G(PSORX("DFLG"))
  1. ;D ^PSODGDGI D:$G(PSORX("INTERVENE"))]"" ^PSORXI G:PSORX("DFLG") POSTX
  1. D ^PSODGDGI G:PSORX("DFLG") POSTX ;IHS/DSD/ENM/POC 05/11/98 MULTI-INTERVENS
  1. S X="APSQDGDG" X ^%ZOSF("TEST") I $T D ^APSQDGDG G:PSORX("DFLG") POSTX ;IHS/DSD/ENM/POC 05/11/98 OUTSIDE RX CK CHANGED DGLG TO DFLG IHS/OKCAO/POC 5/26/98
  1. S X="APSQALLE" X ^%ZOSF("TEST") I $T K PSORX("INTERVENE") ;IHS/DSD/ENM/POC 05/11/98 OUTSIDE RX CK
  1. S X="APSQALLE" X ^%ZOSF("TEST") I $T D EN^APSQALLE D:$G(PSORX("INTERVENE"))]"" ^PSORXI G:PSORX("DFLG") POSTX ;IHS/DSD/ENM/POC 05/11/98 OUTSIDE RX CK CHANGED DGLG TO DFLG IHS/OKCAO/POC 5/26/98
  1. ;
  1. ;IHS/DSD/ENM NEXT LINE ROUTINE IS UNDER DEVELOPMENT
  1. ;D EN^APSPALG D:$G(PSORX("INTERVENE"))]"" ^PSORXI G:PSORX("DFLG") POSTX ;IHS/DSD/POC/ENM ADDED FOR ALLERGY CHECK
  1. D POSTX ;IHS/OKCAO/POC 9/28/98
  1. S X="APSQCK" X ^%ZOSF("TEST") I $T D RX^APSQCK D:$G(PSORX("INTERVENE"))]"" ^PSORXI G:PSORX("DFLG") POSTX ;IHS/OKCAO/POC 9/28/98
  1. D POSTX ;IHS/OKCAO/POC 9/28/98
  1. D:$P($G(^PSDRUG(PSODRUG("IEN"),"CLOZ1")),"^")]"" CLOZ G:PSORX("DFLG") POSTX
  1. ; Do ^allergy check
  1. ;D ^PSODRDUP ; Set PSORX("DFLG")=1 if process to stop
  1. ; ^Do any other action revolving around the drug selection
  1. POSTX ;
  1. K PSORX("INTERVENE")
  1. Q
  1. ;
  1. EOJ ;
  1. K PSODRG
  1. Q
  1. ;
  1. CLOZ ;
  1. S ANQRTN=$P(^PSDRUG(PSODRUG("IEN"),"CLOZ1"),"^"),ANQX=0
  1. S P(5)=PSODRUG("IEN"),DFN=PSODFN,X=ANQRTN
  1. X ^%ZOSF("TEST") I D @("^"_ANQRTN) S:$G(ANQX) PSORX("DFLG")=1
  1. K P(5),ANQRTN,ANQX,X
  1. Q