Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Delivered
-
None
-
None
-
None
Description
The labs annotator identifies likely lab phrases by TUI (T059 et al.),
and relates them to the nearest following number-ish value –
NumToken, FractionAnnotation, MeasurementAnnotation or (as a last resort) RangeAnnotation –
that isn't part of a Date or TimeAnnotation.
A whitelist of lab-value words can also be specified, e.g. "positive", "negative", "normal", "elevated", "decreased", ...
For example,
Weight / BMI: Recent weight (as of 05/05/16) is 45.36 kg (100 lb)
yields
"weight" -> "45.36 kg"
and
HEPATIC FUNCTION PANEL Result Value Ref Range Albumin 2.2 (*) 3.7 - 5.1 g/dL Total Protein 5.5 (*) 5.8 - 8.0 g/dL Alkaline Phosphatase 844 (*) 42 - 121 IU/L ...
yields
"Albumin" -> "2.2"
"Protein" -> "5.5"
"Alkaline Phosphatase" -> "844"
(without trying to fill in the units or referenceRangeNarrative values).
Configuration parameters:
- ids of segments to annotate
- TUIs indicating labs - I use T059, T060 and T121
- CUIs too general to be useful, e.g. C1443182, "Calculated (procedure)"
- Whitelist of words allowed as lab values
- Maximum number of newlines permitted between lab and value (0 = must be on same line)
The enclosed code is packaged as a Maven module, so you can run mvn test to see how it works.