<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://fhir.synapxe.sg/StructureDefinition/profile-operation-outcome" />
  <name value="OperationOutcome" />
  <status value="active" />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="OperationOutcome" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/OperationOutcome" />
  <derivation value="constraint" />
  <differential>
    <element id="OperationOutcome.issue.id">
      <path value="OperationOutcome.issue.id" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.extension">
      <path value="OperationOutcome.issue.extension" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.modifierExtension">
      <path value="OperationOutcome.issue.modifierExtension" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.severity">
      <path value="OperationOutcome.issue.severity" />
      <mustHaveValue value="true" />
    </element>
    <element id="OperationOutcome.issue.code">
      <path value="OperationOutcome.issue.code" />
      <mustHaveValue value="true" />
    </element>
    <element id="OperationOutcome.issue.details">
      <path value="OperationOutcome.issue.details" />
      <definition value="Additional details about the error. Business logic specific error code and message will be conveyed in this data element" />
    </element>
    <element id="OperationOutcome.issue.details.id">
      <path value="OperationOutcome.issue.details.id" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.details.extension">
      <path value="OperationOutcome.issue.details.extension" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.details.coding.id">
      <path value="OperationOutcome.issue.details.coding.id" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.details.coding.extension">
      <path value="OperationOutcome.issue.details.coding.extension" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.details.coding.code">
      <path value="OperationOutcome.issue.details.coding.code" />
      <short value="The issue code" />
      <definition value="Business rule codes start with &quot;E&quot;. For example E-10001&#xD;&#xA;Not found codes start with &quot;I&quot;. For example, I-14001&#xD;&#xA;System validation resource instance error codes start with &quot;1&quot;&#xD;&#xA;System profile problems error codes start with &quot;2&quot;&#xD;&#xA;System unsupported error codes start with &quot;3&quot;&#xD;&#xA;System non-availability, incomplete data error codes start with &quot;4&quot;&#xD;&#xA;System processing information error codes start with &quot;5&quot;&#xD;&#xA;System terminology specific error codes start with &quot;6&quot;" />
      <min value="1" />
    </element>
    <element id="OperationOutcome.issue.details.coding.userSelected">
      <path value="OperationOutcome.issue.details.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="OperationOutcome.issue.details.text">
      <path value="OperationOutcome.issue.details.text" />
      <short value="The issue details" />
      <definition value="The issue details. For example, Patient is not found" />
    </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>