<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="MaiaHiddenReason" />
  <url value="https://tiplu.de/fhir/maia/StructureDefinition/MaiaHiddenReason" />
  <version value="1.0.0" />
  <name value="MaiaHiddenReason" />
  <title value="Maia Hidden-Reason" />
  <status value="draft" />
  <experimental value="false" />
  <date value="2025-04-30" />
  <publisher value="Tiplu GmbH" />
  <description value="An extension to flag reasons why specific rule-based evaluation has to be hidden or withheld." />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="RiskAssessment" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="Maia Hidden-Reason" />
      <definition value="An extension to flag reasons why specific rule-based evaluation has to be hidden or withheld." />
      <isModifier value="true" />
      <isModifierReason value="The extension modifies the interpretation of the resource by indicating that information has to be intentionally withheld." />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://tiplu.de/fhir/maia/StructureDefinition/MaiaHiddenReason" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Extension.value[x].coding">
      <path value="Extension.value[x].coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Extension.value[x].coding:Reason">
      <path value="Extension.value[x].coding" />
      <sliceName value="Reason" />
      <short value="Coding representing the reason for hiding the information." />
      <comment value="Specifies a coded reason, from a controlled vocabulary, explaining why the content has to be hidden." />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="https://tiplu.de/fhir/maia/CodeSystem/MaiaHiddenReasonCS" />
      </patternCoding>
      <binding>
        <strength value="required" />
        <valueSet value="https://tiplu.de/fhir/maia/ValueSet/MaiaHiddenReasonVS" />
      </binding>
    </element>
    <element id="Extension.value[x].coding:Reason.system">
      <path value="Extension.value[x].coding.system" />
      <min value="1" />
    </element>
    <element id="Extension.value[x].coding:Reason.code">
      <path value="Extension.value[x].coding.code" />
      <min value="1" />
    </element>
    <element id="Extension.value[x].coding:Reason.display">
      <path value="Extension.value[x].coding.display" />
      <min value="1" />
    </element>
    <element id="Extension.value[x].text">
      <path value="Extension.value[x].text" />
      <short value="Text representation of the hidden reason." />
      <comment value="Provides a human-readable explanation for the reason the information has to be hidden." />
    </element>
  </differential>
</StructureDefinition>