<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="logicalmodel-Problem_diagnosis-R4" />
  <url value="http://linkehr.com/fhir/logicalmodel-problem_diagnosis-R4" />
  <identifier>
    <system value="openEHR-CKM" />
    <value value="openEHR-EHR-EVALUATION.problem_diagnosis.v1" />
  </identifier>
  <version value="0" />
  <name value="Problem_diagnosis" />
  <title value="Problem/Diagnosis" />
  <status value="draft" />
  <date value="2024-06-18" />
  <publisher value="openEHR" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://www.veratech.es" />
    </telecom>
  </contact>
  <description value="Details about a single identified health condition, injury, disability or any other issue which impacts on the physical, mental and/or social well-being of an individual." />
  <purpose value="For recording details about a single, identified health problem or diagnosis. &#xD;&#xA;&#xD;&#xA;The intended scope of a health problem is deliberately kept loose in the context of clinical documentation, so as to capture any real or perceived concerns that may adversely affect an individual's wellbeing to any degree. A health problem may be identified by the individual, a carer or a healthcare professional. However, a diagnosis is additionally defined based on objective clinical criteria, and usually determined only by a healthcare professional." />
  <fhirVersion value="4.0.0" />
  <mapping>
    <identity value="openEHR" />
    <uri value="http://openehr.org" />
    <name value="openEHR Mapping" />
  </mapping>
  <mapping>
    <identity value="openEHR-natural" />
    <uri value="http://openehr.org" />
    <name value="openEHR natural path" />
  </mapping>
  <kind value="logical" />
  <abstract value="false" />
  <type value="StructureDefinition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" />
  <snapshot>
    <element id="StructureDefinition">
      <path value="StructureDefinition" />
      <short value="Base for all elements" />
      <definition value="Base definition for all elements in a resource." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="StructureDefinition" />
        <min value="0" />
        <max value="*" />
      </base>
      <condition value="ele-1" />
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <xpath value="@value|f:*|h:div" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element id="StructureDefinition.id">
      <path value="StructureDefinition.id" />
      <representation value="xmlAttr" />
      <short value="Unique id for inter-element referencing" />
      <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="string" />
        </extension>
        <code value="http://hl7.org/fhirpath/System.String" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element id="StructureDefinition.extension">
      <path value="StructureDefinition.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <description value="Extensions are always sliced by (at least) url" />
        <rules value="open" />
      </slicing>
      <short value="Additional content defined by implementations" />
      <definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
      <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
      <alias value="extensions" />
      <alias value="user content" />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Element.extension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
      <condition value="ele-1" />
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="hasValue() or (children().count() &gt; id.count())" />
        <xpath value="@value|f:*|h:div" />
        <source value="http://hl7.org/fhir/StructureDefinition/Element" />
      </constraint>
      <constraint>
        <key value="ext-1" />
        <severity value="error" />
        <human value="Must have either extensions or value[x], not both" />
        <expression value="extension.exists() != value.exists()" />
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
        <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
      </constraint>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
  </snapshot>
</StructureDefinition>