Referencing a CodeSystem Instance

CodeSystem instances may be referred to in two ways, either using the instance in the URL directly like http://localhost:8080/fhir/CodeSystem/sct_900000000000207008_20200309/$lookup?code=404684003    or by using the system parameter vs http://localhost:8080/fhir/CodeSystem/$lookup?system=http://snomed.info/sct&code=404684003

Either could be used in a GET request. In the CodeSystem endpoint, the Identifier (id) of Code system instance is somewhat arbitrary based on the server implementation, so the parameter approach is considered more transferable and quicker in that you don't need to look up anything first. URIs have been standardized.

In ValueSet implicit expansion the use of a full URI in the url parameter to specify the code system version (saying version here is less confusing than 'instance' which might imply a CodeSystem object) compared to doing that with the system-version parameter  eg http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct/45991000052106?fhir_vs=ecl/<<27624003 vs http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<27624003&system-version=http://snomed.info/sct/45991000052106

(Source:  Preferred method to specify system/version - in url address or parameter )


Specifying the version parameter in $translate

In the case of SNOMED, the system will as always be just http://snomed.info/sct   The crucial factor is the location of the map. The edition of the source and target is not important, so the use of the version parameter is prohibited. eg url=http://snomed.info/sct/731000124108/version/20200301?fhir_cm=6011000124106

Ontoserver uses conceptMapVersion for this as well because concept maps that do not use a url in this way also need to be able to specify a version. The working group made the suggestion that the version parameter might be used if the conceptMapVersion is not specified.


(Source: $translate with version )