Terminology Syndication Feed Implementation Guide
0.1.0 - ci-build
Terminology Syndication Feed Implementation Guide, published by Australian e-Health Research Centre. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/FHIR/fhir-syndication-ig/ and changes regularly. See the Directory of published versions
| Official URL: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry | Version: 0.1.0 | ||||
| Draft as of 2026-06-29 | Computable Name: SyndicationEntry | ||||
An Atom ⟨entry⟩ (RFC 4287 §4.1.2) representing a single syndicated
artefact set — for example an RF2 release package, a FHIR
CodeSystem, a FHIR ValueSet, or a FHIR NPM package.
An entry combines the Atom 1.0 entry model with three extension namespaces: NCTS ASF (terminology metadata), SNOMED CT (package dependencies, MD5 hashes), and Ontoserver (permissions, validation state).
When an entry's artefact is a FHIR canonical resource (CodeSystem, ValueSet, ConceptMap, NamingSystem, StructureDefinition, …):
contentItemIdentifier SHOULD equal the resource's ⟨url⟩.contentItemVersion SHOULD equal {url}|{version} (the canonical URL,
a pipe, and the version).published SHOULD equal the resource's date.title SHOULD equal the resource's title where present, else name.rights SHOULD reflect the resource's copyright.When the artefact is a SNOMED CT module:
contentItemIdentifier SHOULD be the unversioned SNOMED CT module URI
(http://snomed.info/sct/{moduleId}).contentItemVersion SHOULD be the versioned SNOMED CT URI
(http://snomed.info/sct/{moduleId}/version/{YYYYMMDD}).Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Base | Terminology Syndication Entry Instances of this type can be the target of a Reference Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link |
![]() ![]() |
1..1 | uri | permanent globally-unique entry identifier | |
![]() ![]() |
1..1 | string | human-readable entry name | |
![]() ![]() |
0..1 | string | short description of the artefact | |
![]() ![]() |
0..1 | string | copyright/licence statement | |
![]() ![]() |
0..1 | dateTime | instant the artefact set was first issued | |
![]() ![]() |
1..1 | dateTime | instant this entry last meaningfully changed | |
![]() ![]() |
0..* | BackboneElement | party that produced the artefact | |
![]() ![]() ![]() |
1..1 | string | author display name | |
![]() ![]() ![]() |
0..1 | uri | author URI (typically organisation homepage) | |
![]() ![]() ![]() |
0..1 | string | author contact email | |
![]() ![]() |
1..* | syndication-category | category classifying this entry | |
![]() ![]() |
0..* | syndication-link | link to artefact or related document | |
![]() ![]() |
0..1 | syndication-feed-metadata | originating feed metadata | |
![]() ![]() |
1..1 | uri | version-independent canonical identifier | |
![]() ![]() |
1..1 | uri | version-specific canonical identifier | |
![]() ![]() |
0..1 | string | FHIR version the artefact targets | |
![]() ![]() |
0..* | uri | FHIR profile(s) the artefact conforms to | |
![]() ![]() |
0..1 | code | publisher's view of a FHIR Bundle (batch | collection) | |
![]() ![]() |
0..1 | BackboneElement | SNOMED CT inter-package dependencies | |
![]() ![]() ![]() |
0..* | uri | versioned SNOMED CT URI of a required edition | |
![]() ![]() ![]() |
0..* | uri | versioned SNOMED CT URI of a required derivative | |
![]() ![]() |
0..* | BackboneElement | authorisation tag gating access to this entry | |
![]() ![]() ![]() |
1..1 | string | permission tag matched against requester's permissions | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| entry-non-retract-has-link | error | syndication-entry | Non-retract entries MUST carry at least one link. |
category.where(term.endsWith('_RETRACT')).exists() or link.exists()
|
| entry-retract-no-alternate-link | error | syndication-entry | Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download. |
category.where(term.endsWith('_RETRACT')).empty() or link.where(rel = 'alternate').empty()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Base | Terminology Syndication Entry Instances of this type can be the target of a Reference Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link |
![]() ![]() |
1..1 | uri | permanent globally-unique entry identifier | |
![]() ![]() |
1..1 | string | human-readable entry name | |
![]() ![]() |
0..1 | string | short description of the artefact | |
![]() ![]() |
0..1 | string | copyright/licence statement | |
![]() ![]() |
0..1 | dateTime | instant the artefact set was first issued | |
![]() ![]() |
1..1 | dateTime | instant this entry last meaningfully changed | |
![]() ![]() |
0..* | BackboneElement | party that produced the artefact | |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | author display name | |
![]() ![]() ![]() |
0..1 | uri | author URI (typically organisation homepage) | |
![]() ![]() ![]() |
0..1 | string | author contact email | |
![]() ![]() |
1..* | syndication-category | category classifying this entry | |
![]() ![]() |
0..* | syndication-link | link to artefact or related document | |
![]() ![]() |
0..1 | syndication-feed-metadata | originating feed metadata | |
![]() ![]() |
1..1 | uri | version-independent canonical identifier | |
![]() ![]() |
1..1 | uri | version-specific canonical identifier | |
![]() ![]() |
0..1 | string | FHIR version the artefact targets | |
![]() ![]() |
0..* | uri | FHIR profile(s) the artefact conforms to | |
![]() ![]() |
0..1 | code | publisher's view of a FHIR Bundle (batch | collection) | |
![]() ![]() |
0..1 | BackboneElement | SNOMED CT inter-package dependencies | |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
0..* | uri | versioned SNOMED CT URI of a required edition | |
![]() ![]() ![]() |
0..* | uri | versioned SNOMED CT URI of a required derivative | |
![]() ![]() |
0..* | BackboneElement | authorisation tag gating access to this entry | |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | permission tag matched against requester's permissions | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| entry-non-retract-has-link | error | syndication-entry | Non-retract entries MUST carry at least one link. |
category.where(term.endsWith('_RETRACT')).exists() or link.exists()
|
| entry-retract-no-alternate-link | error | syndication-entry | Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download. |
category.where(term.endsWith('_RETRACT')).empty() or link.where(rel = 'alternate').empty()
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Base | Terminology Syndication Entry Instances of this type can be the target of a Reference Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link |
![]() ![]() |
1..1 | uri | permanent globally-unique entry identifier | |
![]() ![]() |
1..1 | string | human-readable entry name | |
![]() ![]() |
0..1 | string | short description of the artefact | |
![]() ![]() |
0..1 | string | copyright/licence statement | |
![]() ![]() |
0..1 | dateTime | instant the artefact set was first issued | |
![]() ![]() |
1..1 | dateTime | instant this entry last meaningfully changed | |
![]() ![]() |
0..* | BackboneElement | party that produced the artefact | |
![]() ![]() ![]() |
1..1 | string | author display name | |
![]() ![]() ![]() |
0..1 | uri | author URI (typically organisation homepage) | |
![]() ![]() ![]() |
0..1 | string | author contact email | |
![]() ![]() |
1..* | syndication-category | category classifying this entry | |
![]() ![]() |
0..* | syndication-link | link to artefact or related document | |
![]() ![]() |
0..1 | syndication-feed-metadata | originating feed metadata | |
![]() ![]() |
1..1 | uri | version-independent canonical identifier | |
![]() ![]() |
1..1 | uri | version-specific canonical identifier | |
![]() ![]() |
0..1 | string | FHIR version the artefact targets | |
![]() ![]() |
0..* | uri | FHIR profile(s) the artefact conforms to | |
![]() ![]() |
0..1 | code | publisher's view of a FHIR Bundle (batch | collection) | |
![]() ![]() |
0..1 | BackboneElement | SNOMED CT inter-package dependencies | |
![]() ![]() ![]() |
0..* | uri | versioned SNOMED CT URI of a required edition | |
![]() ![]() ![]() |
0..* | uri | versioned SNOMED CT URI of a required derivative | |
![]() ![]() |
0..* | BackboneElement | authorisation tag gating access to this entry | |
![]() ![]() ![]() |
1..1 | string | permission tag matched against requester's permissions | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| entry-non-retract-has-link | error | syndication-entry | Non-retract entries MUST carry at least one link. |
category.where(term.endsWith('_RETRACT')).exists() or link.exists()
|
| entry-retract-no-alternate-link | error | syndication-entry | Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download. |
category.where(term.endsWith('_RETRACT')).empty() or link.where(rel = 'alternate').empty()
|
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Base | Terminology Syndication Entry Instances of this type can be the target of a Reference Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link |
![]() ![]() |
1..1 | uri | permanent globally-unique entry identifier | |
![]() ![]() |
1..1 | string | human-readable entry name | |
![]() ![]() |
0..1 | string | short description of the artefact | |
![]() ![]() |
0..1 | string | copyright/licence statement | |
![]() ![]() |
0..1 | dateTime | instant the artefact set was first issued | |
![]() ![]() |
1..1 | dateTime | instant this entry last meaningfully changed | |
![]() ![]() |
0..* | BackboneElement | party that produced the artefact | |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | author display name | |
![]() ![]() ![]() |
0..1 | uri | author URI (typically organisation homepage) | |
![]() ![]() ![]() |
0..1 | string | author contact email | |
![]() ![]() |
1..* | syndication-category | category classifying this entry | |
![]() ![]() |
0..* | syndication-link | link to artefact or related document | |
![]() ![]() |
0..1 | syndication-feed-metadata | originating feed metadata | |
![]() ![]() |
1..1 | uri | version-independent canonical identifier | |
![]() ![]() |
1..1 | uri | version-specific canonical identifier | |
![]() ![]() |
0..1 | string | FHIR version the artefact targets | |
![]() ![]() |
0..* | uri | FHIR profile(s) the artefact conforms to | |
![]() ![]() |
0..1 | code | publisher's view of a FHIR Bundle (batch | collection) | |
![]() ![]() |
0..1 | BackboneElement | SNOMED CT inter-package dependencies | |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
0..* | uri | versioned SNOMED CT URI of a required edition | |
![]() ![]() ![]() |
0..* | uri | versioned SNOMED CT URI of a required derivative | |
![]() ![]() |
0..* | BackboneElement | authorisation tag gating access to this entry | |
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | permission tag matched against requester's permissions | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| entry-non-retract-has-link | error | syndication-entry | Non-retract entries MUST carry at least one link. |
category.where(term.endsWith('_RETRACT')).exists() or link.exists()
|
| entry-retract-no-alternate-link | error | syndication-entry | Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download. |
category.where(term.endsWith('_RETRACT')).empty() or link.where(rel = 'alternate').empty()
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|