<StructureDefinition xmlns="http://hl7.org/fhir">
  <meta>
    <lastUpdated value="2019-02-25T09:58:41.613114+00:00" />
  </meta>
  <url value="https://medico-emr.net/medico/r4/sd/Observation_Base_1" />
  <name value="Observation_Base_1" />
  <status value="draft" />
  <date value="2019-02-25T09:58:41.5396164+00:00" />
  <description value="Base profile to be used by other observation-based profiles in medico" />
  <fhirVersion value="4.0.0" />
  <kind value="resource" />
  <abstract value="true" />
  <type value="Observation" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation">
      <path value="Observation" />
      <comment value="Base profile to be used by other observation-based profiles in medico" />
    </element>
    <element id="Observation.id">
      <path value="Observation.id" />
      <min value="1" />
    </element>
    <element id="Observation.meta">
      <path value="Observation.meta" />
      <min value="1" />
    </element>
    <element id="Observation.meta.id">
      <path value="Observation.meta.id" />
      <max value="0" />
    </element>
    <element id="Observation.meta.versionId">
      <path value="Observation.meta.versionId" />
      <max value="0" />
    </element>
    <element id="Observation.meta.source">
      <path value="Observation.meta.source" />
      <max value="0" />
    </element>
    <element id="Observation.meta.profile">
      <path value="Observation.meta.profile" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.meta.security">
      <path value="Observation.meta.security" />
      <max value="0" />
    </element>
    <element id="Observation.meta.tag">
      <path value="Observation.meta.tag" />
      <max value="0" />
    </element>
    <element id="Observation.implicitRules">
      <path value="Observation.implicitRules" />
      <max value="0" />
    </element>
    <element id="Observation.language">
      <path value="Observation.language" />
      <max value="0" />
    </element>
    <element id="Observation.text">
      <path value="Observation.text" />
      <max value="0" />
    </element>
    <element id="Observation.contained">
      <path value="Observation.contained" />
      <max value="0" />
    </element>
    <element id="Observation.identifier">
      <path value="Observation.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <constraint>
        <key value="medico-identifier-required" />
        <severity value="error" />
        <human value="at least one identifier with a medico codesystem is required" />
        <expression value="where(system.contains('https://medico-emr.net')).count() &gt; 0" />
        <source value="Observation" />
      </constraint>
    </element>
    <element id="Observation.identifier:medicoResourceId">
      <path value="Observation.identifier" />
      <sliceName value="medicoResourceId" />
      <type>
        <code value="Identifier" />
        <profile value="https://medico-emr.net/medico/r4/sd/Identifier_medicoResourceId_1" />
      </type>
    </element>
    <element id="Observation.basedOn">
      <path value="Observation.basedOn" />
      <max value="0" />
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.category.id">
      <path value="Observation.category.id" />
      <max value="0" />
    </element>
    <element id="Observation.category.coding">
      <path value="Observation.category.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.category.coding.id">
      <path value="Observation.category.coding.id" />
      <max value="0" />
    </element>
    <element id="Observation.category.coding.system">
      <path value="Observation.category.coding.system" />
      <min value="1" />
    </element>
    <element id="Observation.category.coding.version">
      <path value="Observation.category.coding.version" />
      <max value="0" />
    </element>
    <element id="Observation.category.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
    </element>
    <element id="Observation.category.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Observation.category.coding.display" />
      <max value="0" />
    </element>
    <element id="Observation.category.coding.userSelected">
      <path value="Observation.category.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <profile value="https://medico-emr.net/medico/r4/sd/Reference_SubjectPatient_1" />
        <targetProfile value="https://medico-emr.net/medico/r4/sd/Patient_Patient_1" />
      </type>
    </element>
    <element id="Observation.focus">
      <path value="Observation.focus" />
      <max value="0" />
    </element>
    <element id="Observation.encounter">
      <path value="Observation.encounter" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <profile value="https://medico-emr.net/medico/r4/sd/Reference_ContextEncounter_1" />
        <targetProfile value="https://medico-emr.net/medico/r4/sd/Encounter_Case_1" />
      </type>
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Observation.performer">
      <path value="Observation.performer" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://medico-emr.net/medico/r4/sd/Practitioner_User_1" />
      </type>
    </element>
    <element id="Observation.dataAbsentReason">
      <path value="Observation.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.method">
      <path value="Observation.method" />
      <max value="0" />
    </element>
    <element id="Observation.specimen">
      <path value="Observation.specimen" />
      <max value="0" />
    </element>
    <element id="Observation.device">
      <path value="Observation.device" />
      <max value="0" />
    </element>
    <element id="Observation.referenceRange">
      <path value="Observation.referenceRange" />
      <max value="1" />
    </element>
  </differential>
</StructureDefinition>