This page is part of the Personal Health Device FHIR IG (v0.1.0: STU 1 Draft) based on FHIR R3. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

Phd Parent DeviceComponent Profile

The properties and specifications of the PHD are reported in the DeviceComponent. These are the static fields of the attributes reported in the PHD MDS object or Bluetooth Low Energy Device Information Service.

There are six MDS attributes that are reported. The Mds-Time-Info attribute has fields that are dynamic and static, and it is only the static entries which are considered. The following table summarizes these attributes and the DeviceComponent elements to which they are mapped:

MDS attribute FHIR element
System-Id DeviceComponent.identifier 1
transport address DeviceComponent.identifier 2
System-Type-Spec-List DeviceComponent.type
Production-Specification
System-Model
Reg-Cert-Data-List.continua-version
DeviceComponent.productionSpecification
Reg-Cert-Data-List (all else)
Mds-Time-Info
DeviceComponent.property

The transport address is not required unless the PHD does not report a System Id. It is still strongly recommended that the transport address is reported as it is often beneficial to consumers. Most PHD transports provide a means of obtaining a transport address or an equivalent identifier such as a USB VID and PID.

There are several CodeableConcept data types in this mapping where the Coding data type has a 'display' element. It is recommended to put the MDC reference identifier as part of the display element if known and when the system element indicates the MDC coding system "urn.iso.std.iso:11073:10101".

The structure definition for the Parent DeviceComponent Profile is shown below:

NameFlagsCard.Type
profile1..
phdProfile1..1Fixed Value
identifier..*
system1..Fixed Value
value1..
system1..
value1..
coding1..
system1..Fixed Value
code1..
display
lastSystemChange..0
source..0
reference1..
operationalStatus
parameterGroup
measurementPrinciple
coding1..
system1..Fixed Value
code1..
display
system1..Fixed Value
code1..
productionSpec1..
languageCode

A JSON example is given in Phd Parent DeviceComponent JSON Example

This structure definition is missing the property element as it is based upon a tool that does not yet support version 3.2.0 of FHIR. The structure definition will be updated when support for 3.2.0 is available.

Meta Data Profile

The uploader shall populate the DeviceComponent.meta.profile with http://pchalliance.org/phdfhir/StructureDefinition/PhdParentDeviceComponent indicating this resource was generated following the PHD Implementation Guide.

System Identifier

All 11073 20601 PHDs are required to have a system identifier. It is an EUI-64 consisting of 8 bytes. The system id is mapped to the DeviceComponent.identifier.value element as a sequence of 8 2-digit bytes as HEX separated by dashes without the '0x' prefix commonly used in programming languages. An example of such a string is FE-ED-AB-EE-DE-AD-77-C3. Though required for Continua compliance, it is not required in the Bluetooth Low Energy health device specifications. When a PHG encounters such a device it shall enter 00-00-00-00-00-00-00-00 and the uploader is required to provide a transport address as a means of uniquely identifying the PHD. The transport addresses are as follows:

transport format example
Bluetooth EUI-48: ab-cd-ef-gh-ij-kl 00-E5-DE-AD-77-C3
ZigBee EUI-64: ab-cd-ef-gh-ij-kl-mn-op 36-ED-9A-EE-DE-AD-77-C3
USB vid.pid 0043.F90D

The System-Id entry shall be first and the transport entry, if present, shall be second.

System Type Spec List - Single Entry

The System-Type-Spec-List attribute contains a list of specializations as 16-bit MDC term codes supported by the PHD. The partition is assumed to be 'Infra' (8). In most cases there is just one entry. When there is just one entry, the 32-bit value is mapped to the DeviceComponent.type.coding.code element.

The table below gives a list of some of the most common specializations and their codes:

Specialization MDC Code partition:term code Reference Identifier
Pulse Oximeter 8::4100 MDC_DEV_SPEC_PROFILE_PULS_OXIM
Electro cardiograph 8::4102 MDC_DEV_SPEC_PROFILE_MIN_ECG
Blood Pressure Cuff 8::4103 MDC_DEV_SPEC_PROFILE_BP
Thermometer 8::4104 MDC_DEV_SPEC_PROFILE_TEMP
Respiration rate 8::4109 MDC_DEV_SPEC_PROFILE_RESP_RATE
Weight Scale 8::4111 MDC_DEV_SPEC_PROFILE_SCALE
Glucose Monitor 8::4113 MDC_DEV_SPEC_PROFILE_GLUCOSE
Coagulation meter 8::4114 MDC_DEV_SPEC_PROFILE_COAG
Insulin Pump 8::4115 MDC_DEV_SPEC_PROFILE_INSULIN_PUMP
Body Composition Analyizer 8::4116 MDC_DEV_SPEC_PROFILE_BCA
Peak Flow meter 8::4117 MDC_DEV_SPEC_PROFILE_PEAK_FLOW
Sleep Apnea Breathing Equipment 8::4120 MDC_DEV_SPEC_PROFILE_SABTE
Continuous Glucose Monitor 8::4121 MDC_DEV_SPEC_PROFILE_CGM
Cardiovascular Device 8::4137 MDC_DEV_SPEC_PROFILE_HF_CARDIO
Strength Equipment 8::4138 MDC_DEV_SPEC_PROFILE_HF_STRENGTH
Independent Activity/Living Hub 8::4167 MDC_DEV_SPEC_PROFILE_AI_ACTIVITY_HUB
Medication Monitor 8::4168 MDC_DEV_SPEC_PROFILE_AI_MED_MINDER

System Type Spec List - Multiple Entries

TODO: using the proposed mapping is both non-extensible and complex as it reverses the 11073-10201 multiple VMDs to 11073-20601 System-Type-Spec-List. However, the PHG does not get VMD objects information from the PHD and thus must reconctruct VMDs from the single attribute. The PHG has no way to determine which PHD measurements are associated with this artificially created set of VMDs without having a pre-defined mapping. When future specializations emerge, the mapping will be unknown. - Will enter a comment to use a simple extension and report the extra specializations in the extension as is done in PCD-01. If an extension is used, there will be no need for a Child Device Component profile.

Note - it is hoped to eliminate this requirement and either use an extension (as in PCD-01) or make the DeviceComponent.type 1..*

Parent

The parent element is used to reference the PHG Device Component Profile.

Production Specification and System Model

The DeviceComponent.productionSpecification is natively designed to handle the eight currently-defined 11073 Production-Specification attribute entries;

  • unspecified, serial-number, part-number, hw-revision, sw-revision, fw-revision, protocol-revision, and prod-spec-gmdn.

These eight codes have been adopted by FHIR into a special value set DeviceSpecificationSpecType to define what the DeviceComponent.productionSpecification.productionSpec value is. Thus if

then

  • DeviceComponent.productionSpecification.productionSpec="1234567" would be interpreted as the serial number.

As an alternative, one could use the MDC coding system to report the same information

  • DeviceComponent.productionSpecification.specType.coding.code="531972" and
  • DeviceComponent.productionSpecification.specType.coding.system="urn.iso.std.iso:11073:10101"
  • DeviceComponent.productionSpecification.productionSpec="1234567"

MDC codes have been defined for the Production-Specification, System-Model, and Reg-Cert-Data-List, and Mds-Time-Info attribute entries for use in HL7 V2 PCD-01 messages. These MDC codes are as follows:

11073 Attribute description MDC code MDC reference identifier
System-Model Model number 531969 MDC_ID_MODEL_NUMBER
System-Model Manufacturer name 531970 MDC_ID_MODEL_MANUFACTURER
Production-Specification Unspecified 531971 MDC_ID_PROD_SPEC_UNSPECIFIED
Production-Specification Serial number 531972 MDC_ID_PROD_SPEC_SERIAL
Production-Specification Part number 531973 MDC_ID_PROD_SPEC_PART
Production-Specification Hardware revision 531974 MDC_ID_PROD_SPEC_HW
Production-Specification Software revision 531975 MDC_ID_PROD_SPEC_SW
Production-Specification Firmware revision 531976 MDC_ID_PROD_SPEC_FW
Production-Specification Protocol revision 531977 MDC_ID_PROD_SPEC_PROTOCOL
Production-Specification Global Medical Device Nomenclature (GMDN) 531978 MDC_ID_PROD_SPEC_GMDN
Reg-Cert-Data-List Continua version 532352 MDC_REG_CERT_DATA_CONTINUA_VERSION
Reg-Cert-Data-List Continua Certified Device List 532353 MDC_REG_CERT_DATA_CONTINUA_CERT_DEV_LIST
Reg-Cert-Data-List Regulation status 532354 MDC_REG_CERT_DATA_CONTINUA_REG_STATUS
PHG only Continua Certified H&FS List 532355 MDC_REG_CERT_DATA_CONTINUA_AHD_CERT_LIST
Mds-Time-Info Synchronization method 68220 MDC_TIME_SYNC_PROTOCOL
Mds-Time-Info Time capabilities 68219 MDC_TIME_CAP_STATE
Mds-Time-Info High resolution relative time resolution 68224 MDC_TIME_RES_REL_HI_RES
Mds-Time-Info Relative time resolution 68223 MDC_TIME_RES_REL
Mds-Time-Info Absolute Time time resolution 68222 MDC_TIME_RES_ABS
Mds-Time-Info Base offset time resolution 68226 MDC_TIME_RES_BO
Mds-Time-Info Time synchronization accuracy 68221 MDC_TIME_SYNC_ACCURACY

This profile requires that the MDC coding system is used. Since FHIR versions 3.0.1 and later added the requirement that the DeviceSpecificationSpecType value set be used when the value set has such a code, if a production specification value is being mapped using one of the eight original fields, a code entry for both the MDC and DeviceSpecificationSpecType is required.

When both coding systems are present, the MDC coding system entry shall be first.

The final mapping of MDS attributes to the DeviceComponent.productionSpecification element is as follows:

11073 Attribute element FHIR element DeviceComponent.productionSpecification.
System-Model.model-number specType.coding.code="531969"
specType.coding.system="urn.iso.std.iso:11073:10101"
productionSpec="model-number"
System-Model.manufacturer-name specType.coding.code="531970"
specType.coding.system="urn.iso.std.iso:11073:10101"
productionSpec="manufacturer-name"
Production-Specification.specType=0
Production-Specification.prod-spec=unspecified
specType.coding.code="531971"
specType.coding.system="urn.iso.std.iso:11073:10101"
specType.coding.code="unspecified"
specType.coding.system="http://hl7.org/fhir/specification-type "
productionSpec="unspecified"
Production-Specification.specType=1
Production-Specification.prod-spec=serial-number
specType.coding.code="531972"
specType.coding.system="urn.iso.std.iso:11073:10101"
specType.coding.code="serial-number"
specType.coding.system="http://hl7.org/fhir/specification-type "
productionSpec="serial-number"
Production-Specification.specType=2
Production-Specification.prod-spec=part-number
specType.coding.code="531973"
specType.coding.system="urn.iso.std.iso:11073:10101"
specType.coding.code="part-number"
specType.coding.system="http://hl7.org/fhir/specification-type "
productionSpec="part-number"
Production-Specification.specType=3
Production-Specification.prod-spec=hardware-revision
specType.coding.code="531974"
specType.coding.system="urn.iso.std.iso:11073:10101"
specType.coding.code="hardware-revision"
specType.coding.system="http://hl7.org/fhir/specification-type "
productionSpec="hardware-revision"
Production-Specification.specType=4
Production-Specification.prod-spec=software-revision
specType.coding.code="531975"
specType.coding.system="urn.iso.std.iso:11073:10101"
specType.coding.code="software-revision"
specType.coding.system="http://hl7.org/fhir/specification-type "
productionSpec="software-revision"
Production-Specification.specType=5
Production-Specification.prod-spec=firmware-revision
specType.coding.code="531976"
specType.coding.system="urn.iso.std.iso:11073:10101"
specType.coding.code="firmware-revision"
specType.coding.system="http://hl7.org/fhir/specification-type "
productionSpec="firmware-revision"
Production-Specification.specType=6
Production-Specification.prod-spec=protocol-revision
specType.coding.code="531977"
specType.coding.system="urn.iso.std.iso:11073:10101"
specType.coding.code="protocol-revision"
specType.coding.system="http://hl7.org/fhir/specification-type "
productionSpec="protocol-revision"
Production-Specification.specType=7
Production-Specification.prod-spec=prod-spec-gmdn
specType.coding.code="531978"
specType.coding.system="urn.iso.std.iso:11073:10101"
specType.coding.code="prod-spec-gmdn"
specType.coding.system="http://hl7.org/fhir/specification-type "
productionSpec="prod-spec-gmdn"
Reg-Cert-Data-List.continua-version specType.coding.code="532352"
specType.coding.system="urn.iso.std.iso:11073:10101"
productionSpec="continua-version"

Property

The property element is introduced in version 3.2.0 of FHIR. This element is used to report the regulation status, Continua certified PAN (Personal Area Network) interfaces, and the static time properties such as synchronization state, synchronization accuracy, type of time clock, and the resolution of the time clock. The sources of this information come from the Reg-Cert-Data-List and Mds-Time-Info attributes.

Reg-Cert-Data-List Contributions

In addition to the Continua version reported in the DeviceComponent.productionSpecification, the Reg-Cert-Data-List attribute reports the list of Continua certified PAN interfaces and the regulation status. The certified PAN interfaces are reported as a list of Continua-specified codes and the regulation status element is a 16-bit ASN1 BITs 'state' value with only Mder bit 0 currently defined.

The Continua-specified certification codes are a combination of a transport 'Tcode' and a specialization code which is based on the 16-bit term code of the MDC code for the specialization. The reported code is generated by

  • reportedCode = Tcode * 8192 + (specialization term code - 4096)

The transport 'Tcodes' are as follows:

Tcode Transport
0 Continua version 1.0
1 USB
2 Bluetooth HDP
3 ZigBee
4 Bluetooth Low Energy
5 NFC

The special Tcode of 0 is for Continua version 1.0 when there was no transport component in the reported certified PAN interface codes.

The regulation status Mder bit-0 is defined 'backwards' in that the set value is unregulated and the cleared value is regulated. Given that this bit is a 'state' value, it is required to report both the cleared or set states.

The mapping of these Reg-Cert-Data-List attribute values to the DeviceComponent.property element is as follows:

Attribute value FHIR mapping
Reg-Cert-Data-List.list-of-codesN property.type.coding.code="532353"
property.type.coding.system="urn.iso.std.iso:11073:10101"
property.valueCodeableConceptN.coding.code="list-of-codesN"
property.valueCodeableConceptN.coding.system="placeholder/fhir/reg-cert-codes"
Reg-Cert-Data-List.regulation-status property.type.coding.code="532354.0"
property.type.coding.system="placeholder/fhir/IEEE.ASN1"
property.valueCodeableConcept.coding.code="Y/N"
property.valueCodeableConcept.coding.system="http://hl7.org/fhir/v2/0136 "
property.valueCodeableConcept.coding.display="Y=unregulated N=regulated"

Note that the cardinality of the property.valueCodeableConcept and property.valueQuantity element is 0 to many thus one is able to report a list of related properties (such as the list of certified PAN interfaces) with limited overhead.

Mds-Time-Info Contributions

The Mds-Time-Info attribute is required on PHDs that support a real time clock of some type and report time stamps in their measurements. In Bluetooth Low Energy devices these properties must be inferred from other information like the Current Time Service. If the PHD does NOT report a time stamp in any of its measurements, there is no need to report the static time information.

Time Capabilities

The Mds-Time-Info attribute has a 16-bit ASN1 BITs field for the time capabilities. They are mapped as follows:

Mder Bit position IEEE.ASN1 Code ASN.1 name static DeviceComponent.
0 68219.0 mds-time-capab-real-time-clock yes property.type.coding.code="68219.0"
1 68219.1 mds-time-capab-set-clock yes property.type.coding.code="68219.1"
2 68219.2 mds-time-capab-relative-time yes property.type.coding.code="68219.2"
3 68219.3 mds-time-capab-high-res-relative-time yes property.type.coding.code="68219.3"
4 68219.4 mds-time-capab-sync-abs-time yes property.type.coding.code="68219.4"
5 68219.5 mds-time-capab-sync-rel-time yes property.type.coding.code="68219.5"
6 68219.6 mds-time-capab-sync-hi-res-relative-time yes property.type.coding.code="68219.6"
7 68219.7 mds-time-capab-bo-time yes property.type.coding.code="68219.7"
8 68219.8 mds-time-state-abs-time-synced no
9 68219.9 mds-time-state-rel-time-synced no
10 68219.10 mds-time-state-hi-res-relative-time-synced no
11 68219.11 mds-time-mgr-set-time no
12 68219.12 mds-time-capab-sync-bo-time yes property.type.coding.code="68219.12"
13 68219.13 mds-time-state-bo-time-synced no
14 68219.14 mds-time-state-bo-time-UTC-aligned yes property.type.coding.code="68219.14"
15 68219.15 mds-time-dst-rules-enabled yes property.type.coding.code="68219.15"

The required remaining property elements in each reported case are as follows:

  • property.type.coding.system="placeholder/fhir/IEEE.ASN1"
  • property.valueCodeableConcept.coding.code="Y/N"
  • property.valueCodeableConcept.coding.system="http://hl7.org/fhir/v2/0136 "

Only the static fields shall be reported and all the static fields are treated as events thus they only need to be reported if set. Reporting cleared static states is optional. Reporting dynamic values is not allowed.

Time Synchronization

The Mds-Time-Info.time-sync-protocol indicates the method of time synchronization which has one of the term code values in the following table:

32-bit code Reference identifier description partition:term code
532224 MDC_TIME_SYNC_NONE An uncalibrated and unsynchronized local clock source 8::7936
532234 MDC_TIME_SYNC_EBWW A manually set time, by ‘eyeball and wristwatch’ 8::7946
532225 MDC_TIME_SYNC_NTPV3 Network Time Protocol Version 3.0 (RFC 1305) 8::7937
532226 MDC_TIME_SYNC_NTPV4 Network Time Protocol Version 4.0 (under dev) 8::7938
532227 MDC_TIME_SYNC_SNTPV4 Simple Network Time Protocol v4 (RFC 2030) 8::7939
532228 MDC_TIME_SYNC_SNTPV4330 Simple Network Time Protocol v4 (RFC 4330) 8::7940
532229 MDC_TIME_SYNC_BTV1 Bluetooth Medical Device Profile 8::7941
532235 MDC_TIME_SYNC_USB_SOF Synced to the 1kHz USB "start-of-frame" clock 8::7947
532230 MDC_TIME_SYNC_RADIO Atomic Clock synchronization through RF 8::7942
532231 MDC_TIME_SYNC_HL7_NCK Synchronized via Health Level 7 NCK (network clock) 8::7943
532232 MDC_TIME_SYNC_CDMA CDMA mobile telecommunications synchronization 8::7944
532233 MDC_TIME_SYNC_GSM GSM - Network Identity and Time Zone (NITZ) 8::7945

If the Mds-Time-Info.time-sync-protocol indicates some other value besides 7936 (no time synchronization) the uploader must look at the time capabilities bits 8, 9, 10, or 13 to see if the PHD actually is synchronized. If the time capabilities bits indicate that the PHD is synchronized, then the time synchronization method in Mds-Time-Info.time-sync-protocol is reported in the DeviceComponent.property element otherwise the uploader reports that the PHD is unsynchronized.

The uploader maps the state of synchronization to the DeviceComponent.property as follows:

  • DeviceComponent.property.type.coding.code="68220"
  • DeviceComponent.property.type.coding.system="urn.iso.std.iso:11073:10101"
  • DeviceComponent.property.type.coding.display="MDC_TIME_SYNC_PROTOCOL" (optional)
  • DeviceComponent.property.valueCodeableConcept.coding.code="32-bit code for sync method"
  • DeviceComponent.property.valueCodeableConcept.coding.system="urn.iso.std.iso:11073:10101"
  • DeviceComponent.property.valueCodeableConcept.coding.display="the ref id" (optional)

To date there are no PHDs that support an external time synchronization. However, many PHDs have the PHG set its time and PHGs are required to support an external time synchronization. The IEEE PHD WG is working on providing some means to indicate synchronization by the PHG. In lieu of that, a consumer can only infer that the PHG probably set the time on the PHG if

  • the PHD indicates that set time is supported
  • the coincident time stamp indicates that the current time differences between the PHG and PHD are about 0.
Time Synchronization Accuracy

The time synchronization accuracy is given by the Mds-Time-Info.time-sync-accuracy field. This value shall not be reported if the PHD reports a value of 0xFFFFFFFF which indicates unknown. Otherwise the value reported is in units of 1/8th millisecond. When reported in the DeviceComponent.property element it is scaled to microseconds. The mapping is as follows:

  • DeviceComponent.property.type.coding.code="68221"
  • DeviceComponent.property.type.coding.system="urn.iso.std.iso:11073:10101"
  • DeviceComponent.property.type.coding.display="MDC_TIME_SYNC_ACCURACY" (optional)
  • DeviceComponent.property.valueQuantity.value="125 x Mds-Time-Info.time-sync-accuracy"
  • DeviceComponent.property.valueQuantity.system="urn.iso.std.iso:11073:10101"
  • DeviceComponent.property.valueQuantity.code="264339" (MDC code for microseconds)
  • DeviceComponent.property.valueQuantity.units="us" (Optional UCUM string)
Time Resolution

Then Mds-Time-Info attribute has fields that report the resolution of its time clocks.

The Mds-Time-Info.time-resolution-abs-time represents the resolution of the absolute-time clock when the sensor supports an absolute time clock. If the sensor supports a base-offset time clock it represents the resolution of the base-offset time clock. The sensor is not able to support both time clocks simultaneously. Which time clock is supported is indicated by the settings of the Mder 0 and 7 bits of the time capabilities (Mds-Time-Info.mds-time-caps-state).

The sensor may additionally support both relative time clocks or just the relative time clocks without any ‘wall time’ clock. In practice, support of more than one real time clock at the same time is rare.

If the respective time resolution has a value of 0, it indicates that the resolution is unknown and it shall not be reported. In all other cases, the resolutions may be reported.

When reported, all time resolutions values shall be scaled to units of microseconds. When supporting absolute time, the Mds-Time-Info.time-resolution-abs-time is in units of 1/100th of a second. When supporting base-offset time, the Mds-Time-Info.time-resolution-abs-time is in units of 1/65536th of a second. In the base-offset case, the special value of 0xFFFF means one second. The Mds-Time-Info.time-resolution-rel-time is in units of 1/8th millisecond and the Mds-Time-Info.time-resolution-hi-res-relative-time is in units of microseconds.

If the time resolutions are reported, each time resolution the application wishes to report shall be encoded as follows:

DeviceComponent.property element value
DeviceComponent.property.type.coding.code "68222" (absolute time)
"68226" (base-offset time)
"68223" (relative time)
"68224" (hi-res relative time)
DeviceComponent.property.type.coding.system "urn.iso.std.iso:11073:10101"
DeviceComponent.property.type.coding.display "MDC_TIME_RES_ABS"
"MDC_TIME_RES_BO"
"MDC_TIME_RES_REL"
"MDC_TIME_RES_REL_HI_RES"
DeviceComponent.property.valueQuantity.value "10000 x Mds-Time-Info.time-resolution-abs-time"
"1000000 x Mds-Time-Info.time-resolution-abs-time/65536"
"125 x Mds-Time-Info.time-resolution-rel-time"
"Mds-Time-Info.time-resolution-hi-res-relative-time"
DeviceComponent.property.valueQuantity.system "urn.iso.std.iso:11073:10101"
DeviceComponent.property.valueQuantity.code "264339" (MDC code for microseconds)
DeviceComponent.property.valueQuantity.units "us" (Optional UCUM string)

Consumer of the PHD DeviceComponent Profile

For the Consumer of this profile the following table gives a quick guide to the main features

item Location
Type of Device DeviceComponent.type.coding.code="MDC 32-bit code for device type"
Manufacturer name if DeviceComponent.productionSpecification.specType.coding.code="531970"
then DeviceComponent.productionSpecification.productionSpec="manufacturer name"
Model number if DeviceComponent.productionSpecification.specType.coding.code="531969"
then DeviceComponent.productionSpecification.productionSpec="model number"
serial number if DeviceComponent.productionSpecification.specType.coding.code="531972"
then DeviceComponent.productionSpecification.productionSpec="serial number"
system identifier if DeviceComponent.identifier.system="urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680"
then DeviceComponent.identifier.value="system id as 8 2-digit HEX values separated by dashes"
time synchronization if DeviceComponent.property.type.coding.code="68220"
then DeviceComponent.property.valueCodeableConcept.coding.code="code for time synchronization"

Phd Parent DeviceComponent JSON Example

The following is an example of a Phd Parent DeviceComponent resource from a Blood Pressure Cuff. The resource is generated based upon FHIR version 3.2.0 and will not render until the tool is updated to support that version. In the mean time a raw pre-formatted example is displayed here.

"resource": {
	"resourceType": "DeviceComponent",
	"id": "SysId-01040302f0000000",         // This resource is being uploaded as an Update
	"meta": {
		"profile": ["http://pchalliance.org/phdfhir/StructureDefinition/PhdParentDeviceComponent"]
	},
	"identifier": [{
		"system": "urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680",
		"value": "01-04-03-02-f0-00-00-00",
		"assigner": {                   // This element is optional
			"display": "EUI-64"
		}
	},
	{
		"system": "urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680",
		"value": "12:34:56:78:9A:BC",
		"assigner": {                   // This element is optional
			"display": "EUI-48"
		}
	}],
	"type": {
		"coding": [{
			"system": "urn:iso:std:iso:11073:10101",
			"code": "528391",
			"display": "MDC_DEV_SPEC_PROFILE_BP"
		}]
	},
	"parent": {
		"reference": "DeviceComponent/SysId-ecde3d4e58532d31"  // Points to PHG DeviceComponent
	},
	"productionSpecification": [{               // All display elements are optional but encouraged
		"specType": {
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "531970",
				"display": "MDC_ID_MODEL_MANUFACTURER: Manufacturer name"
			}]
		},
		"productionSpec": "Renesas Electronics"
	},
	{
		"specType": {
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "531969",
				"display": "MDC_ID_MODEL_NUMBER: Model number"
			}]
		},
		"productionSpec": "Synergy-12345-Demo"
	},
	{
		"specType": {
			"coding": [{                                    // MDC coding system first
				"system": "urn:iso:std:iso:11073:10101",
				"code": "531972",
				"display": "MDC_ID_PROD_SPEC_SERIAL: Serial number"
			},
			{
				"system": "http://hl7.org/fhir/specification-type",
				"code": "serial-number",
				"display": "Serial number"
			}]
		},
		"productionSpec": "13456-BPM-BTLE"
	},
	{
		"specType": {
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "531976",
				"display": "MDC_ID_PROD_SPEC_FW: Firmware revision"
			},
			{
				"system": "http://hl7.org/fhir/specification-type",
				"code": "firmware-revision",
				"display": "Firmware revision"
			}]
		},
		"productionSpec": "1.0.0"
	},
	{
		"specType": {
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "531975",
				"display": "MDC_ID_PROD_SPEC_SW: Software revision"
			},
			{
				"system": "http://hl7.org/fhir/specification-type",
				"code": "software-revision",
				"display": "Software revision"
			}]
		},
		"productionSpec": "1.0.0"
	},
	{
		"specType": {
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "531974",
				"display": "MDC_ID_PROD_SPEC_HW: Hardware revision"
			},
			{
				"system": "http://hl7.org/fhir/specification-type",
				"code": "hardware-revision",
				"display": "Hardware revision"
			}]
		},
		"productionSpec": "1.0.0"
	},
	{
		"specType": {
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "532352",
				"display": "MDC_REG_CERT_DATA_CONTINUA_VERSION: Continua version"
			}]
		},
		"productionSpec": "6.1"
	}],
	"property": [{
		"type": {
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "532353",
				"display": "MDC_REG_CERT_DATA_CONTINUA_CERT_DEV_LIST: certified device list as transport-specialization combo"
			}]
		},
		"valueCode": [{
			"coding": [{
				"system": "http://pcha.org/phd/documents/reg-cert-codes",
				"code": "32775"
				// In HEX this is 0x8007 Tcode = 8 which is the code
				// for Bluetooth Low Energy and 4096 + 7 = 4103 which is the term code in partition
				// Infra for the Blood Pressure specialization
			}]
		}]
	},
	{
		"type": {
			"coding": [{
				"system": "http://hl7.org/fhir/IEEE.ASN1",
				"code": "532354.0",
				"display": "regulation-status"
			}]
		},
		"valueCode": [{
			"coding": [{
				"system": "http://hl7.org/fhir/v2/0136",
				"code": "Y",
				"display": "Device is not regulated"
			}]
		}]
	},
	{
		"type": {
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "68220",
				"display": "MDC_TIME_SYNC_PROTOCOL: Time synchronization protocol"
			}]
		},
		"valueCode": [{
			"coding": [{
				"system": "urn:iso:std:iso:11073:10101",
				"code": "532224",
				"display": "MDC_TIME_SYNC_NONE: "
			}]
		}]
	}]
},