Releases: uwrit/leaf
3.7.2 (8-27-2020)
This is a patch release to fix two relatively minor bugs.
Bug fixes
- #347 - When viewing the Patient List in Identified mode, the UI would not show the
deceasedDateTime
column. - #356 - After navigating away from the Find Patients screen, the root concepts search dropdown (starting with 'All Concepts', allowing users to search only for concepts under a given root) would become blank.
Upgrading to 3.7.2
- Client app and server API - Download and deploy the latest client and server compiled files under Assets, included in this release (or compile on your own as described in the Leaf installation instructions), making sure to first remove any previously deployed instances.
- Database - execute the 3.7.1__3.7.2 database update script on your Leaf application database. Note that in this patch release there are no structural database changes; this simply updates the Leaf version.
3.7.1 (6-3-2020)
This is a patch release to fix several bugs introduced in v3.7.0, as well as a SQL script contribution from @pj00 to the i2b2 ontology import script.
Bug fixes
- #343 - The API was inadvertently set to expect a dependent
.dll
file be present on the local computer which should instead have been automatically pulled by NuGet during compilation. - #340 - Dataset export by specific Leaf encounters would fail if any concepts had specializations configured.
- #339 - The NIH demographic matrix visualization aggregated ethnic background strings in a case-sensitive fashion.
Other changes
- #341 - The i2b2 ontology import script is now database name agnostic and avoids string truncation issues for long concept names.
Upgrading to 3.7.1
- Client app and server API - Download and deploy the latest client and server compiled files under Assets, included in this release (or compile on your own as described in the Leaf installation instructions), making sure to first remove any previously deployed instances.
- Database - execute the 3.7.0__3.7.1 database update script on your Leaf application database. Note that in this patch release there are no structural database changes; this simply updates the Leaf version.
3.7.0 (5-20-2020)
Leaf 3.7 is out! We're excited to share a number of new features and fixes and look forward to the Leaf community's continued feedback and enthusiasm.
New Features
- #138 - A long-standing request of various Leaf sites, Leaf can now obfuscate cohort sizes. This includes the abilities to:
- Configure
Noise
LowerBound
andUpperBound
random obfuscations to counts of patients:
- Configure a
LowCellMasking
Threshold
beneath which counts will not be revealed:
- Work with federated partners, even with heterogeneous cohort obfuscation settings:
All cohort obfuscation settings are optional and can be enabled using the appsettings.json
file's new Deidentification
category. Note: enabling Noise
or LowCellMasking
will cause the API to throw an error if users attempt to click Visualize
or Patient List
, so it's recommended to disable those tabs if you do so.
- #338, #332 - Speaking of de-identification, have you ever wanted to disable or set custom ranges and increments for Leaf de-identified date-shifting? Now you can:
Note: setting Enabled
: false
will disable Leaf's ability to de-identify PHI. Use with caution!
-
#314 - Language by Ethnicity and Religion visualizations are now included in the
Visualize
tab.
-
#329 - The standard NIH Race, Ethnicity, and Gender matrix has also been added to the
Visualize
tab.
-
#312 - In the
Patient List
, datasets can now be extracted specific to certain encounters (rather than simple ranges of dates).
-
#7, #317 - When updating the logic to an existing saved query, users now have the option to save it as a new query instead of overwriting the previous query.
-
#331 - The attestation screen can now be optionally disabled entirely for a Leaf instance, sending users straight into the app without needing to enter IRB information and so on. This is useful for databases that have already been de-identified.
-
#333 - The
Visualize
andPatient List
can now be globally disabled.
Minor features
-
#330 - For convenience, every clinical query Leaf executes is now always prepended with the boolean parameters
@IsIdentified
,@IsQI
, and@IsResearch
, allowing Leaf concepts and datasets to handle different use contexts dynamically.
-
#311 - In the
Patient List
, users can now scroll left or right if columns overflow available screen width.
Bug Fixes
-
#318, #325 - For the last few versions (it's not clear when the bug was introduced), if no root concepts were configured the UI would throw an error upon login.
-
#315 - When editing in the
Admin
panel, any concepts - besides root concepts - would not immediately update in the UI to provide a preview. -
#322 - Occasionally after saving a query, the query information would immediately be cleared in the UI (though the save was still successful).
-
#323 - When creating a REDCap Project, Leaf would not grant the user ownership and modification permissions.
-
#321 - Characters valid in Leaf dataset names, such as commas and slashes, would break the REDCap export process because they are illegal in REDCap. These are now converted to underscores during export.
Upgrading to 3.7
- Client app and server API - Download and deploy the latest client and server compiled files under Assets, included in this release (or compile on your own as described in the Leaf installation instructions), making sure to first remove any previously deployed instances.
- Database - execute the 3.6.0__3.7.0 database update script on your Leaf application database.
- appsettings.json - Version 3.7 includes new configuration entries which must be added accordingly. See the default appsettings.json for reference.
3.6.0 (2019-12-30)
This release adds a new administrative feature for searching for user's saved queries, as well as an optional new feature to automatically email administrators when users ask questions, along with a host of bug fixes.
New Features
-
#295 - Leaf administrators can now search for and open user queries by navigating to the MyLeaf window and "User Saved Queries" tab.
-
#310 - Leaf can optionally use an SMTP server to automatically send an email to administrators when users have questions. This allows institutions to more easily track inquiries and create tickets from templated emails. Note that this features is 100% opt-in; if disabled, Leaf simply informs users of the configured administrator email.
Minor Features
- #297 - Pressing
Enter
on the keyboard now closes the date and numeric filter modals. This was added for convenience, and these can still be set by simply clicking outside of the modal.
Bug Fixes
- #299 - If a user logged out twice and attempted to log in again, the login would fail. This was due to a bug in how Leaf attempted to circumvent browser caching/SAML2 authentication failures (see issue for details).
- #293 - REDCap imported projects now have metadata loaded on demand, rather than at login. This was not necessarily a bug, but this fix is designed to reduce heavy, unnecessary calls to the server as users login.
- #292 - Very minor, but in the admin pane the 'Unsaved' and 'Delete' divs would sometimes overlap with content.
- #291 - In the admin pane, concept updates would fail if the concept had any specializations defined.
- #288 - In the admin pane, updating a concept's display text (the name, subname, or patient count) would fail to be properly updated.
- #290 - The login modal now displays more helpful, detailed information if the initial user login fails for any reason.
Upgrading to 3.6.0
- Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.
- appsettings.json - Version 3.6 adds a few new entries to the appsettings file which must be added accordingly.
Notification
Enabled
(boolean, iftrue
, the below properties must be set)Email
Server
(string) - the SMTP server name.UseSSL
(boolean) - Determines whether Secure Socket Layer protocol should be used for transporting emails (we recommend setting this totrue
)Sender
Address
(string) - email address from which to send emails from.
Receiver
Address
(string) - email address (e.g., list-serv) to receive send emails.
Credentials
(optional, only if you'd like to use a username and password to authenticate with the SMTP server)Username
(string) - Username to provide the SMTP server. This should beLEAF_SMTP_USR
, and you if this is defined, you must also set a corresponding environment variable to store the actual username.Password
(string) - Username to provide the SMTP server. This should beLEAF_SMTP_PW
, and you if this is defined, you must also set a corresponding environment variable to store the actual password.
See the default appsettings.json for reference.
- Database - execute the 3.5.0__3.6.0 database update script on your Leaf application database.
3.5.0 (2019-11-04)
This release adds REDCap Project Import, a popular feature in the original UW-only version of Leaf which we've redesigned and reimplemented from the ground up.
New Features
- #284 - REDCap projects can now be imported directly from a REDCap instance using API tokens. Note that a REDCap project to be imported must have a unique field representing patient MRNs with which to link to patients in your clinical database. (If you are using Leaf with de-identified data, then, REDCap projects cannot be imported so it is probably best to disable this feature)
Upgrading to 3.5.0
- Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.
- appsettings.json - Version 3.5 adds a few new entries to the appsettings file which must be added accordingly.
Import
REDCap
Enabled
(boolean)ApiURI
(string) - a REDCap endpoint ending with/api/
to be called for importing projects.BatchSize
(int) - number of REDCap rows at a time to import into the LeafDB.
See the default appsettings.json for reference.
- Database - execute the 3.4.0__3.5.0 database update script on your Leaf application database.
3.4.0 (2019-9-12)
This is a feature release which adds administrative functionality around panel filters
, as well as new feature called global panel filters
, which allow you to append additional logic to to users' queries to filter cohorts outside of users' control.
New Features
- #277 -
panel filters
can now be edited in the Admin panel.
- #278 - A new feature,
global panel filters
, can also be edited in the Admin panel.
- #279 - As touched on above,
global panel filters
allow administrators to append additional logic to users' queries, depending on their type of session (i.e., QI, Research, or both).global panel filters
are designed to allow simple global filters to remove patients who users should not be allowed to see (e.g., VIPs, etc.) without needing to apply this logic at the concept level (for all concepts). - #274 - User id tokens now include the url
pathname
as part of their key, which prevents id token key collisions for deployments of multiple Leaf instances by pathname rather than subdomain. Previously, deployments needed to be identified only by subdomain, e.g.: - https://instance1.leaf.edu
- https://instance2.leaf.edu
Including the pathname in the token allows for a pathname-based url convention:
Upgrading to 3.4.0
-
Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.
-
Database - execute the 3.3.3__3.4.0 database update script on your Leaf application database.
3.3.3 (2019-8-30)
This is a patch release to correct a bug caused by cases of users having no role but User
(e.g., they are not Admin
, Identified
, etc.)
Bug Fixes
- #272 - If a user has only a
User
role, the Leaf API does not include aroles
property in the JWT token. The client application previously assumed this property was always present and would throw an error if not found (see Issue for details). This is now fixed.
Upgrading to 3.3.3
-
Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.
-
Database - execute the 3.3.2__3.3.3 database update script on your Leaf application database.
3.3.2 (2019-8-29)
This is a patch release to correct a bug in the Admin Datasets Basic Demographics screen.
Bug Fixes
- #270 - In the Admin Panel under Datasets - Basic Demographics, the columns 'mrn' and 'name' erroneously showed the required type as a DateTime. The behavior was only visual and did not effect query or patient list functionality, but was nonetheless confusing and has been corrected.
Upgrading to 3.3.2
-
Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.
-
Database - execute the 3.3.1__3.3.2 database update script on your Leaf application database.
3.3.1 (2019-8-26)
This release focuses on upgrading client application dependencies and bug fixes, as well as small visual tweaks.
Enhancements
- #269 - In the patient list, 'null' and 'undefined' values are displayed as a blank string to be more intuitive to users.
- #268 - In the Admin Concept Editor, the SQL preview box has been expanded so that longer SQL concept queries can be more fully displayed. To avoid confusion, example numeric and date filters are also commented to indicate so.
- #267 - A simple slide animation in the 'show detail' query box on the top is now shown to more clear allow the user to compare patient counts as Leaf instances return data. 'show detail' now defaults to
true
if an instance is federated. - Various upstream JavaScript dependencies (React, Axios, etc.) have been updated.
Bug Fixes
- #265 - The Patient List dataset selection screen has been cleaned up and expanded to enhance search and readability, as well as various alignment and sizing peculiarities.
- #264 - Previously dataset search tags would be missed if they were uppercase. This is fixed and tags can be upper or lowercase.
- #263 - REDCap export would break if multiple sequential underscores appeared in a dataset or field name (e.g., "my___dataset"), as REDCap silently renames these to single underscores ("my_dataset"). Leaf now performs a check and cleans these names before sending data.
- #262 - On the Visualize screen, the female/male age by gender comparison chart did not have the 2 chart components sharing a Y axis maximum, so cohorts that were largely male or female did not visually appear so. This has been fixed.
- #261 - A numeric filter query for "2.0" (or any other value ending in ".0") would confusingly be changed to "2.". This has now been fixed to allow any floating point decimal value.
Upgrading to 3.3.1
- Client app - As upstream JavaScript dependency libraries were cleaned and updated in this released, before building and re-deploying the client you'll need to use
npm
to update the dependency packages:
# From /leaf
$ cd src/ui-client
$ npm install
# Next build production client app as normal
$ npm run build
-
Server API - Recompile and deploy the latest server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.
-
Database - execute the 3.3.0__3.3.1 database update script on your Leaf application database.
3.3.0 (2019-8-9)
This release adds Dynamic Datasets, which allow administrators to define flexible SQL queries to return and de-identify nearly any kind of dataset in the Patient List. It also includes a brand-new SQL compiler behind the scenes using the Composure library developed by the Leaf development team. (The SQL Leaf outputs is virtually identical to prior versions, but is now far more testable and adaptable to future use cases)
Features
- #95 - Dynamic Datasets are now allowed! You can use these to return nearly any kind of data in your clinical database to the Patient List screen as a dataset (i.e., no need to have your queries conform to FHIR templates). Note that Dynamic Datasets cannot be used for federated queries.
- #153 - The Leaf SQL Compiler (source) has been completely rewritten from the ground up, and is now more testable, flexible, and a fraction of the previous amount of code.
- #260 - The auth.Login table has been repurposed to track users for admin convenience. You can now use this table to track users and their "claims" (i.e., authentication context and user groups).
- #248 - The Leaf client version is now displayed on login. Note that the server and database versions should be checked in the log files and ref.Version table, respectively.
Upgrading to 3.3.0
-
Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.
-
Database - execute the 3.2.4__3.3.0 database update script on your Leaf application database.