<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="DataStandardsWales-DocumentReference" />
  <url value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-DocumentReference" />
  <version value="1.1.0" />
  <name value="DataStandardsWalesDocumentReference" />
  <title value="Data Standards Wales Document Reference" />
  <status value="active" />
  <experimental value="false" />
  <date value="2026-06-30" />
  <publisher value="NHS Wales" />
  <copyright value="2026 NHS Wales" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="DocumentReference" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/DocumentReference" />
  <derivation value="constraint" />
  <differential>
    <element id="DocumentReference.extension">
      <path value="DocumentReference.extension" />
      <min value="1" />
    </element>
    <element id="DocumentReference.extension:digitalStatus">
      <path value="DocumentReference.extension" />
      <sliceName value="digitalStatus" />
      <short value="born-digital-document | scanned-paper-document | UNK" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.wales/StructureDefinition/Extension-DataStandardsWales-DocumentDigitalStatus" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="DocumentReference.extension:digitalStatus.value[x]">
      <path value="DocumentReference.extension.value[x]" />
      <requirements value="Mandatory for use in NHS Wales." />
    </element>
    <element id="DocumentReference.extension:versionR5">
      <path value="DocumentReference.extension" />
      <sliceName value="versionR5" />
      <short value="R5: An explicitly assigned identifer of a variation of the content in the DocumentReference" />
      <definition value="R5: `DocumentReference.version`.  This is a business version identifier, not a resource version id. (Backport from FHIR R5.)" />
      <comment value="While each resource, including the DocumentReference itself, has its own version identifier, this is a formal identifier for the logical version of the DocumentReference as a whole. It would remain constant if the resources were moved to a new server, and all got new individual resource versions, for example." />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.version" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.extension:versionR5.extension">
      <path value="DocumentReference.extension.extension" />
      <max value="0" />
    </element>
    <element id="DocumentReference.extension:versionR5.value[x]">
      <path value="DocumentReference.extension.value[x]" />
      <definition value="An explicitly assigned identifer of a variation of the content in the DocumentReference.  This is a business version identifier, not a resource version id." />
    </element>
    <element id="DocumentReference.extension:attesterR5">
      <path value="DocumentReference.extension" />
      <sliceName value="attesterR5" />
      <short value="R5: Attests to accuracy of the document" />
      <definition value="R5: `DocumentReference.attester`.  A participant who has authenticated the accuracy of the document." />
      <comment value="Only list each attester once." />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.extension:attesterR5.extension:mode">
      <path value="DocumentReference.extension.extension" />
      <sliceName value="mode" />
      <short value="R5: personal | professional | legal | official" />
      <definition value="R5: `DocumentReference.attester.mode`. Indicates the level of authority of the attestation." />
      <comment value="Element `DocumentReference.attester.mode` is part of an existing definition because parent element `DocumentReference.attester` requires a cross-version extension." />
      <requirements value="Indicates the level of authority of the attestation. Element `DocumentReference.attester.mode` is part of an existing definition because parent element `DocumentReference.attester` requires a cross-version extension." />
    </element>
    <element id="DocumentReference.extension:attesterR5.extension:mode.extension">
      <path value="DocumentReference.extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="DocumentReference.extension:attesterR5.extension:time">
      <path value="DocumentReference.extension.extension" />
      <sliceName value="time" />
      <short value="R5: When the document was attested" />
      <definition value="R5: `DocumentReference.attester.time`. Identifies when the information in the document was deemed accurate.  (Things may have changed since then.)" />
      <comment value="Element `DocumentReference.attester.time` is part of an existing definition because parent element `DocumentReference.attester` requires a cross-version extension." />
      <requirements value="Element `DocumentReference.attester.time` is part of an existing definition because parent element `DocumentReference.attester` requires a cross-version extension." />
    </element>
    <element id="DocumentReference.extension:attesterR5.extension:time.extension">
      <path value="DocumentReference.extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="DocumentReference.extension:attesterR5.extension:party">
      <path value="DocumentReference.extension.extension" />
      <sliceName value="party" />
      <definition value="R5: `DocumentReference.attester.party`. Identifies who has taken on the responsibility for accuracy of the document content." />
      <comment value="Element `DocumentReference.attester.party` is part of an existing definition because parent element `DocumentReference.attester` requires a cross-version extension." />
      <requirements value="Element `DocumentReference.attester.party` is part of an existing definition because parent element `DocumentReference.attester` requires a cross-version extension." />
    </element>
    <element id="DocumentReference.extension:attesterR5.extension:party.extension">
      <path value="DocumentReference.extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="DocumentReference.extension:attesterR5.extension:party.value[x]">
      <path value="DocumentReference.extension.extension.value[x]" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Patient" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Practitioner" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-PractitionerRole" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Organization" />
      </type>
    </element>
    <element id="DocumentReference.masterIdentifier">
      <path value="DocumentReference.masterIdentifier" />
      <max value="0" />
    </element>
    <element id="DocumentReference.identifier">
      <path value="DocumentReference.identifier" />
      <slicing>
        <description value="Slices provided for the different types of identifiers supported by the NHS Wales Care Documents Service." />
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.identifier:documentId">
      <path value="DocumentReference.identifier" />
      <sliceName value="documentId" />
      <short value="The version-specific document identifier." />
      <definition value="The version-specific document identifier, centrally generated by the NHS Wales Care Documents Service." />
      <max value="1" />
    </element>
    <element id="DocumentReference.identifier:documentId.system">
      <path value="DocumentReference.identifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.wales/Id/document-identifier" />
      <example>
        <label value="Care Documents Service (fixed for slice)" />
        <valueUri value="https://fhir.nhs.wales/Id/document-identifier" />
      </example>
    </element>
    <element id="DocumentReference.identifier:documentId.value">
      <path value="DocumentReference.identifier.value" />
      <comment value="A UUID version 7 identifier in all cases." />
      <min value="1" />
      <example>
        <label value="Care Documents Service documentId" />
        <valueString value="019efd68-0230-75d4-abab-af73d057f0f8" />
      </example>
    </element>
    <element id="DocumentReference.identifier:supersessionSetId">
      <path value="DocumentReference.identifier" />
      <sliceName value="supersessionSetId" />
      <short value="The version-independent document identifier." />
      <definition value="The version-independent document identifier, centrally generated by the NHS Wales Care Documents Service." />
      <max value="1" />
    </element>
    <element id="DocumentReference.identifier:supersessionSetId.system">
      <path value="DocumentReference.identifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.wales/Id/supersession-set-identifier" />
      <example>
        <label value="Care Documents Service (fixed for slice)" />
        <valueUri value="https://fhir.nhs.wales/Id/supersession-set-identifier" />
      </example>
    </element>
    <element id="DocumentReference.identifier:supersessionSetId.value">
      <path value="DocumentReference.identifier.value" />
      <comment value="A UUID version 7 identifier in all cases." />
      <min value="1" />
      <example>
        <label value="Care Documents Service supersessionSetId" />
        <valueString value="019efd68-0230-75d4-abab-af73d057f0f8" />
      </example>
    </element>
    <element id="DocumentReference.identifier:externalSupersessionSetId">
      <path value="DocumentReference.identifier" />
      <sliceName value="externalSupersessionSetId" />
      <short value="The external (source system) identifier for the document." />
      <definition value="The version-independent document supersession set identifier issued by the source system." />
      <max value="1" />
    </element>
    <element id="DocumentReference.identifier:externalSupersessionSetId.system">
      <path value="DocumentReference.identifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.wales/Id/external-supersession-set-identifier" />
      <example>
        <label value="Care Documents Service (fixed value)" />
        <valueUri value="https://fhir.nhs.wales/Id/external-supersession-set-identifier" />
      </example>
    </element>
    <element id="DocumentReference.identifier:externalSupersessionSetId.value">
      <path value="DocumentReference.identifier.value" />
      <definition value="A composite identifier value identifying both the source system and the unique identifier for the document within that system, independent of the document version." />
      <comment value="The value is constructed using the three digit issuing authority code for the source system, followed by the unique identifier issued by that system.  The two components are tilde (~) separated." />
      <min value="1" />
      <example>
        <label value="Care Documents Service externalSupersessionSetId" />
        <valueString value="231~660756" />
      </example>
    </element>
    <element id="DocumentReference.docStatus">
      <path value="DocumentReference.docStatus" />
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.type">
      <path value="DocumentReference.type" />
      <short value="Kind of document" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://fhir.nhs.wales/ValueSet/DataStandardsWales-DocumentType" />
      </binding>
    </element>
    <element id="DocumentReference.category">
      <path value="DocumentReference.category" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://fhir.nhs.wales/ValueSet/DataStandardsWales-DocumentCategory" />
      </binding>
    </element>
    <element id="DocumentReference.subject">
      <path value="DocumentReference.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Patient" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Group" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Device" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.date">
      <path value="DocumentReference.date" />
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.author">
      <path value="DocumentReference.author" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Practitioner" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-PractitionerRole" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Organization" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Device" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Patient" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-RelatedPerson" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.authenticator">
      <path value="DocumentReference.authenticator" />
      <max value="0" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Practitioner" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-PractitionerRole" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Organization" />
      </type>
      <mustSupport value="false" />
    </element>
    <element id="DocumentReference.custodian">
      <path value="DocumentReference.custodian" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.relatesTo.target">
      <path value="DocumentReference.relatesTo.target" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-DocumentReference" />
      </type>
    </element>
    <element id="DocumentReference.securityLabel">
      <path value="DocumentReference.securityLabel" />
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.content.attachment.language">
      <path value="DocumentReference.content.attachment.language" />
      <short value="Human language of the content" />
      <definition value="The human language of the content. Within NHS Wales, the three character ISO 639-3 code should be used where possible e.g. &quot;eng&quot; for English, &quot;cym&quot; for Welsh." />
      <requirements value="Users need to be able to choose between the languages in a set of attachments. ISO 639-3 is a subset of the BCP 47 standard." />
    </element>
    <element id="DocumentReference.content.format">
      <path value="DocumentReference.content.format" />
      <definition value="An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType. This optional field is not part of the formal metadata standard for document submission in Wales.  It should not be confused with mime type which is stored as content.attachment.contentType." />
    </element>
    <element id="DocumentReference.context.encounter">
      <path value="DocumentReference.context.encounter" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Encounter" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" />
      </type>
    </element>
    <element id="DocumentReference.context.practiceSetting">
      <path value="DocumentReference.context.practiceSetting" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-CareSettingType" />
      </binding>
    </element>
    <element id="DocumentReference.context.sourcePatientInfo">
      <path value="DocumentReference.context.sourcePatientInfo" />
      <max value="0" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Patient" />
      </type>
    </element>
    <element id="DocumentReference.context.related">
      <path value="DocumentReference.context.related" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Practitioner" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-PractitionerRole" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Organization" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Location" />
      </type>
    </element>
  </differential>
</StructureDefinition>