Secondary Use FHIR Server Implementation Guide
0.1.0 - ci-build
Secondary Use FHIR Server Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
This page describes the default synthetic demo. External-source configuration and its persistent, bounded export pipeline are documented in the repository's docs/HOSPITAL.md.
_has reverse chains._summary=count searchset Bundle with no entries.Without _summary=count, the adapter returns matching source resources without privacy transformation. This path is intended only for the synthetic source fixture; pseudonymization is an export-stage control.
Source searches require HTTP 200 searchset Bundles, retain match entries of the requested type, and follow relative or query-only next links only within the configured FHIR base. Redirects, malformed responses, paging loops, and off-base next links fail the upstream request. A synchronous adapter search returns HTTP 502; async Group creation records the failure in its completed response Bundle.
member-filter expression.subject, patient, or Provenance targets._typeFilter to its declared output type. Criteria within one expression are ANDed; repeated expressions for that type are ORed._since and _until bounds on source timestamps; external mode permits these only when date shifting is disabled._elements after pseudonymization and add SUBSETTED when requested.The demo search API above is separate from UI feasibility. External mode exposes no untransformed search API.
System export is available only in the synthetic demo and follows the same validation/privacy pipeline but starts from all supported source resources instead of Group members.
| Component | Responsibility |
|---|---|
FhirSearchQuery |
resource-aware FHIR search parsing and validation |
CohortRequest |
Bulk Cohort Group and member-filter validation |
CohortStore |
async status, stable Group lifecycle and optional disk persistence |
BulkExportRequest |
strict standard Bulk Data inputs |
FhirSearchBackend |
source search, system selection, and Group selection |
PrivacyTransformer |
mandatory pseudonymization |
ElementFilter |
standard root-element reduction and SUBSETTED tagging |
BulkStore |
job manifest and NDJSON persistence |
The adapter deliberately does not assign cohort semantics to _typeFilter.
| IG | Package | FHIR | Comment |
|---|---|---|---|
| org.cumuluz.secondaryuse.ig#0.1.0 | R4 | ||
| hl7.terminology.r4#7.4.0 | R4 | Automatically added as a dependency - all IGs depend on HL7 Terminology | |
| hl7.fhir.uv.extensions.r4#5.3.0 | R4 | Automatically added as a dependency - all IGs depend on the HL7 Extension Pack | |
| hl7.fhir.uv.bulkdata#3.0.0 | R4 | ||
| hl7.terminology.r4#7.0.0 | R4 | ||
| hl7.fhir.uv.extensions.r4#5.2.0 | R4 | ||
| hl7.fhir.uv.tools.r4#1.1.2 | R4 | for example references |
Package hl7.fhir.uv.extensions.r4#5.3.0 This IG defines the global extensions - the ones defined for everyone. These extensions are always in scope wherever FHIR is being used (built Sat, May 16, 2026 18:32+1000+10:00) |
Package hl7.fhir.uv.extensions.r4#5.2.0 This IG defines the global extensions - the ones defined for everyone. These extensions are always in scope wherever FHIR is being used (built Mon, Feb 10, 2025 21:45+1100+11:00) |
Package hl7.fhir.uv.bulkdata#3.0.0 FHIR based approach for exporting large data sets from a FHIR server to a client application (built Thu, Dec 11, 2025 13:43+0800+08:00) |
Package hl7.fhir.uv.tools.r4#1.1.2 This IG defines the extensions that the tools use internally. Some of these extensions are content that are being evaluated for elevation into the main spec, and others are tooling concerns (built Tue, Mar 24, 2026 11:13+1100+11:00) |
This is an R4 IG. None of the features it uses are changed in R4B, so it can be used as is with R4B systems. Packages for both R4 (org.cumuluz.secondaryuse.ig.r4) and R4B (org.cumuluz.secondaryuse.ig.r4b) are available.
There are no Global profiles defined
Geen gebruik van extern Intellectueel Eigendom (anders dan de FHIR-specificatie)