| [613] | 1 | LRLNC0 ;DALOI/CA/FHS-MAP LAB TESTS TO LOINC CODES ;1-OCT-1998 | 
|---|
|  | 2 | ;;5.2;LAB SERVICE;**215,232,278,280**;Sep 27,1994 | 
|---|
|  | 3 | ;Reference to ^DD supported by IA # 10154 | 
|---|
|  | 4 | ;================================================================= | 
|---|
|  | 5 | ; Ask VistA test to map-Lookup in Lab Test file #60 | 
|---|
|  | 6 | START ;entry point from option LR LOINC MAPPING | 
|---|
|  | 7 | S LREND=0,LRLNC1=1 D TEST | 
|---|
|  | 8 | I $G(LREND) G EXIT | 
|---|
|  | 9 | I '$G(LRNLT) G START | 
|---|
|  | 10 | ;MAP DEFAULT | 
|---|
|  | 11 | DEFAULT ; | 
|---|
|  | 12 | N LRNLTX | 
|---|
|  | 13 | Q:'$D(^LAM(+$G(LRNLT),0))#2 | 
|---|
|  | 14 | S LRNLTX=LRNLT | 
|---|
|  | 15 | L +^LAM(LRNLTX,9):2 I '$T W !!?5,"Locked by another user",! H 5 Q | 
|---|
|  | 16 | W ! | 
|---|
|  | 17 | K DIR S DIR("B")="No" | 
|---|
|  | 18 | S DIR(0)="Y",DIR("A")="Do you want to edit/delete the Default LOINC code" | 
|---|
|  | 19 | S DIR("?")="Enter yes to map/change the default LOINC code." | 
|---|
|  | 20 | D ^DIR K DIR | 
|---|
|  | 21 | L -^LAM(LRNLTX,9) | 
|---|
|  | 22 | I $D(DIRUT) Q | 
|---|
|  | 23 | I $G(LRDFONLY),$D(DIRUT) Q | 
|---|
|  | 24 | I '$G(LRDFONLY),$D(DIRUT) D EXIT G START | 
|---|
|  | 25 | I Y D  D DEFAULT^LRLNCMD | 
|---|
|  | 26 | . Q:'$G(^LAM(LRNLT,9)) | 
|---|
|  | 27 | . W !!?5,"Deleting LOINC Default Code",! | 
|---|
|  | 28 | . N DA,DR,X,DIE | 
|---|
|  | 29 | . S DIE="^LAM(",DA=+LRNLT,DR="25///^S X=""@""" D ^DIE | 
|---|
|  | 30 | L -^LAM(LRNLTX,9) | 
|---|
|  | 31 | I $G(LRDFONLY) Q | 
|---|
|  | 32 | I '$P($P($G(^LAB(60,LRIEN,0)),U,5),";",2) Q | 
|---|
|  | 33 | ASKSPEC D SPEC | 
|---|
|  | 34 | I $G(LREND) D EXIT G START | 
|---|
|  | 35 | W !! | 
|---|
|  | 36 | S DIR(0)="Y",DIR("A")="Do you want to see possible LOINC code matches" | 
|---|
|  | 37 | S DIR("?")="Enter no if you already know the LOINC code." | 
|---|
|  | 38 | S DIR("B")="No" | 
|---|
|  | 39 | D ^DIR K DIR | 
|---|
|  | 40 | I $D(DIRUT) D EXIT G START | 
|---|
|  | 41 | I 'Y D ENTERLNC^LRLNCC | 
|---|
|  | 42 | I $G(LREND) D EXIT G START | 
|---|
|  | 43 | I '$G(LRCODE) D LOINC | 
|---|
|  | 44 | I $G(LRNO) D EXIT G START | 
|---|
|  | 45 | I $G(LREND) D EXIT G START | 
|---|
|  | 46 | I $G(LRNO) D ENTERLNC^LRLNCC | 
|---|
|  | 47 | I $G(LREND) D EXIT G START | 
|---|
|  | 48 | CORRECT W !! | 
|---|
|  | 49 | S DIR(0)="Y",DIR("A")="Is this the correct one" | 
|---|
|  | 50 | S DIR("B")="Yes" | 
|---|
|  | 51 | S DIR("?")="Enter no to select a different code." | 
|---|
|  | 52 | D ^DIR K DIR | 
|---|
|  | 53 | I $D(DIRUT)!($G(LREND)) D EXIT G START | 
|---|
|  | 54 | I 'Y,$G(LRNO) D ENTERLNC^LRLNCC | 
|---|
|  | 55 | I 'Y,'$G(LRNO) D LOINC | 
|---|
|  | 56 | I $G(LRNO) D EXIT G START | 
|---|
|  | 57 | I $G(LREND) D EXIT G START | 
|---|
|  | 58 | D CHKSPEC | 
|---|
|  | 59 | I $G(LRNO) D EXIT G START | 
|---|
|  | 60 | I $G(LRNEXT) G NEXTSP | 
|---|
|  | 61 | I $G(LREND) D EXIT G START | 
|---|
|  | 62 | D LINK | 
|---|
|  | 63 | I $G(LRNEXT) G NEXTSP | 
|---|
|  | 64 | I $G(LREND) D EXIT G START | 
|---|
|  | 65 | D CHECK | 
|---|
|  | 66 | I $G(LRNEXT) G NEXTSP | 
|---|
|  | 67 | I $G(LREND) D EXIT G START | 
|---|
|  | 68 | D MAP | 
|---|
|  | 69 | NEXTSP D KILL1 | 
|---|
|  | 70 | G ASKSPEC | 
|---|
|  | 71 | KILL1 I $G(LRNLT) L -^LAM(LRNLT,9) | 
|---|
|  | 72 | K DA,DIC,DIE,DINUM,DIR,DIRUT,DR,DTOUT,I,LRLNC,LRLNC0,LRLOINC,LRELEC,LRCODE,LRSPEC,LRSPECL,LRSPECN,LRTIME,LRUNTIS,S,Y | 
|---|
|  | 73 | K DD,D0,DLAYGO,LRLNCNAM,LRNO,LRNOP,LRLNC1,LRNEXT,LRODLCD,X | 
|---|
|  | 74 | Q | 
|---|
|  | 75 | EXIT I $G(LRNLT) L -^LAM(LRNLT,9) | 
|---|
|  | 76 | K DA,DIC,DIE,DINUM,DIR,DIRUT,DR,DTOUT,I,LRCODE,LRDATA,LREND,LRLNC,LRLNC0,LRLOINC,LRELEC,LRIEN,LRNLT | 
|---|
|  | 77 | K LRSPEC,LRSPECL,LRSPECN,LRTIME,LRTEST,LRUNITS,S,Y | 
|---|
|  | 78 | K DD,DO,DLAYGO,LRLNCNAM,LRNO,LRNOP,LRDEF,LRLNC1,LRNEXT,LROLDCD,X | 
|---|
|  | 79 | QUIT | 
|---|
|  | 80 | TEST W @IOF | 
|---|
|  | 81 | K DIR,LRNLT | 
|---|
|  | 82 | S DIR(0)="PO^60:QENMZ,",DIR("A")="VistA Lab Test to "_$S($D(LRDEL):"Delete/Unmap",1:"Link/Map")_" to LOINC " | 
|---|
|  | 83 | S DIR("?")="Select Lab test you wish to "_$S($D(LRDEL):"delete/unmap",1:"link/map")_" to a LOINC Code" | 
|---|
|  | 84 | D ^DIR K DIR | 
|---|
|  | 85 | I $D(DIRUT)!'Y K DIRUT S LREND=1 Q | 
|---|
|  | 86 | S LRIEN=+Y,LRTEST=$P(Y,U,2) | 
|---|
|  | 87 | L +^LAB(60,LRIEN):2 I '$T W !?4,"Another user is editing this entry",! H 5 Q | 
|---|
|  | 88 | ;Check for RESULT NLT CODE and if not one let enter | 
|---|
|  | 89 | S LRNLT=+$P($G(^LAB(60,LRIEN,64)),U,2) | 
|---|
|  | 90 | DIS64 D  Q:$G(LR64DIS) | 
|---|
|  | 91 | . Q:'$G(LRNLT) | 
|---|
|  | 92 | . N LRLNC,LRANS | 
|---|
|  | 93 | . S LRLNC=$P($G(^LAM(LRNLT,9)),U) Q:'LRLNC | 
|---|
|  | 94 | . D GETS^DIQ(64,LRNLT_",",".01;1","E","LRANS") | 
|---|
|  | 95 | . D GETS^DIQ(95.3,LRLNC_",",".01;80","E","LRANS") | 
|---|
|  | 96 | . W !,!?5,$G(LRANS(64,LRNLT_",",.01,"E"))_" "_$G(LRANS(64,LRNLT_",",1,"E")) | 
|---|
|  | 97 | . W !?4,"Default LOINC Already Mapped to:" | 
|---|
|  | 98 | . W !,$G(LRANS(95.3,LRLNC_",",.01,"E"))_"  "_$G(LRANS(95.3,LRLNC_",",80,"E")) | 
|---|
|  | 99 | I '$P($G(^LAB(60,LRIEN,64)),U,2) D | 
|---|
|  | 100 | .W !!,"There is not a RESULT NLT CODE for "_LRTEST,".",! | 
|---|
|  | 101 | .W !,"You must select one now to continue with the mapping of this test!",! | 
|---|
|  | 102 | K DIE,DA,DR S DIE="^LAB(60,",DA=+LRIEN,DR=64.1 D ^DIE K DIE,DA,DR | 
|---|
|  | 103 | L -^LAB(60,LRIEN) | 
|---|
|  | 104 | I $G(X)<1 S LRNLT="" Q | 
|---|
|  | 105 | I $P($G(^LAB(60,+LRIEN,64)),U,2) D | 
|---|
|  | 106 | . N DIC,DA,DR | 
|---|
|  | 107 | . S DIC="^LAB(60,",DA=+LRIEN,DR=64 W !! W ?5,"IEN: [",DA,"] ",$P(^LAB(60,LRIEN,0),U) S S=$Y D EN^DIQ | 
|---|
|  | 108 | W ! | 
|---|
|  | 109 | S LRNLT=$P($G(^LAB(60,LRIEN,64)),U,2) | 
|---|
|  | 110 | I 'LRNLT G TEST | 
|---|
|  | 111 | Q | 
|---|
|  | 112 | SPEC ; Ask Specimen- Lookup in Specimen multiple in Lab Test file #60 | 
|---|
|  | 113 | W !! | 
|---|
|  | 114 | LOOK61 K DIC,DA | 
|---|
|  | 115 | N LRANS | 
|---|
|  | 116 | Q:'$G(LRIEN) | 
|---|
|  | 117 | S DIC=61,DIC(0)="AENMZQ" | 
|---|
|  | 118 | S DIC("A")="Specimen source: " | 
|---|
|  | 119 | D ^DIC | 
|---|
|  | 120 | I $D(DUOUT)!($D(DTOUT))!(Y<1) D  Q | 
|---|
|  | 121 | .K DIC,DA,DTOUT,DUOUT S LREND=1 Q | 
|---|
|  | 122 | Q:$G(LREND) | 
|---|
|  | 123 | S LRSPEC=+Y,LRSPECN=Y(0,0) | 
|---|
|  | 124 | K DA,DIC,DIE,DR | 
|---|
|  | 125 | I '$L($P($G(^LAB(60,LRIEN,0)),U,5)) G OVER | 
|---|
|  | 126 | I '$D(^LAB(60,LRIEN,1)) D | 
|---|
|  | 127 | .S DIC("P")=$P(^DD(60,100,0),"^",2) | 
|---|
|  | 128 | I '$D(^LAB(60,LRIEN,1,LRSPEC)) D  G:$G(LRNOP) LOOK61 | 
|---|
|  | 129 | . N DIR | 
|---|
|  | 130 | . W !," Are you sure you want to add this specimen" | 
|---|
|  | 131 | . S DIR(0)="Y" D ^DIR I Y<1 S LRNOP=1 Q | 
|---|
|  | 132 | . K DD,DO | 
|---|
|  | 133 | . S DA(1)=LRIEN,X=LRSPEC,DINUM=X | 
|---|
|  | 134 | . S DIC="^LAB(60,"_DA(1)_",1," | 
|---|
|  | 135 | . S DIC(0)="LMZ",DLAYGO=60.01 | 
|---|
|  | 136 | . D FILE^DICN S LRANS=Y | 
|---|
|  | 137 | ;A DIE call is made to edit fields in subfile | 
|---|
|  | 138 | I $P($G(LRANS),U,3) D | 
|---|
|  | 139 | .S DIE=DIC K DIC | 
|---|
|  | 140 | .S DA=+Y | 
|---|
|  | 141 | .S DR="1:9.3" | 
|---|
|  | 142 | .D ^DIE | 
|---|
|  | 143 | K DIE,DR,DA | 
|---|
|  | 144 | OVER ;Check to see if linked to file 64.061.  If not, then let enter link. | 
|---|
|  | 145 | I '$P($G(^LAB(61,LRSPEC,0)),U,9) D | 
|---|
|  | 146 | .W !!,"There is not a LEDI HL7 code for "_LRSPECN,"." | 
|---|
|  | 147 | .W !,"You must select one now to continue with the mapping of this test and specimen!",! | 
|---|
|  | 148 | I '$P($G(^LAB(61,LRSPEC,0)),U,10) D  G:$G(LRNOP) LOOK61 | 
|---|
|  | 149 | .W !!,"There is not a TIME ASPECT for "_LRSPECN,".",! | 
|---|
|  | 150 | .K DIE,DR,DA S DA=LRSPEC,DIE="^LAB(61,",DR=".09:.0961" | 
|---|
|  | 151 | .D ^DIE | 
|---|
|  | 152 | .S:$D(DIRUT) LRNOP=1 | 
|---|
|  | 153 | S LRELEC=$P($G(^LAB(61,LRSPEC,0)),U,9) | 
|---|
|  | 154 | I 'LRELEC G SPEC | 
|---|
|  | 155 | S LRSPECL=$P(^LAB(64.061,LRELEC,0),U,2) | 
|---|
|  | 156 | Q | 
|---|
|  | 157 | LOINC ;Lookup possible LOINC matches in LAB LOINC file #95.3 | 
|---|
|  | 158 | D FIND^DIC(95.3,"","80","M",LRTEST,"","","I $P(^(0),U,8)=$G(LRELEC)!(LRELEC=74!(LRELEC=83)!(LRELEC=114)!(LRELEC=1376)&(""SER PLAS BLD""[$P(^(80),"":"",4)))","","LRLOINC","") | 
|---|
|  | 159 | CODE ;ask which code to map | 
|---|
|  | 160 | D CODE^LRLNCC | 
|---|
|  | 161 | Q | 
|---|
|  | 162 | LINK ;Link the code with file 64 | 
|---|
|  | 163 | S LRDATA=$P(^LAB(60,LRIEN,0),U,12) ;DATA NAME | 
|---|
|  | 164 | I '$L(LRDATA) S LRDATA=$P($G(^LAB(60,+$G(LRIEN),0)),U,4) ;Set to subscript of test. | 
|---|
|  | 165 | S LRTIME=$P(^LAB(95.3,LRCODE,0),U,7) ;TIME ASPECT | 
|---|
|  | 166 | S LRUNITS=$P(^LAB(95.3,LRCODE,0),U,14) ;UNITS | 
|---|
|  | 167 | S LRNLT=+$P(^LAM(LRNLT,0),U,2) | 
|---|
|  | 168 | LR64 ; | 
|---|
|  | 169 | K DIC,DA | 
|---|
|  | 170 | W !! | 
|---|
|  | 171 | S DIC=64,DIC(0)="ENMZ",X=LRNLT | 
|---|
|  | 172 | D ^DIC | 
|---|
|  | 173 | I Y<1 D EXIT S LREND=1 Q | 
|---|
|  | 174 | I $D(DTOUT)!($D(DUOUT)) K DTOUT,DUOUT D EXIT S LREND=1 Q | 
|---|
|  | 175 | I 'Y S LRNEXT=1 Q | 
|---|
|  | 176 | S LRNLT=+Y | 
|---|
|  | 177 | Q | 
|---|
|  | 178 | CHECK ;Check to see if already mapped to a LOINC code | 
|---|
|  | 179 | I $D(^LAM(LRNLT,5,LRSPEC,1,"B",LRTIME)) D SHOWPRE I $D(DIRUT) D EXIT S LREND=1 Q | 
|---|
|  | 180 | I Y<1 S LRNEXT=1 | 
|---|
|  | 181 | Q | 
|---|
|  | 182 | MAP ;DIE call to add data name,time aspect,units, LOINC code, and lab test fields | 
|---|
|  | 183 | L +^LAM(LRNLT,5):1 I '$T W !,"Another user is editing this record" H 5 Q | 
|---|
|  | 184 | I '$D(^LAM(LRNLT,5,0)) D | 
|---|
|  | 185 | .S DIC("P")=$P(^DD(64,20,0),"^",2) | 
|---|
|  | 186 | I '$D(^LAM(LRNLT,5,LRSPEC)) D | 
|---|
|  | 187 | .K DD,DO | 
|---|
|  | 188 | .S DA(1)=LRNLT,DA=LRSPEC | 
|---|
|  | 189 | .S DIC="^LAM("_DA(1)_",5,",DIC(0)="L",DLAYGO=64,X=LRSPEC,DINUM=X | 
|---|
|  | 190 | .D FILE^DICN | 
|---|
|  | 191 | I '$D(^LAM(LRNLT,5,LRSPEC,1,0)) D | 
|---|
|  | 192 | .S DIC("P")=$P(^DD(64.01,30,0),"^",2) | 
|---|
|  | 193 | S DA(2)=LRNLT,DA(1)=LRSPEC,X=LRTIME,DINUM=X | 
|---|
|  | 194 | S DIC="^LAM("_DA(2)_",5,"_DA(1)_",1," | 
|---|
|  | 195 | I '$D(^LAM(LRNLT,5,LRSPEC,1,LRTIME)) D | 
|---|
|  | 196 | .K DD,DO | 
|---|
|  | 197 | .S DIC(0)="L",DLAYGO=64 | 
|---|
|  | 198 | .D FILE^DICN | 
|---|
|  | 199 | S DA=LRTIME | 
|---|
|  | 200 | K DIE,DR S DIE=DIC K DIC | 
|---|
|  | 201 | S DR="1////"_LRUNITS_";2////"_LRDATA_";3////"_LRIEN_";4////"_LRCODE | 
|---|
|  | 202 | D ^DIE | 
|---|
|  | 203 | L -^LAM(LRNLT,5) | 
|---|
|  | 204 | ;HERE SHOW WHAT WAS MAPPED | 
|---|
|  | 205 | W @IOF | 
|---|
|  | 206 | W !! | 
|---|
|  | 207 | W !,"NLT: ",$P($G(^LAM(LRNLT,0)),U) | 
|---|
|  | 208 | W !,"WKLD CODE: ",$P($G(^LAM(LRNLT,0)),U,2) | 
|---|
|  | 209 | W !,"SPECIMEN: ",$P($G(^LAB(61,LRSPEC,0)),U) | 
|---|
|  | 210 | K DIC,DR | 
|---|
|  | 211 | S DIC=DIE | 
|---|
|  | 212 | S S=$Y | 
|---|
|  | 213 | D EN^DIQ | 
|---|
|  | 214 | INDEX60 ;Stores LOINC code in Laboratory Test file (#60) so know what tests are mapped. | 
|---|
|  | 215 | Q:'$L($P($G(^LAB(60,LRIEN,0)),U,5))  ;set only atomic tests | 
|---|
|  | 216 | N LRDA,LRFDA,LRERR | 
|---|
|  | 217 | I '$G(^LAB(60,LRIEN,1,LRSPEC,0)) D | 
|---|
|  | 218 | . K LRFDA,LRDA | 
|---|
|  | 219 | . S LRFDA(1,60.01,"+1,"_LRIEN_",",.01)=LRSPEC | 
|---|
|  | 220 | . S LRDA(1)=LRSPEC | 
|---|
|  | 221 | . D UPDATE^DIE("","LRFDA(1)","LRDA","LRERR") | 
|---|
|  | 222 | Q:$D(LRERR) | 
|---|
|  | 223 | K LRFDA | 
|---|
|  | 224 | S LRFDA(2,60.01,LRSPEC_","_LRIEN_",",95.3)=LRCODE | 
|---|
|  | 225 | D FILE^DIE("","LRFDA(2)","LRERR") | 
|---|
|  | 226 | Q | 
|---|
|  | 227 | SHOWPRE ;DISPLAY LOINC CODE ALREADY MAPPED TO NLT | 
|---|
|  | 228 | S LRLNC=$P($G(^LAM(LRNLT,5,LRSPEC,1,LRTIME,1)),U) | 
|---|
|  | 229 | W !!,"This test and specimen is already mapped to:" | 
|---|
|  | 230 | W !,"LOINC code: ",LRLNC,"  ",$G(^LAB(95.3,+LRLNC,80)) | 
|---|
|  | 231 | W ! | 
|---|
|  | 232 | K DIR S DIR("B")="No" | 
|---|
|  | 233 | S DIR(0)="Y",DIR("A")="Do you want to change this mapping" | 
|---|
|  | 234 | S DIR("?")="If you enter yes, the current LOINC code will be overwritten with the LOINC code that you have chosen." | 
|---|
|  | 235 | D ^DIR K DIR | 
|---|
|  | 236 | Q | 
|---|
|  | 237 | CHKSPEC ;Check that specimen of LOINC code same as specimen of test | 
|---|
|  | 238 | I LRLNC0(8)=$G(LRELEC) Q | 
|---|
|  | 239 | I (LRLNC0(8)=74!(LRLNC0(8)=83)!(LRLNC0(8)=114)!(LRLNC0(8)=1376))&($G(LRELEC)=74!($G(LRELEC)=83)!($G(LRELEC)=114)!($G(LRELEC)=1376)) Q | 
|---|
|  | 240 | W !!,"The LOINC code that you have selected does not have the" | 
|---|
|  | 241 | W !,"same specimen that you chose to map." | 
|---|
|  | 242 | S DIR(0)="Y",DIR("A")="Are you sure you want to do this" | 
|---|
|  | 243 | S DIR("?")="If you enter yes, the test will be mapped to this LOINC code." | 
|---|
|  | 244 | S DIR("B")="Yes" | 
|---|
|  | 245 | D ^DIR K DIR | 
|---|
|  | 246 | I $D(DIRUT) S LREND=1 Q | 
|---|
|  | 247 | I Y<1 S LRNO=1 | 
|---|
|  | 248 | Q | 
|---|
|  | 249 | 6206 ;LOINC mapping ANTIMICROBIAL [^LAB(62.060)] | 
|---|
|  | 250 | W !! | 
|---|
|  | 251 | D EXITMI | 
|---|
|  | 252 | S (LRDEL,LRDFONLY)=1 | 
|---|
|  | 253 | S DIR(0)="PO^62.06:QENMZ",DIR("A")="Select Antimicrobial " | 
|---|
|  | 254 | S DIR("?")="Select Antimicrobial Susceptibility Drug" | 
|---|
|  | 255 | D ^DIR K DIR | 
|---|
|  | 256 | I $D(DIRUT)!(Y<1) K DIRUT D EXITMI Q | 
|---|
|  | 257 | S LRIEN=Y,LRTEST=$P(Y(0),U,2) | 
|---|
|  | 258 | L +^LAB(62.06,LRIEN):2 I '$T W !?4,"Being edited by another user" H 5 G 6206 | 
|---|
|  | 259 | ;Display Mapped code | 
|---|
|  | 260 | S (LRNLTX,LRNLT)=+$P($G(^LAB(62.06,+LRIEN,64)),U) | 
|---|
|  | 261 | I LRNLT D | 
|---|
|  | 262 | . N LR64DIS | 
|---|
|  | 263 | . S LR64DIS=1 D DIS64 | 
|---|
|  | 264 | D | 
|---|
|  | 265 | . N DIE,DA,DR | 
|---|
|  | 266 | . S DIE="^LAB(62.06,",DIC=DIE,DA=+LRIEN,DR=64 D ^DIE | 
|---|
|  | 267 | L -^LAB(62.06,LRIEN) | 
|---|
|  | 268 | I '$G(^LAB(62.06,+LRIEN,64))!($D(DTOUT))!($D(DUOUT)) G 6206 | 
|---|
|  | 269 | S LRDATA="LAB(62.06,"_+LRIEN_",",LRIEN=+LRIEN | 
|---|
|  | 270 | S LRNLT=$P($G(^LAB(62.06,+LRIEN,64)),U) | 
|---|
|  | 271 | I LRNLT S LRTEST=$$GET1^DIQ(64,LRNLT_",",.01,"ERR","ANS") | 
|---|
|  | 272 | I LRNLT W ! D DEFAULT | 
|---|
|  | 273 | G 6206 | 
|---|
|  | 274 | Q | 
|---|
|  | 275 | EXITMI ;Clean up 6206 variables. | 
|---|
|  | 276 | K ANS,DA,DIC,DIE,DIR,DIRUT,DR,DTOUT,DUOUT,ERR,LRANS,LRDATA,LRDEF,LRDFONLY,LRNLT,LRNLTX,LRIEN,LRTEST | 
|---|
|  | 277 | K LRDEL,LRDFONLY,X,Y | 
|---|
|  | 278 | Q | 
|---|