eHealth Infrastructure
3.4.1 - 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 3.4.1 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

Resource Profile: ehealth-servicerequest

Official URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-servicerequest Version: 3.4.1
Active as of 2025-03-06 Computable Name: ehealth-servicerequest

Introduction

ServiceRequest is a record of a request for a procedure to be planned, proposed, or performed with or on a patient. Examples of procedures include diagnostic tests/studies, endoscopic procedures, counseling, biopsies, therapies (e.g., physio-, social-, psychological-), (exploratory) surgeries or procedures, exercises, and other clinical interventions. Procedures may be performed by a healthcare professional, a friend or relative or in some cases by the patient themselves.

Scope and Usage

In scope of the eHealth infrastructure ServiceRequests are used with CarePlans to express actual measurement activities to be performed by a Patient in the context of a CarePlan.

The eHealth profile of ServiceRequest has the following extensions:

  • ehealth-reuseCriteria which defines whether resource(s) resulting from conducting the activity, typically measurements or answering of Questionnaire may be reused and if so with which criteria. These are copied from the ActivityDefinition referenced in definition and can subsequently be adjusted to suit the particular Patient context
  • ehealth-referenceRange can contain one or more reference ranges against which values in measurements (resource(s) resulting from conducting the activity) can be compared. These are copied from the ActivityDefinition referenced in definition and can subsequently be adjusted to suit the particular Patient context
  • ehealth-sharingPolicy sets a stance on whether publication to national document sharing of the measurements (resource(s) resulting from conducting the activity) shall be allowed or not. The value is copied from the ActivityDefinition referenced in definition and can subsequently be adjusted to suit the particular Patient context.
  • ehealth-sharingApprovalPolicy Selects whether the approval of publication to national document sharing of measurements (resource(s) resulting from conducting the activity) must be done manually or if it is done automatically. The initial value will be inherited from the ActivityDefinition referenced in definition, but can subsequently be adapted for the particular Patient by adjusting the ServiceRequest.
  • ehealth-servicerequest-statusHistory contains history of changes in status, and is automatically maintained by the infrastructure.
  • ehealth-servicerequest-statusSchedule contains a list of scheduled changes in status. The infrastructure applies these changes automatically, and will remove the entry for the change once it has been applied.

Occurrence validity

The occurrence[x] field becomes both mandatory and must be valid when a ServiceRequest is marked as active, on-hold, or completed, as specified by status or ehealth-servicerequest-statusSchedule. This validation applies when updating either the CarePlan (if status or ehealth-careplan-statusSchedule is active) or the ServiceRequest.

The validity depends on the variant of occurrence[x] as follows:

  • occurrenceDateTime: Shall contain a date-time with at least hours and minutes (and hence timezone).
  • occurrencePeriod: Shall contain at least a Period.start containing a date-time with at least hours and minutes (and hence timezone).
  • occurrenceTiming: Shall either be ad-hoc or recurring as follows:
    • occurrenceTiming ad-hoc: the elements of Timing.repeat shall adhere to:
      • boundsPeriod: shall be specified and shall contain at least start containing a date-time with at least hours and minutes (and hence timezone). If present, end shall contain a date-time with at least hours and minutes (and hence timezone) which shall be equal to or after start.
      • frequency: optional
      • count: is optional, required when countMax is not empty
      • countMax: is optional
      • duration: optional, required when durationUnit is specified, and it must be pos-integer
      • durationUnit: required when duration is specified. Shall be one of s, min, h, d, wk, a.
    • occurrenceTiming recurring: the elements of Timing.repeat shall adhere to:
      • boundsPeriod: shall be specified and shall contain at least start containing a date-time with at least hours and minutes (and hence timezone). If present, end shall contain a date-time with at least hours and minutes (and hence timezone) which shall be equal to or after start.
      • frequency: shall be specified
      • dayOfWeek: optional. When one or more values specified, period and periodUnit shall specify either no value (being empty), 1 d (one day), pos-integer wk (week).
      • timeOfDay: optional. When one or more values specified, period and periodUnit shall specify either no value (being empty), pos-integer d (day), pos-integer wk (week), pos-integer mo (month), or pos-integer a (year).
      • duration: optional, required when durationUnit is specified, and it must be pos-integer
      • durationUnit: required when duration is specified. Shall be one of s, min, h, d, wk, a.
      • period: optional, required when dayOfWeek is missing, and it must be pos-integer. When empty, it corresponds to occurrence every one day (every day).
      • periodUnit: required when period is not empty. Shall be one of min, h, d, wk, mo, a.
      • Note: For recurring occurrenceTiming, either dayOfWeek or period must be assigned to clearly differentiate it from ad-hoc timing.

    See the wiki for examples.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest A request for a service to be performed
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
prr-1: orderDetail SHALL only be present if code is present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 3..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:episodeOfCare 1..1 Reference(EpisodeOfCare) Associated Encounter episode of care
URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:referenceRange 0..* (Complex) Provides guide for interpretation.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-referenceRange
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:sharingPolicy 1..1 CodeableConcept Policy for sharing a resource with national data banks
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-sharingPolicy
Binding: Measurement Sharing Policies (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:sharingApprovalPolicy 0..1 CodeableConcept Policy for approval of sharing a resource with national data banks
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-sharingApprovalPolicy
Binding: Sharing Approval Policies (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:reuseCriteria 0..1 (Complex) Criteria to be met for reuse of responses to be allowed
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-reuseCriteria
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:triggerEnablementCode 0..1 code Enablement of reaction to triggering conditions being met.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-trigger-enablement-code
Binding: Trigger Enablement Code (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:statusHistory 0..* (Complex) ServiceRequest status history
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-servicerequest-statusHistory
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:statusSchedule 0..* (Complex) ServiceRequest status schedule
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-servicerequest-statusSchedule
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:includeAsExtra 1..1 boolean Used to mark that the action/service request may be performed as extra, meaning the action/service request may also be performed outside the resolved timing slots.
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-include-as-extra
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


ele-1: All FHIR elements must have a @value or children
... intent ?!Σ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.


ele-1: All FHIR elements must have a @value or children
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
ele-1: All FHIR elements must have a @value or children
... code Σ 0..1 CodeableConcept What is being requested/ordered
Binding: Activity Definition Code (required)
ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(ehealth-patient) {r} Individual or Entity the service is ordered for
ele-1: All FHIR elements must have a @value or children
... performer Σ 0..* Reference(ehealth-practitioner | ehealth-organization | ehealth-patient | ehealth-device | ehealth-relatedperson | ehealth-careteam | HealthcareService) {r} Requested performer
ele-1: All FHIR elements must have a @value or children
... reasonReference Σ 0..* Reference(ehealth-condition | ehealth-observation) {r} Explanation/Justification for service or service
ele-1: All FHIR elements must have a @value or children
... relevantHistory 0..* Reference(ehealth-provenance) {r} Request provenance
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.coderequiredActivityDefinitionCode
http://ehealth.sundhed.dk/vs/activitydefinition-code
from this IG

 

Other representations of profile: CSV, Excel, Schematron