<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ext-category-role" />
  <url value="http://ontariohealth.ca/fhir/StructureDefinition/ext-accdr-category-role" />
  <version value="0.1.0" />
  <name value="ExtCategoryRole" />
  <title value="Category Role" />
  <status value="active" />
  <date value="2024-04-12T14:25:36.8218753+00:00" />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="Basic" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="Category Role" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="http://ontariohealth.ca/fhir/StructureDefinition/ext-accdr-category-role" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <type>
        <code value="Coding" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="The document-role property in LOINC characterizes the general function, responsibility, or capabilities of the author in relation to a document. The role category is a high-level classification that does not get as detailed as specialty or subspecialty so as to avoid potential overlap with the subject matter domain axis. (example Physician, Nurse, Social worker, Device etc).  It is used in the element category:sliceCategory-role in FHIR in the Composition and DocumentReference profiles. This value set contains Role codes supported by acCDR - some from LOINC ontology parts and some OntarioHealth defined codes." />
        <valueSet value="http://ontariohealth.ca/fhir/ValueSet/document-role" />
      </binding>
    </element>
    <element id="Extension.value[x].system">
      <path value="Extension.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.value[x].code">
      <path value="Extension.value[x].code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.value[x].display">
      <path value="Extension.value[x].display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>