<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.synapxe.sg/StructureDefinition/profile-cardiologyreport" />
  <name value="CardiologyReport" />
  <status value="active" />
  <description value="This resource represents a clinical document that summarizes the findings, interpretations, and recommendations from cardiac-related diagnostic tests or procedures. It may include results from tests such as electrocardiograms (ECG), echocardiograms, cardiac catheterization, stress tests, or Holter monitoring. The report typically contains patient information, test indications, procedure details, observations, measurements, interpretations by a cardiologist, and recommendations for further management or follow-up." />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Composition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Composition" />
  <derivation value="constraint" />
  <differential>
    <element id="Composition.meta">
      <path value="Composition.meta" />
      <short value="Metadata about a resource" />
      <definition value="The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
      <type>
        <code value="Meta" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-meta" />
      </type>
    </element>
    <element id="Composition.extension:displayMethod">
      <path value="Composition.extension" />
      <sliceName value="displayMethod" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/ext-displayMethod" />
      </type>
    </element>
    <element id="Composition.url">
      <path value="Composition.url" />
      <max value="0" />
    </element>
    <element id="Composition.identifier">
      <path value="Composition.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Composition.identifier.id">
      <path value="Composition.identifier.id" />
      <max value="0" />
    </element>
    <element id="Composition.identifier.extension">
      <path value="Composition.identifier.extension" />
      <max value="0" />
    </element>
    <element id="Composition.identifier.use">
      <path value="Composition.identifier.use" />
      <max value="0" />
    </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" />
    </element>
    <element id="Composition.identifier.value">
      <path value="Composition.identifier.value" />
      <min value="1" />
    </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.identifier:recordID">
      <path value="Composition.identifier" />
      <sliceName value="recordID" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.identifier:recordID.id">
      <path value="Composition.identifier.id" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:recordID.extension">
      <path value="Composition.identifier.extension" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:recordID.use">
      <path value="Composition.identifier.use" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:recordID.type">
      <path value="Composition.identifier.type" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:recordID.system">
      <path value="Composition.identifier.system" />
      <min value="1" />
      <patternUri value="https://fhir.synapxe.sg/NamingSystem/record-id" />
    </element>
    <element id="Composition.identifier:recordID.value">
      <path value="Composition.identifier.value" />
      <min value="1" />
    </element>
    <element id="Composition.identifier:recordID.period">
      <path value="Composition.identifier.period" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:recordID.assigner">
      <path value="Composition.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:accessionNumber">
      <path value="Composition.identifier" />
      <sliceName value="accessionNumber" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Composition.identifier:accessionNumber.id">
      <path value="Composition.identifier.id" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:accessionNumber.extension">
      <path value="Composition.identifier.extension" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:accessionNumber.use">
      <path value="Composition.identifier.use" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:accessionNumber.type">
      <path value="Composition.identifier.type" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:accessionNumber.system">
      <path value="Composition.identifier.system" />
      <min value="1" />
      <patternUri value="https://fhir.synapxe.sg/NamingSystem/accession-no" />
    </element>
    <element id="Composition.identifier:accessionNumber.value">
      <path value="Composition.identifier.value" />
      <min value="1" />
    </element>
    <element id="Composition.identifier:accessionNumber.period">
      <path value="Composition.identifier.period" />
      <max value="0" />
    </element>
    <element id="Composition.identifier:accessionNumber.assigner">
      <path value="Composition.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Composition.version">
      <path value="Composition.version" />
      <max value="0" />
    </element>
    <element id="Composition.type">
      <path value="Composition.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="Composition.type.extension">
      <path value="Composition.type.extension" />
      <max value="0" />
    </element>
    <element id="Composition.type.coding.system">
      <path value="Composition.type.coding.system" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Composition.type.coding.code">
      <path value="Composition.type.coding.code" />
      <patternCode value="100580-0" />
    </element>
    <element id="Composition.category">
      <path value="Composition.category" />
      <max value="0" />
    </element>
    <element id="Composition.subject">
      <path value="Composition.subject" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-reference-patient" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-patient" />
      </type>
    </element>
    <element id="Composition.subject.display">
      <path value="Composition.subject.display" />
      <max value="0" />
    </element>
    <element id="Composition.encounter">
      <path value="Composition.encounter" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-reference-encounter" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-encounter" />
      </type>
    </element>
    <element id="Composition.encounter.display">
      <path value="Composition.encounter.display" />
      <max value="0" />
    </element>
    <element id="Composition.useContext">
      <path value="Composition.useContext" />
      <max value="0" />
    </element>
    <element id="Composition.author">
      <path value="Composition.author" />
      <type>
        <code value="Reference" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-reference-practitioner" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-practitioner" />
      </type>
    </element>
    <element id="Composition.author.display">
      <path value="Composition.author.display" />
      <max value="0" />
    </element>
    <element id="Composition.name">
      <path value="Composition.name" />
      <max value="0" />
    </element>
    <element id="Composition.note">
      <path value="Composition.note" />
      <max value="1" />
      <type>
        <code value="Annotation" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-annotation" />
      </type>
    </element>
    <element id="Composition.attester.id">
      <path value="Composition.attester.id" />
      <max value="0" />
    </element>
    <element id="Composition.attester.extension">
      <path value="Composition.attester.extension" />
      <max value="0" />
    </element>
    <element id="Composition.attester.modifierExtension">
      <path value="Composition.attester.modifierExtension" />
      <max value="0" />
    </element>
    <element id="Composition.attester.mode">
      <path value="Composition.attester.mode" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="Composition.attester.mode.extension">
      <path value="Composition.attester.mode.extension" />
      <max value="0" />
    </element>
    <element id="Composition.attester.mode.coding.system">
      <path value="Composition.attester.mode.coding.system" />
      <fixedUri value="http://hl7.org/fhir/CodeSystem/composition-attestation-mode" />
    </element>
    <element id="Composition.attester.mode.coding.code">
      <path value="Composition.attester.mode.coding.code" />
      <patternCode value="official" />
    </element>
    <element id="Composition.attester.party">
      <path value="Composition.attester.party" />
      <type>
        <code value="Reference" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-reference-practitioner" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-practitioner" />
      </type>
    </element>
    <element id="Composition.attester.party.display">
      <path value="Composition.attester.party.display" />
      <max value="0" />
    </element>
    <element id="Composition.custodian">
      <path value="Composition.custodian" />
      <type>
        <code value="Reference" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-reference-organization" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-organization" />
      </type>
    </element>
    <element id="Composition.custodian.display">
      <path value="Composition.custodian.display" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo">
      <path value="Composition.relatesTo" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo.id">
      <path value="Composition.relatesTo.id" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo.type">
      <path value="Composition.relatesTo.type" />
      <patternCode value="documentation" />
    </element>
    <element id="Composition.relatesTo.classifier">
      <path value="Composition.relatesTo.classifier" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo.label">
      <path value="Composition.relatesTo.label" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo.display">
      <path value="Composition.relatesTo.display" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo.citation">
      <path value="Composition.relatesTo.citation" />
      <min value="1" />
    </element>
    <element id="Composition.relatesTo.document">
      <path value="Composition.relatesTo.document" />
      <min value="1" />
      <type>
        <code value="Attachment" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-attachment" />
      </type>
    </element>
    <element id="Composition.relatesTo.resource">
      <path value="Composition.relatesTo.resource" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo.resourceReference">
      <path value="Composition.relatesTo.resourceReference" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo.publicationStatus">
      <path value="Composition.relatesTo.publicationStatus" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo.publicationDate">
      <path value="Composition.relatesTo.publicationDate" />
      <max value="0" />
    </element>
    <element id="Composition.event">
      <path value="Composition.event" />
      <max value="0" />
    </element>
    <element id="Composition.section">
      <path value="Composition.section" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Composition.section.id">
      <path value="Composition.section.id" />
      <max value="0" />
    </element>
    <element id="Composition.section.extension">
      <path value="Composition.section.extension" />
      <max value="0" />
    </element>
    <element id="Composition.section.modifierExtension">
      <path value="Composition.section.modifierExtension" />
      <max value="0" />
    </element>
    <element id="Composition.section.title">
      <path value="Composition.section.title" />
      <max value="0" />
    </element>
    <element id="Composition.section.code">
      <path value="Composition.section.code" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.synapxe.sg/ValueSet/doc-section-code" />
      </binding>
    </element>
    <element id="Composition.section.author">
      <path value="Composition.section.author" />
      <max value="0" />
    </element>
    <element id="Composition.section.focus">
      <path value="Composition.section.focus" />
      <max value="0" />
    </element>
    <element id="Composition.section.orderedBy">
      <path value="Composition.section.orderedBy" />
      <max value="0" />
    </element>
    <element id="Composition.section.entry">
      <path value="Composition.section.entry" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-cr-procedure" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-fileattachment" />
        <aggregation value="bundled" />
      </type>
    </element>
    <element id="Composition.section.entry.id">
      <path value="Composition.section.entry.id" />
      <max value="0" />
    </element>
    <element id="Composition.section.entry.extension">
      <path value="Composition.section.entry.extension" />
      <max value="0" />
    </element>
    <element id="Composition.section.entry.reference">
      <path value="Composition.section.entry.reference" />
      <min value="1" />
    </element>
    <element id="Composition.section.entry.type">
      <path value="Composition.section.entry.type" />
      <max value="0" />
    </element>
    <element id="Composition.section.entry.identifier">
      <path value="Composition.section.entry.identifier" />
      <max value="0" />
    </element>
    <element id="Composition.section.entry.display">
      <path value="Composition.section.entry.display" />
      <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>
    <element id="Composition.section:Procedures">
      <path value="Composition.section" />
      <sliceName value="Procedures" />
      <min value="1" />
    </element>
    <element id="Composition.section:Procedures.id">
      <path value="Composition.section.id" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.extension">
      <path value="Composition.section.extension" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.modifierExtension">
      <path value="Composition.section.modifierExtension" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.title">
      <path value="Composition.section.title" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.code">
      <path value="Composition.section.code" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.synapxe.sg/ValueSet/doc-section-code" />
      </binding>
    </element>
    <element id="Composition.section:Procedures.code.coding.system">
      <path value="Composition.section.code.coding.system" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Composition.section:Procedures.code.coding.code">
      <path value="Composition.section.code.coding.code" />
      <patternCode value="29554-3" />
    </element>
    <element id="Composition.section:Procedures.author">
      <path value="Composition.section.author" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.focus">
      <path value="Composition.section.focus" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.text">
      <path value="Composition.section.text" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.orderedBy">
      <path value="Composition.section.orderedBy" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.entry">
      <path value="Composition.section.entry" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-cr-procedure" />
        <aggregation value="bundled" />
      </type>
    </element>
    <element id="Composition.section:Procedures.emptyReason">
      <path value="Composition.section.emptyReason" />
      <max value="0" />
    </element>
    <element id="Composition.section:Procedures.section">
      <path value="Composition.section.section" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments">
      <path value="Composition.section" />
      <sliceName value="FileAttachments" />
    </element>
    <element id="Composition.section:FileAttachments.id">
      <path value="Composition.section.id" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments.extension">
      <path value="Composition.section.extension" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments.modifierExtension">
      <path value="Composition.section.modifierExtension" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments.title">
      <path value="Composition.section.title" />
      <max value="0" />
      <fixedString value="FileAttachments" />
    </element>
    <element id="Composition.section:FileAttachments.code">
      <path value="Composition.section.code" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.synapxe.sg/ValueSet/doc-section-code" />
      </binding>
    </element>
    <element id="Composition.section:FileAttachments.code.coding.system">
      <path value="Composition.section.code.coding.system" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Composition.section:FileAttachments.code.coding.code">
      <path value="Composition.section.code.coding.code" />
      <patternCode value="28570-0" />
    </element>
    <element id="Composition.section:FileAttachments.author">
      <path value="Composition.section.author" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments.focus">
      <path value="Composition.section.focus" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments.text">
      <path value="Composition.section.text" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments.orderedBy">
      <path value="Composition.section.orderedBy" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments.entry">
      <path value="Composition.section.entry" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-fileattachment" />
        <aggregation value="bundled" />
      </type>
    </element>
    <element id="Composition.section:FileAttachments.emptyReason">
      <path value="Composition.section.emptyReason" />
      <max value="0" />
    </element>
    <element id="Composition.section:FileAttachments.section">
      <path value="Composition.section.section" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>