Ignore:
Timestamp:
Dec 4, 2009, 8:26:01 PM (14 years ago)
Author:
George Lilly
Message:

WorldVistAEHR overlayed on FOIAVistA

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  
    11PSOHELP3 ;BHAM ISC/SAB - outpatient utility routine #4 ;2/17/93 18:00:36
    2  ;;7.0;OUTPATIENT PHARMACY;**20,291**;DEC 1997;Build 2
     2 ;;7.0;OUTPATIENT PHARMACY;**20**;DEC 1997
    33XREF ;code to create 'APD' xref on Drug Interaction file (#56)
    44 ;I '$D(ZTSK),'$D(PSMSG) D WAIT^DICD W "Building 'APD' X-Ref."
     
    1616 Q
    1717DRUG ;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).",!
    2118 K X,Y,DA,DIC S DIC(0)="AQEM",DIC=50 D ^DIC I $G(DUOUT) K DIC,Y,X,DA Q
    2219 I Y<0 G OUT
    2320 S (DRG,DA)=+Y K DIC,DR,DIQ S DIC=50,DR=16,DIQ="PSODRG",DIQ(0)="I"
    2421 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")
    2824 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 Q
    30  S (FBCK,%DT(0))=Y,%DT("A")="Enter ending fill date: " D ^%DT
     25 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
    3127 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
    3829 I Y S PSOQ=1 K ZTDTH D  G OUT
    3930 .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
     33EN 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
     38OUT K G,COST,I,X,Y,REF,RXN,FDT,FAHD,FBCK,DRG,PSOQ,DIRUT I $D(ZTQUEUED) S ZTREQ="@"
    5039 Q
    5140POST ;post install entry point.  builds new "ADL" xref for file 52 pso*7*20
     
    5847 K X,Y,DEF,FTY,IFN S ZTREQ="@"
    5948 Q
    60 REFILL ;
    61  N FILL,FDT,RXN
    62  S FDT=FBCK-1 F  S FDT=$O(^PSRX("AD",FDT)) Q:'FDT  D  Q:FDT>FAHD
    63  .I '$G(PSOFUTR),FDT>FAHD Q
    64  .S RXN="" F  S RXN=$O(^PSRX("AD",FDT,RXN)) Q:'RXN  D
    65  ..I $P($G(^PSRX(RXN,0)),"^",6)'=DRG Q
    66  ..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)=COST
    67  Q
    68 PARTIAL ;
    69   N FILL,FDT,RXN
    70   S FDT=FBCK-1 F  S FDT=$O(^PSRX("ADP",FDT)) Q:'FDT  D  Q:FDT>FAHD
    71  .I '$G(PSOFUTR),FDT>FAHD Q
    72  .S RXN="" F  S RXN=$O(^PSRX("ADP",FDT,RXN)) Q:'RXN  D
    73  ..I $P($G(^PSRX(RXN,0)),"^",6)'=DRG Q
    74  ..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)=COST
    75  Q
Note: See TracChangeset for help on using the changeset viewer.