syndication-entry
type: StructureDefinition
node role: treeRoot
id:
  v: syndication-entry
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition syndication-entry Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> <a href="StructureDefinition-syndication-entry-definitions.html#syndication-entry" title="An Atom `⟨entry⟩` (RFC 4287 §4.1.2) representing a single syndicated#xA;artefact set — for example an RF2 release package, a FHIR#xA;CodeSystem, a FHIR ValueSet, or a FHIR NPM package.#xA;#xA;An entry combines the Atom 1.0 entry model with three extension#xA;namespaces: NCTS ASF (terminology metadata), SNOMED CT (package#xA;dependencies, MD5 hashes), and Ontoserver (permissions, validation#xA;state).#xA;#xA;## Cross-field semantics#xA;#xA;When an entry's artefact is a FHIR canonical resource (CodeSystem,#xA;ValueSet, ConceptMap, NamingSystem, StructureDefinition, …):#xA;#xA;- `contentItemIdentifier` SHOULD equal the resource's `⟨url⟩`.#xA;- `contentItemVersion` SHOULD equal `{url}|{version}` (the canonical URL,#xA; a pipe, and the version).#xA;- `published` SHOULD equal the resource's `date`.#xA;- `title` SHOULD equal the resource's `title` where present, else `name`.#xA;- `rights` SHOULD reflect the resource's `copyright`.#xA;#xA;When the artefact is a SNOMED CT module:#xA;#xA;- `contentItemIdentifier` SHOULD be the unversioned SNOMED CT module URI#xA; (`http://snomed.info/sct/{moduleId}`).#xA;- `contentItemVersion` SHOULD be the versioned SNOMED CT URI#xA; (`http://snomed.info/sct/{moduleId}/version/{YYYYMMDD}`).">syndication-entry <a style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;; padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;" href="http://hl7.org/fhir/R4/conformance-rules.html#constraints" title="This element has or is affected by constraints ( entry-retract-no-alternate-link, entry-non-retract-has-link )">C 0..* Base Terminology Syndicati…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics
    l: structuredefinition-type-characteristics
  value: Code
    v: can-be-target
url:
  v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry
  l: syndication-entry
version:
  v: 0.1.0
name:
  v: SyndicationEntry
title:
  v: Terminology Syndication Entry
status:
  v: draft
date:
  v: 2026-05-09T20:23:33+00:00
publisher:
  v: Australian e-Health Research Centre
contact:
  name:
    v: Australian e-Health Research Centre
  telecom:
    system:
      v: url
    value:
      v: https://aehrc.csiro.au
contact:
  name:
    v: Michael Lawley
  telecom:
    system:
      v: email
description:
  v: 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}`).
fhir version:
  v: 4.0.1
kind:
  v: logical
abstract:
  v: false
type:
  v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry
  l: syndication-entry
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Base
  l: Base
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
      l: snapshot-base-version
    value: String
      v: 4.0.1
  element:
    id:
      v: syndication-entry
    path:
      v: syndication-entry
    short:
      v: Terminology Syndication Entry
    definition:
      v: 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}`).
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: entry-retract-no-alternate-link
      severity:
        v: error
      human:
        v: Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download.
      expression:
        v: category.where(term.endsWith('_RETRACT')).empty() or link.where(rel = 'alternate').empty()
      source:
        v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry
        l: syndication-entry
    constraint:
      key:
        v: entry-non-retract-has-link
      severity:
        v: error
      human:
        v: Non-retract entries MUST carry at least one link.
      expression:
        v: category.where(term.endsWith('_RETRACT')).exists() or link.exists()
      source:
        v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry
        l: syndication-entry
    is modifier:
      v: false
  element:
    id:
      v: syndication-entry.id
    path:
      v: syndication-entry.id
    short:
      v: permanent globally-unique entry identifier
    definition:
      v: Atom `⟨id⟩` element. Permanent, globally-unique identifier for this entry. Conventionally `urn:uuid:{uuid}`. MUST NOT change when the entry is updated (RFC 4287 §4.2.6).
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: syndication-entry.id
      min:
        v: 1
      max:
        v: 1
    type:
      code:
        v: uri
        l: uri
  element:
    id:
      v: syndication-entry.title
    path:
      v: syndication-entry.title
    short:
      v: human-readable entry name
    definition:
      v: Atom `⟨title⟩` element. Human-readable entry name.
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: syndication-entry.title
      min:
        v: 1
      max:
        v: 1
    type:
      code:
        v: string
        l: string
  element:
    id:
      v: syndication-entry.summary
    path:
      v: syndication-entry.summary
    short:
      v: short description of the artefact
    definition:
      v: Atom `⟨summary⟩` element. Short description of the artefact's content and intended use.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: syndication-entry.summary
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: string
        l: string
  element:
    id:
      v: syndication-entry.rights
    path:
      v: syndication-entry.rights
    short:
      v: copyright/licence statement
    definition:
      v: Atom `⟨rights⟩` element. Copyright/licence statement applicable to the artefact.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: syndication-entry.rights
      min:
        v: 0

v: 1

code:
  v: string
  l: string

id:
  v: syndication-entry.published
path:
  v: syndication-entry.published
short:
  v: instant the artefact set was first issued
definition:
  v: Atom `⟨published⟩` element. The instant the artefact set was first issued by its publisher. For FHIR canonical resources, SHOULD equal the resource's `date`.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: syndication-entry.published
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime

id:
  v: syndication-entry.updated
path:
  v: syndication-entry.updated
short:
  v: instant this entry last meaningfully changed
definition:
  v: Atom `⟨updated⟩` element. The instant this entry's metadata or artefacts last meaningfully changed. For FHIR canonical resources whose content has changed, SHOULD equal the resource's `meta.lastUpdated` or `date`.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: syndication-entry.updated
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime

id:
  v: syndication-entry.author
path:
  v: syndication-entry.author
short:
  v: party that produced the artefact
definition:
  v: Atom `⟨author⟩` element. The party that produced the artefact.
min:
  v: 0
max:
  v: *
base:
  path:
    v: syndication-entry.author
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: syndication-entry.author.id
path:
  v: syndication-entry.author.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: syndication-entry.author.extension
path:
  v: syndication-entry.author.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: syndication-entry.author.modifierExtension
path:
  v: syndication-entry.author.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: syndication-entry.author.name
path:
  v: syndication-entry.author.name
short:
  v: author display name
definition:
  v: author display name
min:
  v: 1
max:
  v: 1
base:
  path:
    v: syndication-entry.author.name
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: syndication-entry.author.uri
path:
  v: syndication-entry.author.uri
short:
  v: author URI (typically organisation homepage)
definition:
  v: author URI (typically organisation homepage)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: syndication-entry.author.uri
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.author.email
path:
  v: syndication-entry.author.email
short:
  v: author contact email
definition:
  v: author contact email
min:
  v: 0
max:
  v: 1
base:
  path:
    v: syndication-entry.author.email
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: syndication-entry.category
path:
  v: syndication-entry.category
short:
  v: category classifying this entry
definition:
  v: Atom `⟨category⟩` element. At least one category MUST be present, and at least one category SHOULD use a registered scheme so consumers can determine the artefact type (see SyndicationContentType).
min:
  v: 1
max:
  v: *
base:
  path:
    v: syndication-entry.category
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-category
    l: syndication-category

id:
  v: syndication-entry.link
path:
  v: syndication-entry.link
short:
  v: link to artefact or related document
definition:
  v: Atom `⟨link⟩` element. For non-retract entries at least one link MUST be present — the primary artefact uses `rel="alternate"`; ancillary documents (release notes, licence) use `rel="related"`. Retract entries MUST NOT carry any `rel="alternate"` link (there is nothing to download); they MAY carry `rel="related"` links — see `entry-retract-no-alternate-link` and `entry-non-retract-has-link`.
min:
  v: 0
max:
  v: *
base:
  path:
    v: syndication-entry.link
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-link
    l: syndication-link

id:
  v: syndication-entry.source
path:
  v: syndication-entry.source
short:
  v: originating feed metadata
definition:
  v: Atom `⟨source⟩` element (RFC 4287 §4.2.11). Identifies the originating feed when this entry has been copied, mirrored, or aggregated from another feed. SHOULD be set whenever the entry has been included in a feed other than its publisher's primary feed.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: syndication-entry.source
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-feed-metadata
    l: syndication-feed-metadata

id:
  v: syndication-entry.contentItemIdentifier
path:
  v: syndication-entry.contentItemIdentifier
short:
  v: version-independent canonical identifier
definition:
  v: `ncts:contentItemIdentifier`. Canonical, version-independent identifier for the artefact. Stable across versions of the same logical artefact. For FHIR canonical resources, equals the resource's `url`. For SNOMED CT modules, the unversioned module URI.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: syndication-entry.contentItemIdentifier
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.contentItemVersion
path:
  v: syndication-entry.contentItemVersion
short:
  v: version-specific canonical identifier
definition:
  v: `ncts:contentItemVersion`. Canonical, version-specific identifier for this exact release. MUST be unique per entry within a feed (two entries with the same `contentItemVersion` are duplicates). For FHIR canonical resources, equals the canonical URL, a pipe, and the version (e.g. `http://example.org/ValueSet/foo|1.2.0`). For SNOMED CT modules, the versioned module URI.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: syndication-entry.contentItemVersion
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.fhirVersion
path:
  v: syndication-entry.fhirVersion
short:
  v: FHIR version the artefact targets
definition:
  v: `ncts:fhirVersion`. The FHIR version the artefact targets, when the artefact is FHIR. Format `{major}.{minor}` or `{major}.{minor}.{patch}` (e.g. `4.0.1`). Maximum length 5. MUST be present when at least one category has a `FHIR_*` term — including the `FHIR_*_RETRACT` retraction terms.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: syndication-entry.fhirVersion
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: syndication-entry.fhirProfile
path:
  v: syndication-entry.fhirProfile
short:
  v: FHIR profile(s) the artefact conforms to
definition:
  v: `ncts:fhirProfile`. Canonical URL(s) of the FHIR StructureDefinition(s) the artefact claims conformance to. Repeats for multiple profiles. Only meaningful when the artefact is FHIR.
min:
  v: 0
max:
  v: *
base:
  path:
    v: syndication-entry.fhirProfile
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.bundleInterpretation
path:
  v: syndication-entry.bundleInterpretation
short:
  v: publisher's view of a FHIR Bundle (batch | collection)
definition:
  v: `ncts:bundleInterpretation`. For artefacts that are FHIR Bundles: a publisher hint describing how the publisher views the Bundle's contents — `batch` (independent operations) or `collection` (a curated set of resources). It is a hint, not a directive: a consumer that retrieves the Bundle remains free to handle it however it sees fit, and absence simply means the publisher offers no hint. SHOULD be absent on retract entries.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: syndication-entry.bundleInterpretation
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code

id:
  v: syndication-entry.packageDependency
path:
  v: syndication-entry.packageDependency
short:
  v: SNOMED CT inter-package dependencies
definition:
  v: `sct:packageDependency`. Inter-package dependencies. Present only when the artefact requires other SNOMED CT packages (i.e. is an extension or derivative — not for an Edition itself). SHOULD be absent on retract entries.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: syndication-entry.packageDependency
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: syndication-entry.packageDependency.id
path:
  v: syndication-entry.packageDependency.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: syndication-entry.packageDependency.extension
path:
  v: syndication-entry.packageDependency.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: syndication-entry.packageDependency.modifierExtension
path:
  v: syndication-entry.packageDependency.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: syndication-entry.packageDependency.editionDependency
path:
  v: syndication-entry.packageDependency.editionDependency
short:
  v: versioned SNOMED CT URI of a required edition
definition:
  v: `sct:editionDependency`. Versioned SNOMED CT URI of an edition this package depends on. Format `http://snomed.info/sct/{moduleId}/version/{YYYYMMDD}`.
min:
  v: 0
max:
  v: *
base:
  path:
    v: syndication-entry.packageDependency.editionDependency
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.packageDependency.derivativeDependency
path:
  v: syndication-entry.packageDependency.derivativeDependency
short:
  v: versioned SNOMED CT URI of a required derivative
definition:
  v: `sct:derivativeDependency`. Versioned SNOMED CT URI of a derivative this package depends on.
min:
  v: 0
max:
  v: *
base:
  path:
    v: syndication-entry.packageDependency.derivativeDependency
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.permission
path:
  v: syndication-entry.permission
short:
  v: authorisation tag gating access to this entry
definition:
  v: `onto:permission`. Authorisation tag(s) that gate access to this entry's artefacts. An empty permission set means no entry-specific authorisation is required beyond feed-level access.
min:
  v: 0
max:
  v: *
base:
  path:
    v: syndication-entry.permission
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: syndication-entry.permission.id
path:
  v: syndication-entry.permission.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: syndication-entry.permission.extension
path:
  v: syndication-entry.permission.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: syndication-entry.permission.modifierExtension
path:
  v: syndication-entry.permission.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: syndication-entry.permission.code
path:
  v: syndication-entry.permission.code
short:
  v: permission tag matched against requester's permissions
definition:
  v: Permission tag. Compared against the set of permissions held by the requesting principal.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: syndication-entry.permission.code
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string

element:
  id:
    v: syndication-entry
  path:
    v: syndication-entry
  short:
    v: Terminology Syndication Entry
  definition:
    v: 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}`).
  constraint:
    key:
      v: entry-retract-no-alternate-link
    severity:
      v: error
    human:
      v: Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download.
    expression:
      v: category.where(term.endsWith('_RETRACT')).empty() or link.where(rel = 'alternate').empty()
    source:
      v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry
      l: syndication-entry
  constraint:
    key:
      v: entry-non-retract-has-link
    severity:
      v: error
    human:
      v: Non-retract entries MUST carry at least one link.
    expression:
      v: category.where(term.endsWith('_RETRACT')).exists() or link.exists()
    source:
      v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry
      l: syndication-entry
element:
  id:
    v: syndication-entry.id
  path:
    v: syndication-entry.id
  short:
    v: permanent globally-unique entry identifier
  definition:
    v: Atom `⟨id⟩` element. Permanent, globally-unique identifier for this entry. Conventionally `urn:uuid:{uuid}`. MUST NOT change when the entry is updated (RFC 4287 §4.2.6).
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: uri
      l: uri
element:
  id:
    v: syndication-entry.title
  path:
    v: syndication-entry.title
  short:
    v: human-readable entry name
  definition:
    v: Atom `⟨title⟩` element. Human-readable entry name.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: syndication-entry.summary
  path:
    v: syndication-entry.summary
  short:
    v: short description of the artefact
  definition:
    v: Atom `⟨summary⟩` element. Short description of the artefact's content and intended use.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: syndication-entry.rights
  path:
    v: syndication-entry.rights
  short:
    v: copyright/licence statement
  definition:
    v: Atom `⟨rights⟩` element. Copyright/licence statement applicable to the artefact.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: syndication-entry.published
  path:
    v: syndication-entry.published
  short:
    v: instant the artefact set was first issued
  definition:
    v: Atom `⟨published⟩` element. The instant the artefact set was first issued by its publisher. For FHIR canonical resources, SHOULD equal the resource's `date`.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: dateTime
      l: dateTime
element:
  id:
    v: syndication-entry.updated
  path:
    v: syndication-entry.updated
  short:
    v: instant this entry last meaningfully changed
  definition:
    v: Atom `⟨updated⟩` element. The instant this entry's metadata or artefacts last meaningfully changed. For FHIR canonical resources whose content has changed, SHOULD equal the resource's `meta.lastUpdated` or `date`.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: dateTime
      l: dateTime
element:
  id:
    v: syndication-entry.author
  path:
    v: syndication-entry.author
  short:
    v: party that produced the artefact
  definition:
    v: Atom `⟨author⟩` element. The party that produced the artefact.
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: BackboneElement
      l: BackboneElement
element:
  id:
    v: syndication-entry.author.name
  path:
    v: syndication-entry.author.name
  short:
    v: author display name
  definition:
    v: author display name
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: syndication-entry.author.uri
  path:
    v: syndication-entry.author.uri
  short:
    v: author URI (typically organisation homepage)
  definition:
    v: author URI (typically organisation homepage)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: uri
      l: uri
element:
  id:
    v: syndication-entry.author.email
  path:
    v: syndication-entry.author.email
  short:
    v: author contact email
  definition:
    v: author contact email
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
      l: string

id:
  v: syndication-entry.category
path:
  v: syndication-entry.category
short:
  v: category classifying this entry
definition:
  v: Atom `⟨category⟩` element. At least one category MUST be present, and at least one category SHOULD use a registered scheme so consumers can determine the artefact type (see SyndicationContentType).
min:
  v: 1
max:
  v: *
type:
  code:
    v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-category
    l: syndication-category

id:
  v: syndication-entry.link
path:
  v: syndication-entry.link
short:
  v: link to artefact or related document
definition:
  v: Atom `⟨link⟩` element. For non-retract entries at least one link MUST be present — the primary artefact uses `rel="alternate"`; ancillary documents (release notes, licence) use `rel="related"`. Retract entries MUST NOT carry any `rel="alternate"` link (there is nothing to download); they MAY carry `rel="related"` links — see `entry-retract-no-alternate-link` and `entry-non-retract-has-link`.
min:
  v: 0
max:
  v: *
type:
  code:
    v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-link
    l: syndication-link

id:
  v: syndication-entry.source
path:
  v: syndication-entry.source
short:
  v: originating feed metadata
definition:
  v: Atom `⟨source⟩` element (RFC 4287 §4.2.11). Identifies the originating feed when this entry has been copied, mirrored, or aggregated from another feed. SHOULD be set whenever the entry has been included in a feed other than its publisher's primary feed.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-feed-metadata
    l: syndication-feed-metadata

id:
  v: syndication-entry.contentItemIdentifier
path:
  v: syndication-entry.contentItemIdentifier
short:
  v: version-independent canonical identifier
definition:
  v: `ncts:contentItemIdentifier`. Canonical, version-independent identifier for the artefact. Stable across versions of the same logical artefact. For FHIR canonical resources, equals the resource's `url`. For SNOMED CT modules, the unversioned module URI.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.contentItemVersion
path:
  v: syndication-entry.contentItemVersion
short:
  v: version-specific canonical identifier
definition:
  v: `ncts:contentItemVersion`. Canonical, version-specific identifier for this exact release. MUST be unique per entry within a feed (two entries with the same `contentItemVersion` are duplicates). For FHIR canonical resources, equals the canonical URL, a pipe, and the version (e.g. `http://example.org/ValueSet/foo|1.2.0`). For SNOMED CT modules, the versioned module URI.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.fhirVersion
path:
  v: syndication-entry.fhirVersion
short:
  v: FHIR version the artefact targets
definition:
  v: `ncts:fhirVersion`. The FHIR version the artefact targets, when the artefact is FHIR. Format `{major}.{minor}` or `{major}.{minor}.{patch}` (e.g. `4.0.1`). Maximum length 5. MUST be present when at least one category has a `FHIR_*` term — including the `FHIR_*_RETRACT` retraction terms.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
    l: string

id:
  v: syndication-entry.fhirProfile
path:
  v: syndication-entry.fhirProfile
short:
  v: FHIR profile(s) the artefact conforms to
definition:
  v: `ncts:fhirProfile`. Canonical URL(s) of the FHIR StructureDefinition(s) the artefact claims conformance to. Repeats for multiple profiles. Only meaningful when the artefact is FHIR.
min:
  v: 0
max:
  v: *
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.bundleInterpretation
path:
  v: syndication-entry.bundleInterpretation
short:
  v: publisher's view of a FHIR Bundle (batch | collection)
definition:
  v: `ncts:bundleInterpretation`. For artefacts that are FHIR Bundles: a publisher hint describing how the publisher views the Bundle's contents — `batch` (independent operations) or `collection` (a curated set of resources). It is a hint, not a directive: a consumer that retrieves the Bundle remains free to handle it however it sees fit, and absence simply means the publisher offers no hint. SHOULD be absent on retract entries.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: code
    l: code

id:
  v: syndication-entry.packageDependency
path:
  v: syndication-entry.packageDependency
short:
  v: SNOMED CT inter-package dependencies
definition:
  v: `sct:packageDependency`. Inter-package dependencies. Present only when the artefact requires other SNOMED CT packages (i.e. is an extension or derivative — not for an Edition itself). SHOULD be absent on retract entries.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement

id:
  v: syndication-entry.packageDependency.editionDependency
path:
  v: syndication-entry.packageDependency.editionDependency
short:
  v: versioned SNOMED CT URI of a required edition
definition:
  v: `sct:editionDependency`. Versioned SNOMED CT URI of an edition this package depends on. Format `http://snomed.info/sct/{moduleId}/version/{YYYYMMDD}`.
min:
  v: 0
max:
  v: *
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.packageDependency.derivativeDependency
path:
  v: syndication-entry.packageDependency.derivativeDependency
short:
  v: versioned SNOMED CT URI of a required derivative
definition:
  v: `sct:derivativeDependency`. Versioned SNOMED CT URI of a derivative this package depends on.
min:
  v: 0
max:
  v: *
type:
  code:
    v: uri
    l: uri

id:
  v: syndication-entry.permission
path:
  v: syndication-entry.permission
short:
  v: authorisation tag gating access to this entry
definition:
  v: `onto:permission`. Authorisation tag(s) that gate access to this entry's artefacts. An empty permission set means no entry-specific authorisation is required beyond feed-level access.
min:
  v: 0
max:
  v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement

id:
  v: syndication-entry.permission.code
path:
  v: syndication-entry.permission.code
short:
  v: permission tag matched against requester's permissions
definition:
  v: Permission tag. Compared against the set of permissions held by the requesting principal.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string
    l: string