Release 4 FHIR CI-Build

This page is part of the Continuous Integration Build of FHIR Specification (v4.0.1: R4 - Mixed Normative and STU ) in it's permanent home (it will always (will be available incorrect/inconsistent at this URL). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see times).
See the Directory of published versions . Page versions: R5 R4B R4 R3

Operation-structuremap-transform.xml

Example OperationDefinition/StructureMap-transform (XML)

Maturity Level : N/A
Responsible Owner: FHIR Infrastructure Work Group Standards Status : Informative Compartments : Not linked to any defined compartments

Raw XML ( canonical form + also see XML Format Specification )

Jump past Narrative

Operation Definition

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


  
  
    
    
      
      
      
      
      
        The transform operation takes input content, applies a structure map transform, and then
           returns the output.

      
      
      
      
      
        
          
            
          
          
            
          
          
            
          
          
            
          
          
            
          
          
            
          
        
        
          
          
          
          
            
          
          
          
            
              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

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
        
          
          
          
          
            
          
          
          
            
              

            
          
        
      
      
        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 
           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
        

      
    
  
  
    
  
  
    
  
  
  
  
  
  
  
  
  
    
      
      
    
    
      
      
    
  
  The transform operation takes input content, applies a structure map transform, and then
   returns the output.
  
  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
  
  
  
  
  
    
    
    
    
    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
    
  
  
    
    
    
    
    
    
  
  
    
    
    
    
    
    
  

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="StructureMap-transform"/> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p class="res-header-id">
        <b> Generated Narrative: OperationDefinition StructureMap-transform</b> 
      </p> 
      <a name="StructureMap-transform"> </a> 
      <a name="hcStructureMap-transform"> </a> 
      <p> URL: [base]/StructureMap/$transform</p> 
      <p> URL: [base]/StructureMap/[id]/$transform</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> source</td> 
          <td> type</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#uri">uri</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The structure map to apply. This is only needed if the operation is invoked at
                 the resource level and no structureMap has been provided. 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> sourceMap</td>           <td/>            <td> 0..1</td>           <td>             <a href="structuremap.html">StructureMap</a>           </td>           <td/>            <td>             <div>               <p> The structure map to apply. This is only needed when the operation is invoked at

                 the resource level and no URI has been provided.</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> supportingMap</td>           <td/>            <td> 0..*</td>           <td>             <a href="structuremap.html">StructureMap</a>           </td>           <td/>            <td>             <div>               <p> StructureMap resources that support the source map. If a source URL is provided,

                 the map can be provided in this parameter (or it can be provided as sourceMap).</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> srcMap</td>           <td/>            <td> 0..*</td>           <td>             <a href="datatypes.html#string">string</a>           </td>           <td/>            <td>             <div>               <p> The same as structureMap, but the resource is provided in the mapping language

                 rather than as a structureMap.</p> 
            </div>           </td>         </tr>         <tr>           <td> IN</td>           <td> content</td>           <td/>            <td> 1..1</td>           <td>             <a href="resource.html">Resource</a>           </td>           <td/>            <td>             <div>               <p> The logical content to transform</p>             </div>           </td>         </tr>         <tr>           <td> OUT</td>           <td> return</td>           <td/>            <td> 1..1</td>           <td>             <a href="resource.html">Resource</a>           </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>   <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="normative"/>   </extension>   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">    <valueCode value="fhir"/>   </extension>   <url value="http://hl7.org/fhir/OperationDefinition/StructureMap-transform"/>   <version value="6.0.0-ballot3"/>   <name value="Transform"/>   <title value="Model Instance Transformation"/>   <status value="active"/>   <kind value="operation"/>   <experimental value="false"/>   <date value="2025-11-14T05:50:06+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="The transform operation takes input content, applies a structure map transform,

   and then returns the output."/> 
  <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="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"/>     <scope value="type"/>     <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 and no structureMap has been provided. 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="sourceMap"/>     <use value="in"/>     <min value="0"/>     <max value="1"/>     <documentation value="The structure map to apply. This is only needed when the operation is invoked at

     the resource level and no URI has been provided."/> 
    <type value="StructureMap"/>   </parameter>   <parameter>     <name value="supportingMap"/>     <use value="in"/>     <min value="0"/>     <max value="*"/>     <documentation value="StructureMap resources that support the source map. If a source URL is provided,

     the map can be provided in this parameter (or it can be provided as sourceMap)."/> 
    <type value="StructureMap"/>   </parameter>   <parameter>     <name value="srcMap"/>     <use value="in"/>     <min value="0"/>     <max value="*"/>     <documentation value="The same as structureMap, but the resource is provided in the mapping language

     rather than as a structureMap."/> 
    <type value="string"/>   </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

>



Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.