1 | GMTSADH5 ; SLC/DCM,KER - Health Summary Ad Hoc RPC's ; 02/27/2002
|
---|
2 | ;;2.7;Health Summary;**36,35,37,49,63**;Oct 20, 1995
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 1268 ^AUTTHF(
|
---|
6 | ; DBIA 1268 ^AUTTHF("B"
|
---|
7 | ; DBIA 67 ^LAB(60
|
---|
8 | ; DBIA 1256 ^PXD(811.9
|
---|
9 | ; DBIA 3059 ^TIU(8925.1
|
---|
10 | ; DBIA 10006 ^DIC
|
---|
11 | ; DBIA 2052 $$GET1^DID
|
---|
12 | ; DBIA 3058 $$ISA^TIULX
|
---|
13 | ;
|
---|
14 | COMP(Y) ; Get ADHOC sub components (FILE 142.1)
|
---|
15 | ;
|
---|
16 | ; Y(i)=(1)I;IFN^(2)Component Name [Abb]^(3)Occ Limit^
|
---|
17 | ; (4)Time Limit^(5)Header Name^(6)Hosp Loc Disp^
|
---|
18 | ; (7)ICD Text Disp^(8)Prov Narr Disp^
|
---|
19 | ; (9)CPT Modifier Disp^(10)Summary Order
|
---|
20 | ;
|
---|
21 | N GMTSI,GMTSII,GMTSIFN,GMTSC,X,X1
|
---|
22 | S Y(1)=$O(^GMT(142,"B","GMTS HS ADHOC OPTION",0))
|
---|
23 | I 'Y(1) S Y(1)=-1 Q ; Error, no ADHOC type defined
|
---|
24 | S (GMTSC,GMTSI)=0,GMTSII=Y(1)
|
---|
25 | F S GMTSI=$O(^GMT(142,GMTSII,1,GMTSI)) Q:'GMTSI S X=^(GMTSI,0) D
|
---|
26 | . S GMTSIFN=$P(X,"^",2),X1=$G(^GMT(142.1,+GMTSIFN,0))
|
---|
27 | . Q:'$L(X1) Q:$P(X1,"^",6)="P" S GMTSC=GMTSC+1
|
---|
28 | . S Y(GMTSC)=GMTSI_";"_GMTSIFN
|
---|
29 | . S Y(GMTSC)=Y(GMTSC)_"^"_$P(X1,"^")_" ["_$P(X1,"^",4)_"]"
|
---|
30 | . S Y(GMTSC)=Y(GMTSC)_"^"_$S($P(X1,"^",5)="Y":$P(X,"^",3),1:"")
|
---|
31 | . S Y(GMTSC)=Y(GMTSC)_"^"_$S($P(X1,"^",3)="Y":$P(X,"^",4),1:"")
|
---|
32 | . S Y(GMTSC)=Y(GMTSC)_"^"_$S($L($P(X1,"^",9)):$P(X1,"^",9),1:$P(X,"^",5))
|
---|
33 | . S Y(GMTSC)=Y(GMTSC)_"^"_$S($P(X1,"^",10)="Y":$P(X,"^",6),1:"")
|
---|
34 | . S Y(GMTSC)=Y(GMTSC)_"^"_$S($P(X1,"^",11)="Y":$P(X,"^",7),1:"")
|
---|
35 | . S Y(GMTSC)=Y(GMTSC)_"^"_$S($P(X1,"^",12)="Y":$P(X,"^",8),1:"")
|
---|
36 | . S Y(GMTSC)=Y(GMTSC)_"^"_$P(X,"^")
|
---|
37 | Q
|
---|
38 | ;
|
---|
39 | COMPSUB(Y,GMTSUB) ; Get subcomponents from a predefined ADHOC component
|
---|
40 | ; GMTSUB=desired Adhoc subcomponent
|
---|
41 | ; Y(i)=ifn of pointed to file entry^name
|
---|
42 | Q:'$G(GMTSUB)
|
---|
43 | N GMTSI,GMTSII,GMTSIFN,GMTSC,X,X1
|
---|
44 | S X=$O(^GMT(142,"B","GMTS HS ADHOC OPTION",0))
|
---|
45 | I 'X Q ; Error, no ADHOC type defined
|
---|
46 | S (GMTSC,GMTSI)=0,GMTSII=X
|
---|
47 | F S GMTSI=$O(^GMT(142,GMTSII,1,GMTSUB,1,GMTSI)) Q:'GMTSI S X=^(GMTSI,0) D
|
---|
48 | . S GMTSIFN=+X,X1=$P(X,";",2)
|
---|
49 | . I '$D(@("^"_X1_+X_",0)")) Q
|
---|
50 | . S X=@("^"_X1_+X_",0)"),GMTSC=GMTSC+1,Y(GMTSC)=GMTSIFN_"^"_$P(X,"^")
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | FILES(Y,GMTSCP) ; Get Files to select from for a component
|
---|
54 | Q:'$G(GMTSCP) Q:'$D(^GMT(142.1,GMTSCP,1))
|
---|
55 | N GMTSGEC,GMTSI,GMTSC,X
|
---|
56 | S (GMTSGEC,GMTSI,GMTSC)=0
|
---|
57 | I $P($G(^GMT(142.1,GMTSCP,0)),U,4)="GECH" S GMTSGEC=1
|
---|
58 | F S GMTSI=$O(^GMT(142.1,GMTSCP,1,GMTSI)) Q:'GMTSI D
|
---|
59 | .S X=^(GMTSI,0),GMTSC=GMTSC+1 S:GMTSGEC=1 X=X_"G"
|
---|
60 | .S Y(GMTSC)=GMTSI_"^"_$$FNAM^GMTSU(+X)_"^"_X
|
---|
61 | Q
|
---|
62 | ;
|
---|
63 | FILESEL(GMTSRT,GMTSFI,GMTSFM,DIR) ; Get file entries
|
---|
64 | Q:'$G(GMTSFI)
|
---|
65 | K ^TMP("ORDATA",$J)
|
---|
66 | N GMTSI,GMTSJ,GMTSC,X,GMTSGL,GMTSGLB,GMTSCNT,HFC
|
---|
67 | S GMTSI=$G(GMTSFM),GMTSCNT=44,GMTSC=0,GMTSRT=$NA(^TMP("ORDATA",$J,1))
|
---|
68 | S:'$D(DIR) DIR=1
|
---|
69 | I GMTSFI=60 D Q
|
---|
70 | . F Q:GMTSC'<GMTSCNT S GMTSI=$O(^LAB(60,"B",GMTSI),DIR) Q:GMTSI="" S GMTSJ=0 F S GMTSJ=$O(^LAB(60,"B",GMTSI,GMTSJ)) Q:'GMTSJ D
|
---|
71 | . . I $D(^LAB(60,GMTSJ,0)) S X=^(0) I $P(X,"^",4)="CH","BO"[$P(X,"^",3) S GMTSC=GMTSC+1,^TMP("ORDATA",$J,1,GMTSC)=GMTSJ_"^"_GMTSI
|
---|
72 | I GMTSFI="9999999.64G" D Q
|
---|
73 | . F Q:GMTSC'<GMTSCNT S GMTSI=$O(^AUTTHF("B",GMTSI),DIR) Q:GMTSI="" S GMTSJ=0 F S GMTSJ=$O(^AUTTHF("B",GMTSI,GMTSJ)) Q:'GMTSJ I $D(^AUTTHF(GMTSJ,0)) S X=^(0) D
|
---|
74 | ..I (($P(^(0),U,10)="C")&(+$P(^(0),U,11)'=1))&($P(^(0)," ",1)="GEC") D
|
---|
75 | ...S GMTSC=GMTSC+1
|
---|
76 | ...S HFC=$S($P($G(X),U,10)="F":"Factor",$P($G(X),U,10)="C":"Category")
|
---|
77 | ...S ^TMP("ORDATA",$J,1,GMTSC)=GMTSJ_U_GMTSI_" ("_HFC_")"
|
---|
78 | I GMTSFI=9999999.64 D Q
|
---|
79 | . F Q:GMTSC'<GMTSCNT S GMTSI=$O(^AUTTHF("B",GMTSI),DIR) Q:GMTSI="" S GMTSJ=0 F S GMTSJ=$O(^AUTTHF("B",GMTSI,GMTSJ)) Q:'GMTSJ I $D(^AUTTHF(GMTSJ,0)) S X=^(0) D
|
---|
80 | ..I +$P(X,U,11)'=1 D
|
---|
81 | ...S GMTSC=GMTSC+1
|
---|
82 | ...S HFC=$S($P($G(X),U,10)="F":"Factor",$P($G(X),U,10)="C":"Category")
|
---|
83 | ...S ^TMP("ORDATA",$J,1,GMTSC)=GMTSJ_U_GMTSI_" ("_HFC_")"
|
---|
84 | I GMTSFI=811.9 D Q
|
---|
85 | . F Q:GMTSC'<GMTSCNT S GMTSI=$O(^PXD(811.9,"B",GMTSI),DIR) Q:GMTSI="" S GMTSJ=0 F S GMTSJ=$O(^PXD(811.9,"B",GMTSI,GMTSJ)) Q:'GMTSJ I $D(^PXD(811.9,GMTSJ,0)) S X=^(0) D
|
---|
86 | . . I $P(X,"^",6)'=1 S GMTSC=GMTSC+1,^TMP("ORDATA",$J,1,GMTSC)=GMTSJ_"^"_GMTSI
|
---|
87 | I GMTSFI=8925.1 D Q
|
---|
88 | . F Q:GMTSC'<GMTSCNT S GMTSI=$O(^TIU(8925.1,"B",GMTSI),DIR) Q:GMTSI="" S GMTSJ=0 F S GMTSJ=$O(^TIU(8925.1,"B",GMTSI,GMTSJ)) Q:'GMTSJ I $D(^TIU(8925.1,GMTSJ,0)) S X=^(0) D
|
---|
89 | . . I $P(X,"^",4)="DOC",$$ISA^TIULX(GMTSJ,3) S GMTSC=GMTSC+1,^TMP("ORDATA",$J,1,GMTSC)=GMTSJ_"^"_GMTSI
|
---|
90 | ;I GMTSFI=81 D Q
|
---|
91 | ;. F Q:GMTSC'<GMTSCNT S GMTSI=$O(^ICPT("C",GMTSI),DIR) Q:GMTSI="" S GMTSJ=0 F S GMTSJ=$O(^ICPT("C",GMTSI,GMTSJ)) Q:'GMTSJ I $D(^ICPT(GMTSJ,0)) S X=^(0) D
|
---|
92 | ;. . S GMTSC=GMTSC+1,^TMP("ORDATA",$J,1,GMTSC)=GMTSJ_"^"_$P(X,"^",2)_" ["_$P(X,"^")_"]"
|
---|
93 | S GMTSGL=$$FCLR^GMTSU(+GMTSFI) I $L(GMTSGL) S GMTSGLB=$$FLOC^GMTSU(+GMTSFI)_"""B"")" D
|
---|
94 | . F Q:GMTSC'<GMTSCNT S GMTSI=$O(@GMTSGLB@(GMTSI),DIR) Q:GMTSI="" S GMTSJ=0 F S GMTSJ=$O(@GMTSGLB@(GMTSI,GMTSJ)) Q:'GMTSJ I $D(@GMTSGL@(GMTSJ,0)) S X=^(0) D
|
---|
95 | . . S GMTSC=GMTSC+1,^TMP("ORDATA",$J,1,GMTSC)=GMTSJ_"^"_GMTSI
|
---|
96 | Q
|
---|
97 | ;
|
---|
98 | REPORT(GMTSEG,GMTSEGC,GMTSEGI,GMTSCPS,DFN) ; Build Report
|
---|
99 | ; Uses array of Components passed in GMTSCPS()
|
---|
100 | ; GMTSCPS(i)=array of subcomponents chosen,
|
---|
101 | ; value is pointer at ^GMT(142,DA(1),1,DA)
|
---|
102 | Q:'$G(DFN)
|
---|
103 | N GMTSCNT,DIC,DIZ,DIW,DIWI,DIWT,DIWTC,X,GMTSI,GMTSJ,GMTSK,GMTSTYP,GMTSTITL
|
---|
104 | S X="GMTS HS ADHOC",DIC=142,DIZ(0)="ZF"
|
---|
105 | D ^DIC Q:'Y
|
---|
106 | S GMTSTYP=+Y,GMTSTITL="AD HOC",(GMTSJ,GMTSI)=0,GMTSEGC=$O(GMTSCPS(99999999),-1)
|
---|
107 | F S GMTSI=$O(GMTSCPS(GMTSI)) Q:'GMTSI D
|
---|
108 | . N GMTSREC,GMTSS2,GMTSSJ,GMTSEL
|
---|
109 | . S GMTSREC=^GMT(142,GMTSTYP,1,+GMTSCPS(GMTSI),0),GMTSJ=GMTSJ+1
|
---|
110 | . S GMTSEG(GMTSJ)=GMTSREC,GMTSEGI($P(GMTSREC,U,2))=GMTSJ,GMTSS2=0,GMTSSJ=GMTSJ
|
---|
111 | . S $P(GMTSEG(GMTSJ),"^",3)=$P(GMTSCPS(GMTSI),"^",2)
|
---|
112 | . S $P(GMTSEG(GMTSJ),"^",4)=$P(GMTSCPS(GMTSI),"^",3)
|
---|
113 | . I $L($P(GMTSCPS(GMTSI),"^",4)) S $P(GMTSEG(GMTSJ),"^",5)=$P(GMTSCPS(GMTSI),"^",4)
|
---|
114 | . I $L($P(GMTSCPS(GMTSI),"^",5)) S $P(GMTSEG(GMTSJ),"^",6)=$P(GMTSCPS(GMTSI),"^",5)
|
---|
115 | . S $P(GMTSEG(GMTSJ),"^",7)=$P(GMTSCPS(GMTSI),"^",6)
|
---|
116 | . I $L($P(GMTSCPS(GMTSI),"^",7)) S $P(GMTSEG(GMTSJ),"^",8)=$P(GMTSCPS(GMTSI),"^",7)
|
---|
117 | . S (GMTSCNT,GMTSK)=0
|
---|
118 | . F S GMTSK=$O(GMTSCPS(GMTSK)) Q:'GMTSK D
|
---|
119 | . .I $P($G(GMTSCPS(GMTSK)),U,9)="9999999.64G" S $P(GMTSCPS(GMTSK),U,9)="9999999.64"
|
---|
120 | . .I +GMTSCPS(GMTSI)=+GMTSCPS(GMTSK),$P(GMTSCPS(GMTSK),"^",9),$P(GMTSCPS(GMTSK),"^",10) D
|
---|
121 | . . . S GMTSCNT=GMTSCNT+1
|
---|
122 | . . . S:'$D(GMTSEG(GMTSJ,$P(GMTSCPS(GMTSK),"^",9),0)) GMTSEG(GMTSJ,$P(GMTSCPS(GMTSK),"^",9),0)=$$GET1^DID($P(GMTSCPS(GMTSK),"^",9),,,"GLOBAL NAME")
|
---|
123 | . . . S GMTSEG(GMTSJ,$P(GMTSCPS(GMTSK),"^",9),GMTSCNT)=$P(GMTSCPS(GMTSK),"^",10)
|
---|
124 | . . . K GMTSCPS(GMTSK)
|
---|
125 | Q
|
---|
126 | ;
|
---|
127 | SUBITEM(Y,GMTSTEST) ; Get Subitems for a Test Panel
|
---|
128 | Q:'$G(GMTSTEST) N GMTSCNT S GMTSCNT=0
|
---|
129 | I '$L($P(^LAB(60,GMTSTEST,0),"^",5)),$O(^LAB(60,GMTSTEST,2,0)) D COMPILE(GMTSTEST,GMTSCNT)
|
---|
130 | Q
|
---|
131 | ;
|
---|
132 | COMPILE(GMTSTEST,GMTSCNT) ; Expand lab panels
|
---|
133 | N GMTSI,GMTSJ,GMTSRT S GMTSI=0
|
---|
134 | F S GMTSI=$O(^LAB(60,GMTSTEST,2,GMTSI)) Q:GMTSI'>0 D
|
---|
135 | . S GMTSJ=+$G(^LAB(60,GMTSTEST,2,+GMTSI,0))
|
---|
136 | . S GMTSRT=$G(^LAB(60,+GMTSJ,0))
|
---|
137 | . I $L($P(GMTSRT,U,5)),("BO"[$P(GMTSRT,U,3)) D
|
---|
138 | . . S GMTSCNT=GMTSCNT+1
|
---|
139 | . . S Y(GMTSCNT)=+GMTSJ_"^"_GMTSRT
|
---|
140 | . E D
|
---|
141 | . . D COMPILE(+$G(^LAB(60,GMTSTEST,2,GMTSI,0)),GMTSCNT)
|
---|
142 | Q
|
---|