FHIR Extensions Pack
5.3.0-ballot-tc1 - (September 2025 Ballot) International flag

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.3.0-ballot-tc1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

Extension: DeviceDefinition Part Variable Count

Official URL: http://hl7.org/fhir/StructureDefinition/DeviceDefinition-partVariableCount Version: 5.3.0-ballot-tc1
Standards status: Draft Maturity Level: 1 Responsible: HL7 International / Orders and Observations Computable Name: DeviceDefinitionPartVariableCount

Indicates the minimum and maximum permissible quantity of the part in the defined device, without regard for how the presence of other parts impact those values.

For example, a device may have connectors for up to three sensors of different types. Each sensor type definition would be referenced in hasPart.reference; it would have no hasPart.count value, but instead use this extension on hasPart.count and setting a minimum count of zero, and maximum of one.

This is an draft extension definition; the committee is seeking implementation feedback, and the definition or contents of the extension may change in future versions

Context of Use

This extension may be used on the following element(s)

In addition, the extension can only be used when this FHIRPath expression is true:

$this.hasValue().not()

Usage info

Usages:

  • This Extension is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Changes since version 5.2.0:

  • New Content
  • Formal Views of Extension Content

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

    This structure is derived from Extension

    Summary

    Complex Extension: Indicates the minimum and maximum permissible quantity of the part in the defined device, without regard for how the presence of other parts impact those values. For example, a device may have connectors for up to three sensors of different types. Each sensor type definition would be referenced in hasPart.reference; it would have no hasPart.count value, but instead use this extension on hasPart.count and setting a minimum count of zero, and maximum of one.

    • minimum: unsignedInt: An Extension
    • maximum: unsignedInt: An Extension

    Maturity: 1

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension C 0..1 Extension DeviceDefinition Part Variable Count
    Constraints: pvc2
    ... extension 2..* Extension Extension
    ... Slices for extension Content/Rules for all slices
    .... extension:minimum 1..1 Extension The minimum count of the part in the device
    ..... extension 0..0 Extension
    ..... url 1..1 uri "minimum"
    ..... value[x] 1..1 unsignedInt Value of extension
    .... extension:maximum 1..1 Extension The maximum count of the part in the device
    ..... extension 0..0 Extension
    ..... url 1..1 uri "maximum"
    ..... value[x] 1..1 unsignedInt Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/DeviceDefinition-partVariableCount"

    doco Documentation for this format
    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension C 0..1 Extension DeviceDefinition Part Variable Count
    Constraints: pvc2
    ... id 0..1 id Unique id for inter-element referencing
    ... Slices for extension 2..* Extension Extension
    Slice: Unordered, Open by value:url
    .... extension:minimum 1..1 Extension The minimum count of the part in the device
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "minimum"
    ..... value[x] 1..1 unsignedInt Value of extension
    .... extension:maximum 1..1 Extension The maximum count of the part in the device
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "maximum"
    ..... value[x] 1..1 unsignedInt Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/DeviceDefinition-partVariableCount"

    doco Documentation for this format

    This structure is derived from Extension

    Summary

    Complex Extension: Indicates the minimum and maximum permissible quantity of the part in the defined device, without regard for how the presence of other parts impact those values. For example, a device may have connectors for up to three sensors of different types. Each sensor type definition would be referenced in hasPart.reference; it would have no hasPart.count value, but instead use this extension on hasPart.count and setting a minimum count of zero, and maximum of one.

    • minimum: unsignedInt: An Extension
    • maximum: unsignedInt: An Extension

    Maturity: 1

    Differential View

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension C 0..1 Extension DeviceDefinition Part Variable Count
    Constraints: pvc2
    ... extension 2..* Extension Extension
    ... Slices for extension Content/Rules for all slices
    .... extension:minimum 1..1 Extension The minimum count of the part in the device
    ..... extension 0..0 Extension
    ..... url 1..1 uri "minimum"
    ..... value[x] 1..1 unsignedInt Value of extension
    .... extension:maximum 1..1 Extension The maximum count of the part in the device
    ..... extension 0..0 Extension
    ..... url 1..1 uri "maximum"
    ..... value[x] 1..1 unsignedInt Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/DeviceDefinition-partVariableCount"

    doco Documentation for this format

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Extension C 0..1 Extension DeviceDefinition Part Variable Count
    Constraints: pvc2
    ... id 0..1 id Unique id for inter-element referencing
    ... Slices for extension 2..* Extension Extension
    Slice: Unordered, Open by value:url
    .... extension:minimum 1..1 Extension The minimum count of the part in the device
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "minimum"
    ..... value[x] 1..1 unsignedInt Value of extension
    .... extension:maximum 1..1 Extension The maximum count of the part in the device
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0 Extension
    Slice: Unordered, Open by value:url
    ..... url 1..1 uri "maximum"
    ..... value[x] 1..1 unsignedInt Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/DeviceDefinition-partVariableCount"

    doco Documentation for this format

     

    Other representations of profile: CSV, Excel, Schematron

    Constraints

    Id Grade Path(s) Description Expression
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
    pvc2 error Extension Minimum count must be less than or equal to maximum count of part. $this.extension('minimum').value.ofType(unsignedInt) <= $this.extension('maximum').value.ofType(unsignedInt)

    R4B

    The extension is unchanged in R4B

    R4

    The extension is unchanged in R4

    R3

    The extension is unchanged in R3

    Search Parameters for this Extension

    (none found)