HL7 Europe Hospital Discharge Report
1.0.0-alpha - qa-preview 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-alpha 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-alpha
Draft as of 2026-04-17 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
... text 0..1 Narrative Device usage description
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code Current status of the Device Usage
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject Σ 1..1 Reference(Patient (EU core)) Patient using device
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... Slices for timing[x] Σ 1..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
..... start ΣC 0..1 dateTime Start of usage (dateTime)
..... end ΣC 0..1 dateTime End of usage (dateTime)
... recordedOn Σ 0..1 dateTime When recorded (dateTime)
... 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 is used (code)
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why is used (details)
... bodySite Σ 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Additional information about the device usage

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
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
... text 0..1 Narrative Device usage description
... identifier 0..* Identifier Device usage identifier
... status 1..1 code Current status of the Device Usage
.... reference 1..1 string Literal reference, Relative, internal or absolute URL
... Slices for timing[x] 1..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
..... start 0..1 dateTime Start of usage (dateTime)
..... end 0..1 dateTime End of usage (dateTime)
... recordedOn 0..1 dateTime When recorded (dateTime)
... 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 is used (code)
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why is used (details)
... bodySite 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Additional information about the device usage

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 Device usage identifier
... basedOn Σ 0..* Reference(ServiceRequest) Fulfills plan, proposal or order
... status ?!Σ 1..1 code Current status of the Device Usage
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject Σ 1..1 Reference(Patient (EU core)) Patient using device
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... derivedFrom Σ 0..* Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference) Supporting information
... Slices for timing[x] Σ 1..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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... start ΣC 0..1 dateTime Start of usage (dateTime)
..... end ΣC 0..1 dateTime End of usage (dateTime)
... recordedOn Σ 0..1 dateTime When recorded (dateTime)
... 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 is used (code)
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why is used (details)
... bodySite Σ 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Additional information about the device usage

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.subject.​type Base extensible ResourceType 📍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

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
... text 0..1 Narrative Device usage description
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code Current status of the Device Usage
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject Σ 1..1 Reference(Patient (EU core)) Patient using device
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... Slices for timing[x] Σ 1..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
..... start ΣC 0..1 dateTime Start of usage (dateTime)
..... end ΣC 0..1 dateTime End of usage (dateTime)
... recordedOn Σ 0..1 dateTime When recorded (dateTime)
... 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 is used (code)
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why is used (details)
... bodySite Σ 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Additional information about the device usage

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
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
... text 0..1 Narrative Device usage description
... identifier 0..* Identifier Device usage identifier
... status 1..1 code Current status of the Device Usage
.... reference 1..1 string Literal reference, Relative, internal or absolute URL
... Slices for timing[x] 1..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
..... start 0..1 dateTime Start of usage (dateTime)
..... end 0..1 dateTime End of usage (dateTime)
... recordedOn 0..1 dateTime When recorded (dateTime)
... 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 is used (code)
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why is used (details)
... bodySite 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Additional information about the device usage

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 Device usage identifier
... basedOn Σ 0..* Reference(ServiceRequest) Fulfills plan, proposal or order
... status ?!Σ 1..1 code Current status of the Device Usage
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject Σ 1..1 Reference(Patient (EU core)) Patient using device
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... derivedFrom Σ 0..* Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference) Supporting information
... Slices for timing[x] Σ 1..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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... start ΣC 0..1 dateTime Start of usage (dateTime)
..... end ΣC 0..1 dateTime End of usage (dateTime)
... recordedOn Σ 0..1 dateTime When recorded (dateTime)
... 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 is used (code)
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media) Why is used (details)
... bodySite Σ 0..1 CodeableConcept Target body site
Binding: SNOMEDCTBodyStructures (preferred)
... note 0..* Annotation Additional information about the device usage

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.subject.​type Base extensible ResourceType 📍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

 

Other representations of profile: CSV, Excel, Schematron