This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
-
Mixed
Normative
and
STU
v6.0.0-ballot4:
Release
6
Ballot
(1st
Full
Ballot)
(see
Ballot
Notes
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
for
published
versions
Operation-structuremap-transform.xml
Example
OperationDefinition/StructureMap-transform
(XML)
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
<?xml version="1.0" encoding="UTF-8"?>
<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-ballot4"/> <name value="Transform"/> <title value="Model Instance Transformation"/> <status value="active"/> <kind value="operation"/> <experimental value="false"/> <date value="2025-12-18T07:07:42+11: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.