Examples of RF2 file indexing

This process is only required for organisations publishing SNOMED CT editions or seeding LOINC into an ecosystem of Ontoserver instances. Only one organisation in an ecosystem needs to do this, and typically most Ontoserver operators do not need to perform this process. This is usually required of national release centres, or the centre/top of a set of collaborating Ontoserver users.

This page contains two examples of executing this process using Docker run, however this may be adapted to Kubernetes, etc.

Local input file

The command below volume mounts in a host directory /opt/terminology/SCT-AU/, where the input SNOMED CT-AU release file to index is sourced by the indexer using a file:// URL.

Upon completion, the indexer will:

  • Upload the resulting zip file as a new entry to the feed authoring-input at https://syndication-server/synd, using the configured OAuth client credentials and token URL.
  • Output the file to the local directory /var/source, which is volume mounted to /opt/terminology/SCT-AU/ on the host.

The index will be uploaded to the syndication server specified and made available as a file at /opt/terminology/SCT-AU/index-output.zip on the Docker host upon completion.

docker run --volume /opt/terminology/SCT-AU/:/var/source
           -e JAVA_OPTS="-Xmx12G
                         -Dauthentication.oauth.endpoint.0=https://syndication-server/        
                         -Dauthentication.oauth.endpoint.client_id.0=index-syndication
                         -Dauthentication.oauth.endpoint.client_secret.0=your-client-secret
                         -Dauthentication.oauth.endpoint.strategy.0=body
                         -Dauthentication.oauth.endpoint.token_endpoint.0=https://authorisation-server/
                         -Dontoserver.security.verify.certs=false"
           aehrc/ontoserver:ctsa-6
           indexCodeSystem
           -s http://snomed.info/sct
           -v http://snomed.info/sct/32506021000036107/version/20181231
           -f file:///var/source/NCTS_SCT_RF2_DISTRIBUTION_32506021000036107-20181231-ALL.zip
           -k snapshot
           -synd https://syndication-server/synd
           -feed authoring-input
           -t "SNOMED CT-AU 20181231"
           -file SNOMED_CT-AU_BINARY_20181231.zip
           -o /var/source/index-output.zip

Remote input file

The command below sources SNOMED CT-UK directly from TRUD (the NHS D terminology release website, requiring no authentication) during processing, and POSTs the resulting index to the Atomio syndication server at https://syndication-server/synd using the configured client credentials. The indexer will use the specified credentials and token URL to get a bearer token to send with the POST to the syndication server.

Additionally Ontoserver has been instructed to not verify SSL certificates, as the https://syndication-server/ server is a test server with self signed certificates.

docker run -e JAVA_OPTS="-Xmx16G -Dauthentication.oauth.endpoint.0=https://syndication-server/
                         -Dauthentication.oauth.endpoint.client_id.0=index-syndication
                         -Dauthentication.oauth.endpoint.client_secret.0=your-client-secret
                         -Dauthentication.oauth.endpoint.strategy.0=body
                         -Dauthentication.oauth.endpoint.token_endpoint.0=https://authorisation-server/
                         -Dontoserver.security.verify.certs=false"
           aehrc/ontoserver:ctsa-6
           indexCodeSystem
           -s http://snomed.info/sct
           -v http://snomed.info/sct/83821000000107/version/20200610
           -f https://isd.digital.nhs.uk/trud3/api/v1/keys/a70a188c5edb08c20cb951627ebd086f562c087c/files/SNOMEDCT2/29.3.0/UK_SCT2CL/uk_sct2cl_29.3.0_20200610000001.zip
           -f https://isd.digital.nhs.uk/trud3/api/v1/keys/a70a188c5edb08c20cb951627ebd086f562c087c/files/SNOMEDCT2/29.4.0/UK_SCT2DR/uk_sct2dr_29.4.0_20200708000001.zip
           -k snapshot
           -synd https://syndication-server/synd
           -feed authoring-input
           -t "SNOMED CT-UK Drug Extension 29.4.0 with Clinical Extension 29.3.0"