Release Notes - Analytics Data Processing
Release notes for Analytics Data Processing.
To get the best performance and security, we recommend running the latest version. Planned releases are added to the table below with an estimated release date. This is our current best estimate, and the date may change.
To see which versions of EWA, Analytics Data Processing and Analytics API work together, see Version Compatibility. Changes to the documentation itself are listed in Documentation Notes.
Versions
| Version | Release Date | Release Notes | Configuration | End of Support Date | Comments |
|---|---|---|---|---|---|
| v2.6.0 | 2026.10.12 | v2.6.0 Release Notes | Configuration | - | Recommended version |
| v2.3.6 | 2026.04.14 | v2.3.6 Release Notes | Windows guide | - | - |
| v2.3.0 | 2026.02.13 | v2.3.0 Release Notes | Windows guide | - | Known issue |
| v2.2.0 | 2026.01.20 | v2.2.0 Release Notes | Windows guide | - | - |
| v2.1.0 | 2025.10.28 | v2.1.0 Release Notes | Windows guide | 2026.12.31 | - |
| v2.0.1 | 2025.09.04 | v2.0.1 Release Notes | Windows guide | 2026.06.01 | No longer supported |
| v1.7.3 | 2025.09.09 | v1.7.3 Release Notes | Windows guide | 2026.04.22 | No longer supported |
| v1.7.2 | 2025.02.17 | v1.7.2 Release Notes | Windows guide | 2025.04.01 | No longer supported |
v2.6.0
Improved, configurable logging, a more reliable incremental load, data quality fixes in Clean and Core, and internal improvements.
Notes
- Required: before you start this version, delete the tables
raw.measurementsandewa_clean.measurementsfrom the Analytics database, if present. Their structure has changed, and the old tables conflict with the new ones. They are recreated by the full load below. - Required: set both
BLIKSUND_LOAD_FULL_ON_STARTandBLIKSUND_TRANSFORM_FULL_ON_STARTtotruefor the first run after upgrading, and set them back tofalsewhen the service has started, see Upgrading. This version changes how data is loaded and the types of some columns, so existing tables must be rebuilt. - Required if you set
DATABASE__ENCRYPTorDATABASE__TRUST_SERVER_CERTIFICATE: the encryption settings are now read per database, asSOURCE__DATABASE__ENCRYPT,SOURCE__DATABASE__TRUST_SERVER_CERTIFICATE,TARGET__DATABASE__ENCRYPTandTARGET__DATABASE__TRUST_SERVER_CERTIFICATE, allyesby default.DATABASE__ENCRYPTandDATABASE__TRUST_SERVER_CERTIFICATEare ignored without a warning, so a value ofnobecomesyes. Set the same values in the per-database settings. Earlier versions did the opposite: they ignored the per-database settings, so check those too if you have set them. SOURCE__DATABASE__TYPEandTARGET__DATABASE__TYPEare validated at start. Usemssql.- This is the first version delivered as a Docker image, which is the recommended installation. To move an existing Windows installation, see Moving from Windows to Docker. If you stay on Windows, the log file is now
logs\service.loginstead oflogs\analytics_dp_service.log.
Features
- Added column
resolved_mission_type_idtoewa_clean.records_missions: for older records that store the mission type as text, the id of the mission type with that name. Many older records store a translated name, for example in Norwegian, and these are not resolved yet, so the column is empty for them. - Configurable logging with the
LOG__*settings: log level, plain or JSON console output, and log file size and rotation. See Configuration. - New optional setting
BLIKSUND_LOAD_REPAIR_JSONrepairs unescaped quotes in JSON text from the EWA database before it is loaded. See Configuration.
Bug fixes
- The incremental load no longer skips, duplicates or repeats rows when several rows in the EWA database have the same change timestamp.
- All timestamps are handled in UTC.
- Fixed loading of
ewa_clean.measurements. - Core tables no longer keep outdated rows when a record changes status, or when a list in a record gets shorter or is emptied.
- Fixed rows that were dropped in some Clean and Core tables.
- The RETTS priority for a record is chosen the same way on every run.
- Postal codes (
home_zipinewa_clean.records_patientsandewa_core.dim_patients) are stored as text, so leading zeros are kept. ewa_core.fact_recordsno longer leaves out records that have times registered but no ambulance alerted time.- Malformed data from the EWA database no longer stops a load.
metadata_inserted_atandmetadata_updated_atare written in UTC in all tables.
Security patches
- Software and dependencies are updated to avoid known vulnerabilities.
Other changes
- The Clean and Core table descriptions are corrected: missing tables and columns are added, columns that never existed are removed, and
record_idis documented as BigInt. See the v2.6.0 table descriptions. - The optional setting
SOURCE__DATABASE__ALLOW_SNAPSHOT_ISOLATIONis now documented. It reads from the EWA database without blocking it. The database must have snapshot isolation turned on.
v2.3.6
A bug fix release for forms, triage and table types.
Notes
- Set
BLIKSUND_LOAD_FULL_ON_STARTtofalseandBLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading.
Bug fixes
- Responses to the PresentingComplaint form are now linked to their records in
ewa_clean.records_forms. - Uses the correct field for
sk_sats_priority_levelinewa_core.fact_records(priority_level_totalinstead oftriage_total_score). - Removed invalid rows and duplicates from
ewa_core.dim_form_elements. - Renamed column
sk_form_tosk_forminewa_core.fact_form_responses. - Changed the type of
response_stateinewa_clean.form_responsesfromVARCHARtoInt, to match the documentation.
Security patches
- Security patches.
v2.3.0
Adds measurement data from medical devices.
Notes
- Set
BLIKSUND_LOAD_FULL_ON_STARTtofalseandBLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading. The first run takes much longer than usual.
Features
- Reintroduced table
ewa_clean.measurements, with measurement data from medical devices. This table was removed in v1.7.0.
Security patches
- Security patches.
Known issues
- If the database still has
ewa_clean.measurementsfrom v1.4.0, the load fails with a schema error. Dropmeasurementsfrom bothewa_cleanandraw, then start the service again. - Loading of
ewa_clean.measurementscan get stuck when a record has many measurements. Possible workaround: delete the table and increaseBLIKSUND_LOAD_BATCH_SIZE. Fixed in v2.6.0.
v2.2.0
Adds deletion reasons for records and links between copied forms.
Notes
- Set
BLIKSUND_LOAD_FULL_ON_STARTtofalseandBLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading.
Features
- Added table
ewa_clean.audit_logwith the reason for deletion of records. - Added column
parent_form_idtoewa_clean.form_configurations, to connect copied forms together.
Other changes
- Faster loading from the operational database to the Analytics database.
v2.1.0
Adds patient data to the Core layer and requires an encrypted database connection.
Notes
- Set
BLIKSUND_LOAD_FULL_ON_STARTtofalseandBLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading. - Removed table
ewa_core.dim_oxygenand columnsk_oxygenfromewa_core.fact_records.
Features
- Added table
ewa_core.dim_patients. - Added more columns to
ewa_core.bridge_locations.
Security patches
- Uses ODBC Driver 18 for SQL Server.
- Database connections are always encrypted.
- Security patches.
v2.0.1
A security release.
Security patches
- Upgraded to Python 3.12 and sqlite3 v3.50.4. Both versions are shown in the log file.
- Improved handling of secrets.
v2.0.0
Introduces the Core and Serve layers, and renames Clean tables so that everything connected to a record starts with records_.
Notes
- Set
BLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading. Existing tables are deleted and new ones are created. - Because of the renames, tables that are no longer used can remain in the database. See Removing old tables for a script that deletes them.
- All tables connected to a record now start with
ewa_clean.records_:ewa_clean.records_billable_informationewa_clean.records_contagionewa_clean.records_drugsewa_clean.records_gcsewa_clean.records_infusionsewa_clean.records_interventionsewa_clean.records_locationsewa_clean.records_miscellaneous_informationewa_clean.records_miscellaneous_medicalewa_clean.records_missionsewa_clean.records_news2ewa_clean.records_oxygenewa_clean.records_rettsewa_clean.records_satsewa_clean.records_sepsisewa_clean.records_timeewa_clean.records_patientsewa_clean.records_personnelewa_clean.records_urgency_levels
- Renamed columns:
ewa_clean.records_locations.idtoewa_clean.records_locations.location_idewa_clean.records_locations.municipality_or_countrytoewa_clean.records_locations.municipalityewa_clean.records_patients.idtoewa_clean.records_patients.patient_id
Features
- Added the Core layer. This is an early version, and tables and columns may change significantly in later releases.
- Added the Serve layer. This is an early version, and tables and columns may change significantly in later releases.
- Added column
predecessortoewa_clean.configurable_mission_types, the id of the mission type it was created from. - Added table
ewa_clean.history_of_presenting_complaint_legacywith the old History of Illness entries, for backward compatibility. The new History of Presenting Complaint data is in the forms tables. - Added table
ewa_clean.unknown_patient_id_types, with labels for the identification types of unknown patients inewa_clean.records_patients.unknown_patient_identification_type. - Added column
unknown_patient_identification_type_nametoewa_clean.records_patients, with the type value fromewa_clean.unknown_patient_id_types.
Known issues
sk_sats_priority_levelinewa_core.fact_recordsis built fromtriage_total_scoreinstead ofpriority_level_total, so it can point to the wrong SATS priority level. Fixed in v2.3.6.- Column
sk_forminewa_core.fact_form_responsesis namedsk_form_. Fixed in v2.3.6.
v1.7.3
A security release.
Security patches
- Upgraded sqlite3 to v3.50.4. The Python and sqlite3 versions are shown in the log file.
v1.7.2
Bug fixes for records and forms, and removal of previously deprecated columns.
Notes
- Set both
BLIKSUND_TRANSFORM_FULL_ON_STARTandBLIKSUND_LOAD_FULL_ON_STARTtotruewhen upgrading. Existing tables are deleted and loaded again. - Removed column
ewa_clean.pr_medical_record_crews.name. Useewa_clean.pr_users.full_nameinstead. - Removed column
ewa_clean.missions.emmc_mission_id. Useewa_clean.missions.emcc_mission_idinstead.
Bug fixes
- Records where
ewa_clean.records.emcc_mission_idisNULLare now included. - The column type for
record_idisintin all tables. ewa_clean.form_configuration_elements.form_configuration_section_idholds the correct ids.
v1.7.0
Adds RETTS and SATS priority levels.
Notes
- Set
BLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading. Existing tables are deleted and loaded again.
Features
- Added table
ewa_clean.retts_priority_levels. - Added table
ewa_clean.sats_priority_levels.
Bug fixes
- No longer tries to send anonymous statistics.
- Loading of measurements is turned off.
v1.6.4
Timezone-aware timestamps, resources, and more NEWS2 and location details in the Clean layer.
Notes
- Set both
BLIKSUND_TRANSFORM_FULL_ON_STARTandBLIKSUND_LOAD_FULL_ON_STARTtotruewhen upgrading. Existing tables are deleted and loaded again, which may take longer than usual. - All
datetime2columns are changed todatetimeoffset(7), so that timezone information is included. - Table
ewa_clean.resourcesis renamed toewa_clean.records_resources_stations, since it holds the resource and station filled out in the record.
Features
- Added table
ewa_clean.resources, with all resources registered in the system. - Added table
ewa_clean.resource_type. - Added columns
latitudeandlongitudetoewa_clean.locations. - Added columns
scoring_params_id,scoring_params_item_id,scoring_params_item_score,scoring_params_item_textandscoring_params_titletoewa_clean.news2. - Added columns
unknown_patient_identification_numberandunknown_patient_identification_typetoewa_clean.patients. - Added column
deleted_attoewa_clean.stations,ewa_clean.organizationandewa_clean.configurable_mission_types.
Bug fixes
ewa_clean.sats.gcsnow includes all data.- Duplicate measurements are no longer loaded.
Other changes
- The type of
ewa_clean.emcc_tickets.full_emcc_mission_id_updated_atis changed fromvarchar(max)todatetime2. - The default value for
BLIKSUND_LOAD_BATCH_SIZEis changed from 500 to 10000.
v1.4.0
Adds measurements and TEWS parameters to the Clean layer.
Notes
- Set
BLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading. Existing tables are deleted and loaded again. - Measurements can contain many rows, which can make the first run of this version slower.
Features
- Added table
ewa_clean.measurements, with measurements taken from patients. - Added table
ewa_clean.measurement_types, with the types of measurements and their ids. - Added columns
triage_tews_selected_params_id,triage_tews_selected_params_title,triage_tews_selected_params_item_id,triage_tews_selected_params_item_textandtriage_tews_selected_params_item_scoretoewa_clean.sats.
Bug fixes
- Fixed the spelling of columns
first_heart_rhythmandprehospital_thrombolysisinewa_clean.cardiac_arrest_forms.
Known issues
- Measurements can be loaded more than once, giving duplicate rows in
ewa_clean.measurements. Fixed in v1.6.4.
v1.3.1
Adds EMCC tickets and checklists to the Clean layer.
Notes
- Set
BLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading. Existing tables are deleted and loaded again. - Column
ewa_clean.pr_medical_record_crews.namewill be removed after 2025.02.01. Useewa_clean.pr_users.full_nameinstead. - Column
ewa_clean.missions.emmc_mission_idwill be removed after 2025.02.01. Useewa_clean.missions.emcc_mission_idinstead.
Features
- Added table
ewa_clean.emcc_tickets, with ticket data for EMCC missions, including mission ids, urgency levels and dispatch codes. - Added table
ewa_clean.records_emcc_tickets, linking EMCC tickets to their records. - Added table
ewa_clean.codes_status, with the statuses of a mission and their codes. - Added table
ewa_clean.checklist_configuration_items, with the configuration of checklists. - Added table
ewa_clean.checklist_response_items, with the responses to checklists. - Added columns
mission_resource_idandemcc_mission_idtoewa_clean.missions.
Bug fixes
- Column
ewa_clean.missions.dispatch_codenow contains the dispatch code.
v1.2.0
Adds cardiac arrest forms and urgency levels to the Clean layer.
Notes
- Set
BLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading. Existing tables are deleted and loaded again. - Column
ewa_clean.pr_medical_record_crews.namewill be removed after 2025.02.01. Useewa_clean.pr_users.full_nameinstead.
Features
- Added table
ewa_clean.cardiac_arrest_forms, with information from filled-out cardiac arrest forms. - Added table
ewa_clean.urgency_levels. - Added table
ewa_clean.record_urgency_levels, linking urgency levels to records. - Added column
ewa_clean.pr_users.full_name.
Other changes
- Faster incremental loading of
ewa_clean.drugs,ewa_clean.locationsandewa_clean.time. - The type of
ewa_clean.oxygen.quantityandewa_clean.infusions.amountis changed from float to nvarchar(max).
Known issues
- Columns
first_heart_rhythmandprehospital_thrombolysisinewa_clean.cardiac_arrest_formsare misspelled. Fixed in v1.4.0.
v1.1.0
Adds organizations and stations to the Clean layer.
Notes
- Set
BLIKSUND_TRANSFORM_FULL_ON_STARTtotruewhen upgrading. Existing tables are deleted and loaded again.
Features
- Added
organizationsandstationsto schemaewa_clean, to show which organization or health trust a record belongs to.
Other changes
- Removed some personnel registration and configurable mission type tables from
stage, to reduce transformation time and storage cost. The tables inewa_cleanare unchanged.
v1.0.3
The first version.
Notes
- This service replaces FormModuleData. If you have installed FormModuleData, set
BLIKSUND_TRANSFORM_FULL_ON_STARTtotrue. The Forms tables are then deleted and loaded again.