| 1 | PSAGIP1 ;BIR/LTL,JMB-DA receiving from GIP - CONT'D;7/23/97
 | 
|---|
| 2 |  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**8**; 10/24/97
 | 
|---|
| 3 |  N PSACOS,PSACO,PSACOD,PSAPC1,PSAPC2,PSAPC3,PSAFND,PSAONDC,PSAQT,PSAC,DA,DIE,DR,XMDUZ,XMSUB,XMY,XMTEXT
 | 
|---|
| 4 |  G:'PSACOST!('PSAQTY) NDC
 | 
|---|
| 5 |  S PSACOS=+$J((PSACOST/PSAQTY),0,3)
 | 
|---|
| 6 |  S PSACO=$G(^PSDRUG(+PSADRUG,660))
 | 
|---|
| 7 |  G:PSACOS=+$P(PSACO,U,6)!('$P(PSACO,U,5)) NDC
 | 
|---|
| 8 |  S PSAQT=$P($G(^PSD(58.8,+PSALOC,1,+PSADRUG,0)),U,4)
 | 
|---|
| 9 |  I PSAQT>0 S PSACOST=PSACOST+(PSAQT*+$P(PSACO,U,6)),PSAQT=PSAQTY+PSAQT,PSACOS=+$J((PSACOST/PSAQT),0,3)
 | 
|---|
| 10 |  G:PSACOS=+$P(PSACO,U,6) NDC
 | 
|---|
| 11 |  S PSAC=+$J((PSACOS*$P(PSACO,U,5)),0,2)
 | 
|---|
| 12 |  S DIE="^PSDRUG(",DA=PSADRUG
 | 
|---|
| 13 |  S PSAFND=0,PSAONDC=$P($G(^PSDRUG(PSADRUG,2)),"^",4)
 | 
|---|
| 14 |  D:PSANDC'=PSAONDC&(PSANDC'="")
 | 
|---|
| 15 |  .S PSAPC1=$L($P(PSANDC,"-")),PSAPC2=$L($P(PSANDC,"-",2)),PSAPC3=$L($P(PSANDC,"-",3))
 | 
|---|
| 16 |  .I PSAPC1=4,PSAPC2=4,PSAPC3=2 S PSAFND=1 Q
 | 
|---|
| 17 |  .I PSAPC1=5,PSAPC2=3,PSAPC3=2 S PSAFND=1 Q
 | 
|---|
| 18 |  .I PSAPC1=5,PSAPC2=4,PSAPC3=1 S PSAFND=1 Q
 | 
|---|
| 19 |  .I PSAPC1=5,PSAPC2=4,PSAPC3=2 S PSAFND=1 Q
 | 
|---|
| 20 |  .I PSAPC1=6,PSAPC2=4,PSAPC3=2 S PSAFND=1
 | 
|---|
| 21 |  S DR=$S(PSAFND:"13////"_PSAC_";31////"_PSANDC,1:"13////"_PSAC) D ^DIE K DIE,DA
 | 
|---|
| 22 |  S ^TMP("PSAD",$J,$E($P($G(^PSDRUG(+PSADRUG,0)),U),1,25))=$E($P($G(^PSDRUG(+PSADRUG,0)),U),1,25)_", Item #"_$P($G(^TMP("PSA",$J,PSADRUG)),U,6)_", Old price: $"_$P(PSACO,U,6)_", New price: $"_PSACOS
 | 
|---|
| 23 |  I PSANDC'=PSAONDC,PSANDC'="" D
 | 
|---|
| 24 |  .S ^TMP("PSAD",$J,$E($P($G(^PSDRUG(+PSADRUG,0)),U),1,25),1)="   Old NDC: "_$S(PSAONDC'="":PSAONDC,1:"None")_", New NDC: "_PSANDC
 | 
|---|
| 25 |  .I 'PSAFND S ^TMP("PSAD",$J,$E($P($G(^PSDRUG(+PSADRUG,0)),U),1,25),2)="   The new NDC was not entered in the DRUG file due to an invalid format."
 | 
|---|
| 26 | END Q:$O(^TMP("PSA",$J,PSADRUG))
 | 
|---|
| 27 |  N PSAMSG S PSAMSG=$O(^TMP("PSAD",$J,"")) Q:PSAMSG=""
 | 
|---|
| 28 |  N PSADRG S PSACNT=1,PSADRG=""
 | 
|---|
| 29 |  F  S PSADRG=$O(^TMP("PSAD",$J,PSADRG)) Q:PSADRG=""  D
 | 
|---|
| 30 |  .S ^TMP("PSAMSG",$J,PSACNT)=^TMP("PSAD",$J,PSADRG),PSACNT=PSACNT+1
 | 
|---|
| 31 |  .S:$D(^TMP("PSAD",$J,PSADRG,1)) ^TMP("PSAMSG",$J,PSACNT)=^TMP("PSAD",$J,PSADRG,1),PSACNT=PSACNT+1
 | 
|---|
| 32 |  .S:$D(^TMP("PSAD",$J,PSADRG,2)) ^TMP("PSAMSG",$J,PSACNT)=^TMP("PSAD",$J,PSADRG,2),PSACNT=PSACNT+1
 | 
|---|
| 33 |  S XMDUZ="Price & NDC Updater",XMSUB="DRUG file Price/NDC Update - "_PSAP
 | 
|---|
| 34 |  S XMY(DUZ)="",XMTEXT="^TMP(""PSAMSG"",$J,"
 | 
|---|
| 35 |  I $P($G(^PSD(58.8,+PSALOC,4,+$G(PSAGIP),0)),U,3)'="" S XX=$P(^(0),"^",3),XXX="G."_XX,XMY(XXX)="" K XX,XXX
 | 
|---|
| 36 |  G:'$D(XMY) QUIT D ^XMD
 | 
|---|
| 37 | QUIT K ^TMP("PSAD",$J),^TMP("PSAMSG",$J)
 | 
|---|
| 38 |  Q
 | 
|---|
| 39 | NDC ;This is called if the cost has not changed.
 | 
|---|
| 40 |  S PSAFND=0,PSAONDC=$P($G(^PSDRUG(PSADRUG,2)),"^",4)
 | 
|---|
| 41 |  G:PSANDC=PSAONDC!(PSANDC="") END
 | 
|---|
| 42 |  D:PSANDC'=""
 | 
|---|
| 43 |  .S PSAPC1=$L($P(PSANDC,"-")),PSAPC2=$L($P(PSANDC,"-",2)),PSAPC3=$L($P(PSANDC,"-",3))
 | 
|---|
| 44 |  .I PSAPC1=4,PSAPC2=4,PSAPC3=2 S PSAFND=1
 | 
|---|
| 45 |  .I PSAPC1=5,PSAPC2=3,PSAPC3=2 S PSAFND=1
 | 
|---|
| 46 |  .I PSAPC1=5,PSAPC2=4,PSAPC3=1 S PSAFND=1
 | 
|---|
| 47 |  .I PSAPC1=5,PSAPC2=4,PSAPC3=2 S PSAFND=1
 | 
|---|
| 48 |  .I PSAPC1=6,PSAPC2=4,PSAPC3=2 S PSAFND=1
 | 
|---|
| 49 |  .I PSAFND S DIE="^PSDRUG(",DA=PSADRUG,DR=";31////^S X=PSANDC" D ^DIE K DIE,DA
 | 
|---|
| 50 |  S ^TMP("PSAD",$J,$E($P($G(^PSDRUG(+PSADRUG,0)),U),1,25))=$E($P($G(^PSDRUG(+PSADRUG,0)),U),1,25)_", Item #"_$P($G(^TMP("PSA",$J,PSADRUG)),U,6)
 | 
|---|
| 51 |  S ^TMP("PSAD",$J,$E($P($G(^PSDRUG(+PSADRUG,0)),U),1,25),1)="   Old NDC: "_$S(PSAONDC'="":PSAONDC,1:"None")_", New NDC: "_PSANDC
 | 
|---|
| 52 |  I 'PSAFND S ^TMP("PSAD",$J,$E($P($G(^PSDRUG(+PSADRUG,0)),U),1,25),2)="   The new NDC was not entered in the DRUG file due to an invalid format."
 | 
|---|
| 53 |  G END
 | 
|---|