Stream: terminology
Topic: Concept Map $translate
Jane Pankratova (Aug 10 2021 at 17:49):
Hi everyone!
I am currently implementing the POST-$translate method for a ConceptMap resource.
I ran into a problem that in the current version of FHIR R4 only coding can be passed to the dependency.concept parameter.
In one of the discussions here, I found out that in R5 it is proposed to replace dependency.concept with dependency.value, where it would be possible to write not only CodeableConcept, but all other types as well.
The problem is that it's not enough for me to pass only the value, for example:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "code",
"valueCode": "10001005"
},
{
"name": "dependency",
"part": [
{
"name": "value",
"valueQuantity": {
"value": 1,
"unit": "year",
"system": "http://unitsofmeasure.org",
"code": "a"
}
}
]
}
]
}
But I need to identify it with concept. So it's not just some value, but it's the value within a code system, for example:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "code",
"valueCode": "10001005"
},
{
"name": "dependency",
"part": [
{
"name": "value",
"valueQuantity": {
"value": 1,
"unit": "year",
"system": "http://unitsofmeasure.org",
"code": "a"
}
},
{
"name": "concept",
"valueCoding": {
"system": "http://smomed.info/sct",
"code": "445518008"
}
}
]
}
]
}
Is it okay to do something like that?
Michael Lawley (Aug 10 2021 at 20:39):
If I'm following, "age at onset" identifies the property that the mapping depends on? In which case, the type of the dependency.concept
parameter should be CodeableConcept
Alternatively, you have two dependsOn values, one of type Quantity and one of type Coding.
Ultimately it depends on how your ConceptMap is representing this mapping information.
Jane Pankratova (Aug 11 2021 at 06:44):
If I'm following, "age at onset" identifies the property that the mapping depends on? In which case, the type of the dependency.concept parameter should be CodeableConcept
Yes, it does.
And it should be CodeableConcept when there's that kind of rule: IFA 11850561000119105 / Contusion of right chest wall /
. So the mapping depends on not value property but code property.
It will look like that (if I've got it right):
{
"resourceType": "Parameters",
"parameter": [
{
"name": "code",
"valueCode": "10001005"
},
{
"name": "dependency",
"part": [
{
"name": "concept",
"valueCodeableConcept": {
"coding": [
{
"system": "http://smomed.info/sct",
"code": "11850561000119105",
"display": "Contusion of right chest wall"
}
],
"text": "Contusion of right chest wall"
}
}
]
}
]
}
But I don't understand how to deal with it if I want to pass not codeableConcept
but some value, so I can use it in the process of mapping. And I also need to link the value with its code. It means that I need to specify that the current valueQuantity
(age in this example) belongs to SNOMED's 445518008
property (like in the example below) (+ for example, if I apply $translate to another ConceptMap, I could say that this valueQuantity
belongs to LOINC code system).
I can't do that - just pass "age on set" as CodeableConcept
for $translate because it doesn't contain any value for this:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "code",
"valueCode": "10001005"
},
{
"name": "dependency",
"part": [
{
"name": "concept",
"valueCodeableConcept": {
"coding": [
{
"system": "http://smomed.info/sct",
"code": "445518008",
"display": "Age at onset of clinical finding (observable entity)"
}
],
"text": "Age at onset of clinical finding (observable entity)"
}
}
]
}
]
}
That's why I want to use R5 because dependency.concept is replaced with dependency.value, so I can start passing value properties, but it doesn't support dependency.concept anymore (according to the proposal file, and it's not described in specification yet) which I need to link these two properties.
So, I imagine it to be like that that every part of dependency parameter has:
- concept (dependency.concept | coding) - 0..1
- value (dependency.value[x] | [x] - every type) - 0..1
It means If I have value property I specify both concept and value, and if I have only code property, I specify only concept.
Alternatively, you have two dependsOn values, one of type Quantity and one of type Coding.
If I understand your comment right, it's not like I want to have two not linked together values, I need to have two values (both Quantity and and its defining Coding) combined together.
Michael Lawley (Aug 12 2021 at 21:29):
The R5 equivalent of dependency.concept
is dependency.valueCoding
However, it sounds like what you're want to express is that the dependency.valueQuantity
is the value of an age at onset
field, with that field being identified by a SNOMED code. In this case, the dependency.element
value could be set to http://snomed.info/id/445518008
(which would correspond to group.element.target.dependsOn.property
in the ConceptMap).
Michael Lawley (Aug 12 2021 at 21:31):
It is analogous to the example here https://build.fhir.org/conceptmap-example-specimen-type.html (which is using product rather than dependsOn, but the essential idea is the same)
Michael Lawley (Aug 12 2021 at 23:32):
{
"resourceType": "Parameters",
"parameter": [
{
"name": "code",
"valueCode": "10001005"
},
{
"name": "dependency",
"part": [
{
"name": "element",
"valueUri": "http://snomed.info/id/445518008"
},
{
"name": "value",
"valueQuantity": {
"value": 1,
"unit": "year",
"system": "http://unitsofmeasure.org",
"code": "a"
}
}
]
}
]
}
Jane Pankratova (Aug 24 2021 at 07:52):
Michael Lawley said:
The R5 equivalent of
dependency.concept
isdependency.valueCoding
However, it sounds like what you're want to express is that the
dependency.valueQuantity
is the value of anage at onset
field, with that field being identified by a SNOMED code. In this case, thedependency.element
value could be set tohttp://snomed.info/id/445518008
(which would correspond togroup.element.target.dependsOn.property
in the ConceptMap).
Yes, that's what I want. I've got it! Thanks a lot.
Last updated: Apr 12 2022 at 19:14 UTC