Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions FHIR-phd.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ballotUrl="http://hl7.org/fhir/uv/phd/2.1.0" ciUrl="http://build.fhir.org/ig/HL7/phd" defaultVersion="1.1.0" defaultWorkgroup="dev" gitUrl="https://github.com/HL7/PHD" url="http://hl7.org/fhir/uv/phd">
<specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ballotUrl="http://hl7.org/fhir/uv/phd/2025Sep" ciUrl="http://build.fhir.org/ig/HL7/phd" defaultVersion="1.1.0" defaultWorkgroup="dev" gitUrl="https://github.com/HL7/PHD" url="http://hl7.org/fhir/uv/phd">
<version code="current" url="http://build.fhir.org/ig/HL7/phd"/>
<version code="2.1.0" url="http://hl7.org/fhir/uv/phd/2.1.0"/>
<version code="2.0.0-ballot2" url="http://hl7.org/fhir/uv/phd/2025Sep"/>
<version code="1.1.0" url="http://hl7.org/fhir/uv/phd/STU1.1"/>
<version code="2.0.0-ballot" deprecated="true" url="http://hl7.org/fhir/uv/phd/2024Sep"/>
<version code="1.0.0" deprecated="true" url="http://hl7.org/fhir/uv/phd/STU1"/>
Expand Down
4 changes: 2 additions & 2 deletions input-cache/schemas/R5/fhir-single.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
POSSIBILITY OF SUCH DAMAGE.


Generated on Sat, Jul 26, 2025 01:41+0000 for FHIR v6.0.0-ballot2
Generated on Tue, Jul 29, 2025 04:15+0000 for FHIR v6.0.0-ballot2
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://hl7.org/fhir" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="http://hl7.org/fhir" elementFormDefault="qualified" version="6.0.0-ballot2">
<!-- Note: When using this schema with some tools, it may also be necessary to declare xmlns:xml="http://www.w3.org/XML/1998/namespace", however this causes performance issues with other tools and thus is not in the base schemas. -->
Expand Down Expand Up @@ -59787,7 +59787,7 @@ Deceased patients may also be marked as inactive for the same reasons, but may b
<xs:sequence>
<xs:element name="identifier" minOccurs="0" maxOccurs="unbounded" type="Identifier">
<xs:annotation>
<xs:documentation xml:lang="en">Id for specimen.</xs:documentation>
<xs:documentation xml:lang="en">Identifiers used for specimen identification. These could include but are not limited to identifiers generated upon collection, accessioning, or other reasons for labeling a specimen.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="accessionIdentifier" minOccurs="0" maxOccurs="1" type="Identifier">
Expand Down
11 changes: 8 additions & 3 deletions input/PhdImplementationGuide.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ In this example there are only xml structure definitions, value sets, code syste
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir/src-generated/schemas/fhir-single.xsd">
<id value="hl7.fhir.uv.phd"/>
<url value="http://hl7.org/fhir/uv/phd/ImplementationGuide/hl7.fhir.uv.phd"/>
<version value="2.1.0"/>
<version value="2.0.0-ballot2"/>
<name value="PhdImplementationGuide"/>
<title value="Personal Health Device Implementation Guide"/>
<status value="active"/>
Expand Down Expand Up @@ -244,7 +244,7 @@ In this example there are only xml structure definitions, value sets, code syste
<reference>
<reference value="ValueSet/ASN1MeasurementBits"/>
</reference>
<description value="Value set for those Asn1ToHL7 codes whose source is a measurement attribute; one of the Enum-observed-value attributes."/>
<description value="Value set for those Asn1ToHL7 codes whose source is a measurement attribute."/>
<exampleBoolean value="false"/>
</resource>
<!-- these value sets were missing -->
Expand Down Expand Up @@ -450,7 +450,7 @@ In this example there are only xml structure definitions, value sets, code syste
<reference value="Device/phd-711000FEFF5F49B0.B0495F001071"/>
</reference>
<name value="Example of a Blood Pressure PHD"/>
<description value="This example maps the MDS data from a Blood Pressure PHD. This device did not report Reg-Cert-Data-List information." />
<description value="This example maps the System Information data from a Blood Pressure PHD. This device did not report Reg-Cert-Data-List information." />
<exampleCanonical value="http://hl7.org/fhir/uv/phd/StructureDefinition/PhdDevice"/>
</resource>
<resource>
Expand Down Expand Up @@ -626,6 +626,11 @@ In this example there are only xml structure definitions, value sets, code syste
<parameter>
<code value="special-url"/>
<value value="http://terminology.hl7.org/CodeSystem/ASN1ToHL7"/>
</parameter>
<parameter>
<code value="special-url"/>
<value value="http://terminology.hl7.org/ValueSet/ASN1ClockBits"/>
</parameter>
</definition>

</ImplementationGuide>
8 changes: 4 additions & 4 deletions input/fsh/StructureDefinition.PhdBaseObservation.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ Description: "Common base profile with the elements that are common to the PHD I
* ^slicing.rules = #open
* identifier contains conditionalCreate 0..1
* identifier[conditionalCreate] ^short = "Unique identifier of this measurement for a given patient and device"
* ^definition = "An identifier created from a combination of the measurement parameters like sensor timestamp, type code, unit code, patient and device identifiers, and selected elements of any component elements."
* ^comment = "This value is used in the conditional create to prevent data duplication. PHDs will often re-send already sent data for a variety of reasons. This element is required unless the metric measurement contains no timestamp or is a measurement containing a timestamp that is real time. By real time the timestamp reported by the PHD must be later than the current time reported by the PHD before any measurements are received. There might be other means to ascertain whether the data is real time. Temporarily stored data from IEEE 11073-10206 compliant devices, which are required to be deleted the data after sending, can be considered real time. An example of this are temporarily stored observations from a device implementing the Bluetooth SIG GHS profile or implementing another Bluetooth SIG medical sensor device profile."
* ^definition = "An identifier created from a combination of the measurement parameters like sensor timestamp, type code, unit code, patient and device identifier."
* ^comment = "This value is used in the conditional create to prevent data duplication. PHDs will often re-send already sent data for a variety of reasons. This element is recommended unless the observation contains no timestamp or is a measurement containing a timestamp that is real time. By real time the timestamp reported by the PHD must be later than the current time reported by the PHD before any measurements are received. There might be other means to ascertain whether the data is real time. Temporarily stored data from IEEE 11073-10206 compliant devices, which are required to be deleted the data after sending, can be considered real time. An example of this are temporarily stored observations from a device implementing the Bluetooth SIG GHS profile or implementing another Bluetooth SIG medical sensor device profile."
* ^requirements = "Allows observations to be distinguished in a selective enough manner to prevent resource duplication."
* type ..0
* system = "http://hl7.org/fhir/uv/phd/StructureDefinition/PhdBaseObservation" (exactly)
Expand All @@ -68,7 +68,7 @@ Description: "Common base profile with the elements that are common to the PHD I
* ^short = "Reference to the patient or the PhdDevice that is the subject of the observation"
* effective[x] 1..
* effective[x] only dateTime or Period
* ^definition = "The time or time-period the observed value is asserted as being true. It is a time period if a Measure-Active-Period (duration) attribute is part of the metric measurement sent by the PHD. Otherwise it is the timestamp sent by the PHD or the time of reception by the PHG if the PHD sent no timestamp."
* ^definition = "The time or time-period the observed value is asserted as being true. This can be a dateTime or a period. The value is based on the timestamp sent by the PHD or the time of reception by the PHG if the PHD sent no timestamp."
* interpretation
* coding ^slicing.discriminator[0].type = #value
* ^slicing.discriminator[=].path = "system"
Expand All @@ -90,7 +90,7 @@ Description: "Common base profile with the elements that are common to the PHD I
* ^slicing.rules = #open
* component contains supplementalTypesComponent 0..*
* component[supplementalTypesComponent] ^short = "Supplemental Type: A further description of the measurement type."
* ^definition = "For each code contained in the Supplemental-Types attribute, a separate supplementalTypesComponent element is generated. The component is not generated if the attribute is absent or empty. The component shall be generated otherwise."
* ^definition = "For each code contained in the Supplemental-Types attribute, a separate component is generated. The component is not generated if the attribute is absent or empty. The component shall be generated otherwise."
* ^comment = "A PHD may send a Supplemental-Types attribute as part of the measurement. This attribute consists of a set of MDC nomenclature codes. Each code describes an aspect of the measurement, such as MDC_MODALITY_SPOT in the pulse oximeter which indicates that the provided measurement is a stable average."
// * code from $CodeableConcept11073MDC (required)
* code = Mdc#68193 // from $CodeableConcept11073MDC (required)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Description: "Observations coming from a PHD where the measurement is a set of n
compound 0..*
* component[compound] ^short = "Compound numeric measurement entry components"
* ^definition = "Each compoundComponent contains one of the N constituents of the compound measurement. These entries are NOT present if a Measurement-Status attribute indicates an error."
* ^comment = "A compound measurement is a measurement that requires more than one value to represent it, such as an acceleration which has an x, y, and z components. The Blood pressure is also represented as a compound measurement, containing systolic, diastolic and MAP components. One combines all the compound elements together to describe the measurement. The Metric-Id-List entry n and Compound-Basic/Simple-Nu-Observed-Value entry n are ordered such that the code that describes each entry n is computed from the partition of the Type attribute and the term code of the Metric-Id-List attribute. In the case of the Compound-Nu-Observed-Value, the term code comes from the Compound-Nu-Observed-Value.metric sub-component."
* ^comment = "A compound measurement is a measurement that requires more than one value to represent it, such as an acceleration which has an x, y, and z components. The Blood pressure is also represented as a compound measurement, containing systolic, diastolic and MAP components. One combines all the compound elements together to describe the measurement."
* code from $MDCnotObject (required)
* coding 1..
* ^slicing.discriminator[0].type = #value
Expand Down
2 changes: 1 addition & 1 deletion input/fsh/StructureDefinition.PhdCompoundObservation.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Description: "Observations from a PHD where the measurement is a set of numbers
measurement 0..*
* component[measurement] ^short = "Compound measurement entry component"
* ^definition = "Each compoundComponent contains one of the N constituents of the compound measurement. These entries are NOT present if a Measurement-Status attribute indicates an error."
* ^comment = "A compound measurement is a measurement that requires more than one value to represent it, such as an acceleration which has an x, y, and z components. The Blood pressure is also represented as a compound measurement, containing systolic, diastolic and MAP components. One combines all the compound elements together to describe the measurement. The Metric-Id-List entry n and Compound-Basic/Simple-Nu-Observed-Value entry n are ordered such that the code that describes each entry n is computed from the partition of the Type attribute and the term code of the Metric-Id-List attribute. In the case of the Compound-Nu-Observed-Value, the term code comes from the Compound-Nu-Observed-Value.metric sub-component."
* ^comment = "A compound measurement is a measurement that requires more than one value to represent it, such as an acceleration which has an x, y, and z components. The Blood pressure is also represented as a compound measurement, containing systolic, diastolic and MAP components. One combines all the compound elements together to describe the measurement."
* code from http://hl7.org/fhir/uv/phd/ValueSet/MDCValueSet (required)
* value[x] only Quantity or CodeableConcept or string or SampledData
* valueQuantity
Expand Down
2 changes: 1 addition & 1 deletion input/fsh/StructureDefinition.PhgDevice.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ Description: "Profile for the Device Resource for a PHG"
* valueCode from http://hl7.org/fhir/uv/phd/ValueSet/ContinuaPHGInterfaces (extensible)

* property[clockBitProperty] ^short = "Boolean Properties reported by the Clock"
* ^definition = "For each Boolean clock capability reported a property element is used."
* ^definition = "For each Boolean clock capability reported a `property` element is used."
* type from ASN1ClockBits (required)
* ^short = "Tells what the clock capability item is"
* ^definition = "One of the capabilities of the clock as reportedD."
Expand Down
2 changes: 1 addition & 1 deletion input/fsh/ValueSet.ASN1ClockBits.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Id: ASN1ClockBits
Title: "ANS1ToHL7 codes defined for Boolean Clock attributes"
Description: "ValueSet for the ANS1ToHL7 codes that are not derived from enumeration measurements."
* ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset"
* ^url = "http://hl7.org/fhir/uv/phd/ValueSet/ASN1ClockBits"
* ^url = "http://terminology.hl7.org/ValueSet/ASN1ClockBits"
* ^version = "current"
// * ^status = #draft
* ^experimental = false
Expand Down
6 changes: 3 additions & 3 deletions input/ignoreWarnings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ This element does not match any known slice defined in the profile http://hl7.or
This element does not match any known slice defined in the profile http://hl7.org/fhir/StructureDefinition/bodytemp|4.0.1 (this may not be a problem, but you should check that it's not intended to match a slice)

# When a Phd compound observation is also a vital sign this warning is generated, but this is not a real problem.
This element does not match any known slice Defined in the profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCompoundNumericObservation|2.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)
This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCompoundObservation|2.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)
This element does not match any known slice Defined in the profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCompoundNumericObservation|2.0.0-ballot2 (this may not be a problem, but you should check that it's not intended to match a slice)
This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCompoundObservation|2.0.0-ballot2 (this may not be a problem, but you should check that it's not intended to match a slice)

# This warning is generated when different categories are required in resources that comply with different profiles like vitals-signs and phd:
None of the codings provided are in the value set 'Observation Category Codes' (http://hl7.org/fhir/ValueSet/observation-category|4.0.1), and a coding is recommended to come from this value set (codes = http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories#phd)
Expand All @@ -28,7 +28,7 @@ None of the codings provided are in the value set 'Observation Category Codes' (
The type of property 'code' is 'code', but no ValueSet information was found, so the codes will be validated as internal codes

# This is generated for all observations that use the vital signs category. This warning can be ignored safely.
This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdNumericObservation|2.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)
This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdNumericObservation|2.0.0-ballot2 (this may not be a problem, but you should check that it's not intended to match a slice)

# This informational message is out of our control.
The extension http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet|5.2.0 is deprecated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ An example of the this identifier from [this example](Observation-numeric-spotnu
{% fragment Observation/numeric-spotnumeric JSON EXCEPT:identifier %}

### Obtaining the Type of observation
One obtains the IEEE 11073-10101 observation type for the `code` element in the same manner for all metric observations. See the section [MDC Nomenclature codes](Nomenclaturecodes.html) for the details.
One obtains the IEEE 11073-10101 observation type for the `code` element in the same manner for all types of observations. See the section [MDC Nomenclature codes](Nomenclaturecodes.html) for the details.

### Subject
The `subject` element normally points to the PhdPatient resource using the logical id of the Patient resource, for example 'Patient/123546'. For device settings known to the PHG it should point to the PHD.
Expand Down Expand Up @@ -76,7 +76,7 @@ For IEEE 11073-10206 timestamps the following table can be used:
| Tick counter | Yes | n.a. | n.a. | Map to PHG timeline, including PHG offset | Yes |
| Tick counter | No | n.a. | n.a. | Throw away | n.a. |

The PHG maps the 'converted' timestamp to either an `Observation.effectiveDateTime` element or an `Observation.effectivePeriod` element. The second situation occurs when the metric observation includes a Measurement-Duration (duration) attribute. Then the timestamp attribute gives the start of the period and the end of the period is obtained by adding the Measurement-Duration value to it. If no timestamp is provided, the PHG, using the time of reception of the observation as its timestamp must then do the reverse; the time of reception is the end time and the start time is given by subtracting the Measurement-Duration value from it.
The PHG maps the 'converted' timestamp to either an `Observation.effectiveDateTime` element or an `Observation.effectivePeriod` element. The second situation occurs when the observation includes a Measurement-Duration (duration) attribute. Then the timestamp attribute gives the start of the period and the end of the period is obtained by adding the Measurement-Duration value to it. If no timestamp is provided, the PHG, using the time of reception of the observation as its timestamp must then do the reverse; the time of reception is the end time and the start time is given by subtracting the Measurement-Duration value from it.
When the PHG modifies an Observation's timestamp as received from the PHD it shall also generate a Coincident Timestamp observation that records how the `Observation.effective[x]` element is generated.

### extension: Coincident timestamp reference
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
The Coded Enumeration Observation Profile is used when the PHD metric measurement is represented by one of a limited set of codes. This corresponds to the Single Event Observation class in IEEE 11073-10206 ACOM and the Simple Discrete Observation in GHS.
The Coded Enumeration Observation Profile is used when the PHD observation value is represented by one of a limited set of codes. This corresponds to the Single Event Observation class in IEEE 11073-10206 ACOM and the Simple Discrete Observation in GHS.

The MDC code of the value in this observation resource corresponds to the value attribute in these ACOM and GHS observation classes.

Expand Down
Loading