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: SyndicationEntry - XML Profile

Draft as of 2026-05-09

XML representation of the syndication-entry logical model.

Raw xml | Download


<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="syndication-entry"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureDefinition syndication-entry</b></p><table border="0" cellpadding="0" cellspacing="0" style="border: 0px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top;"><tr style="border: 1px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top"><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="The logical name of the element">Name</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Information about the use of the element">Flags</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Minimum and Maximum # of times the element can appear in the instance">Card.</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px; width: 100px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Reference to the type of the element">Type</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Additional information about the element">Description &amp; Constraints</a><span style="float: right"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Legend for this format"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goXBCwdPqAP0wAAAldJREFUOMuNk0tIlFEYhp9z/vE2jHkhxXA0zJCMitrUQlq4lnSltEqCFhFG2MJFhIvIFpkEWaTQqjaWZRkp0g26URZkTpbaaOJkDqk10szoODP//7XIMUe0elcfnPd9zsfLOYplGrpRwZaqTtw3K7PtGem7Q6FoidbGgqHVy/HRb669R+56zx7eRV1L31JGxYbBtjKK93cxeqfyQHbehkZbUkK20goELEuIzEd+dHS+qz/Y8PTSif0FnGkbiwcAjHaU1+QWOptFiyCLp/LnKptpqIuXHx6rbR26kJcBX3yLgBfnd7CxwJmflpP2wUg0HIAoUUpZBmKzELGWcN8nAr6Gpu7tLU/CkwAaoKTWRSQyt89Q8w6J+oVQkKnBoblH7V0PPvUOvDYXfopE/SJmALsxnVm6LbkotrUtNowMeIrVrBcBpaMmdS0j9df7abpSuy7HWehwJdt1lhVwi/J58U5beXGAF6c3UXLycw1wdFklArBn87xdh0ZsZtArghBdAA3+OEDVubG4UEzP6x1FOWneHh2VDAHBAt80IbdXDcesNoCvs3E5AFyNSU5nbrDPZpcUEQQTFZiEVx+51fxMhhyJEAgvlriadIJZZksRuwBYMOPBbO3hePVVqgEJhFeUuFLhIPkRP6BQLIBrmMenujm/3g4zc398awIe90Zb5A1vREALqneMcYgP/xVQWlG+Ncu5vgwwlaUNx+3799rfe96u9K0JSDXcOzOTJg4B6IgmXfsygc7/Bvg9g9E58/cDVmGIBOP/zT8Bz1zqWqpbXIsd0O9hajXfL6u4BaOS6SeWAAAAAElFTkSuQmCC" alt="doco" style="background-color: inherit"/></a></span></th></tr><tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck1.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_element.gif" alt="." style="background-color: white; background-color: inherit" title="Element" class="hierarchy"/> <a href="StructureDefinition-syndication-entry-definitions.html#syndication-entry" title="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}`).">syndication-entry</a><a name="syndication-entry"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><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</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><span style="opacity: 0.5">0</span><span style="opacity: 0.5">..</span><span style="opacity: 0.5">*</span></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://build.fhir.org/types.html#Base">Base</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Terminology Syndication Entry<br/><span style="font-weight:bold">Instances of this logical model can be the target of a Reference</span><br class="constraint"/><span title="null" class="constraint">Constraints: </span><span style="font-weight:bold" title="Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download." class="constraint">entry-retract-no-alternate-link</span><span title="null" class="constraint">, </span><span style="font-weight:bold" title="Non-retract entries MUST carry at least one link." class="constraint">entry-non-retract-has-link</span></td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck10.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-syndication-entry-definitions.html#syndication-entry.id" title="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.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}`).">syndication-entry</a><a name="syndication-entry"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><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</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><span style="opacity: 0.5">0</span><span style="opacity: 0.5">..</span><span style="opacity: 0.5">*</span></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://build.fhir.org/types.html#Base">Base</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Terminology Syndication Entry<br/><span style="font-weight:bold">Instances of this logical model can be the target of a Reference</span><br class="constraint"/><span title="null" class="constraint">Constraints: </span><span style="font-weight:bold" title="Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download." class="constraint">entry-retract-no-alternate-link</span><span title="null" class="constraint">, </span><span style="font-weight:bold" title="Non-retract entries MUST carry at least one link." class="constraint">entry-non-retract-has-link</span></td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck10.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-syndication-entry-definitions.html#syndication-entry.id" title="Atom `⟨id⟩` element. Permanent, globally-unique identifier for this entry. Conventionally `urn:uuid:{uuid}`. MUST NOT change when the entry is updated (RFC 4287 
  </text>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics">
    <valueCode value="can-be-target"/>
  </extension>
  <url
       value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry"/>
  <version value="0.1.0"/>
  <name value="SyndicationEntry"/>
  <title value="Terminology Syndication Entry"/>
  <status value="draft"/>
  <date value="2026-05-09T20:23:33+00:00"/>
  <publisher value="Australian e-Health Research Centre"/>
  <contact>
    <name value="Australian e-Health Research Centre"/>
    <telecom>
      <system value="url"/>
      <value value="https://aehrc.csiro.au"/>
    </telecom>
  </contact>
  <contact>
    <name value="Michael Lawley"/>
    <telecom>
      <system value="email"/>
      <value value="michael.lawley@csiro.au"/>
    </telecom>
  </contact>
  <description
               value="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}`)."/>
  <fhirVersion value="4.0.1"/>
  <kind value="logical"/>
  <abstract value="false"/>
  <type
        value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry"/>
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Base"/>
  <derivation value="specialization"/>
  <snapshot>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version">
      <valueString value="4.0.1"/>
    </extension>
    <element id="syndication-entry">
      <path value="syndication-entry"/>
      <short value="Terminology Syndication Entry"/>
      <definition
                  value="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 value="0"/>
      <max value="*"/>
      <base>
        <path value="Base"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <constraint>
        <key value="entry-retract-no-alternate-link"/>
        <severity value="error"/>
        <human
               value="Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download."/>
        <expression
                    value="category.where(term.endsWith('_RETRACT')).empty() or link.where(rel = 'alternate').empty()"/>
        <source
                value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry"/>
      </constraint>
      <constraint>
        <key value="entry-non-retract-has-link"/>
        <severity value="error"/>
        <human value="Non-retract entries MUST carry at least one link."/>
        <expression
                    value="category.where(term.endsWith('_RETRACT')).exists() or link.exists()"/>
        <source
                value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry"/>
      </constraint>
      <isModifier value="false"/>
    </element>
    <element id="syndication-entry.id">
      <path value="syndication-entry.id"/>
      <short value="permanent globally-unique entry identifier"/>
      <definition
                  value="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 value="1"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.id"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.title">
      <path value="syndication-entry.title"/>
      <short value="human-readable entry name"/>
      <definition value="Atom `⟨title⟩` element. Human-readable entry name."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.title"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.summary">
      <path value="syndication-entry.summary"/>
      <short value="short description of the artefact"/>
      <definition
                  value="Atom `⟨summary⟩` element. Short description of the artefact's content and intended use."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.summary"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.rights">
      <path value="syndication-entry.rights"/>
      <short value="copyright/licence statement"/>
      <definition
                  value="Atom `⟨rights⟩` element. Copyright/licence statement applicable to the artefact."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.rights"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.published">
      <path value="syndication-entry.published"/>
      <short value="instant the artefact set was first issued"/>
      <definition
                  value="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 value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.published"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="dateTime"/>
      </type>
    </element>
    <element id="syndication-entry.updated">
      <path value="syndication-entry.updated"/>
      <short value="instant this entry last meaningfully changed"/>
      <definition
                  value="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 value="1"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.updated"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="dateTime"/>
      </type>
    </element>
    <element id="syndication-entry.author">
      <path value="syndication-entry.author"/>
      <short value="party that produced the artefact"/>
      <definition
                  value="Atom `⟨author⟩` element. The party that produced the artefact."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="syndication-entry.author"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
    </element>
    <element id="syndication-entry.author.id">
      <path value="syndication-entry.author.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition
                  value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension
                   url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="syndication-entry.author.extension">
      <path value="syndication-entry.author.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition
                  value="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
               value="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 value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath
               value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="syndication-entry.author.modifierExtension">
      <path value="syndication-entry.author.modifierExtension"/>
      <short value="Extensions that cannot be ignored even if unrecognized"/>
      <definition
                  value="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
               value="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
                    value="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 value="extensions"/>
      <alias value="user content"/>
      <alias value="modifiers"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="BackboneElement.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath
               value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="true"/>
      <isModifierReason
                        value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="syndication-entry.author.name">
      <path value="syndication-entry.author.name"/>
      <short value="author display name"/>
      <definition value="author display name"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.author.name"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.author.uri">
      <path value="syndication-entry.author.uri"/>
      <short value="author URI (typically organisation homepage)"/>
      <definition value="author URI (typically organisation homepage)"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.author.uri"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.author.email">
      <path value="syndication-entry.author.email"/>
      <short value="author contact email"/>
      <definition value="author contact email"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.author.email"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.category">
      <path value="syndication-entry.category"/>
      <short value="category classifying this entry"/>
      <definition
                  value="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 value="1"/>
      <max value="*"/>
      <base>
        <path value="syndication-entry.category"/>
        <min value="1"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-category"/>
      </type>
    </element>
    <element id="syndication-entry.link">
      <path value="syndication-entry.link"/>
      <short value="link to artefact or related document"/>
      <definition
                  value="Atom `⟨link⟩` element. For non-retract entries at least one link MUST be present — the primary artefact uses `rel=&quot;alternate&quot;`; ancillary documents (release notes, licence) use `rel=&quot;related&quot;`. Retract entries MUST NOT carry any `rel=&quot;alternate&quot;` link (there is nothing to download); they MAY carry `rel=&quot;related&quot;` links — see `entry-retract-no-alternate-link` and `entry-non-retract-has-link`."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="syndication-entry.link"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-link"/>
      </type>
    </element>
    <element id="syndication-entry.source">
      <path value="syndication-entry.source"/>
      <short value="originating feed metadata"/>
      <definition
                  value="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 value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.source"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-feed-metadata"/>
      </type>
    </element>
    <element id="syndication-entry.contentItemIdentifier">
      <path value="syndication-entry.contentItemIdentifier"/>
      <short value="version-independent canonical identifier"/>
      <definition
                  value="`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 value="1"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.contentItemIdentifier"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.contentItemVersion">
      <path value="syndication-entry.contentItemVersion"/>
      <short value="version-specific canonical identifier"/>
      <definition
                  value="`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 value="1"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.contentItemVersion"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.fhirVersion">
      <path value="syndication-entry.fhirVersion"/>
      <short value="FHIR version the artefact targets"/>
      <definition
                  value="`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 value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.fhirVersion"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.fhirProfile">
      <path value="syndication-entry.fhirProfile"/>
      <short value="FHIR profile(s) the artefact conforms to"/>
      <definition
                  value="`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 value="0"/>
      <max value="*"/>
      <base>
        <path value="syndication-entry.fhirProfile"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.bundleInterpretation">
      <path value="syndication-entry.bundleInterpretation"/>
      <short value="publisher's view of a FHIR Bundle (batch | collection)"/>
      <definition
                  value="`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 value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.bundleInterpretation"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
    </element>
    <element id="syndication-entry.packageDependency">
      <path value="syndication-entry.packageDependency"/>
      <short value="SNOMED CT inter-package dependencies"/>
      <definition
                  value="`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 value="0"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.packageDependency"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
    </element>
    <element id="syndication-entry.packageDependency.id">
      <path value="syndication-entry.packageDependency.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition
                  value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension
                   url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="syndication-entry.packageDependency.extension">
      <path value="syndication-entry.packageDependency.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition
                  value="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
               value="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 value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath
               value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="syndication-entry.packageDependency.modifierExtension">
      <path value="syndication-entry.packageDependency.modifierExtension"/>
      <short value="Extensions that cannot be ignored even if unrecognized"/>
      <definition
                  value="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
               value="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
                    value="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 value="extensions"/>
      <alias value="user content"/>
      <alias value="modifiers"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="BackboneElement.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath
               value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="true"/>
      <isModifierReason
                        value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="syndication-entry.packageDependency.editionDependency">
      <path value="syndication-entry.packageDependency.editionDependency"/>
      <short value="versioned SNOMED CT URI of a required edition"/>
      <definition
                  value="`sct:editionDependency`. Versioned SNOMED CT URI of an edition this package depends on. Format `http://snomed.info/sct/{moduleId}/version/{YYYYMMDD}`."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="syndication-entry.packageDependency.editionDependency"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.packageDependency.derivativeDependency">
      <path value="syndication-entry.packageDependency.derivativeDependency"/>
      <short value="versioned SNOMED CT URI of a required derivative"/>
      <definition
                  value="`sct:derivativeDependency`. Versioned SNOMED CT URI of a derivative this package depends on."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path
              value="syndication-entry.packageDependency.derivativeDependency"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.permission">
      <path value="syndication-entry.permission"/>
      <short value="authorisation tag gating access to this entry"/>
      <definition
                  value="`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 value="0"/>
      <max value="*"/>
      <base>
        <path value="syndication-entry.permission"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="BackboneElement"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
    </element>
    <element id="syndication-entry.permission.id">
      <path value="syndication-entry.permission.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition
                  value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <extension
                   url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string"/>
        </extension>
        <code value="http://hl7.org/fhirpath/System.String"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="syndication-entry.permission.extension">
      <path value="syndication-entry.permission.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition
                  value="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
               value="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 value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath
               value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="syndication-entry.permission.modifierExtension">
      <path value="syndication-entry.permission.modifierExtension"/>
      <short value="Extensions that cannot be ignored even if unrecognized"/>
      <definition
                  value="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
               value="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
                    value="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 value="extensions"/>
      <alias value="user content"/>
      <alias value="modifiers"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="BackboneElement.modifierExtension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression
                    value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <constraint>
        <key value="ext-1"/>
        <severity value="error"/>
        <human value="Must have either extensions or value[x], not both"/>
        <expression value="extension.exists() != value.exists()"/>
        <xpath
               value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/>
      </constraint>
      <isModifier value="true"/>
      <isModifierReason
                        value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value="N/A"/>
      </mapping>
    </element>
    <element id="syndication-entry.permission.code">
      <path value="syndication-entry.permission.code"/>
      <short value="permission tag matched against requester's permissions"/>
      <definition
                  value="Permission tag. Compared against the set of permissions held by the requesting principal."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="syndication-entry.permission.code"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
  </snapshot>
  <differential>
    <element id="syndication-entry">
      <path value="syndication-entry"/>
      <short value="Terminology Syndication Entry"/>
      <definition
                  value="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 value="entry-retract-no-alternate-link"/>
        <severity value="error"/>
        <human
               value="Retract entries (any category term ending '_RETRACT') MUST NOT carry a link with rel='alternate' — there is nothing to download."/>
        <expression
                    value="category.where(term.endsWith('_RETRACT')).empty() or link.where(rel = 'alternate').empty()"/>
        <source
                value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry"/>
      </constraint>
      <constraint>
        <key value="entry-non-retract-has-link"/>
        <severity value="error"/>
        <human value="Non-retract entries MUST carry at least one link."/>
        <expression
                    value="category.where(term.endsWith('_RETRACT')).exists() or link.exists()"/>
        <source
                value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-entry"/>
      </constraint>
    </element>
    <element id="syndication-entry.id">
      <path value="syndication-entry.id"/>
      <short value="permanent globally-unique entry identifier"/>
      <definition
                  value="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 value="1"/>
      <max value="1"/>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.title">
      <path value="syndication-entry.title"/>
      <short value="human-readable entry name"/>
      <definition value="Atom `⟨title⟩` element. Human-readable entry name."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.summary">
      <path value="syndication-entry.summary"/>
      <short value="short description of the artefact"/>
      <definition
                  value="Atom `⟨summary⟩` element. Short description of the artefact's content and intended use."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.rights">
      <path value="syndication-entry.rights"/>
      <short value="copyright/licence statement"/>
      <definition
                  value="Atom `⟨rights⟩` element. Copyright/licence statement applicable to the artefact."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.published">
      <path value="syndication-entry.published"/>
      <short value="instant the artefact set was first issued"/>
      <definition
                  value="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 value="0"/>
      <max value="1"/>
      <type>
        <code value="dateTime"/>
      </type>
    </element>
    <element id="syndication-entry.updated">
      <path value="syndication-entry.updated"/>
      <short value="instant this entry last meaningfully changed"/>
      <definition
                  value="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 value="1"/>
      <max value="1"/>
      <type>
        <code value="dateTime"/>
      </type>
    </element>
    <element id="syndication-entry.author">
      <path value="syndication-entry.author"/>
      <short value="party that produced the artefact"/>
      <definition
                  value="Atom `⟨author⟩` element. The party that produced the artefact."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="BackboneElement"/>
      </type>
    </element>
    <element id="syndication-entry.author.name">
      <path value="syndication-entry.author.name"/>
      <short value="author display name"/>
      <definition value="author display name"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.author.uri">
      <path value="syndication-entry.author.uri"/>
      <short value="author URI (typically organisation homepage)"/>
      <definition value="author URI (typically organisation homepage)"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.author.email">
      <path value="syndication-entry.author.email"/>
      <short value="author contact email"/>
      <definition value="author contact email"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.category">
      <path value="syndication-entry.category"/>
      <short value="category classifying this entry"/>
      <definition
                  value="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 value="1"/>
      <max value="*"/>
      <type>
        <code
              value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-category"/>
      </type>
    </element>
    <element id="syndication-entry.link">
      <path value="syndication-entry.link"/>
      <short value="link to artefact or related document"/>
      <definition
                  value="Atom `⟨link⟩` element. For non-retract entries at least one link MUST be present — the primary artefact uses `rel=&quot;alternate&quot;`; ancillary documents (release notes, licence) use `rel=&quot;related&quot;`. Retract entries MUST NOT carry any `rel=&quot;alternate&quot;` link (there is nothing to download); they MAY carry `rel=&quot;related&quot;` links — see `entry-retract-no-alternate-link` and `entry-non-retract-has-link`."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-link"/>
      </type>
    </element>
    <element id="syndication-entry.source">
      <path value="syndication-entry.source"/>
      <short value="originating feed metadata"/>
      <definition
                  value="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 value="0"/>
      <max value="1"/>
      <type>
        <code
              value="https://ontoserver.csiro.au/syndication/StructureDefinition/syndication-feed-metadata"/>
      </type>
    </element>
    <element id="syndication-entry.contentItemIdentifier">
      <path value="syndication-entry.contentItemIdentifier"/>
      <short value="version-independent canonical identifier"/>
      <definition
                  value="`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 value="1"/>
      <max value="1"/>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.contentItemVersion">
      <path value="syndication-entry.contentItemVersion"/>
      <short value="version-specific canonical identifier"/>
      <definition
                  value="`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 value="1"/>
      <max value="1"/>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.fhirVersion">
      <path value="syndication-entry.fhirVersion"/>
      <short value="FHIR version the artefact targets"/>
      <definition
                  value="`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 value="0"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="syndication-entry.fhirProfile">
      <path value="syndication-entry.fhirProfile"/>
      <short value="FHIR profile(s) the artefact conforms to"/>
      <definition
                  value="`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 value="0"/>
      <max value="*"/>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.bundleInterpretation">
      <path value="syndication-entry.bundleInterpretation"/>
      <short value="publisher's view of a FHIR Bundle (batch | collection)"/>
      <definition
                  value="`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 value="0"/>
      <max value="1"/>
      <type>
        <code value="code"/>
      </type>
    </element>
    <element id="syndication-entry.packageDependency">
      <path value="syndication-entry.packageDependency"/>
      <short value="SNOMED CT inter-package dependencies"/>
      <definition
                  value="`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 value="0"/>
      <max value="1"/>
      <type>
        <code value="BackboneElement"/>
      </type>
    </element>
    <element id="syndication-entry.packageDependency.editionDependency">
      <path value="syndication-entry.packageDependency.editionDependency"/>
      <short value="versioned SNOMED CT URI of a required edition"/>
      <definition
                  value="`sct:editionDependency`. Versioned SNOMED CT URI of an edition this package depends on. Format `http://snomed.info/sct/{moduleId}/version/{YYYYMMDD}`."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.packageDependency.derivativeDependency">
      <path value="syndication-entry.packageDependency.derivativeDependency"/>
      <short value="versioned SNOMED CT URI of a required derivative"/>
      <definition
                  value="`sct:derivativeDependency`. Versioned SNOMED CT URI of a derivative this package depends on."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code value="uri"/>
      </type>
    </element>
    <element id="syndication-entry.permission">
      <path value="syndication-entry.permission"/>
      <short value="authorisation tag gating access to this entry"/>
      <definition
                  value="`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 value="0"/>
      <max value="*"/>
      <type>
        <code value="BackboneElement"/>
      </type>
    </element>
    <element id="syndication-entry.permission.code">
      <path value="syndication-entry.permission.code"/>
      <short value="permission tag matched against requester's permissions"/>
      <definition
                  value="Permission tag. Compared against the set of permissions held by the requesting principal."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
  </differential>
</StructureDefinition>