Release 17.0
Released to customers on April 28th. 2023
Module | Version |
---|---|
Client Hub | 23.4.57724.0 |
Data Warehouse Export | 23.4.57724.0 |
EWA UWP Client Application | 23.4.57724.0 |
Export | 23.4.57724.0 |
HPLink Patient Identity API | 23.4.57724.0 |
Insight | 23.4.57724.0 |
Integration | 23.4.57724.0 |
Medical Device Broker | 23.4.57724.0 |
Migration Tool | 23.4.57724.0 |
Content
Feature Updates
Lists all changes since December 2022.
Facelift of Live View configuration page in Insight
- The Live View configuration page has been updated with a new look and feel to better support multiple department identifiers in access fields.
- The new page can be toggled off by disabling the feature flag "Use Live View configuration page v2" for all resources in Insight.
- The feature flag will be enabled for all resources by default after migration has been run.
- The new page will not work with LocalAD authentication method due to LocalAD deprecation.
Data Warehouse Export refactor and expanding data
- Refactor of code to speed up the export time
- Added RETTS, NEWS2 and SATS fact tables and related dimensions to the Data warehouse export.
- Added seconds to time dimension
- Renamed MissionId/IncidentId/RecordId instances.
New flyout for approving and sharing ambulance records
- Signing of records and sharing temporary records are now joined in the same flyout.
- It is accessed by this button in the taskbar.
- The sharing criteria is still set in Insight in the Export configuration page
- Featureflag for signing record is still handled in Insight
- Userguide is found here.
Add authentication capability for EMCCIntegration
Api-key support for EMCC Integration
- Users and systems can now authenticate their EMCC Integration requests using an API key for an additional layer of security.
- Must be enabled before use see documentation and has support for multiple api keys.
Multiple Department IDs for LiveView Access Configuration
Multiple Department IDs for LiveView Access Configuration: Insight
- It is now possible to define access for multiple departments in LiveView configuration
- To define multiple department ids for full/limited access; separate each ID by comma
New landing page in Insight dashboard with notification of unsigned records
New landing page in Insight dashboard with notification of unsigned records: Insight
-
Updated the Insight landing page to make it more informative and user-friendly. We've removed the graph and added new graphics, as well as a notification if there are any ongoing journals. We've also added a button that redirects to the search page if there are any ongoing journals.
-
Changed Journal Search default behavior, the Journal Type field will now default too "All".
-
Added a new autosearch feature to Journal Search page. If you include
/Journal/Search?autoSearchOngoingUserJournals=True
in the end of the URL, Insight will automatically search for any ongoing journals related to your user account.
Restrict previous journals access in Client Application
Restrict previous journals access in Client Application: Client Hub
- Created a new endpoint which accepts an encrypted patient id and the token information for the currently logged on users
- New endpoint decrypts patient id and looks up patient journals in EWA
- Patient journals are filtered using the patient security rules set up in Insight
- Journals that are inaccessible to any of the logged on users are filtered out of the returned result
- Remaining journals after filter are returned to the client application
- Filtering will not be applied if system is set up to use LocalAD authentication method due to LocalAD deprecation
Restrict previous journals access in Client Application: Client Application
- The "previous journals" feature will now attempt to request information to the new Client Hub endpoint
- The feature will fallback to contacting the old endpoint for previous journals if the response is Not Found
- Cached list of previous journals for a patient will now be cleared whenever a user logs in or out
Affects: EWA Client Application | EWA Client Hub
Cardiac arrest report improvements
Cardiac arrest report improvements: Client Application
-
Updated the mapping for Date of cardiac arrest, Place where the cardiac arrest occurred, AMIS or AMK number and ambulance id with ambulance name and saved it to the database.
-
Added a new state "No cardiac arrest" while registering Cardiac arrest form in the record.
Affects: EWA tablet client | Cardiac arrest form
Cardiac arrest report improvements: Insight
- Included Date of cardiac arrest, Place where the cardiac arrest occurred, AMIS or AMK number in to the JSON report generated in the cardiac arrest report page.
- Replaced ambulance id with ambulance name in the JSON report generated in the cardiac arrest report page.
- Included Date of cardiac arrest, Place where the cardiac arrest occurred, AMIS or AMK number in to the JSON report generated in the cardiac arrest report page.
- Replaced ambulance id with ambulance name in the JSON report generated in the cardiac arrest report page.
- Added a new filter based on cardiac arrest registration type in the report page.
Affects: EWA Insight | Cardiac arrest report
Known Limitation: Updating record data or cardiac arrest form data from insights will not get reflected in the cardiac arrest report
Cardiac arrest form trigger configuration
Cardiac arrest form triggers: Insight
-
Created a new page in insights for configuring cardiac arrest triggers.Cardiac arrest form trigger can be configured for three data types(Assessed condition, Intervention and Criteria number)
-
Added authorization of access rights and feature flag while accessing the configuration page.
Affects: EWA Insight | Cardiac arrest form trigger configuration
Cardiac arrest form triggers: Client Application
-
Synced cardiac arrest form trigger configuration settings in to the client application.
-
Created a client hub API to read the trigger configuration from the database.
-
Made cardiac arrest form mandatory when the trigger condition is met by displaying a information pop up stating "Cardiac arrest form should be filled out before completing the mission" and made the cardiac arrest tile mandatory(Tile color is made dark blue)
See Documentation for cardiac arrest form trigger for more information.
Affects: EWA tablet client | EWA CLient Hub
Technology upgrade of Client API
Tech Upgrade: Client API / Client Hub
- The old Client API component has been replaced by a component called Client Hub.
- Client Hub has all the same functionality as the Client API, but is built using .NET 6.0.
- This upgrade was necessary to improve the security (by using newer libraries with additional security fixes), to prepare for endpoint integration testing, and to increase velocity for new development which touches the client <-> server communication.
- See ClientHub Documentation for more information about this component.
API Tech Upgrade: Client Application
- No visible changes, but the library used for event based communication with the Client API has been upgraded to work with the Client Hub
- See ClientHub - Backwards Compatibility for more information.
Affects: EWA tablet client | EWA Client API | EWA CLient Hub
RETTS feature improvements
Supported RETTS versions:
RETTS 2022 and 2023
RETTS feature improvements: Client Application
-
Created a new ESS tile in journal view page to better display the selected contact reason
-
Created a new ESS flyout to provide better accessibility performing ESS+Triage
-
Synced RETTS configuration from Insights to the Client app. If RETTS haven't been configured in Insights yet, then the client will read the RETTS data from the local files
-
Replaced 'Annet' card and added option to perform triage based on vital parameters
- Refactored triage page to load vital parameter data based on parameter id instead of description from the XML file.
We recommend configuring RETTS version 2022 or above. The XML file generated before 2022 version doesn’t have the parameter id included in them. Please download the latest version of XML files generated from rettsonline and upload the files in RETTS Configuration page
RETTS feature improvements: Client API
- Created a new Client API endpoint to expose RETTS configuration for the Client app
RETTS feature improvements: Insight
-
Created a new page in Insight for uploading RETTS XML files and saved the data in database
-
Added authorization of access rights and feature flag while accessing the configuration page
- See RETTS Documentation for more information about RETTS feature.
Affects: EWA tablet client | EWA Insight
Checklists improvements
Checklist improvements: Client Application
-
Changed the UI of the checklist flyout for better usability, increased font size of the text and fixed margins.
-
Updated the name of the 'Save' button as 'Postpone' in the Checklist flyout to better suite the use case scenario.
Fixes
Medical Unit Broker - Device polling timer randomly stops
Ticket: 1160911053 | DevOps: null | Reported by: Helse Midt-Norge
Description:
The device polling timer randomly stops, causing the application to stop receiving data from the medical device.
How it is solved:
Polling timer has been optimized to prevent the timer from stopping.
Transfer of D-ECG data has been disabled for all devices to prevent long running tasks from blocking the timer.
EWA Client - Removed background for text block on ESS symptom list view
Ticket: 1199381237 | DevOps: #17194 | Reported by: Helse Midt-Norge
Description:
The text color for symptom selected was set as black while it should display as default style.
How it is solved:
Add a new style which has no background attribute overridden.
Application crash related to connection to medical device and navigation
Ticket: 1160911053 | DevOps: #16973 | Reported by: Helse Midt-Norge
Description:
When attempting to connect to medical device then quickly entering ESS, Anamnesis, or Triage page, the application would freeze and crash.
How it is solved:
Added additional guard clauses after asynchronous calls in the code to prevent attempts to access object references that have been unloaded.
Free text in examination/anamnesis is not displayed in Insight
Ticket: 1196821449 | DevOps: #17118 | Reported by: Helse Midt-Norge
Description:
When filling the free text field of Examination/Anamnesis in the EWA Client, the field always appears empty when viewing the record in Insight.
How it is solved:
Update the client hub to correctly read the free text field value from the EWA Client, and then save it.
The search fields in Location, Location type, Dataset type, Dataset dropdown of Checklist page are not working
Ticket: | DevOps: #16525 | Reported by: Bliksund
Description:
When adding trigger to a checklist in Insight, the search field in Location, Location type, Dataset type, Dataset dropdown are not possible to use/write in.
How it is solved:
Fixed the javascript to define dropdownParent for each select2 dropdown.
Dataset Editor Page in Insight times out when attempting to access it
Ticket: | DevOps: #16153 | Reported by: Bliksund
Description:
When attempting to access any of the editors which use the Dataset Editor page in Insight (TEWS, SATS, and Patient Id Confirmation) the page will time out with an Internal Server Error.
The timeout is caused by a query to the AuditLogs table which happens at page load rather than after which it should.
How it is solved:
Created a new Blazor component for the "latest changes" tab of the page and removed the query from the initial load of the page. This new component will load the latest changes after the page has been loaded.
Error logs from Detach Medical Device in Client fails and is retried infinitely
Ticket: | DevOps: #16130 | Reported by: Helse Midt-Norge
Description:
When Detach Medical Device throws an exception, this exception will be logged to technical log with the tablet specific journal id supplied to the method call.
The technical log requires the server journal id to be able to connect the created log with the journal correctly.
The technical log is then rejected by the server because it's unable to connect the internal id number to a real journal.
The Client will mark the log as "failed" and try to send it again after a few seconds.
The technical log gets filled because the client retries this infinitely.
How it is solved:
Removed the internal journal id from the technical logging for this specific function in the client since we don't have information about the server journal id in the function.
Bolus infusion can only be added chronologically
Ticket: 19408 | DevOps: #15488 | Reported by: Helse Midt-Norge
Description:
Infusion, bolus cannot be added before the previous recorded bolus.
How it is solved:
Removed the condition where it was only possible to add new bolus entry at the timestamp later than the previous one.
Getting a connectivity error while trying to complete the journal in EWA client
Ticket: N/A | DevOps: #16120 | Reported by: Bliksund
Description:
Getting a connectivity error while trying to complete the journal in EWA client when having a lag in the client application and user can click many times on the complete journal button.
How it is solved:
Create a wrapper to prevent multiple clicks and sending multiple requests to complete the same journal to Client API.
RETTS - sets the wrong value for Vital parameters if tile is opened again
Ticket: 19505| DevOps: #16050 | Reported by: Helse Midt-Norge
Description:
The system tries to match which RETTS VP dataset element belongs to set Triage element when entering Triage 1/2. For RF, it tried to find the first dataset element that matched on age group + RF type + level. Here the match was incorrect as there were 2 RF elements in the same age group with the same level ("RF > 30" was first, so this was always selected).
How it is solved:
The system now matches on all parts of the dataset element to find a match. All possible choices in RETTS triage have been reviewed to ensure that this is done equally for everyone.
Not possible to scroll in helptext
Ticket: 19255 | DevOps: #14236 | Reported by: Helse Midt-Norge
Description:
Not possible to scroll in helptext with long texts, whenever click to scrollbar of the helptext, the helptext will be closed automatically.
How it is solved:
Handle to close helptext for only double right click.
Cardiac arrest tile turns dark blue in all ongoing records if the chief complaint group sets it to dark blue automatically on a record
Ticket: 19511 | DevOps: #16076 | Reported by: Helse Midt-Norge
Description:
Cardiac arrest tile state was carried over between journals, causing the tile to change color based on the last one updated.
How it is solved:
Fixed so that the tile state re-loads every time the journal is opened.
Edit journal - Search field for municipality does not work
Ticket: 19395 | DevOps: #15487 | Reported by: Helse Midt-Norge
Description:
When editing address fields in Insight, the search field for municipality in the address field is not possible to use/write in.
How it is solved:
Fixed the javascript to define dropdownParent for each select2 dropdown.
Possible to register HTML code while taking pictures in EWA Client
Ticket: 19454 | DevOps: #16946 | Reported by: HSØ
Description:
It is possible to input HTML code into the image file name field, when the billable mission picture is taken in the Client application. Result of this is a clickable link in the Insight View/Edit and LiveView pages, that can be used to redirect to a potentially dangerous URL.
How it is solved:
Billable mission image file name input is sanitized before it is displayed in Insight and now displays exclusively as plain text.
Possible to merge assignments that come from EMCC using the keyboard
Ticket: 19254 | DevOps: #14235 | Reported by: Helse Midt-Norge
Description:
It is possible to navigate to Mission Id tile and open the flyout using the keyboard on mission's sent from Amis.
How it is solved:
Bound the TabStop for the Mission Id tile to the property that checks if the journal merging feature is enabled and that journal is created manually.
Datawarehouse - Wrong method call used to get existing export statuses causes timeout
Ticket: Meeting | DevOps: #6487 | Reported by: Helse Vest
Description:
Export to Datawarehouse retries the same batch of 500 journals over and over due to query timeout of unoptimized export status query.
Query generated by wrong method call to fetch existing export statuses looked like this:
-- Example query with wrong method call to database abstraction layer
SELECT
[Extent1].[ConfigurationId] AS [ConfigurationId],
[Extent1].[JournalId] AS [JournalId],
[Extent1].[Status] AS [Status],
[Extent1].[LastAttemptAt] AS [LastAttemptAt],
[Extent1].[LastSuccessAt] AS [LastSuccessAt],
[Extent1].[EndpointResponse] AS [EndpointResponse]
FROM [dbo].[JournalExportStatus] AS [Extent1]
WHERE ([Extent1].[ConfigurationId] = 16) AND ( EXISTS (SELECT
1 AS [C1]
FROM (SELECT
cast(7804 as bigint) AS [C1]
FROM ( SELECT 1 AS X ) AS [SingleRowTable1]
UNION ALL
SELECT
cast(7808 as bigint) AS [C1]
FROM ( SELECT 1 AS X ) AS [SingleRowTable2]
UNION ALL
SELECT
cast(7818 as bigint) AS [C1]
FROM ( SELECT 1 AS X ) AS [SingleRowTable3]
UNION ALL
SELECT
cast(7822 as bigint) AS [C1]
FROM ( SELECT 1 AS X ) AS [SingleRowTable4]
UNION ALL
SELECT
cast(7832 as bigint) AS [C1]
FROM ( SELECT 1 AS X ) AS [SingleRowTable5]
UNION ALL
SELECT
cast(7837 as bigint) AS [C1]
FROM ( SELECT 1 AS X ) AS [SingleRowTable6]) AS [UnionAll5]
-- These types of UNION All blocks continues for each of the 500 journals that we try to get existing status records for.
WHERE [Extent1].[JournalId] = [UnionAll5].[C1]
))
How it is solved:
Changed method call to use correct method when calling database abstraction layer which optimizes the query.
Query generated by using the correct method call to fetch existing export statuses:
SELECT
[Extent1].[ConfigurationId] AS [ConfigurationId],
[Extent1].[JournalId] AS [JournalId],
[Extent1].[Status] AS [Status],
[Extent1].[LastAttemptAt] AS [LastAttemptAt],
[Extent1].[LastSuccessAt] AS [LastSuccessAt],
[Extent1].[EndpointResponse] AS [EndpointResponse]
FROM [dbo].[JournalExportStatus] AS [Extent1]
WHERE ([Extent1].[ConfigurationId] = cast(16 as bigint)) AND ([Extent1].[JournalId] IN (cast(7804 as bigint), cast(7808 as bigint), cast(7818 as bigint), cast(7822 as bigint), cast(7832 as bigint), cast(7837 as bigint)))
-- There will be 500 cast({number} as bigint) in the IN() part of this query, but this is a pure key lookup so it's much faster than the previous UNION ALL SELECT query.
Incorrect date time display in Insight for Cardiac Arrest pages
Ticket: N/A | DevOps: #16669 | Reported by: Bliksund
Description:
The updated time of cardiac arrest report and the creation date of cardiac arrest form trigger in Insight do not respect the user selected time zone.
How it is solved:
Sync the selected timezone to Blazor components then convert DatetimeOffset to selected timezone.
Release 17.1
Released to customers May 30. 2023
Module | Version |
---|---|
Client Hub | 23.5.58686.0 |
Data Warehouse Export | 23.5.58686.0 |
EWA UWP Client Application | 23.5.58686.0 |
Export | 23.5.58686.0 |
HPLink Patient Identity API | 23.5.58686.0 |
Insight | 23.5.58686.0 |
Integration | 23.5.58686.0 |
Medical Device Broker | 23.5.58686.0 |
Migration Tool | 23.5.58686.0 |
The release includes the following fixes:
Updating SATS and TEWS dataset in the configuration page throws error
Ticket: | DevOps: #17620 | Reported by: Bliksund
Description:
Updating SATS and TEWS dataset in the Insight configuration page throws exception.
How it is solved:
Fixed JSON validation service while saving SATS and TEWS dataset.
Sharing temporary records to DIPS fails
Ticket:1309883598 | DevOps: #17754 | Reported by: Helse Vest
Description:
Sharing temporary record data from a ongoing record to DIPS fails.
How it is solved:
Changed the backing field of the Author Time for DIPS CDA to UpdatedAt.
Unable to create live view configuration from insights
Ticket: | DevOps: #17563 | Reported by: Bliksund
Description:
Unable to create live view configuration from the new live view configuration page in Insights.
How it is solved:
Added transformation from internal model to DTO before sending create POST request.
Complete button/ikon missing in ongoing record
Ticket: | DevOps: #17570 | Reported by: Bliksund
Description:
The complete journal button would disappear when closing a completed journal and opening the ongoing one.
How it is solved:
Fixed by re-raising the event that refreshes the property on which button visibility is based on.
EMCC Integration has enabled API key by default
Ticket:1293338304 | DevOps: #17758 | Reported by: Helse sør-øst
Description:
EMCC Integration have the API key enabled by default as well as a example key.
How it is solved:
Remove apikey from EMCC integration appsettings.json.
Supported medical devices
Corpuls
Supported software versions:
- Version 3.0.X to 4.2.2
SDK version:
- Version 1.6.14