<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="1.3.6.1.4.1.38760.FHIR.1.52.2.1" />
  <url value="https://lab.vvis.gov.lv/fhir/StructureDefinition/Coverage/PrivateInsurance-v1" />
  <version value="1" />
  <name value="PrivateInsurance" />
  <status value="active" />
  <publisher value="NHS Latvia" />
  <fhirVersion value="4.3.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Coverage" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Coverage" />
  <derivation value="constraint" />
  <differential>
    <element id="Coverage.meta">
      <path value="Coverage.meta" />
      <min value="1" />
      <type>
        <code value="Meta" />
        <profile value="https://vvis.gov.lv/fhir/Datatype/Meta/MedicalMeta-v1" />
      </type>
    </element>
    <element id="Coverage.meta.tag">
      <path value="Coverage.meta.tag" />
    </element>
    <element id="Coverage.meta.tag:authorMedicalInstitution">
      <path value="Coverage.meta.tag" />
      <sliceName value="authorMedicalInstitution" />
      <min value="1" />
    </element>
    <element id="Coverage.meta.tag:entererMedicalPerson">
      <path value="Coverage.meta.tag" />
      <sliceName value="entererMedicalPerson" />
      <min value="1" />
    </element>
    <element id="Coverage.meta.tag:entererPersonId">
      <path value="Coverage.meta.tag" />
      <sliceName value="entererPersonId" />
      <max value="0" />
    </element>
    <element id="Coverage.meta.tag:entererSystem">
      <path value="Coverage.meta.tag" />
      <sliceName value="entererSystem" />
      <min value="1" />
    </element>
    <element id="Coverage.meta.tag:entererMedicalPersonRole">
      <path value="Coverage.meta.tag" />
      <sliceName value="entererMedicalPersonRole" />
      <definition value="Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.&#xD;&#xA;&#xD;&#xA;©NHS: Values SHALL be provided in CREATE and UPDATE requests of Medical Institutions when Medical Person Role is used for authorization. When provided SHALL be validated against JWT ." />
    </element>
    <element id="Coverage.implicitRules">
      <path value="Coverage.implicitRules" />
      <max value="0" />
    </element>
    <element id="Coverage.language">
      <path value="Coverage.language" />
      <max value="0" />
    </element>
    <element id="Coverage.text">
      <path value="Coverage.text" />
      <max value="0" />
    </element>
    <element id="Coverage.contained">
      <path value="Coverage.contained" />
      <max value="0" />
    </element>
    <element id="Coverage.identifier">
      <path value="Coverage.identifier" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Coverage.identifier.id">
      <path value="Coverage.identifier.id" />
      <max value="0" />
    </element>
    <element id="Coverage.identifier.use">
      <path value="Coverage.identifier.use" />
      <max value="0" />
    </element>
    <element id="Coverage.identifier.type">
      <path value="Coverage.identifier.type" />
      <max value="0" />
    </element>
    <element id="Coverage.identifier.system">
      <path value="Coverage.identifier.system" />
      <max value="0" />
    </element>
    <element id="Coverage.identifier.value">
      <path value="Coverage.identifier.value" />
      <definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system.&#xD;&#xA;&#xD;&#xA;©NHS: Insurance number is expected." />
      <min value="1" />
    </element>
    <element id="Coverage.identifier.period">
      <path value="Coverage.identifier.period" />
      <max value="0" />
    </element>
    <element id="Coverage.identifier.assigner">
      <path value="Coverage.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Coverage.status">
      <path value="Coverage.status" />
      <definition value="The status of the resource instance.&#xD;&#xA;&#xD;&#xA;©NHS: Only active or entered-in-error status is expected." />
    </element>
    <element id="Coverage.type">
      <path value="Coverage.type" />
      <max value="0" />
    </element>
    <element id="Coverage.type.coding">
      <path value="Coverage.type.coding" />
      <max value="1" />
    </element>
    <element id="Coverage.policyHolder">
      <path value="Coverage.policyHolder" />
      <max value="0" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Coverage.subscriber">
      <path value="Coverage.subscriber" />
      <max value="0" />
    </element>
    <element id="Coverage.subscriberId">
      <path value="Coverage.subscriberId" />
      <max value="0" />
    </element>
    <element id="Coverage.beneficiary.id">
      <path value="Coverage.beneficiary.id" />
      <max value="0" />
    </element>
    <element id="Coverage.beneficiary.reference">
      <path value="Coverage.beneficiary.reference" />
      <min value="1" />
    </element>
    <element id="Coverage.beneficiary.type">
      <path value="Coverage.beneficiary.type" />
      <min value="1" />
      <fixedUri value="Patient" />
    </element>
    <element id="Coverage.beneficiary.identifier">
      <path value="Coverage.beneficiary.identifier" />
      <max value="0" />
    </element>
    <element id="Coverage.beneficiary.display">
      <path value="Coverage.beneficiary.display" />
      <max value="0" />
    </element>
    <element id="Coverage.dependent">
      <path value="Coverage.dependent" />
      <max value="0" />
    </element>
    <element id="Coverage.relationship">
      <path value="Coverage.relationship" />
      <max value="0" />
    </element>
    <element id="Coverage.period">
      <path value="Coverage.period" />
      <min value="1" />
    </element>
    <element id="Coverage.period.id">
      <path value="Coverage.period.id" />
      <max value="0" />
    </element>
    <element id="Coverage.period.start">
      <path value="Coverage.period.start" />
      <min value="1" />
      <constraint>
        <key value="lab-date-only" />
        <severity value="error" />
        <human value="This value shall be a date (without a time component)" />
        <expression value="toString().matches('^\\d{4}(-\\d{2}){2}$')" />
      </constraint>
    </element>
    <element id="Coverage.period.end">
      <path value="Coverage.period.end" />
      <min value="1" />
      <constraint>
        <key value="lab-date-only" />
        <severity value="error" />
        <human value="This value shall be a date (without a time component)" />
        <expression value="toString().matches('^\\d{4}(-\\d{2}){2}$')" />
      </constraint>
    </element>
    <element id="Coverage.payor">
      <path value="Coverage.payor" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Coverage.payor.id">
      <path value="Coverage.payor.id" />
      <max value="0" />
    </element>
    <element id="Coverage.payor.reference">
      <path value="Coverage.payor.reference" />
      <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.&#xD;&#xA;&#xD;&#xA;©NHS: Reference to Insurance Company is expected. Originates from VVIS classifier 1.3.6.1.4.1.38760.2.834. In NHS FHIR system is represented by Organization resource (profile: https://vvis.gov.lv/fhir/StructureDefinition/Organization/InsurerInstitution-v1)" />
      <min value="1" />
    </element>
    <element id="Coverage.payor.type">
      <path value="Coverage.payor.type" />
      <min value="1" />
      <fixedUri value="Organization" />
    </element>
    <element id="Coverage.payor.identifier">
      <path value="Coverage.payor.identifier" />
      <max value="0" />
    </element>
    <element id="Coverage.payor.display">
      <path value="Coverage.payor.display" />
      <max value="0" />
      <fixedString value="Nacionālais veselības dienests" />
    </element>
    <element id="Coverage.class">
      <path value="Coverage.class" />
      <max value="0" />
    </element>
    <element id="Coverage.class.id">
      <path value="Coverage.class.id" />
      <max value="0" />
    </element>
    <element id="Coverage.class.type.id">
      <path value="Coverage.class.type.id" />
      <max value="0" />
    </element>
    <element id="Coverage.class.type.coding">
      <path value="Coverage.class.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Coverage.class.type.coding.id">
      <path value="Coverage.class.type.coding.id" />
      <max value="0" />
    </element>
    <element id="Coverage.class.type.coding.system">
      <path value="Coverage.class.type.coding.system" />
      <min value="1" />
      <fixedUri value="https://vvis.gov.lv/fhir/ValueSet/1.3.6.1.4.1.38760.2.163" />
    </element>
    <element id="Coverage.class.type.coding.version">
      <path value="Coverage.class.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Coverage.class.type.coding.code">
      <path value="Coverage.class.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Coverage.class.type.coding.display">
      <path value="Coverage.class.type.coding.display" />
      <min value="1" />
    </element>
    <element id="Coverage.class.type.coding.userSelected">
      <path value="Coverage.class.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Coverage.class.type.text">
      <path value="Coverage.class.type.text" />
      <max value="0" />
    </element>
    <element id="Coverage.class.name">
      <path value="Coverage.class.name" />
      <max value="0" />
    </element>
    <element id="Coverage.order">
      <path value="Coverage.order" />
      <max value="0" />
    </element>
    <element id="Coverage.network">
      <path value="Coverage.network" />
      <max value="0" />
    </element>
    <element id="Coverage.costToBeneficiary">
      <path value="Coverage.costToBeneficiary" />
      <max value="0" />
    </element>
    <element id="Coverage.subrogation">
      <path value="Coverage.subrogation" />
      <definition value="When 'subrogation=true' this insurance instance has been included not for adjudication but to provide insurers with the details to recover costs.&#xD;&#xA;&#xD;&#xA;©NHS: subrogation=true in this case means that private insurance existance does not affect requested service payor: NHS or patient. This is additional information for all parties to reimburse costs." />
      <min value="1" />
      <fixedBoolean value="true" />
    </element>
    <element id="Coverage.contract">
      <path value="Coverage.contract" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>