ICDTLB3 ;ALB/EG - GROUPER UTILITY FUNCTIONS ; 9/29/04 3:38pm
;;18.0;DRG Grouper;**14**;Oct 20, 2000
DRG164 S ICDRG=$S(ICDPD["X"&(ICDCC):164,ICDPD["X":165,ICDCC:166,1:167) Q
DRG165 S ICDRG=$S(ICDPD["X"&(ICDCC):164,ICDPD["X":165,ICDCC:166,1:167) Q
DRG166 S ICDRG=$S(ICDPD["X"&(ICDCC):164,ICDPD["X":165,ICDCC:166,1:167) Q
DRG167 S ICDRG=$S(ICDPD["X"&(ICDCC):164,ICDPD["X":165,ICDCC:166,1:167) Q
DRG168 S ICDRG=$S(ICDCC:168,1:169) Q
DRG169 S ICDRG=$S(ICDCC:168,1:169) Q
DRG170 S ICDRG=$S(ICDCC:170,1:171) Q
DRG171 S ICDRG=$S(ICDCC:170,1:171) Q
DRG172 S ICDRG=$S(ICDCC:172,1:173) Q
DRG173 S ICDRG=$S(ICDCC:172,1:173) Q
DRG174 S ICDRG=$S(ICDCC:174,1:175) Q
DRG175 S ICDRG=$S(ICDCC:174,1:175) Q
DRG177 S ICDRG=$S(ICDCC:177,1:178) Q
DRG178 S ICDRG=$S(ICDCC:177,1:178) Q
DRG180 S ICDRG=$S(ICDCC:180,1:181) Q
DRG181 S ICDRG=$S(ICDCC:180,1:181) Q
DRG182 S ICDRG=$S(AGE<18:184,ICDCC:182,1:183) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG183 S ICDRG=$S(AGE<18:184,ICDCC:182,1:183) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG184 S ICDRG=$S(AGE<18:184,ICDCC:182,1:183) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG185 S ICDRG=$S(ICDOR["e":187,AGE="":470,AGE<18:186,1:185),ICDRTC=$S(ICDRG=470:3,1:ICDRTC) Q
DRG186 S ICDRG=$S(ICDOR["e":187,AGE="":470,AGE<18:186,1:185),ICDRTC=$S(ICDRG=470:3,1:ICDRTC) Q
DRG187 S ICDRG=$S($D(ICDPDRG(187)):187,$D(ICDPDRG):ICDPDRG,1:"")
I ICDRG?.N&(+ICDRG>0) Q
I +ICDRG=0 S ICDRG=470 Q
S ICDREF=$$RTABLE^ICDREF(+ICDRG,+ICDDATE)
I ICDRG["^"&($D(ICDREF)) X "D DRG"_+ICDRG_"^"_^ICDREF Q
S ICDRG=+ICDPDRG
Q
DRG188 S ICDRG=$S(AGE<18:190,ICDCC:188,1:189) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG189 S ICDRG=$S(AGE<18:190,ICDCC:188,1:189) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG190 S ICDRG=$S(AGE<18:190,ICDCC:188,1:189) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG191 S ICDRG=$S(ICDCC:191,1:192) Q
DRG192 S ICDRG=$S(ICDCC:191,1:192) Q
DRG193 ;
I ICDOR["T"&(ICDOR'["3"!(ICDOR'["h")) D Q:"195^196^197^198"[ICDRG
.I ICDOR["E" S ICDRG=$S(ICDCC:195,1:196) Q
.I ICDOR'["E" S ICDRG=$S(ICDCC:197,1:198)
I ICDOR["3"!(ICDOR["E") S ICDRG=$S(ICDCC:193,1:194) Q
I ICDPD["M"&(ICDOR["h") S ICDRG=199 Q
I ICDPD'["M"&(ICDOR["h") S ICDRG=200 Q
I ICDPD["M"&(ICDOR'["h") S ICDRG=203 Q
S ICDRG=204
Q
DRG194 D DRG193 Q
DRG195 G:ICDOR["TT" DRG493^ICDTLB6 D DRG193 Q
DRG196 D DRG193 Q
DRG197 S ICDRG=$S(ICDCC:197,1:198) Q
DRG198 S ICDRG=$S(ICDCC:197,1:198) Q
DRG199 D DRG193 Q
DRG200 D DRG193 Q
DRG205 S ICDRG=$S(ICDCC:205,1:206) Q
DRG206 S ICDRG=$S(ICDCC:205,1:206) Q
DRG207 S ICDRG=$S(ICDCC:207,1:208) Q
DRG208 S ICDRG=$S(ICDCC:207,1:208) Q
DRG209 S ICDRG=$S($F($P(ICDOR,"M",2,99),"M"):471,1:209) Q
DRG210 S ICDRG=$S(AGE<18:212,ICDCC:210,1:211) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG211 S ICDRG=$S(AGE<18:212,ICDCC:210,1:211) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG212 S ICDRG=$S(AGE<18:212,ICDCC:210,1:211) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG214 Q
DRG215 Q
DRG218 S ICDRG=$S(AGE<18:220,ICDCC:218,1:219) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG219 S ICDRG=$S(AGE<18:220,ICDCC:218,1:219) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG220 S ICDRG=$S(AGE<18:220,ICDCC:218,1:219) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG221 Q
DRG222 Q
DRG224 S ICDRG=$S(ICDCC:223,1:224) Q
DRG226 S ICDRG=$S(ICDCC:226,1:227) Q
DRG227 S ICDRG=$S(ICDCC:226,1:227) Q
DRG228 S ICDRG=$S(ICDOR["O2":228,ICDCC:228,1:229) Q
DRG229 S ICDRG=$S(ICDOR["O2":228,ICDCC:228,1:229) Q
DRG232 S ICDRG=232 Q
DRG233 S ICDRG=$S(ICDCC:233,1:234) Q
DRG234 S ICDRG=$S(ICDCC:233,1:234) Q
DRG240 S ICDRG=$S(ICDCC:240,1:241) Q
DRG241 S ICDRG=$S(ICDCC:240,1:241) Q
DRG244 S ICDRG=$S(ICDCC:244,1:245) Q
DRG245 S ICDRG=$S(ICDCC:244,1:245) Q
DRG250 S ICDRG=$S(AGE<18:252,ICDCC:250,1:251) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG251 S ICDRG=$S(AGE<18:252,ICDCC:250,1:251) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG252 S ICDRG=$S(AGE<18:252,ICDCC:250,1:251) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG253 S ICDRG=$S(AGE<18:255,ICDCC:253,1:254) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG254 S ICDRG=$S(AGE<18:255,ICDCC:253,1:254) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG255 S ICDRG=$S(AGE<18:255,ICDCC:253,1:254) I AGE="" S ICDRG=470,ICDRTC=3
Q
DRG257 I ICDOR'=""&(ICDOR["M") D
.S ICDRG=$S(ICDPD["r"&(ICDCC):257,ICDSD["r"&(ICDCC):257,ICDPD["r":258,ICDSD["r":258,1:"")
S:ICDRG="" ICDRG=261
Q
DRG258 D DRG257 Q
DRG259 I ICDOR'=""&(ICDOR["m") D
.S ICDRG=$S(ICDPD["r"&(ICDCC):259,ICDSD["r"&(ICDCC):259,ICDPD["r":260,ICDSD["r":260,ICDOR["L":262,1:"")
.I $D(ICDOP("85.12 "))!$D(ICDOP("85.20 "))!$D(ICDOP("85.21 ")) S ICDRG=262
S:ICDRG="" ICDRG=261
Q
DRG260 D DRG259 Q
DRG262 D DRG259 Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HICDTLB3 4563 printed Dec 13, 2024@01:52:29 Page 2
ICDTLB3 ;ALB/EG - GROUPER UTILITY FUNCTIONS ; 9/29/04 3:38pm
+1 ;;18.0;DRG Grouper;**14**;Oct 20, 2000
DRG164 SET ICDRG=$SELECT(ICDPD["X"&(ICDCC):164,ICDPD["X":165,ICDCC:166,1:167)
QUIT
DRG165 SET ICDRG=$SELECT(ICDPD["X"&(ICDCC):164,ICDPD["X":165,ICDCC:166,1:167)
QUIT
DRG166 SET ICDRG=$SELECT(ICDPD["X"&(ICDCC):164,ICDPD["X":165,ICDCC:166,1:167)
QUIT
DRG167 SET ICDRG=$SELECT(ICDPD["X"&(ICDCC):164,ICDPD["X":165,ICDCC:166,1:167)
QUIT
DRG168 SET ICDRG=$SELECT(ICDCC:168,1:169)
QUIT
DRG169 SET ICDRG=$SELECT(ICDCC:168,1:169)
QUIT
DRG170 SET ICDRG=$SELECT(ICDCC:170,1:171)
QUIT
DRG171 SET ICDRG=$SELECT(ICDCC:170,1:171)
QUIT
DRG172 SET ICDRG=$SELECT(ICDCC:172,1:173)
QUIT
DRG173 SET ICDRG=$SELECT(ICDCC:172,1:173)
QUIT
DRG174 SET ICDRG=$SELECT(ICDCC:174,1:175)
QUIT
DRG175 SET ICDRG=$SELECT(ICDCC:174,1:175)
QUIT
DRG177 SET ICDRG=$SELECT(ICDCC:177,1:178)
QUIT
DRG178 SET ICDRG=$SELECT(ICDCC:177,1:178)
QUIT
DRG180 SET ICDRG=$SELECT(ICDCC:180,1:181)
QUIT
DRG181 SET ICDRG=$SELECT(ICDCC:180,1:181)
QUIT
DRG182 SET ICDRG=$SELECT(AGE<18:184,ICDCC:182,1:183)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG183 SET ICDRG=$SELECT(AGE<18:184,ICDCC:182,1:183)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG184 SET ICDRG=$SELECT(AGE<18:184,ICDCC:182,1:183)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG185 SET ICDRG=$SELECT(ICDOR["e":187,AGE="":470,AGE<18:186,1:185)
SET ICDRTC=$SELECT(ICDRG=470:3,1:ICDRTC)
QUIT
DRG186 SET ICDRG=$SELECT(ICDOR["e":187,AGE="":470,AGE<18:186,1:185)
SET ICDRTC=$SELECT(ICDRG=470:3,1:ICDRTC)
QUIT
DRG187 SET ICDRG=$SELECT($DATA(ICDPDRG(187)):187,$DATA(ICDPDRG):ICDPDRG,1:"")
+1 IF ICDRG?.N&(+ICDRG>0)
QUIT
+2 IF +ICDRG=0
SET ICDRG=470
QUIT
+3 SET ICDREF=$$RTABLE^ICDREF(+ICDRG,+ICDDATE)
+4 IF ICDRG["^"&($DATA(ICDREF))
XECUTE "D DRG"_+ICDRG_"^"_^ICDREF
QUIT
+5 SET ICDRG=+ICDPDRG
+6 QUIT
DRG188 SET ICDRG=$SELECT(AGE<18:190,ICDCC:188,1:189)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG189 SET ICDRG=$SELECT(AGE<18:190,ICDCC:188,1:189)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG190 SET ICDRG=$SELECT(AGE<18:190,ICDCC:188,1:189)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG191 SET ICDRG=$SELECT(ICDCC:191,1:192)
QUIT
DRG192 SET ICDRG=$SELECT(ICDCC:191,1:192)
QUIT
DRG193 ;
+1 IF ICDOR["T"&(ICDOR'["3"!(ICDOR'["h"))
Begin DoDot:1
+2 IF ICDOR["E"
SET ICDRG=$SELECT(ICDCC:195,1:196)
QUIT
+3 IF ICDOR'["E"
SET ICDRG=$SELECT(ICDCC:197,1:198)
End DoDot:1
if "195^196^197^198"[ICDRG
QUIT
+4 IF ICDOR["3"!(ICDOR["E")
SET ICDRG=$SELECT(ICDCC:193,1:194)
QUIT
+5 IF ICDPD["M"&(ICDOR["h")
SET ICDRG=199
QUIT
+6 IF ICDPD'["M"&(ICDOR["h")
SET ICDRG=200
QUIT
+7 IF ICDPD["M"&(ICDOR'["h")
SET ICDRG=203
QUIT
+8 SET ICDRG=204
+9 QUIT
DRG194 DO DRG193
QUIT
DRG195 if ICDOR["TT"
GOTO DRG493^ICDTLB6
DO DRG193
QUIT
DRG196 DO DRG193
QUIT
DRG197 SET ICDRG=$SELECT(ICDCC:197,1:198)
QUIT
DRG198 SET ICDRG=$SELECT(ICDCC:197,1:198)
QUIT
DRG199 DO DRG193
QUIT
DRG200 DO DRG193
QUIT
DRG205 SET ICDRG=$SELECT(ICDCC:205,1:206)
QUIT
DRG206 SET ICDRG=$SELECT(ICDCC:205,1:206)
QUIT
DRG207 SET ICDRG=$SELECT(ICDCC:207,1:208)
QUIT
DRG208 SET ICDRG=$SELECT(ICDCC:207,1:208)
QUIT
DRG209 SET ICDRG=$SELECT($FIND($PIECE(ICDOR,"M",2,99),"M"):471,1:209)
QUIT
DRG210 SET ICDRG=$SELECT(AGE<18:212,ICDCC:210,1:211)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG211 SET ICDRG=$SELECT(AGE<18:212,ICDCC:210,1:211)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG212 SET ICDRG=$SELECT(AGE<18:212,ICDCC:210,1:211)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG214 QUIT
DRG215 QUIT
DRG218 SET ICDRG=$SELECT(AGE<18:220,ICDCC:218,1:219)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG219 SET ICDRG=$SELECT(AGE<18:220,ICDCC:218,1:219)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG220 SET ICDRG=$SELECT(AGE<18:220,ICDCC:218,1:219)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG221 QUIT
DRG222 QUIT
DRG224 SET ICDRG=$SELECT(ICDCC:223,1:224)
QUIT
DRG226 SET ICDRG=$SELECT(ICDCC:226,1:227)
QUIT
DRG227 SET ICDRG=$SELECT(ICDCC:226,1:227)
QUIT
DRG228 SET ICDRG=$SELECT(ICDOR["O2":228,ICDCC:228,1:229)
QUIT
DRG229 SET ICDRG=$SELECT(ICDOR["O2":228,ICDCC:228,1:229)
QUIT
DRG232 SET ICDRG=232
QUIT
DRG233 SET ICDRG=$SELECT(ICDCC:233,1:234)
QUIT
DRG234 SET ICDRG=$SELECT(ICDCC:233,1:234)
QUIT
DRG240 SET ICDRG=$SELECT(ICDCC:240,1:241)
QUIT
DRG241 SET ICDRG=$SELECT(ICDCC:240,1:241)
QUIT
DRG244 SET ICDRG=$SELECT(ICDCC:244,1:245)
QUIT
DRG245 SET ICDRG=$SELECT(ICDCC:244,1:245)
QUIT
DRG250 SET ICDRG=$SELECT(AGE<18:252,ICDCC:250,1:251)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG251 SET ICDRG=$SELECT(AGE<18:252,ICDCC:250,1:251)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG252 SET ICDRG=$SELECT(AGE<18:252,ICDCC:250,1:251)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG253 SET ICDRG=$SELECT(AGE<18:255,ICDCC:253,1:254)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG254 SET ICDRG=$SELECT(AGE<18:255,ICDCC:253,1:254)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG255 SET ICDRG=$SELECT(AGE<18:255,ICDCC:253,1:254)
IF AGE=""
SET ICDRG=470
SET ICDRTC=3
+1 QUIT
DRG257 IF ICDOR'=""&(ICDOR["M")
Begin DoDot:1
+1 SET ICDRG=$SELECT(ICDPD["r"&(ICDCC):257,ICDSD["r"&(ICDCC):257,ICDPD["r":258,ICDSD["r":258,1:"")
End DoDot:1
+2 if ICDRG=""
SET ICDRG=261
+3 QUIT
DRG258 DO DRG257
QUIT
DRG259 IF ICDOR'=""&(ICDOR["m")
Begin DoDot:1
+1 SET ICDRG=$SELECT(ICDPD["r"&(ICDCC):259,ICDSD["r"&(ICDCC):259,ICDPD["r":260,ICDSD["r":260,ICDOR["L":262,1:"")
+2 IF $DATA(ICDOP("85.12 "))!$DATA(ICDOP("85.20 "))!$DATA(ICDOP("85.21 "))
SET ICDRG=262
End DoDot:1
+3 if ICDRG=""
SET ICDRG=261
+4 QUIT
DRG260 DO DRG259
QUIT
DRG262 DO DRG259
QUIT