<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://ihis.sg/StructureDefinition/CarePlan-pophealth-plan" />
  <name value="HSARHealthPlan" />
  <status value="active" />
  <fhirVersion value="4.3.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.id">
      <path value="CarePlan.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.implicitRules">
      <path value="CarePlan.implicitRules" />
      <max value="0" />
    </element>
    <element id="CarePlan.language">
      <path value="CarePlan.language" />
      <max value="0" />
    </element>
    <element id="CarePlan.text">
      <path value="CarePlan.text" />
      <max value="0" />
    </element>
    <element id="CarePlan.extension">
      <path value="CarePlan.extension" />
      <min value="1" />
    </element>
    <element id="CarePlan.extension:performer">
      <path value="CarePlan.extension" />
      <sliceName value="performer" />
      <min value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://ihis.sg/extension/performer" />
      </type>
    </element>
    <element id="CarePlan.modifierExtension">
      <path value="CarePlan.modifierExtension" />
      <max value="0" />
    </element>
    <element id="CarePlan.identifier">
      <path value="CarePlan.identifier" />
      <max value="0" />
    </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.status">
      <path value="CarePlan.status" />
      <fixedCode value="active" />
    </element>
    <element id="CarePlan.intent">
      <path value="CarePlan.intent" />
      <fixedCode value="plan" />
    </element>
    <element id="CarePlan.category">
      <path value="CarePlan.category" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.category.id">
      <path value="CarePlan.category.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.category.extension">
      <path value="CarePlan.category.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.category.coding">
      <path value="CarePlan.category.coding" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ihis.sg/ValueSet/hsg-care-plan-category" />
      </binding>
    </element>
    <element id="CarePlan.category.coding.id">
      <path value="CarePlan.category.coding.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.category.coding.extension">
      <path value="CarePlan.category.coding.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.category.coding.system">
      <path value="CarePlan.category.coding.system" />
      <min value="1" />
      <fixedUri value="http://ihis.sg/ValueSet/hsg-care-plan-category" />
    </element>
    <element id="CarePlan.category.coding.version">
      <path value="CarePlan.category.coding.version" />
      <max value="0" />
    </element>
    <element id="CarePlan.category.coding.code">
      <path value="CarePlan.category.coding.code" />
      <min value="1" />
    </element>
    <element id="CarePlan.category.coding.userSelected">
      <path value="CarePlan.category.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="CarePlan.category.text">
      <path value="CarePlan.category.text" />
      <max value="0" />
    </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="http://hl7.org/fhir/StructureDefinition/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" />
      <min value="1" />
    </element>
    <element id="CarePlan.subject.identifier.id">
      <path value="CarePlan.subject.identifier.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.identifier.extension">
      <path value="CarePlan.subject.identifier.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.identifier.use">
      <path value="CarePlan.subject.identifier.use" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.identifier.type">
      <path value="CarePlan.subject.identifier.type" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.identifier.system">
      <path value="CarePlan.subject.identifier.system" />
      <min value="1" />
      <fixedUri value="http://ihis.sg/identifier/nric" />
    </element>
    <element id="CarePlan.subject.identifier.value">
      <path value="CarePlan.subject.identifier.value" />
      <min value="1" />
      <constraint>
        <key value="healthplan-patient" />
        <severity value="error" />
        <human value="Patient identifier value should not be empty" />
        <expression value="$this.length() &gt; 0" />
      </constraint>
    </element>
    <element id="CarePlan.subject.identifier.period">
      <path value="CarePlan.subject.identifier.period" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.identifier.assigner">
      <path value="CarePlan.subject.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="CarePlan.subject.display">
      <path value="CarePlan.subject.display" />
      <max value="0" />
    </element>
    <element id="CarePlan.encounter">
      <path value="CarePlan.encounter" />
      <max value="0" />
    </element>
    <element id="CarePlan.period">
      <path value="CarePlan.period" />
      <min value="1" />
    </element>
    <element id="CarePlan.period.id">
      <path value="CarePlan.period.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.period.extension">
      <path value="CarePlan.period.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.created">
      <path value="CarePlan.created" />
      <max value="0" />
    </element>
    <element id="CarePlan.author">
      <path value="CarePlan.author" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="CarePlan.author.id">
      <path value="CarePlan.author.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.extension">
      <path value="CarePlan.author.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.reference">
      <path value="CarePlan.author.reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.type">
      <path value="CarePlan.author.type" />
      <min value="1" />
      <fixedUri value="Organization" />
    </element>
    <element id="CarePlan.author.identifier">
      <path value="CarePlan.author.identifier" />
      <min value="1" />
    </element>
    <element id="CarePlan.author.identifier.id">
      <path value="CarePlan.author.identifier.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.identifier.extension">
      <path value="CarePlan.author.identifier.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.identifier.use">
      <path value="CarePlan.author.identifier.use" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.identifier.type">
      <path value="CarePlan.author.identifier.type" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.identifier.system">
      <path value="CarePlan.author.identifier.system" />
      <min value="1" />
      <fixedUri value="http://ihis.sg/identifier/hci-code" />
    </element>
    <element id="CarePlan.author.identifier.value">
      <path value="CarePlan.author.identifier.value" />
      <min value="1" />
      <constraint>
        <key value="healthplan-organization" />
        <severity value="error" />
        <human value="Author identifier value should not be empty" />
        <expression value="$this.length() &gt; 0" />
      </constraint>
    </element>
    <element id="CarePlan.author.identifier.period">
      <path value="CarePlan.author.identifier.period" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.identifier.assigner">
      <path value="CarePlan.author.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="CarePlan.author.display">
      <path value="CarePlan.author.display" />
      <max value="0" />
    </element>
    <element id="CarePlan.contributor">
      <path value="CarePlan.contributor" />
      <max value="0" />
    </element>
    <element id="CarePlan.careTeam">
      <path value="CarePlan.careTeam" />
      <max value="0" />
    </element>
    <element id="CarePlan.addresses.type">
      <path value="CarePlan.addresses.type" />
      <max value="0" />
    </element>
    <element id="CarePlan.addresses.identifier">
      <path value="CarePlan.addresses.identifier" />
      <max value="0" />
    </element>
    <element id="CarePlan.addresses.display">
      <path value="CarePlan.addresses.display" />
      <max value="0" />
    </element>
    <element id="CarePlan.supportingInfo">
      <path value="CarePlan.supportingInfo" />
      <max value="0" />
    </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">
      <path value="CarePlan.activity" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="detail.code.coding.system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </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.outcomeReference">
      <path value="CarePlan.activity.outcomeReference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.progress">
      <path value="CarePlan.activity.progress" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity.reference">
      <path value="CarePlan.activity.reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in">
      <path value="CarePlan.activity" />
      <sliceName value="recommended-next-check-in" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail">
      <path value="CarePlan.activity.detail" />
      <min value="1" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.id">
      <path value="CarePlan.activity.detail.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.extension">
      <path value="CarePlan.activity.detail.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.modifierExtension">
      <path value="CarePlan.activity.detail.modifierExtension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.kind">
      <path value="CarePlan.activity.detail.kind" />
      <min value="1" />
      <fixedCode value="Appointment" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.instantiatesCanonical">
      <path value="CarePlan.activity.detail.instantiatesCanonical" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.instantiatesUri">
      <path value="CarePlan.activity.detail.instantiatesUri" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code">
      <path value="CarePlan.activity.detail.code" />
      <min value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ihis.sg/ValueSet/hsg-healthplan-activity-type" />
      </binding>
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.id">
      <path value="CarePlan.activity.detail.code.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.extension">
      <path value="CarePlan.activity.detail.code.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.coding">
      <path value="CarePlan.activity.detail.code.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.coding.id">
      <path value="CarePlan.activity.detail.code.coding.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.coding.extension">
      <path value="CarePlan.activity.detail.code.coding.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.coding.system">
      <path value="CarePlan.activity.detail.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://ihis.sg/ValueSet/hsg-healthplan-activity-type" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.coding.version">
      <path value="CarePlan.activity.detail.code.coding.version" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.coding.code">
      <path value="CarePlan.activity.detail.code.coding.code" />
      <min value="1" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.coding.userSelected">
      <path value="CarePlan.activity.detail.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.code.text">
      <path value="CarePlan.activity.detail.code.text" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.reasonCode">
      <path value="CarePlan.activity.detail.reasonCode" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.reasonReference">
      <path value="CarePlan.activity.detail.reasonReference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.goal">
      <path value="CarePlan.activity.detail.goal" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.status">
      <path value="CarePlan.activity.detail.status" />
      <fixedCode value="scheduled" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.statusReason">
      <path value="CarePlan.activity.detail.statusReason" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.doNotPerform">
      <path value="CarePlan.activity.detail.doNotPerform" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.scheduled[x]">
      <path value="CarePlan.activity.detail.scheduled[x]" />
      <min value="1" />
      <type>
        <code value="Timing" />
      </type>
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.scheduled[x].event">
      <path value="CarePlan.activity.detail.scheduled[x].event" />
      <min value="1" />
      <max value="1" />
      <constraint>
        <key value="healthplan-scheduledTiming" />
        <severity value="error" />
        <human value="Expected date format is YYYY-MM. Minimum year is 2022." />
        <expression value="$this.toString().matches('20[0-9]{2}-(0[1-9]|10|11|12)$')" />
      </constraint>
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.location">
      <path value="CarePlan.activity.detail.location" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.performer">
      <path value="CarePlan.activity.detail.performer" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.product[x]">
      <path value="CarePlan.activity.detail.product[x]" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.dailyAmount">
      <path value="CarePlan.activity.detail.dailyAmount" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.quantity">
      <path value="CarePlan.activity.detail.quantity" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:recommended-next-check-in.detail.description">
      <path value="CarePlan.activity.detail.description" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet">
      <path value="CarePlan.activity" />
      <sliceName value="Diet" />
      <max value="7" />
    </element>
    <element id="CarePlan.activity:Diet.id">
      <path value="CarePlan.activity.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.extension">
      <path value="CarePlan.activity.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.modifierExtension">
      <path value="CarePlan.activity.modifierExtension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept">
      <path value="CarePlan.activity.outcomeCodeableConcept" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.id">
      <path value="CarePlan.activity.outcomeCodeableConcept.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.extension">
      <path value="CarePlan.activity.outcomeCodeableConcept.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.coding">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding" />
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ihis.sg/ValueSet/hsg-action-plan-category" />
      </binding>
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.coding.id">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.coding.extension">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.coding.system">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.system" />
      <min value="1" />
      <fixedUri value="http://ihis.sg/ValueSet/hsg-action-plan-category" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.coding.version">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.version" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.coding.code">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.code" />
      <min value="1" />
      <fixedCode value="AP1" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.coding.userSelected">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeCodeableConcept.text">
      <path value="CarePlan.activity.outcomeCodeableConcept.text" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.outcomeReference">
      <path value="CarePlan.activity.outcomeReference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.progress">
      <path value="CarePlan.activity.progress" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.reference">
      <path value="CarePlan.activity.reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail">
      <path value="CarePlan.activity.detail" />
      <min value="1" />
    </element>
    <element id="CarePlan.activity:Diet.detail.id">
      <path value="CarePlan.activity.detail.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.extension">
      <path value="CarePlan.activity.detail.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.modifierExtension">
      <path value="CarePlan.activity.detail.modifierExtension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.kind">
      <path value="CarePlan.activity.detail.kind" />
      <min value="1" />
      <fixedCode value="ServiceRequest" />
    </element>
    <element id="CarePlan.activity:Diet.detail.instantiatesCanonical">
      <path value="CarePlan.activity.detail.instantiatesCanonical" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.instantiatesUri">
      <path value="CarePlan.activity.detail.instantiatesUri" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code">
      <path value="CarePlan.activity.detail.code" />
      <min value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ihis.sg/ValueSet/hsg-action-plan-diet-item" />
      </binding>
    </element>
    <element id="CarePlan.activity:Diet.detail.code.id">
      <path value="CarePlan.activity.detail.code.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code.extension">
      <path value="CarePlan.activity.detail.code.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code.coding">
      <path value="CarePlan.activity.detail.code.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code.coding.id">
      <path value="CarePlan.activity.detail.code.coding.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code.coding.extension">
      <path value="CarePlan.activity.detail.code.coding.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code.coding.system">
      <path value="CarePlan.activity.detail.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://ihis.sg/ValueSet/hsg-action-plan-diet-item" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code.coding.version">
      <path value="CarePlan.activity.detail.code.coding.version" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code.coding.code">
      <path value="CarePlan.activity.detail.code.coding.code" />
      <min value="1" />
      <constraint>
        <key value="ap1-1" />
        <severity value="error" />
        <human value="AP1 allowed values" />
        <expression value="($this in ('DI001' | 'DI002' | 'DI003' | 'DI004' | 'DI005' | 'DI006' | 'DI007'))" />
      </constraint>
    </element>
    <element id="CarePlan.activity:Diet.detail.code.coding.userSelected">
      <path value="CarePlan.activity.detail.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.code.text">
      <path value="CarePlan.activity.detail.code.text" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.reasonCode">
      <path value="CarePlan.activity.detail.reasonCode" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.reasonReference">
      <path value="CarePlan.activity.detail.reasonReference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.goal">
      <path value="CarePlan.activity.detail.goal" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Diet.detail.status">
      <path value="CarePlan.activity.detail.status" />
      <fixedCode value="scheduled" />
    </element>
    <element id="CarePlan.activity:Vaccination">
      <path value="CarePlan.activity" />
      <sliceName value="Vaccination" />
      <max value="8" />
    </element>
    <element id="CarePlan.activity:Vaccination.id">
      <path value="CarePlan.activity.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.extension">
      <path value="CarePlan.activity.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.modifierExtension">
      <path value="CarePlan.activity.modifierExtension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept">
      <path value="CarePlan.activity.outcomeCodeableConcept" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.id">
      <path value="CarePlan.activity.outcomeCodeableConcept.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.extension">
      <path value="CarePlan.activity.outcomeCodeableConcept.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.coding">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding" />
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ihis.sg/ValueSet/hsg-action-plan-category" />
      </binding>
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.coding.id">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.coding.extension">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.coding.system">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.system" />
      <min value="1" />
      <fixedUri value="http://ihis.sg/ValueSet/hsg-action-plan-category" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.coding.version">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.version" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.coding.code">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.code" />
      <min value="1" />
      <fixedCode value="AP2" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.coding.userSelected">
      <path value="CarePlan.activity.outcomeCodeableConcept.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeCodeableConcept.text">
      <path value="CarePlan.activity.outcomeCodeableConcept.text" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.outcomeReference">
      <path value="CarePlan.activity.outcomeReference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.progress">
      <path value="CarePlan.activity.progress" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.reference">
      <path value="CarePlan.activity.reference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail">
      <path value="CarePlan.activity.detail" />
      <min value="1" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.id">
      <path value="CarePlan.activity.detail.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.extension">
      <path value="CarePlan.activity.detail.extension" />
      <min value="1" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.extension:vaccinationExtension">
      <path value="CarePlan.activity.detail.extension" />
      <sliceName value="vaccinationExtension" />
      <type>
        <code value="Extension" />
        <profile value="http://ihis.sg/extension/dueDate" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.extension:vaccinationExtension.extension">
      <path value="CarePlan.activity.detail.extension.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.modifierExtension">
      <path value="CarePlan.activity.detail.modifierExtension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.kind">
      <path value="CarePlan.activity.detail.kind" />
      <min value="1" />
      <fixedCode value="ServiceRequest" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.instantiatesCanonical">
      <path value="CarePlan.activity.detail.instantiatesCanonical" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.instantiatesUri">
      <path value="CarePlan.activity.detail.instantiatesUri" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code">
      <path value="CarePlan.activity.detail.code" />
      <min value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ihis.sg/ValueSet/hsg-action-plan-vaccination-item" />
      </binding>
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.id">
      <path value="CarePlan.activity.detail.code.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.extension">
      <path value="CarePlan.activity.detail.code.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.coding">
      <path value="CarePlan.activity.detail.code.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.coding.id">
      <path value="CarePlan.activity.detail.code.coding.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.coding.extension">
      <path value="CarePlan.activity.detail.code.coding.extension" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.coding.system">
      <path value="CarePlan.activity.detail.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://ihis.sg/ValueSet/hsg-action-plan-vaccination-item" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.coding.version">
      <path value="CarePlan.activity.detail.code.coding.version" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.coding.code">
      <path value="CarePlan.activity.detail.code.coding.code" />
      <min value="1" />
      <constraint>
        <key value="ap2-1" />
        <severity value="error" />
        <human value="AP2 allowed values" />
        <expression value="($this in ('A-INF' | 'A-PNC' | 'A-PPSV' | 'A-Tdap' | 'A-HPV' | 'A-HEPB' | 'A-MMR' | 'A-CPOX'))" />
      </constraint>
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.coding.userSelected">
      <path value="CarePlan.activity.detail.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.code.text">
      <path value="CarePlan.activity.detail.code.text" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.reasonCode">
      <path value="CarePlan.activity.detail.reasonCode" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.reasonReference">
      <path value="CarePlan.activity.detail.reasonReference" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.goal">
      <path value="CarePlan.activity.detail.goal" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.status">
      <path value="CarePlan.activity.detail.status" />
      <fixedCode value="scheduled" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.statusReason">
      <path value="CarePlan.activity.detail.statusReason" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.doNotPerform">
      <path value="CarePlan.activity.detail.doNotPerform" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.scheduled[x]">
      <path value="CarePlan.activity.detail.scheduled[x]" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.location">
      <path value="CarePlan.activity.detail.location" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.performer">
      <path value="CarePlan.activity.detail.performer" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.product[x]">
      <path value="CarePlan.activity.detail.product[x]" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.dailyAmount">
      <path value="CarePlan.activity.detail.dailyAmount" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.quantity">
      <path value="CarePlan.activity.detail.quantity" />
      <max value="0" />
    </element>
    <element id="CarePlan.activity:Vaccination.detail.description">
      <path value="CarePlan.activity.detail.description" />
      <max value="0" />
    </element>
    <element id="CarePlan.note">
      <path value="CarePlan.note" />
      <max value="2" />
    </element>
    <element id="CarePlan.note.id">
      <path value="CarePlan.note.id" />
      <max value="0" />
    </element>
    <element id="CarePlan.note.extension">
      <path value="CarePlan.note.extension" />
      <min value="1" />
    </element>
    <element id="CarePlan.note.extension:noteExtension">
      <path value="CarePlan.note.extension" />
      <sliceName value="noteExtension" />
      <type>
        <code value="Extension" />
        <profile value="http://ihis.sg/extension/health-plan-note-type" />
      </type>
    </element>
    <element id="CarePlan.note.author[x]">
      <path value="CarePlan.note.author[x]" />
      <max value="0" />
    </element>
    <element id="CarePlan.note.time">
      <path value="CarePlan.note.time" />
      <max value="0" />
    </element>
    <element id="CarePlan.note.text">
      <path value="CarePlan.note.text" />
      <constraint>
        <key value="health-plan-note" />
        <severity value="error" />
        <human value="Value must be between 1 to 5000 characters" />
        <expression value="$this.length() &gt; 0 and $this.length() &lt;= 5000" />
      </constraint>
    </element>
    <element id="CarePlan.contained">
      <path value="CarePlan.contained" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://ihis.sg/StructureDefinition/putHealthplanGoal" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="CarePlan.condition">
      <path value="CarePlan.condition" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://ihis.sg/StructureDefinition/putHealthplanCondition" />
        <aggregation value="contained" />
      </type>
    </element>
  </differential>
</StructureDefinition>