Release notes for NLP API 2.27
Contents
Summary
Added
- NLP API admin UI is now included for Azure deployments and for on-premises customers (e.g. VMWare deployments).
- NLP API admin UI allows CSV download of the audit log for billing.
- Persistent storage for identity and access management database.
- Section parsing improvements for better compatibility with the Medcin ontology.
- Added month names to date parsing.
- Added
possas uncertainty trigger. - Added new Radiology section headings.
- Added new qualifiers.
Changed
- Negation finding improvement for
favor ... over,not detected,no ... change, andno ... isnegation cases. - Annotation updates for SNOMED, Medcin and RxNorm ontologies.
- Significant improvement in coverage for the
known_ambiguityentity attribute. - Improved handling of CCD section headings.
- New data cleaning and sentence detection module.
- Removed
manandwomanas experiencer triggers. - Fix bug in measurement unit spans when there is header or footer deletion in some Radiology report types.
Fixed
- Bug fix for a small number of invalid concept descriptions that were being reported by emtellipro.
- Fix false positive for 2C/3C/4C (number of chambers) in ejection fraction measurement relations.
- Fix for matching case sensitive entities.
- Fixed some issues with Past Medical History and Physical Exam section headings in section parsing.
- Fix false positive for Calcium as subject in measurement relation.
- Fix bug where two letter acronyms with periods were not detected due to tokenization.
Python SDK updates
The new NLP API Python SDK is version 5.17.1. Refer to the changelog for the Python SDK for a full explanation of the updates made since the last public release which was version 5.14.1 released with the NLP API v2.26. You will need to use version 5.7.0 of the Python SDK or later to send requests to the NLP API v2.27.
Added
- The database client’s process command now accepts a
--max-save-shard-sizewhich specifies the number of reports to store to the database at once; this is ideally used for lowering the default value from 50, since large numbers can cause database errors. - You can now press
CTRL-Cwhen the database client is running and it will finish saving to the database what it has so far, and will exit cleanly. PressingCTRL-Ca second time will cause it to exit immediately. - Support for key-pair authentication for Snowflake has been added to the database client. All commands now take
--snowflake-private-key-pathas an option alongside--databasewhich is the path to the private key used for the connecting to Snowflake. If using this option, omit the password in the connection URL. To be consistent with SnowSQL, the passphrase for this key file can be passed usingSNOWFLAKE_PRIVATE_KEY_PASSPHRASEorSNOWSQL_PRIVATE_KEY_PASSPHRASEin the environment, or if those environment variables are not set, the client will prompt for the passphrase if necessary. Both encrypted and unencrypted key files are supported. - The Python database client now has a plugin architecture based on signals.
- Improved error handling when running
create-dbon an existing database, and checking whether the database schema version stored in thealembic_versiontable has been accidentally deleted. - If the
alembic_versiontable has been accidentally cleared, thecreate-dbcommand will now allow the user to re-insert the database schema version in that table. - The simple client now has a
cancelcommand that allows cancelling one or more tasks. Seeemtellipro-client cancel --helpfor available options. - The simple client will now print the last unfinished task ID when it receives a SIGINT (e.g. from CTRL-C) while a job is in progress
Changed
- The database client is now multi-threaded, so it can read files, submit them for processing, and store results to the database in parallel.
- The database client’s
--max-submit-shard-sizedefault is now 100, to avoid having the database thread waiting too long for results.
Fixed
- There was a bug introduced in 5.17.0 when exporting to CSV which caused a crash; this has now been fixed.
- The
--featuresoption was not parsed properly in 5.17.0; this has now been fixed. - There was a memory leak in the SDK which has now been fixed, so running the simple client or database client will now use a stable amount of memory.

