When working with the LOINC Ontology, leveraging a FHIR terminology server can simplify access and management. The server allows you to handle the content as a specific CodeSystem version, providing access to all FHIR Terminology operations.
The SNOMED International URI standard specifies that identify unversioned editions (i.e. editions) and versioned editions (i.e. versions) take the following respective forms:
These URIs apply to the 'version' element of codes and the 'URL' parameter in FHIR Operations. The 'system" element value is always 'http://snomed.info/sct' for all SNOMED editions. For more information on the URI Specification, please refer to the URI Standard document.
The following table shows some examples of URIs for editions and versions relevant when working with the LOINC Ontology.
Resource | URI |
SNOMED CT International Edition | |
SNOMED CT International Edition, 20250101 | |
SNOMED CT-LOINC | |
SNOMED CT-LOINC, 31 March 2025 |
The following table lists a few key requests relevant for retrieving content from the LOINC Ontology using the FHIR Terminology services API.
Service Name and Status | Input | Output |
---|---|---|
$lookup | A conceptId and a CodeSystem url |
|
$expand Get all members of the reference set REQUIRED |
|
|
$validate-code Test if a concept or description is a member of a specified reference set REQUIRED |
|
|
Please refer to the SNOMED CT Terminology Services Guide for a comprehensive guidance on SNOMED CT enabled terminology services.
These examples use the concept 635111010000100 |LOINC Orderable Reference Set| as the refsetId.
Service Name | API Call | Result |
Get concept metadata | GET fhir]/ValueSet/$expand ?url=http://snomed.info/sct?fhir_vs=refset/[refsetId] &code=537131010000109 | Returns a JSON representation of concept metadata |
Get all members of the reference set | GET [fhir]/ValueSet/$expand ?url=http://snomed.info/sct?fhir_vs=refset/[refsetId] &count=10 for example GET [fhir]/ValueSet/$expand ?url=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs%3Drefset%2F635111010000100&count=10 An alternative solution is to use the expression constraint language, as shown here: GET [fhir]/ValueSet/$expand ?url=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs%3Decl%2F%5E%5B635111010000100%5D &count=10 GET [fhir]/ValueSet/$expand ?url=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs%3Decl%2F%5E635111010000100&count=10 | Returns a JSON representation of data about each of the reference set member. The data returned for each concept includes:
Also returns the total number of reference set members As some reference sets have very large numbers of children, this service is paged. Requests parameters include:
|
Test if a concept is a member of the reference set | GET [fhir]/ValueSet/$validate-code ?system=http://snomed.info/sct&code=537131010000109 &url=http://snomed.info/sct/[moduleId]/version/[effectiveTime]?fhir_vs=refset/[refsetId] for example GET [fhir]/ValueSet/$validate-code ?system=http://snomed.info/sct&code=537131010000109 &url=http://snomed.info/sct/900000000000207008/version/20200131?fhir_vs=refset/635111010000100 | Returns a JSON object with a "Parameters" resource, including a "result" parameter with a boolean value (true/false) indicating whether the member validated OK or not against the reference set. |