1 | YSASOSR ;WHITE CITY/DCL - BUILD ASI OUTPUT IN ARRAY BY DOMAIN ;1/13/97 09:55
|
---|
2 | ;;5.01;MENTAL HEALTH;**24**;Dec 30, 1994
|
---|
3 | Q
|
---|
4 | ;
|
---|
5 | CSR(YSI2DA,YSI2R,YSI2SR) ;Converts Status Report fields to text, pass IEN and Target Root and Script Root.
|
---|
6 | Q:$G(YSI2SR)=""
|
---|
7 | Q:$D(@YSI2SR)'>9
|
---|
8 | Q:'$G(YSI2DA)
|
---|
9 | Q:$G(YSI2R)']""
|
---|
10 | N YSI2N,YSI2NC,YSI2TR,YSI2N2,YSI2S,YSI2WP
|
---|
11 | S YSI2N=0,YSI2NC=$O(@YSI2R@(""),-1)+1,YSI2TR="YSI2WP"
|
---|
12 | F S YSI2N=$O(@YSI2SR@(YSI2N)) Q:YSI2N'>0 D
|
---|
13 | .Q:'$D(@YSI2SR@(YSI2N,0)) S YSI2S=^(0)
|
---|
14 | .K @YSI2TR
|
---|
15 | .S YSI2S=$$STR(YSI2S,YSI2DA,YSI2TR)
|
---|
16 | .;Q:YSI2S=""
|
---|
17 | .I $D(@YSI2TR)'>9,$L(YSI2S)>79 D Q
|
---|
18 | ..I $L(YSI2S," ")'>1 D Q
|
---|
19 | ...S YSI2S=$E(YSI2S,1,79)
|
---|
20 | ...Q
|
---|
21 | ..N F,T,I,X
|
---|
22 | ..S (F,T)=1,X=""
|
---|
23 | ..F I=1:1:$L(YSI2S," ") S X=$P(YSI2S," ",F,I) D:$L(X)'<79
|
---|
24 | ...S @YSI2R@(YSI2NC)=$P(YSI2S," ",F,I-1),YSI2NC=YSI2NC+1
|
---|
25 | ...S F=I
|
---|
26 | ...Q
|
---|
27 | ..I $TR($P(YSI2S," ",F,245)," ")]"" S @YSI2R@(YSI2NC)=$P(YSI2S," ",F,245),YSI2NC=YSI2NC+1
|
---|
28 | .I YSI2S]"" S @YSI2R@(YSI2NC)=YSI2S,YSI2NC=YSI2NC+1 Q
|
---|
29 | .Q:$D(@YSI2TR)'>9
|
---|
30 | .S YSI2N2=0
|
---|
31 | .F S YSI2N2=$O(@YSI2TR@(YSI2N2)) Q:YSI2N2'>0 S @YSI2R@(YSI2NC)=@YSI2TR@(YSI2N2),YSI2NC=YSI2NC+1
|
---|
32 | .Q
|
---|
33 | Q
|
---|
34 | ;
|
---|
35 | STR(YSI2X,YSI2IEN,YSI2TR) ;Extrinsic function. Pass string return resolved value
|
---|
36 | ;STRING,IEN,wpTARGET ROOT - all required - CAN ONLY HANDLE 1 WP FIELD PER LINE
|
---|
37 | Q:$G(YSI2X)']"" ""
|
---|
38 | Q:$L(YSI2X,"|")'>2 YSI2X
|
---|
39 | Q:$G(YSI2TR)']"" ""
|
---|
40 | I $L(YSI2X,"/")=3 N YSI2G D Q:YSI2G="" $P(YSI2X,"/",3,99) Q $P(YSI2X,"/")_" "_$P($P(YSI2X,"/",2),"|")_YSI2G_$$STR($P($P(YSI2X,"/",2),"|",3,99),YSI2IEN,YSI2TR)_$P(YSI2X,"/",3,99)
|
---|
41 | .N DIERR
|
---|
42 | .S YSI2G=$$F($P(YSI2X,"|",2))
|
---|
43 | .Q
|
---|
44 | N YSI2I,YSI2Y,DIERR,YSI2Z
|
---|
45 | S YSI2Y=""
|
---|
46 | F YSI2I=1:1:$L(YSI2X,"|") D
|
---|
47 | .I (YSI2I#2) S YSI2Y=YSI2Y_$P(YSI2X,"|",YSI2I) Q
|
---|
48 | .Q:$TR($P(YSI2X,"|",YSI2I)," ")']""
|
---|
49 | .S YSI2Z=$$F($P(YSI2X,"|",YSI2I))
|
---|
50 | .S:'$D(@YSI2TR) YSI2Y=YSI2Y_YSI2Z
|
---|
51 | .K DIERR
|
---|
52 | .Q
|
---|
53 | Q:$TR(YSI2Y," ")="" ""
|
---|
54 | Q YSI2Y
|
---|
55 | ;
|
---|
56 | F(YSHF) ;return field value in database
|
---|
57 | Q:$G(YSHF)=""
|
---|
58 | N YSHX,DIERR
|
---|
59 | S YSHX=$$GET1^DIQ(604,YSI2IEN,$P(YSHF,"^"),"",$G(YSI2TR))
|
---|
60 | I $P(YSHF,"^",2) Q $J(YSHX,$P(YSHF,"^",2))
|
---|
61 | Q YSHX
|
---|
62 | ;
|
---|
63 | TEST(X) ;
|
---|
64 | N YSAS1,YSAS2,YSAS3
|
---|
65 | S YSAS1=4,YSAS2="^TMP($J,""ASI"","_X_")",YSAS3="^YSTX(604.8,1,"_$G(X,10)_")"
|
---|
66 | D CSR(YSAS1,YSAS2,YSAS3)
|
---|
67 | Q
|
---|