Stream: implementers
Topic: valueCodeableConcept with several values
Lauri Karppinen (May 11 2020 at 06:35):
We have created an extension to present different quality problems in spirometry test. There are 4 different options for quality problems: Cough, Early termination, Lazy blow and Hesitation. Quality of breath is either normal or it has problems from 1 to 4. So my question is: is it ok to present several codes in valueCodeableConcept at the same time? In our case from 1 to 4. Example:
{
"url": "breathQuality",
"valueCodeableConcept": {
"coding": [
{
"code": "49727002",
"display": "Cough",
"system": "http://snomed.info/sct"
},
{
"code": "code for Early termination (not defined yet)",
"display": "Early termination",
"system": "system for Early termination (not defined yet)"
}
]
}
}
Richard Townley-O'Neill (May 11 2020 at 06:37):
Nope. :frown:
CodeableConcept's multiple codings are for translations of the one concept.
Richard Townley-O'Neill (May 11 2020 at 06:37):
For example one code from SNOMED CT, one from LOINC and one from a local code system.
Lauri Karppinen (May 11 2020 at 07:26):
That was my concern that this is not the right way to do this. Do You have any suggestions how to do this? Help would be very much appriciated. Is there any idea to repeat same extension for each of the quality problems? Like this:
{
"url": "breathQuality",
"valueCodeableConcept": {
"coding": [
{
"code": "49727002",
"display": "Cough",
"system": "http://snomed.info/sct"
}
]
}
},
{
"url": "breathQuality",
"valueCodeableConcept": {
"coding": [
{
"code": "code for Early termination (not defined yet)",
"display": "Early termination",
"system": "system for Early termination (not defined yet)"
}
]
}
}
René Spronk (May 11 2020 at 07:40):
If "breathQuality" were to be a full fledged URL, then yes. An extension can be used multiple times.
Lloyd McKenzie (May 11 2020 at 14:45):
Typically you'd use Observation.component for this - a separate component for each type, each having a code and valueQuantity
Lauri Karppinen (May 12 2020 at 07:35):
@Lloyd McKenzie @René Spronk This observation is used as a panel. It has hasMember relation to each breath in the study. If we have the right knowledge it should not have value or component? Not preferred at least? Current solution would have url to extension and the valueCodableConcept of extension is one of the values from valueSet. If there is no quality problems extension would have "normal" as value. If there is one or several quality problems (1-4) there would be code for each quality problem in separate extension with same url. Does this seem like o valid solution to You? There is some other information (breath number, breath type and quality problems/ok) in the extensions of this panel but observation has no value or component. Example:
"extension": [
{
"url": "http://example.org/fhir/StructureDefinition/FinnishPHRSpirometryBreathNumberExtension",
"valueInteger": 2
},
{
"url": "http://example.org/fhir/StructureDefinition/FinnishPHRSpirometryBreathTypeExtension",
"valueCodeableConcept": {
"coding": [
{
"code": "58322009",
"display": "Expiration (observable entity)",
"system": "http://snomed.info/sct"
}
]
}
},
{
"url": "http://example.org/fhir/StructureDefinition/FinnishPHRSpirometryBreathQualityExtension",
"valueCodeableConcept": {
"coding": [
{
"code": "49727002",
"display": "Cough",
"system": "http://snomed.info/sct"
}
]
}
},
{
"url": "http://example.org/fhir/StructureDefinition/FinnishPHRSpirometryBreathQualityExtension",
"valueCodeableConcept": {
"coding": [
{
"code": "code for Early termination (not defined yet)",
"display": "Early termination",
"system": "system for Early termination (not defined yet)"
}
]
}
}
],
Lloyd McKenzie (May 12 2020 at 19:41):
Having each breath as a separate Observation with the panel pointing to each via hasMember is fine. However, for each breath, each aspect should absolutely be captured as a component. Using extensions is always less preferred than component if component applies, and that's what would certainly hold here.
Last updated: Apr 12 2022 at 19:14 UTC