<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ConditionPSAB" />
  <url value="https://www.alberta.ca/fhir/psab/StructureDefinition/ConditionPSAB" />
  <version value="1.2.0" />
  <name value="ConditionPSAB" />
  <title value="Condition (PS-AB)" />
  <status value="draft" />
  <description value="This profile defines a set of constraints to the FHIR Condition resource for use in Alberta Patient Summaries (PS-AB). It re-profiles the PS-CA Condition profile and refines constraints applied to the Condition resource by the PS-CA project to represent the minimum expectations for the Condition resource when used in the PS-AB Composition profile." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Condition" />
  <baseDefinition value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/condition-ca-ps" />
  <derivation value="constraint" />
  <differential>
    <element id="Condition">
      <path value="Condition" />
      <comment value="Condition resources included in Alberta Patient Summary Document Bundles have rules that certain attributes are not to be contained in Condition resource. These are mechanically enforced through invariants at the PS-AB Bundle level." />
    </element>
    <element id="Condition.clinicalStatus">
      <path value="Condition.clinicalStatus" />
      <comment value="This element is optional. Only include clinicalStatus codes if they are captured in the clinical workflow and map to one of the required codes in the FHIR valueSet. If no codes in the required valueSet match the status captured clinically - then this element SHALL NOT be be populated" />
    </element>
    <element id="Condition.category">
      <path value="Condition.category" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Condition.category:problemListItem">
      <path value="Condition.category" />
      <sliceName value="problemListItem" />
      <comment value="Codeable concept: 'Problem-list-item' allowed in PS-AB" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.category:problemListItem.coding.system">
      <path value="Condition.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/condition-category" />
    </element>
    <element id="Condition.category:problemListItem.coding.code">
      <path value="Condition.category.coding.code" />
      <min value="1" />
      <patternCode value="problem-list-item" />
    </element>
    <element id="Condition.code.coding">
      <path value="Condition.code.coding" />
      <comment value="Coding is optional, if coding is sent there shall at least be one coding from the ICD9-CM, ICD-10-CA or SNOMED CT code system" />
    </element>
    <element id="Condition.code.text">
      <path value="Condition.code.text" />
      <comment value="Required for each submitted problem or condition String: Max Character length (100)" />
      <min value="1" />
    </element>
    <element id="Condition.subject">
      <path value="Condition.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://www.alberta.ca/fhir/psab/StructureDefinition/PatientPSAB" />
      </type>
    </element>
    <element id="Condition.onset[x]">
      <path value="Condition.onset[x]" />
      <min value="1" />
    </element>
    <element id="Condition.onset[x]:onsetDateTime">
      <path value="Condition.onset[x]" />
      <sliceName value="onsetDateTime" />
      <comment value="YYYY-MM-DD format. Partial dates (YYYY only or YYYY-MM only) are accepted." />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Condition.note">
      <path value="Condition.note" />
      <comment value="Optional String: Max Character length (2000)" />
    </element>
  </differential>
</StructureDefinition>