Release notes for NLP API 2.19
Contents
Summary
Added
- Option to enable or disable processing features per instance.
- Annotation updates for MEDCIN, RadLex, RxNorm, SNOMED-CT ontologies
- Added more informal measurement units such as mm2, cm2, etc.
- Support for new “generic” subcategory for Pathology reports.
Changed
- MEDCIN measurement entity type changed to “measurement”
- Improved precision and recall for unitless measurements
- JSON result schema changed (see details below)
Fixed
- Negation accuracy improvements
- Measurements accuracy improvements
- Measurement entity units are now reported as raw text
- MEDCIN measurement concepts no longer showing up with SNOMED concept identifiers
- Bug fix for multiple concept identifiers appears for same span and ontology
- Measurement relations are not identified any more for MEDCIN medications
- Measurements now identify body weight and BMI
Compatibility
- API version 2 Release 19
- Python SDK and client v4.3.0 to v4.6.0
- Java SDK and client v3.0.2 to v3.1.0
- JSON result output schema v2.11 for emtellipro-json-2.
The latest version of the SDK is required for the new features in this release. The JSON result output schemas are backward compatible for all v2.x versions of emtellipro-json-2.
JSON result schema
This engine produces JSON output using the JSON output schema v2.11.0. Previously we used to include an explicit enum of all compatible version numbers in the schema for version. We now have made the change to expanding this enum to include all version numbers and we remove the constraint. As a result we have removed the enum so while technically this is a non-breaking change semantically speaking, it may still break your schema reader if you are explicitly looking for the enum that used to be in the version description. The new version schema looks like this:
Measurement unit
If an entity is a measurement entity, e.g. 2.3 cm then we extract the unit cm and provide it as a new attribute called measurement-unit associated with the entity. If the entity is not a measurement entity then the attribute is missing. If the attribute has value null then the measurement is unitless, e.g. the pt temperature was 101. Otherwise, the value of the attribute is a list of text string containing the unit, ['cm'].
Python SDK updates
You will need NLP API Python SDK 4.6.0 for the new measurement unit feature added to the engine. We have added a migrate command to allow you to upgrade your Output Database to the new version of engine and SDK.
Measurement unit
For the new measurement-unit attribute for measurement entities, in the Output Database the value is stored in a new table called foundentitymeasurementunit with the following schema:
Upgrading the database
If you have a previous version of the NLP API database, created using an older version of the database client (going back to v4.3.0), you can upgrade to the latest version using the migrate subcommand, as follows:
NOTE: Please ensure you’ve backed up the data before running this command. The migrate command will copy data over if columns change, and all changes will execute within a transaction (which should roll back if anything goes wrong), but it’s recommended to have a backup just in case.
Other Python client updates
- Better progress bars.
- Switched to two progress bars: one bar for processing and one for storing to the DB.
- The
--fast-postgresoption does not show the storing progress bar because of the bulk insertion step into postgres. - Added
--versionargument to db client - Handle incorrect filetypes
