This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

FHIR Infrastructure icon Work Group Maturity Level: 2Trial Use Compartments: N/A

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

The canonical URL for this operation definition is


Formal Definition (as a OperationDefinition).

URL: [base]/StructureMap/$transform

URL: [base]/StructureMap/[id]/$transform

This is an idempotent operation

In Parameters:

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


The structure map to apply. This is only needed when the operation is invoked at the resource level and no URI has been provided.


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


The same as structureMap, but the resource is provided in the mapping language rather than as a structureMap.


The logical content to transform

Out Parameters:

The result of the transform

Note: as this is the only out parameter, it is a resource, and it has the name 'return', the result of this operation is returned directly as a resource

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

Request: Transform input model

POST [base]/StructureMap/example/$tansform
Content-Type: text/xml

<classA xmlns="http://example.org">


HTTP/1.1 200 OK
Content-Type: application/xml
[other headers]

<message xmlns="http://example.org/other">
  <testValue value="value"/>


For more information about operations, including how they are invoked, see Operations.