<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://example.org/fhir/StructureDefinition/CompositionDiagnositco" />
  <name value="CompositionDiagnositco" />
  <status value="draft" />
  <fhirVersion value="3.0.2" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Composition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Composition" />
  <derivation value="constraint" />
  <differential>
    <element id="Composition">
      <path value="Composition" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier">
      <path value="Composition.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier.use">
      <path value="Composition.identifier.use" />
      <max value="0" />
      <mustSupport value="false" />
    </element>
    <element id="Composition.identifier.type">
      <path value="Composition.identifier.type" />
      <max value="0" />
    </element>
    <element id="Composition.identifier.system">
      <path value="Composition.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier.value">
      <path value="Composition.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier.period">
      <path value="Composition.identifier.period" />
      <max value="0" />
    </element>
    <element id="Composition.identifier.assigner">
      <path value="Composition.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Composition.type.coding.version">
      <path value="Composition.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Composition.type.coding.display">
      <path value="Composition.type.coding.display" />
      <type>
        <code value="string" />
        <profile value="final" />
      </type>
    </element>
    <element id="Composition.type.coding.userSelected">
      <path value="Composition.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Composition.class">
      <path value="Composition.class" />
      <max value="0" />
    </element>
    <element id="Composition.subject">
      <path value="Composition.subject" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.subject.reference">
      <path value="Composition.subject.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.subject.identifier">
      <path value="Composition.subject.identifier" />
      <max value="0" />
    </element>
    <element id="Composition.subject.display">
      <path value="Composition.subject.display" />
      <mustSupport value="false" />
    </element>
    <element id="Composition.encounter">
      <path value="Composition.encounter" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.encounter.reference">
      <path value="Composition.encounter.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.encounter.identifier">
      <path value="Composition.encounter.identifier" />
      <max value="0" />
    </element>
    <element id="Composition.encounter.display">
      <path value="Composition.encounter.display" />
      <max value="0" />
    </element>
    <element id="Composition.author">
      <path value="Composition.author" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.author.reference">
      <path value="Composition.author.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.author.identifier">
      <path value="Composition.author.identifier" />
      <max value="0" />
    </element>
    <element id="Composition.author.display">
      <path value="Composition.author.display" />
      <mustSupport value="false" />
    </element>
    <element id="Composition.attester">
      <path value="Composition.attester" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.attester.mode">
      <path value="Composition.attester.mode" />
      <max value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Composition.attester.time">
      <path value="Composition.attester.time" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.attester.party">
      <path value="Composition.attester.party" />
      <min value="1" />
    </element>
    <element id="Composition.attester.party.reference">
      <path value="Composition.attester.party.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.attester.party.identifier">
      <path value="Composition.attester.party.identifier" />
      <max value="0" />
    </element>
    <element id="Composition.attester.party.display">
      <path value="Composition.attester.party.display" />
      <mustSupport value="false" />
    </element>
    <element id="Composition.custodian">
      <path value="Composition.custodian" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.custodian.reference">
      <path value="Composition.custodian.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.custodian.identifier">
      <path value="Composition.custodian.identifier" />
      <mustSupport value="false" />
    </element>
    <element id="Composition.relatesTo">
      <path value="Composition.relatesTo" />
      <max value="0" />
    </element>
    <element id="Composition.event.code.coding.version">
      <path value="Composition.event.code.coding.version" />
      <max value="0" />
    </element>
    <element id="Composition.event.code.coding.userSelected">
      <path value="Composition.event.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Composition.event.detail.identifier">
      <path value="Composition.event.detail.identifier" />
      <max value="0" />
    </element>
    <element id="Composition.section.code.coding.version">
      <path value="Composition.section.code.coding.version" />
      <max value="0" />
    </element>
    <element id="Composition.section.code.coding.userSelected">
      <path value="Composition.section.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Composition.section.mode">
      <path value="Composition.section.mode" />
      <max value="0" />
    </element>
    <element id="Composition.section.orderedBy">
      <path value="Composition.section.orderedBy" />
      <max value="0" />
    </element>
    <element id="Composition.section.emptyReason">
      <path value="Composition.section.emptyReason" />
      <max value="0" />
    </element>
    <element id="Composition.section.section">
      <path value="Composition.section.section" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>