eHealth Infrastructure
2021.3.0 - build

eHealth Infrastructure - Local Development build (v2021.3.0). See the Directory of published versions

Resource Profile: ehealth-deviceusestatement

Defining URL:http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-deviceusestatement
Version:2021.3.0
Name:ehealth-deviceusestatement
Status:Active as of 2021-11-25T09:32:14+00:00
Publisher:Systematic | Trifork
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-deviceusestatement

Introduction

The DeviceUseStatement resource represents a record of a device being used by a patient in the context of a careplan over a certain period of time.

Scope and Usage

This resource records the use of a healthcare-related device by a patient in the context of a careplan. The resource can be used to note the use of a clinical device such as a spyrometer, blood pressure monitor, and other devices required to fulfil the careplan.

If the same device is used simultaneously for the fulfilment of more than one careplan for the same patient, then more than one active DeviceUseStatement will exist.

A DeviceUseStatement is considered active only when its status field is Active. For logging purposes the whenUsed element is updated to reflect the period in which the DeviceUseStatement is active; but this element alone does not indicate whether the the DeviceUseStatement is Active or not. A DeviceUseStatement which is Active will have a whenUsed.end which is null.

DeviceUseStatements which have been in status Active cannot be deleted.

DeviceUseStatements resources are created and updated automatically based on actions and information provided in the Service, Support & Logistics (SSL) domain of the eHealth Infrastructure. The use of DeviceUseStatements therefore concerns reading and searching only.

Life cycle

The life cycle of DeviceUseStatement resources is normally managed by the SSL subsystem, when an SSL supplier or a practitioner signals that a device has been delivered to a patient. At this time the Device Service is searched for an existing instance of this Device resource and a DeviceUseStatement referencing this Device is created.

When the SSL subsystem is signaled that a Device is no longer being used, it will update the corresponding DeviceUseStatement automatically.

It is possible for a Practitioner (as opposed to the SSL subsystem) to also create and maintain DeviceUseStatements; and also to override what was set by the SSL subsystem.

It can be relevant for a Practitioner to create a DeviceUseStatement in the case where a patient uses a privately owned Device instead of an SSL provisioned device.

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement 0..*DeviceUseStatementRecord of use of a device
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-deviceusestatement-context 1..1Reference(ehealth-careplan) {r}The careplan context for the device use
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-deviceusestatement-context
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier for this record
... basedOn Σ0..*Reference(ServiceRequest)Fulfills plan, proposal or order
... status ?!Σ1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.

... subject Σ1..1Reference(ehealth-patient) {r}Patient using device
... derivedFrom Σ0..*Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference)Supporting information
... timing[x] Σ0..1How often the device was used
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... recordedOn Σ0..1dateTimeWhen statement was recorded
... source Σ0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson) {r}Who made the statement
... device Σ1..1Reference(ehealth-device)Reference to device used
... reasonCode Σ0..*CodeableConceptWhy device was used
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media)Why was DeviceUseStatement performed?
... bodySite Σ0..1CodeableConceptTarget body site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... note 0..*AnnotationAddition details (comments, instructions)
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for author[x] Σ0..1Individual responsible for the annotation
Slice: Unordered, Closed by type:$this
..... authorReferenceReference(Any)
..... authorStringstring
..... author[x]:authorReference Σ0..1Reference(ehealth-practitioner | ehealth-patient | ehealth-relatedperson)Individual responsible for the annotation
..... author[x]:authorString Σ0..1stringIndividual responsible for the annotation
.... time Σ0..1dateTimeWhen the annotation was made
.... text Σ1..1markdownThe annotation - text content (as markdown)

doco Documentation for this format

Differential View

This structure is derived from DeviceUseStatement

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement 0..*DeviceUseStatementRecord of use of a device
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-deviceusestatement-context 1..1Reference(ehealth-careplan) {r}The careplan context for the device use
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-deviceusestatement-context
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier for this record
... basedOn Σ0..*Reference(ServiceRequest)Fulfills plan, proposal or order
... status ?!Σ1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.

... subject Σ1..1Reference(ehealth-patient) {r}Patient using device
... derivedFrom Σ0..*Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference)Supporting information
... timing[x] Σ0..1How often the device was used
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... recordedOn Σ0..1dateTimeWhen statement was recorded
... source Σ0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson) {r}Who made the statement
... device Σ1..1Reference(ehealth-device)Reference to device used
... reasonCode Σ0..*CodeableConceptWhy device was used
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media)Why was DeviceUseStatement performed?
... bodySite Σ0..1CodeableConceptTarget body site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... note 0..*AnnotationAddition details (comments, instructions)
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for author[x] Σ0..1Individual responsible for the annotation
Slice: Unordered, Closed by type:$this
..... authorReferenceReference(Any)
..... authorStringstring
..... author[x]:authorReference Σ0..1Reference(ehealth-practitioner | ehealth-patient | ehealth-relatedperson)Individual responsible for the annotation
..... author[x]:authorString Σ0..1stringIndividual responsible for the annotation
.... time Σ0..1dateTimeWhen the annotation was made
.... text Σ1..1markdownThe annotation - text content (as markdown)

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
DeviceUseStatement.languagepreferredCommonLanguages
Max Binding: AllLanguages
DeviceUseStatement.statusrequiredDeviceUseStatementStatus
DeviceUseStatement.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdPathDetailsRequirements
dom-2DeviceUseStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3DeviceUseStatementIf 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-4DeviceUseStatementIf 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-5DeviceUseStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6DeviceUseStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1DeviceUseStatement.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceUseStatement.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DeviceUseStatement.extension:ContextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceUseStatement.extension:ContextMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DeviceUseStatement.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceUseStatement.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DeviceUseStatement.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.derivedFromAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.timing[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.recordedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.deviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.note.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceUseStatement.note.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DeviceUseStatement.note.author[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.note.author[x]:authorReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.note.author[x]:authorStringAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.note.timeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.note.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())