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

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="StructureDefinition-snapshot"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p class="res-header-id">
        <b>Generated Narrative: OperationDefinition StructureDefinition-snapshot</b>
      </p>
      <a name="StructureDefinition-snapshot"> </a>
      <a name="hcStructureDefinition-snapshot"> </a>
      <p>URL: [base]/StructureDefinition/$snapshot</p>
      <p>URL: [base]/StructureDefinition/[id]/$snapshot</p>
      <h3>Parameters</h3>
      <table class="grid">
        <tr>
          <td>
            <b>Use</b>
          </td>
          <td>
            <b>Name</b>
          </td>
          <td>
            <b>Scope</b>
          </td>
          <td>
            <b>Cardinality</b>
          </td>
          <td>
            <b>Type</b>
          </td>
          <td>
            <b>Binding</b>
          </td>
          <td>
            <b>Documentation</b>
          </td>
        </tr>
        <tr>
          <td>IN</td>
          <td>definition</td>
          <td>type</td>
          <td>0..1</td>
          <td>
            <a href="structuredefinition.html">StructureDefinition</a>
          </td>
          <td/>
          <td>
            <div>
              <p>The 
                <a href="structuredefinition.html">StructureDefinition</a> is provided directly as part of the request. Servers may choose not to accept profiles in this fashion
              </p>

            </div>
          </td>
        </tr>
        <tr>
          <td>IN</td>
          <td>url</td>
          <td>type</td>
          <td>0..1</td>
          <td>
            <a href="datatypes.html#string">string</a>
            <br/>(
            <a href="search.html#token">token</a>)
          </td>
          <td/>
          <td>
            <div>
              <p>The StructureDefinition's canonical URL (i.e. 'StructureDefinition.url'). The server must know the structure definition, or be able to retrieve it from other known repositories.</p>

            </div>
          </td>
        </tr>
        <tr>
          <td>OUT</td>
          <td>return</td>
          <td/>
          <td>1..1</td>
          <td>
            <a href="structuredefinition.html">StructureDefinition</a>
          </td>
          <td/>
          <td>
            <div>
              <p>The structure definition with a snapshot</p>

            </div>
          </td>
        </tr>
      </table>
    </div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="5"/>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="normative"/>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/>
  </extension>
  <url value="http://hl7.org/fhir/OperationDefinition/StructureDefinition-snapshot"/>
  <version value="6.0.0-ballot4"/>
  <name value="Snapshot"/>
  <title value="Generate Snapshot"/>
  <status value="active"/>
  <kind value="operation"/>
  <experimental value="false"/>
  <date value="2026-06-24T23:53:13+00:00"/>
  <publisher value="HL7 International / FHIR Infrastructure"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://hl7.org/fhir"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="fhir@lists.hl7.org"/>
    </telecom>
  </contact>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/fiwg"/>
    </telecom>
  </contact>
  <description value="Generates a [StructureDefinition](structuredefinition.html) instance  with  a snapshot, based on a differential in a specified [StructureDefinition](structuredefinition.html).   &#xA;&#xA;If the operation is not called at the instance level, either *definition* or *url* 'in' parameters must be provided. If more than one is specified, servers may raise an error or may resolve with the parameter of their choice. If called at the instance level, these parameters will be ignored. Snapshot generation is dependent on profiles that are referenced - if those profiles change, the snapshot can change. For a frozen package, $snapshot is idempotent."/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
      <display value="World"/>
    </coding>
  </jurisdiction>
  <affectsState value="false"/>
  <code value="snapshot"/>
  <resource value="StructureDefinition"/>
  <system value="false"/>
  <type value="true"/>
  <instance value="true"/>
  <parameter>
    <name value="definition"/>
    <use value="in"/>
    <scope value="type"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="The [StructureDefinition](structuredefinition.html) is provided directly as part of the request. Servers may choose not to accept profiles in this fashion"/>
    <type value="StructureDefinition"/>
  </parameter>
  <parameter>
    <name value="url"/>
    <use value="in"/>
    <scope value="type"/>
    <min value="0"/>
    <max value="1"/>
    <documentation value="The StructureDefinition's canonical URL (i.e. 'StructureDefinition.url'). The server must know the structure definition, or be able to retrieve it from other known repositories."/>
    <type value="string"/>
    <searchType value="token"/>
  </parameter>
  <parameter>
    <name value="return"/>
    <use value="out"/>
    <min value="1"/>
    <max value="1"/>
    <documentation value="The structure definition with a snapshot"/>
    <type value="StructureDefinition"/>
  </parameter>
</OperationDefinition>