Skip to content

Issue/378 profiles for all resources#379

Merged
hhund merged 17 commits intodevelop_2from
issue/378_Profiles_for_All_Resources
Oct 31, 2025
Merged

Issue/378 profiles for all resources#379
hhund merged 17 commits intodevelop_2from
issue/378_Profiles_for_All_Resources

Conversation

@hhund
Copy link
Copy Markdown
Member

@hhund hhund commented Oct 29, 2025

  • Default profiles for all supported resources. All meta data resource now have version 2.0.0.
  • The Questionnaire profile is compatible with the old version 1.5.0. The even older 1.0.0 is no longer supported.
  • FHIR meta data resources from v1 process plugins are modified on load to conform to 2.0.0 profiles. Resources from v2 plugins are not modified and need written as compliant by developers.
  • FHIR server has data migration jobs to make sure existing Questionnaire and Task profile resource comply with the new base profiles.
  • Compliance with new default profiles is enforced during create and update operations (single resources or via batch/transaction bundles). If a resource does not self declare the default profile, a default profile is added before handling the resource over to FHIR validator.
  • Disable FHIR resource validation for loading the internal bundle on startup. Resources are validated by tests in dsf-fhir-validation module. Disabled validation speeds up FHIR server startup an thus also integrartion tests.

closes #378

hhund added 12 commits October 29, 2025 00:55
- Changed version for all resources to 2.0.0.
- Added new profiles for all supported resources.
- Added new profile for complex type Meta to validate read access tags.
- Updated urn:ietf:bcp:13 CodeSystem with latest values from IANA.
- Added all old 1.0.0 resources to resources.delete file.
- Removed Questionnaire 1.0.0 and 1.5.0 profiles, new 2.0.0 profiles
will be the only one supported by DSF 2.0.0.
- Changed the profile url for the abstract Task profile from
.../task-base to .../task
- Changes abstract=true to false in QuestionnaireResponse profile
- Resources from existing process plugins will be modified to comply
with the Questionnaire 2.0.0 and Task 2.0.0 profiles during deployment
and resource already in the database will be modified by startup
migration jobs. Needed changes not part of this commit
- Fixed min cardinalities for sliced values to be equal to slices min
sum
- New Task profile in SnapshotGeneratorImpl for HAPI bug workaround
- New log method and addition constructor variants in
ValidationSupportRule
- QuestionnairesMigrationJob removes version prefix from profiles and
sets "required" property for items with link-ids "business-key" and
"user-task-id" to true else to false if Questionnaire had old 1.0.0
profile
- StructureDefinitionTaskProfileMigrationJob modifies baseDefinition
(task-base -> task), adds structure-definition profile and generates new
StructureDefinition snapshots
- both migration jobs emit resource updated events
- New methods in QuestionnaireDao and StructureDefinitionDao to simplify
migration job implementation
- removed Questionnaire 1.0.0 profile related tests
- FHIR resources from v1 plugins are rewritten during resource loading
to comply with 2.0.0 profiles
- FHIR resource from v2 plugins need to be compliant and are not
rewritten
- Default profiles are now enforce during create and update operations
(single resources and via transaction/batch bundle).
- DefaultProfileProvider is used to add a default DSF profile to a new
or to be updated resource if the resource does not already declare a
profile supported as on of the default profiles. Some exceptions: Since
we do not have a default (non abstract) profile for Task resources, no
profile is added. But Task resource will need to have a specialized
profile declared to make it past the authorization rule. For
Organization resources, the member organization profile is considered
the default, parent organizations are allowed if the
.../organization-parent profile is self declared. The parent profile is
considered a "secondary" default profile. Not added by default, but no
other will be enforced if self declared.
- Fixed integration tests, where non valid resources where used.
- Improved ConformanceService: The CapabilityStatement resource now
declared DSF profiles as the rest.resource.profile property the the
exception of Task, still declaring the FHIR base profile. The parent
organization profile is declared as a rest.resource.supportedProfile
same is true for Task profiles from process plugins.
- New option in CommandFactory to disable FHIR resource validation
during transaction/batch Bundle execution.
- FHIR resource validation disabled for the execution of the internal
bundle for the initial data loader on startup.
- Modified dsf maven plugin Bundle generator to reinclude self declared
profiles.
- Refactored DefaultProfileProviderImpl from enum to class, since we do
not need the DISABLED, ENABLED variants anymore.
- Added default validation code to UpdateCommand for "update as create"
path.
@hhund hhund added this to the 2.0.0 milestone Oct 29, 2025
@hhund hhund requested review from schwzr and wetret October 29, 2025 22:05
@hhund hhund self-assigned this Oct 29, 2025
@hhund hhund linked an issue Oct 29, 2025 that may be closed by this pull request
hhund added 3 commits October 29, 2025 23:56
- Added missing override annotations
- ActivityDefinition profile now also requires date to be set. MII and
DSF plugins have ActivityDefinition.date set.
- Added AbstractMetaTagProfileTest and
AbstractMetaDataResourceProfileTest as base classes to some tests.
- Added missing override annotation
issue/378_Profiles_for_All_Resources
hhund added a commit to datasharingframework/dsf-process-hello-world that referenced this pull request Oct 31, 2025
wetret added a commit to datasharingframework/dsf-process-hello-world that referenced this pull request Oct 31, 2025
…sues/DSF-344_additional-data-types

* origin/issue/5_Update_to_DSF_2:
  modifications for datasharingframework/dsf#379
  removed not needed repo config
  initial round of changes for DSF 2.0.0
  v1.5.0.0 release
  v1.5.0.0 release
  1.0.0.0 release
  prepare release 0.9.0
  0.6.0 release
  Update LICENSE
@hhund hhund merged commit f4b7a77 into develop_2 Oct 31, 2025
4 checks passed
@hhund hhund deleted the issue/378_Profiles_for_All_Resources branch April 16, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add FHIR Profiles for All Supported Resource Types

3 participants