R6 Ballot (2nd Draft)

Publish-box (todo)

Example OperationDefinition/StructureMap-transform (Turtle)

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

Raw Turtle (+ also see Turtle/RDF Format Specification)

Operation Definition

@prefix fhir: <http://hl7.org/fhir/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

# - resource -------------------------------------------------------------------

[] a fhir:OperationDefinition ;
  fhir:id [ fhir:v "StructureMap-transform"] ;
  fhir:text [
     fhir:status [ fhir:v "generated" ]
  ] ;
  fhir:extension ( [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm" ] ;
     fhir:value [ fhir:v "2" ]
  ] [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ] ;
     fhir:value [ fhir:v "trial-use" ]
  ] [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" ] ;
     fhir:value [ fhir:v "fhir" ]
  ] ) ;
  fhir:url [ fhir:v "http://hl7.org/fhir/OperationDefinition/StructureMap-transform"], [ fhir:v "http://hl7.org/fhir/OperationDefinition/StructureMap-transform"] ;
  fhir:version [ fhir:v "6.0.0-ballot2"], [ fhir:v "6.0.0-ballot2"] ;
  fhir:name [ fhir:v "Transform"], [ fhir:v "Transform"] ;
  fhir:title [ fhir:v "Model Instance Transformation"], [ fhir:v "Model Instance Transformation"] ;
  fhir:status [ fhir:v "draft"], [ fhir:v "draft"] ;
  fhir:experimental [ fhir:v "false"], [ fhir:v "false"] ;
  fhir:date [ fhir:v "2024-08-12T16:52:12+08:00"], [ fhir:v "2024-08-12T16:52:12+08:00"] ;
  fhir:publisher [ fhir:v "HL7 International / FHIR Infrastructure"], [ fhir:v "HL7 International / FHIR Infrastructure"] ;
  fhir:contact ( [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://hl7.org/fhir" ]
     ] [
       fhir:system [ fhir:v "email" ] ;
       fhir:value [ fhir:v "fhir@lists.hl7.org" ]
     ] )
  ] [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://www.hl7.org/Special/committees/fiwg" ]
     ] )
  ] [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://hl7.org/fhir" ]
     ] [
       fhir:system [ fhir:v "email" ] ;
       fhir:value [ fhir:v "fhir@lists.hl7.org" ]
     ] )
  ] [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://www.hl7.org/Special/committees/fiwg" ]
     ] )
  ] ) ;
  fhir:description [ fhir:v "The transform operation takes input content, applies a structure map transform, and then returns the output."], [ fhir:v "The transform operation takes input content, applies a structure map transform, and then returns the output."] ;
  fhir:jurisdiction ( [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm" ] ;
       fhir:code [ fhir:v "001" ] ;
       fhir:display [ fhir:v "World" ]
     ] )
  ] [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm" ] ;
       fhir:code [ fhir:v "001" ] ;
       fhir:display [ fhir:v "World" ]
     ] )
  ] ) ;
  fhir:kind [ fhir:v "operation"] ;
  fhir:affectsState [ fhir:v "false"] ;
  fhir:code [ fhir:v "transform"] ;
  fhir:comment [ fhir:v "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"] ;
  fhir:resource ( [ fhir:v "StructureMap"] ) ;
  fhir:system [ fhir:v "false"] ;
  fhir:type [ fhir:v "true"] ;
  fhir:instance [ fhir:v "true"] ;
  fhir:parameter ( [
     fhir:name [ fhir:v "source" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:scope ( [ fhir:v "type" ] ) ;
     fhir:min [ fhir:v "0" ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "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" ] ;
     fhir:type [ fhir:v "uri" ]
  ] [
     fhir:name [ fhir:v "sourceMap" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0" ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "The structure map to apply. This is only needed when the operation is invoked at the resource level and no URI has been provided." ] ;
     fhir:type [ fhir:v "StructureMap" ]
  ] [
     fhir:name [ fhir:v "supportingMap" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0" ] ;
     fhir:max [ fhir:v "*" ] ;
     fhir:documentation [ fhir:v "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)." ] ;
     fhir:type [ fhir:v "StructureMap" ]
  ] [
     fhir:name [ fhir:v "srcMap" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0" ] ;
     fhir:max [ fhir:v "*" ] ;
     fhir:documentation [ fhir:v "The same as structureMap, but the resource is provided in the mapping language rather than as a structureMap." ] ;
     fhir:type [ fhir:v "string" ]
  ] [
     fhir:name [ fhir:v "content" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "1" ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "The logical content to transform" ] ;
     fhir:type [ fhir:v "Resource" ]
  ] [
     fhir:name [ fhir:v "return" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "1" ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "The result of the transform" ] ;
     fhir:type [ fhir:v "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.