<StructureDefinition xmlns="http://hl7.org/fhir">
  <meta>
    <lastUpdated value="2022-03-12T00:03:36.651+00:00" />
  </meta>
  <url value="http://ehealth.bc.ca/fhir/StructureDefinition/RetrievalOperationOutcome" />
  <name value="RetrievalOperationOutcome" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="OperationOutcome" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/OperationOutcome" />
  <derivation value="constraint" />
  <differential>
    <element id="OperationOutcome">
      <path value="OperationOutcome" />
      <comment value="Required if resourceMessageHeader.response.code &lt;&gt; &quot;ok&quot;" />
    </element>
    <element id="OperationOutcome.id">
      <path value="OperationOutcome.id" />
      <comment value="Apply same GUID as Bundle ID" />
      <min value="1" />
    </element>
    <element id="OperationOutcome.meta">
      <path value="OperationOutcome.meta" />
    </element>
    <element id="OperationOutcome.meta.id">
      <path value="OperationOutcome.meta.id" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.meta.versionId">
      <path value="OperationOutcome.meta.versionId" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.meta.lastUpdated">
      <path value="OperationOutcome.meta.lastUpdated" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.meta.source">
      <path value="OperationOutcome.meta.source" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.meta.profile">
      <path value="OperationOutcome.meta.profile" />
      <comment value="Apply &quot;http://ehealth.bc.ca/fhir/StructureDefinition/RetrievalOperationOutcome&quot;" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="OperationOutcome.meta.security">
      <path value="OperationOutcome.meta.security" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.meta.tag">
      <path value="OperationOutcome.meta.tag" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.implicitRules">
      <path value="OperationOutcome.implicitRules" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.language">
      <path value="OperationOutcome.language" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.text">
      <path value="OperationOutcome.text" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.contained">
      <path value="OperationOutcome.contained" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.id">
      <path value="OperationOutcome.issue.id" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.severity">
      <path value="OperationOutcome.issue.severity" />
      <comment value="See Mappings" />
      <mapping>
        <identity value="invalid-client-id-phn" />
        <map value="&quot;error&quot;" />
      </mapping>
      <mapping>
        <identity value="inactive-deceased" />
        <map value="&quot;error&quot;" />
      </mapping>
      <mapping>
        <identity value="inactive-nonSurvivor" />
        <map value="&quot;warning&quot;" />
      </mapping>
    </element>
    <element id="OperationOutcome.issue.code">
      <path value="OperationOutcome.issue.code" />
      <comment value="See Mappings" />
      <mapping>
        <identity value="invalid-client-id-phn" />
        <map value="&quot;not-found&quot;" />
      </mapping>
      <mapping>
        <identity value="inactive-deceased" />
        <map value="&quot;not-supported&quot;" />
      </mapping>
      <mapping>
        <identity value="inactive-nonSurvivor" />
        <map value="&quot;informational&quot;" />
      </mapping>
    </element>
    <element id="OperationOutcome.issue.details">
      <path value="OperationOutcome.issue.details" />
      <min value="1" />
    </element>
    <element id="OperationOutcome.issue.details.id">
      <path value="OperationOutcome.issue.details.id" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.details.coding">
      <path value="OperationOutcome.issue.details.coding" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.details.text">
      <path value="OperationOutcome.issue.details.text" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="invalid-client-id-phn" />
        <map value="The inquired PHN/PIR Client ID has no match in Panorama, no record returned." />
      </mapping>
      <mapping>
        <identity value="inactive-deceased" />
        <map value="The inquired PHN/PIR Client ID matches to a deceased record in Panorama, no immunization record returned." />
      </mapping>
      <mapping>
        <identity value="inactive-nonSurvivor" />
        <map value="The inquired PHN matches to a merged PHN pair, this PHN is the non-survivor. The survivor PHN for this client is PHN (nnn…..) in Panorama. The inquired PIR Client ID matches to a merged PIR Client ID pair, this is the non-survivor. The survivor PIR Client ID for this client is PIR Client ID (nnn…..) in Panorama" />
      </mapping>
    </element>
    <element id="OperationOutcome.issue.diagnostics">
      <path value="OperationOutcome.issue.diagnostics" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.location">
      <path value="OperationOutcome.issue.location" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.expression">
      <path value="OperationOutcome.issue.expression" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>