Terminology Syndication Feed Implementation Guide
0.1.0 - ci-build International flag

Terminology Syndication Feed Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Logical Model: Terminology Syndication Entry

Official URL: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry Version: 0.1.0
Draft as of 2026-05-09 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).

Cross-field semantics

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

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. syndication-entry C 0..* Base Terminology Syndication Entry
Instances of this logical model can be the target of a Reference
Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link
... id 1..1 uri permanent globally-unique entry identifier
... title 1..1 string human-readable entry name
... summary 0..1 string short description of the artefact
... published 0..1 dateTime instant the artefact set was first issued
... updated 1..1 dateTime instant this entry last meaningfully changed
... author 0..* BackboneElement party that produced the artefact
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name 1..1 string author display name
.... uri 0..1 uri author URI (typically organisation homepage)
.... email 0..1 string author contact email
... category 1..* syndication-category category classifying this entry
... link 0..* syndication-link link to artefact or related document
... source 0..1 syndication-feed-metadata originating feed metadata
... contentItemIdentifier 1..1 uri version-independent canonical identifier
... contentItemVersion 1..1 uri version-specific canonical identifier
... fhirVersion 0..1 string FHIR version the artefact targets
... fhirProfile 0..* uri FHIR profile(s) the artefact conforms to
... bundleInterpretation 0..1 code publisher's view of a FHIR Bundle (batch | collection)
... packageDependency 0..1 BackboneElement SNOMED CT inter-package dependencies
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... editionDependency 0..* uri versioned SNOMED CT URI of a required edition
.... derivativeDependency 0..* uri versioned SNOMED CT URI of a required derivative
... permission 0..* BackboneElement authorisation tag gating access to this entry
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 string permission tag matched against requester's permissions

doco Documentation for this format

Constraints

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()

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. syndication-entry C 0..* Base Terminology Syndication Entry
Instances of this logical model can be the target of a Reference
Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link
... id 1..1 uri permanent globally-unique entry identifier
... title 1..1 string human-readable entry name
... summary 0..1 string short description of the artefact
... published 0..1 dateTime instant the artefact set was first issued
... updated 1..1 dateTime instant this entry last meaningfully changed
... author 0..* BackboneElement party that produced the artefact
.... name 1..1 string author display name
.... uri 0..1 uri author URI (typically organisation homepage)
.... email 0..1 string author contact email
... category 1..* syndication-category category classifying this entry
... link 0..* syndication-link link to artefact or related document
... source 0..1 syndication-feed-metadata originating feed metadata
... contentItemIdentifier 1..1 uri version-independent canonical identifier
... contentItemVersion 1..1 uri version-specific canonical identifier
... fhirVersion 0..1 string FHIR version the artefact targets
... fhirProfile 0..* uri FHIR profile(s) the artefact conforms to
... bundleInterpretation 0..1 code publisher's view of a FHIR Bundle (batch | collection)
... packageDependency 0..1 BackboneElement SNOMED CT inter-package dependencies
.... editionDependency 0..* uri versioned SNOMED CT URI of a required edition
.... derivativeDependency 0..* uri versioned SNOMED CT URI of a required derivative
... permission 0..* BackboneElement authorisation tag gating access to this entry
.... code 1..1 string permission tag matched against requester's permissions

doco Documentation for this format

Constraints

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()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. syndication-entry C 0..* Base Terminology Syndication Entry
Instances of this logical model can be the target of a Reference
Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link
... id 1..1 uri permanent globally-unique entry identifier
... title 1..1 string human-readable entry name
... summary 0..1 string short description of the artefact
... published 0..1 dateTime instant the artefact set was first issued
... updated 1..1 dateTime instant this entry last meaningfully changed
... author 0..* BackboneElement party that produced the artefact
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name 1..1 string author display name
.... uri 0..1 uri author URI (typically organisation homepage)
.... email 0..1 string author contact email
... category 1..* syndication-category category classifying this entry
... link 0..* syndication-link link to artefact or related document
... source 0..1 syndication-feed-metadata originating feed metadata
... contentItemIdentifier 1..1 uri version-independent canonical identifier
... contentItemVersion 1..1 uri version-specific canonical identifier
... fhirVersion 0..1 string FHIR version the artefact targets
... fhirProfile 0..* uri FHIR profile(s) the artefact conforms to
... bundleInterpretation 0..1 code publisher's view of a FHIR Bundle (batch | collection)
... packageDependency 0..1 BackboneElement SNOMED CT inter-package dependencies
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... editionDependency 0..* uri versioned SNOMED CT URI of a required edition
.... derivativeDependency 0..* uri versioned SNOMED CT URI of a required derivative
... permission 0..* BackboneElement authorisation tag gating access to this entry
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 string permission tag matched against requester's permissions

doco Documentation for this format

Constraints

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()

This structure is derived from Base

Summary

Mandatory: 0 element(8 nested mandatory elements)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. syndication-entry C 0..* Base Terminology Syndication Entry
Instances of this logical model can be the target of a Reference
Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link
... id 1..1 uri permanent globally-unique entry identifier
... title 1..1 string human-readable entry name
... summary 0..1 string short description of the artefact
... published 0..1 dateTime instant the artefact set was first issued
... updated 1..1 dateTime instant this entry last meaningfully changed
... author 0..* BackboneElement party that produced the artefact
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name 1..1 string author display name
.... uri 0..1 uri author URI (typically organisation homepage)
.... email 0..1 string author contact email
... category 1..* syndication-category category classifying this entry
... link 0..* syndication-link link to artefact or related document
... source 0..1 syndication-feed-metadata originating feed metadata
... contentItemIdentifier 1..1 uri version-independent canonical identifier
... contentItemVersion 1..1 uri version-specific canonical identifier
... fhirVersion 0..1 string FHIR version the artefact targets
... fhirProfile 0..* uri FHIR profile(s) the artefact conforms to
... bundleInterpretation 0..1 code publisher's view of a FHIR Bundle (batch | collection)
... packageDependency 0..1 BackboneElement SNOMED CT inter-package dependencies
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... editionDependency 0..* uri versioned SNOMED CT URI of a required edition
.... derivativeDependency 0..* uri versioned SNOMED CT URI of a required derivative
... permission 0..* BackboneElement authorisation tag gating access to this entry
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 string permission tag matched against requester's permissions

doco Documentation for this format

Constraints

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

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. syndication-entry C 0..* Base Terminology Syndication Entry
Instances of this logical model can be the target of a Reference
Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link
... id 1..1 uri permanent globally-unique entry identifier
... title 1..1 string human-readable entry name
... summary 0..1 string short description of the artefact
... published 0..1 dateTime instant the artefact set was first issued
... updated 1..1 dateTime instant this entry last meaningfully changed
... author 0..* BackboneElement party that produced the artefact
.... name 1..1 string author display name
.... uri 0..1 uri author URI (typically organisation homepage)
.... email 0..1 string author contact email
... category 1..* syndication-category category classifying this entry
... link 0..* syndication-link link to artefact or related document
... source 0..1 syndication-feed-metadata originating feed metadata
... contentItemIdentifier 1..1 uri version-independent canonical identifier
... contentItemVersion 1..1 uri version-specific canonical identifier
... fhirVersion 0..1 string FHIR version the artefact targets
... fhirProfile 0..* uri FHIR profile(s) the artefact conforms to
... bundleInterpretation 0..1 code publisher's view of a FHIR Bundle (batch | collection)
... packageDependency 0..1 BackboneElement SNOMED CT inter-package dependencies
.... editionDependency 0..* uri versioned SNOMED CT URI of a required edition
.... derivativeDependency 0..* uri versioned SNOMED CT URI of a required derivative
... permission 0..* BackboneElement authorisation tag gating access to this entry
.... code 1..1 string permission tag matched against requester's permissions

doco Documentation for this format

Constraints

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 View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. syndication-entry C 0..* Base Terminology Syndication Entry
Instances of this logical model can be the target of a Reference
Constraints: entry-retract-no-alternate-link, entry-non-retract-has-link
... id 1..1 uri permanent globally-unique entry identifier
... title 1..1 string human-readable entry name
... summary 0..1 string short description of the artefact
... published 0..1 dateTime instant the artefact set was first issued
... updated 1..1 dateTime instant this entry last meaningfully changed
... author 0..* BackboneElement party that produced the artefact
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name 1..1 string author display name
.... uri 0..1 uri author URI (typically organisation homepage)
.... email 0..1 string author contact email
... category 1..* syndication-category category classifying this entry
... link 0..* syndication-link link to artefact or related document
... source 0..1 syndication-feed-metadata originating feed metadata
... contentItemIdentifier 1..1 uri version-independent canonical identifier
... contentItemVersion 1..1 uri version-specific canonical identifier
... fhirVersion 0..1 string FHIR version the artefact targets
... fhirProfile 0..* uri FHIR profile(s) the artefact conforms to
... bundleInterpretation 0..1 code publisher's view of a FHIR Bundle (batch | collection)
... packageDependency 0..1 BackboneElement SNOMED CT inter-package dependencies
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... editionDependency 0..* uri versioned SNOMED CT URI of a required edition
.... derivativeDependency 0..* uri versioned SNOMED CT URI of a required derivative
... permission 0..* BackboneElement authorisation tag gating access to this entry
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 string permission tag matched against requester's permissions

doco Documentation for this format

Constraints

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()

This structure is derived from Base

Summary

Mandatory: 0 element(8 nested mandatory elements)

 

Other representations of profile: CSV, Excel