A syndication feed represents a more mature web technology known as a Really Simple Syndication (RSS) Feed. It is a mechanism by which users can be notified of updates to content on a particular site. Infoway’s Terminology Server uses this mechanism to update users on new files available for download and provides users with the information necessary to be able to download the various files successfully.
Downloading Artifacts using Syndication Feed (RSS Feed)
Users can programmatically download files related to the various CodeSystems and ValueSets using the Syndication Feed. Files that are available for download are SNOMED CT CA RF2, SNOMED CT CA ValueSet, CCDD, pCLOCD and ValueSets files. The URLs below are publicly accessible meaning you do not require any credentials to access them. However, system credentials are needed to download the actual files. The feed is an XML formatted list of files available for download for each code system. To get started, please follow the ‘Syndication Download Instructions’ below.
Provincial/Territorial Terminology Server Administrators
If you or your team manage a Terminology Server, preferably an instance of OntoServer, then you may use the following syndication feeds to easily import new terminology data into your terminology server. This is essentially a synchronization feature, where updates to terminologies like SNOMED CT CA, pCLOCD and others, can be easily ingested into your instance of OntoServer on a regular basis. The formats of files available for download are FHIR JSON Resources and/or Indexed Binary data. Binary data is a product of processing that is done ahead of loading the data into the OntoServer instance; saving the user time and effort from having to repeat the process. Based on release cycles for the various code systems, you can create a script or CRON job to download newly available files from Infoway’s Terminology Server.
Syndication Download Instructions
This user guide will help you use the Syndication Feed to download the desired files. In this example, we use the SNOMED RF2 file.
Step-by-Step Instructions on Downloading files
- Please Ensure that you have a system account to download the files. Request Access Here
- Making an HTTP GET Request to the Syndication API.
To retrieve the list of available files, use the following curl command:
curl 'https://terminologystandardsservice.ca/syndication/alias/external_snomed/syndication.xml'' - Understanding the API Response
The response will be in XML format and will look something like this: - Get a Token : In order to download the file, you must get a token first. In order to get the token, you can call the authorization service with your Client ID and Client Secret. You must acquire these credentials using the system account access request form.
curl --location --request POST 'https://terminologystandardsservice.ca/authorisation/auth/realms/terminology/protocol/openid-connect/token' \ --data-urlencode 'grant_type=client_credentials' \ --data-urlencode 'client_id={{client_id}}' \ --data-urlencode 'client_secret={{client_secret}}'
- Downloading the File
To download the file, use the `href` property from the <link> element in the sample response in section 2. You will need to include a Bearer token for authorization.
First, obtain a token using your client ID and secret described in the previous section. Then, use the token in the following curl command to save the output to a file:
curl 'https://terminologystandardsservice.ca/syndication/feed/20240831_001_SNOMED_RF2_RC/entry/74a84814-0e52-421b-b948-51d41ac2f7bc/artefact/e3d1a6d6a92301607d80e7889d4f9f363065be44a8dc92e645a4de8dbf335843.zip' -H 'Authorization: Bearer <your_access_token>' -O snomed_rf2_release.zip
Replace YOUR_ACCESS_TOKEN with the token you obtained and snomed_rf2_release.zip with your desired file name.
- Verify the downloaded file
- Windows Powershell Command
Get-FileHash <file> -Algorithm SHA256 - Linux Command
sha256sum <file> - MacOS Command
shasum -a 256 <file>
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:ncts="http://ns.electronichealth.net.au/ncts/syndication/asf/extensions/1.0.0"
xmlns:onto="http://ontoserver.csiro.au/syndication/">
<title>initial-snomed_rf2</title>
<link rel="alternate" href="https://terminologystandardsservice.ca/syndication/feed/20240831_001_SNOMED_RF2_RC/syndication.xml" />
<subtitle />
<id>urn:uuid:523dd9c5-3c05-47ab-aea1-61f476b989bf</id>
<generator version="2.1.0">Atomio</generator>
<updated>2024-08-29T15:43:00Z</updated>
<ncts:atomSyndicationFormatProfile>http://ns.electronichealth.net.au/ncts/syndication/asf/profile/1.0.0</ncts:atomSyndicationFormatProfile>
<entry>
<title>Snomed RF2 Release 20240831</title>
<link rel="alternate" type="application/zip" href="https://terminologystandardsservice.ca/syndication/feed/20240831_001_SNOMED_RF2_RC/entry/74a84814-0e52-421b-b948-51d41ac2f7bc/artefact/e3d1a6d6a92301607d80e7889d4f9f363065be44a8dc92e645a4de8dbf335843.zip" length="690979420"
ncts:sha256Hash="e3d1a6d6a92301607d80e7889d4f9f363065be44a8dc92e645a4de8dbf335843" />
<category term="RF2" label="RF2 ZIP package" scheme="http://ontoserver.csiro.au/syndication/rf2" />
<id>urn:uuid:74a84814-0e52-421b-b948-51d41ac2f7bc</id>
<updated>2024-08-29T15:43:00Z</updated>
<published>2024-08-29T15:43:00Z</published>
<summary>Snomed RF2 Release 20240831</summary>
<ncts:contentItemIdentifier>http://snomed.info/sct</ncts:contentItemIdentifier>
<ncts:contentItemVersion>http://snomed.info/sct/20611000087101/version/20240831</ncts:contentItemVersion>
</entry>
</feed>
From the XML response in section 2, you may use the ncts:sha256Hash property to verify the SHA256 checksum. Below are commands that can be used to generate the SHA256 hash locally on your machine and compare that to the one on the XML Response.