<?xml version="1.0" encoding="UTF-8"?>

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="FiveWs"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">to do</div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="informative"/>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/>
  </extension>
  <url value="http://hl7.org/fhir/StructureDefinition/FiveWs"/>
  <version value="6.0.0-ballot4"/>
  <name value="FiveWs"/>
  <title value="fivews"/>
  <status value="draft"/>
  <experimental value="false"/>
  <date value="2026-04-03T20:06:10+00:00"/>
  <publisher value="HL7 International / FHIR Infrastructure"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://hl7.org/fhir"/>
    </telecom>
  </contact>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/fiwg"/>
    </telecom>
  </contact>
  <description value="Logical Model: Who What When Where Why - Common pattern for all resources that deals with attribution."/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
      <display value="World"/>
    </coding>
  </jurisdiction>
  <fhirVersion value="6.0.0-ballot4"/>
  <mapping>
    <identity value="w5"/>
    <uri value="http://hl7.org/fhir/fivews"/>
    <name value="FiveWs Pattern Mapping"/>
  </mapping>
  <kind value="logical"/>
  <abstract value="false"/>
  <type value="FiveWs"/>
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Base"/>
  <snapshot>
    <element id="FiveWs">
      <path value="FiveWs"/>
      <short value="Who What When Where Why - Common pattern for all resources that deals with attribution"/>
      <definition value="Who What When Where Why - Common pattern for all resources that deals with attribution."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="FiveWs.identifier">
      <path value="FiveWs.identifier"/>
      <short value="Business Identifier"/>
      <definition value="Business Identifier."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.identifier"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Identifier"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.identifier"/>
      </mapping>
    </element>
    <element id="FiveWs.version">
      <path value="FiveWs.version"/>
      <short value="Identifier for this version"/>
      <definition value="Identifier for this version."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="FiveWs.version"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.version"/>
      </mapping>
    </element>
    <element id="FiveWs.status">
      <path value="FiveWs.status"/>
      <short value="Status Field"/>
      <definition value="Status Field."/>
      <alias value="fulfills"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="FiveWs.status"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="true"/>
      <isModifierReason value="This is labeled as &quot;Is Modifier&quot; because applications should not use a retired CodeSystem without due consideration"/>
      <isSummary value="false"/>
      <binding>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/binding-definition">
          <valueMarkdown value="Status Field."/>
        </extension>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="CanonicalStatus"/>
        </extension>
        <strength value="required"/>
        <description value="Status Field."/>
        <valueSet value="http://hl7.org/fhir/ValueSet/resource-status|6.0.0-ballot4"/>
      </binding>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.status"/>
      </mapping>
    </element>
    <element id="FiveWs.class">
      <path value="FiveWs.class"/>
      <short value="Classifier Field"/>
      <definition value="Classifier Field."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.class"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.class"/>
      </mapping>
    </element>
    <element id="FiveWs.grade">
      <path value="FiveWs.grade"/>
      <short value="A field that indicates the potential impact of the content of the resource"/>
      <definition value="A field that indicates the potential impact of the content of the resource."/>
      <alias value="container"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="FiveWs.grade"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="FiveWs.what[x]">
      <path value="FiveWs.what[x]"/>
      <short value="What this resource is about"/>
      <definition value="what this resource is about."/>
      <alias value="Suspended Reason"/>
      <alias value="Cancelled Reason"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="FiveWs.what[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.what[x]"/>
      </mapping>
    </element>
    <element id="FiveWs.subject">
      <path value="FiveWs.subject"/>
      <short value="Who this resource is about"/>
      <definition value="Who this resource is about."/>
      <alias value="type"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.subject"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.subject"/>
      </mapping>
    </element>
    <element id="FiveWs.context">
      <path value="FiveWs.context"/>
      <short value="Context for the work described in this resource"/>
      <definition value="a resource that gives context for the work described in this resource (usually Encounter or EpisodeOfCare)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="FiveWs.context"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Encounter"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
    </element>
    <element id="FiveWs.init">
      <path value="FiveWs.init"/>
      <short value="When the work described in this resource was started (or will be)"/>
      <definition value="when the work described in this resource was started (or will be)."/>
      <alias value="patient"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="FiveWs.init"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="dateTime"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.init"/>
      </mapping>
    </element>
    <element id="FiveWs.planned">
      <path value="FiveWs.planned"/>
      <short value="When this resource is planned to occur"/>
      <definition value="when this resource is planned to occur."/>
      <alias value="encounter"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.planned"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Timing"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.planned"/>
      </mapping>
    </element>
    <element id="FiveWs.done[x]">
      <path value="FiveWs.done[x]"/>
      <short value="When the work described in this resource was completed (or will be)"/>
      <definition value="when the work described in this resource was completed (or will be)."/>
      <alias value="timing"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="FiveWs.done[x]"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="dateTime"/>
      </type>
      <type>
        <code value="Period"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.done[x]"/>
      </mapping>
    </element>
    <element id="FiveWs.recorded">
      <path value="FiveWs.recorded"/>
      <short value="When this resource itself was created"/>
      <definition value="when this resource itself was created."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="FiveWs.recorded"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="instant"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.recorded"/>
      </mapping>
    </element>
    <element id="FiveWs.author">
      <path value="FiveWs.author"/>
      <short value="Who authored the content of the resource"/>
      <definition value="who authored the content of the resource."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.author"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.author"/>
      </mapping>
    </element>
    <element id="FiveWs.source">
      <path value="FiveWs.source"/>
      <short value="Who provided the information in this resource"/>
      <definition value="Who provided the information in this resource."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.source"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.source"/>
      </mapping>
    </element>
    <element id="FiveWs.actor">
      <path value="FiveWs.actor"/>
      <short value="Who did the work described the resource (or will do)"/>
      <definition value="who did the work described the resource (or will do)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.actor"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.actor"/>
      </mapping>
    </element>
    <element id="FiveWs.cause">
      <path value="FiveWs.cause"/>
      <short value="Who prompted the work described in the resource"/>
      <definition value="who prompted the work described in the resource."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.cause"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.cause"/>
      </mapping>
    </element>
    <element id="FiveWs.witness">
      <path value="FiveWs.witness"/>
      <short value="Who attests to the content of the resource (individual or org)"/>
      <definition value="who attests to the content of the resource (individual or org)."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.witness"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.witness"/>
      </mapping>
    </element>
    <element id="FiveWs.who">
      <path value="FiveWs.who"/>
      <short value="An actor involved in the work described by this resource"/>
      <definition value="An actor involved in the work described by this resource."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.who"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.who"/>
      </mapping>
    </element>
    <element id="FiveWs.where[x]">
      <path value="FiveWs.where[x]"/>
      <short value="The location of the work described"/>
      <definition value="The location of the work described."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.where[x]"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Location"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.where[x]"/>
      </mapping>
    </element>
    <element id="FiveWs.why[x]">
      <path value="FiveWs.why[x]"/>
      <short value="Why this work was done"/>
      <definition value="Why this work was done."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="FiveWs.why[x]"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource"/>
      </type>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/>
      </constraint>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="w5"/>
        <map value="FiveWs.why[x]"/>
      </mapping>
    </element>
  </snapshot>
</StructureDefinition>