Syndication Configuration
Ontoserver can act as both a syndication client and a syndication server.
Syndication Client
- atom.syndication.feedLocation (
https://api.healthterminologies.gov.au/syndication/v1/syndication.xml
) -
Comma-separated list of URI-encoded absolute URLs of the upstream Syndication feeds. By default, this points to the Australian NCTS Syndication Service (note that this service requires credentials). Minimum is that embedded
,
and%
characters in the URLs must be %-encoded.It is likely that one or more of the upstream syndication servers requires credentials to be provided in order to download the content it provides. Use the
authentication.oauth.endpoint.*
family of credentials to provide configuration details for each of the hosts that require authorization. See the list of all configuration parameters for details.
Syndication Feed filtering
Sometimes it is desirable to be be able to work with a subset of an existing syndication feed. For example, just the entries for SNOMED CT.
To support this, Ontoserver understands the following filtering parameters that may be appended as a query string to a syndication feed URL.
- canonical
-
You may specify zero or more
canonical
parameters with a value following the syntax of a FHIR's Canonical datatype.This filter matches entries where the combined
ncts:contentItemIdentifier
andncts:contentItemVersion
are equal to any of the provided parameter values.For example,
?canonical=http://snomed.info/sct&canonical=http://loinc.org
will result in a feed that contains only SNOMED CT and LOINC code system entries. - category
-
You may specify zero or more
category
parameters with a value being a string.This filter matches entries where any of the
category.type
values is equal to any of the provided parameter values.For example,
?category=FHIR_CodeSystem
will result in a feed that contains only FHIR CodeSystem resource entries. - fhirVersion
-
You may specify zero or more
fhirVersion
parameters with a value being a string.This filter matches entries where the
ncts:fhirVersion
values is equal to any of the provided parameter values. Note that feeds generated by Ontoserver only specify the major and minor numbers of the FHIR version e.g., 4.0 rather than 4.0.1 or 4.0.2For example,
?fhirVersion=4.0
will result in a feed that contains only FHIR R4 (4.0.x) resource entries.
Syndication Server
- atom.syndication.publish.enabled (
false
) -
if true, enables the downstream feed endpoint (
/synd/syndication.xml
) which allows publication of syndication feed entries referring to pre-indexed CodeSystems and to FHIR Resources - atom.syndication.publish.fhir.enabled (
false
) -
If downstream syndication is also enabled, then
true
will ensure that all FHIR Terminology Resources are included in the downstream feed, orselected
will mean that all resources will be included that have been marked for syndication using/synd/setSyndicationStatus
- atom.syndication.publish.fhir.secureSyndication (
false
) -
Setting this config to
true
will require SYND_WRITE (in addition to FHIR_WRITE) in order to update or delete a FHIR resource that has been selected for syndication usingsetSyndicationStatus
. - atom.syndication.publish.index.enabled (
selected
) -
If downstream syndication is also enabled, then
true
will ensure that all CodeSystem binary indexes are included in the downstream feed, orselected
will mean that all indexes will be included that have been marked for syndication using/synd/setSyndicationStatus
- atom.syndication.republishUpstreamEntries (
false
) -
if true and downstream syndication is enabled, then all upstream syndication entries are included in the downstream feed.
- ontoserver.synd.base
-
Base URL for the downstream Syndication API. Set this explicitly if the auto-detected value is wrong (e.g., when your server is sitting behind an API Gateway / Load Balancer / Proxy Server) This affects syndication.xml as well as full URLs in for downloading binary indexes (URLs for downloading syndicated FHIR resources are affected by
ontoserver.fhir.base
. - atom.syndication.publish.feedTitle (
Ontoserver® Syndication Feed
) -
Title to use for the downstream Syndication feed.
Advanced
- atom.syndication.timeout.ms (
16000
) -
time in milliseconds that Ontoserver will wait for when fetching the upstream feed. This is used as part of detecting and preventing indirect cyclic requests
- atom.syndication.disableChecksums (
false
) -
set to true to disable signature checking of the contents of a requested feed entry
Australian NCTS Syndication
The Australian National Clinical Terminology Service (NCTS) offers a syndication service for retrieving sources and binary indexes for terminology content such as SNOMED CT and LOINC.
Ontoserver is capable of connecting to this service, and most of the configuration for authentication to this service is pre-configured. However, it is necessary to provide your credentials using the variables:
authentication.oauth.endpoint.client_id.0
=NCTS_CLIENT_ID (see below)
authentication.oauth.endpoint.client_secret.0
=NCTS_CLIENT_SECRET (see below)
The NCTS_CLIENT_ID
and NCTS_CLIENT_SECRET
values can be retrieved from the NCTS Portal as follows:
- Log in to your account (organisation or individual) on the NCTS Portal.
- Click on the Clients link in the top-right of the portal. Note: only "responsible users" for organisational accounts will see this link, if you do not see this link you will need to request that a responsible user from your organisation create the client credentials and give you the resulting Client ID and Client Secret.
- Create a credential for Ontoserver (the name and purpose are for information only).
- After doing this, the table should include a Client ID and Client Secret that can be used for the configuration
NCTS_CLIENT_ID
andNCTS_CLIENT_SECRET
respectively) above.