ECL 2.2 specifies support for Alternate Identifiers see 6.1 Simple Expression Constraints eg LOINC#54486-6 (which would be expanded inline before any further processing is done).
See Zulip discussion on a name for this new property: https://chat.fhir.org/#narrow/channel/179202-terminology/topic/Alternate.20Codes/with/510871290
See "alternateCode" references in https://build.fhir.org/codesystem-concept-properties.html
Finding the LOINC code from a SNOMED SCTID will work easily via an implicit concept map and the $translate operation. The suggestion is to use the alternate identifier file schema SCTID as we would normally pass a refset id. This is not required. The "identifierSchemeId" performs a similar function as a refset id.
peter@PGW-IHTSDO-4 tmp % head sct2_Identifier_Snapshot_LO1010000_20250321.txt alternateIdentifier effectiveTime active moduleId identifierSchemeId referencedComponentId 1-8 20250321 1 11010000107 30051010000102 480081010000105 10-9 20250321 1 11010000107 30051010000102 480091010000108 100-8 20250321 1 11010000107 30051010000102 480101010000104 |
<server>/fhir/ConceptMap/$translate?code=529881010000108&system=http://snomed.info/sct&version=http://snomed.info/module/11010000107&targetsystem=http://loinc.org&url=http://snomed.info/sct?fhir_cm=30051010000102
This would recover one specific schema, but what if we wanted to recover all alternate identifier maps (as opposed to all maps)?
<server>/fhir/ConceptMap/$translate?code=529881010000108&system=http://snomed.info/sct&version=http://snomed.info/module/11010000107&targetsystem=http://loinc.org&url=http://snomed.info/sct?fhir_cm=equivalentConcept
Since the targetSystem allows you to work out which schema is being referred to, using "equivalentConcept" removes the need for the schema identifier entirely. And we can miss out the targetSystem if we'd like to recover all alternate identifiers for a given SNOMED concept.
See "LOINC Ontology" discussion (item 9) in 2025-04-06 - SNOMED on FHIR Meeting (TS & TB)
See also Zulip discussion: https://chat.fhir.org/#narrow/channel/179202-terminology/topic/Alternate.20Codes/near/517923587
ML Suggests that alternate codes in a different CodeSystem should not be surfaced as an alternate code via a CodeableConcept
Shrimp exposes "Identifier" as a Coding type, so specifies both that it's the LOINC URI and the code (this was rejected as being already too heavily overloaded a word)
2025-04-15 "alternateCode" ← workshopped by group.
2025-04-29 further discussion on Zulip. "equivalentConcept" now gaining traction. The datatype would need to be Coding, as a code on it's own is meaningless.