Changeset 636 for FOIAVistA/tag/r/DRG_GROUPER-ICD--ICPT/ICDCODE.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/DRG_GROUPER-ICD--ICPT/ICDCODE.m
r628 r636 1 ICDCODE ;DLS/DEK/KER /FJF - ICD CODE APIS ; 09/20/078:54am2 ;;18.0;DRG Grouper;**6,12,14 ,29**;Oct 20, 2000;Build 181 ICDCODE ;DLS/DEK/KER - ICD CODE APIS ; 10/20/04 8:54am 2 ;;18.0;DRG Grouper;**6,12,14**;Oct 20, 2000;Build 1 3 3 ; 4 4 ; External References … … 6 6 ; 7 7 ICDDX(CODE,CDT,DFN,SRC) ; Return ICD Dx Code Info 8 ;Input: 9 ; CODE Code/IEN (required) 10 ; CDT Date (default = TODAY) 11 ; DFN Not in use 12 ; SRC Source 13 ; 0 = exclude local codes 14 ; 1 = include local codes 15 ; 16 ;Output: 17 ; Returns an 19 piece string delimited by ^ 18 ; 1 IEN of code in ^ICD9( 19 ; 2 ICD-9 Dx Code (#.01) 20 ; 3 Id (#2) 21 ; 4 Versioned Dx (67 multiple) 22 ; 5 Unacceptable as Principal Dx (#101) 23 ; 6 Major Dx Cat (#5) 24 ; 7 MDC13 (5.5) 25 ; 8 Compl/Comorb (#70) 26 ; 9 ICD Expanded (#8) 1:Yes 0:No 27 ; 10 Status (66 multiple) 28 ; 11 Sex (#9.5) 29 ; 12 Inactive Date (66 multiple) 30 ; 13 MDC24 (#5.7) 31 ; 14 MDC25 (#5.9) 32 ; 15 Age Low (#14) 33 ; 16 Age High (#15) 34 ; 17 Activation Date (.01 of 66 multiple) 35 ; 18 Message 36 ; 19 Versioned Complication/Comorbidity (#103) 37 ; 38 ; or 39 ; 40 ; -1^Error Description 8 ;Input: CODE Code/IEN (required) 9 ; CDT Date (default = TODAY) 10 ; DFN Not in use 11 ; SRC Source 12 ; 0 = exclude local codes 13 ; 1 = include local codes 14 ; 15 ;Output: Returns an 18 piece string delimited by ^ 16 ; 1 IEN of code in ^ICD9( 17 ; 2 ICD-9 Dx Code (#.01) 18 ; 3 Id (#2) 19 ; 4 Versioned Dx (67 multiple) 20 ; 5 Unacceptable as Principal Dx (#101) 21 ; 6 Major Dx Cat (#5) 22 ; 7 MDC13 (5.5) 23 ; 8 Compl/Comorb (#70) 24 ; 9 ICD Expanded (#8) 1:Yes 0:No 25 ; 10 Status (66 multiple) 26 ; 11 Sex (#9.5) 27 ; 12 Inactive Date (66 multiple) 28 ; 13 MDC24 (#5.7) 29 ; 14 MDC25 (#5.9) 30 ; 15 Age Low (#14) 31 ; 16 Age High (#15) 32 ; 17 Activation Date (.01 of 66 multiple) 33 ; 18 Message 34 ; 35 ; or 36 ; 37 ; -1^Error Description 41 38 ; 42 39 N DATA,EFF,INV,MDC,DRGFY … … 45 42 I CODE<1 Q INV 46 43 I '$D(^ICD9(CODE)) Q INV 47 I '$G(SRC),$P(^ICD9(CODE,0), U,8) Q "-1^VA LOCAL CODE SELECTED"44 I '$G(SRC),$P(^ICD9(CODE,0),"^",8) Q "-1^VA LOCAL CODE SELECTED" 48 45 S DATA=$G(^ICD9(CODE,0)) I '$L(DATA) Q "-1^NO DATA" 49 46 S CDT=$S($G(CDT)="":$$DT^XLFDT,1:$$DTBR^ICDAPIU(CDT)) 50 47 S EFF=$$EFF^ICDSUPT(80,CODE,CDT) 51 S $P(DATA,U,6)=$$VMDC^ICDREF(CODE) 52 S $P(DATA,U,9)=$S(EFF<1:0,1:$P(EFF,U)) 53 S $P(DATA,U,11)=$P(EFF,U,2),$P(DATA,U,16)=$P(EFF,U,3) 54 S $P(DATA,U,3)=$$VSTD(CODE,CDT) 55 S $P(DATA,U,17)=$$MSG^ICDAPIU(CDT) 56 S $P(DATA,U,18)=$S($$COMCOM(CODE,CDT)'=-1:$$COMCOM(CODE,CDT),1:"") 57 Q CODE_U_DATA 58 ; 48 S $P(DATA,"^",6)=$$VMDC^ICDREF(CODE) 49 S $P(DATA,"^",9)=$S(EFF<1:0,1:$P(EFF,"^")) 50 S $P(DATA,"^",11)=$P(EFF,"^",2),$P(DATA,"^",16)=$P(EFF,"^",3) 51 S $P(DATA,"^",3)=$$VSTD(CODE,CDT) 52 Q CODE_"^"_DATA_"^"_$$MSG^ICDAPIU(CDT) 53 ; 59 54 ICDOP(CODE,CDT,DFN,SRC) ; Return ICD Operation/Procedure Code Info 60 ;Input: 61 ; CODE ICD code or IEN format, (required) 62 ; CDT Date (default = TODAY) 63 ; DFN Not in use 64 ; SRC Source 65 ; 0 = exclude local codes 66 ; 1 = include local codes 67 ; 68 ;Output: 69 ; Returns an 14 piece string delimited by ^ 70 ; 1 IEN of code in ^ICD9( 71 ; 2 ICD-9 code (#.01) 72 ; 3 Id (#2) 73 ; 4 MDC24 (#5) 74 ; 5 Versioned Oper/Proc (67 multiple) 75 ; 6 <null> 76 ; 7 <null> 77 ; 8 <null> 78 ; 9 ICD Expanded (#8) 1:Yes 0:No 79 ; 10 Status (66 multiple) 80 ; 11 Use with Sex (#9.5) 81 ; 12 Inactive Date (66 multiple) 82 ; 13 Activation Date (66 multiple) 83 ; 14 Message 84 ; 85 ; or 86 ; 87 ; -1^Error Description 55 ; Input: CODE ICD code or IEN format, (required) 56 ; CDT Date (default = TODAY) 57 ; DFN Not in use 58 ; SRC Source 59 ; 0 = exclude local codes 60 ; 1 = include local codes 61 ; 62 ; Output: Returns an 14 piece string delimited by ^ 63 ; 1 IEN of code in ^ICD9( 64 ; 2 ICD-9 code (#.01) 65 ; 3 Id (#2) 66 ; 4 MDC24 (#5) 67 ; 5 Versioned Oper/Proc (67 multiple) 68 ; 6 <null> 69 ; 7 <null> 70 ; 8 <null> 71 ; 9 ICD Expanded (#8) 1:Yes 0:No 72 ; 10 Status (66 multiple) 73 ; 11 Use with Sex (#9.5) 74 ; 12 Inactive Date (66 multiple) 75 ; 13 Activation Date (66 multiple) 76 ; 14 Message 77 ; 78 ; -or- 79 ; 80 ; -1^Error Description 88 81 ; 89 82 N DATA,EFF,STR,INV … … 92 85 I CODE<1 Q INV 93 86 I '$D(^ICD0(CODE)) Q INV 94 I '$G(SRC),$P(^ICD0(CODE,0), U,8) Q "-1^VA LOCAL CODE SELECTED"87 I '$G(SRC),$P(^ICD0(CODE,0),"^",8) Q "-1^VA LOCAL CODE SELECTED" 95 88 S DATA=$G(^ICD0(CODE,0)) I '$L(DATA) Q "-1^NO DATA" 96 89 S CDT=$S($G(CDT)="":$$DT^XLFDT,1:$$DTBR^ICDAPIU(CDT)) 97 90 S EFF=$$EFF^ICDSUPT(80.1,CODE,CDT) 98 S $P(DATA, U,9)=$S(EFF<1:0,1:$P(EFF,U))99 S $P(DATA, U,11,12)=$P(EFF,U,2,3)100 S $P(DATA, U,4)=$$VSTP(CODE,CDT)101 Q CODE_ U_DATA_U_$$MSG^ICDAPIU(CDT)91 S $P(DATA,"^",9)=$S(EFF<1:0,1:$P(EFF,"^")) 92 S $P(DATA,"^",11,12)=$P(EFF,"^",2,3) 93 S $P(DATA,"^",4)=$$VSTP(CODE,CDT) 94 Q CODE_"^"_DATA_"^"_$$MSG^ICDAPIU(CDT) 102 95 ; 103 96 ICDD(CODE,OUTARR,CDT) ; returns ICD description in array 104 ;Input: 105 ; CODE ICD Code or IEN (required) 106 ; ARY Array Name for description 107 ; e.g. "ABC" or "ABC("TEST")" 108 ; Default = ^TMP("ICDD",$J) 109 ; CDT Date (default = TODAY) 110 ; 111 ;Output: 112 ; # Number of lines in array 113 ; 114 ; @ARY(1:n) - Versioned Description (68 multiple) 115 ; @ARY(n+1) - blank 116 ; @ARY(n+1) - message: CODE TEXT MAY BE INACCURATE 117 ; 118 ; or 119 ; 120 ; -1^Error Description 121 ; 97 ; Input: CODE ICD Code or IEN (required) 98 ; ARY Array Name for description 99 ; e.g. "ABC" or "ABC("TEST")" 100 ; Default = ^TMP("ICDD",$J) 101 ; CDT Date (default = TODAY) 102 ; 103 ; Output: # Number of lines in array 104 ; 105 ; @ARY(1:n) - Versioned Description (68 multiple) 106 ; @ARY(n+1) - blank 107 ; @ARY(n+1) - message: CODE TEXT MAY BE INACCURATE 108 ; 109 ; or 110 ; 111 ; -1^Error Description 112 ; 122 113 ; ** NOTE - USER MUST INITIALIZE ^TMP("ICDD",$J), IF USED ** 123 114 ; … … 137 128 I OUTARR="^TMP(""ICDD"",$J," K ^TMP("ICDD",$J) 138 129 S I=0,N=0,CDT=$S($G(CDT)="":$$DT^XLFDT,1:$$DTBR^ICDAPIU(CDT)) 130 ;S N=N+1,ARR=OUTARR_N_")",@ARR=$G(@(GLOB_CODE_",1)")) 139 131 S N=N+1,ARR=OUTARR_N_")",@ARR=$$VLT(CODE,CDT,GLOB) 140 132 S N=N+1,ARR=OUTARR_N_")",@ARR=" " … … 143 135 ; 144 136 CODEN(CODE,FILE) ; return ien of ICD code 145 ; Input:146 ; CODE - ICD code (required)147 ; FILE - File Number to search for code148 ; 80 = ICD Dx file149 ; 80.1 = ICD Oper/Procfile150 ; 151 ; Output:152 ; ien~global root137 ; 138 ; Input: 139 ; CODE - ICD code (required) 140 ; FILE - File Number to search for code 141 ; 80 = ICD Dx file 142 ; 80.1 = ICD Oper/Proc file 143 ; 144 ; Output: ien~global root 153 145 ; where global root is: 154 ; "^ICD9(" - File 80155 ; "^ICD0(" - File 80.1156 ; or157 ; -1~error message146 ; "^ICD9(" - File 80 147 ; "^ICD0(" - File 80.1 148 ; -or- 149 ; -1~error message 158 150 ; 159 151 I $G(CODE)="" Q "-1~NO CODE SELECTED" … … 162 154 ;use FILE if passed 163 155 I $G(FILE) D Q Y_"~"_GLOB 164 . S GLOB=$S(FILE=80:"^ICD9(",FILE=80.1:"^ICD0(",1:INV_"FILE")165 . I $E(GLOB)'=US Y=-1,GLOB=INV_"FILE" Q166 . S Y=$S(CODE?1.9N:$$CODEZ(CODE,GLOB),1:$$CODEBA(CODE,GLOB))156 . S GLOB=$S(FILE=80:"^ICD9(",FILE=80.1:"^ICD0(",1:INV_"FILE") 157 . I $E(GLOB)'="^" S Y=-1,GLOB=INV_"FILE" Q 158 . S Y=$S(CODE?1.9N:$$CODEZ(CODE,GLOB),1:$$CODEBA(CODE,GLOB)) 167 159 ;FILE not passed - report where found 168 160 I CODE?1.9N S GLOB="^ICD9(",Y=$$CODEZ(CODE,GLOB) D G CODENQ 169 . I Y<1 S GLOB="^ICD0(",Y=$$CODEZ(CODE,GLOB)161 . I Y<1 S GLOB="^ICD0(",Y=$$CODEZ(CODE,GLOB) 170 162 S GLOB=$S(CODE?2N1"."1.3N:"^ICD0(",CODE?3N1".".3N!(CODE?1U2.3N1".".2N):"^ICD9(",1:-1) 171 163 S Y=$S('GLOB:$$CODEBA(CODE,GLOB),1:-1) … … 174 166 ; 175 167 CODEC(CODE,FILE) ;return the ICD code of an ien 176 ; Input:177 ; CODE - IEN of ICD code REQUIRED178 ; FILE - File Number to search for code179 ; 80 = ICD Dx file180 ; 80.1 = ICD Oper/Proc file181 ; 182 ; Output: ICD code, -1 if not found168 ; Input: 169 ; CODE - IEN of ICD code REQUIRED 170 ; FILE - File Number to search for code 171 ; 80 = ICD Dx file 172 ; 80.1 = ICD Oper/Proc file 173 ; 174 ; Output: ICD code, -1 if not found 183 175 ; 184 176 S CODE=$G(CODE) Q:CODE'?1.9N -1 185 177 N Y,GLOB 186 178 I $G(FILE) D Q Y 187 . S GLOB=$S(FILE=80:"^ICD9(",FILE=80.1:"^ICD0(",1:-1)188 . S Y=$S(GLOB<0:-1,1:$$CODEZ(CODE,GLOB))179 . S GLOB=$S(FILE=80:"^ICD9(",FILE=80.1:"^ICD0(",1:-1) 180 . S Y=$S(GLOB<0:-1,1:$$CODEZ(CODE,GLOB)) 189 181 ;FILE not passed - Search for 1st match 190 182 S Y=$$CODEZ(CODE,"^ICD9(",1) … … 193 185 CODEZ(CODE,ROOT,FLG) ; Based on IEN/root: 194 186 N Y,ICDL ; if 'FLG return code existence, else zero node - piece 1 195 S Y=$P($G(@(ROOT_CODE_",0)")), U),ICDL=$L(Y) I ICDL,'$G(FLG) Q CODE187 S Y=$P($G(@(ROOT_CODE_",0)")),"^"),ICDL=$L(Y) I ICDL,'$G(FLG) Q CODE 196 188 Q $S('ICDL:-1,1:Y) 189 ; 197 190 CODEBA(CODE,ROOT) ; Return IEN based on code/root 198 191 N IEN 199 192 S IEN=$O(@(ROOT_"""BA"","""_CODE_" "","""")"),-1) 200 193 Q $S('IEN:-1,1:IEN) 201 ;202 COMCOM(IEN,VDT) ; Return versioned complication/comorbidity203 ;returns a code for complication/comorbidity204 ; 0 - non-CC205 ; 1 - CC206 ; 2 - MCC207 ; -1 - versioned CC not on file for date208 N CCDATE,CCIEN209 S CCDATE=$O(^ICD9(IEN,69,"B",VDT+.0001),-1)210 I CCDATE="" Q -1211 S CCIEN=$O(^ICD9(IEN,69,"B",CCDATE,""),-1)212 Q $P(^ICD9(IEN,69,CCIEN,0),U,2)213 194 ; 214 195 VST(IEN,VDT,TYPE) ; Versioned Short Text … … 218 199 VSTD(IEN,VDT) ; Versioned Short Text (Dx) 219 200 N ICD0,ICDC,ICDI,STD,STI,ICDT,TXT S ICDI=+($G(IEN)) Q:+ICDI'>0 "" Q:'$D(^ICD9(+ICDI)) "" 220 S ICDT=$G(VDT) S:'$L(ICDT)!(+ICDT'>0) ICDT=$$DT^XLFDT Q:$P(ICDT,".",1)'?7N "" S ICD0=$G(^ICD9(+ICDI,0)),ICDC=$P(ICD0, U,1) Q:'$L(ICDC) ""201 S ICDT=$G(VDT) S:'$L(ICDT)!(+ICDT'>0) ICDT=$$DT^XLFDT Q:$P(ICDT,".",1)'?7N "" S ICD0=$G(^ICD9(+ICDI,0)),ICDC=$P(ICD0,"^",1) Q:'$L(ICDC) "" 221 202 S STD=$O(^ICD9("AST",(ICDC_" "),(ICDT+.000001)),-1) 222 203 I +STD>0 D Q:$L($G(TXT)) $G(TXT) 223 . S STI=$O(^ICD9("AST",(ICDC_" "),STD,+ICDI," "),-1),TXT=$$TRIM($P($G(^ICD9(+ICDI,67,+STI,0)),U,2))204 . S STI=$O(^ICD9("AST",(ICDC_" "),STD,+ICDI," "),-1),TXT=$$TRIM($P($G(^ICD9(+ICDI,67,+STI,0)),"^",2)) 224 205 S STD=$O(^ICD9(+ICDI,67,"B",0)) I +STD>0 D Q:$L($G(TXT)) $G(TXT) 225 . S STI=$O(^ICD9(+ICDI,67,"B",STD,0)),TXT=$$TRIM($P($G(^ICD9(+ICDI,67,+STI,0)),U,2))226 Q $$TRIM($P(ICD0, U,3))206 . S STI=$O(^ICD9(+ICDI,67,"B",STD,0)),TXT=$$TRIM($P($G(^ICD9(+ICDI,67,+STI,0)),"^",2)) 207 Q $$TRIM($P(ICD0,"^",3)) 227 208 VSTP(IEN,VDT) ; Versioned Short Text (Proc) 228 209 N ICD0,ICDC,ICDI,STD,STI,ICDT,TXT S ICDI=+($G(IEN)) Q:+ICDI'>0 "" Q:'$D(^ICD0(+ICDI)) "" 229 S ICDT=$G(VDT) S:'$L(ICDT)!(+ICDT'>0) ICDT=$$DT^XLFDT Q:$P(ICDT,".",1)'?7N "" S ICD0=$G(^ICD0(+ICDI,0)),ICDC=$P(ICD0, U,1) Q:'$L(ICDC) ""210 S ICDT=$G(VDT) S:'$L(ICDT)!(+ICDT'>0) ICDT=$$DT^XLFDT Q:$P(ICDT,".",1)'?7N "" S ICD0=$G(^ICD0(+ICDI,0)),ICDC=$P(ICD0,"^",1) Q:'$L(ICDC) "" 230 211 S STD=$O(^ICD0("AST",(ICDC_" "),(ICDT+.000001)),-1) 231 212 I +STD>0 D Q:$L($G(TXT)) $G(TXT) 232 . S STI=$O(^ICD0("AST",(ICDC_" "),STD,+ICDI," "),-1),TXT=$$TRIM($P($G(^ICD0(+ICDI,67,+STI,0)),U,2))213 . S STI=$O(^ICD0("AST",(ICDC_" "),STD,+ICDI," "),-1),TXT=$$TRIM($P($G(^ICD0(+ICDI,67,+STI,0)),"^",2)) 233 214 S STD=$O(^ICD0(+ICDI,67,"B",0)) I +STD>0 D Q:$L($G(TXT)) $G(TXT) 234 . S STI=$O(^ICD0(+ICDI,67,"B",STD,0)),TXT=$$TRIM($P($G(^ICD0(+ICDI,67,+STI,0)),U,2))235 Q $$TRIM($P(ICD0, U,4))215 . S STI=$O(^ICD0(+ICDI,67,"B",STD,0)),TXT=$$TRIM($P($G(^ICD0(+ICDI,67,+STI,0)),"^",2)) 216 Q $$TRIM($P(ICD0,"^",4)) 236 217 VLT(IEN,VDT,TYPE) ; Version Description - Long Text 237 218 Q:TYPE["ICD9(" $$VLTD($G(IEN),$G(VDT)) … … 242 223 S ICDI=+($G(IEN)) Q:+ICDI'>0 "" Q:'$D(^ICD9(+ICDI)) "" 243 224 S ICDT=$G(VDT) S:'$L(ICDT)!(+ICDT'>0) ICDT=$$DT^XLFDT Q:$P(ICDT,".",1)'?7N "" 244 S ICD0=$G(^ICD9(+ICDI,0)),ICDC=$P(ICD0, U,1) Q:'$L(ICDC) ""225 S ICD0=$G(^ICD9(+ICDI,0)),ICDC=$P(ICD0,"^",1) Q:'$L(ICDC) "" 245 226 S STD=$O(^ICD9("ADS",(ICDC_" "),(ICDT+.000001)),-1) 246 227 I +STD>0 D Q:$L($G(TXT)) $G(TXT) 247 . S STI=$O(^ICD9("ADS",(ICDC_" "),STD,+ICDI," "),-1)248 . S TXT=$$TRIM($P($G(^ICD9(+ICDI,68,+STI,1)),U,1))228 . S STI=$O(^ICD9("ADS",(ICDC_" "),STD,+ICDI," "),-1) 229 . S TXT=$$TRIM($P($G(^ICD9(+ICDI,68,+STI,1)),"^",1)) 249 230 S STD=$O(^ICD9(+ICDI,68,"B",0)) 250 231 I +STD>0 D Q:$L($G(TXT)) $G(TXT) 251 . S STI=$O(^ICD9(+ICDI,68,"B",STD,0))252 . S TXT=$$TRIM($P($G(^ICD9(+ICDI,68,+STI,1)),U,1))232 . S STI=$O(^ICD9(+ICDI,68,"B",STD,0)) 233 . S TXT=$$TRIM($P($G(^ICD9(+ICDI,68,+STI,1)),"^",1)) 253 234 S TXT=$$TRIM($G(^ICD9(+ICDI,1))) Q:$L($G(TXT)) $G(TXT) 254 Q $$TRIM($P(ICD0, U,3))235 Q $$TRIM($P(ICD0,"^",3)) 255 236 VLTP(IEN,VDT) ; Versioned Description - Long Text (Proc) 256 237 N ICD0,ICDC,ICDI,STD,STI,ICDT,TXT 257 238 S ICDI=+($G(IEN)) Q:+ICDI'>0 "" Q:'$D(^ICD0(+ICDI)) "" 258 239 S ICDT=$G(VDT) S:'$L(ICDT)!(+ICDT'>0) ICDT=$$DT^XLFDT Q:$P(ICDT,".",1)'?7N "" 259 S ICD0=$G(^ICD0(+ICDI,0)),ICDC=$P(ICD0, U,1) Q:'$L(ICDC) ""240 S ICD0=$G(^ICD0(+ICDI,0)),ICDC=$P(ICD0,"^",1) Q:'$L(ICDC) "" 260 241 S STD=$O(^ICD0("ADS",(ICDC_" "),(ICDT+.000001)),-1) 261 242 I +STD>0 D Q:$L($G(TXT)) $G(TXT) 262 . S STI=$O(^ICD0("ADS",(ICDC_" "),STD,+ICDI," "),-1)263 . S TXT=$$TRIM($P($G(^ICD0(+ICDI,68,+STI,1)),U,1))243 . S STI=$O(^ICD0("ADS",(ICDC_" "),STD,+ICDI," "),-1) 244 . S TXT=$$TRIM($P($G(^ICD0(+ICDI,68,+STI,1)),"^",1)) 264 245 S STD=$O(^ICD0(+ICDI,68,"B",0)) 265 246 I +STD>0 D Q:$L($G(TXT)) $G(TXT) 266 . S STI=$O(^ICD0(+ICDI,68,"B",STD,0))267 . S TXT=$$TRIM($P($G(^ICD0(+ICDI,68,+STI,1)),U,1))247 . S STI=$O(^ICD0(+ICDI,68,"B",STD,0)) 248 . S TXT=$$TRIM($P($G(^ICD0(+ICDI,68,+STI,1)),"^",1)) 268 249 S TXT=$$TRIM($G(^ICD0(+ICDI,1))) Q:$L($G(TXT)) $G(TXT) 269 Q $$TRIM($P(ICD0, U,4))250 Q $$TRIM($P(ICD0,"^",4)) 270 251 TRIM(X) ; Trim Spaces 271 252 S X=$G(X) Q:X="" X F Q:$E(X,1)'=" " S X=$E(X,2,$L(X))
Note:
See TracChangeset
for help on using the changeset viewer.