FHIR Chat · Rendering of Structure Definitions · IG creation

Stream: IG creation

Topic: Rendering of Structure Definitions


view this post on Zulip Brian Reinhold (Sep 12 2018 at 22:08):

I am not sure what is expected. But I have a difference field, for example, a Device.identifier that looks as follows:

    <!-- IDENTIFIER -->
    <!-- The identifier is used for the system id and transport addresses. There can be many such identifiers. The Contina slices shall be identified by the system element value -->
    <element id="Device.identifier">
      <path value="Device.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Information that uniquely describes the personal health device" />
      <definition value="The assigned unique identification of the device that is semantically meaningful outside of the FHIR resource context. An example would be the IEEE EUI-64 System-Id or transport address. For PHDs the systemIdentifier is required and the transportAddressIdentifier is highly recommended as this is what most end users see and can obtain from the device itself or device packaging." />
      <alias value="11073-20601 System id, transport address, etc." />
    </element>
    <!-- Give the Continua system id slice a name. This slice shall exist -->
    <element id="Device.identifier:systemIdIdentifier">
      <path value="Device.identifier" />
      <sliceName value="systemIdIdentifier" />
      <short value="System Id identifier" />
      <definition value="This entry contains the IEEE EUI-64. If absent (bad device) set to all zeros." />
      <alias value="11073-20601 System id" />
      <min value="1" />
      <max value="1" />
    </element>
    <!-- The system element of the systemIdentifier slice shall indicate the EUI  -->
    <element id="Device.identifier:systemIdentifier.system">
      <path value="Device.identifier.system" />
      <short value="EUI-64 system identifier" />
      <definition value="Identifies the system as an IEEE EUI." />
      <min value="1" />
      <fixedUri value="urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680" />
    </element>
    <!-- The value element of the systemIdentifier slice shall have the system id attribute value  -->
    <element id="Device.identifier:systemIdentifier.value">
      <path value="Device.identifier.value" />
      <short value="System id value from System-Id attribute" />
      <definition value="The System id from the System-Id attribute as an 8-byte HEX string where each byte is separated by dashes, for example FE-ED-AB-EE-DE-AD-77-C3. " />
      <comment value="The formatting is specified in the IEEE document Guidelines for 64-bit Global Identifier.&#xD;&#xA;&#xD;&#xA;To allow the mapping of non-compliant proprietary devices that do not provide a system id, the value is set to all zeros in the same format, 00-00-00-00-00-00-00-00" />
      <min value="1" />
    </element>
    <element id="Device.identifier:transportAddressIdentifier">
      <path value="Device.identifier" />
      <sliceName value="transportAddressIdentifier" />
      <short value="Transport address identifier" />
      <definition value="This entry contains the transport address, for example the Bluetooth, ZigBee, USB, or mac address." />
      <comment value="USB does not have an 'address' as it is a point to point wired protocol. However, it does have a Vendor identification and Production identification number which together uniquely define the unit. For USB transports, the VID.PID in HEX is used as the transport identifier." />
      <alias value="Transport address" />
    </element>
    <element id="Device.identifier:transportAddressIdentifier.system">
      <path value="Device.identifier.system" />
      <min value="1" />
    </element>
    <element id="Device.identifier:transportAddressIdentifier.value">
      <path value="Device.identifier.value" />
      <definition value="The transport address. If Bluetooth, use an EUI-48 such as 00-E5-DE-AD-77-C3. If a USB device use the VID.PID as HEX such as 0043.F90D. If a ZigBee address use an EUI-64 as with the system id." />
      <comment value="Transport addresses are supposed to be unique for a given device." />
      <min value="1" />
    </element>

However, when I look at the rendering using the 'dict' option, many things seem to be missing.
1. Device.identifier(systemIdIdentifier) is good, but the Alternate Names still contains the serial number (which is wrong) and I could not override the content with the <alias> element. My values just got appended to it.

2. The other definitions which belong to the systemIdentifier slice does not appear in the Device.identifier.system which is pretty confusing. THe text within the block is clearly for the systemIdentfier slice. I expected to see Device.identifier.system (systemIdIdentifier)

Is this incorrect? What should I see?


Last updated: Apr 12 2022 at 19:14 UTC