[6.0.0] - 2026-03-31
Overview
Feasibility Portal -> Data Portal
Feasibility Triangle -> Data Node
Since the last major the repository has been refactored to reflect the additional functionality of the dataportal.
It was devided into a data-portal and a data-node part.
Additionally, the data-node, which replaced the feasibility-triangle now includes additional services, supporting the full data use project (DUP) pipeline at the node site.
In this context we have also updated and improved the documentation.
The DUP Pipeline includes the services described here.
The following services or components are new:
- DUP Pipeline Coordinator (aether)
- FHIR Terminology Server (Blaze)
- De-Identification, Minimization, Pseudonymization DIMP (fhir-pseudonymizer)
- FHIR Validation (fhir-validator)
- FHIR Flattening (fhir-flattener)
Ontology
Current: v4.0.0
Changed since laster Major Release FROM v3.8.0 To v4.0.0
Major Ontology Updates
- Upgrade all resources to use CDS version 2025 by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#445
- Remove primitively-typed elements from DSE profile details tree by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#303
- Create scorecard.yml by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#392
- 320 create broad availability measure by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#329
- Fix intermediate nodes missing in profile tree and add ordering by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#395
- Address backend issues 344, 357, and 358 by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#398
- Add ref-based targeting to GitHub FHIR package manager and fix unnecessary inflation by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#407
- Implement configurable field handling in DSE via config file by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#412
- Add value set display values to terminology display mapping file by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#413
- Add missing field exclusion if occurence is 0 for profile details by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#417
- Implement category based procedure criterion class for FDPG project by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#418
- Include admission identifier of MII CDS Encounter profile by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#439
- Rework field config and change identifier handling by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#443
- Allow multiple value set references in UI profile attributes by @Frontman50 in medizininformatik-initiative/fhir-ontology-generator#314
- Ensure backbone references are selectable by @Frontman50 in medizininformatik-initiative/fhir-ontology-generator#363
- Adapt generator to new MII CDS ICU module version by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#361
- Restrict allowed units of age criterion class by @paulolaup in medizininformatik-initiative/fhir-ontology-generator#368
Updates since last Major
Data Portal
| Component | From | To |
|---|---|---|
| dataportal-ui | v6.3.3 | v6.8.0 |
| dataportal-backend | v7.3.0 | v7.3.0 |
| Keycloak | quay.io/keycloak/keycloak:26.3.1 | quay.io/keycloak/keycloak:26.3.1 |
| availability-updater | - | 0.3.0 |
Data Node
| Component | From | To |
|---|---|---|
| FHIR Server - Blaze | v1.0.4 | v1.6.2 |
| TORCH | 1.0.0-alpha.6 | 1.0.0-alpha.18 |
| FLARE | 2.6.0 | 2.7.0 |
| FDE | 1.3.1 | 1.3.3 |
| aether | - | 0.6.0 |
| fhir-pseudonymizer | - | 2.23.0 |
| mii-fhir-validator | - | 0.0.1-alpha.5 |
| terminology server (blaze) | - | 1.6.2 |
| fhir-flattener | - | 0.1.0-alpha.7 |
Major Changes since last Major
dataportal-ui
- Infinite scrolling – implemented for CodeableConcept search, Criteria search, and Reference search #217
- Support loading of query by id via url params #416
- Search engine updates – revised engine logic and search operation flow.
- Updated UI profile to support multiple value sets and criteria sets for feasibility #425
- Added feedback through the snackbar on profile edit #448
- Major overhaul of CSS and component layouts for improved consistency and responsiveness. #452, #440
- Removed unused and outdated configuration entries; Data Portal settings are now retrieved from the backend settings endpoint during application initialization. #432
- CRTDL display objects are now loaded from the backend at startup. #455
- Improved display of terminology titles. #465
- Implemented auto-save functionality in the data selection editor; profile changes are now saved automatically. #468
- Added a selectable boolean to criteria-relative data to prevent adding elements to the cohort when not allowed. #482
- Fixed UI crashes occurring when linking a reference in the data selection. #478
- Added bulk search functionality for criteria #460
- Added bulk search support for
CodeableConcept#461 - Introduced explanation tabs providing information about concepts, fields, references, terminology codes, time restrictions and token filters #495
- Snackbar notifications now display across the UI on user interaction #470, #476
- Updated button naming convention to be action-oriented #469
- Redesigned tab component and query editor for improved usability and responsiveness #388
- Added dedicated tab to display and manage selected concepts #477
- Changed repository name from "feasibility-gui" to "dataportal-gui" to reflect broader functionality #502
- Added save, upload, and download functionality to the action bar by default across the UI #463
- Renamed data selection tab names in the query editor view #501
- Refactored the CRTDL translator to allow bulk upload of criteria and codeable concepts #472
- Added auto upgrade of CRTDL on upload #545
- Added auto upgrade of CCDL on upload #548
dataportal-backend
- #599 - Update UI profile model to allow support of multiple value sets by @michael-82 in medizininformatik-initiative/dataportal-backend#600
- Settings endpoint was added to provide configuration settings to the GUI (#663)
- Endpoint to retrieve all ui profiles was added (#721)
- An endpoint was added to convert crtdl to a zip file with csv files (#721)
- Relationship entries (parents/children/related_items) in terminology search now contain selectable, termcode and terminology attributes (#664, #734)
- #690 - Add exact search endpoint for criteria and for value sets by @michael-82 in medizininformatik-initiative/dataportal-backend#699
- Switch to PEM encoded client certificate for dsf broker by @EmteZogaf in medizininformatik-initiative/dataportal-backend#741
- #664 - Include selectable boolean in /terminology/entry/{id}/relations response by @michael-82 in medizininformatik-initiative/dataportal-backend#694
- #721 - Change UiProfile handling by @michael-82 in medizininformatik-initiative/dataportal-backend#723
- Update dependency com.squareup.okhttp3:mockwebserver to v5.3.0 by @renovate[bot] in medizininformatik-initiative/dataportal-backend#722
- #709 - Add endpoint to convert crtdl to csv zip by @michael-82 in medizininformatik-initiative/dataportal-backend#718
- #663 - Standardized API endpoint to serve configuration for the frontend by @michael-82 in medizininformatik-initiative/dataportal-backend#669
- #771 - Add extra variable for internal polling limit vs external (ui) polling limit by @michael-82 in medizininformatik-initiative/dataportal-backend#774
- #689 - Improved Error Handling by @michael-82 in medizininformatik-initiative/dataportal-backend#769
- #836 - Dispatch queries asynchronously by @michael-82 in medizininformatik-initiative/dataportal-backend#837
- Ensure validator also validates against children fields by @juliangruendner in medizininformatik-initiative/dataportal-backend#843
- #758 - Update Documentation by @michael-82 in medizininformatik-initiative/dataportal-backend#849
- #870 - Auto upgrade CRTDLs by @michael-82 in medizininformatik-initiative/dataportal-backend#875
- Reconnect websocket to DSF after connection termination by @EmteZogaf in medizininformatik-initiative/dataportal-backend#742
- Import all Certificates in PEM Files by @EmteZogaf in medizininformatik-initiative/dataportal-backend#781
- #872 - Move Reconnector to Collector and do not reuse Websocket by @EmteZogaf in medizininformatik-initiative/dataportal-backend#873
availability-updater
- Initial Release with Container build
- Download Ontology from fhir-ontology-generator repository
- Download availability reports from local fhir report server
- Update Availability based on ontology
- Update Availability on local elastic search
- Treat patient stratifier differently - calculate accross als statifier and map individually
- Make min required reports for availability update configurable
- Added oauth2 and basic auth support
- Added self-signed certificate support
Keycloak
Blaze (FHIR server for data and terminology service)
- Improve FHIR Search Performance for Multiple Params and Values (#799)
- Fix Paging with FHIR Search _id Parameter (#2953)
- Prevent Cache Thrashing During Large Resource Scans (#3086)
- Improve Performance of FHIR Search Queries with 10k Values (#3112)
- Allow to Cache Larger CQL Expressions (#3113)
- Optimize DateTime Parsing (#3064)
- Remove Duplicate Search Params and Values (#3036)
- Implement _since for Patient $everything (#1636)
- Implement ValueSet References (#110)
- Implement CQL Instance Expression for FHIR Types (#3126)
- Fail on Unsupported FHIR Search Modifier (#2951)
- Switch Resource Cache Sizing from Count to Memory-Based (#3253)
- Implement $cql Operation (#3230)
- Implement CQL Operator InCodeSystem (#3157)
- Implement Basic VCL Support (#3275)
- Offer Health Checks (#3338)
- Support Multiple Codings in Terminology Operations (#3347)
- Fix SNOMED CT CodeSystem Generation (#3456)
- Resolve Versions in Terminology Service (#3470)
TORCH
- Transfer script to FHIR DUP Server #394
- Update Shipped Structure Definitions #481
- Implement Conflict Handling in Consent #513
- Increase WebFlux Buffer Size #514
- Support nested Lists #589
- Handle single consents #478
- Add information about attributeGroup to resources #525
- Support backbone reference resolve #511
- Fix unsupported FHIR time types in consent check #645
- Set required recorded field on Provenance resource #662
- Fix Missing Default For Base Url #673
- Fix Resource Cache Not Filtered After Reference Handling #678
- Fix NPE in Date Parsing Crashes Consent Extraction #679
- Fix NPE in collectReferences #726
- Fix NPE in DateTimeReading #696
- Fix Torch Not Retrying On Prematurely Closed #701
- Add FAQ and Error Numbers for Lookup #594
- Implement Job Manager #659
- Fix Concurrency Issue In Batch Bundle Query Calls #734
- Fix slice with coding not resolved correctly #737
- Ensure Unexpandable concept does not shut down torch #749
- Remove Torch Reference Restriction #741
- Fix Filter Expansion Defaulting To Empty When Not Expandable #769
- Fix: cascading delete not resolved correctly #772
- Add Patient Params To Transfer To Dup Script #584
- Adding Diagnostic Monad for Collecting Operation Outcomes #666
- Add Patient.identifier handling for traceability #772
FLARE
- Update Ontology to v4.0.0
FDE - Fhir-Data-Evaluator
- Update Documentation
- Make Obfuscation Count Configurable
- Fix UUID Not Set Correctly
- Add Resource Information on Failures
- Add Integration Tests with Hapi Fhir Server
aether
- Initialise project and add basic extraction and pipeline functionality
- Add TORCH support
- Add github pages documentation
- Add Pipeline steps including connected services: torch, wait, dimp, fhir-validation, flattening, send
fhir-pseudonymizer
- Add dataportal base DUP DIMP yaml
- Add fhir-pseudonymizer v2.25.0 from base repository
- Core used methods in dataportal context: redact, generalize, cryptoHash, keep
mii-fhir-validator
- Add initial service and connect to local terminology service
- Based on HL7 validator cli project
- Provides validator webservice /validateResource
- Includes package download and advisor file setup
fhir-flattener
- Wrapped pathling library ViewDefinition Runner
- Add ViewDefinition run operation
- Add support fro quantity extensions