Publish-box (todo)
FHIR Infrastructure Work Group | Maturity Level: 2 | Trial 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: | ||||||
Name | Scope | Cardinality | Type | Binding | Profile | Documentation |
source | type | 0..1 | uri | 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 | ||
sourceMap | 0..1 | StructureMap | The structure map to apply. This is only needed when the operation is invoked at the resource level and no URI has been provided. | |||
supportingMap | 0..* | 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). | |||
srcMap | 0..* | string | The same as structureMap, but the resource is provided in the mapping language rather than as a structureMap. | |||
content | 1..1 | Resource | The logical content to transform | |||
Out Parameters: | ||||||
Name | Scope | Cardinality | Type | Binding | Profile | Documentation |
return | 1..1 | Resource | 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.