| [623] | 1 | LA7VIN5A ;DALOI/JMC - Process Incoming UI Msgs, continued ; Jan 12, 2004
 | 
|---|
 | 2 |  ;;5.2;AUTOMATED LAB INSTRUMENTS;**46,64,67,72**;Sep 27, 1994
 | 
|---|
 | 3 |  ; This routine is a continuation of LA7VIN5.
 | 
|---|
 | 4 |  ; It is performs processing of fields in OBX segments.
 | 
|---|
 | 5 |  Q
 | 
|---|
 | 6 |  ;
 | 
|---|
 | 7 | XFORM ; Transform the result based on fields 12,13,14,16,17 in the Chem Test
 | 
|---|
 | 8 |  ; multiple in the Auto Instrument file (62.4), or set on the fly
 | 
|---|
 | 9 |  ; from PARAM 1
 | 
|---|
 | 10 |  N LA7I
 | 
|---|
 | 11 |  S LA7XFORM=LA76241(2)
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  ; get PARAM 1 overides
 | 
|---|
 | 14 |  I $D(LA7XFORM(1)),LA7XFORM(1)?1.N S $P(LA7XFORM,"^")=LA7XFORM(1)
 | 
|---|
 | 15 |  F LA7I=2,3,5,6 I $D(LA7XFORM(LA7I)) S $P(LA7XFORM,"^",LA7I)=LA7XFORM(LA7I)
 | 
|---|
 | 16 |  ; set up defaults if field was not answered
 | 
|---|
 | 17 |  ; accept results,yes
 | 
|---|
 | 18 |  I $P(LA7XFORM,"^",3)="" S $P(LA7XFORM,"^",3)=1
 | 
|---|
 | 19 |  ; strip spaces,no
 | 
|---|
 | 20 |  I $P(LA7XFORM,"^",6)="" S $P(LA7XFORM,"^",6)=0
 | 
|---|
 | 21 |  ; now transform
 | 
|---|
 | 22 |  ;
 | 
|---|
 | 23 |  ; Don't accept results
 | 
|---|
 | 24 |  I '$P(LA7XFORM,"^",3) S LA7VAL="" Q
 | 
|---|
 | 25 |  ;
 | 
|---|
 | 26 |  ; Only accept "FINAL" type results
 | 
|---|
 | 27 |  I $P(LA7XFORM,"^",3)=2,"CFUX"'[LA7ORS S LA7VAL="" Q
 | 
|---|
 | 28 |  ;
 | 
|---|
 | 29 |  ; Accept ordered tests only
 | 
|---|
 | 30 |  ; If LEDI interface (10) and message indicates a reflex ("G") or add-on
 | 
|---|
 | 31 |  ; test ("A") then process anyway in case it has not been added to
 | 
|---|
 | 32 |  ; accession.
 | 
|---|
 | 33 |  I $P(LA7XFORM,"^",5) D
 | 
|---|
 | 34 |  . I LA7INTYP=10,LA7SAC?1(1"A",1"G") Q
 | 
|---|
 | 35 |  . S LA7LIMIT=1
 | 
|---|
 | 36 |  ;
 | 
|---|
 | 37 |  ; Decimal places if number of places defined
 | 
|---|
 | 38 |  I $P(LA7XFORM,"^")?1.N D JUSTDEC
 | 
|---|
 | 39 |  ;
 | 
|---|
 | 40 |  ; Strip spaces
 | 
|---|
 | 41 |  I $P(LA7XFORM,"^",6) S LA7VAL=$TR(LA7VAL," ","")
 | 
|---|
 | 42 |  ;
 | 
|---|
 | 43 |  ; Make result a comment
 | 
|---|
 | 44 |  ; Set value to null after making into remark, don't store twice.
 | 
|---|
 | 45 |  I $P(LA7XFORM,"^",2) D
 | 
|---|
 | 46 |  . N LA7Y
 | 
|---|
 | 47 |  . ; Store comment in ^LAH global
 | 
|---|
 | 48 |  . S LA7Y=$P(LA7RMK(0,+LA76241(0)),"^",2)
 | 
|---|
 | 49 |  . D RMKSET^LASET(LA7LWL,LA7ISQN,LA7VAL,LA7Y)
 | 
|---|
 | 50 |  . S LA7VAL=""
 | 
|---|
 | 51 |  Q
 | 
|---|
 | 52 |  ;
 | 
|---|
 | 53 |  ;
 | 
|---|
 | 54 | CHKDIE ; Check if value to be stored passes input transform of field in DD
 | 
|---|
 | 55 |  N LA7ERR,LA7Y
 | 
|---|
 | 56 |  ;
 | 
|---|
 | 57 |  ; If result is on a LEDI interface (type=10) then don't check result
 | 
|---|
 | 58 |  ; against FileMan input tranform.
 | 
|---|
 | 59 |  ; VistA sends "canc" as test result when test is cancelled.
 | 
|---|
 | 60 |  ; DoD sends "PL Canceled" --> change to "canc" for VistA storage.
 | 
|---|
 | 61 |  I LA7INTYP=10 D  Q
 | 
|---|
 | 62 |  . I LA7VAL="PL Cancelled" S LA7VAL="canc"
 | 
|---|
 | 63 |  . I LA7VAL="PL Canceled" S LA7VAL="canc"
 | 
|---|
 | 64 |  . I LA7VAL="PLCanceled" S LA7VAL="canc"
 | 
|---|
 | 65 |  ;
 | 
|---|
 | 66 |  ; If value fails data checker then log error and suppress result.
 | 
|---|
 | 67 |  D CHK^DIE(LA7SUBFL,LA76304,"H",LA7VAL,.LA7Y,"LA7ERR")
 | 
|---|
 | 68 |  I LA7Y="^" D
 | 
|---|
 | 69 |  . N LA7X
 | 
|---|
 | 70 |  . S LA7X=$G(LA7ERR("DIERR",1,"TEXT",1))
 | 
|---|
 | 71 |  . D CREATE^LA7LOG(37)
 | 
|---|
 | 72 |  . S LA7VAL=""
 | 
|---|
 | 73 |  Q
 | 
|---|
 | 74 |  ;
 | 
|---|
 | 75 |  ;
 | 
|---|
 | 76 | JUSTDEC ; Justify to number of places specified
 | 
|---|
 | 77 |  ;
 | 
|---|
 | 78 |  N LA7DDTYP,LA7FMT,LA7I,LA7PRFIX,LA7X
 | 
|---|
 | 79 |  ;
 | 
|---|
 | 80 |  ; If LEDI interface (type=10) then skip decimal adjustment
 | 
|---|
 | 81 |  I LA7INTYP=10 Q
 | 
|---|
 | 82 |  ;
 | 
|---|
 | 83 |  ; Get data name field type from DD
 | 
|---|
 | 84 |  ; Only justify if Vista field is numeric or free text.
 | 
|---|
 | 85 |  S LA7DDTYP=$$GET1^DID(LA7SUBFL,LA76304,"","TYPE")
 | 
|---|
 | 86 |  I "NUMERIC^FREE TEXT"'[LA7DDTYP D  Q
 | 
|---|
 | 87 |  . N LA7FLDNM
 | 
|---|
 | 88 |  . S LA7FLDNM=$$GET1^DID(63.04,LA76304,"","LABEL")
 | 
|---|
 | 89 |  . D CREATE^LA7LOG(38)
 | 
|---|
 | 90 |  ;
 | 
|---|
 | 91 |  S LA7X=LA7VAL,(LA7FMT,LA7PRFIX)=""
 | 
|---|
 | 92 |  ;
 | 
|---|
 | 93 |  ; If comma formatted, strip comma and set flag to add back in.
 | 
|---|
 | 94 |  S LA7X=$TR(LA7X,",","")
 | 
|---|
 | 95 |  I LA7X'=LA7VAL S LA7FMT="P"
 | 
|---|
 | 96 |  ;
 | 
|---|
 | 97 |  ; If "<>=" formatted, strip and save to add back in.
 | 
|---|
 | 98 |  F LA7I=1:1:$L(LA7X) Q:$E(LA7X,LA7I)'?1(1"<",1">",1"=")
 | 
|---|
 | 99 |  I LA7I>1 D
 | 
|---|
 | 100 |  . S LA7PRFIX=$E(LA7X,1,LA7I-1)
 | 
|---|
 | 101 |  . S LA7X=$E(LA7X,LA7I,$L(LA7X))
 | 
|---|
 | 102 |  ;
 | 
|---|
 | 103 |  ; Format if starts with number or decimal point, skip other results.
 | 
|---|
 | 104 |  I LA7X?1(1.N,.N1"."1.N) D
 | 
|---|
 | 105 |  . S LA7X=$FN(LA7X,LA7FMT,+LA7XFORM)
 | 
|---|
 | 106 |  . S LA7VAL=LA7PRFIX_LA7X
 | 
|---|
 | 107 |  Q
 | 
|---|
 | 108 |  ;
 | 
|---|
 | 109 |  ;
 | 
|---|
 | 110 | PRDID(LA7PRDID,LA7SFAC,LA7CS) ; Process/Store Producer's ID
 | 
|---|
 | 111 |  ; Store where test was performed.
 | 
|---|
 | 112 |  ; Call with LA7PRDID = Producer's ID field
 | 
|---|
 | 113 |  ;            LA7SFAC = sending facility
 | 
|---|
 | 114 |  ;              LA7CS = component encoding character
 | 
|---|
 | 115 |  ;
 | 
|---|
 | 116 |  N LA74,LA7I,LA7X,LA7Y
 | 
|---|
 | 117 |  ;
 | 
|---|
 | 118 |  S LA7X=$P(LA7PRDID,LA7CS,2),LA74=""
 | 
|---|
 | 119 |  ;
 | 
|---|
 | 120 |  F LA7I=1,4 D  Q:LA74
 | 
|---|
 | 121 |  . I $P(LA7PRDID,LA7CS,LA7I+2)="99VA4" S LA74=$$LKUP^XUAF4($P(LA7PRDID,LA7CS,LA7I))
 | 
|---|
 | 122 |  . I 'LA74 S LA74=$$LKUP^XUAF4($P(LA7PRDID,LA7CS,LA7I+1))
 | 
|---|
 | 123 |  . I 'LA74 S LA74=$$FINDSITE^LA7VHLU2($P(LA7PRDID,LA7CS),1,1)
 | 
|---|
 | 124 |  . I 'LA74 S LA74=$$FINDSITE^LA7VHLU2($P(LA7SFAC,LA7CS),1,1)
 | 
|---|
 | 125 |  ;
 | 
|---|
 | 126 |  ; Store producer's id in LAH global with results.
 | 
|---|
 | 127 |  I LA74 S $P(^LAH(LA7LWL,1,LA7ISQN,LA76304),"^",9)=LA74 Q
 | 
|---|
 | 128 |  ;
 | 
|---|
 | 129 |  ; Don't store producer's id as comment.
 | 
|---|
 | 130 |  I '$P(LA76241(2),"^",9) Q
 | 
|---|
 | 131 |  ; If unable to identify producer in file #4
 | 
|---|
 | 132 |  ;  then store as comment if field STORE PRODUCER'S ID (#20) enabled.
 | 
|---|
 | 133 |  I LA7X="" Q
 | 
|---|
 | 134 |  S LA7Y=$P(LA7RMK(0,+LA76241(0)),"^",2)
 | 
|---|
 | 135 |  S LA7X=$S(LA7Y="":"P",1:"p")_"erformed by "_LA7X
 | 
|---|
 | 136 |  D RMKSET^LASET(LA7LWL,LA7ISQN,LA7X,LA7Y)
 | 
|---|
 | 137 |  ;
 | 
|---|
 | 138 |  Q
 | 
|---|
 | 139 |  ;
 | 
|---|
 | 140 |  ;
 | 
|---|
 | 141 | REFRNG(LA7X) ; Process/Store References Range.
 | 
|---|
 | 142 |  ; Call with LA7X = reference range to store.
 | 
|---|
 | 143 |  ;
 | 
|---|
 | 144 |  N LA7Y,X,Y
 | 
|---|
 | 145 |  ;
 | 
|---|
 | 146 |  ; Check if site does not want to store reference ranges on POC test.
 | 
|---|
 | 147 |  I LA7INTYP>19,LA7INTYP<30,+$P(LA76241(2),"^",10)=0 Q
 | 
|---|
 | 148 |  ;
 | 
|---|
 | 149 |  ; Remove leading and trailing quotes from reference range.
 | 
|---|
 | 150 |  S LA7X=$$TRIM^XLFSTR($G(LA7X),"RL","""")
 | 
|---|
 | 151 |  I LA7X="" Q
 | 
|---|
 | 152 |  ;
 | 
|---|
 | 153 |  S X=$P($G(^LAH(LA7LWL,1,LA7ISQN,LA76304)),"^",5)
 | 
|---|
 | 154 |  ;
 | 
|---|
 | 155 |  ; >lower limit (no upper limit e.g. >10) - store as low value
 | 
|---|
 | 156 |  I LA7X?1">".N.1".".N S $P(X,"!",2)=$TR(LA7X,">",""),LA7X=""
 | 
|---|
 | 157 |  ;
 | 
|---|
 | 158 |  ; <upper limit (no lower limit e.g. <15) - store as high value
 | 
|---|
 | 159 |  I LA7X?1"<".N.1".".N S $P(X,"!",3)=$TR(LA7X,"<",""),LA7X=""
 | 
|---|
 | 160 |  ;
 | 
|---|
 | 161 |  ; Alphabetic reference with hyphen
 | 
|---|
 | 162 |  I LA7X?1.A1"-"1.A S $P(X,"!",2)=$C(34)_LA7X_$C(34),LA7X=""
 | 
|---|
 | 163 |  ;
 | 
|---|
 | 164 |  ; Lower limit value
 | 
|---|
 | 165 |  S Y=$P(LA7X,"-")
 | 
|---|
 | 166 |  I Y'="" D
 | 
|---|
 | 167 |  . I Y?.N.1".".N S $P(X,"!",2)=Y
 | 
|---|
 | 168 |  . E  S $P(X,"!",2)=$C(34)_$$UNESC^LA7VHLU3(Y,LA7FS_LA7ECH)_$C(34)
 | 
|---|
 | 169 |  ;
 | 
|---|
 | 170 |  ; Upper limit value
 | 
|---|
 | 171 |  S Y=$P(LA7X,"-",2)
 | 
|---|
 | 172 |  I Y'="" D
 | 
|---|
 | 173 |  . I Y?.N.1".".N S $P(X,"!",3)=Y
 | 
|---|
 | 174 |  . E  S $P(X,"!",3)=$C(34)_$$UNESC^LA7VHLU3(Y,LA7FS_LA7ECH)_$C(34)
 | 
|---|
 | 175 |  ;
 | 
|---|
 | 176 |  ; Store reference range in LAH global with results.
 | 
|---|
 | 177 |  S $P(^LAH(LA7LWL,1,LA7ISQN,LA76304),"^",5)=X
 | 
|---|
 | 178 |  ;
 | 
|---|
 | 179 |  Q
 | 
|---|
 | 180 |  ;
 | 
|---|
 | 181 |  ;
 | 
|---|
 | 182 | ABFLAG(LA7X) ; Process/Store Abnormal Flags.
 | 
|---|
 | 183 |  ; Call with LA7X = abnormal flags to store.
 | 
|---|
 | 184 |  ; Converts flag to interpretation based on HL7 Table 0078.
 | 
|---|
 | 185 |  ; If no match store code instead of interpretation
 | 
|---|
 | 186 |  ;
 | 
|---|
 | 187 |  N I,LA7I,LA7Y,X
 | 
|---|
 | 188 |  ;
 | 
|---|
 | 189 |  ; Store abnormal flags in LAH global with results.
 | 
|---|
 | 190 |  ; Currently only storing high/low and critical flags
 | 
|---|
 | 191 |  S LA7Y=$S(LA7X="L":"L",LA7X="H":"H",LA7X="LL":"L*",LA7X="HH":"H*",1:"")
 | 
|---|
 | 192 |  S $P(^LAH(LA7LWL,1,LA7ISQN,LA76304),"^",2)=LA7Y
 | 
|---|
 | 193 |  ;
 | 
|---|
 | 194 |  ; Critical or designated abnormal tests generate bulletin/alert
 | 
|---|
 | 195 |  ; on LEDI (type=10) interfaces.
 | 
|---|
 | 196 |  I LA7INTYP=10,LA7Y'="" D
 | 
|---|
 | 197 |  . I $E(LA7Y,2)'="*",'$P(LA76241(2),"^",11) Q
 | 
|---|
 | 198 |  . S LA7I=$O(^TMP("LA7 ABNORMAL RESULTS",$J,""),-1),LA7I=LA7I+1
 | 
|---|
 | 199 |  . S X=LA7LWL_"^"_LA7ISQN_"^"_LA76304_"^"_LA76248_"^"_LA76249_"^"_LA7ORS_"^"_LA7TEST_"^"_$S(LA7TEST(0)'="":LA7TEST(0),1:LA7TEST(2,0))_"^"_$$P^LA7VHLU(.LA7SEG,9,LA7FS)
 | 
|---|
 | 200 |  . S ^TMP("LA7 ABNORMAL RESULTS",$J,LA7I)=X
 | 
|---|
 | 201 |  ;
 | 
|---|
 | 202 |  ; If POC interface and abnormal flag is not handled by VistA above
 | 
|---|
 | 203 |  ;  then store as comment.
 | 
|---|
 | 204 |  I LA7INTYP>19,LA7INTYP<30,LA7Y="",LA7X'="" D
 | 
|---|
 | 205 |  . S X=" L^ H^LL^HH^ <^ >^ N^ A^AA^ U^ D^ B^ W^ S^ R^ I^MS^VS"
 | 
|---|
 | 206 |  . S I=$F(X,LA7X)\3
 | 
|---|
 | 207 |  . S LA7Y="normalcy status - "_$P($T(ABFLAGS+I^LA7VHLU1),";;",2)
 | 
|---|
 | 208 |  . D RMKSET^LASET(LA7LWL,LA7ISQN,LA7Y,$P(LA7RMK(0,+LA76241(0)),"^",2))
 | 
|---|
 | 209 |  ;
 | 
|---|
 | 210 |  Q
 | 
|---|
 | 211 |  ;
 | 
|---|
 | 212 |  ;
 | 
|---|
 | 213 | EII ; Store equipment instance identifier in LAH global with results.
 | 
|---|
 | 214 |  ;
 | 
|---|
 | 215 |  N I,LA7X,X
 | 
|---|
 | 216 |  ;
 | 
|---|
 | 217 |  S LA7X=""
 | 
|---|
 | 218 |  F I=1:1:4 D
 | 
|---|
 | 219 |  . S X=$P(LA7EII,LA7CS,I)
 | 
|---|
 | 220 |  . I X="" Q
 | 
|---|
 | 221 |  . S $P(LA7X,"!",I)=$TR(X,"!","~")
 | 
|---|
 | 222 |  I LA7X'="" S $P(^LAH(LA7LWL,1,LA7ISQN,LA76304),"^",11)=LA7X
 | 
|---|
 | 223 |  Q
 | 
|---|
 | 224 |  ;
 | 
|---|
 | 225 |  ;
 | 
|---|
 | 226 | ORESULTS ; Process results that accompany order (ORM) messages
 | 
|---|
 | 227 |  ;
 | 
|---|
 | 228 |  N I,LA764,LA7DIE,LA7ERR,LA7I,LA7WP,LA7X,LA7Y,X
 | 
|---|
 | 229 |  S LA7WP(1,0)=" ",LA7I=2,X=""
 | 
|---|
 | 230 |  I LA7RLNC S X="[LOINC "_$$GET1^DIQ(95.3,LA7RLNC_",",.01)_"] "_$$GET1^DIQ(95.3,LA7RLNC_",",80)
 | 
|---|
 | 231 |  I 'LA7RLNC,LA7RNLT D
 | 
|---|
 | 232 |  . S LA764=$$FIND1^DIC(64,"","X",LA7RNLT,"E","","LA7ERR")
 | 
|---|
 | 233 |  . I 'LA764 S LA7RNLT="" Q
 | 
|---|
 | 234 |  . S X="[NLT "_$$GET1^DIQ(64,LA764_",",1)_"] "_$$GET1^DIQ(64,LA764_",",.01,"I")
 | 
|---|
 | 235 |  I 'LA7RLNC,'LA7RNLT D
 | 
|---|
 | 236 |  . I LA7TEST(0)]""!(LA7TEST]"") S X="["_LA7TEST(0,1)_" "_LA7TEST_"] "_LA7TEST(0) Q
 | 
|---|
 | 237 |  . S X="["_LA7TEST(2,1)_" "_LA7TEST(2)_"] "_LA7TEST(2,0)
 | 
|---|
 | 238 |  S LA7WP(LA7I,0)="Test result: "_X
 | 
|---|
 | 239 |  ; Date value
 | 
|---|
 | 240 |  I LA7VTYP="DT" D
 | 
|---|
 | 241 |  . S LA7X=$$P^LA7VHLU(.LA7SEG,6,LA7FS)
 | 
|---|
 | 242 |  . S LA7X=$$HL7TFM^XLFDT(LA7X,"L")
 | 
|---|
 | 243 |  . S LA7I=LA7I+1,LA7WP(LA7I,0)=" Test value: "_LA7X
 | 
|---|
 | 244 |  ; Coded entry
 | 
|---|
 | 245 |  I "CECM"[LA7VTYP D
 | 
|---|
 | 246 |  . S LA7X=$P($$P^LA7VHLU(.LA7SEG,6,LA7FS),LA7CS,2)
 | 
|---|
 | 247 |  . S LA7X=$$UNESC^LA7VHLU3(LA7X,LA7FS_LA7ECH)
 | 
|---|
 | 248 |  . S LA7I=LA7I+1,LA7WP(LA7I,0)=" Test value: "_LA7X_$S(LA7UNITS]"":" "_LA7UNITS,1:"")
 | 
|---|
 | 249 |  ; Numeric/ Structured Numeric value
 | 
|---|
 | 250 |  I "NMSN"[LA7VTYP D
 | 
|---|
 | 251 |  . S LA7X=$$P^LA7VHLU(.LA7SEG,6,LA7FS)
 | 
|---|
 | 252 |  . S LA7X=$$UNESC^LA7VHLU3(LA7X,LA7FS_LA7ECH)
 | 
|---|
 | 253 |  . S LA7I=LA7I+1,LA7WP(LA7I,0)=" Test value: "_LA7X_$S(LA7UNITS]"":" "_LA7UNITS,1:"")
 | 
|---|
 | 254 |  ; String Data/ Formatted Text/ Text Data
 | 
|---|
 | 255 |  I "FTSTX"[LA7VTYP D
 | 
|---|
 | 256 |  . D PA^LA7VHLU(.LA7SEG,6,LA7FS,.LA7X)
 | 
|---|
 | 257 |  . D UNESCFT^LA7VHLU3(.LA7X,LA7FS_LA7ECH,.LA7Y)
 | 
|---|
 | 258 |  . I LA7Y=1,(($L(LA7Y(1,0))+$L(LA7UNITS))<225) S LA7I=LA7I+1,LA7WP(LA7I,0)=" Test value: "_LA7Y(1,0)_$S(LA7UNITS]"":" "_LA7UNITS,1:"") Q
 | 
|---|
 | 259 |  . S LA7I=LA7I+1,LA7WP(LA7I,0)=" Test value:"
 | 
|---|
 | 260 |  . F I=1:1:LA7Y S LA7I=LA7I+1,LA7WP(LA7I,0)=LA7Y(I,0)
 | 
|---|
 | 261 |  . I LA7UNITS'="" S LA7I=LA7I+1,LA7WP(LA7I,0)=" Test units: "_LA7UNITS
 | 
|---|
 | 262 |  ; Normals/ Reference range
 | 
|---|
 | 263 |  S LA7X=$$P^LA7VHLU(.LA7SEG,8,LA7FS)
 | 
|---|
 | 264 |  I LA7X'="" S LA7I=LA7I+1,LA7WP(LA7I,0)=" Test normals: "_LA7X
 | 
|---|
 | 265 |  ; Normalcy status
 | 
|---|
 | 266 |  S LA7X=$$P^LA7VHLU(.LA7SEG,9,LA7FS)
 | 
|---|
 | 267 |  I LA7X'="" D
 | 
|---|
 | 268 |  . S X=" L^ H^LL^HH^ <^ >^ N^ A^AA^ U^ D^ B^ W^ S^ R^ I^MS^VS"
 | 
|---|
 | 269 |  . S I=$F(X,LA7X)\3,LA7X=$P($T(ABFLAGS+I^LA7VHLU1),";;",2)
 | 
|---|
 | 270 |  . I LA7X'="" S LA7I=LA7I+1,LA7WP(LA7I,0)=" Test normalcy status: "_LA7X
 | 
|---|
 | 271 |  I $D(LA7WP) D WP^DIE(69.6,LA7696_",",99,"A","LA7WP","LA7DIE(99)")
 | 
|---|
 | 272 |  Q
 | 
|---|