| 1 | FHREC5 ; HISC/REL - Recipe Analysis ;5/10/93  10:53
 | 
|---|
| 2 |  ;;5.5;DIETETICS;;Jan 28, 2005
 | 
|---|
| 3 | ALL ; Analyze all Recipes
 | 
|---|
| 4 |  D ^FHIPST6 F REC=0:0 S REC=$O(^FH(114,REC)) Q:REC<1  D ANAL
 | 
|---|
| 5 |  G KIL
 | 
|---|
| 6 | ANAL ; Analyze
 | 
|---|
| 7 |  K A S SUM=0 F KK=1:1:66 S A(KK)=0
 | 
|---|
| 8 |  S POR=$P($G(^FH(114,REC,0)),"^",2) Q:'POR
 | 
|---|
| 9 |  F KK=0:0 S KK=$O(^FH(114,REC,"R",KK)) Q:KK<1  S Y0=$G(^(KK,0)) D R1
 | 
|---|
| 10 |  S MUL=1 F KK=0:0 S KK=$O(^FH(114,REC,"I",KK)) Q:KK<1  S Y0=$G(^(KK,0)) D I1
 | 
|---|
| 11 |  I 'SUM Q
 | 
|---|
| 12 |  F K=1:1:66 S A(K)=A(K)/SUM,A(K)=+$J(A(K),0,3)
 | 
|---|
| 13 |  ; File Recipe
 | 
|---|
| 14 |  S NAM=$E("*"_$P($G(^FH(114,REC,0)),"^",1),1,30),DA=$P($G(^FH(114,REC,0)),"^",14) G:DA A1
 | 
|---|
| 15 |  K DIC,DD,DO,DINUM S (DIC,DIE)="^FHNU(",DIC(0)="L",DLAYGO=112,X=NAM D FILE^DICN K DIC,DLAYGO Q:Y<1  S DA=+Y
 | 
|---|
| 16 |  S $P(^FH(114,REC,0),"^",14)=DA
 | 
|---|
| 17 |  S $P(^FHNU(DA,0),"^",3)="svg.",$P(^(0),"^",7)="X"
 | 
|---|
| 18 | A1 S (Z1,Z2,Z3,Z4)="" F K=1:1:20 S $P(Z1,"^",K)=A(K)
 | 
|---|
| 19 |  F K=21:1:38 S $P(Z2,"^",K-20)=A(K)
 | 
|---|
| 20 |  F K=39:1:56 S $P(Z3,"^",K-38)=A(K)
 | 
|---|
| 21 |  F K=57:1:66 S $P(Z4,"^",K-56)=A(K)
 | 
|---|
| 22 |  S $P(^FHNU(DA,0),"^",4)=$J(SUM/POR*100,0,0)
 | 
|---|
| 23 |  S ^FHNU(DA,1)=Z1,^(2)=Z2 S:Z3'="" ^FHNU(DA,3)=Z3 S:Z4'="" ^FHNU(DA,4)=Z4
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 | R1 ; Analyze embedded recipes
 | 
|---|
| 26 |  S R1=+Y0 Q:'R1  S P1=$P(Y0,"^",2) Q:'P1  S MUL=$P($G(^FH(114,R1,0)),"^",2) Q:'MUL  S MUL=P1/MUL
 | 
|---|
| 27 |  F LL=0:0 S LL=$O(^FH(114,R1,"I",LL)) Q:LL<1  S Y0=$G(^(LL,0)) D I1
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 | I1 S K1=$P(Y0,"^",3) Q:'K1
 | 
|---|
| 30 |  S AMT=$P(Y0,"^",4)*4.536*MUL Q:'AMT  S SUM=SUM+AMT
 | 
|---|
| 31 |  S Y=$G(^FHNU(K1,1)) F K=1:1:20 S Z1=$P(Y,"^",K) I Z1'="" S A(K)=Z1*AMT+A(K)
 | 
|---|
| 32 |  S Y=$G(^FHNU(K1,2)) F K=21:1:38 S Z1=$P(Y,"^",K-20) I Z1'="" S A(K)=Z1*AMT+A(K)
 | 
|---|
| 33 |  S Y=$G(^FHNU(K1,3)) F K=39:1:56 S Z1=$P(Y,"^",K-38) I Z1'="" S A(K)=Z1*AMT+A(K)
 | 
|---|
| 34 |  S Y=$G(^FHNU(K1,4)) F K=57:1:66 S Z1=$P(Y,"^",K-56) I Z1'="" S A(K)=Z1*AMT+A(K)
 | 
|---|
| 35 |  Q
 | 
|---|
| 36 | KIL G KILL^XUSCLEAN
 | 
|---|