<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="StructureMap-transform" />
  <meta>
    <lastUpdated value="2017-04-19T07:44:43.294+10:00" />
  </meta>
  <text>
    <status value="generated" />
    <div xmlns="http://www.w3.org/1999/xhtml">
      <h2>Model Instance Transformation</h2>
      <p>OPERATION: Model Instance Transformation</p>
      <p>The official URL for this operation definition is: </p>
      <pre>http://hl7.org/fhir/OperationDefinition/StructureMap-transform</pre>
      <div>
        <p>The transform operation takes input content, applies a structure map transform, and then returns the output.</p>
      </div>
      <p>URL: [base]/StructureMap/$transform</p>
      <p>URL: [base]/StructureMap/[id]/$transform</p>
      <p>Parameters</p>
      <table class="grid">
        <tr>
          <td>
            <b>Use</b>
          </td>
          <td>
            <b>Name</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>source</td>
          <td>0..1</td>
          <td>uri</td>
          <td />
          <td>
            <div>
              <p>The structure map to apply. This is only needed if the operation is invoked at the resource level. If the $transform operation is invoked on a particular structure map, this will be ignored by the server</p>
            </div>
          </td>
        </tr>
        <tr>
          <td>IN</td>
          <td>content</td>
          <td>1..1</td>
          <td>Resource</td>
          <td />
          <td>
            <div>
              <p>The logical content to transform</p>
            </div>
          </td>
        </tr>
        <tr>
          <td>OUT</td>
          <td>return</td>
          <td>1..1</td>
          <td>Resource</td>
          <td />
          <td>
            <div>
              <p>The result of the transform</p>
            </div>
          </td>
        </tr>
      </table>
      <div>
        <p>The input and return are specified as 'Resources'. In most usage of the $transform operation, either the input or return content is not a valid FHIR resource. In these cases, the return type is actually a 
                <a href="binary.html">Binary</a> resource. For this operation, the Binary resources may be encoded directly, using a mime-type, as shown in the example. Note: this specification does not yet address the means by which the servers may know the correct mime types for the various content involved
              </p>
      </div>
    </div>
  </text>
  <url value="http://hl7.org/fhir/OperationDefinition/StructureMap-transform" />
  <name value="Model Instance Transformation" />
  <status value="draft" />
  <kind value="operation" />
  <date value="2017-04-19T07:44:43+10:00" />
  <publisher value="HL7 (FHIR Project)" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://hl7.org/fhir" />
    </telecom>
    <telecom>
      <system value="email" />
      <value value="fhir@lists.hl7.org" />
    </telecom>
  </contact>
  <description value="The transform operation takes input content, applies a structure map transform, and then returns the output." />
  <code value="transform" />
  <comment value="The input and return are specified as 'Resources'. In most usage of the $transform operation, either the input or return content is not a valid FHIR resource. In these cases, the return type is actually a [Binary](binary.html) resource. For this operation, the Binary resources may be encoded directly, using a mime-type, as shown in the example. Note: this specification does not yet address the means by which the servers may know the correct mime types for the various content involved" />
  <resource value="StructureMap" />
  <system value="false" />
  <type value="true" />
  <instance value="true" />
  <parameter>
    <name value="source" />
    <use value="in" />
    <min value="0" />
    <max value="1" />
    <documentation value="The structure map to apply. This is only needed if the operation is invoked at the resource level. If the $transform operation is invoked on a particular structure map, this will be ignored by the server" />
    <type value="uri" />
  </parameter>
  <parameter>
    <name value="content" />
    <use value="in" />
    <min value="1" />
    <max value="1" />
    <documentation value="The logical content to transform" />
    <type value="Resource" />
  </parameter>
  <parameter>
    <name value="return" />
    <use value="out" />
    <min value="1" />
    <max value="1" />
    <documentation value="The result of the transform" />
    <type value="Resource" />
  </parameter>
</OperationDefinition>