HL7 FHIR Implementation Guide: Rwanda HIV
0.1.0 - STU1 International flag

HL7 FHIR Implementation Guide: Rwanda HIV, published by Jembi Health Systems. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/openhie/Rwanda-HIV and changes regularly. See the Directory of published versions

Resource Profile: Testing Platform

Official URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/device-for-testing Version: 0.1.0
Active as of 2023-09-15 Computable Name: TestingPlatform

The device platform used for testing.

Usage:

Formal Views of Profile Content

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

This structure is derived from Device

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device 0..*DeviceItem used in healthcare
... manufacturer 1..1stringName of device manufacturer
... note S0..*AnnotationDevice notes and comments

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Device C0..*DeviceItem used in healthcare
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... manufacturer 1..1stringName of device manufacturer
... note S0..*AnnotationDevice notes and comments

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Device.statusrequiredFHIRDeviceStatus

Constraints

IdGradePath(s)DetailsRequirements
dev-1errorDeviceonly one Device.name.display SHALL be true when there is more than one Device.name
: name.where(display=true).count() <= 1
dom-2errorDeviceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDeviceIf 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-5errorDeviceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Device C0..*DeviceItem used in healthcare
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierInstance identifier
... displayName 0..1stringThe name used to display by default when the device is referenced
... definition 0..1CodeableReference(DeviceDefinition)The reference to the definition for the device
... udiCarrier Σ0..*BackboneElementUnique Device Identifier (UDI) Barcode string
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... deviceIdentifier Σ1..1stringMandatory fixed portion of UDI
.... issuer Σ1..1uriUDI Issuing Organization
.... jurisdiction 0..1uriRegional UDI authority
.... carrierAIDC Σ0..1base64BinaryUDI Machine Readable Barcode String
.... carrierHRF Σ0..1stringUDI Human Readable Barcode String
.... entryType 0..1codebarcode | rfid | manual | card | self-reported | electronic-transmission | unknown
Binding: UDIEntryType (required): Codes to identify how UDI data was entered.

... status ?!Σ0..1codeactive | inactive | entered-in-error
Binding: FHIRDeviceStatus (required): The record status of the device.

... availabilityStatus 0..1CodeableConceptlost | damaged | destroyed | available
Binding: FHIRDeviceAvailabilityStatus (extensible): The availability status reason of the device.

... biologicalSourceEvent 0..1IdentifierAn identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled
... manufacturer 1..1stringName of device manufacturer
... manufactureDate 0..1dateTimeDate when the device was made
... expirationDate 0..1dateTimeDate and time of expiry of this device (if applicable)
... lotNumber 0..1stringLot number of manufacture
... serialNumber 0..1stringSerial number assigned by the manufacturer
... name C0..*BackboneElementThe name or names of the device as known to the manufacturer and/or patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... value Σ1..1stringThe term that names the device
.... type Σ1..1coderegistered-name | user-friendly-name | patient-reported-name
Binding: DeviceNameType (required): The type of name the device is referred by.

.... display ?!ΣC0..1booleanThe preferred device name
... modelNumber 0..1stringThe manufacturer's model number for the device
... partNumber 0..1stringThe part number or catalog number of the device
... category 0..*CodeableConceptIndicates a high-level grouping of the device
Binding: FHIRDeviceCategory (example): Categories of medical devices.


... type 0..*CodeableConceptThe kind or type of device
Binding: DeviceType (example): Codes to identify medical devices.


... version 0..*BackboneElementThe actual design of the device or software version running on the device
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 0..1CodeableConceptThe type of the device version, e.g. manufacturer, approved, internal
Binding: DeviceVersionType (example): The type of version indicated for the device.

.... component 0..1IdentifierThe hardware or software module of the device to which the version applies
.... installDate 0..1dateTimeThe date the version was installed on the device
.... value 1..1stringThe version text
... conformsTo 0..*BackboneElementIdentifies the standards, specifications, or formal guidances for the capabilities supported by the device
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... category 0..1CodeableConceptDescribes the common type of the standard, specification, or formal guidance. communication | performance | measurement
Binding: DeviceSpecificationCategory (example): The kind of standards used by the device.

.... specification 1..1CodeableConceptIdentifies the standard, specification, or formal guidance that the device adheres to
Binding: DeviceSpecificationType (example): The type of version indicated for the device.

.... version 0..1stringSpecific form or variant of the standard
... property 0..*BackboneElementInherent, essentially fixed, characteristics of the device. e.g., time properties, size, material, etc.
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 1..1CodeableConceptCode that specifies the property being represented
Binding: DeviceType (example): Device property type.

.... value[x] 1..1Value of the property
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueAttachmentAttachment
... mode 0..1CodeableConceptThe designated condition for performing a task
Binding: FHIRDeviceOperationMode (example): Operational mode of a device.

... cycle 0..1CountThe series of occurrences that repeats during the operation of the device
... duration 0..1DurationA measurement of time during the device's operation (e.g., days, hours, mins, etc.)
... owner 0..1Reference(Organization)Organization responsible for device
... contact 0..*ContactPointDetails for human/organization for support
... location 0..1Reference(Location)Where the device is found
... url 0..1uriNetwork address to contact device
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to electronic services provided by the device
... gateway 0..*CodeableReference(Device)Linked device acting as a communication/data collector, translator or controller
... note S0..*AnnotationDevice notes and comments
... safety Σ0..*CodeableConceptSafety Characteristics of Device
Binding: DeviceSafety (example)
... parent 0..1Reference(Device)The higher level or encompassing device that this device is a logical part of

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Device.languagerequiredAllLanguages
Device.udiCarrier.entryTyperequiredUDIEntryType
Device.statusrequiredFHIRDeviceStatus
Device.availabilityStatusextensibleFHIRDeviceAvailabilityStatus
Device.name.typerequiredDeviceNameType
Device.categoryexampleFHIRDeviceCategory
Device.typeexampleDeviceType
Device.version.typeexampleDeviceVersionType
Device.conformsTo.categoryexampleDeviceSpecificationCategory
Device.conformsTo.specificationexampleDeviceSpecificationType
Device.property.typeexampleDeviceType
Device.modeexampleFHIRDeviceOperationMode
Device.safetyexampleDeviceSafety

Constraints

IdGradePath(s)DetailsRequirements
dev-1errorDeviceonly one Device.name.display SHALL be true when there is more than one Device.name
: name.where(display=true).count() <= 1
dom-2errorDeviceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDeviceIf 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-5errorDeviceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Device

Summary

Mandatory: 1 element
Must-Support: 1 element

Differential View

This structure is derived from Device

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device 0..*DeviceItem used in healthcare
... manufacturer 1..1stringName of device manufacturer
... note S0..*AnnotationDevice notes and comments

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device C0..*DeviceItem used in healthcare
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... manufacturer 1..1stringName of device manufacturer
... note S0..*AnnotationDevice notes and comments

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Device.statusrequiredFHIRDeviceStatus

Constraints

IdGradePath(s)DetailsRequirements
dev-1errorDeviceonly one Device.name.display SHALL be true when there is more than one Device.name
: name.where(display=true).count() <= 1
dom-2errorDeviceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDeviceIf 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-5errorDeviceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device C0..*DeviceItem used in healthcare
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierInstance identifier
... displayName 0..1stringThe name used to display by default when the device is referenced
... definition 0..1CodeableReference(DeviceDefinition)The reference to the definition for the device
... udiCarrier Σ0..*BackboneElementUnique Device Identifier (UDI) Barcode string
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... deviceIdentifier Σ1..1stringMandatory fixed portion of UDI
.... issuer Σ1..1uriUDI Issuing Organization
.... jurisdiction 0..1uriRegional UDI authority
.... carrierAIDC Σ0..1base64BinaryUDI Machine Readable Barcode String
.... carrierHRF Σ0..1stringUDI Human Readable Barcode String
.... entryType 0..1codebarcode | rfid | manual | card | self-reported | electronic-transmission | unknown
Binding: UDIEntryType (required): Codes to identify how UDI data was entered.

... status ?!Σ0..1codeactive | inactive | entered-in-error
Binding: FHIRDeviceStatus (required): The record status of the device.

... availabilityStatus 0..1CodeableConceptlost | damaged | destroyed | available
Binding: FHIRDeviceAvailabilityStatus (extensible): The availability status reason of the device.

... biologicalSourceEvent 0..1IdentifierAn identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled
... manufacturer 1..1stringName of device manufacturer
... manufactureDate 0..1dateTimeDate when the device was made
... expirationDate 0..1dateTimeDate and time of expiry of this device (if applicable)
... lotNumber 0..1stringLot number of manufacture
... serialNumber 0..1stringSerial number assigned by the manufacturer
... name C0..*BackboneElementThe name or names of the device as known to the manufacturer and/or patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... value Σ1..1stringThe term that names the device
.... type Σ1..1coderegistered-name | user-friendly-name | patient-reported-name
Binding: DeviceNameType (required): The type of name the device is referred by.

.... display ?!ΣC0..1booleanThe preferred device name
... modelNumber 0..1stringThe manufacturer's model number for the device
... partNumber 0..1stringThe part number or catalog number of the device
... category 0..*CodeableConceptIndicates a high-level grouping of the device
Binding: FHIRDeviceCategory (example): Categories of medical devices.


... type 0..*CodeableConceptThe kind or type of device
Binding: DeviceType (example): Codes to identify medical devices.


... version 0..*BackboneElementThe actual design of the device or software version running on the device
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 0..1CodeableConceptThe type of the device version, e.g. manufacturer, approved, internal
Binding: DeviceVersionType (example): The type of version indicated for the device.

.... component 0..1IdentifierThe hardware or software module of the device to which the version applies
.... installDate 0..1dateTimeThe date the version was installed on the device
.... value 1..1stringThe version text
... conformsTo 0..*BackboneElementIdentifies the standards, specifications, or formal guidances for the capabilities supported by the device
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... category 0..1CodeableConceptDescribes the common type of the standard, specification, or formal guidance. communication | performance | measurement
Binding: DeviceSpecificationCategory (example): The kind of standards used by the device.

.... specification 1..1CodeableConceptIdentifies the standard, specification, or formal guidance that the device adheres to
Binding: DeviceSpecificationType (example): The type of version indicated for the device.

.... version 0..1stringSpecific form or variant of the standard
... property 0..*BackboneElementInherent, essentially fixed, characteristics of the device. e.g., time properties, size, material, etc.
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 1..1CodeableConceptCode that specifies the property being represented
Binding: DeviceType (example): Device property type.

.... value[x] 1..1Value of the property
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueAttachmentAttachment
... mode 0..1CodeableConceptThe designated condition for performing a task
Binding: FHIRDeviceOperationMode (example): Operational mode of a device.

... cycle 0..1CountThe series of occurrences that repeats during the operation of the device
... duration 0..1DurationA measurement of time during the device's operation (e.g., days, hours, mins, etc.)
... owner 0..1Reference(Organization)Organization responsible for device
... contact 0..*ContactPointDetails for human/organization for support
... location 0..1Reference(Location)Where the device is found
... url 0..1uriNetwork address to contact device
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to electronic services provided by the device
... gateway 0..*CodeableReference(Device)Linked device acting as a communication/data collector, translator or controller
... note S0..*AnnotationDevice notes and comments
... safety Σ0..*CodeableConceptSafety Characteristics of Device
Binding: DeviceSafety (example)
... parent 0..1Reference(Device)The higher level or encompassing device that this device is a logical part of

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Device.languagerequiredAllLanguages
Device.udiCarrier.entryTyperequiredUDIEntryType
Device.statusrequiredFHIRDeviceStatus
Device.availabilityStatusextensibleFHIRDeviceAvailabilityStatus
Device.name.typerequiredDeviceNameType
Device.categoryexampleFHIRDeviceCategory
Device.typeexampleDeviceType
Device.version.typeexampleDeviceVersionType
Device.conformsTo.categoryexampleDeviceSpecificationCategory
Device.conformsTo.specificationexampleDeviceSpecificationType
Device.property.typeexampleDeviceType
Device.modeexampleFHIRDeviceOperationMode
Device.safetyexampleDeviceSafety

Constraints

IdGradePath(s)DetailsRequirements
dev-1errorDeviceonly one Device.name.display SHALL be true when there is more than one Device.name
: name.where(display=true).count() <= 1
dom-2errorDeviceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDeviceIf 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-5errorDeviceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Device

Summary

Mandatory: 1 element
Must-Support: 1 element

 

Other representations of profile: CSV, Excel, Schematron