FHIR Chat · vitalsigns profile question · implementers

Stream: implementers

Topic: vitalsigns profile question


view this post on Zulip John Timm (Oct 03 2019 at 14:31):

The VitalSigns StructureDefinition.snapshot contains an ElementDefinition at this path:

Observation.component.value[x]

that includes the following ValueSet binding

                "binding": {
                    "extension": [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "VitalSignsUnits"
                        }
                    ],
                    "strength": "required",
                    "description": "Common UCUM units for recording Vital Signs.",
                    "valueSet": "http://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.0"
                },

which seems like it would only be valid if the choice type was Quantity, yet the structure definition allows more choices:

                "type": [
                    {
                        "code": "Quantity"
                    },
                    {
                        "code": "CodeableConcept"
                    },
                    {
                        "code": "string"
                    },
                    {
                        "code": "boolean"
                    },
                    {
                        "code": "integer"
                    },
                    {
                        "code": "Range"
                    },
                    {
                        "code": "Ratio"
                    },
                    {
                        "code": "SampledData"
                    },
                    {
                        "code": "time"
                    },
                    {
                        "code": "dateTime"
                    },
                    {
                        "code": "Period"
                    }
                ],

Should a separate ElementDefinition / path be used instead? Perhaps something like:

Observation.component.value[x].system or Observation.component.valueQuantity.system

To express this terminology constraint. The binding itself doesn't have anything that is computable that would indicate the context that under which it should be used. I suppose another option might be to create a FHIRPath expression for it:

Observation.component.value.is(Quantity) implies (Observation.component.value.as(Quantity).system = 'http://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.0')

view this post on Zulip Rob Hausam (Oct 03 2019 at 15:25):

I think it would make sense to declare the binding on the valueQuantity slice.

view this post on Zulip Chris Moesel (Oct 03 2019 at 16:13):

I agree that the binding at the value[x] element is ambiguous and validators would have to apply it to CodeableConcept and Quantity, which I'm sure is not the intent. I also agree that the solution is to apply the binding to a valueQuantity type slice instead.

That said, I'm looking at the VitalSigns profile now and not seeing that binding at all: http://hl7.org/fhir/R4/vitalsigns.profile.json.html. Are you looking at a version prior to R4?

view this post on Zulip John Timm (Oct 03 2019 at 18:37):

I'm using R4 and I'm seeing it here:
http://hl7.org/fhir/vitalsigns.profile.json.html

view this post on Zulip Chris Moesel (Oct 03 2019 at 18:54):

Oh sorry. Duh. I was looking at Observation.value[x], not Observation.component.value[x]. My bad. Sorry for the confusion.

view this post on Zulip John Timm (Oct 03 2019 at 19:01):

No worries.

view this post on Zulip Eric Haas (Oct 03 2019 at 19:19):

sounds like a tracker...


Last updated: Apr 12 2022 at 19:14 UTC