Skip to content

Make non-partitionable resource types configurable instead of hardcoded in BaseRequestPartitionHelperSvc #6875

Open
@patrick-werner

Description

@patrick-werner

Problem Description

Currently, HAPI FHIR hardcodes a list of resource types as non-partitionable in the class BaseRequestPartitionHelperSvc:

myNonPartitionableResourceNames.add("StructureDefinition");
myNonPartitionableResourceNames.add("Questionnaire");
// ...

This behavior prevents resource types like Questionnaire from being partitioned, even though many real-world multi-tenant deployments require exactly that (e.g. tenant-specific forms, templates, libraries, etc.).

To override this restriction, developers currently must:

  • Subclass RequestPartitionHelperSvc
  • Use reflection to remove "Questionnaire" from the internal Set
  • Override Spring beans manually – which is brittle and unsupported across versions

This limits flexibility and increases complexity for multi-tenant environments.

Proposed Change

Introduce a first-class extension mechanism (e.g. a setter or protected method) that allows customizing the list of non-partitionable resource types without relying on reflection or deep bean replacement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions