<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.synapxe.sg/StructureDefinition/profile-careplan" />
  <name value="CarePlan" />
  <status value="active" />
  <description value="Represents the care plan, including status, period, category, addresses, participants, goals, activities, and notes." />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="CarePlan" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/CarePlan" />
  <derivation value="constraint" />
  <differential>
    <element id="CarePlan.contained">
      <path value="CarePlan.contained" />
      <short value="Information about an individual or animal receiving health care services" />
      <definition value="Demographics and other administrative information about an individual or animal receiving care or other health-related services." />
      <alias value="SubjectOfCare Client Resident" />
      <mapping>
        <identity value="w5" />
        <map value="administrative.individual" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="Patient[classCode=PAT]" />
      </mapping>
      <mapping>
        <identity value="interface" />
        <map value="ParticipantLiving" />
      </mapping>
      <mapping>
        <identity value="cda" />
        <map value="ClinicalDocument.recordTarget.patientRole" />
      </mapping>
    </element>
    <element id="CarePlan.identifier">
      <path value="CarePlan.identifier" />
      <short value="An identifier intended for computation" />
      <definition value="An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers." />
      <comment value="The rules of the identifier.type  determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="CarePlan.instantiatesCanonical">
      <path value="CarePlan.instantiatesCanonical" />
      <max value="0" />
    </element>
    <element id="CarePlan.instantiatesUri">
      <path value="CarePlan.instantiatesUri" />
      <max value="0" />
    </element>
    <element id="CarePlan.basedOn">
      <path value="CarePlan.basedOn" />
      <max value="0" />
    </element>
    <element id="CarePlan.replaces">
      <path value="CarePlan.replaces" />
      <max value="0" />
    </element>
    <element id="CarePlan.partOf">
      <path value="CarePlan.partOf" />
      <max value="0" />
    </element>
    <element id="CarePlan.category">
      <path value="CarePlan.category" />
      <short value="Concept - reference to a terminology or just  text" />
      <definition value="A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text." />
      <comment value="Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination." />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="CarePlan.title">
      <path value="CarePlan.title" />
      <max value="0" />
    </element>
    <element id="CarePlan.description">
      <path value="CarePlan.description" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject">
      <path value="CarePlan.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-patient" />
      </type>
    </element>
    <element id="CarePlan.subject.id">
      <path value="CarePlan.subject.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.extension">
      <path value="CarePlan.subject.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.reference">
      <path value="CarePlan.subject.reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.type">
      <path value="CarePlan.subject.type" />
      <min value="1" />
      <fixedUri value="Patient" />
    </element>
    <element id="CarePlan.subject.identifier">
      <path value="CarePlan.subject.identifier" />
      <short value="An identifier intended for computation" />
      <definition value="An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers." />
      <comment value="The rules of the identifier.type  determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension." />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="CarePlan.subject.identifier.system">
      <path value="CarePlan.subject.identifier.system" />
      <fixedUri value="https://fhir.synapxe.sg/NamingSystem/nric" />
    </element>
    <element id="CarePlan.encounter">
      <path value="CarePlan.encounter" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-encounter" />
      </type>
    </element>
    <element id="CarePlan.encounter.id">
      <path value="CarePlan.encounter.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.encounter.extension">
      <path value="CarePlan.encounter.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.encounter.reference">
      <path value="CarePlan.encounter.reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.encounter.type">
      <path value="CarePlan.encounter.type" />
      <min value="1" />
    </element>
    <element id="CarePlan.encounter.identifier">
      <path value="CarePlan.encounter.identifier" />
      <short value="An identifier intended for computation" />
      <definition value="An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers." />
      <comment value="The rules of the identifier.type  determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension." />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="CarePlan.encounter.identifier.system">
      <path value="CarePlan.encounter.identifier.system" />
      <fixedUri value="https://fhir.synapxe.sg/NamingSystem/eventID" />
    </element>
    <element id="CarePlan.encounter.display">
      <path value="CarePlan.encounter.display" />
      <max value="0" />
    </element>
    <element id="CarePlan.created">
      <path value="CarePlan.created" />
      <max value="0" />
    </element>
    <element id="CarePlan.custodian">
      <path value="CarePlan.custodian" />
      <max value="0" />
    </element>
    <element id="CarePlan.contributor">
      <path value="CarePlan.contributor" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-practitioner" />
      </type>
    </element>
    <element id="CarePlan.contributor.id">
      <path value="CarePlan.contributor.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.contributor.extension">
      <path value="CarePlan.contributor.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.contributor.reference">
      <path value="CarePlan.contributor.reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.contributor.type">
      <path value="CarePlan.contributor.type" />
      <min value="1" />
    </element>
    <element id="CarePlan.contributor.identifier">
      <path value="CarePlan.contributor.identifier" />
      <short value="An identifier intended for computation" />
      <definition value="An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers." />
      <comment value="The rules of the identifier.type  determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension." />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="CarePlan.contributor.identifier.system">
      <path value="CarePlan.contributor.identifier.system" />
      <fixedUri value="https://fhir.synapxe.sg/NamingSystem/mcr" />
    </element>
    <element id="CarePlan.careTeam">
      <path value="CarePlan.careTeam" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.careTeam.id">
      <path value="CarePlan.careTeam.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.careTeam.extension">
      <path value="CarePlan.careTeam.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.careTeam.reference">
      <path value="CarePlan.careTeam.reference" />
      <min value="1" />
    </element>
    <element id="CarePlan.careTeam.type">
      <path value="CarePlan.careTeam.type" />
      <max value="0" />
    </element>
    <element id="CarePlan.careTeam.identifier">
      <path value="CarePlan.careTeam.identifier" />
      <max value="0" />
    </element>
    <element id="CarePlan.careTeam.display">
      <path value="CarePlan.careTeam.display" />
      <max value="0" />
    </element>
    <element id="CarePlan.addresses">
      <path value="CarePlan.addresses" />
      <type>
        <code value="CodeableReference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-condition" />
      </type>
    </element>
    <element id="CarePlan.addresses.id">
      <path value="CarePlan.addresses.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.addresses.extension">
      <path value="CarePlan.addresses.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.addresses.concept">
      <path value="CarePlan.addresses.concept" />
      <max value="0" />
    </element>
    <element id="CarePlan.addresses.reference">
      <path value="CarePlan.addresses.reference" />
      <min value="1" />
    </element>
    <element id="CarePlan.supportingInfo">
      <path value="CarePlan.supportingInfo" />
      <max value="0" />
    </element>
    <element id="CarePlan.goal">
      <path value="CarePlan.goal" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-goal" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="CarePlan.goal.id">
      <path value="CarePlan.goal.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.goal.extension">
      <path value="CarePlan.goal.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.goal.reference">
      <path value="CarePlan.goal.reference" />
      <min value="1" />
    </element>
    <element id="CarePlan.goal.type">
      <path value="CarePlan.goal.type" />
      <max value="0" />
    </element>
    <element id="CarePlan.goal.identifier">
      <path value="CarePlan.goal.identifier" />
      <max value="0" />
    </element>
    <element id="CarePlan.goal.display">
      <path value="CarePlan.goal.display" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.id">
      <path value="CarePlan.activity.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.extension">
      <path value="CarePlan.activity.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.modifierExtension">
      <path value="CarePlan.activity.modifierExtension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.performedActivity">
      <path value="CarePlan.activity.performedActivity" />
      <type>
        <code value="CodeableReference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-location" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-organization" />
      </type>
    </element>
    <element id="CarePlan.activity.performedActivity.id">
      <path value="CarePlan.activity.performedActivity.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.performedActivity.extension">
      <path value="CarePlan.activity.performedActivity.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.performedActivity.concept">
      <path value="CarePlan.activity.performedActivity.concept" />
      <short value="Concept - reference to a terminology or just  text" />
      <definition value="A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text." />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="CarePlan.activity.performedActivity.reference">
      <path value="CarePlan.activity.performedActivity.reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.progress">
      <path value="CarePlan.activity.progress" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.activity.progress.id">
      <path value="CarePlan.activity.progress.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.progress.extension">
      <path value="CarePlan.activity.progress.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.progress.author[x]">
      <path value="CarePlan.activity.progress.author[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-patient" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-practitioner" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-organization" />
      </type>
    </element>
    <element id="CarePlan.activity.progress.author[x].id">
      <path value="CarePlan.activity.progress.author[x].id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.progress.author[x].extension">
      <path value="CarePlan.activity.progress.author[x].extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.progress.author[x].reference">
      <path value="CarePlan.activity.progress.author[x].reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.progress.author[x].type">
      <path value="CarePlan.activity.progress.author[x].type" />
      <min value="1" />
    </element>
    <element id="CarePlan.activity.progress.author[x].identifier">
      <path value="CarePlan.activity.progress.author[x].identifier" />
      <short value="An identifier intended for computation" />
      <definition value="An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers." />
      <comment value="The rules of the identifier.type  determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension." />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="CarePlan.activity.progress.time">
      <path value="CarePlan.activity.progress.time" />
      <min value="1" />
    </element>
    <element id="CarePlan.note">
      <path value="CarePlan.note" />
      <short value="Text node with attribution" />
      <definition value="A  text note which also  contains information about who made the statement and when." />
      <type>
        <code value="Annotation" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-annotation" />
      </type>
    </element>
  </differential>
</StructureDefinition>