Skip to content

Releases: CDCgov/dibbs-ecr-viewer

7.0.0

17 Jul 19:18
f516751
Compare
Choose a tag to compare

What's Changed

This release removes an unused container (validation) which requires an infrastructure change. These changes will be incorporated into the various AWS, Azure, and GCP releases we support.

This release also adds an auditing system to the eCR viewer which logs user actions to the database.

Release Summary

This release contains many visual updates to the Viewer to bring it in line with general DIBBs styling.

Admins can now filter users by Program Area.

Active Problem Status has been added to the viewer as well as additional social history fields.

Audit logging infrastructure and logs for creating and updating users

🚧 Required Infrastructure Changes 🚧

This is a breaking change for AWS users as we will no longer be deploying the Validation container. Please reference our AWS terraform for updates.

This will also be breaking if VM users attempt manual upgrades. Please upgrade using the Upgrade Wizard to avoid this.

📊 Automated Database Migrations 📊

Migrations must be run for this release to create the necessary database resources for auditing.

🏕️ Features

Full Changelog: 6.0.0...7.0.0

6.0.0

25 Jun 19:36
486a61c
Compare
Choose a tag to compare

What's Changed

THIS IS A BREAKING RELEASE for users using the NON_INTEGRATED or DUAL configurations. Please read more below before installing.

Release Summary

This release introduces user and program management to the eCR Viewer for users using the NON_INTEGRATED or DUAL configurations. Program areas will be created with a selection of conditions, and standard users must be assigned to program areas in order to view eCRs with those conditions. Admins can manage program areas and users via the User management and Program management pages.

Please follow the Setup Guide for instructions on how to initialize an admin user and for more information on admin and standard user roles and permissions.

Along with these features we have included a time-based auto sign-out feature that will require users to log back in after periods of inactivity.

🚧 Required Infrastructure Changes 🚧

This release requires no new infrastructure changes.

📊 Automated Database Migrations 📊

This release includes an update to the ecr_labs and patient_address tables in the extended schema. Users using the extended schema will be required to call the migrate-db API endpoint.

Running migrations will also update the latest conditions reference data from the TES.

🏕 Features

Full Changelog: 5.0.0...6.0.0

5.0.0

04 Jun 18:20
e7a0954
Compare
Choose a tag to compare

Release Summary

THIS IS A BREAKING RELEASE for non-integrated and dual deployments! Please read more below before installing.

This release adds the public health emergency information to the eCR viewer and fixes a bug with the Provider Details section. Additionally, the condition code is now stored on the ecr_rr_conditions table, which requires a database migration. This will be leveraged in the future to enable condition-based authorization for eCR viewing.

🚧 Required Infrastructure Changes 🚧

No infrastructure changes are included in this release

📊 Automated Database Migrations 📊

This release includes an update to the ecr_rr_conditions table and will require calling the migrate-db API endpoint.

What's Changed

🏕 Notable Updates

🤐 Secret Future Features

New Contributors

Full Changelog: 4.0.0...5.0.0

4.0.0

21 May 18:28
8d93745
Compare
Choose a tag to compare

What's Changed

THIS IS A BREAKING RELEASE! Please read more below before installing.

Release Summary

This release adds authentication to /api routes. When calling the API to process eCRs, all users will need to pass a bearer token from either Rhapsody or their IDP to access the routes. In this release, it's still possible to save data without authentication directly to the orchestration container, but this will be removed in an upcoming release. Please see the guide, API documentation, and Rhapsody examples for more details about how to use this new release.

This release also adds a new /api/process-ecr route to the eCR Viewer container, which replaces the now deprecated /api/process-zip endpoint. The old process-zip endpoint will also be removed in a coming release. The guide and API documentation have been updated with how to use this new endpoint.

🚧 Required Infrastructure Changes 🚧

There is one environment variable changes associated with the automated migrations. This change is only required for users running the NBS-integrated Viewer.

NBS_API_PUB_KEY: Similar to NBS_PUB_KEY but used for authenticating the /api routes.

📊 Automated Database Migrations 📊

This release includes no new database migrations.

🏕 Features

🤐 Secret Future Features

These features are not available to end users yet, but they will be soon!

Full Changelog: 3.4.0...4.0.0

3.4.0

07 May 16:50
282e966
Compare
Choose a tag to compare

Release Summary

This release adds support for automated database migrations for the non-integrated version of the Viewer. More information about these automated migrations is below.

This release also adds a sign-out button to the application, and added new docs to reference. It also adds basic user management tables to the application, which will be used in user permissions later.

🚧 Required Infrastructure Changes 🚧

There are two environment variable changes associated with the automated migrations. These changes are only required for users running the non-integrated Viewer.

METADATA_DATABASE_SCHEMA: Optional. Possible values are "core" and "extended". Database schema to use for metadata storage. Core has a small subset of Extended. Default value is "extended".
METADATA_DATABASE_MIGRATION_SECRET : Secret needed to apply migrations via the /migrate-db api route. If not set, a random UUID will be assigned by the application and logged to the server.

📊 Automated Database Migrations 📊

This release adds support for Kysely automated database migrations. These add two quality-of-life improvements for implementers of the Viewer:

  1. If the eCR Viewer database isn't up to date with the latest migrations, the application will show an error message
    i. This means you can't get into a state where the data schema version doesn't match the application version.
  2. Instead of running the SQL scripts manually, you'll call a new API endpoint that runs the migrations for you. See API documentation here.

What's Changed

🏕 Features

Full Changelog: v3.2.0...3.4.0

v3.3.1

30 Apr 20:39
ade1d5c
Compare
Choose a tag to compare
v3.3.1 Pre-release
Pre-release

Release Summary

This release adds support for automated database migrations for the non-integrated version of the Viewer. More information about these automated migrations is below.

This release also adds a sign-out button to the application, and added new docs to reference.

🚧 Required Infrastructure Changes 🚧

There are two environment variable changes associated with the automated migrations. These changes are only required for users running the non-integrated Viewer.

METADATA_DATABASE_SCHEMA: Optional. Possible values are "core" and "extended". Database schema to use for metadata storage. Core has a small subset of Extended. Default value is "extended".
METADATA_DATABASE_MIGRATION_SECRET : Secret needed to apply migrations via the /migrate-db api route. If not set, a random UUID will be assigned by the application and logged to the server.

📊 Automated Database Migrations 📊

This release adds support for Kysely automated database migrations. These add two quality-of-life improvements for implementers of the Viewer:

  1. If the eCR Viewer database isn't up to date with the latest migrations, the application will show an error message
    i. This means you can't get into a state where the data schema version doesn't match the application version.
  2. Instead of running the SQL scripts manually, you'll call a new API endpoint that runs the migrations for you. See API documentation here.

🏕 Features

Full Changelog: v3.2.0...v3.3.1

v3.3.0

30 Apr 18:15
4fa9795
Compare
Choose a tag to compare
v3.3.0 Pre-release
Pre-release

Release Summary

This release adds support for automated database migrations for the non-integrated version of the Viewer. More information about these automated migrations is below.

This release also adds a sign-out button to the application, and added new docs to reference.

🚧 Required Infrastructure Changes 🚧

There are two environment variable changes associated with the automated migrations. These changes are only required for users running the non-integrated Viewer.

METADATA_DATABASE_SCHEMA: Optional. Possible values are "core" and "extended". Database schema to use for metadata storage. Core has a small subset of Extended. Default value is "extended".
METADATA_DATABASE_MIGRATION_SECRET : Secret needed to apply migrations via the /migrate-db api route. If not set, a random UUID will be assigned by the application and logged to the server.

📊 Automated Database Migrations 📊

This release adds support for Kysely automated database migrations. These add two quality-of-life improvements for implementers of the Viewer:

  1. If the eCR Viewer database isn't up to date with the latest migrations, the application will show an error message
    i. This means you can't get into a state where the data schema version doesn't match the application version.
  2. Instead of running the SQL scripts manually, you'll call a new API endpoint that runs the migrations for you. See API documentation here.

🏕 Features

Full Changelog: v3.2.0...v3.3.0

v3.2.0

23 Apr 18:17
1b78594
Compare
Choose a tag to compare

Release Summary

This release fixes several user requests, including:

  • Updated age calculations
  • Improved error handling for data saving
  • Consistent formatting of units in reference ranges

This release also adds new documentation and user guides, including sample Rhapsody routes.

🚧 Required Infrastructure Changes 🚧

No infrastructure changes are required in this release.

A change has been made to the eCR Viewer process-zip endpoint to improve debugging. If you would like the FHIR bundle to be returned from the request, you can use the new return_fhir_bundle parameter in the request. See API docs here.

What's Changed

🏕 Features

Full Changelog: v3.1.0...v3.2.0

v3.1.0

10 Apr 13:52
b9d6cb4
Compare
Choose a tag to compare

Release Summary

This release adds several major features, including:

  • Supporting GCP as a blob storage platform
  • "Dual boot mode" authentication for jurisdictions who want to use both the eCR Library and NBS integration
  • Using APHL's TES service to improve our relevant condition summaries
  • Finalizing eCR grouping by set_ID in the Library

This release also adds an object-relational manager (ORM) to the eCR Viewer, which will help manage database connections. This change should be invisible to end users for now, but will make database management more seamless.

🚧 Required Infrastructure Changes 🚧

There are no required infrastructure changes with this release, but there is one suggested change for database management - see below.

Environment Variable change:

Previously, SQLServer database connections were managed through individual environment variables - SQL_SERVER_USER, SQL_SERVER_PASSWORD, etc. With this release, we recommend changing to the universal DATABASE_URL environment variable to set your connection. This will allow you to specify more detailed connection strings, and manage things like the specific schema you're connecting to.
The legacy SQLServer environment variables will still be maintained for backwards compatibility in this release, but long-term DATABASE_URL will be the supported connection setting.

What's Changed

🏕 Notable Features

Full Changelog: v3.0.0...v3.1.0

v3.0.0: docs: update release docs (#541)

09 Apr 18:45
2da7e22
Compare
Choose a tag to compare

Release Summary

This release adds support for authentication in the non-integrated version of the eCR Viewer. Supported authentication providers are Keycloak and Active Directory.

It also addresses the following end user requests:

  • Default schema for the non-integrated Viewer is changed from DBO to ecr_viewer
  • Supports SQL Server 2016
  • Updates eCR Summary to include patient race/ethnicity and guardian information if minor
  • Changes age calculations across the Viewer to be from encounter date

A number of technical debt and bug fixes issues are also addressed in this release, including an update to Python 3.13, adds dependency and version information to the /health-check endpoint, and changes to eCR Library display.

🚧 Required Infrastructure Changes 🚧

This release requires several infrastructure changes for the non-integrated Viewer. Users will need to update environment variables (see below) and run the new versions of our SQL scripts.

Environment Variable change:

Environment variables related to authentication have been added for when the viewer is configured for NON-INTEGRATED use. The 6 new auth environment variables are:

  • NEXTAUTH_URL - This is the full URL for the API path of the ecr-viewer. For example https://your-site.com/ecr-viewer/api/auth
  • NEXTAUTH_SECRET - Used by eCR viewer to encrypt authentication. This can be generated by running openssl rand -base64 32.
  • AUTH_PROVIDER - Accepts values of ad for Active Directory or keycloak for Keycloak
  • AUTH_CLIENT_ID - Client ID for auth service
  • AUTH_CLIENT_SECRET - Secret for the auth service
  • AUTH_ISSUER - is either the Azure AD Tenant ID or the URL issuer for keycloak. Keycloak’s issuer should inclue the realm - e.g. https://my-keycloak-domain.com/realms/My_Realm

For an example of these new Environment Variables please see the [env.sample](https://github.com/CDCgov/dibbs-ecr-viewer/blob/main/containers/ecr-viewer/.env.sample) file.

Creating a new client for eCR Viewer in the identity provider

For Azure AD/Entra, please follow [these steps to create a new client application](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application#register-a-new-application). In addition, add a "Web" redirect URI to point to ecr-viewer, for example https://example.com/ecr-viewer/api/auth/callback/azure-ad.

For Keycloak, please follow [these steps to create a new client](https://www.keycloak.org/docs/latest/server_admin/index.html#proc-creating-oidc-client_server_administration_guide). In addition, add ecr-viewer callback to the Valid redirect URIs, for example http://example.com/ecr-viewer/api/auth/callback/keycloak.

🏕 Notable Features

Full Changelog: v2.0.0...v3.0.0