Resource Profile: Device

General information

See HL7 Device for more information about the base resource Organization.

Scope and Usage

This profile is used to hold information about technical properties of an API. The information can include what protocol it follows, what security method it uses, the URL to the authorization server, what API specifications it adheres to as well as the technical addresses to the API (Endpoints). This is to facilitate the integration of external systems with the device.

Boundaries and Relationships

This profile can in the endpoint element reference the Endpoints which represents the technical adresses to the API (Device).

To express what API specification the Device implements there is an extension "apiSpecification" on the Device.conformsTo element that references the canonical URL of an API Specification.

Background and Context

Profile

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textC0..1Narrative
containedC0..*Resource
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
identifierC0..*Identifier
displayNameS1..1string
definition0..1CodeableReference(DeviceDefinition)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
deviceIdentifierΣ1..1string
issuerΣ1..1uri
jurisdiction0..1uri
carrierAIDCΣ0..1base64Binary
carrierHRFΣ0..1string
entryType0..1codeBinding
statusS Σ ?!1..1codeBinding
availabilityStatus0..1CodeableConceptBinding
biologicalSourceEventC0..1Identifier
manufacturer0..1string
manufactureDate0..1dateTime
expirationDate0..1dateTime
lotNumber0..1string
serialNumber0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
valueΣ1..1string
typeΣ1..1codeBinding
displayΣ ?! C0..1boolean
modelNumber0..1string
partNumber0..1string
category0..*CodeableConcept
type0..*CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
type0..1CodeableConcept
componentC0..1Identifier
installDate0..1dateTime
value1..1string
id0..1string
apiSpecificationS C1..*Extension(canonical(APISpecificationEr))
modifierExtensionΣ ?! C0..*Extension
category0..1CodeableConcept
specificationS1..1CodeableConceptBinding
version0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
type1..1CodeableConcept
valueAttachmentAttachment
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueIntegerinteger
valueQuantityQuantity
valueRangeRange
valueStringstring
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ C1..1codeFixed Value
displayΣ C0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ C1..1code
displayΣ C0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ C1..1codeFixed Value
displayΣ C0..1string
userSelectedΣ0..1boolean
textΣ0..1string
valueStringstring
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ C1..1codeFixed Value
displayΣ C0..1string
userSelectedΣ0..1boolean
textΣ0..1string
valueStringstring
mode0..1CodeableConcept
cycleC0..1Count
durationC0..1Duration
ownerC0..1Reference(Organization)
contactC0..*ContactPoint
locationC0..1Reference(Location)
url0..1uri
endpointS C0..*Reference(EndpointEr)
gateway0..*CodeableReference(Device)
note0..*Annotation
safetyΣ0..*CodeableConcept
parentC0..1Reference(Device)
DeviceC
ShortItem used in healthcare
Definition

A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-4: 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-3: 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().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-6: A resource should have narrative for robust management
    text.`div`.exists()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dev-1: only one Device.name.display SHALL be true when there is more than one Device.name
    name.where(display=true).count() <= 1
Mappings
  • rim: n/a
  • rim: Entity. Role, or Act
  • rim: Entity, Role, or Act
  • w5: administrative.device
  • rim: Device
  • interface: Participant
Device.idΣ
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typeid
SummaryTrue
Comments

Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.metaΣ
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Device.implicitRulesΣ ?!
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

IETF language tag for a human language

AllLanguages (required)

Additional bindings
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.textC
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

ConditionsThe cardinality or value of this element may be affected by these constraints: dom-6
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: Act.text?
Device.containedC
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.

ConditionsThe cardinality or value of this element may be affected by these constraints: dom-2, dom-4, dom-3, dom-5
Mappings
  • rim: n/a
  • rim: Entity. Role, or Act
  • rim: N/A
Device.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.identifierC
ShortInstance identifier
Definition

Unique instance identifiers assigned to a device by manufacturers other organizations or owners.

Cardinality0..*
TypeIdentifier
Comments

Certain attributes, like serial number and UDI Carrier (the HRF or AIDC barcode string) are not device instance identifiers as they are not consistently able to uniquely identify the instance of a device, thus are not appropriate to be used to value Device.identifier. The barcode string from a barcode present on a device label or package may identify the instance, include names given to the device in local usage, or may identify the type of device. If the identifier identifies the type of device, Device.type element should be used. The identifier is typically valued if the serialNumber or lotNumber is not valued and represents a different type of identifier. However, it is permissible to still include those identifiers in DeviceDefinition.identifier with the appropriate identifier.type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ident-1: Identifier with no value has limited utility. If communicating that an identifier value has been suppressed or missing, the value element SHOULD be present with an extension indicating the missing semantic - e.g. data-absent-reason
    value.exists()
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • w5: FiveWs.identifier
  • rim: .id
  • interface: Participant.identifier
  • udi: The serial number which is a component of the production identifier (PI), a conditional, variable portion of a UDI. The identifier.type code should be set to “SNO”(Serial Number) and the system left empty.
Device.displayNameS
ShortThe name used to display by default when the device is referenced
Definition

The name used to display by default when the device is referenced. Based on intent of use by the resource creator, this may reflect one of the names in Device.name, or may be another simple name.

Cardinality1..1
Typestring
Must SupportTrue
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • DeviceToAPILogicalEr: namn
Device.definition
ShortThe reference to the definition for the device
Definition

The reference to the definition for the device.

Cardinality0..1
TypeCodeableReference(DeviceDefinition)
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.udiCarrierΣ
ShortUnique Device Identifier (UDI) Barcode string
Definition

Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.

Cardinality0..*
TypeBackboneElement
SummaryTrue
Comments

UDI may identify an unique instance of a device, or it may only identify the type of the device. See UDI mappings for a complete mapping of UDI parts to Device.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.identifier
  • rim: .id and .code
Device.udiCarrier.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.udiCarrier.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.udiCarrier.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.udiCarrier.deviceIdentifierΣ
ShortMandatory fixed portion of UDI
Definition

The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device.

Cardinality1..1
Typestring
SummaryTrue
AliasDI
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: Role.id.extension
  • udi: The device identifier (DI), a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device.
Device.udiCarrier.issuerΣ
ShortUDI Issuing Organization
Definition

Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include:

  1. GS1: http://hl7.org/fhir/NamingSystem/gs1-di,
  2. HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-diI,
  3. ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
  4. ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di # Informationsstelle für Arzneispezialitäten (IFA GmbH) (EU only): http://hl7.org/fhir/NamingSystem/ifa-gmbh-di.
Cardinality1..1
Typeuri
SummaryTrue
AliasBarcode System
Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: Role.id.root
  • udi: All UDIs are to be issued under a system operated by an Jurisdiction-accredited issuing agency. GS1 DIs: http://hl7.org/fhir/NamingSystem/gs1 HIBCC DIs: http://hl7.org/fhir/NamingSystem/hibcc ICCBBA DIs for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood ICCBA DIs for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other
Device.udiCarrier.jurisdiction
ShortRegional UDI authority
Definition

The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single namespace with the appropriate repository uri as the system. For example, UDIs of devices managed in the U.S. by the FDA, the value is http://hl7.org/fhir/NamingSystem/us-fda-udi or in the European Union by the European Commission http://hl7.org/fhir/NamingSystem/eu-ec-udi.

Cardinality0..1
Typeuri
Requirements

Allows a recipient of a UDI to know which database will contain the UDI-associated metadata.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: Role.scoper
Device.udiCarrier.carrierAIDCΣ
ShortUDI Machine Readable Barcode String
Definition

The full UDI carrier of the Automatic Identification and Data Capture (AIDC) technology representation of the barcode string as printed on the packaging of the device - e.g., a barcode or RFID. Because of limitations on character sets in XML and the need to round-trip JSON data through XML, AIDC Formats SHALL be base64 encoded.

Cardinality0..1
Typebase64Binary
SummaryTrue
AliasAutomatic Identification and Data Capture
Comments

The AIDC form of UDIs should be scanned or otherwise used for the identification of the device whenever possible to minimize errors in records resulting from manual transcriptions. If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: Role.id.extension
  • udi: A unique device identifier (UDI) on a device label a form that uses automatic identification and data capture (AIDC) technology.
Device.udiCarrier.carrierHRFΣ
ShortUDI Human Readable Barcode String
Definition

The full UDI carrier as the human readable form (HRF) representation of the barcode string as printed on the packaging of the device.

Cardinality0..1
Typestring
SummaryTrue
AliasHuman Readable Form
Comments

If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: Role.id.extension
  • udi: A unique device identifier (UDI) on a device label in plain text
Device.udiCarrier.entryType
Shortbarcode | rfid | manual | card | self-reported | electronic-transmission | unknown
Definition

A coded entry to indicate how the data was entered.

Cardinality0..1
Typecode
Binding

Codes to identify how UDI data was entered.

UDIEntryType (required)

Requirements

Supports a way to distinguish hand entered from machine read data.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: NA
Device.statusS Σ ?!
Shortactive | inactive
Definition

The Device record status. This is not the status of the device like availability.

Cardinality1..1
Typecode
Binding

The record status of the device.

er-device-statuses (required)

Must SupportTrue
ModifierTrue
SummaryTrue
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.status
  • rim: .statusCode
  • interface: Participant.active
Device.availabilityStatus
Shortlost | damaged | destroyed | available
Definition

The availability of the device.

Cardinality0..1
TypeCodeableConcept
Binding

The availability status reason of the device.

FHIRDeviceAvailabilityStatus (extensible)

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • w5: FiveWs.status
Device.biologicalSourceEventC
ShortAn identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled
Definition

An identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled.

Cardinality0..1
TypeIdentifier
AliasDistinct Identification Code (DIC)
Comments

Necessary to support mandatory requirements for traceability from donor/source to recipient and vice versa, while also satisfying donor anonymity requirements. The element is defined consistently across BiologicallyDerivedProduct, NutritionProduct, and Device. The identifier references an event that links to a single biological entity such as a blood donor, or to multiple biological entities (e.g. when the product is an embryo or a pooled platelet product). A single biologicalSourceEvent identifier may appear on multiple products of many types derived from a single donation event or source extraction. As an example, a single donation event may provide 2 kidneys and a liver for organ transplantation, 2 corneas for eye surgery, heart valves and arterial tissue for cardiovascular surgery, multiple skin grafts, tendons, multiple shaped bone grafts and a large number of bone putty/paste products; and each of them may be assigned to the same biological source event identifier.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ident-1: Identifier with no value has limited utility. If communicating that an identifier value has been suppressed or missing, the value element SHOULD be present with an extension indicating the missing semantic - e.g. data-absent-reason
    value.exists()
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • w5: FiveWs.what[x]
Device.manufacturer
ShortName of device manufacturer
Definition

A name of the manufacturer or entity legally responsible for the device.

Cardinality0..1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: .playedRole[typeCode=MANU].scoper.name
  • udi: N/A
Device.manufactureDate
ShortDate when the device was made
Definition

The date and time when the device was manufactured.

Cardinality0..1
TypedateTime
Comments

UTC offset is allowed for dates and partial dates

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: .existenceTime.low
  • udi: The date a specific device was manufactured - which is a component of the production identifier (PI), a conditional, variable portion of a UDI. For FHIR, The datetime syntax must converted to YYYY-MM-DD[THH:MM:SS]. If hour is present, the minutes and seconds should both be set to “00”.
Device.expirationDate
ShortDate and time of expiry of this device (if applicable)
Definition

The date and time beyond which this device is no longer valid or should not be used (if applicable).

Cardinality0..1
TypedateTime
Comments

UTC offset is allowed for dates and partial dates

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: .expirationTime
  • udi: the expiration date of a specific device - which is a component of the production identifier (PI), a conditional, variable portion of a UDI. For FHIR, The datetime syntax must converted to YYYY-MM-DD[THH:MM:SS]. If hour is present, the minutes and seconds should both be set to “00”.
Device.lotNumber
ShortLot number of manufacture
Definition

Lot number assigned by the manufacturer.

Cardinality0..1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: .lotNumberText
  • udi: The lot or batch number within which a device was manufactured - which is a component of the production identifier (PI), a conditional, variable portion of a UDI.
Device.serialNumber
ShortSerial number assigned by the manufacturer
Definition

The serial number assigned by the organization when the device was manufactured.

Cardinality0..1
Typestring
Comments

Alphanumeric Maximum 20. While a serial number is a type of identifier, in the context of devices for which a UDI is required, thus a serial number may be part of the production identifier, it is more informative to have the serial number as a dedicated attribute together with the other UDI production identifier. When the device is not subject to including the UDI (e.g., its presence and exchange is not mandated by local regulatory requirements or specific use case at hand), thus the concept of production identifiers is not relevant as a set, it remains helpful for consistency to still use Device.serialNumber rather than using Device.identifier with an appropriate type. Systems that do not realize an identifier is a serial number may place it in Device.identifier or if the identifier.system is known for the serial number, it may also be populated in the Device.identifier as a globally unique id_.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: .playedRole[typeCode=MANU].id
Device.nameC
ShortThe name or names of the device as known to the manufacturer and/or patient
Definition

This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinition.

Cardinality0..*
TypeBackboneElement
ConditionsThe cardinality or value of this element may be affected by these constraints: dev-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • interface: Participant.name
Device.name.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.name.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.name.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.name.valueΣ
ShortThe term that names the device
Definition

The actual name that identifies the device.

Cardinality1..1
Typestring
SummaryTrue
AliasΣ
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.name.typeΣ
Shortregistered-name | user-friendly-name | patient-reported-name
Definition

Indicates the kind of name. RegisteredName | UserFriendlyName | PatientReportedName.

Cardinality1..1
Typecode
Binding

The type of name the device is referred by.

DeviceNameType (required)

SummaryTrue
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: .playedRole[typeCode=MANU].code
Device.name.displayΣ ?! C
ShortThe preferred device name
Definition

Indicates the default or preferred name to be displayed.

Cardinality0..1
Typeboolean
ModifierTrue
SummaryTrue
ConditionsThe cardinality or value of this element may be affected by these constraints: dev-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.status
  • rim: statusCode
Device.modelNumber
ShortThe manufacturer's model number for the device
Definition

The manufacturer's model number for the device.

Cardinality0..1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: .softwareName (included as part)
Device.partNumber
ShortThe part number or catalog number of the device
Definition

The part number or catalog number of the device.

Cardinality0..1
Typestring
Comments

Alphanumeric Maximum 20.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
  • rim: .playedRole[typeCode=MANU].id
Device.category
ShortIndicates a high-level grouping of the device
Definition

Devices may be associated with one or more categories.

Cardinality0..*
TypeCodeableConcept
Binding

Categories of medical devices.

FHIRDeviceCategory (example)

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.type
ShortThe kind or type of device
Definition

The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the device.

Cardinality0..*
TypeCodeableConcept
Binding

Codes to identify medical devices.

DeviceType (example)

Comments

Multiple device types are use when a device is categorized in more than one context – for example, hybrid devices in which the device is both of type gateway and sensor.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.version
ShortThe actual design of the device or software version running on the device
Definition

The actual design of the device or software version running on the device.

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.version.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.version.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.version.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.version.type
ShortThe type of the device version, e.g. manufacturer, approved, internal
Definition

The type of the device version, e.g. manufacturer, approved, internal.

Cardinality0..1
TypeCodeableConcept
Binding

The type of version indicated for the device.

DeviceVersionType (example)

AliasΣ
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.version.componentC
ShortThe hardware or software module of the device to which the version applies
Definition

The hardware or software module of the device to which the version applies.

Cardinality0..1
TypeIdentifier
Comments

Note that the module of the device would not need to be tracked as a separate device, e.g., using different UDI, thus would typically involve one or more software modules. For example, a device may involve two software modules each on a different version.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ident-1: Identifier with no value has limited utility. If communicating that an identifier value has been suppressed or missing, the value element SHOULD be present with an extension indicating the missing semantic - e.g. data-absent-reason
    value.exists()
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • w5: FiveWs.what[x]
Device.version.installDate
ShortThe date the version was installed on the device
Definition

The date the version was installed on the device.

Cardinality0..1
TypedateTime
Comments

UTC offset is allowed for dates and partial dates

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.what[x]
Device.version.value
ShortThe version text
Definition

The version text.

Cardinality1..1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.conformsToS
ShortIdentifies the standards, specifications, or formal guidances for the capabilities supported by the device
Definition

Identifies the standards, specifications, or formal guidances for the capabilities supported by the device. The device may be certified as conformant to these specifications e.g., communication, performance, process, measurement, or specialization standards.

Cardinality0..*
TypeBackboneElement
Must SupportTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.conformsTo.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.conformsTo.extensionS C
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality1..*
TypeExtension
Must SupportTrue
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.conformsTo.extension:apiSpecificationS C
ShortDevice Conforms to Actor Definition (ER)
Definition

ActorDefinition that this device (API) is implementing.

Cardinality1..*
TypeExtension(canonical(APISpecificationEr))
Must SupportTrue
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
  • DeviceToAPILogicalEr: foljer(APIspecifikationLogicalEr)
Device.conformsTo.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.conformsTo.category
ShortDescribes the common type of the standard, specification, or formal guidance. communication | performance | measurement
Definition

Describes the type of the standard, specification, or formal guidance.

Cardinality0..1
TypeCodeableConcept
Binding

The kind of standards used by the device.

DeviceSpecificationCategory (example)

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.conformsTo.specificationS
ShortIdentifies the standard, specification, or formal guidance that the device adheres to
Definition

Code that identifies the specific standard, specification, protocol, formal guidance, regulation, legislation, or certification scheme to which the device adheres.

Cardinality1..1
TypeCodeableConcept
Binding

The type of version indicated for the device.

er-endpoint-connection-types (required)

Must SupportTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • DeviceToAPILogicalEr: protokoll
Device.conformsTo.version
ShortSpecific form or variant of the standard
Definition

Identifies the specific form or variant of the standard, specification, or formal guidance. This may be a 'version number', release, document edition, publication year, or other label.

Cardinality0..1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.propertyS
ShortInherent, essentially fixed, characteristics of the device. e.g., time properties, size, material, etc.
Definition

Static or essentially fixed characteristics or features of the device (e.g., time or timing attributes, resolution, accuracy, intended use or instructions for use, and physical attributes) that are not otherwise captured in more specific attributes.

Cardinality0..3
TypeBackboneElement
Must SupportTrue
Comments

Dynamic or current properties, such as settings, of an individual device are described using a Device instance-specific [DeviceMetric] and recorded using [Observation]. Static characteristics of a device could also be documented in an associated [DeviceDefinition] instance. The Device instance's properties, and their values, could be, but need not be, the same as those described in an associated DeviceDefinition.

Slicing

Unordered, Open, by type.coding(Value)

Slice property based on code

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.property.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property.type
ShortCode that specifies the property being represented
Definition

Code that specifies the property, such as resolution, color, size, being represented.

Cardinality1..1
TypeCodeableConcept
Binding

Device property type.

DeviceType (example)

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.property.value[x]
ShortValue of the property
Definition

The value of the property specified by the associated property.type code.

Cardinality1..1
TypeAttachment | boolean | CodeableConcept | integer | Quantity | Range | string
Comments

The text element in CodeableConcept.text is used for properties which would usually be coded (such as the size of an implant, or a security classification) but for which there is not currently an appropriate concept in the vocabulary (e.g. a custom implant size, or a security classification which depends on configuration). Otherwise the string choice type is used for descriptive properties, or instructions.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.property:securityMethodS
ShortInherent, essentially fixed, characteristics of the device. e.g., time properties, size, material, etc.
Definition

Static or essentially fixed characteristics or features of the device (e.g., time or timing attributes, resolution, accuracy, intended use or instructions for use, and physical attributes) that are not otherwise captured in more specific attributes.

Cardinality0..1
TypeBackboneElement
Must SupportTrue
Comments

Dynamic or current properties, such as settings, of an individual device are described using a Device instance-specific [DeviceMetric] and recorded using [Observation]. Static characteristics of a device could also be documented in an associated [DeviceDefinition] instance. The Device instance's properties, and their values, could be, but need not be, the same as those described in an associated DeviceDefinition.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • DeviceToAPILogicalEr: sakerhetsmetod
Device.property:securityMethod.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:securityMethod.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:securityMethod.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:securityMethod.typeS
ShortCode that specifies the property being represented
Definition

Code that specifies the property, such as resolution, color, size, being represented.

Cardinality1..1
TypeCodeableConcept
Binding

Device property type.

DeviceType (example)

Must SupportTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.property:securityMethod.type.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:securityMethod.type.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:securityMethod.type.codingS Σ C
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality1..1
TypeCoding
Must SupportTrue
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cod-1: A Coding SHOULD NOT have a display unless a code is also present. Computation on Coding.display alone is generally unsafe. Consider using CodeableConcept.text
    code.exists().not() implies display.exists().not()
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Device.property:securityMethod.type.coding.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:securityMethod.type.coding.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:securityMethod.type.coding.systemS Σ
ShortIdentity of the terminology system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Cardinality1..1
Typeuri
Must SupportTrue
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should be an absolute reference to some definition that establishes the system clearly and unambiguously.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
http://electronichealth.se/CodeSystem/er-device-property-types
Mappings
  • rim: n/a
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Device.property:securityMethod.type.coding.versionΣ
ShortVersion of the system - if relevant
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Cardinality0..1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Device.property:securityMethod.type.coding.codeS Σ C
ShortSymbol in syntax defined by the system
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Cardinality1..1
Typecode
Must SupportTrue
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
security-method
Mappings
  • rim: n/a
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Device.property:securityMethod.type.coding.displayΣ C
ShortRepresentation defined by the system
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Cardinality0..1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Device.property:securityMethod.type.coding.userSelectedΣ
ShortIf this coding was chosen directly by the user
Definition

Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Device.property:securityMethod.type.textΣ
ShortPlain text representation of the concept
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Cardinality0..1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Device.property:securityMethod.value[x]S
ShortValue of the property
Definition

The value of the property specified by the associated property.type code.

Cardinality1..1
TypeCodeableConcept
Must SupportTrue
Comments

The text element in CodeableConcept.text is used for properties which would usually be coded (such as the size of an implant, or a security classification) but for which there is not currently an appropriate concept in the vocabulary (e.g. a custom implant size, or a security classification which depends on configuration). Otherwise the string choice type is used for descriptive properties, or instructions.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.property:securityMethod.value[x].id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:securityMethod.value[x].extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:securityMethod.value[x].codingS Σ C
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality1..1
TypeCoding
Binding

er-device-security-method (required)

Must SupportTrue
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cod-1: A Coding SHOULD NOT have a display unless a code is also present. Computation on Coding.display alone is generally unsafe. Consider using CodeableConcept.text
    code.exists().not() implies display.exists().not()
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Device.property:securityMethod.value[x].coding.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:securityMethod.value[x].coding.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:securityMethod.value[x].coding.systemS Σ
ShortIdentity of the terminology system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Cardinality1..1
Typeuri
Must SupportTrue
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should be an absolute reference to some definition that establishes the system clearly and unambiguously.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Device.property:securityMethod.value[x].coding.versionΣ
ShortVersion of the system - if relevant
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Cardinality0..1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Device.property:securityMethod.value[x].coding.codeS Σ C
ShortSymbol in syntax defined by the system
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Cardinality1..1
Typecode
Must SupportTrue
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Device.property:securityMethod.value[x].coding.displayΣ C
ShortRepresentation defined by the system
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Cardinality0..1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Device.property:securityMethod.value[x].coding.userSelectedΣ
ShortIf this coding was chosen directly by the user
Definition

Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Device.property:securityMethod.value[x].textΣ
ShortPlain text representation of the concept
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Cardinality0..1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Device.property:authorizationServerUrlS
ShortInherent, essentially fixed, characteristics of the device. e.g., time properties, size, material, etc.
Definition

Static or essentially fixed characteristics or features of the device (e.g., time or timing attributes, resolution, accuracy, intended use or instructions for use, and physical attributes) that are not otherwise captured in more specific attributes.

Cardinality0..1
TypeBackboneElement
Must SupportTrue
Comments

Dynamic or current properties, such as settings, of an individual device are described using a Device instance-specific [DeviceMetric] and recorded using [Observation]. Static characteristics of a device could also be documented in an associated [DeviceDefinition] instance. The Device instance's properties, and their values, could be, but need not be, the same as those described in an associated DeviceDefinition.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • DeviceToAPILogicalEr: urlTillAuktorisationsserver
Device.property:authorizationServerUrl.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:authorizationServerUrl.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:authorizationServerUrl.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:authorizationServerUrl.typeS
ShortCode that specifies the property being represented
Definition

Code that specifies the property, such as resolution, color, size, being represented.

Cardinality1..1
TypeCodeableConcept
Binding

Device property type.

DeviceType (example)

Must SupportTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.property:authorizationServerUrl.type.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:authorizationServerUrl.type.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:authorizationServerUrl.type.codingS Σ C
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality1..1
TypeCoding
Must SupportTrue
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cod-1: A Coding SHOULD NOT have a display unless a code is also present. Computation on Coding.display alone is generally unsafe. Consider using CodeableConcept.text
    code.exists().not() implies display.exists().not()
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Device.property:authorizationServerUrl.type.coding.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:authorizationServerUrl.type.coding.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:authorizationServerUrl.type.coding.systemS Σ
ShortIdentity of the terminology system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Cardinality1..1
Typeuri
Must SupportTrue
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should be an absolute reference to some definition that establishes the system clearly and unambiguously.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
http://electronichealth.se/CodeSystem/er-device-property-types
Mappings
  • rim: n/a
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Device.property:authorizationServerUrl.type.coding.versionΣ
ShortVersion of the system - if relevant
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Cardinality0..1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Device.property:authorizationServerUrl.type.coding.codeS Σ C
ShortSymbol in syntax defined by the system
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Cardinality1..1
Typecode
Must SupportTrue
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
authorization-server-url
Mappings
  • rim: n/a
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Device.property:authorizationServerUrl.type.coding.displayΣ C
ShortRepresentation defined by the system
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Cardinality0..1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Device.property:authorizationServerUrl.type.coding.userSelectedΣ
ShortIf this coding was chosen directly by the user
Definition

Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Device.property:authorizationServerUrl.type.textΣ
ShortPlain text representation of the concept
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Cardinality0..1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Device.property:authorizationServerUrl.value[x]S
ShortValue of the property
Definition

The value of the property specified by the associated property.type code.

Cardinality1..1
Typestring
Must SupportTrue
Comments

The text element in CodeableConcept.text is used for properties which would usually be coded (such as the size of an implant, or a security classification) but for which there is not currently an appropriate concept in the vocabulary (e.g. a custom implant size, or a security classification which depends on configuration). Otherwise the string choice type is used for descriptive properties, or instructions.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.property:endpointTemplateUrlS
ShortInherent, essentially fixed, characteristics of the device. e.g., time properties, size, material, etc.
Definition

Static or essentially fixed characteristics or features of the device (e.g., time or timing attributes, resolution, accuracy, intended use or instructions for use, and physical attributes) that are not otherwise captured in more specific attributes.

Cardinality0..1
TypeBackboneElement
Must SupportTrue
Comments

Dynamic or current properties, such as settings, of an individual device are described using a Device instance-specific [DeviceMetric] and recorded using [Observation]. Static characteristics of a device could also be documented in an associated [DeviceDefinition] instance. The Device instance's properties, and their values, could be, but need not be, the same as those described in an associated DeviceDefinition.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.property:endpointTemplateUrl.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:endpointTemplateUrl.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:endpointTemplateUrl.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:endpointTemplateUrl.typeS
ShortCode that specifies the property being represented
Definition

Code that specifies the property, such as resolution, color, size, being represented.

Cardinality1..1
TypeCodeableConcept
Binding

Device property type.

DeviceType (example)

Must SupportTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.property:endpointTemplateUrl.type.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:endpointTemplateUrl.type.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:endpointTemplateUrl.type.codingS Σ C
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality1..1
TypeCoding
Must SupportTrue
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cod-1: A Coding SHOULD NOT have a display unless a code is also present. Computation on Coding.display alone is generally unsafe. Consider using CodeableConcept.text
    code.exists().not() implies display.exists().not()
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Device.property:endpointTemplateUrl.type.coding.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Device.property:endpointTemplateUrl.type.coding.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Device.property:endpointTemplateUrl.type.coding.systemS Σ
ShortIdentity of the terminology system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Cardinality1..1
Typeuri
Must SupportTrue
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should be an absolute reference to some definition that establishes the system clearly and unambiguously.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
http://electronichealth.se/CodeSystem/er-device-property-types
Mappings
  • rim: n/a
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Device.property:endpointTemplateUrl.type.coding.versionΣ
ShortVersion of the system - if relevant
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Cardinality0..1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Device.property:endpointTemplateUrl.type.coding.codeS Σ C
ShortSymbol in syntax defined by the system
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Cardinality1..1
Typecode
Must SupportTrue
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
endpoint-template-url
Mappings
  • rim: n/a
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Device.property:endpointTemplateUrl.type.coding.displayΣ C
ShortRepresentation defined by the system
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Cardinality0..1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Device.property:endpointTemplateUrl.type.coding.userSelectedΣ
ShortIf this coding was chosen directly by the user
Definition

Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Device.property:endpointTemplateUrl.type.textΣ
ShortPlain text representation of the concept
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Cardinality0..1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Device.property:endpointTemplateUrl.value[x]S
ShortValue of the property
Definition

The value of the property specified by the associated property.type code.

Cardinality1..1
Typestring
Must SupportTrue
Comments

The text element in CodeableConcept.text is used for properties which would usually be coded (such as the size of an implant, or a security classification) but for which there is not currently an appropriate concept in the vocabulary (e.g. a custom implant size, or a security classification which depends on configuration). Otherwise the string choice type is used for descriptive properties, or instructions.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.mode
ShortThe designated condition for performing a task
Definition

The designated condition for performing a task with the device.

Cardinality0..1
TypeCodeableConcept
Binding

Operational mode of a device.

FHIRDeviceOperationMode (example)

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Device.cycleC
ShortThe series of occurrences that repeats during the operation of the device
Definition

The series of occurrences that repeats during the operation of the device.

Cardinality0..1
TypeCount
Comments

The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • qty-3: If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • cnt-3: There SHALL be a code with a value of "1" if there is a value. If system is present, it SHALL be UCUM. If present, the value SHALL be a whole number.
    (code.exists() or value.empty()) and (system.empty() or system = %ucum) and (code.empty() or code = '1') and (value.empty() or value.hasValue().not() or value.toString().contains('.').not())
Mappings
  • rim: n/a
  • v2: SN (see also Range) or CQ
  • rim: PQ, IVL<PQ>, MO, CO, depending on the values
Device.durationC
ShortA measurement of time during the device's operation (e.g., days, hours, mins, etc.)
Definition

A measurement of time during the device's operation (e.g., days, hours, mins, etc.).

Cardinality0..1
TypeDuration
Comments

The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • qty-3: If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • drt-1: There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM.
    code.exists() implies ((system = %ucum) and value.exists())
Mappings
  • rim: n/a
  • v2: SN (see also Range) or CQ
  • rim: PQ, IVL<PQ>, MO, CO, depending on the values
  • rim: PQ, IVL<PQ> depending on the values
Device.ownerC
ShortOrganization responsible for device
Definition

An organization that is responsible for the provision and ongoing maintenance of the device.

Cardinality0..1
TypeReference(Organization)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5: FiveWs.source
  • rim: .playedRole[typeCode=OWN].scoper
Device.contactC
ShortDetails for human/organization for support
Definition

Contact details for an organization or a particular human that is responsible for the device.

Cardinality0..*
TypeContactPoint
Comments

used for troubleshooting etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cpt-2: A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim: n/a
  • v2: XTN
  • rim: TEL
  • servd: ContactPoint
  • w5: FiveWs.source
  • rim: .scopedRole[typeCode=CON].player
Device.locationC
ShortWhere the device is found
Definition

The place where the device can be found.

Cardinality0..1
TypeReference(Location)
Requirements

Device.location can be used to track device location.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5: FiveWs.where[x]
  • rim: .playedRole[typeCode=LOCE].scoper
Device.url
ShortNetwork address to contact device
Definition

A network address on which the device may be contacted directly.

Cardinality0..1
Typeuri
Comments

If the device is running a FHIR server, the network address should be the Base URL from which a conformance statement may be retrieved.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.where[x]
  • rim: .telecom
Device.endpointS C
ShortTechnical endpoints providing access to electronic services provided by the device
Definition

Technical endpoints providing access to services provided by the device defined at this resource.

Cardinality0..*
TypeReference(EndpointEr)
Must SupportTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
Device.gateway
ShortLinked device acting as a communication/data collector, translator or controller
Definition

The linked device acting as a communication controller, data collector, translator, or concentrator for the current device (e.g., mobile phone application that relays a blood pressure device's data).

Cardinality0..*
TypeCodeableReference(Device)
Comments

The Device.gateway may be used when the Device being referenced has a gateway and/or to capture one or more gateways associated with the device. If the Gateway is included in the Observation resource, the Observation.gatewayDevice should be used instead.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Device.note
ShortDevice notes and comments
Definition

Descriptive information, usage information or implantation information that is not captured in an existing element.

Cardinality0..*
TypeAnnotation
Comments

For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: N/A
  • rim: Act
  • rim: .text
Device.safetyΣ
ShortSafety Characteristics of Device
Definition

Provides additional safety characteristics about a medical device. For example devices containing latex.

Cardinality0..*
TypeCodeableConcept
Binding

DeviceSafety (example)

SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: NA
Device.parentC
ShortThe higher level or encompassing device that this device is a logical part of
Definition

The higher level or encompassing device that this device is a logical part of.

Cardinality0..1
TypeReference(Device)
Comments

For example a vital signs monitor (parent) where three separate modules can be plugged into such as interchangeable blood pressure, oximeter, temperature modules. These modules are represented as devices with the .parent valued to the vital signs monitor when plugged in.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="device-er" />
<url value="http://electronichealth.se/fhir/NDI/StructureDefinition/device-er" />
<version value="0.1.0" />
<name value="DeviceEr" />
<title value="Device (ER)" />
<status value="active" />
<description value="This profile holds information about a set of capabilities defined for an API." />
<fhirVersion value="5.0.0" />
<identity value="DeviceToAPILogicalEr" />
<uri value="APILogicalEr" />
</mapping>
<kind value="resource" />
<abstract value="false" />
<type value="Device" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Device" />
<derivation value="constraint" />
<element id="Device.displayName">
<path value="Device.displayName" />
<min value="1" />
<mustSupport value="true" />
<identity value="DeviceToAPILogicalEr" />
<map value="namn" />
</mapping>
</element>
<element id="Device.status">
<path value="Device.status" />
<short value="active | inactive" />
<min value="1" />
<mustSupport value="true" />
<strength value="required" />
<valueSet value="http://electronichealth.se/fhir/NDI/ValueSet/er-device-statuses" />
</binding>
</element>
<element id="Device.conformsTo">
<path value="Device.conformsTo" />
<mustSupport value="true" />
</element>
<element id="Device.conformsTo.extension">
<path value="Device.conformsTo.extension" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="Device.conformsTo.extension:apiSpecification">
<path value="Device.conformsTo.extension" />
<sliceName value="apiSpecification" />
<min value="1" />
<max value="*" />
<code value="Extension" />
<profile value="http://electronichealth.se/fhir/NDI/StructureDefinition/device-conformsto-actor-definition-er" />
</type>
<mustSupport value="true" />
<identity value="DeviceToAPILogicalEr" />
<map value="foljer(APIspecifikationLogicalEr)" />
</mapping>
</element>
<element id="Device.conformsTo.specification">
<path value="Device.conformsTo.specification" />
<mustSupport value="true" />
<strength value="required" />
<valueSet value="http://electronichealth.se/fhir/NDI/ValueSet/er-endpoint-connection-type" />
</binding>
<identity value="DeviceToAPILogicalEr" />
<map value="protokoll" />
</mapping>
</element>
<element id="Device.property">
<path value="Device.property" />
<type value="value" />
<path value="type.coding" />
</discriminator>
<description value="Slice property based on code" />
<ordered value="false" />
<rules value="open" />
</slicing>
<max value="3" />
<mustSupport value="true" />
</element>
<element id="Device.property:securityMethod">
<path value="Device.property" />
<sliceName value="securityMethod" />
<min value="0" />
<max value="1" />
<mustSupport value="true" />
<identity value="DeviceToAPILogicalEr" />
<map value="sakerhetsmetod" />
</mapping>
</element>
<element id="Device.property:securityMethod.type">
<path value="Device.property.type" />
<mustSupport value="true" />
</element>
<element id="Device.property:securityMethod.type.coding">
<path value="Device.property.type.coding" />
<min value="1" />
<max value="1" />
<mustSupport value="true" />
</element>
<element id="Device.property:securityMethod.type.coding.system">
<path value="Device.property.type.coding.system" />
<min value="1" />
<fixedUri value="http://electronichealth.se/CodeSystem/er-device-property-types" />
<mustSupport value="true" />
</element>
<element id="Device.property:securityMethod.type.coding.code">
<path value="Device.property.type.coding.code" />
<min value="1" />
<fixedCode value="security-method" />
<mustSupport value="true" />
</element>
<element id="Device.property:securityMethod.value[x]">
<path value="Device.property.value[x]" />
<code value="CodeableConcept" />
</type>
<mustSupport value="true" />
</element>
<element id="Device.property:securityMethod.value[x].coding">
<path value="Device.property.value[x].coding" />
<min value="1" />
<max value="1" />
<mustSupport value="true" />
<strength value="required" />
<valueSet value="http://electronichealth.se/fhir/NDI/ValueSet/er-device-security-method" />
</binding>
</element>
<element id="Device.property:securityMethod.value[x].coding.system">
<path value="Device.property.value[x].coding.system" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="Device.property:securityMethod.value[x].coding.code">
<path value="Device.property.value[x].coding.code" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="Device.property:authorizationServerUrl">
<path value="Device.property" />
<sliceName value="authorizationServerUrl" />
<min value="0" />
<max value="1" />
<mustSupport value="true" />
<identity value="DeviceToAPILogicalEr" />
<map value="urlTillAuktorisationsserver" />
</mapping>
</element>
<element id="Device.property:authorizationServerUrl.type">
<path value="Device.property.type" />
<mustSupport value="true" />
</element>
<element id="Device.property:authorizationServerUrl.type.coding">
<path value="Device.property.type.coding" />
<min value="1" />
<max value="1" />
<mustSupport value="true" />
</element>
<element id="Device.property:authorizationServerUrl.type.coding.system">
<path value="Device.property.type.coding.system" />
<min value="1" />
<fixedUri value="http://electronichealth.se/CodeSystem/er-device-property-types" />
<mustSupport value="true" />
</element>
<element id="Device.property:authorizationServerUrl.type.coding.code">
<path value="Device.property.type.coding.code" />
<min value="1" />
<fixedCode value="authorization-server-url" />
<mustSupport value="true" />
</element>
<element id="Device.property:authorizationServerUrl.value[x]">
<path value="Device.property.value[x]" />
<code value="string" />
</type>
<mustSupport value="true" />
</element>
<element id="Device.property:endpointTemplateUrl">
<path value="Device.property" />
<sliceName value="endpointTemplateUrl" />
<min value="0" />
<max value="1" />
<mustSupport value="true" />
</element>
<element id="Device.property:endpointTemplateUrl.type">
<path value="Device.property.type" />
<mustSupport value="true" />
</element>
<element id="Device.property:endpointTemplateUrl.type.coding">
<path value="Device.property.type.coding" />
<min value="1" />
<max value="1" />
<mustSupport value="true" />
</element>
<element id="Device.property:endpointTemplateUrl.type.coding.system">
<path value="Device.property.type.coding.system" />
<min value="1" />
<fixedUri value="http://electronichealth.se/CodeSystem/er-device-property-types" />
<mustSupport value="true" />
</element>
<element id="Device.property:endpointTemplateUrl.type.coding.code">
<path value="Device.property.type.coding.code" />
<min value="1" />
<fixedCode value="endpoint-template-url" />
<mustSupport value="true" />
</element>
<element id="Device.property:endpointTemplateUrl.value[x]">
<path value="Device.property.value[x]" />
<code value="string" />
</type>
<mustSupport value="true" />
</element>
<element id="Device.endpoint">
<path value="Device.endpoint" />
<code value="Reference" />
<targetProfile value="http://electronichealth.se/fhir/NDI/StructureDefinition/endpoint-er" />
</type>
<mustSupport value="true" />
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "device-er",
"url": "http://electronichealth.se/fhir/NDI/StructureDefinition/device-er",
"version": "0.1.0",
"name": "DeviceEr",
"title": "Device (ER)",
"status": "active",
"description": "This profile holds information about a set of capabilities defined for an API.",
"fhirVersion": "5.0.0",
"mapping": [
{
"identity": "DeviceToAPILogicalEr",
"uri": "APILogicalEr"
}
],
"kind": "resource",
"abstract": false,
"type": "Device",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Device",
"derivation": "constraint",
"element": [
{
"id": "Device.displayName",
"path": "Device.displayName",
"min": 1,
"mustSupport": true,
"mapping": [
{
"identity": "DeviceToAPILogicalEr",
"map": "namn"
}
]
},
{
"id": "Device.status",
"path": "Device.status",
"short": "active | inactive",
"min": 1,
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "http://electronichealth.se/fhir/NDI/ValueSet/er-device-statuses"
}
},
{
"id": "Device.conformsTo",
"path": "Device.conformsTo",
"mustSupport": true
},
{
"id": "Device.conformsTo.extension",
"path": "Device.conformsTo.extension",
"min": 1,
"mustSupport": true
},
{
"id": "Device.conformsTo.extension:apiSpecification",
"path": "Device.conformsTo.extension",
"sliceName": "apiSpecification",
"min": 1,
"max": "*",
"type": [
{
"code": "Extension",
"profile": [
"http://electronichealth.se/fhir/NDI/StructureDefinition/device-conformsto-actor-definition-er"
]
}
],
"mustSupport": true,
"mapping": [
{
"identity": "DeviceToAPILogicalEr",
"map": "foljer(APIspecifikationLogicalEr)"
}
]
},
{
"id": "Device.conformsTo.specification",
"path": "Device.conformsTo.specification",
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "http://electronichealth.se/fhir/NDI/ValueSet/er-endpoint-connection-type"
},
"mapping": [
{
"identity": "DeviceToAPILogicalEr",
"map": "protokoll"
}
]
},
{
"id": "Device.property",
"path": "Device.property",
"slicing": {
{
"type": "value",
"path": "type.coding"
}
],
"description": "Slice property based on code",
"ordered": false,
"rules": "open"
},
"max": "3",
"mustSupport": true
},
{
"id": "Device.property:securityMethod",
"path": "Device.property",
"sliceName": "securityMethod",
"min": 0,
"max": "1",
"mustSupport": true,
"mapping": [
{
"identity": "DeviceToAPILogicalEr",
"map": "sakerhetsmetod"
}
]
},
{
"id": "Device.property:securityMethod.type",
"path": "Device.property.type",
"mustSupport": true
},
{
"id": "Device.property:securityMethod.type.coding",
"path": "Device.property.type.coding",
"min": 1,
"max": "1",
"mustSupport": true
},
{
"id": "Device.property:securityMethod.type.coding.system",
"path": "Device.property.type.coding.system",
"min": 1,
"fixedUri": "http://electronichealth.se/CodeSystem/er-device-property-types",
"mustSupport": true
},
{
"id": "Device.property:securityMethod.type.coding.code",
"path": "Device.property.type.coding.code",
"min": 1,
"fixedCode": "security-method",
"mustSupport": true
},
{
"id": "Device.property:securityMethod.value[x]",
"path": "Device.property.value[x]",
"type": [
{
"code": "CodeableConcept"
}
],
"mustSupport": true
},
{
"id": "Device.property:securityMethod.value[x].coding",
"path": "Device.property.value[x].coding",
"min": 1,
"max": "1",
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "http://electronichealth.se/fhir/NDI/ValueSet/er-device-security-method"
}
},
{
"id": "Device.property:securityMethod.value[x].coding.system",
"path": "Device.property.value[x].coding.system",
"min": 1,
"mustSupport": true
},
{
"id": "Device.property:securityMethod.value[x].coding.code",
"path": "Device.property.value[x].coding.code",
"min": 1,
"mustSupport": true
},
{
"id": "Device.property:authorizationServerUrl",
"path": "Device.property",
"sliceName": "authorizationServerUrl",
"min": 0,
"max": "1",
"mustSupport": true,
"mapping": [
{
"identity": "DeviceToAPILogicalEr",
"map": "urlTillAuktorisationsserver"
}
]
},
{
"id": "Device.property:authorizationServerUrl.type",
"path": "Device.property.type",
"mustSupport": true
},
{
"id": "Device.property:authorizationServerUrl.type.coding",
"path": "Device.property.type.coding",
"min": 1,
"max": "1",
"mustSupport": true
},
{
"id": "Device.property:authorizationServerUrl.type.coding.system",
"path": "Device.property.type.coding.system",
"min": 1,
"fixedUri": "http://electronichealth.se/CodeSystem/er-device-property-types",
"mustSupport": true
},
{
"id": "Device.property:authorizationServerUrl.type.coding.code",
"path": "Device.property.type.coding.code",
"min": 1,
"fixedCode": "authorization-server-url",
"mustSupport": true
},
{
"id": "Device.property:authorizationServerUrl.value[x]",
"path": "Device.property.value[x]",
"type": [
{
"code": "string"
}
],
"mustSupport": true
},
{
"id": "Device.property:endpointTemplateUrl",
"path": "Device.property",
"sliceName": "endpointTemplateUrl",
"min": 0,
"max": "1",
"mustSupport": true
},
{
"id": "Device.property:endpointTemplateUrl.type",
"path": "Device.property.type",
"mustSupport": true
},
{
"id": "Device.property:endpointTemplateUrl.type.coding",
"path": "Device.property.type.coding",
"min": 1,
"max": "1",
"mustSupport": true
},
{
"id": "Device.property:endpointTemplateUrl.type.coding.system",
"path": "Device.property.type.coding.system",
"min": 1,
"fixedUri": "http://electronichealth.se/CodeSystem/er-device-property-types",
"mustSupport": true
},
{
"id": "Device.property:endpointTemplateUrl.type.coding.code",
"path": "Device.property.type.coding.code",
"min": 1,
"fixedCode": "endpoint-template-url",
"mustSupport": true
},
{
"id": "Device.property:endpointTemplateUrl.value[x]",
"path": "Device.property.value[x]",
"type": [
{
"code": "string"
}
],
"mustSupport": true
},
{
"id": "Device.endpoint",
"path": "Device.endpoint",
"type": [
{
"code": "Reference",
"http://electronichealth.se/fhir/NDI/StructureDefinition/endpoint-er"
]
}
],
"mustSupport": true
}
]
}
}

Details

The red must-support flag ("S") indicates that the element is expected in some use cases, and a missing flag that the element is never used.

Security and authorization

The Device.property element can be populated with three different properties related to the API described by the Device. These different properties as expressed as sliced in the profile and the first two slices consern security and authorization:

The property slice "authorizationServerUrl" is used to include the url of the authorization server.

The property slice "securityMethod" is used to include how authorzation is done, e.g. OAuth. This is supplied using a code from the Restful Security Service value set.

Endpoint template url

The third possible property to be described for the device is endpoint template url. This represents a configured template url that may be used for endpoints referenced from the device. This information is typically not of interest for endpoint consumers or medical record location consumers but rather for actors that administer devices and endpoints in a endpoint registry, such as Organization endpoint writers.

Value set bindings

The following table shows the elements in the profile that should be populated with codes as well as what value sets contain the valid codes for the respective elements. The strength indicates whether it is recommended or required to choose a code from the defined value set.

PathStrengthValueSet
Device.statusrequiredhttp://electronichealth.se/fhir/NDI/ValueSet/er-device-statuses
Device.conformsTo.specificationrequiredhttp://electronichealth.se/fhir/NDI/ValueSet/er-endpoint-connection-type
Device.property.value[x].codingrequiredhttp://electronichealth.se/fhir/NDI/ValueSet/er-device-security-method

Extensions

PathURL
Device.conformsTo.extensionhttp://electronichealth.se/fhir/NDI/StructureDefinition/device-conformsto-actor-definition-er

Mapping

giltigFrom1..1time
giltigTom0..1time
namn1..1string
protokollC0..*Coding
sakerhetsmetodC1..1Coding
urlTillAuktorisationsserver0..1url
foljerC1..1Reference(APIspecifikationLogicalEr)

Examples

API with one endpoint

A device resource describing the FHIR API of an fictive EHR system used by a fictive Swedish region. The API is in active use and declares to conform to two API specifications: vaccinations and restriction. The API requires OAuth authentication method and the url to the authentication server is https://auth.journalis.api. The API is configured with a template endpoint url which changes depending on which organization is sharing their data.

Device
{
"resourceType": "Device",
"id": "144f7b94-d23b-4840-82ed-6a88f7955e1d",
"displayName": "Region Tornalands Journalis FHIR API",
"status": "active",
{
{
"url": "http://electronichealth.se/fhir/NDI/StructureDefinition/endpoint-payload-actor-definition-er",
"valueCanonical": "http://electronichealth.se/ntk/ActorDefinition/Utbildningsmiljo/exempel-vaccinationer-1"
}
],
"coding": [
{
"code": "hl7-fhir-rest"
}
]
}
},
{
{
"url": "http://electronichealth.se/fhir/NDI/StructureDefinition/endpoint-payload-actor-definition-er",
"valueCanonical": "https://electronichealth.se/ntk/ActorDefinition/NDI/restriction-register-1"
}
],
"coding": [
{
"code": "hl7-fhir-rest"
}
]
}
}
],
{
"type": {
"coding": [
{
"code": "security-method"
}
]
},
"coding": [
{
"system": "http://hl7.org/fhir/restful-security-service",
"code": "OAuth"
}
]
}
},
{
"type": {
"coding": [
{
"code": "security-url"
}
]
},
"valueString": "https://auth.journalis.api"
},
{
"type": {
"coding": [
{
"code": "template-endpoint-url"
}
]
},
"valueString": "https://fhir.journalis.regiontornaland.se/{orgid}/R4"
}
],
{
"reference": "Endpoint/af80d38e-1fd2-44f1-b751-8253d4ab8b52"
}
]
}

Supported operations

HTTP methods

Operation Supported Comment
Search (GET, POST) no
Insert (POST) no
Update (PUT) no
Delete (DEL) no
Operation (GET, POST) yes

Extended operations

Add Organization

Adds a new Endpoint for the given Organization or adds the organization to an existing endpoint. Adding an Organization to an Endpoint means that patient data owned by the Organization can be found at the endpoint. One Organization can use zero to many Endpoints. One Endpoint can be used by zero to many Organizations.

The operation adds the organization to an existing endpoint if:

  • The URL submitted as input parameter already exists on an endpoint connected to the Device.

This operation creates a new endpoint to the given device if:

  • The URL submitted as input parameter does not already exist on an endpoint connected to the Device.

or

  • There is no URL sumbitted as an input parameter and the given Device has a confgired endpoint template url.
Invocations

Add: POST [base]/Device/[id]/$add-organization

Parameters (In)
Name Cardinality Type Documentation
id 1..1 string Logical ID (UUID) of Device, supply as part of invocation address.
organization 1..1 Identifier (system and value) Organization identifier. Supply in request body.
url 0..1 url Addess of the endpoint to which the organization is added.

Valid organization identifiers:

Return Values (Out)
Name Cardinality Type Documentation
return 1..1 OperationOutcome OperationOutcome with result of operation
Examples

Request body

The following example shows the request body for addingan organization with organization identifier 5560269986. The parameters "organization" and "url" is supplied inside a Parameters resource together with the value of the parameter in the valueIdentifierand valueUri elements.

{
"resourceType": "Parameters",
"id": "AddOrganizationToEndpoint-OrganizationIdentifier-RequestBody",
{
"name": "organization",
"system": "urn:oid:2.5.4.97",
"value": "5563813962"
}
},
{
"name": "url",
"valueUrl": "https://journalsystem2.exempel/5563813962/fhir"
}
]
}

Successful operation response

If the operation succeeds, the response will be an OperationOutcome where the issue element is populated with a "success" code and severity. The details element contains a validation code and message, in this case explaining that the organization got added to the endpoint successfully.

{
"resourceType": "OperationOutcome",
"id": "6a9789ae-f2f7-4d48-bc24-d977f1534ac3",
"issue": [
{
"severity": "success",
"code": "success",
"details": {
"coding": [
{
"system": "http://electronichealth.se/CodeSystem/error-codes",
"code": "4-38-301",
"display": "Organization was successfully added to the endpoint."
}
]
}
}
]
}

Organization already added response

If the organization was already added when calling $add-organization, the response will be an OperationOutcome where the issue elment is populated with severity set to "information" and code to "duplicate".

{
"resourceType": "OperationOutcome",
"id": "82dc7332-7b0f-4eb0-b045-924b5fd15d22",
"issue": [
{
"severity": "information",
"code": "duplicate",
"details": {
"coding": [
{
"system": "http://electronichealth.se/CodeSystem/error-codes",
"code": "4-38-303",
"display": "Organization has already been added to the endpoint."
}
]
}
}
]
}

Failed operation response

If the operation fails, the response will be an OperationOutcome where the issue element is populated with severity set to "error". The code element details what kind of issue caused the error, for example "value" if the error was caused by invalid value format. The details element contains an error code and message, in this case explaining that the operation failed because of invalid format of organization identifier value.

{
"resourceType": "OperationOutcome",
"id": "b5e62914-fff8-46c8-b3fc-ed562d7d9688",
"issue": [
{
"severity": "error",
"code": "value",
"details": {
"coding": [
{
"system": "http://electronichealth.se/CodeSystem/error-codes",
"code": "2-38-7",
"display": "Invalid format of organization identifier. Submit the organization identifier using 10 digits without hyphen, e.g. 5560269986."
}
]
},
"diagnostics": "organization.valueIdentifier.value"
}
]
}

Remove Organization

Removes an organization from an endpoint. It is not needed to supply the endpoint id since the device id is supplied the organization can be removed from the endpoint(s) connected to that device.

Invocations

Remove: POST [base]/Device/[id]/$remove-organization

Parameters (In)
Name Cardinality Type Documentation
id 1..1 string Logical ID (UUID) of Device, supply as part of invocation address.
organization 1..1 Identifier (system and value) Organization identifier. Supply in request body.

Valid organization identifiers are the same as for add-organization.

Return Values (Out)
Name Cardinality Type Documentation
return 1..1 OperationOutcome OperationOutcome with result of operation
Examples

Request body

The following example shows the request body for removing an organization with organization identifier 5563813962 from an endpoint. The parameter "organization" is supplied inside a Parameters resource together with the value of the parameter in the valueIdentifier.

{
"resourceType": "Parameters",
"id": "RemoveOrganizationFromEndpoint-OrgIdentifier-RequestBody",
{
"name": "organization",
"system": "urn:oid:2.5.4.97",
"value": "5563813962"
}
}
]
}

Successful operation response

If the operation succeeds, the response will be an OperationOutcome where the issue element is populated with a "success" code and severity. The details element contains a validation code and message, in this case explaining that the organization was successfully removed from the endpoint.

{
"resourceType": "OperationOutcome",
"id": "0cf0f00a-846e-43fd-b17f-afe665e9e5e4",
"issue": [
{
"severity": "success",
"code": "success",
"details": {
"coding": [
{
"system": "http://electronichealth.se/CodeSystem/error-codes",
"code": "4-38-302",
"display": "Organization was successfully removed from the endpoint."
}
]
}
}
]
}

Organization already removed response

If the organization already did not exist on and endpoint connected to the given device when calling $remove-organization, the response will be an OperationOutcome where the issue element is populated with severity set to "information" and code to "not-found".

{
"resourceType": "OperationOutcome",
"id": "50f1a372-47a4-4b41-aacf-e7ad3fb81e8e",
"issue": [
{
"severity": "information",
"code": "not-found",
"details": {
"coding": [
{
"system": "http://electronichealth.se/CodeSystem/error-codes",
"code": "4-38-304",
"display": "Organization has already been removed from the endpoint."
}
]
}
}
]
}

Failed operation response

If the operation fails, the response will be an OperationOutcome where the issue element is populated with severity set to "error". The code element details what kind of issue caused the error, for example "value" if the error was caused by invalid value format. The details element contains an error code and message, in this case explaining that the operation failed because of invalid format of organization identifier value.

{
"resourceType": "OperationOutcome",
"id": "b5e62914-fff8-46c8-b3fc-ed562d7d9688",
"issue": [
{
"severity": "error",
"code": "value",
"details": {
"coding": [
{
"system": "http://electronichealth.se/CodeSystem/error-codes",
"code": "2-38-7",
"display": "Invalid format of organization identifier. Submit the organization identifier using 10 digits without hyphen, e.g. 5560269986."
}
]
},
"diagnostics": "organization.valueIdentifier.value"
}
]
}

Validation messages

Validation messages are error, information or success messages that are returned as a result of an operation. These messages are returned in a OperationOutcome.

Message Severity Parameter Comment Operation
2-38-1: Required parameter missing. Error id, organization Parameters with cardinality 1..N must be supplied AddOrganization RemoveOrganization
2-38-2: Invalid format of personal identity number. Submit the personal identity number using 12 digits without hyphen, e.g. 198001032385. Error organization.valueIdentifier.value AddOrganization RemoveOrganization
2-38-4: Invalid system. Valid systems are http://electronichealth.se/identifier/personnummer, http://electronichealth.se/identifier/samordningsnummer, urn:oid:2.5.4.97 Error organization.valueIdentifier.system The Identifier.system value of parameter organization must be be from list of valid systems (see section Parameters (In) above) AddOrganization RemoveOrganization
2-38-7: Invalid format of organization identifier. Submit the organization identifier using 10 digits without hyphen, e.g. 5560269986. Error organization.valueIdentifier.value AddOrganization RemoveOrganization
2-38-8: Device not found. Error id AddOrganization RemoveOrganization
2-38-9: Invalid parameter. Valid parameters are id, organization, url. Error AddOrganization
2-38-9: Invalid parameter. Valid parameters are id, organization. Error RemoveOrganization
2-38-11: Invalid format of coordination number. Submit the coordination number using 12 digits without hyphen, e.g. 201903682399. Error organization.valueIdentifier.value AddOrganization RemoveOrganization
2-38-20: There is no managing organization with the supplied claims.client_id. Error AddOrganization RemoveOrganization
2-38-21: Supplied claims.client_id does not match client_id of the managing organization. Error AddOrganization RemoveOrganization
3-38-1: The given endpoint url already exists on another device. Warning url.valueUrl AddOrganization
4-38-301: Organization was successfully added to the endpoint. Success AddOrganization
4-38-302: Organization was successfully removed from the endpoint. Success RemoveOrganization
4-38-303: Organization has already been added to the endpoint. Information AddOrganization
4-38-304: The organization is not connected to the endpoint and therefore cannot be removed. Information RemoveOrganization
4-38-305: Endpoint URL was successfully updated. Success url.valueUrl AddOrganization