1 | DICOMPY ;SFISC/GFT-EVALUATE COMPUTED FLD EXPR ;10:22 AM 8 Jan 2003
|
---|
2 | ;;22.0;VA FileMan;**6,44,76,114**;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | N DICOINS,DICOLEFT
|
---|
5 | S K(K+1)=X,I=$E(I,M+1,999)
|
---|
6 | I I'[")" K Y Q
|
---|
7 | ARG D S DICOLEFT=$E(I,%+1,999),I=$E(I,1,%-1)
|
---|
8 | .N C,S S S=0
|
---|
9 | .F %=1:1 S C=$E(I,%) D:C="""" S:C="(" S=S+1 S:C=")" S=S-1 Q:S<0!(C="")
|
---|
10 | ..F %=%+1:1 Q:""""[$E(I,%)
|
---|
11 | PREVNEXT I DICF="PREVIOUS"!(DICF="NEXT") N DICMX D D RCR^DICOMPZ(I) G BAD:'$D(Y) S DICN=X,X=DICF G OK
|
---|
12 | .D SV^DICOMPX(DLV0)
|
---|
13 | .S %=DLV#100,DICF=" S D"_%_"=+$O("_$$REF^DICOMPZ(DLV)_")"_$P(",-1",U,DICF="PREVIOUS")_") "
|
---|
14 | D FUNC
|
---|
15 | N DICMX S DICMX=DICOINS
|
---|
16 | D RCR^DICOMPZ(I) I $G(Y)'["m" G BAD
|
---|
17 | OK S K=K+1,K(K)=X,K(K,2)=0,K=K+1,K(K)=DICN I "TOTAL"=DICF!("COUNT"=DICF) K DATE(K-1)
|
---|
18 | RES S I=DICOLEFT,M=0 Q
|
---|
19 | ;
|
---|
20 | FUNC S DICN=$$DGI^DICOMP,W=DLV#100,K=K+2,K(K)=" S "_DICN_"="""""
|
---|
21 | NUMBER I DICF S %X=$$DGI^DICOMP,K(K)=" S "_%X_"=0"_K(K) D L S DICOINS=DICOINS_" "_%X_"="_%X_"+1 I "_%X_"="_+DICF_",Y'?."" "" S "_DICN_"=Y Q ",DPS(DPS,"O")="" Q
|
---|
22 | I $T(@DICF)]"" G @DICF
|
---|
23 | BAD S DPS=0 Q
|
---|
24 | ;
|
---|
25 | ;
|
---|
26 | MAXIMUM S %X="'>" G MM
|
---|
27 | MINIMUM S %X="'<"
|
---|
28 | MM D L S DICOINS=DICOINS_"&("_DICN_%X_"Y!'$L("_DICN_")) "_DICN_"=Y" Q
|
---|
29 | TOTAL S DICOINS="S "_DICN_"="_DICN_"+X" Q
|
---|
30 | COUNT S DICOINS="S:X'?."" "" "_DICN_"="_DICN_"+1",DICN="+"_DICN Q
|
---|
31 | LAST D L S DICOINS=DICOINS_" "_DICN_"=Y" Q
|
---|
32 | L S DICOINS="S Y=X S:Y'?."" """
|
---|
33 | Q
|
---|
34 | ;
|
---|
35 | ;
|
---|
36 | W S X=$P(Y(0),U,4),Y=$P(X,";",1),X=$P(X,";",2) Q
|
---|
37 | ;
|
---|
38 | DICS ;
|
---|
39 | S:DUZ(0)'="@" D=DICOMP["W"+8,DIC("S")=DIC("S")_" Q:'$L($G("_DIC_"Y,"_D_"))) I $TR(DUZ(0),^("_D_"))'=DUZ(0)" Q
|
---|
40 | G ;
|
---|
41 | D W I X="" S Y=T#100,X=$S(T<DLV0&$D(M(Y,T))!(DICOMP["T"&(T<DICO(0))):$S(DA:DQI_(T+80)_")",1:"I("_T_",0)"),1:"$S('$D(D"_Y_"):"""",D"_Y_"<0:"""",1:D"_Y_")") Q
|
---|
42 | I '$D(DG(%,T_U_Y)) S (DG(%),DG(%,T_U_Y))=DG(%)+1
|
---|
43 | S Y="("_DQI_DG(%,T_U_Y)_"),"
|
---|
44 | EP I X S X="$P"_Y_"U,"_X_")" Q
|
---|
45 | I X?1"E".E S X="$E"_Y_+$E(X,2,9)_","_$P(X,",",2)_")"
|
---|
46 | Q
|
---|