eHealth Infrastructure
8.0.0 - release Denmark flag

eHealth Infrastructure, published by Den telemedicinske infrastruktur (eHealth Infrastructure). This guide is not an authorized publication; it is the continuous build for version 8.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/fut-infrastructure/implementation-guide/ and changes regularly. See the Directory of published versions

CapabilityStatement: measurement

Official URL: http://ehealth.sundhed.dk/fhir/CapabilityStatement/measurement Version: 8.0.0
Active as of 2026-01-13 Computable Name: measurement

Raw OpenAPI-Swagger Definition file | Download

  • Implementation Guide Version: 8.0.0
  • FHIR Version: 4.0.1
  • Supported Formats: application/fhir+xml, xml, application/fhir+json, json, application/x-turtle, ttl, html/json, html/xml, html/turtle
  • Published on: 2026-01-13 11:12:11+0000
  • Published by: Den telemedicinske infrastruktur (eHealth Infrastructure)

Note to Implementers: FHIR Capabilities

Any FHIR capability may be 'allowed' by the system unless explicitly marked as 'SHALL NOT'. A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.

This CapabilityStatement instantiates the CapabilityStatement http://hl7.org/fhir/uv/bulkdata/CapabilityStatement/bulk-data

FHIR RESTful Capabilities

Mode: server

Summary of System-wide Operations
ConformanceOperationDocumentation
SHALL$reindex
SHALL$migrate

Data migration

SHALL$search-measurements

The search-measurements operation searches for bundles of related resources having Observations, Media or QuestionnaireResponses matching the search criteria.

Parameter description

  • patient: Find resource(s) referring the specified patient - Reference(eHealth Patient).
  • episodeOfCare: Find resource(s) referring the specified episode of care - Reference(eHealth EpisodeOfCare).
  • device: Find resource(s) referring the specified device - Reference(eHealth Device | eHealth DeviceMetric).
  • period: Resource(s) must have either an instant or time period within or overlapping the given period. The used instant/time period varies with resource as follows: Element effective for eHealth Observation; Element authored for eHealth QuestionnaireResponse; Element occurrence for eHealth Media.
  • based-on: Resources(s) must be based on any of the specified procedure requests - Reference(eHealth ServiceRequest).
  • _tag: When specified, resource(s) must have at least one of the specified tags in meta data - for instance a Coding(ehealth-system CodeSystem) or on token form: http://ehealth.sundhed.dk/cs/ehealth-system|xa. Note that the _tag functions as an optional filter, not as a selection criteria in the way the other parameters work.

"period" must always be specified.

Additionally at least "patient" or "episodeOfCare" must be specified.

Output description

The result of this operation will return a Bundle with a list of nested Bundles having resources matching the search parameters.

Each of the nested bundles will contain the full set of related eHealth Observation, eHealth Media, eHealth QuestionnaireResponse and eHealth Provenance resources.

If a eHealth QuestionnaireResponse is part of the nested bundle the referenced eHealth Questionnaire will also be included in the nested bundle.

Related resources are the set of resources created by a single invocation of the submit-measurement operation.

SHALL$search-measurements-bundle-limit

The search-measurements-bundle-limit operation searches for a number of bundles of related resources having Observations, Media or QuestionnaireResponses matching the search criteria.

Parameter description

  • patient: Find resource(s) referring the specified patient - Reference(eHealth Patient).
  • episodeOfCare: Find resource(s) referring the specified episode of care - Reference(eHealth EpisodeOfCare).
  • count: The number of bundles to return, max allowed value is 100 - Integer.
  • start: Based on the effective time of measurement, please see <a href='https://ehealth.sundhed.dk/fhir/StructureDefinition-ehealth-observation-definitions.html#key_Observation.effective[x]'>Observation.effective[x]</a> , <a href='https://ehealth.sundhed.dk/fhir/StructureDefinition-ehealth-questionnaireresponse.html#effective-period'>QuestionnaireResponse.effective-period</a> , and <a href='https://ehealth.sundhed.dk/fhir/StructureDefinition-ehealth-media-definitions.html#key_Media.created[x]'>Media.created[x]</a>. If QuestionnaireResponse.effectivePeriod is missing, authored is used instead. If provided, the operation will search for observation, media and QuestionnaireResponse resource(s) with a clinical effective time after this time. The result bundles will be sorted in ascending order - DateTime.
  • end: Based on the effective time of measurement, please see <a href='https://ehealth.sundhed.dk/fhir/StructureDefinition-ehealth-observation-definitions.html#key_Observation.effective[x]'>Observation.effective[x]</a> , <a href='https://ehealth.sundhed.dk/fhir/StructureDefinition-ehealth-questionnaireresponse.html#effective-period'>QuestionnaireResponse.effective-period</a> , and <a href='https://ehealth.sundhed.dk/fhir/StructureDefinition-ehealth-media-definitions.html#key_Media.created[x]'>Media.created[x]</a>. If QuestionnaireResponse.effectivePeriod is missing, authored is used instead. If provided, the operation will search for observation, media and QuestionnaireResponse resource(s) with a clinical effective time before this time. The result bundles will be sorted in descending order - DateTime.
  • based-on: Resources(s) must be based on any of the specified service requests - Reference(eHealth ServiceRequest).
  • _tag: When specified, resource(s) must have at least one of the specified tags in meta data - for instance a Coding(ehealth-system CodeSystem) or on token form: http://ehealth.sundhed.dk/cs/ehealth-system|xa. Note that the _tag functions as an optional filter, not as a selection criteria in the way the other parameters work.

One of either "start" or "end", along with the "count" parameter must always be specified.

Additionally at least "patient" or "episodeOfCare" or "based-on" must be specified.

Output description

The result of this operation returns a Bundle with a list of nested Bundles having resources matching the search parameters. The number of nested Bundles depends on the count parameter.

Each of the nested bundles contains the full set of related eHealth Observation, eHealth Media, eHealth QuestionnaireResponse and eHealth Provenance resources, from the same submission request.

Related resources are the set of resources created by a single invocation of the submit-measurement operation.

SHALL$submit-measurement

The submit-measurement operation provides a single measurement in the form of a Bundle of Observation, QuestionnaireResponse and Media for storage and, subsequently, further processing in the eHealth Infrastructure. A Provenance resource is implicitly created by the infrastructure referencing input Bundle resources as target, thereby relating the resources that were submitted.

Media resource inline content in content.data will be stored outside the resource, and the content.url for retrieval is set on the resource. Image content is anonymized by removing sensitive metadate before storage. Image content is processed to generate thumbnail representations in the thumbnail element.

Parameter description

measurement: Bundle containing:

  • 0..* Observation (ehealth-observation profile)
  • 0..* QuestionnaireResponse (ehealth-questionnaireresponse profile)
  • 0..* Media (ehealth-media profile)
  • 0..* Provenance (ehealth-provenance profile). Each Provenance (which is intended for capturing reuse of measurement(s) – as described in the eHealth Observation profile introduction) must refer to other resources in the Bundle as target in the format "urn:oid:<the oid>" or "urn:uuid:<the uuid>.".

All resources in the Bundle must refer to the same Patient and EpisodeOfCare. All measurement resources in the Bundle must have status either completed or final (completed in case of Media/QuestionnaireResponse and final in case of Observation). All resources in the Bundle as well as the created Provenance will receive any missing system tags (ehealth-system CodeSystem) provided by the referenced EpisodeOfCare. The request will be denied if any resource in the Bundle contains a system tag, which is not present on the referenced EpisodeOfCare

Output description

The returned Bundle contains references to the stored input resources where the id has been substituted.

eHealth infrastructure will substitute the id when saving the resources in a single transaction.

SHALL$export-poll-status

Operation for polling the status of a previously initiated FHIR Bulk Data System Level Export. A complete URL including the '_jobId' is returned in the 'Content-Location' response header when initiating the export. A 'GET' request to the polling location will return '202 Accepted' with a response header 'X-Progress' containing a status message for the progress of the export job. When the job has finished, the polling location will return '200 OK', and the contents of the body will be a JSON object providing metadata and links to the generated bulk data files. A 'DELETE' request can be used to cancel the export. If the export has already finished, the delete will return '404 Not Found', else the export job will be cancelled and a '202 Accepted' is returned with an operation outcome response.

Parameters

  • _jobId: the job ID for the Bulk Export job which was returned in the 'Content-Location' header when initiating the export
SHALL$export

FHIR Operation to initiate an export of data from a FHIR server. The type of resources returned can be restricted using the '_type' parameter, and the '_since' parameter can be used to restrict resources to be only included if changed since the supplied time. The FHIR server support invocation of this operation using the FHIR Asynchronous Request Pattern.

Initiation of export

The initiation of an export must specify the request header 'Prefer: respond-async', and will return '202 Accepted' with a polling location in the response header 'Content-Location'. The polling location is for the endpoint '$export-poll-status' and has the export job ID as parameter '_jobId'.

Parameters

  • _outputFormat: Optional parameter to specify the output format of the exported files. Default is 'application/fhir+ndjson'
  • _type: Optional parameter to specify a comma separated list of resource types to be included in the export. If not provided, all resource types will be included.
  • _since: Optional parameter to specify a time. Only resources that have been created or modified after this time will be included in the export (i.e., if Resource.meta.lastUpdated is later than the supplied _since time).
  • _typeFilter: Optional parameter to apply search filter of resources for export. It is a string of comma-delimited FHIR REST search queries in the format [resourceType]?[parameters]. The filter will be applied when searching resources.
  • _typePostFetchFilterUrl: Optional parameter to apply filtering of resources for export. It is a string of comma-delimited FHIR REST search queries in the format [resourceType]?[parameters]. The filter will be applied on resources after being fetched from the database.
  • _exportId: Optional parameter to specify a client provided identifier for the export. Resulting exported files (Binary) will be labeled with the identifer in meta extension 'https://hapifhir.org/NamingSystem/bulk-export-identifier'

Polling status of export

Subsequent GET requests to the polling location will return '202 Accepted' with a response header 'X-Progress' containing a status message for the progress of the export job. When the job has finished, the polling location will return '200 OK', and the contents of the body will be a JSON object providing metadata and links to the generated bulk export data files.

Retrieving exported files

The JSON object returned when the export job is complete will contain a list of files (Binary resources) available for download. Each file can be retrieved using a standard HTTP GET request to the provided URL. The security context of the Binary resources resulting from the export is the user that initiated the export. The files can therefore only be retrieved by the same user.

Retention of exported files

The exported files are retained for a limited time after which they are deleted. The retention time is a server configuration with default 2 hours.

SHALL$meta
SHALL$get-resource-counts

Provides the number of resources currently stored on the server, broken down by resource type

SHALL$expunge

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)
Resource TypeProfileRV-RSUPCSearches_include_revincludeOperations
Binaryhttp://hl7.org/fhir/StructureDefinition/Binaryyy*Communication:episodeOfCare, Communication:recipient, Communication:recipientCareTeam, Communication:sender, Communication:senderCareTeam, Communication:subject, Media:based-on, Media:episodeOfCare, Media:relatedTo, Media:subject, Observation:based-on, Observation:episodeOfCare, Observation:patient, Observation:subject, Provenance:agent, Provenance:entity, Provenance:entity-episodeOfCare, Provenance:entity-serviceRequest, Provenance:target, QuestionnaireResponse:based-on, QuestionnaireResponse:episodeOfCare, QuestionnaireResponse:questionnaire, QuestionnaireResponse:subject
Communicationhttp://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communicationyyyyy_tag, episodeOfCare, identifier, recipient, recipientCareTeam, sender, senderCareTeam, subjectCommunication:episodeOfCare, Communication:recipient, Communication:recipientCareTeam, Communication:sender, Communication:senderCareTeam, Communication:subject, Media:based-on, Media:episodeOfCare, Media:relatedTo, Media:subject, Observation:based-on, Observation:episodeOfCare, Observation:patient, Observation:subject, Provenance:agent, Provenance:entity, Provenance:entity-episodeOfCare, Provenance:entity-serviceRequest, Provenance:target, QuestionnaireResponse:based-on, QuestionnaireResponse:episodeOfCare, QuestionnaireResponse:questionnaire, QuestionnaireResponse:subject$validate
Mediahttp://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-mediayyyyy_content, _filter, _id, _tag, based-on, created, episodeOfCare, identifier, qualityCode, qualityType, relatedTo, resolvedTimingEnd, resolvedTimingServiceRequestVersionId, resolvedTimingStart, resolvedTimingType, series, subject, type, usageModeMedia:relatedToMedia:relatedTo, Provenance:target$validate, $get-data
Observationhttp://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-observationyyyy_content, _filter, _id, _tag, _text, based-on, code, date, episodeOfCare, identifier, patient, qualityCode, qualityType, resolvedTimingEnd, resolvedTimingServiceRequestVersionId, resolvedTimingStart, resolvedTimingType, subjectProvenance:target$validate
OperationDefinitionhttp://hl7.org/fhir/StructureDefinition/OperationDefinitiony*Communication:episodeOfCare, Communication:recipient, Communication:recipientCareTeam, Communication:sender, Communication:senderCareTeam, Communication:subject, Media:based-on, Media:episodeOfCare, Media:relatedTo, Media:subject, Observation:based-on, Observation:episodeOfCare, Observation:patient, Observation:subject, Provenance:agent, Provenance:entity, Provenance:entity-episodeOfCare, Provenance:entity-serviceRequest, Provenance:target, QuestionnaireResponse:based-on, QuestionnaireResponse:episodeOfCare, QuestionnaireResponse:questionnaire, QuestionnaireResponse:subject
Provenancehttp://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-provenanceyyy_id, agent, entity, entity-episodeOfCare, entity-serviceRequest, recorded, targetProvenance:targetCommunication:episodeOfCare, Communication:recipient, Communication:recipientCareTeam, Communication:sender, Communication:senderCareTeam, Communication:subject, Media:based-on, Media:episodeOfCare, Media:relatedTo, Media:subject, Observation:based-on, Observation:episodeOfCare, Observation:patient, Observation:subject, Provenance:agent, Provenance:entity, Provenance:entity-episodeOfCare, Provenance:entity-serviceRequest, Provenance:target, QuestionnaireResponse:based-on, QuestionnaireResponse:episodeOfCare, QuestionnaireResponse:questionnaire, QuestionnaireResponse:subject
QuestionnaireResponsehttp://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-questionnaireresponseyyyyyy_filter, _lastUpdated, _tag, authored, based-on, effectivePeriodEnd, effectivePeriodStart, episodeOfCare, identifier, qualityCode, qualityType, questionnaire, resolvedTimingEnd, resolvedTimingServiceRequestVersionId, resolvedTimingStart, resolvedTimingType, status, subjectProvenance:target$validate

Base System Profile
Binary
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports vread, read.

Base System Profile
ehealth-communication
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports search-type, vread, read, patch, create.

Search Parameters
ConformanceParameterTypeDocumentation
SHALL_tagtoken

Search for resources which have the given tag

SHALLepisodeOfCarereference

Episode associated with communication

SHALLidentifiertoken

Unique identifier

SHALLrecipientreference

Message recipient

SHALLrecipientCareTeamreference

Recipient care team

SHALLsenderreference

Message sender

SHALLsenderCareTeamreference

Sender care team

SHALLsubjectreference

Focus of message

 
Extended Operations
ConformanceOperationDocumentation
SHALL$validate
Base System Profile
ehealth-media
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports update, search-type, vread, read, patch.

Search Parameters
ConformanceParameterTypeDocumentation
SHALL_contentstring

Search the contents of the resource's data using a fulltext search

SHALL_filterstring

Search the contents of the resource's data using a filter

SHALL_idtoken

The ID of the resource

SHALL_tagtoken

Search for resources which have the given tag

SHALLbased-onreference

Procedure that caused this media to be created

SHALLcreateddate

When Media was collected

SHALLepisodeOfCarereference

Episode associated with media

SHALLidentifiertoken

Identifier(s) for the image

SHALLqualityCodetoken

Quality code of the media

SHALLqualityTypetoken

Quality type of the media

SHALLrelatedToreference

Media related to

SHALLresolvedTimingEnddate

Resolved Timing end

SHALLresolvedTimingServiceRequestVersionIdtoken

Resolved Timing serviceRequestVersionID

SHALLresolvedTimingStartdate

Resolved Timing start

SHALLresolvedTimingTypetoken

Resolved Timing type

SHALLseriesstring

Series ID

SHALLsubjectreference

Who/What this Media is a record of

SHALLtypetoken

photo | video | audio

SHALLusageModetoken

Usage mode

 
Extended Operations
ConformanceOperationDocumentation
SHALL$validate
SHALL$get-data

The get-data operation returns a media content matching the uuid provided.

Parameter description

  • uuid: The uuid of the media to return

Request header description

  • ehealth-thumbnail-size: The size of thumbnail to return instead of original content. If thumbnails are not supported for the media, the original content is returned

Output description

The result of this operation returns a Binary containing the media found from the provided uuid

Base System Profile
ehealth-observation
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports search-type, vread, read, patch.

Search Parameters
ConformanceParameterTypeDocumentation
SHALL_contentstring

Search the contents of the resource's data using a fulltext search

SHALL_filterstring

Search the contents of the resource's data using a filter

SHALL_idtoken

The ID of the resource

SHALL_tagtoken

Search for resources which have the given tag

SHALL_textstring

Search the contents of the resource's narrative using a fulltext search

SHALLbased-onreference

Reference to the test or procedure request.

SHALLcodetoken

The code of the observation type

SHALLdatedate

Obtained date/time. If the obtained element is a period, a date that falls in the period

SHALLepisodeOfCarereference

Episode associated with observation

SHALLidentifiertoken

The unique id for a particular observation

SHALLpatientreference

The subject that the observation is about (if patient)

SHALLqualityCodetoken

The quality code of the observation

SHALLqualityTypetoken

The quality type of the observation

SHALLresolvedTimingEnddate

Resolved Timing end

SHALLresolvedTimingServiceRequestVersionIdtoken

Resolved Timing serviceRequestVersionID

SHALLresolvedTimingStartdate

Resolved Timing start

SHALLresolvedTimingTypetoken

Resolved Timing type

SHALLsubjectreference

The subject that the observation is about

 
Extended Operations
ConformanceOperationDocumentation
SHALL$validate
Base System Profile
OperationDefinition
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports read.

Base System Profile
ehealth-provenance
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports search-type, vread, read.

Search Parameters
ConformanceParameterTypeDocumentation
SHALL_idtoken

The ID of the resource

SHALLagentreference

Who participated in the activity

SHALLentityreference

Identity of entity

SHALLentity-episodeOfCarereference

EpisodeOfCare identity of entity

SHALLentity-serviceRequestreference

ServiceRequest identity of entity

SHALLrecordeddate

When the activity was recorded / updated

SHALLtargetreference

Target Reference(s) (usually version specific)

 
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports update, search-type, vread, read, patch, create.

Search Parameters
ConformanceParameterTypeDocumentation
SHALL_filterstring

Search the contents of the resource's data using a filter

SHALL_lastUpdateddate

Only return resources which were last updated as specified by the given range

SHALL_tagtoken

Search for resources which have the given tag

SHALLauthoreddate

When the questionnaire response was last changed

SHALLbased-onreference

Plan/proposal/order fulfilled by this questionnaire response

SHALLeffectivePeriodEnddate

Effective Period end

SHALLeffectivePeriodStartdate

Effective Period start

SHALLepisodeOfCarereference

Episode associated with questionnaire response

SHALLidentifiertoken

The unique identifier for the questionnaire response

SHALLqualityCodetoken

The quality code of the questionnaire response

SHALLqualityTypetoken

The quality type of the questionnaire response

SHALLquestionnairereference

The questionnaire the answers are provided for

SHALLresolvedTimingEnddate

Resolved Timing end

SHALLresolvedTimingServiceRequestVersionIdtoken

Resolved Timing serviceRequestVersionID

SHALLresolvedTimingStartdate

Resolved Timing start

SHALLresolvedTimingTypetoken

Resolved Timing type

SHALLstatustoken

The status of the questionnaire response

SHALLsubjectreference

The subject of the questionnaire response

 
Extended Operations
ConformanceOperationDocumentation
SHALL$validate