<?xml version=“1.0” encoding=“UTF-8”?> <OperationDefinition xmlns=“hl7.org/fhir”>

<id value="StructureMap-transform"/>

<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
  <valueInteger value="2"/>
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
  <valueCode value="trial-use"/>
</extension>
<url value="http://hl7.org/fhir/OperationDefinition/StructureMap-transform"/>
<version value="4.0.1"/>
<name value="Model Instance Transformation"/>
<status value="draft"/>
<kind value="operation"/>
<date value="2019-11-01T09:29:23+11: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>