<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="logicalmodel-Refractionassessment-R4" />
  <url value="http://linkehr.com/fhir/logicalmodel-refractionassessment-R4" />
  <identifier>
    <system value="openEHR-CKM" />
    <value value="openEHR-EHR-OBSERVATION.refraction.v0" />
  </identifier>
  <version value="0" />
  <name value="Refractionassessment" />
  <title value="Refraction assessment" />
  <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="Assessment of the refraction required to achieve optimal visual acuity." />
  <purpose value="For recording the results of a refraction assessment, either performed on the patient's usual correction or by refraction of the patient." />
  <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="Refraction_assessment">
      <path value="Refraction_assessment" />
      <short value="Refraction assessment" />
      <definition value="Assessment of the refraction required to achieve optimal visual acuity." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.protocol">
      <path value="Refraction_assessment.protocol" />
      <short value="Tree" />
      <definition value="@ internal @" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.protocol" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.protocol.Device_Details">
      <path value="Refraction_assessment.protocol.Device_Details" />
      <short value="Device Details" />
      <definition value="Details of the device used to measure refraction." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.protocol.Device_Details" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.protocol.Extension">
      <path value="Refraction_assessment.protocol.Extension" />
      <short value="Extension" />
      <definition value="Additional information required to capture local content or to align with other reference models/formalisms." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Refraction_assessment.protocol.Extension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series">
      <path value="Refraction_assessment.Event_Series" />
      <short value="Event Series" />
      <definition value="@ internal @" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event">
      <path value="Refraction_assessment.Event_Series.Any_event" />
      <short value="Any event" />
      <definition value="Default, unspecified point in time or interval event which may be explicitly defined in a template or at run-time." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data">
      <path value="Refraction_assessment.Event_Series.Any_event.data" />
      <short value="Tree" />
      <definition value="@ internal @" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Description">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Description" />
      <short value="Description" />
      <definition value="An overall narrative description of the visual acuity test result." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Description" />
        <min value="0" />
        <max value="1" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Description.value">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Description.value" />
      <short value="Description" />
      <definition value="An overall narrative description of the visual acuity test result." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Description.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details" />
      <short value="Result details" />
      <definition value="Details of the refraction result for each eye." />
      <min value="0" />
      <max value="2" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details" />
        <min value="0" />
        <max value="2" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.Test_eye">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Test_eye" />
      <short value="Test eye" />
      <definition value="Identification of the eye which is being tested." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Test_eye" />
        <min value="0" />
        <max value="1" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.Test_eye.value">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Test_eye.value" />
      <short value="Test eye" />
      <definition value="Identification of the eye which is being tested." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Test_eye.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.Refraction_details">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Refraction_details" />
      <short value="Refraction details" />
      <definition value="Details of refraction for a single eye." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Refraction_details" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.No_test_result">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.No_test_result" />
      <short value="No test result" />
      <definition value="No refraction test result is available for the test eye." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.No_test_result" />
        <min value="0" />
        <max value="1" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.No_test_result.value">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.No_test_result.value" />
      <short value="No test result" />
      <definition value="No refraction test result is available for the test eye." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.No_test_result.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="boolean" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.Reason_for_no_test_result">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Reason_for_no_test_result" />
      <short value="Reason for no test result" />
      <definition value="Reason why no refraction result is available for the test eye." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Reason_for_no_test_result" />
        <min value="0" />
        <max value="1" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.Reason_for_no_test_result.value">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Reason_for_no_test_result.value" />
      <short value="Reason for no test result" />
      <definition value="Reason why no refraction result is available for the test eye." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Reason_for_no_test_result.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.Interpretation">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Interpretation" />
      <short value="Interpretation" />
      <definition value="The test result expressed as a qualitative term, normally coded." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Interpretation" />
        <min value="0" />
        <max value="*" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Result_details.Interpretation.value">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Interpretation.value" />
      <short value="Interpretation" />
      <definition value="The test result expressed as a qualitative term, normally coded." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Result_details.Interpretation.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Overall_interpretation">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Overall_interpretation" />
      <short value="Overall interpretation" />
      <definition value="A term, commonly coded, expressing an overall interpretation of the visual acuity test." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Overall_interpretation" />
        <min value="0" />
        <max value="*" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Overall_interpretation.value">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Overall_interpretation.value" />
      <short value="Overall interpretation" />
      <definition value="A term, commonly coded, expressing an overall interpretation of the visual acuity test." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Overall_interpretation.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Comment">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Comment" />
      <short value="Comment" />
      <definition value="Any additional narrative comment about the visual acuity test." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Comment" />
        <min value="0" />
        <max value="1" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Comment.value">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Comment.value" />
      <short value="Comment" />
      <definition value="Any additional narrative comment about the visual acuity test." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Comment.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.data.Examination_not_done">
      <path value="Refraction_assessment.Event_Series.Any_event.data.Examination_not_done" />
      <short value="Examination not done" />
      <definition value="Details to explicitly record that this test was not performed." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.data.Examination_not_done" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.state">
      <path value="Refraction_assessment.Event_Series.Any_event.state" />
      <short value="Tree" />
      <definition value="@ internal @" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.state" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.state.Confounding_Factors">
      <path value="Refraction_assessment.Event_Series.Any_event.state.Confounding_Factors" />
      <short value="Confounding Factors" />
      <definition value="Patient circumstances which affect interpretation of the result. Often termed 'reliability' in opthalmological documentation." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.state.Confounding_Factors" />
        <min value="0" />
        <max value="*" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.state.Confounding_Factors.value">
      <path value="Refraction_assessment.Event_Series.Any_event.state.Confounding_Factors.value" />
      <short value="Confounding Factors" />
      <definition value="Patient circumstances which affect interpretation of the result. Often termed 'reliability' in opthalmological documentation." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.state.Confounding_Factors.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.state.Refractive_Correction">
      <path value="Refraction_assessment.Event_Series.Any_event.state.Refractive_Correction" />
      <short value="Refractive Correction" />
      <definition value="The specific type(s) of refractive correction applied." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.state.Refractive_Correction" />
        <min value="0" />
        <max value="*" />
      </base>
    </element>
    <element id="Refraction_assessment.Event_Series.Any_event.state.Refractive_Correction.value">
      <path value="Refraction_assessment.Event_Series.Any_event.state.Refractive_Correction.value" />
      <short value="Refractive Correction" />
      <definition value="The specific type(s) of refractive correction applied." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Refraction_assessment.Event_Series.Any_event.state.Refractive_Correction.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <isModifier value="false" />
      <isSummary value="true" />
    </element>
  </snapshot>
</StructureDefinition>