R6 Ballot (2nd Draft)

Publish-box (todo)

Example OperationDefinition/StructureMap-transform (JSON)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: Informative

Raw JSON (canonical form + also see JSON Format Specification)

Operation Definition

{
  "resourceType" : "OperationDefinition",
  "id" : "StructureMap-transform",
  "text" : {
    "status" : "generated",
    "div" : "<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><a name=\"StructureMap-transform-en-AU\"> </a><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/StructureDefinition/structuredefinition-wg",
    "valueCode" : "fhir"
  }],
  "url" : "http://hl7.org/fhir/OperationDefinition/StructureMap-transform",
  "version" : "6.0.0-ballot2",
  "name" : "Transform",
  "title" : "Model Instance Transformation",
  "status" : "draft",
  "kind" : "operation",
  "experimental" : false,
  "date" : "2024-08-12T16:52:12+08:00",
  "publisher" : "HL7 International / FHIR Infrastructure",
  "contact" : [{
    "telecom" : [{
      "system" : "url",
      "value" : "http://hl7.org/fhir"
    },
    {
      "system" : "email",
      "value" : "fhir@lists.hl7.org"
    }]
  },
  {
    "telecom" : [{
      "system" : "url",
      "value" : "http://www.hl7.org/Special/committees/fiwg"
    }]
  }],
  "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"
  }]
}

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.