<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="1.3.6.1.4.1.38760.FHIR.1.5.1.1" />
  <url value="https://lab.vvis.gov.lv/fhir/StructureDefinition/Specimen/LaboratorySpecimenCollection-v1" />
  <version value="1" />
  <name value="LaboratorySpecimenCollection" />
  <title value="Laboratory Specimen Collection" />
  <status value="draft" />
  <publisher value="NHS" />
  <copyright value="@NHS Latvia" />
  <fhirVersion value="4.3.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Specimen" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Specimen" />
  <derivation value="constraint" />
  <differential>
    <element id="Specimen.meta">
      <path value="Specimen.meta" />
      <type>
        <code value="Meta" />
        <profile value="https://vvis.gov.lv/fhir/Datatype/Meta/MedicalMeta-v1" />
      </type>
    </element>
    <element id="Specimen.meta.tag">
      <path value="Specimen.meta.tag" />
    </element>
    <element id="Specimen.meta.tag:authorMedicalInstitution">
      <path value="Specimen.meta.tag" />
      <sliceName value="authorMedicalInstitution" />
      <min value="1" />
    </element>
    <element id="Specimen.meta.tag:entererPersonId">
      <path value="Specimen.meta.tag" />
      <sliceName value="entererPersonId" />
      <max value="0" />
    </element>
    <element id="Specimen.meta.tag:entererSystem">
      <path value="Specimen.meta.tag" />
      <sliceName value="entererSystem" />
      <min value="1" />
    </element>
    <element id="Specimen.implicitRules">
      <path value="Specimen.implicitRules" />
      <max value="0" />
    </element>
    <element id="Specimen.language">
      <path value="Specimen.language" />
      <max value="0" />
    </element>
    <element id="Specimen.text">
      <path value="Specimen.text" />
      <max value="0" />
    </element>
    <element id="Specimen.contained">
      <path value="Specimen.contained" />
      <max value="0" />
    </element>
    <element id="Specimen.extension">
      <path value="Specimen.extension" />
      <min value="1" />
    </element>
    <element id="Specimen.extension:typeOfSpieces">
      <path value="Specimen.extension" />
      <sliceName value="typeOfSpieces" />
      <type>
        <code value="Extension" />
        <profile value="https://lab.vvis.gov.lv/fhir/StructureDefinition/Extension/TypeOfSpieces-v1" />
      </type>
    </element>
    <element id="Specimen.extension:typeOfSpieces.id">
      <path value="Specimen.extension.id" />
      <max value="0" />
    </element>
    <element id="Specimen.extension:typeOfSpieces.value[x].id">
      <path value="Specimen.extension.value[x].id" />
      <max value="0" />
    </element>
    <element id="Specimen.extension:typeOfSpieces.value[x].coding.id">
      <path value="Specimen.extension.value[x].coding.id" />
      <max value="0" />
    </element>
    <element id="Specimen.extension:typeOfSpieces.value[x].text">
      <path value="Specimen.extension.value[x].text" />
      <max value="0" />
    </element>
    <element id="Specimen.extension:morphology">
      <path value="Specimen.extension" />
      <sliceName value="morphology" />
      <type>
        <code value="Extension" />
        <profile value="https://lab.vvis.gov.lv/fhir/StructureDefinition/Extension/Morphology-v1" />
      </type>
    </element>
    <element id="Specimen.extension:statusReason">
      <path value="Specimen.extension" />
      <sliceName value="statusReason" />
      <type>
        <code value="Extension" />
        <profile value="https://lab.vvis.gov.lv/fhir/StructureDefinition/Extention/StatusReason-v1" />
      </type>
    </element>
    <element id="Specimen.identifier">
      <path value="Specimen.identifier" />
      <definition value="Id for specimen. Id assigned by the specimen collector." />
      <max value="1" />
    </element>
    <element id="Specimen.identifier.use">
      <path value="Specimen.identifier.use" />
      <max value="0" />
    </element>
    <element id="Specimen.identifier.type">
      <path value="Specimen.identifier.type" />
      <max value="0" />
    </element>
    <element id="Specimen.identifier.system">
      <path value="Specimen.identifier.system" />
      <max value="0" />
    </element>
    <element id="Specimen.identifier.value">
      <path value="Specimen.identifier.value" />
      <min value="1" />
    </element>
    <element id="Specimen.identifier.period">
      <path value="Specimen.identifier.period" />
      <max value="0" />
    </element>
    <element id="Specimen.identifier.assigner">
      <path value="Specimen.identifier.assigner" />
      <min value="1" />
    </element>
    <element id="Specimen.identifier.assigner.id">
      <path value="Specimen.identifier.assigner.id" />
      <max value="0" />
    </element>
    <element id="Specimen.identifier.assigner.type">
      <path value="Specimen.identifier.assigner.type" />
      <min value="1" />
      <fixedUri value="Organization" />
    </element>
    <element id="Specimen.identifier.assigner.identifier">
      <path value="Specimen.identifier.assigner.identifier" />
      <max value="0" />
    </element>
    <element id="Specimen.accessionIdentifier.id">
      <path value="Specimen.accessionIdentifier.id" />
      <max value="0" />
    </element>
    <element id="Specimen.accessionIdentifier.use">
      <path value="Specimen.accessionIdentifier.use" />
      <max value="0" />
    </element>
    <element id="Specimen.accessionIdentifier.type">
      <path value="Specimen.accessionIdentifier.type" />
      <max value="0" />
    </element>
    <element id="Specimen.accessionIdentifier.system">
      <path value="Specimen.accessionIdentifier.system" />
      <max value="0" />
    </element>
    <element id="Specimen.accessionIdentifier.value">
      <path value="Specimen.accessionIdentifier.value" />
      <min value="1" />
    </element>
    <element id="Specimen.accessionIdentifier.period">
      <path value="Specimen.accessionIdentifier.period" />
      <max value="0" />
    </element>
    <element id="Specimen.accessionIdentifier.assigner">
      <path value="Specimen.accessionIdentifier.assigner" />
      <min value="1" />
    </element>
    <element id="Specimen.accessionIdentifier.assigner.id">
      <path value="Specimen.accessionIdentifier.assigner.id" />
      <max value="0" />
    </element>
    <element id="Specimen.accessionIdentifier.assigner.type">
      <path value="Specimen.accessionIdentifier.assigner.type" />
      <min value="1" />
      <fixedUri value="Organization" />
    </element>
    <element id="Specimen.accessionIdentifier.assigner.identifier">
      <path value="Specimen.accessionIdentifier.assigner.identifier" />
      <max value="0" />
    </element>
    <element id="Specimen.accessionIdentifier.assigner.display">
      <path value="Specimen.accessionIdentifier.assigner.display" />
      <definition value="Plain text narrative that identifies the resource in addition to the resource reference. Organization name is expected." />
    </element>
    <element id="Specimen.status">
      <path value="Specimen.status" />
      <min value="1" />
    </element>
    <element id="Specimen.type.coding">
      <path value="Specimen.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Specimen.type.coding.system">
      <path value="Specimen.type.coding.system" />
      <min value="1" />
      <fixedUri value="https://vvis.gov.lv/fhir/ValueSet/1.3.6.1.4.1.38760.2.809" />
    </element>
    <element id="Specimen.type.coding.version">
      <path value="Specimen.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Specimen.type.coding.code">
      <path value="Specimen.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Specimen.type.coding.display">
      <path value="Specimen.type.coding.display" />
      <min value="1" />
    </element>
    <element id="Specimen.type.coding.userSelected">
      <path value="Specimen.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Specimen.subject">
      <path value="Specimen.subject" />
      <min value="1" />
    </element>
    <element id="Specimen.subject.type">
      <path value="Specimen.subject.type" />
      <min value="1" />
      <fixedUri value="Patient" />
    </element>
    <element id="Specimen.subject.identifier">
      <path value="Specimen.subject.identifier" />
      <max value="0" />
    </element>
    <element id="Specimen.subject.display">
      <path value="Specimen.subject.display" />
      <max value="0" />
    </element>
    <element id="Specimen.receivedTime">
      <path value="Specimen.receivedTime" />
      <mustSupport value="true" />
    </element>
    <element id="Specimen.parent">
      <path value="Specimen.parent" />
      <max value="0" />
    </element>
    <element id="Specimen.request">
      <path value="Specimen.request" />
      <max value="0" />
    </element>
    <element id="Specimen.collection">
      <path value="Specimen.collection" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.collector">
      <path value="Specimen.collection.collector" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.collector.reference">
      <path value="Specimen.collection.collector.reference" />
      <definition value="PractitionerRole SHALL be referenced when known. When unknow, Practitioner SHALL be referenced." />
      <min value="1" />
    </element>
    <element id="Specimen.collection.collector.type">
      <path value="Specimen.collection.collector.type" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.collector.identifier">
      <path value="Specimen.collection.collector.identifier" />
      <max value="0" />
    </element>
    <element id="Specimen.collection.collector.display">
      <path value="Specimen.collection.collector.display" />
      <max value="0" />
    </element>
    <element id="Specimen.collection.collected[x]">
      <path value="Specimen.collection.collected[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Specimen.collection.collected[x]:collectedDateTime">
      <path value="Specimen.collection.collected[x]" />
      <sliceName value="collectedDateTime" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Specimen.collection.collected[x]:collectedDateTime.value">
      <path value="Specimen.collection.collected[x].value" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.collected[x]:collectedPeriod">
      <path value="Specimen.collection.collected[x]" />
      <sliceName value="collectedPeriod" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="Specimen.collection.collected[x]:collectedPeriod.start">
      <path value="Specimen.collection.collected[x].start" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.collected[x]:collectedPeriod.end">
      <path value="Specimen.collection.collected[x].end" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.duration.value">
      <path value="Specimen.collection.duration.value" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.duration.unit">
      <path value="Specimen.collection.duration.unit" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.duration.system">
      <path value="Specimen.collection.duration.system" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Specimen.collection.duration.code">
      <path value="Specimen.collection.duration.code" />
      <definition value="UCUM time codes SHALL be used." />
      <min value="1" />
      <binding>
        <strength value="required" />
        <description value="UCUM units" />
        <valueSet value="https://vvis.gov.lv/fhir/ValueSet/1.3.6.1.4.1.38760.2.803" />
      </binding>
    </element>
    <element id="Specimen.collection.quantity.value">
      <path value="Specimen.collection.quantity.value" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.quantity.unit">
      <path value="Specimen.collection.quantity.unit" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.quantity.system">
      <path value="Specimen.collection.quantity.system" />
      <min value="1" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Specimen.collection.quantity.code">
      <path value="Specimen.collection.quantity.code" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.method.coding">
      <path value="Specimen.collection.method.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Specimen.collection.method.coding.system">
      <path value="Specimen.collection.method.coding.system" />
      <min value="1" />
      <fixedUri value="https://vvis.gov.lv/fhir/ValueSet/1.3.6.1.4.1.38760.2.811" />
    </element>
    <element id="Specimen.collection.method.coding.version">
      <path value="Specimen.collection.method.coding.version" />
      <max value="0" />
    </element>
    <element id="Specimen.collection.method.coding.code">
      <path value="Specimen.collection.method.coding.code" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.method.coding.display">
      <path value="Specimen.collection.method.coding.display" />
      <min value="1" />
    </element>
    <element id="Specimen.collection.method.coding.userSelected">
      <path value="Specimen.collection.method.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Specimen.collection.bodySite.coding">
      <path value="Specimen.collection.bodySite.coding" />
      <max value="0" />
    </element>
    <element id="Specimen.collection.fastingStatus[x]">
      <path value="Specimen.collection.fastingStatus[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
    </element>
    <element id="Specimen.collection.fastingStatus[x]:fastingStatusCodeableConcept">
      <path value="Specimen.collection.fastingStatus[x]" />
      <sliceName value="fastingStatusCodeableConcept" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Specimen.collection.fastingStatus[x]:fastingStatusCodeableConcept.coding">
      <path value="Specimen.collection.fastingStatus[x].coding" />
      <max value="0" />
    </element>
    <element id="Specimen.processing.procedure">
      <path value="Specimen.processing.procedure" />
      <min value="1" />
    </element>
    <element id="Specimen.processing.procedure.coding">
      <path value="Specimen.processing.procedure.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Specimen.processing.procedure.coding.system">
      <path value="Specimen.processing.procedure.coding.system" />
      <min value="1" />
      <fixedUri value="https://vvis.gov.lv/fhir/ValueSet/1.3.6.1.4.1.38760.2.811" />
    </element>
    <element id="Specimen.processing.procedure.coding.version">
      <path value="Specimen.processing.procedure.coding.version" />
      <max value="0" />
    </element>
    <element id="Specimen.processing.procedure.coding.code">
      <path value="Specimen.processing.procedure.coding.code" />
      <min value="1" />
    </element>
    <element id="Specimen.processing.procedure.coding.display">
      <path value="Specimen.processing.procedure.coding.display" />
      <min value="1" />
    </element>
    <element id="Specimen.processing.procedure.coding.userSelected">
      <path value="Specimen.processing.procedure.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Specimen.condition">
      <path value="Specimen.condition" />
      <max value="1" />
    </element>
    <element id="Specimen.condition.coding">
      <path value="Specimen.condition.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Specimen.condition.coding.system">
      <path value="Specimen.condition.coding.system" />
      <min value="1" />
      <fixedUri value="https://vvis.gov.lv/fhir/ValueSet/1.3.6.1.4.1.38760.2.812" />
    </element>
    <element id="Specimen.condition.coding.version">
      <path value="Specimen.condition.coding.version" />
      <max value="0" />
    </element>
    <element id="Specimen.condition.coding.code">
      <path value="Specimen.condition.coding.code" />
      <min value="1" />
    </element>
    <element id="Specimen.condition.coding.display">
      <path value="Specimen.condition.coding.display" />
      <min value="1" />
    </element>
    <element id="Specimen.condition.coding.userSelected">
      <path value="Specimen.condition.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Specimen.note.author[x]">
      <path value="Specimen.note.author[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Specimen.note.author[x].id">
      <path value="Specimen.note.author[x].id" />
      <max value="0" />
    </element>
    <element id="Specimen.note.author[x].reference">
      <path value="Specimen.note.author[x].reference" />
      <definition value="Reference to PractitionerRole SHOULD be provided." />
      <min value="1" />
    </element>
    <element id="Specimen.note.author[x].type">
      <path value="Specimen.note.author[x].type" />
      <min value="1" />
    </element>
    <element id="Specimen.note.author[x].identifier">
      <path value="Specimen.note.author[x].identifier" />
      <max value="0" />
    </element>
    <element id="Specimen.note.author[x].display">
      <path value="Specimen.note.author[x].display" />
      <max value="0" />
    </element>
    <element id="Specimen.note.time">
      <path value="Specimen.note.time" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>