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:
13 edited
1 copied

Legend:

Unmodified
Added
Removed
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSABRKU3.m

    r628 r636  
    11PSABRKU3 ;BIR/JMB/PDW-Upload and Process Prime Vendor Invoice Data - CONT'D ;8/13/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**26,41,47,67**; 10/24/97;Build 15
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**26,41,47**; 10/24/97
    33 ;Checking the X12 invoice data.
    44 S (PSASTCNT,PSAITCNT,PSACTRL(1))=0
     
    7373IT1 .;invoice line item
    7474 .I PSALAST="IT1" S PSASTCNT=PSASTCNT+1,PSAITCNT=PSAITCNT+1 D ITEM Q
    75  .;BGN PSA*3*67
    76 PID .;generic vendor item name
    77  .I PSALAST="PID" S PSASTCNT=PSASTCNT+1,$P(^TMP($J,"PSAPV SET",PSACTRL,"IT",PSAITEM),"^",29)=$S($P(PSADATA,"^",6)=$P(^TMP($J,"PSAPV SET",PSACTRL,"IT",PSAITEM),"^",28):"Unknown",1:$P(PSADATA,"^",6)) Q
    78 PO4 .;DESCRIPTION OF ITEM
    79  .I PSALAST="PO4" S PSASTCNT=PSASTCNT+1,$P(^TMP($J,"PSAPV SET",PSACTRL,"IT",PSAITEM),"^",30)=$P(PSADATA,"^",3)_"^"_$P(PSADATA,"^",9) D  Q
    80  .;END PSA*3*67
    8175CTT .;item count
    8276 .I PSALAST="CTT" S PSASTCNT=PSASTCNT+1 D  Q
     
    9993 S PSAITEM=+$P(PSADATA,"^",2),^TMP($J,"PSAPV SET",PSACTRL,"IT",PSAITEM)=+$P(PSADATA,"^",3)_"^"_$P(PSADATA,"^",4)_"^"_$P(PSADATA,"^",5)_"^"_$P(PSADATA,"^",8)_"^"_$P(PSADATA,"^",10)
    10094 I $P(PSADATA,"^",12)'="",$P(PSADATA,"^",11)="UP" S $P(^TMP($J,"PSAPV SET",PSACTRL,"IT",PSAITEM),"^",26)=$P(PSADATA,"^",12)
    101  ;Next line to add vendor Generic Description
    102  I $P(PSADATA,"^",14)'="" S $P(^TMP($J,"PSAPV SET",PSACTRL,"IT",PSAITEM),"^",28)=$P(PSADATA,"^",14)
    103  ;Eop67
    10495 Q
    10596RESETST ;Reset PSACTRL
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSABRKU5.m

    r628 r636  
    1 PSABRKU5 ;BIR/DB-Upload and Process Prime Vendor Invoice Data - CONT'D ;7/23/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**26,67**; 10/24/97;Build 15
     1PSABRKU5 ;BIR/JMB-Upload and Process Prime Vendor Invoice Data - CONT'D ;7/23/97
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**26**; 10/24/97
    33 ;This routine checks for correct X12 formating.
    44 ;
    55ORDER ;  check order of code sheets
     6 ;  isa   <--------------+
     7 ;    gs    <----------+ |
     8 ;      st    <------+ | |
     9 ;      | big        | | |
     10 ;      | it1   <--+ | | |
     11 ;      | ...      | | | |--repeats
     12 ;      | it1   <--+ | | |
     13 ;      | ctt        | | |
     14 ;      se    <------+ | |
     15 ;    ge    <----------+ |
     16 ;  iea   <--------------+
    617 S PSANEXT=$P(PSADATA,"^")
    718 ;
     
    2031 I PSALAST="ST",PSANEXT'="BIG" D ORDERROR("ST",PSANEXT,"BIG") Q
    2132 ;
    22  ;adding next two lines for new format
    23  I PSALAST="IT1",PSANEXT="PID" Q
    24  I PSALAST="PO4",PSANEXT'="IT1",PSANEXT'="CTT"&(PSANEXT'="TDS") D ORDERROR("PO4",PSANEXT,"CTT") Q
    25  ;End of PSA*3*67 Changes
     33 I PSALAST="IT1",PSANEXT="IT1" Q
     34 I PSALAST="IT1",PSANEXT'="CTT"&(PSANEXT'="TDS") D ORDERROR("IT1",PSANEXT,"CTT") Q
    2635 Q
    2736 ;
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAENTO.m

    r628 r636  
    11PSAENTO ;BIR/LTL,JMB-Set Up/Edit a Pharmacy Location - CONT'D ;7/23/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**12,21,43,63**; 10/24/97;Build 10
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**12,21,43**; 10/24/97
    33 ;This routines is called by PSAENT.
    44 ;
     
    3434 S:'$D(PSALOC) PSALOC=$O(^PSD(58.8,"AOP",+PSAOSIT,"")),PSALOCN=$P($G(^PSD(58.8,+PSALOC,0)),U)
    3535OPC W !!,"Outpatient site selection affects the collection of dispensing data.",!
    36  S DIE="^PSD(58.8,",DA=PSALOC,DR="20//^S X=$P($G(^PS(59,+PSAOSIT,0)),U)" D ^DIE K DIE I $D(DTOUT)!($D(Y)) G QUIT  ;; <3*63 RJS>
     36 S DIE="^PSD(58.8,",DA=PSALOC,DR="20//^S X=$P($G(^PS(59,+PSAOSIT,0)),U)" D ^DIE K DIE G:$D(Y) QUIT
    3737 S PSAOSIT=+$P($G(^PSD(58.8,PSALOC,0)),"^",10)
    3838 G:'PSALOC QUIT
     
    5555 ...S ^PSD(58.8,+PSALOC,1,+PSADRUG,5,0)="^58.801A^^"
    5656 ...S DIC="^PSD(58.8,+PSALOC,1,+PSADRUG,5,",DIC(0)="LM",(X,DINUM)=$E(DT,1,5)*100,DA(2)=PSALOC,DA(1)=PSADRUG,DIC("DR")="1////^S X=$G(PSAQTY);5////^S X=$G(PSAQTY)",DLAYGO=58.8 D ^DIC K DIC,DLAYGO
    57  ...F  L +^PSD(58.81,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
     57 ...F  L +^PSD(58.81,0):0 I  Q
    5858FIND ...S PSAT=$P(^PSD(58.81,0),U,3)+1 I $D(^PSD(58.81,PSAT)) S $P(^PSD(58.81,0),U,3)=$P(^PSD(58.81,0),U,3)+1 G FIND
    5959 ...S DIC="^PSD(58.81,",DIC(0)="L",DLAYGO=58.81,(DINUM,X)=PSAT D ^DIC K DIC,DLAYGO L -^PSD(58.81,0)
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAORDP1.m

    r628 r636  
    11PSAORDP1 ;BIR/JMB-Print Orders - CONT'D ;9/19/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,12,21,61,65,67**; 10/24/97;Build 15
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,12,21,61,65**; 10/24/97;Build 2
    33 ;This routine prints invoices.
    44 ;
     
    124124 .W:+$P($G(^PSD(58.811,PSAORD,1,PSAINV,1,PSALN,2)),"^",2)'=0 !?9,"REORDER LEVEL: "_$FN(+$P(^PSD(58.811,PSAORD,1,PSAINV,1,PSALN,2),"^",2),",")
    125125 .;
    126  .;BGN 67
    127  .D DISP2^PSAP67
    128  .;END 67
    129126 .I $Y+5>IOSL D:$E(IOST,1,2)="C-" SCREEN^PSAORDP2 Q:PSAOUT  D HEADER^PSAORDP2 D LINEHDR^PSAORDP2
    130127 .D ^PSAORDP2 Q:PSAOUT
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAPROC4.m

    r628 r636  
    11PSAPROC4 ;BIR/JMB-Process Uploaded Prime Vendor Invoice Data - CONT'D ;7/23/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,21,63**; 10/24/97;Build 10
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,21**; 10/24/97
    33 ;References to ^PSDRUG( are covered by IA #2095
    44 ;References to ^DIC(51.5 are covered by IA #1931
     
    5252 ;
    5353LIST Q:PSANODE=""!($P($G(^PSDRUG(PSAIEN50,0)),"^")="")
    54  ;3*63 RJS
    55  N PSAPPOU,PSADUOU,PSAPPDU,PSAVEND,PSAOU,PSACPPDU,X,PSANDC,PSADU,PSASYNM,PSAVSN
    56  S X=PSANODE
    57  S PSASYNM=$P(X,U,1),PSANDC=$P(X,U,2),PSAVSN=$P(X,U,4),PSAOU=+$P(X,U,5),PSAPPOU=$P(X,U,6)
    58  S PSADUOU=$P(X,U,7),PSAPPDU=$P(X,U,8),PSAVEND=$P(X,U,9)
    59  S PSADU=$$GET1^DIQ(50,PSAIEN50,14.5),PSAOU=$P($G(^DIC(51.5,PSAOU,0)),"^")
    60  S PSACPPDU=$S('PSADUOU:"BLANK",1:(PSAPPOU*1000/PSADUOU\1/1000)) ;recalculate PPDU, file doesn't reset PPDU
    6154 W !?1,PSAMENU_".",?4,$P($G(^PSDRUG(PSAIEN50,0)),"^") I $D(^PSDRUG(PSAIEN50,"I")) W ?60,"(INACTIVE)"
    62  I PSANDC="",PSAVSN="" W !,?19,"SYN #",PSASYN,": ",PSASYNM,! Q
    63  W !,?4,"NDC: ",PSANDC,?25,"Order Unit: ",PSAOU,?46,"Price Per Order Unit: $",$FN(PSAPPOU,",",2)
    64  W !,?4,"VSN: ",PSAVSN,?19,"SYN #",PSASYN,": ",PSASYNM,?42,"Dose Unit Per Order Unit: ",PSADUOU
    65  W !,?4,"Vendor: ",PSAVEND,?47,"Price Per Dose Unit: ",$FN(PSACPPDU,","),!
    66  ;3*63 end
     55 ;NOIS CTX-1200-71091 (PSA*3*21 Dave B)
     56 I $P(PSANODE,"^",2)'="" W !,?4,"NDC : "_$P(PSANODE,"^",2)
     57 I +$P(PSANODE,"^",5),$P($G(^DIC(51.5,+$P(PSANODE,"^",5),0)),"^")'="" W !?4,"Order Unit: "_$P(^DIC(51.5,+$P(PSANODE,"^",5),0),"^"),?45,"Price Per Order Unit   : $"_$S(+$P(PSANODE,"^",6):$P(PSANODE,"^",6),1:"(Blank)")
     58 E  I +$P(PSANODE,"^",6) W !?4,"Price Per Order Unit: $"_$P(PSANODE,"^",6)
     59 I $P(PSANODE,"^",9)'="" W !?4,"Vendor: "_$P(PSANODE,"^",9),?45,"VSN: "_$S($P(PSANODE,"^",4)'="":$P(PSANODE,"^",4),1:"(Blank)")
     60 E  I $P(PSANODE,"^",4)'="" W !?4,"VSN: "_$S($P(PSANODE,"^",4)'="":$P(PSANODE,"^",4),1:"(Blank)")
    6761 Q
    6862 ;
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAPROC7.m

    r628 r636  
    11PSAPROC7 ;BIR/JMB-Process Uploaded Prime Vendor Invoice Data - CONT'D ;9/6/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,12,27,21,42,61,64,67**; 10/24/97;Build 15
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,12,27,21,42,61,64**; 10/24/97;Build 4
    33 ;This routine takes the data in XTMP and moves it to DA ORDERS file.
    44 ;It deletes the data in XTMP after it is copies.
     
    6565 S $P(^PSD(58.811,DA(2),1,DA(1),1,DA,0),"^",6)=DT
    6666 S $P(^PSD(58.811,DA(2),1,DA(1),1,DA,0),"^",7)=DUZ
    67  ;BGN 67
    68  S $P(^PSD(58.811,DA(2),1,DA(1),3,DA,0),"^",1)=$P(PSADATA,"^",28)
    69  S $P(^PSD(58.811,DA(2),1,DA(1),3,DA,0),"^",2)=$P(PSADATA,"^",29)
    70  S $P(^PSD(58.811,DA(2),1,DA(1),3,DA,0),"^",3)=$P(PSADATA,"^",30)
    71  S $P(^PSD(58.811,DA(2),1,DA(1),3,DA,0),"^",4)=$P(PSADATA,"^",31)
    72  ;END 67
    7367 S DIK=DIE D IX^DIK
    7468 ;End PSA*3*7
     
    8175 I +$P(PSADATA,"^",7)!(+$P(PSADATA,"^",20))!(+$P(PSADATA,"^",21))!(+$P(PSADATA,"^",27)) D
    8276 .S ^PSD(58.811,PSAIEN,1,PSAIEN1,1,PSAIEN2,2)=$P(PSADATA,"^",20)_"^"_$P(PSADATA,"^",21)_"^"_$S(+$P(PSADATA,"^",7):+$P(PSADATA,"^",7),1:0)_"^"_+$P(PSADATA,"^",27)
    83  ;Bgn 67
    84  I $P(PSADATA,"^",5)'="" S ^XTMP("PSAVSN",$P(PSADATA,"^",5))=$P(PSADATA,"^",28)_"^"_$P(PSADATA,"^",29)_"^"_$P(PSADATA,"^",30)_"^"_$P(PSADATA,"^",31)
    85  ;End 67
    8677 K ^XTMP("PSAPV",PSACTRL,"IT",PSALINE)
    8778 Q
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAUDP.m

    r628 r636  
    11PSAUDP ;BIR/LTL,JMB-Nightly Background Job - CONT'D ;7/23/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**6,3,12,14,25,64,66**; 10/24/97;Build 2
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**6,3,12,14,25,64**; 10/24/97;Build 4
    33 ;
    44 ;Reference to ^PS(57.6 are covered by IA #772
     
    4747 S DIE="^PSD(58.8,PSALOC,1,PSA50,5,",DA(2)=PSALOC,DA(1)=PSA50,DA=$E(PSADT,1,5)*100,DR="9////^S X=$P($G(^(0)),U,6)+PSAQTY" D ^DIE K DIE,DA
    4848 ;Get next transaction node number
    49  F  L +^PSD(58.81,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q  ;; << *66 RJS
    5049FIND S PSANUM=$P(^PSD(58.81,0),"^",3)+1 I $D(^PSD(58.81,PSANUM)) S $P(^PSD(58.81,0),"^",3)=$P(^PSD(58.81,0),"^",3)+1 G FIND
    5150 ;Add next transaction node with data.
     
    5352 S DIE="^PSD(58.81,",DA=PSANUM
    5453 S DR="1////2;2////^S X=PSALOC;3////^S X=PSADT;4////^S X=PSA50;5////^S X=PSAQTY;9////^S X=$G(PSABAL)" D ^DIE K DIE,DA
    55  L -^PSD(58.81,0)  ;; >> *66 RJS
    5654 ;Add activity node
    5755 S DIC="^PSD(58.8,PSALOC,1,PSA50,4,",DIC(0)="L",(X,DINUM)=PSANUM,DIC("P")=$P(^DD(58.8001,19,0),"^",2),DA(2)=PSALOC,DA(1)=PSA50,DLAYGO=58.8 D ^DIC K DA,DIC,DLAYGO
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAUP4.m

    r628 r636  
    11PSAUP4 ;BIR/JMB-Upload and Process Prime Vendor Invoice Data - CONT'D ;9/19/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,12,20,21,67**; 10/24/97;Build 15
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,12,20,21**; 10/24/97
    33 ;This routine prints invoices from the ^XTMP global on the screen or
    44 ;to a printer.
     
    112112 .I $Y+9>IOSL,+$P(PSADATA,"^",21),+$P(PSADATA,"^",27) D:$E(IOST,1,2)="C-" SCREEN Q:PSAOUT  D HEADER,LINEHDR
    113113 .I $G(PSADRG) D HAVEDRG
    114  .I '$G(PSADRG) W !?9,"STOCK LEVEL  : ",!?9,"REORDER LEVEL: "_$P(PSADATA,"^",21),!?9,"DISPENSE UNITS/ORDER UNIT: " D DISP^PSAP67
     114 .I '$G(PSADRG) W !?9,"STOCK LEVEL  : ",!?9,"REORDER LEVEL: "_$P(PSADATA,"^",21),!?9,"DISPENSE UNITS/ORDER UNIT: "
    115115 .;
    116116 .;Print Adj Qty
     
    174174 W !?9,"DISPENSE UNITS/ORDER UNIT: "
    175175 W $S(+$P(PSADATA,"^",20):+$P(PSADATA,"^",20),+$P($G(^PSDRUG(PSADRG,1,+$P(PSADATA,"^",7),0)),"^",7):+$P($G(^PSDRUG(PSADRG,1,+$P(PSADATA,"^",7),0)),"^",7),1:"")
    176  D DISP^PSAP67
    177176 Q
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAUTL1.m

    r628 r636  
    11PSAUTL1 ;BIR/JMB-Prime Vendor Invoice Data Utility ;9/19/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,12,15,21,48,49,54,67**; 10/24/97;Build 15
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,12,15,21,48,49,54**; 10/24/97
    33 ;This routine contains utilities to get the location name, display an
    44 ;error-free item, display an item with errors, and display a line ready
     
    5151 W !,"Unit Price  : $"_$P(PSADATA,"^",3),?38,"VSN: "_$S(PSAVSN'="":PSAVSN,1:"Blank"),!
    5252 I $P(PSADATA,U,13)=.5 D  ;*48 AUTO OU UPDATE FOR MCKESSON
    53  .W !,"*****>",!,"Note: The order unit was changed from EACH to ",$P($G(^DIC(51.5,+PSAOU,0)),"^")," by Drug Accountability"
    54  .W !,"      during the upload of the invoiced data. Adjustments may be necessary.",!,"*****<"
    55  ;bgn *67
    56  W !,"PV-Drug-Description  : ",$S($P(PSADATA,"^",28)'="":$P(PSADATA,"^",28),1:"Unknown")
    57  W ?55,"PV-DUOU  : ",$S($P(PSADATA,"^",31)'="":$P(PSADATA,"^",31),1:"Unknown")
    58  W !,"PV-Drug-Generic Name : ",$S($P(PSADATA,"^",29)'="":$P(PSADATA,"^",29),1:"Unknown")
    59  W ?55,"PV-UNITS : ",$S($P(PSADATA,"^",30)'="":$P(PSADATA,"^",30),1:"Unknown"),!
    60  ;end *67
     53 . W !,"*****>",!,"Note: The order unit was changed from EACH to ",$P($G(^DIC(51.5,+PSAOU,0)),"^")," by Drug Accountability"
     54 . W !,"      during the upload of the invoiced data. Adjustments may be necessary.",!,"*****<"
     55 ;*54 display VSN XTMP Drug Description and DUOU >==>
     56 N PSAFLDT S PSAFLDT="February 2006"
     57 N XXX S XXX=$G(^XTMP("PSAVSN",PSAVSN)) D
     58 . I $G(^XTMP("PSAVSN",0)) S PSAFLDT=$P(^XTMP("PSAVSN",0),"^",4)
     59 . W !,"PV-Drug-Descrip: "
     60 . I '$L(XXX) W "Not Available. Item is OTC or new after ",PSAFLDT,! Q
     61 . W ?20,$P(XXX,"~",2),?55,"PV-DUOU: ",+XXX,!
     62 ;*54 display VSN XTMP Drug Description and DUOU <==<
    6163 W !,"Dispense Units: "_$S(+PSAIEN&($P($G(^PSDRUG(+PSAIEN,660)),"^",8)'=""):$P($G(^PSDRUG(+PSAIEN,660)),"^",8),1:"Blank")
    6264 W !,"Dispense Units Per Order Unit: "_$S($P(PSADATA,"^",20):+$P(PSADATA,"^",20),+PSASUB&(+$P($G(^PSDRUG(+PSAIEN,1,PSASUB,0)),"^",7)):+$P($G(^PSDRUG(+PSAIEN,1,PSASUB,0)),"^",7),1:"Blank")
     
    98100 W !,"Unit Price  : $"_$S($G(PSAPRICE):PSAPRICE,PSAPRICE=0:0,1:"Blank"),?38,"VSN: "_$S(PSAVSN'="":PSAVSN,1:"Blank"),!
    99101 I $P(PSADATA,U,13)=.5 D  ;*48 AUTO OU UPDATE FOR MCKESSON
    100  .N PSAOU S PSAOU=$P(PSADATA,U,12)
    101  .W !,"*****>",!,"Note: The order unit was changed from EACH to ",$P($G(^DIC(51.5,+PSAOU,0)),"^")," by Drug Accountability"
    102  .W !,"      during the upload of the invoiced data. Adjustments may be necessary.",!,"*****<"
    103  ;bgn *67
    104  W !,"PV-Drug-Description  : ",$S($P(PSADATA,"^",28)'="":$P(PSADATA,"^",28),1:"Unknown")
    105  W ?55,"PV-DUOU  : ",$S($P(PSADATA,"^",31)'="":$P(PSADATA,"^",31),1:"Unknown")
    106  W !,"PV-Drug-Generic Name : ",$S($P(PSADATA,"^",29)'="":$P(PSADATA,"^",29),1:"Unknown")
    107  W ?55,"PV-UNITS : ",$S($P(PSADATA,"^",30)'="":$P(PSADATA,"^",30),1:"Unknown"),!
    108  ;end *67
     102 . N PSAOU S PSAOU=$P(PSADATA,U,12)
     103 . W !,"*****>",!,"Note: The order unit was changed from EACH to ",$P($G(^DIC(51.5,+PSAOU,0)),"^")," by Drug Accountability"
     104 . W !,"      during the upload of the invoiced data. Adjustments may be necessary.",!,"*****<"
     105 N PSAFLDT S PSAFLDT="February 2006"
     106 N XXX S XXX=$G(^XTMP("PSAVSN",PSAVSN)) D
     107 .I $G(^XTMP("PSAVSN",0)) S PSAFLDT=$P(^XTMP("PSAVSN",0),"^",4)
     108 . W !,"PV-Drug-Descrip: "
     109 . I '$L(XXX) W "Not Available. Item is OTC or new after ",PSAFLDT,! Q
     110 . W ?20,$P(XXX,"~",2),?55,"PV-DUOU: ",+XXX,!
     111 ;*54 display VSN XTMP Drug Description and DUOU <==<
    109112 S PSAIN=^XTMP("PSAPV",PSACTRL,"IN"),PSALOC=$S($P(PSADATA,"^",19)="CS":+$P(PSAIN,"^",12),1:+$P(PSAIN,"^",7))
    110113DU W !,"Dispense Units: "_$S(+PSAIEN&($P($G(^PSDRUG(+PSAIEN,660)),"^",8)'=""):$P($G(^PSDRUG(+PSAIEN,660)),"^",8),1:"Blank")
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAUTL4.m

    r628 r636  
    11PSAUTL4 ;BIR ISC/JMB-Verify Invoices Utility ; 8/19/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,21,48,54,61,67**; 10/24/97;Build 15
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3,21,48,54,61**; 10/24/97;Build 1
    33 ;
    44 ;References to ^DIC(51.5 are covered by IA #1931
     
    6262VSN S:$D(PSADATA) PSAVSN=$P(PSADATA,"^",12) ;*48
    6363 W ?38,"VSN: "_$S(PSAVSN'="":PSAVSN,1:"Blank"),!
    64  ;bgn *67
    65  S PSAP67=$G(^PSD(58.811,PSAIEN,1,PSAIEN1,3,PSALINE,0))
    66  W !,"PV-Drug-Description  : ",$S($P(PSAP67,"^",1)'="":$P(PSAP67,"^",1),1:"Unknown")
    67  W ?55,"PV-DUOU  : ",$S($P(PSAP67,"^",4)'="":$P(PSAP67,"^",4),1:"Unknown")
    68  W !,"PV-Drug-Generic Name : ",$S($P(PSAP67,"^",2)'="":$P(PSAP67,"^",2),1:"Unknown")
    69  W ?55,"PV-UNITS : ",$S($P(PSAP67,"^",3)'="":$P(PSAP67,"^",3),1:"Unknown"),!
    70  ;end *67
     64 ;*54 display VSN XTMP Drug Description and DUOU |==>
     65 N PSAFLDT S PSAFLDT="February 2006"
     66 N XXX I PSAVSN'="" S XXX=$G(^XTMP("PSAVSN",PSAVSN)) D
     67 . I $G(^XTMP("PSAVSN",0)) S PSAFLDT=$P(^XTMP("PSAVSN",0),"^",4)
     68 . W !,"PV-Drug-Descrip: "
     69 . I '$L(XXX) W "Not Available. Item is OTC or new after ",PSAFLDT,! Q
     70 . W ?20,$P(XXX,"~",2),?55,"PV-DUOU: ",+XXX,!
     71 ;*54 display VSN XTMP Drug Description and DUOU <==|
    7172VDU S PSADUOU=+$P(PSATEMP,"^"),PSAREORD=+$P(PSATEMP,"^",2),PSASUB=+$P(PSATEMP,"^",3),PSASTOCK=+$P(PSATEMP,"^",4)
    7273 W !,"Dispense Units: "_$S($P($G(^PSDRUG(+PSADRG,660)),"^",8)'="":$P($G(^PSDRUG(+PSADRG,660)),"^",8),1:"Blank")
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAVER7.m

    r628 r636  
    11PSAVER7 ;BIR/JMB-Verify Invoices - CONT'D ;7/23/97
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**12,21,42,56,64,66**; 10/24/97;Build 2
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**12,21,42,56,64**; 10/24/97;Build 4
    33 ;Background Job
    44 ;This routine increments pharmacy location and master vault balances
     
    4343 S PSANPDU=$J(($G(PSAPOU)/$G(PSADUOU)),0,3) ;Price of Order Unit divide by Disp. Units per Order Unit
    4444 ;PSA*3*42 |>  (let changes happen and file, put changes into mail message)
    45  S DIE="^PSDRUG(",(DA,OLDDA)=PSADRG,DR="12////^S X=PSAOU;15////^S X=PSADUOU;Q;13////^S X=PSAPOU" ;*42;*56
     45 S DIE="^PSDRUG(",DA=PSADRG,DR="12////^S X=PSAOU;15////^S X=PSADUOU;Q;13////^S X=PSAPOU" ;*42;*56
    4646 F  L +^PSDRUG(DA,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
    4747 D ^DIE K DIE,DA,DR
     
    6464 .F  L +^PSDRUG(DA,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
    6565 .D ^DIE L -^PSDRUG(DA,0) K DIE,DA,DR
    66 SYNONYM ;Adds/edits the SYNONYM multiple in DRUG file  >>*66 RJS
    67  G:PSANDC="" END
    68  S DA(1)=PSADRG  ;;  << *66 RJS
     66SYNONYM ;Adds/edits the SYNONYM multiple in DRUG file
     67 Q:PSANDC=""  K DA,DR S DA(1)=PSADRG
    6968 ;
    7069 S PSANPDU=$J(($G(PSAPOU)/$G(PSADUOU)),0,3) ;Price of Order Unit divide by Disp. Units per Order Unit
     
    9291 D ^DIE L -^PSDRUG(PSADRG,0)
    9392 K DIE,DR,X1,X2,DATA
    94 END ; FINAL CLEANUP  << *66 RJS
    95  L -^PSDRUG(OLDDA,0) K OLDDA  ;; >> *66 RJS
    9693 Q
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAVERA.m

    r628 r636  
    11PSAVERA ;BHM/DBM - Change verified invoice data;16AUG05
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**21,36,40,53,63**; 10/24/97;Build 10
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**21,36,40,53**; 10/24/97
    33 ;
    44 ;References to ^DIC(51.5 are covered by IA #1931
     
    1111INV ;Get Invoice Number
    1212 S DIC(0)="AEQMZ",DIC("A")="Select Invoice Number: ",DIC="^PSD(58.811,"_PSAIEN_",1,",D="ASTAT" D ^DIC K DIC G Q:+Y'>0 S PSAIEN1=+Y,PSAINV=$P(Y,U,2)
     13 ;
    1314 S DATA=$G(^PSD(58.811,PSAIEN,1,PSAIEN1,0))
    1415 S PSALOC=$S($P(DATA,"^",12)'="":$P(DATA,"^",12),1:$P(DATA,"^",5)) I $G(PSALOC)="" S PSALOC="No Location identified"
    1516 D ^PSAVERA1
     17 ;
    1618 K DATA,PSAITM,LINENUM,X,X1,X2,X3,DIC,DA,DR D HDR
    1719DISP S PSAITM=$S('$D(PSAITM):$O(INVARRAY(PSAORD,PSAINV,0)),1:$O(INVARRAY(PSAORD,PSAINV,PSAITM))) G LINEASK:PSAITM'>0 S LINENUM=$G(LINENUM)+1
    18  S DATA=$G(INVARRAY(PSAORD,PSAINV,PSAITM)),PSAOU=$P(DATA,"^",4) I $G(PSAOU) S PSAOU(1)=$P($G(^DIC(51.5,$P(DATA,"^",4),0)),"^") ;Current Order Unit  ;; <*63 RJS
    19  W !,PSAITM,?10,$S($P($P(DATA,"^",1),"~",1)'>0:$P($P(DATA,"^",1),"~",1),1:$P($P(DATA,"^",1),"~",2)),?45,$S($G(PSAOU)="":"none",$G(PSAOU(1))'="":$G(PSAOU(1)),1:$G(PSAAOU)),?55,$J($P($G(DATA),"^",2),4),?61,$P(DATA,"^",5)  ;; *63 RJS>
     20 S DATA=$G(INVARRAY(PSAORD,PSAINV,PSAITM))
     21 S PSAOU=$P(DATA,"^",4) I $G(PSAOU) S PSAOU(1)=$P($G(^DIC(51.5,$P(DATA,"^",4),0)),"^") ;Current Order Unit
     22 W !,PSAITM,?10,$S($P($P(DATA,"^",1),"~",1)'>0:$P($P(DATA,"^",1),"~",1),1:$P($P(DATA,"^",1),"~",2)),?45,$S($G(PSAOU)="":"none",$G(PSAOU(1))'="":$G(PSAOU(1)),1:$G(PSAAOU)),?55,$J($P($G(DATA),"^",2),4),?61,$P(DATA,"^",5)
    2023 I IOST["C-",$Y>(IOSL-5) S DIR(0)="E" D ^DIR G Q:$G(DUOUT)=1 D HDR
    2124 G DISP
     
    3134 S PSALINEN="" D VERDISP^PSAUTL4 W !,PSASLN,!
    3235 S PSAVEND=$P(^PSD(58.811,PSAIEN,0),"^",2)
     36 ;VMP OIFO BAY PINES;VGF;PSA*3.0*40;GET ORIGINAL DISPENSE UNITS PER ORDER UNIT FOR SUBTRACTION
    3337 S PSAODUOU=PSADUOU
    34  ;; *63
    35  S PSA581="" F  S PSA581=$O(^PSD(58.81,"PV",PSAINV,PSA581)) Q:'PSA581  I $P(^PSD(58.81,PSA581,0),U,5)=PSADRG S PSABFR(581)=$G(^PSD(58.81,PSA581,0))
    36  S:$G(PSABFR(581)) PSDTRN=$P(PSABFR(581),U,1),PSABFR("Q")=$S($G(^PSD(58.81,PSDTRN,4)):$P(^PSD(58.81,PSDTRN,4),"^",3),1:$P(^PSD(58.81,PSDTRN,0),"^",6)) ; <*63 RJS >
     38 ;
    3739DRG W !,"Select (D)rug or (O)rder Unit " R AN:DTIME G Q:AN["^"!(AN="") W $S("Dd"[AN:"rug","oO"[AN:"rder Unit",1:"??") I "DdOo"'[AN W !,"Enter a 'D' to edit the Drug, or 'O' to edit the order unit",! K AN G DRG
    38  I "Dd"'[AN D ^PSAVERA3 G Q  ;;*63
     40 I "Dd"'[AN G ^PSAVERA3
    3941 ;Get either new name of drug or supply item description
    40  S PSABFR=$P(DATA,"~",1),PSABFR(1)=$S(PSABFR'?.N:PSABFR,1:$P($P(DATA,"^"),"~",2)),PSABFR("NDC")=$P(PSADATA,"^",11)  ;;*63
     42 S PSABEFOR=$P(DATA,"~",1),PSABEFOR(1)=$S(PSABEFOR'?.N:PSABEFOR,1:$P($P(DATA,"^"),"~",2))
     43 S PSABEFOR("NDC")=$P(PSADATA,"^",11)
    4144DRGAGN D
    42  .S X1=0 F  S X1=$O(^PSDRUG(PSABFR,1,X1)) Q:X1'>0  S DATA=$G(^PSDRUG(PSABFR,1,X1,0)) I $P(DATA,"^",2)=PSABFR("NDC") S PSABFR("SYNNODE")=X1  ;;*63
     45 .S X1=0 F  S X1=$O(^PSDRUG(PSABEFOR,1,X1)) Q:X1'>0  S DATA=$G(^PSDRUG(PSABEFOR,1,X1,0)) I $P(DATA,"^",2)=PSABEFOR("NDC") S PSABEFOR("SYNNODE")=X1
    4346 D PSANDC1^PSAHELP S PSADASH=PSANDCX K PSANDCX
    44  I $G(PSABFR("SYNNODE"))="",$E(PSABFR("NDC"))'="S" S PSABFR("NDC")="S"_PSABFR("NDC") G DRGAGN ;may be supply, try again
    45  I $G(PSABFR("SYNNODE"))'="" S PSASUB=PSABFR("SYNNODE") D
    46  .S DATA=$G(^PSDRUG(PSABFR,1,PSASUB,0)),PSAOU=$P(DATA,"^",5),PSAPOU=$P(DATA,"^",6),PSADUOU=$P(DATA,"^",7),PSAPDUOU=$P(DATA,"^",8)
    47  .S PSADU=$P($G(^PSDRUG(PSABFR,660)),"^",8)
     47 I $G(PSABEFOR("SYNNODE"))="",$E(PSABEFOR("NDC"))'="S" S PSABEFOR("NDC")="S"_PSABEFOR("NDC") G DRGAGN ;may be supply, try again
     48 I $G(PSABEFOR("SYNNODE"))'="" S PSASUB=PSABEFOR("SYNNODE") D
     49 .S DATA=$G(^PSDRUG(PSABEFOR,1,PSASUB,0)),PSAOU=$P(DATA,"^",5),PSAPOU=$P(DATA,"^",6),PSADUOU=$P(DATA,"^",7),PSAPDUOU=$P(DATA,"^",8)
     50 .S PSADU=$P($G(^PSDRUG(PSABEFOR,660)),"^",8)
    4851 I ($G(PSAOU)=""!$G(PSAPOU)=""!$G(PSADUOU)=""!$G(PSAPDUOU)="") W !!,"Sorry, I could not find the necessary information to change the drug selection.",! G Q
    49  W !,"Current Drug : ",PSABFR(1)
    50 DRG1 S PSAGAIN=0,DIC("A")="Select name of Correct Drug: ",PSABFR=PSADRG,DIC(0)="AEQMZ",DIC="^PSDRUG(" D ^DIC K DIC G Q:PSAOUT
    51  I $G(DTOUT)!($G(DUOT))!(Y<0) S PSAOUT=1 Q
     52 W !,"Current Drug : ",PSABEFOR(1)
     53DRG1 S PSAGAIN=0,DIC("A")="Select name of Correct Drug: ",PSABEFOR=PSADRG,DIC(0)="AEQMZ",DIC="^PSDRUG(" D ^DIC K DIC G Q:PSAOUT
     54 I $G(DTOUT)!($G(DUOT)) S PSAOUT=1 Q
    5255 S (PSADJ,PSADRG)=+Y
    5356 W !!,"Comparing drug file data..."
     
    5558 I $P($G(^PSDRUG(PSADRG,660)),"^",2)'=$G(PSAOU) W !,"The Order Units are different between these two drugs."
    5659 I $P($G(^PSDRUG(PSADRG,660)),"^",8)'=$G(PSADU) W !,"Please Enter an appropriate Dispense Unit" S DIE="^PSDRUG(",DA=PSADRG,DR="14.5" D ^DIE S PSADU=$P(^PSDRUG(PSADRG,660),"^",8)
     60 ;VMP OIFO BAY PINES;VGF;PSA*3.0*36
    5761 I $P($G(^PSDRUG(PSADRG,660)),"^",5)'=$G(PSADUOU) W !,"Please enter the appropriate Dispense Units per order unit" S DIE="^PSDRUG(",DA=PSADRG,DR="15" D ^DIE S PSADUOU=$P(^PSDRUG(PSADRG,660),"^",5)
    5862 K DIE,DA,DR
     
    6064 S AN=$E(AN) I "yYnN"'[AN W !,"Answer yes, and the data on file for the current drug will be transferred",!,"to the new drug selection.",!,"That includes Order Unit, Dispense Unit, Dispense Units per Order Unit, etc.",!! G ASK
    6165 I "Nn"[AN G NOCHNG ;*53
    62  S PSAAFTER=PSADRG,PSADRG=PSABFR
    63  I $D(^PSDRUG(PSADRG))&$G(PSABFR(581)) D
    64  .W !,"Removing "_PSABFR("Q")_" from "_PSABFR(1)
    65  .S FMDATA=$P($G(^PSDRUG(PSADRG,660.1)),"^")-PSABFR("Q"),DIE="^PSDRUG(",DA=PSADRG,DR="50////^S X="_FMDATA
    66  .F  L +^PSDRUG(DA,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
    67  .D ^DIE L -^PSDRUG(DA,0) K FMDATA
     66 ;VMP OIFO BAY PINES;VGF;PSA*3.0*36
     67 S PSAAFTER=PSADRG,PSADRG=PSABEFOR
     68 I $D(^PSDRUG(PSADRG)) D
     69 .;VMP OIFO BAY PINES;VGF;PSA*3.0*40
     70 .W !,"Removing "_($G(PSAQTY)*$G(PSAODUOU))_" from "_PSABEFOR(1)
     71 .S FMDATA=$P($G(^PSDRUG(PSADRG,660.1)),"^")-(PSAODUOU*PSAQTY)
     72 .S DIE="^PSDRUG(",DA=PSADRG,DR="50////^S X="_FMDATA
     73 .F  L +^PSDRUG(DA,0):0 I  Q
     74 .D ^DIE
     75 .L -^PSDRUG(DA,0)
     76 .K FMDATA
    6877 S PSADRG=PSAAFTER
    6978 I $G(PSAPOU)="",$G(PSAPRICE)'="" S PSAPOU=PSAPRICE
    7079 W !,"Adding "_($G(PSAQTY)*$G(PSADUOU))_" to "_$P($G(^PSDRUG(PSADRG,0)),"^")
    7180 W !,"Entering new drug selection as an adjustment."
    72  S PSAREA="",PSADJFLD="D",PSADJ=PSADRG D RECORD^PSAVER2,50^PSAVER7
     81 S PSAREA="",PSADJFLD="D",PSADJ=PSADRG D RECORD^PSAVER2
     82 D 50^PSAVER7
    7383FILE ;File dispense units per order units into 58.811
    74  S DIE="^PSD(58.811,"_PSAIEN_",1,"_PSAIEN1_",1,",DA=PSALINE,DA(1)=PSAIEN1,DA(2)=PSAIEN,DR="10///"_PSADUOU D ^DIE
    75  G:$D(^PSD(58.811,"ASTAT","P",PSAIEN,PSAIEN1)) Q  ;; *63 RJS
    76  D UPDATE^PSAVERA1 G Q
     84 S DIE="^PSD(58.811,"_PSAIEN_",1,"_PSAIEN1_",1,"
     85 S DA=PSALINE,DA(1)=PSAIEN1,DA(2)=PSAIEN
     86 S DR="10///"_PSADUOU
     87 D ^DIE
     88 ;File data in 58.8
     89 ;PSALOC= Either PSALOC or PSALOCB
     90 ;VMP OIFO BAY PINES;VGF;PSA*3.0*40;UPDATE
     91 S PSADRG=PSABEFOR
     92 F  L +^PSD(58.8,PSALOC,1,PSADRG,0):0 I  Q
     93 S PSADUREC=PSAQTY*$G(PSAODUOU)
     94 S PSABAL=$P($G(^PSD(58.8,PSALOC,1,PSADRG,0)),"^",4)
     95 S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",4)=PSABAL-PSADUREC
     96 L -^PSD(58.8,PSALOC,1,PSADRG,0)
     97 ;VMP OIFO BAY PINES;VGF;PSA*3.0*40;ADDED *$G(PSADUOU)
     98 S PSADRG=PSAAFTER
     99 S PSADUREC=PSAQTY*$G(PSADUOU)
     100 D NOW^%DTC S PSADT=+$E(%,1,14)
     101 I '$D(^PSD(58.8,PSALOC,1,PSADRG,0)) D
     102 .S:'$D(^PSD(58.8,PSALOC,1,0)) DIC("P")=$P(^DD(58.8,10,0),"^",2)
     103 .S DA(1)=PSALOC,DIC="^PSD(58.8,"_DA(1)_",1,",(DA,DINUM,X)=PSADRG,DIC(0)="L",DLAYGO=58.8 ;*53
     104 .F  L +^PSD(58.8,PSALOC,0):0 I  Q
     105 .D FILE^DICN L -^PSD(58.8,PSALOC,0) K DIC,DA,DLAYGO
     106 F  L +^PSD(58.8,PSALOC,1,PSADRG,0):0 I  Q
     107 S PSABAL=$P($G(^PSD(58.8,PSALOC,1,PSADRG,0)),"^",4)
     108 I $P($G(^PSD(58.8,PSALOC,1,PSADRG,0)),"^",1)'=PSADRG S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",1)=PSADRG
     109 S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",4)=PSADUREC+PSABAL
     110 I +$P($G(^PSD(58.8,PSALOC,0)),"^",14) D
     111 .I PSASTOCK'=$P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",3) S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",3)=PSASTOCK
     112 .I PSAREORD'=$P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",5) S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",5)=PSAREORD
     113 S:'$D(^PSD(58.8,PSALOC,1,PSADRG,5,0)) DIC("P")=$P(^DD(58.8001,20,0),"^",2)
     114 I '$D(^PSD(58.8,PSALOC,1,PSADRG,5,$E(DT,1,5)*100,0)) D
     115 .S DIC="^PSD(58.8,"_PSALOC_",1,"_PSADRG_",5,",DIC(0)="L",DIC("DR")="1////^S X=$G(PSABAL)",(X,DINUM)=$E(DT,1,5)*100,DA(2)=PSALOC,DA(1)=PSADRG,DLAYGO=58.8 D ^DIC K DIC
     116 .S X="T-1M" D ^%DT S DIC="^PSD(58.8,"_PSALOC_",1,"_PSADRG_",5,",DIC(0)="L",(X,DINUM)=$E(Y,1,5)*100 D ^DIC K DIC,DLAYGO S DA=+Y
     117 .S DA(2)=PSALOC,DA(1)=PSADRG,DIE="^PSD(58.8,"_DA(2)_",1,"_DA(1)_",5,",DR="3////^S X=$G(PSABAL)" D ^DIE K DIE
     118 S DA(2)=PSALOC,DA(1)=PSADRG,DIE="^PSD(58.8,"_DA(2)_",1,"_DA(1)_",5,",DA=$E(DT,1,5)*100,DR="5////^S X="_($P($G(^(0)),"^",3)+PSADUREC) D ^DIE K DIE
     119 L -^PSD(58.8,PSALOC,1,PSADRG,0)
     120 W !,"updating pharmacy location file."
     121FILE581 ;Update transaction file
     122 S PSAVDUZ=DUZ
     123FIND S PSAT=$P(^PSD(58.81,0),"^",3)+1 I $D(^PSD(58.81,PSAT)) S $P(^PSD(58.81,0),"^",3)=$P(^PSD(58.81,0),"^",3)+1 G FIND
     124 S DIC="^PSD(58.81,",DIC(0)="L",DLAYGO=58.81,(DINUM,X)=PSAT D ^DIC K DIC,DINUM,DLAYGO L -^PSD(58.81,0)
     125 S DIE="^PSD(58.81,",DA=PSAT,DR="1////1;2////^S X=PSALOC;3////^S X=PSADT;4////^S X=PSADRG;5////^S X=PSADUREC;6////^S X=PSAVDUZ;9////^S X=PSABAL;71////^S X=PSAINV;106////^S X=PSAORD"
     126 I $G(PSACS)>0 S DR=DR_";100////^S X=PSACS"
     127 F  L +^PSD(58.81,DA,0):0 I  Q
     128 D ^DIE L -^PSD(58.81,DA,0) K DIE W !,"updating transaction file." Q
    77129 ;
    78130HDR W @IOF,!?25,"EDIT VERIFIED INVOICED ITEM SCREEN",!,PSASLN,!
    79131 W !,?44,"Order",!,"#",?10,"Drug/Item Name",?45,"Unit",?56,"Qnty.",?67,"NDC",!,PSASLN,! Q
    80 Q K AN,D,DA,DATA,DIC,DIR,INVARRAY,LINENUM,POP,PSA50IEN,PSA581,PSAABAL,PSAAFTER,PSAAQTY,PSABAL,PSABFR,PSACS,PSADASH,PSADATA,PSADJ,PSADJD,PSADJFLD,PSADJO,PSADJP,PSADJQ,PSADRG,PSADRUGN,PSADT
    81  K PSADU,PSADUOU,PSADUREC,PSAEDTT,PSAGAIN,PSAIEN,PSAIEN1,PSAIN,PSAINV,PSAITM,PSALINE,PSALINEN,PSALOC,PSANDC,PSANDUOU,PSANEW,PSANODE,PSANPDU,PSANQTY,PSAODASH,PSAODU,PSAODUOU,PSAONDC,PSAORD
    82  K PSAOU,PSAOUT,PSAPOU,PSAPRICE,PSAQTY,PSAREA,PSAREORD,PSASET,PSASLN,PSASTOCK,PSASUB,PSASUP,PSASUPP,PSAT,PSATEMP,PSAUPC,PSAVDUZ,PSAVEND,PSAVER,PSAVSN,PSAXDUOU,PSDTRN,X,X1,X2,X3,XX,XXX,Y
     132Q K AN,D,DA,DATA,DIC,DIR,INVARRAY,LINENUM,PSA50IEN,PSABAL,PSABEFOR,PSACS,PSADATA,PSADJ,PSADJFLD,PSADRG,PSADT,PSADUREC,PSAGAIN,PSAIEN,PSAIEN1,PSAIN,PSAINV,PSALINE,PSALINEN
     133 K PSALOC,PSANDC,PSAORD,PSAOUT,PSAQTY,PSAREA,PSAREORD,PSASLN,PSASTOCK,PSASUB,PSASUP,PSASUPP,PSAT,PSAVER,X,X1,X2,X3,XX,XXX,Y,PSAODUOU
     134 K PSAODU,PSAODUOU,PSAXDUOU
    83135 Q
    84136NOCHNG ;*53 said no to changes, backout the edits on the new drug choice.
  • FOIAVistA/tag/r/DRUG_ACCOUNTABILITY-PSA/PSAVERA1.m

    r628 r636  
    11PSAVERA1 ;BHM/DB - Edit previously verified invoices;16NOV99
    2  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**21,61,63**; 10/24/97;Build 10
     2 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**21,61**; 10/24/97;Build 1
    33 ;References to ^DIC(51.5 are covered by IA #1931
    44 ;References to ^PSDRUG( are covered by IA #2095
     
    8181 .I PSAFLD=2 D OU^PSAVER2 Q
    8282Q Q
    83  ;
    84 UPDATE ; *63 RJS CODE REMOVED FROM PSAVERA AND CALLED BY PSAVERA
    85  ;File data in 58.8
    86  ;PSALOC= Either PSALOC or PSALOCB
    87  S PSADRG=PSABFR
    88  F  L +^PSD(58.8,PSALOC,1,PSADRG,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
    89  S PSADUREC=PSAQTY*$G(PSAODUOU),PSABAL=$P($G(^PSD(58.8,PSALOC,1,PSADRG,0)),"^",4),$P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",4)=PSABAL-$G(PSABFR("Q"))
    90  L -^PSD(58.8,PSALOC,1,PSADRG,0)
    91  S PSADRG=PSAAFTER,PSAABAL=PSABAL,PSADUREC=PSAQTY*$G(PSADUOU)
    92  D NOW^%DTC S PSADT=+$E(%,1,14)
    93  I '$D(^PSD(58.8,PSALOC,1,PSADRG,0)) D
    94  .S:'$D(^PSD(58.8,PSALOC,1,0)) DIC("P")=$P(^DD(58.8,10,0),"^",2)
    95  .S DA(1)=PSALOC,DIC="^PSD(58.8,"_DA(1)_",1,",(DA,DINUM,X)=PSADRG,DIC(0)="L",DLAYGO=58.8 ;*53
    96  .F  L +^PSD(58.8,PSALOC,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
    97  .D FILE^DICN L -^PSD(58.8,PSALOC,0) K DIC,DA,DLAYGO
    98  F  L +^PSD(58.8,PSALOC,1,PSADRG,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
    99  S PSABAL=$P($G(^PSD(58.8,PSALOC,1,PSADRG,0)),"^",4)
    100  I $P($G(^PSD(58.8,PSALOC,1,PSADRG,0)),"^",1)'=PSADRG S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",1)=PSADRG
    101  S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",4)=PSADUREC+PSABAL
    102  I +$P($G(^PSD(58.8,PSALOC,0)),"^",14) D
    103  .I PSASTOCK'=$P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",3) S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",3)=PSASTOCK
    104  .I PSAREORD'=$P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",5) S $P(^PSD(58.8,PSALOC,1,PSADRG,0),"^",5)=PSAREORD
    105  S:'$D(^PSD(58.8,PSALOC,1,PSADRG,5,0)) DIC("P")=$P(^DD(58.8001,20,0),"^",2)
    106  I '$D(^PSD(58.8,PSALOC,1,PSADRG,5,$E(DT,1,5)*100,0)) D
    107  .S DIC="^PSD(58.8,"_PSALOC_",1,"_PSADRG_",5,",DIC(0)="L",DIC("DR")="1////^S X=$G(PSABAL)",(X,DINUM)=$E(DT,1,5)*100,DA(2)=PSALOC,DA(1)=PSADRG,DLAYGO=58.8 D ^DIC K DIC
    108  .S X="T-1M" D ^%DT S DIC="^PSD(58.8,"_PSALOC_",1,"_PSADRG_",5,",DIC(0)="L",(X,DINUM)=$E(Y,1,5)*100 D ^DIC K DIC,DLAYGO S DA=+Y
    109  .S DA(2)=PSALOC,DA(1)=PSADRG,DIE="^PSD(58.8,"_DA(2)_",1,"_DA(1)_",5,",DR="3////^S X=$G(PSABAL)" D ^DIE K DIE
    110  S DA(2)=PSALOC,DA(1)=PSADRG,DIE="^PSD(58.8,"_DA(2)_",1,"_DA(1)_",5,",DA=$E(DT,1,5)*100,DR="5////^S X="_($P($G(^(0)),"^",3)+PSADUREC) D ^DIE K DIE
    111  L -^PSD(58.8,PSALOC,1,PSADRG,0)
    112  W !,"updating pharmacy location file."
    113 FILE581 ;Update transaction file ;;*63
    114  S PSAVDUZ=DUZ,PSAREA="EDIT VERIFIED INVOICE"
    115  I '$G(PSABFR(581)) D NEW581 Q
    116  I PSADRG'=PSABFR S PSANQTY=0,PSAAQTY=$G(PSABFR("Q"))*-1
    117  I PSADRG=PSABFR S PSANQTY=PSADUREC D
    118  .S PSAAQTY=PSADUREC-$G(PSABFR("Q"))
    119 FIND S PSAT=$P(^PSD(58.81,0),"^",3)+1 I $D(^PSD(58.81,PSAT)) S $P(^PSD(58.81,0),"^",3)=$P(^PSD(58.81,0),"^",3)+1 G FIND
    120  S DIC="^PSD(58.81,",DIC(0)="L",DLAYGO=58.81,(DINUM,X)=PSAT D ^DIC K DIC,DINUM,DLAYGO L -^PSD(58.81,0)
    121  S DIE="^PSD(58.81,",DA=PSAT
    122  I PSAAFTER'=PSABFR S PSADRG=PSABFR
    123  S DR="1////14;2////^S X=PSALOC;3////^S X=PSADT;4////^S X=PSADRG;48////^S X=PSADT;49////^S X=PSAVDUZ;50////^S X=PSANQTY;51////^S X=PSAAQTY;53////^S X=PSAREA;54////^S X=PSAABAL;71////^S X=PSAINV;106////^S X=PSAORD"
    124  F  L +^PSD(58.81,DA,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
    125  D ^DIE L -^PSD(58.81,DA,0) K DIE
    126  I PSAAFTER'=PSABFR S PSADRG=PSAAFTER D NEW581
    127  Q
    128  ;
    129 NEW581 S PSAT=$P(^PSD(58.81,0),"^",3)+1 I $D(^PSD(58.81,PSAT)) S $P(^PSD(58.81,0),"^",3)=$P(^PSD(58.81,0),"^",3)+1 G NEW581
    130  S DIC="^PSD(58.81,",DIC(0)="L",DLAYGO=58.81,(DINUM,X)=PSAT D ^DIC K DIC,DINUM,DLAYGO L -^PSD(58.81,0)
    131  S PSADUREC=PSAQTY*$G(PSADUOU)
    132  S DIE="^PSD(58.81,",DA=PSAT,DR="1////1;2////^S X=PSALOC;3////^S X=PSADT;4////^S X=PSADRG;5////^S X=PSADUREC;6////^S X=PSAVDUZ;9////^S X=PSABAL;71////^S X=PSAINV;106////^S X=PSAORD"
    133  I $G(PSACS)>0 S DR=DR_";100////^S X=PSACS"
    134  F  L +^PSD(58.81,DA,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
    135  D ^DIE L -^PSD(58.81,DA,0) K DIE W !,"updating transaction file." Q
    136  Q
Note: See TracChangeset for help on using the changeset viewer.