HL7 Europe Hospital Discharge Report
1.0.0-ci - draft 150

HL7 Europe Hospital Discharge Report, published by HL7 Europe. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ci built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/hdr/ and changes regularly. See the Directory of published versions

Resource Profile: DeviceUseStatement (HDR)

Official URL: http://hl7.eu/fhir/hdr/StructureDefinition/deviceUseStatement-eu-hdr Version: 1.0.0-ci
Draft as of 2026-06-23 Computable Name: DeviceUseStatementEuHdr

Copyright/Legal: Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0).

This profile represents the constraints applied to the DeviceUseStatement resource for the purpose of this guide. A device used by or implanted on the patient is described in the hospital discharge report as an instance of a Device resource constrained by this profile.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Device usage description
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... identifier Σ 0..* Identifier External identifier for this record
... status ?!Σ 1..1 code active | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject Σ 1..1 Reference(Patient (EU core)) Patient using device
... Slices for timing[x] Σ 0..1 How often the device was used
Slice: Unordered, Open by type:$this
.... timingTiming Timing
.... timingPeriod Period
.... timingDateTime dateTime
.... timing[x]:timingPeriod Σ 0..1 Period How often the device was used
... recordedOn Σ 0..1 dateTime When statement was recorded
... source Σ 0..1 Reference(Patient (EU core) | Practitioner (EU core) | PractitionerRole (EU core) | RelatedPerson) Who made the statement
... device Σ 1..1 Reference(Device (HDR)) Reference to device used
... reasonCode Σ 0..* CodeableConcept Why device was used
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why was DeviceUseStatement performed?
... bodySite Σ 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Addition details (comments, instructions)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceUseStatement.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DeviceUseStatement.status Base required DeviceUseStatementStatus 📍4.0.1 FHIR Std.
DeviceUseStatement.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error DeviceUseStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceUseStatement 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 contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceUseStatement A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from DeviceUseStatement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement DeviceUseStatement
... language 0..1 code Language of the resource content
... text 0..1 Narrative Device usage description
... identifier 0..* Identifier External identifier for this record
... subject 1..1 Reference(Patient (EU core)) Patient using device
... Slices for timing[x] 0..1 Timing, Period, dateTime How often the device was used
Slice: Unordered, Open by type:$this
.... timing[x]:timingPeriod 0..1 Period How often the device was used
... recordedOn 0..1 dateTime When statement was recorded
... source 0..1 Reference(Patient (EU core) | Practitioner (EU core) | PractitionerRole (EU core) | RelatedPerson) Who made the statement
... device 1..1 Reference(Device (HDR)) Reference to device used
... reasonCode 0..* CodeableConcept Why device was used
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why was DeviceUseStatement performed?
... bodySite 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Addition details (comments, instructions)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DeviceUseStatement.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Device usage description
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External identifier for this record
... basedOn Σ 0..* Reference(ServiceRequest) Fulfills plan, proposal or order
... status ?!Σ 1..1 code active | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject Σ 1..1 Reference(Patient (EU core)) Patient using device
... derivedFrom Σ 0..* Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference) Supporting information
... Slices for timing[x] Σ 0..1 How often the device was used
Slice: Unordered, Open by type:$this
.... timingTiming Timing
.... timingPeriod Period
.... timingDateTime dateTime
.... timing[x]:timingPeriod Σ 0..1 Period How often the device was used
... recordedOn Σ 0..1 dateTime When statement was recorded
... source Σ 0..1 Reference(Patient (EU core) | Practitioner (EU core) | PractitionerRole (EU core) | RelatedPerson) Who made the statement
... device Σ 1..1 Reference(Device (HDR)) Reference to device used
... reasonCode Σ 0..* CodeableConcept Why device was used
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why was DeviceUseStatement performed?
... bodySite Σ 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Addition details (comments, instructions)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceUseStatement.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DeviceUseStatement.status Base required DeviceUseStatementStatus 📍4.0.1 FHIR Std.
DeviceUseStatement.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error DeviceUseStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceUseStatement 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 contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceUseStatement A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Device usage description
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... identifier Σ 0..* Identifier External identifier for this record
... status ?!Σ 1..1 code active | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject Σ 1..1 Reference(Patient (EU core)) Patient using device
... Slices for timing[x] Σ 0..1 How often the device was used
Slice: Unordered, Open by type:$this
.... timingTiming Timing
.... timingPeriod Period
.... timingDateTime dateTime
.... timing[x]:timingPeriod Σ 0..1 Period How often the device was used
... recordedOn Σ 0..1 dateTime When statement was recorded
... source Σ 0..1 Reference(Patient (EU core) | Practitioner (EU core) | PractitionerRole (EU core) | RelatedPerson) Who made the statement
... device Σ 1..1 Reference(Device (HDR)) Reference to device used
... reasonCode Σ 0..* CodeableConcept Why device was used
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why was DeviceUseStatement performed?
... bodySite Σ 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Addition details (comments, instructions)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceUseStatement.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DeviceUseStatement.status Base required DeviceUseStatementStatus 📍4.0.1 FHIR Std.
DeviceUseStatement.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error DeviceUseStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceUseStatement 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 contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceUseStatement A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from DeviceUseStatement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement DeviceUseStatement
... language 0..1 code Language of the resource content
... text 0..1 Narrative Device usage description
... identifier 0..* Identifier External identifier for this record
... subject 1..1 Reference(Patient (EU core)) Patient using device
... Slices for timing[x] 0..1 Timing, Period, dateTime How often the device was used
Slice: Unordered, Open by type:$this
.... timing[x]:timingPeriod 0..1 Period How often the device was used
... recordedOn 0..1 dateTime When statement was recorded
... source 0..1 Reference(Patient (EU core) | Practitioner (EU core) | PractitionerRole (EU core) | RelatedPerson) Who made the statement
... device 1..1 Reference(Device (HDR)) Reference to device used
... reasonCode 0..* CodeableConcept Why device was used
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why was DeviceUseStatement performed?
... bodySite 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Addition details (comments, instructions)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DeviceUseStatement.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Device usage description
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External identifier for this record
... basedOn Σ 0..* Reference(ServiceRequest) Fulfills plan, proposal or order
... status ?!Σ 1..1 code active | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject Σ 1..1 Reference(Patient (EU core)) Patient using device
... derivedFrom Σ 0..* Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference) Supporting information
... Slices for timing[x] Σ 0..1 How often the device was used
Slice: Unordered, Open by type:$this
.... timingTiming Timing
.... timingPeriod Period
.... timingDateTime dateTime
.... timing[x]:timingPeriod Σ 0..1 Period How often the device was used
... recordedOn Σ 0..1 dateTime When statement was recorded
... source Σ 0..1 Reference(Patient (EU core) | Practitioner (EU core) | PractitionerRole (EU core) | RelatedPerson) Who made the statement
... device Σ 1..1 Reference(Device (HDR)) Reference to device used
... reasonCode Σ 0..* CodeableConcept Why device was used
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why was DeviceUseStatement performed?
... bodySite Σ 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Addition details (comments, instructions)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceUseStatement.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DeviceUseStatement.status Base required DeviceUseStatementStatus 📍4.0.1 FHIR Std.
DeviceUseStatement.bodySite Base preferred SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error DeviceUseStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceUseStatement 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 contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceUseStatement A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron