<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="shr-action-PerformedContext-extension" />
  <text>
    <status value="generated" />
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>
        <b>SHR PerformedContext Extension</b>
      </p>
      <p>ActionContext indicating actual performance or execution of a healthcare-related action, e.g., 3rd dose of Hepatitis B vaccine administered on Dec 4th 2012, appendectomy performed today.</p>
    </div>
  </text>
  <url value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-PerformedContext-extension" />
  <identifier>
    <system value="http://standardhealthrecord.org" />
    <value value="shr.action.PerformedContext" />
  </identifier>
  <version value="0.0.1" />
  <name value="SHR PerformedContext Extension" />
  <title value="SHR PerformedContext Extension" />
  <status value="draft" />
  <date value="2017-12-20" />
  <publisher value="The MITRE Corporation: Standard Health Record Collaborative" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://standardhealthrecord.org" />
    </telecom>
  </contact>
  <description value="ActionContext indicating actual performance or execution of a healthcare-related action, e.g., 3rd dose of Hepatitis B vaccine administered on Dec 4th 2012, appendectomy performed today." />
  <fhirVersion value="3.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <contextType value="resource" />
  <context value="*" />
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <snapshot>
    <element id="Extension:performedcontext">
      <path value="Extension" />
      <short value="SHR PerformedContext Extension" />
      <definition value="ActionContext indicating actual performance or execution of a healthcare-related action, e.g., 3rd dose of Hepatitis B vaccine administered on Dec 4th 2012, appendectomy performed today." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <condition value="ele-1" />
      <constraint>
        <key value="ele-1" />
        <severity value="error" />
        <human value="All FHIR elements must have a @value or children" />
        <expression value="children().count() &gt; id.count()" />
        <xpath value="@value|f:*|h:div" />
        <source value="Element" />
      </constraint>
      <constraint>
        <key value="ext-1" />
        <severity value="error" />
        <human value="Must have either extensions or value[x], not both" />
        <expression value="extension.exists() != value.exists()" />
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
        <source value="Extension" />
      </constraint>
    </element>
    <element id="Extension:performedcontext.id">
      <path value="Extension.id" />
      <representation value="xmlAttr" />
      <short value="xml:id (or equivalent in JSON)" />
      <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension">
      <path value="Extension.extension" />
      <slicing id="14">
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Extension" />
      <definition value="An Extension" />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Element.extension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:reason">
      <path value="Extension.extension" />
      <sliceName value="reason" />
      <definition value="The justification for an action or non-action, conclusion, opinion, etc." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-core-Reason-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:occurrencetimeorperiod">
      <path value="Extension.extension" />
      <sliceName value="occurrencetimeorperiod" />
      <definition value="The point in time or span of time in which something happens." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-core-OccurrenceTimeOrPeriod-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:participant">
      <path value="Extension.extension" />
      <sliceName value="participant" />
      <definition value="An object (usually a Person, Party, or Organization but potentially a device or other Entity) that participates in a task or activity." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Participant-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:status">
      <path value="Extension.extension" />
      <sliceName value="status" />
      <definition value="Position in workflow." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Status-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:status.id">
      <path value="Extension.extension.id" />
      <representation value="xmlAttr" />
      <short value="xml:id (or equivalent in JSON)" />
      <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:status.extension:extension">
      <path value="Extension.extension.extension" />
      <sliceName value="extension" />
      <short value="Extension" />
      <definition value="An Extension" />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="Element.extension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:status.url">
      <path value="Extension.extension.url" />
      <representation value="xmlAttr" />
      <short value="identifies the meaning of the extension" />
      <definition value="Source of the definition for the extension code - a logical name or a URL." />
      <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="Extension.url" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Status-extension" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:status.value[x]">
      <path value="Extension.extension.value[x]" />
      <short value="Value of extension" />
      <definition value="Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list)." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="Extension.value[x]" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="code" />
      </type>
      <type>
        <code value="Coding" />
      </type>
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <strength value="preferred" />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/event-status" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:method">
      <path value="Extension.extension" />
      <sliceName value="method" />
      <definition value="The technique used to carry out an action, for example, the specific imaging technical or assessment vehicle." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Method-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:relatedrequest">
      <path value="Extension.extension" />
      <sliceName value="relatedrequest" />
      <definition value="The request that this action fulfills" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-RelatedRequest-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:relatedplan">
      <path value="Extension.extension" />
      <sliceName value="relatedplan" />
      <definition value="The plan that this action fulfills" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-RelatedPlan-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:facility">
      <path value="Extension.extension" />
      <sliceName value="facility" />
      <definition value="Services and space and equipment provided for a particular purpose; a building or place that provides a particular service or is used for a particular industry. Could be a clinical site, community site, or a mobile facility." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-entity-Facility-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.extension:outcome">
      <path value="Extension.extension" />
      <sliceName value="outcome" />
      <definition value="The result of performing an action or behavior, for example, an adverse reaction or new finding." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="Extension.extension" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Outcome-extension" />
      </type>
      <isModifier value="false" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.url">
      <path value="Extension.url" />
      <representation value="xmlAttr" />
      <short value="identifies the meaning of the extension" />
      <definition value="Source of the definition for the extension code - a logical name or a URL." />
      <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="Extension.url" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-PerformedContext-extension" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Extension:performedcontext.value[x]">
      <path value="Extension.value[x]" />
      <short value="Value of extension" />
      <definition value="Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list)." />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="Extension.value[x]" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="base64Binary" />
      </type>
      <type>
        <code value="boolean" />
      </type>
      <type>
        <code value="code" />
      </type>
      <type>
        <code value="date" />
      </type>
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="decimal" />
      </type>
      <type>
        <code value="id" />
      </type>
      <type>
        <code value="instant" />
      </type>
      <type>
        <code value="integer" />
      </type>
      <type>
        <code value="markdown" />
      </type>
      <type>
        <code value="oid" />
      </type>
      <type>
        <code value="positiveInt" />
      </type>
      <type>
        <code value="string" />
      </type>
      <type>
        <code value="time" />
      </type>
      <type>
        <code value="unsignedInt" />
      </type>
      <type>
        <code value="uri" />
      </type>
      <type>
        <code value="Address" />
      </type>
      <type>
        <code value="Age" />
      </type>
      <type>
        <code value="Annotation" />
      </type>
      <type>
        <code value="Attachment" />
      </type>
      <type>
        <code value="CodeableConcept" />
      </type>
      <type>
        <code value="Coding" />
      </type>
      <type>
        <code value="ContactPoint" />
      </type>
      <type>
        <code value="Count" />
      </type>
      <type>
        <code value="Distance" />
      </type>
      <type>
        <code value="Duration" />
      </type>
      <type>
        <code value="HumanName" />
      </type>
      <type>
        <code value="Identifier" />
      </type>
      <type>
        <code value="Money" />
      </type>
      <type>
        <code value="Period" />
      </type>
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
      <type>
        <code value="Reference" />
      </type>
      <type>
        <code value="SampledData" />
      </type>
      <type>
        <code value="Signature" />
      </type>
      <type>
        <code value="Timing" />
      </type>
      <type>
        <code value="Meta" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element id="Extension:performedcontext">
      <path value="Extension" />
      <short value="SHR PerformedContext Extension" />
      <definition value="ActionContext indicating actual performance or execution of a healthcare-related action, e.g., 3rd dose of Hepatitis B vaccine administered on Dec 4th 2012, appendectomy performed today." />
      <min value="0" />
      <max value="*" />
    </element>
    <element id="Extension:performedcontext.extension:reason">
      <path value="Extension.extension" />
      <sliceName value="reason" />
      <definition value="The justification for an action or non-action, conclusion, opinion, etc." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-core-Reason-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:occurrencetimeorperiod">
      <path value="Extension.extension" />
      <sliceName value="occurrencetimeorperiod" />
      <definition value="The point in time or span of time in which something happens." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-core-OccurrenceTimeOrPeriod-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:participant">
      <path value="Extension.extension" />
      <sliceName value="participant" />
      <definition value="An object (usually a Person, Party, or Organization but potentially a device or other Entity) that participates in a task or activity." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Participant-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:status">
      <path value="Extension.extension" />
      <sliceName value="status" />
      <definition value="Position in workflow." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Status-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:status.value[x]">
      <path value="Extension.extension.value[x]" />
      <binding>
        <strength value="preferred" />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/event-status" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Extension:performedcontext.extension:method">
      <path value="Extension.extension" />
      <sliceName value="method" />
      <definition value="The technique used to carry out an action, for example, the specific imaging technical or assessment vehicle." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Method-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:relatedrequest">
      <path value="Extension.extension" />
      <sliceName value="relatedrequest" />
      <definition value="The request that this action fulfills" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-RelatedRequest-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:relatedplan">
      <path value="Extension.extension" />
      <sliceName value="relatedplan" />
      <definition value="The plan that this action fulfills" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-RelatedPlan-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:facility">
      <path value="Extension.extension" />
      <sliceName value="facility" />
      <definition value="Services and space and equipment provided for a particular purpose; a building or place that provides a particular service or is used for a particular industry. Could be a clinical site, community site, or a mobile facility." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-entity-Facility-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.extension:outcome">
      <path value="Extension.extension" />
      <sliceName value="outcome" />
      <definition value="The result of performing an action or behavior, for example, an adverse reaction or new finding." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-Outcome-extension" />
      </type>
    </element>
    <element id="Extension:performedcontext.url">
      <path value="Extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="http://standardhealthrecord.org/fhir/StructureDefinition/shr-action-PerformedContext-extension" />
    </element>
    <element id="Extension:performedcontext.value[x]">
      <path value="Extension.value[x]" />
      <min value="0" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>