-
Type:
Change Request
-
Resolution: Unresolved
-
Priority:
Medium
-
FHIR Core (FHIR)
-
R5
-
Terminology Infrastructure
-
ConceptMap
-
Terminology Service
-
4.10.16.1
Given the recent changes in the ConceptMap resource (from R4 to R5 Draft ballot) related to the relationship between source and target mappings; and also the changes to the definition of the reverse parameter itself:
- R4: if this is true, then the operation should return all the codes that might be mapped to this code. This parameter reverses the meaning of the source and target parameters
- R5 Draft Ballot: If true, then the operation should return all the codes that are mapped to the 'code'/'coding'/'codeableConcept' input parameter. In this case: The input code or coding(s) must belong to the target{{Scope}} ValueSet (rather than the source{{Scope}} ValueSet). Any provided dependency parameters are matched against ConceptMap.group.element.target.product (rather than ConceptMap.group.element.target.dependsOn)
implementers of systems implementing the translate operation, or those processing the results, are likely to be confused (perhaps unknowingly) about the expected behaviour of the parameter which could lead to problematic implementations.
To address this confusion, this change request proposes the following:
- removing the reverse parameter entirely;
- renaming the following parameters:
- code to sourceCode;
- coding to sourceCoding;
- codeableConcept to sourceCodeableConcept
- adding the following parameters:
- targetCode (code)
- targetCoding (Coding)
- targetCodeableConcept (CodeableConcept)
- Amend the following contraint:
- "One (and only one) of the in parameters (code, coding, codeableConcept) must be provided, to identify the code that is to be translated." to:
- One (and only one) of the in parameters (sourceCode, sourceCoding, sourceCodeableConcept, targetCode, targetCoding, or targetCodeableConcept) must be provided, to identify the code that is to evaluated as either the source or the target of a translation.
- Adding documentation clarifying the $translate operation works as follows:
- If a source* parameter is provided, the $translate operation will return all matches whereby a mapping from the provided source concept is the source of a relationship (in a specified ConceptMap or otherwise known to the server)
- If a target* parameter is provided, the $translate operation will return all matches whereby a mapping to the provided target concept is the target of a relationship (in a specified ConceptMap or otherwise known to the server)