- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/OUTPATIENT_PHARMACY-PSO-APSP-HUIP/PSOHELP3.m
r628 r636 1 1 PSOHELP3 ;BHAM ISC/SAB - outpatient utility routine #4 ;2/17/93 18:00:36 2 ;;7.0;OUTPATIENT PHARMACY;**20 ,291**;DEC 1997;Build 22 ;;7.0;OUTPATIENT PHARMACY;**20**;DEC 1997 3 3 XREF ;code to create 'APD' xref on Drug Interaction file (#56) 4 4 ;I '$D(ZTSK),'$D(PSMSG) D WAIT^DICD W "Building 'APD' X-Ref." … … 16 16 Q 17 17 DRUG ;selects drug and updates Rx file with cost (pso*7*20) 18 W !!,"This option will update the drug cost on all fills in the PRESCRIPTION"19 W !,"file (#52) based on the selected date range and the current cost in the"20 W !,"DRUG file (#50).",!21 18 K X,Y,DA,DIC S DIC(0)="AQEM",DIC=50 D ^DIC I $G(DUOUT) K DIC,Y,X,DA Q 22 19 I Y<0 G OUT 23 20 S (DRG,DA)=+Y K DIC,DR,DIQ S DIC=50,DR=16,DIQ="PSODRG",DIQ(0)="I" 24 21 D EN^DIQ1 S COST=PSODRG(50,DA,16,"I") K PSODRG,DIC,DA,DR,DIQ,DIR 25 W ! S DIR("A")="Do you want to exclude Refills and Partials",DIR(0)="Y",DIR("B")="No" D ^DIR K DIR I $G(DIRUT) K COST,X,DRG,Y Q 26 S REF=$S(Y:0,1:1) 27 S X1=DT,X2=-485 D C^%DTC S (DEF,Y)=X X ^DD("DD") 22 W ! S DIR("A")="Do you want to update cost on Refills and Partials too",DIR(0)="Y",DIR("B")="No" D ^DIR K DIR I $G(DIRUT) K COST,X,DRG,Y Q 23 S REF=$S(Y:Y,1:0),X1=DT,X2=-485 D C^%DTC S (DEF,Y)=X X ^DD("DD") 28 24 W !!,"You can only go back One Year plus 120 days." 29 S %DT(0)=DEF,%DT="AQEX",%DT("A")=" Enter starting fill date: ",%DT("B")=Y D ^%DT K %DT("B"),DEF I Y<0!($D(DTOUT)) K REF,COST,DRG,X,Y Q30 S (FBCK,%DT(0))=Y,%DT("A")=" Enter ending fill date: " D ^%DT25 S %DT(0)=DEF,%DT="AQEX",%DT("A")="How far BACK do you want to go: ",%DT("B")=Y D ^%DT K %DT("B"),DEF I Y<0!($D(DTOUT)) K REF,COST,DRG,X,Y Q 26 S (FBCK,%DT(0))=Y,%DT("A")="How far AHEAD do you want to go: " D ^%DT 31 27 K %DT I Y<0!($D(DTOUT)) K FBCK,REF,COST,DRG,X,Y Q 32 S FAHD=Y 33 S PSOFUTR=0 I FAHD>(DT-1) S PSOFUTR=1 D 34 .W !!,"Since you selected an end fill date of today or in the future, this option" 35 .W !,"will update the cost for all existing and suspended fills that have a" 36 .W !,"fill date in the future.",! 37 K DIR,X,Y S DIR(0)="Y",DIR("A")="Do you want to Queue to run at a specific Time",DIR("B")="Yes" D ^DIR K DIR I $D(DIRUT) G OUT 28 S FAHD=Y K DIR,X,Y S DIR(0)="Y",DIR("A")="Do you want to Queue to run at a specific Time",DIR("B")="Yes" D ^DIR K DIR I $D(DIRUT) G OUT 38 29 I Y S PSOQ=1 K ZTDTH D G OUT 39 30 .S ZTRTN="EN^PSOHELP3",ZTIO="",ZTDESC="Outpatient Pharmacy Rx Cost Update" 40 .F G="REF","COST","DRG","FBCK","FAHD","PSOQ","PSOFUTR" S:$D(@G) ZTSAVE(G)="" 41 .D ^%ZTLOAD I $D(ZTSK) W !!,"Rxs Cost Update Queued",! K ZTSK 42 EN W:'$G(PSOQ) !,"Updating cost. Please wait... " 43 S FDT=FBCK-1 F S FDT=$O(^PSRX("ADL",FDT)) Q:'FDT D Q:FDT>FAHD 44 .I '$G(PSOFUTR) I FDT>FAHD Q 45 .S RXN=0 F S RXN=$O(^PSRX("ADL",FDT,DRG,RXN)) Q:'RXN D W:'$G(PSOQ) "." 46 ..I $P($G(^PSRX(RXN,0)),"^",6)=DRG,$P($G(^(2)),"^",2)=FDT S $P(^PSRX(RXN,0),"^",17)=COST 47 I 'REF G OUT 48 D REFILL,PARTIAL 49 OUT K G,COST,I,X,Y,REF,RXN,FDT,FAHD,FBCK,DRG,PSOQ,DIRUT,PSOFUTR I $D(ZTQUEUED) S ZTREQ="@" 31 .F G="REF","COST","DRG","FBCK","FAHD","PSOQ" S:$D(@G) ZTSAVE(G)="" 32 .D ^%ZTLOAD I $D(ZTSK) W !,"Rxs Cost Update Queued" K ZTSK 33 EN W:'$G(PSOQ) ! S FDT=FBCK-1 F S FDT=$O(^PSRX("ADL",FDT)) Q:'FDT!(FDT>FAHD) F RXN=0:0 S RXN=$O(^PSRX("ADL",FDT,DRG,RXN)) Q:'RXN D W:'$G(PSOQ) "." 34 .I $P($G(^PSRX(RXN,0)),"^",6)=DRG,$P($G(^(2)),"^",2)=FDT S $P(^PSRX(RXN,0),"^",17)=COST 35 .Q:'REF 36 .F I=0:0 S I=$O(^PSRX(RXN,1,I)) Q:'I S $P(^PSRX(RXN,1,I,0),"^",11)=COST 37 .F I=0:0 S I=$O(^PSRX(RXN,"P",I)) Q:'I S $P(^PSRX(RXN,"P",I,0),"^",11)=COST 38 OUT K G,COST,I,X,Y,REF,RXN,FDT,FAHD,FBCK,DRG,PSOQ,DIRUT I $D(ZTQUEUED) S ZTREQ="@" 50 39 Q 51 40 POST ;post install entry point. builds new "ADL" xref for file 52 pso*7*20 … … 58 47 K X,Y,DEF,FTY,IFN S ZTREQ="@" 59 48 Q 60 REFILL ;61 N FILL,FDT,RXN62 S FDT=FBCK-1 F S FDT=$O(^PSRX("AD",FDT)) Q:'FDT D Q:FDT>FAHD63 .I '$G(PSOFUTR),FDT>FAHD Q64 .S RXN="" F S RXN=$O(^PSRX("AD",FDT,RXN)) Q:'RXN D65 ..I $P($G(^PSRX(RXN,0)),"^",6)'=DRG Q66 ..S FILL=0 F S FILL=$O(^PSRX("AD",FDT,RXN,FILL)) Q:'FILL I $D(^PSRX(RXN,1,FILL,0)) S $P(^(0),"^",11)=COST67 Q68 PARTIAL ;69 N FILL,FDT,RXN70 S FDT=FBCK-1 F S FDT=$O(^PSRX("ADP",FDT)) Q:'FDT D Q:FDT>FAHD71 .I '$G(PSOFUTR),FDT>FAHD Q72 .S RXN="" F S RXN=$O(^PSRX("ADP",FDT,RXN)) Q:'RXN D73 ..I $P($G(^PSRX(RXN,0)),"^",6)'=DRG Q74 ..S FILL=0 F S FILL=$O(^PSRX("ADP",FDT,RXN,FILL)) Q:'FILL I $D(^PSRX(RXN,"P",FILL,0)) S $P(^(0),"^",11)=COST75 Q
Note:
See TracChangeset
for help on using the changeset viewer.