<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="cyehr-sd-diagnosis-r4" />
  <url value="http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-diagnosis-r4" />
  <name value="CYEHRSDDiagnosis" />
  <title value="Cyprus EHR Diagnosis profile" />
  <status value="draft" />
  <publisher value="eHealth4U" />
  <contact>
    <name value="eHealth Lab (University of Cyprus)" />
    <telecom>
      <system value="email" />
      <value value="ehealthl@ucy.ac.cy" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="Reprsents any diagnosis that is made for a patient in the context of an encounter in the CYEHR system. This might be a diagnosed problem (entered to the CYEHR system as the diagnosis made for a patient after the assessment of the patient during the encounter) or a differential diagnosis (entered to the CYEHR system as a potential diagnosis based on the medical history, clinical examination and laboratory and imaging results information)." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Condition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Condition" />
  <derivation value="constraint" />
  <differential>
    <element id="Condition.meta">
      <path value="Condition.meta" />
    </element>
    <element id="Condition.meta.profile">
      <path value="Condition.meta.profile" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Condition.meta.profile:CyprusEHRProfile">
      <path value="Condition.meta.profile" />
      <sliceName value="CyprusEHRProfile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-diagnosis-r4" />
    </element>
    <element id="Condition.identifier.type">
      <path value="Condition.identifier.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.identifier.type.coding.system">
      <path value="Condition.identifier.type.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.identifier.type.coding.code">
      <path value="Condition.identifier.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.identifier.type.coding.display">
      <path value="Condition.identifier.type.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.clinicalStatus">
      <path value="Condition.clinicalStatus" />
      <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.&#xD;&#xA;&#xD;&#xA;CyprusEHR: Clinical status must be used when this profile records a diagnosed problem." />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.clinicalStatus.coding.system">
      <path value="Condition.clinicalStatus.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.clinicalStatus.coding.code">
      <path value="Condition.clinicalStatus.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.clinicalStatus.coding.display">
      <path value="Condition.clinicalStatus.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.verificationStatus">
      <path value="Condition.verificationStatus" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.verificationStatus.coding.system">
      <path value="Condition.verificationStatus.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.verificationStatus.coding.code">
      <path value="Condition.verificationStatus.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.verificationStatus.coding.display">
      <path value="Condition.verificationStatus.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.category">
      <path value="Condition.category" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
      <patternCodeableConcept>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/condition-category" />
          <code value="encounter-diagnosis" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
    </element>
    <element id="Condition.category.coding.system">
      <path value="Condition.category.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.category.coding.code">
      <path value="Condition.category.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.category.coding.display">
      <path value="Condition.category.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.category:diagnosedProblem">
      <path value="Condition.category" />
      <sliceName value="diagnosedProblem" />
      <short value="CY EHR diagnosis extra categories" />
      <comment value="The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts.&#xD;&#xA;&#xD;&#xA;CyprusEHR: Use this category to record a diagnosed problem in the &quot;First Impression&quot; EHR section." />
      <patternCodeableConcept>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/condition-category" />
          <code value="encounter-diagnosis" />
        </coding>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/condition-category" />
          <code value="problem-list-item" />
        </coding>
      </patternCodeableConcept>
      <binding>
        <strength value="extensible" />
        <valueSet value="http://ig.ehealth4u.eu/fhir/ValueSet/cyehr-vs-diagnosiscategory" />
      </binding>
    </element>
    <element id="Condition.category:differentialDiagnosis">
      <path value="Condition.category" />
      <sliceName value="differentialDiagnosis" />
      <short value="CY EHR diagnosis extra categories" />
      <comment value="The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts.&#xD;&#xA;&#xD;&#xA;CyprusEHR: Use this category to record a differential problem in the &quot;First Impression&quot; EHR section." />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="92238-5" />
        </coding>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/condition-category" />
          <code value="encounter-diagnosis" />
        </coding>
      </patternCodeableConcept>
      <binding>
        <strength value="extensible" />
        <valueSet value="http://ig.ehealth4u.eu/fhir/ValueSet/cyehr-vs-diagnosiscategory" />
      </binding>
    </element>
    <element id="Condition.severity">
      <path value="Condition.severity" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://ig.ehealth4u.eu/fhir/ValueSet/cyehr-vs-ehdsiseverity" />
      </binding>
    </element>
    <element id="Condition.severity.coding.system">
      <path value="Condition.severity.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.severity.coding.code">
      <path value="Condition.severity.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.severity.coding.display">
      <path value="Condition.severity.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.code">
      <path value="Condition.code" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://ig.ehealth4u.eu/fhir/ValueSet/cyehr-vs-ehdsiillnessanddisorder" />
      </binding>
    </element>
    <element id="Condition.code.coding.system">
      <path value="Condition.code.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.code.coding.code">
      <path value="Condition.code.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.code.coding.display">
      <path value="Condition.code.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.bodySite">
      <path value="Condition.bodySite" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.bodySite.coding.system">
      <path value="Condition.bodySite.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.bodySite.coding.code">
      <path value="Condition.bodySite.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.bodySite.coding.display">
      <path value="Condition.bodySite.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.subject">
      <path value="Condition.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Group" />
        <targetProfile value="http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.subject.identifier.type">
      <path value="Condition.subject.identifier.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.subject.identifier.type.coding.system">
      <path value="Condition.subject.identifier.type.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.subject.identifier.type.coding.code">
      <path value="Condition.subject.identifier.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.subject.identifier.type.coding.display">
      <path value="Condition.subject.identifier.type.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.encounter">
      <path value="Condition.encounter" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.encounter.reference">
      <path value="Condition.encounter.reference" />
      <min value="1" />
    </element>
    <element id="Condition.encounter.identifier.type">
      <path value="Condition.encounter.identifier.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.encounter.identifier.type.coding.system">
      <path value="Condition.encounter.identifier.type.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.encounter.identifier.type.coding.code">
      <path value="Condition.encounter.identifier.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.encounter.identifier.type.coding.display">
      <path value="Condition.encounter.identifier.type.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.onset[x]">
      <path value="Condition.onset[x]" />
      <type>
        <code value="Period" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.recorder.identifier.type">
      <path value="Condition.recorder.identifier.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.asserter.identifier.type">
      <path value="Condition.asserter.identifier.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.stage.summary">
      <path value="Condition.stage.summary" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.stage.assessment.identifier.type">
      <path value="Condition.stage.assessment.identifier.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.stage.assessment.identifier.type.coding.system">
      <path value="Condition.stage.assessment.identifier.type.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.stage.assessment.identifier.type.coding.code">
      <path value="Condition.stage.assessment.identifier.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.stage.assessment.identifier.type.coding.display">
      <path value="Condition.stage.assessment.identifier.type.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.stage.type">
      <path value="Condition.stage.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.stage.type.coding.system">
      <path value="Condition.stage.type.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.stage.type.coding.code">
      <path value="Condition.stage.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.stage.type.coding.display">
      <path value="Condition.stage.type.coding.display" />
      <min value="1" />
    </element>
    <element id="Condition.evidence.code">
      <path value="Condition.evidence.code" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.evidence.detail.identifier.type">
      <path value="Condition.evidence.detail.identifier.type" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
    </element>
    <element id="Condition.evidence.detail.identifier.type.coding.system">
      <path value="Condition.evidence.detail.identifier.type.coding.system" />
      <min value="1" />
    </element>
    <element id="Condition.evidence.detail.identifier.type.coding.code">
      <path value="Condition.evidence.detail.identifier.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.evidence.detail.identifier.type.coding.display">
      <path value="Condition.evidence.detail.identifier.type.coding.display" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>