{
  "resourceType": "OperationDefinition",
  "id": "StructureMap-transform",
  "meta": {
    "lastUpdated": "2023-03-26T15:21:02.749+11:00"
  },
  "text": {
    "status": "extensions",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>URL: [base]/StructureMap/$transform</p><p>URL: [base]/StructureMap/[id]/$transform</p><p>Parameters</p><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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</div></div>"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 2
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "trial-use"
    }
  ],
  "url": "http://hl7.org/fhir/OperationDefinition/StructureMap-transform",
  "version": "5.0.0",
  "name": "Transform",
  "title": "Model Instance Transformation",
  "status": "draft",
  "kind": "operation",
  "experimental": false,
  "date": "2023-03-26T15:21:02+11:00",
  "publisher": "HL7 (FHIR Project)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        },
        {
          "system": "email",
          "value": "fhir@lists.hl7.org"
        }
      ]
    }
  ],
  "description": "The transform operation takes input content, applies a structure map transform, and then returns the output.",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001",
          "display": "World"
        }
      ]
    }
  ],
  "affectsState": false,
  "code": "transform",
  "comment": "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": [
    "StructureMap"
  ],
  "system": false,
  "type": true,
  "instance": true,
  "parameter": [
    {
      "name": "source",
      "use": "in",
      "scope": [
        "type"
      ],
      "min": 0,
      "max": "1",
      "documentation": "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": "uri"
    },
    {
      "name": "sourceMap",
      "use": "in",
      "min": 0,
      "max": "1",
      "documentation": "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": "StructureMap"
    },
    {
      "name": "supportingMap",
      "use": "in",
      "min": 0,
      "max": "*",
      "documentation": "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": "StructureMap"
    },
    {
      "name": "srcMap",
      "use": "in",
      "min": 0,
      "max": "*",
      "documentation": "The same as structureMap, but the resource is provided in the mapping language rather than as a structureMap.",
      "type": "string"
    },
    {
      "name": "content",
      "use": "in",
      "min": 1,
      "max": "1",
      "documentation": "The logical content to transform",
      "type": "Resource"
    },
    {
      "name": "return",
      "use": "out",
      "min": 1,
      "max": "1",
      "documentation": "The result of the transform",
      "type": "Resource"
    }
  ]
}