<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="message-search-result" />
  <meta>
    <versionId value="37" />
    <lastUpdated value="2022-08-26T14:36:17.29+00:00" />
  </meta>
  <url value="http://fhir.cezih.hr/specifikacije/StructureDefinition/message-search-result" />
  <name value="PorukaRezultatPretrage" />
  <title value="Poruka rezultat pretrage uputnica" />
  <status value="active" />
  <description value="Rezultati pretrage uputnica. Odgovor na poruku MessageSearch(Pretraga uputnice)." />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Bundle" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Bundle" />
  <derivation value="constraint" />
  <differential>
    <element id="Bundle">
      <path value="Bundle" />
      <constraint>
        <key value="rsp-1" />
        <severity value="error" />
        <human value="Odgovor mora sadržavati rezultate pretrage (Bundle) ili informaciju o grešci (OperationOutcome)" />
        <expression value="(entry.resource.ofType(Bundle).exists() and entry.resource.ofType(OperationOutcome).exists().not()) or (entry.resource.ofType(OperationOutcome).exists() and entry.resource.ofType(Bundle).exists().not())" />
      </constraint>
      <constraint>
        <key value="rsp-2" />
        <severity value="error" />
        <human value="Zaglavlje poruke mora sadržavati referencu prema svim elementima poruke" />
        <expression value="(entry.resource.ofType(MessageHeader).focus.resolve().ofType(Bundle).exists() and entry.resource.ofType(MessageHeader).focus.resolve().ofType(OperationOutcome).exists().not()) or (entry.resource.ofType(MessageHeader).focus.resolve().ofType(OperationOutcome).exists() and entry.resource.ofType(MessageHeader).focus.resolve().ofType(Bundle).exists().not())" />
      </constraint>
    </element>
    <element id="Bundle.id">
      <path value="Bundle.id" />
      <short value="Jedinstveni identifikator poruke" />
      <definition value="Identifikator definira pošiljatelj poruke u UUID formatu." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.type">
      <path value="Bundle.type" />
      <fixedCode value="message" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.timestamp">
      <path value="Bundle.timestamp" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry">
      <path value="Bundle.entry" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="resource" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Bundle.entry:MessageHeader">
      <path value="Bundle.entry" />
      <sliceName value="MessageHeader" />
      <short value="Zaglavlje poruke" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:MessageHeader.fullUrl">
      <path value="Bundle.entry.fullUrl" />
      <short value="Jedinstveni identifikator zapisa u poruci" />
      <definition value="Ovaj identifikator mora biti jednak identifikatoru resursa (atribut id) koji se nalazi u zapisu (entry)" />
    </element>
    <element id="Bundle.entry:MessageHeader.resource">
      <path value="Bundle.entry.resource" />
      <min value="1" />
      <type>
        <code value="MessageHeader" />
        <profile value="http://fhir.cezih.hr/specifikacije/StructureDefinition/hr-message-header" />
      </type>
    </element>
    <element id="Bundle.entry:MessageHeader.resource.event[x]">
      <path value="Bundle.entry.resource.event[x]" />
      <short value="Kod poruke" />
      <definition value="Kod poruke definira da se radi o pretrazi uputnica po određenim kriterijima." />
      <fixedCoding>
        <system value="http://fhir.cezih.hr/specifikacije/CodeSystem/message-types" />
        <code value="3.11" />
      </fixedCoding>
    </element>
    <element id="Bundle.entry:MessageHeader.resource.response">
      <path value="Bundle.entry.resource.response" />
      <short value="Reference na poruku zahtjeva" />
      <min value="1" />
    </element>
    <element id="Bundle.entry:MessageHeader.resource.focus">
      <path value="Bundle.entry.resource.focus" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this.resolve()" />
        </discriminator>
        <rules value="closed" />
      </slicing>
    </element>
    <element id="Bundle.entry:MessageHeader.resource.focus:ishod-obrade-zahtjeva">
      <path value="Bundle.entry.resource.focus" />
      <sliceName value="ishod-obrade-zahtjeva" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.cezih.hr/specifikacije/StructureDefinition/ishod" />
      </type>
    </element>
    <element id="Bundle.entry:MessageHeader.resource.focus:rezultati-pretrage">
      <path value="Bundle.entry.resource.focus" />
      <sliceName value="rezultati-pretrage" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.cezih.hr/specifikacije/StructureDefinition/searchset" />
      </type>
    </element>
    <element id="Bundle.entry:MessageHeader.search">
      <path value="Bundle.entry.search" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:MessageHeader.request">
      <path value="Bundle.entry.request" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:MessageHeader.response">
      <path value="Bundle.entry.response" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:Ishod">
      <path value="Bundle.entry" />
      <sliceName value="Ishod" />
      <short value="Ishod operacije" />
      <definition value="Šalje se u slučaju pogreške. Sadrži informaciju o pogrešci." />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:Ishod.fullUrl">
      <path value="Bundle.entry.fullUrl" />
      <short value="Jedinstveni identifikator zapisa u poruci" />
      <definition value="Ovaj identifikator mora biti jednak identifikatoru resursa (atribut id) koji se nalazi u zapisu (entry)" />
      <min value="1" />
    </element>
    <element id="Bundle.entry:Ishod.resource">
      <path value="Bundle.entry.resource" />
      <min value="1" />
      <type>
        <code value="OperationOutcome" />
        <profile value="http://fhir.cezih.hr/specifikacije/StructureDefinition/ishod" />
      </type>
    </element>
    <element id="Bundle.entry:Ishod.search">
      <path value="Bundle.entry.search" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:Ishod.request">
      <path value="Bundle.entry.request" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:Ishod.response">
      <path value="Bundle.entry.response" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:rezultatiPretrage">
      <path value="Bundle.entry" />
      <sliceName value="rezultatiPretrage" />
      <short value="Rezultati pretrage" />
      <max value="1" />
    </element>
    <element id="Bundle.entry:rezultatiPretrage.fullUrl">
      <path value="Bundle.entry.fullUrl" />
      <short value="Jedinstveni identifikator zapisa u poruci" />
      <definition value="Ovaj identifikator mora biti jednak identifikatoru resursa (atribut id) koji se nalazi u zapisu (entry)" />
      <min value="1" />
    </element>
    <element id="Bundle.entry:rezultatiPretrage.resource">
      <path value="Bundle.entry.resource" />
      <min value="1" />
      <type>
        <code value="Bundle" />
        <profile value="http://fhir.cezih.hr/specifikacije/StructureDefinition/searchset" />
      </type>
    </element>
    <element id="Bundle.entry:rezultatiPretrage.search">
      <path value="Bundle.entry.search" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:rezultatiPretrage.request">
      <path value="Bundle.entry.request" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:rezultatiPretrage.response">
      <path value="Bundle.entry.response" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>