International Patient Summary Implementation Guide
1.0.0 - STU 1

This page is part of the International Patient Summary Implementation Guide (v1.0.0: STU 1) based on FHIR R4. The current version which supercedes this version is 1.1.0. For a full list of available versions, see the Directory of published versions

StructureDefinition: DeviceUseStatementUvIps

This profile represents the constraints applied to the DeviceUseStatement resource by the International Patient Summary (IPS) FHIR Implementation Guide, based on FHIR R4. A statement about a device used by or implanted on the patient is described in the patient summary as an instance of a DeviceUseStatement resource constrained by this profile.

The official URL for this profile is:

http://hl7.org/fhir/uv/ips/StructureDefinition/DeviceUseStatement-uv-ips

Formal Views of Profile Content

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

This structure is derived from DeviceUseStatement

Summary

Mandatory: 2 elements
Must-Support: 6 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

This structure is derived from DeviceUseStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement S0..*DeviceUseStatementRecord of use of a device
... subject S1..1Reference(Patient (IPS))Patient using device
.... reference S1..1stringLiteral reference, Relative, internal or absolute URL
... timing[x] S1..1Timing, Period, dateTimeHow often the device was used
.... data-absent-reason S0..1codeunknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required)
... source S0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who made the statement
... bodySite 0..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: SNOMEDCTBodyStructures (example)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement SI0..*DeviceUseStatementRecord of use of a device
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal identifier for this record
... basedOn ΣI0..*Reference(ServiceRequest)Fulfills plan, proposal or order
... status ?!ΣI1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required)
... subject SΣI1..1Reference(Patient (IPS))Patient using device
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... derivedFrom ΣI0..*Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference)Supporting information
... timing[x] SΣI1..1How often the device was used
.... timing[x]:All Types Content/Rules for all Types
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... data-absent-reason SI0..1codeunknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required)
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... recordedOn ΣI0..1dateTimeWhen statement was recorded
... source SΣI0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who made the statement
... device SΣI1..1Reference(Device (IPS))Reference to device used
... reasonCode ΣI0..*CodeableConceptWhy device was used
... reasonReference ΣI0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media)Why was DeviceUseStatement performed?
... bodySite SI0..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: SNOMEDCTBodyStructures (example)
... note I0..*AnnotationAddition details (comments, instructions)

doco Documentation for this format

This structure is derived from DeviceUseStatement

Summary

Mandatory: 2 elements
Must-Support: 6 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from DeviceUseStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement S0..*DeviceUseStatementRecord of use of a device
... subject S1..1Reference(Patient (IPS))Patient using device
.... reference S1..1stringLiteral reference, Relative, internal or absolute URL
... timing[x] S1..1Timing, Period, dateTimeHow often the device was used
.... data-absent-reason S0..1codeunknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required)
... source S0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who made the statement
... bodySite 0..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: SNOMEDCTBodyStructures (example)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement SI0..*DeviceUseStatementRecord of use of a device
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal identifier for this record
... basedOn ΣI0..*Reference(ServiceRequest)Fulfills plan, proposal or order
... status ?!ΣI1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required)
... subject SΣI1..1Reference(Patient (IPS))Patient using device
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... derivedFrom ΣI0..*Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference)Supporting information
... timing[x] SΣI1..1How often the device was used
.... timing[x]:All Types Content/Rules for all Types
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... data-absent-reason SI0..1codeunknown | asked | temp | notasked | masked | unsupported | astext | error
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required)
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... recordedOn ΣI0..1dateTimeWhen statement was recorded
... source SΣI0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who made the statement
... device SΣI1..1Reference(Device (IPS))Reference to device used
... reasonCode ΣI0..*CodeableConceptWhy device was used
... reasonReference ΣI0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media)Why was DeviceUseStatement performed?
... bodySite SI0..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: SNOMEDCTBodyStructures (example)
... note I0..*AnnotationAddition details (comments, instructions)

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

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

Constraints

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.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.subject.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceUseStatement.subject.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DeviceUseStatement.subject.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.subject.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.subject.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DeviceUseStatement.subject.displayAll 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.timing[x].extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceUseStatement.timing[x].extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DeviceUseStatement.timing[x].extension:data-absent-reasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceUseStatement.timing[x].extension:data-absent-reasonMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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())