R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

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

 http://hl7.org/fhir/OperationDefinition/StructureMap-transform

Formal Definition (as a OperationDefinition).

URL: [base]/StructureMap/$transform

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

This is an idempotent operation

In Parameters:
NameScopeCardinalityTypeBindingProfileDocumentation
sourcetype0..1uri

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

sourceMap0..1StructureMap

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

supportingMap0..*StructureMap

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

srcMap0..*string

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

content1..1Resource

The logical content to transform

Out Parameters:
NameScopeCardinalityTypeBindingProfileDocumentation
return1..1Resource

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">
  <test>value</test>
</class>

Response:

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

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

 

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