FHIRConnect RESTful Implementation Guide
0.1.0 - ci-build

FHIRConnect RESTful Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: $toopenehr — Convert FHIR Bundle to openEHR Composition - TTL Representation

Draft as of 2026-05-27

Raw ttl | Download


@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

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

 a fhir:OperationDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "ToOpenEhr"] ; # 
  fhir:text [
fhir:status [ fhir:v "generated" ] ;
fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: OperationDefinition ToOpenEhr</b></p><a name=\"ToOpenEhr\"> </a><a name=\"hcToOpenEhr\"> </a><p>URL: [base]/$toopenehr</p><h3>Parameters</h3><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>bundle</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></td><td/><td><div><p>The FHIR Bundle containing the resources to be converted to an openEHR Composition.</p>\n</div></td></tr><tr><td>OUT</td><td>composition</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>The resulting openEHR Composition serialized as a JSON string.</p>\n</div></td></tr><tr><td>OUT</td><td>outcome</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/operationoutcome.html\">OperationOutcome</a></td><td/><td><div><p>An OperationOutcome conveying warnings or partial mapping failures.</p>\n</div></td></tr></table></div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:url [
fhir:v "http://fhirconnect.org/fhir/OperationDefinition/ToOpenEhr"^^xsd:anyURI ;
fhir:l <http://fhirconnect.org/fhir/OperationDefinition/ToOpenEhr>
  ] ; # 
  fhir:version [ fhir:v "0.1.0"] ; # 
  fhir:name [ fhir:v "ToOpenEhr"] ; # 
  fhir:title [ fhir:v "$toopenehr — Convert FHIR Bundle to openEHR Composition"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:kind [ fhir:v "operation"] ; # 
  fhir:date [ fhir:v "2026-05-27T11:19:57+02:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "FHIRConnect"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "FHIRConnect" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://github.com/SevKohler/FHIRconnect-spec" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Converts a FHIR Bundle to an openEHR Composition using a FHIRConnect mapping.\n\nThe operation accepts a FHIR Bundle as input and returns a FHIR Parameters resource\ncontaining the serialized openEHR Composition as a JSON string.\n\nWhen the mapping is fully successful the response contains only the `composition` parameter.\nWhen mapping issues occur (e.g. a source element could not be mapped, a required field was\nabsent, or a partial result was produced), an additional `outcome` parameter carrying an\n`OperationOutcome` resource SHOULD be included alongside the `composition`. The presence of\nan `OperationOutcome` does not necessarily mean the composition is absent — a partial result\nMAY be returned together with issues describing what could not be mapped.\n\nExample response with OperationOutcome:\n\n```json\n{\n  \"resourceType\": \"Parameters\",\n  \"parameter\": [\n    {\n      \"name\": \"composition\",\n      \"valueString\": \"{\\\"_type\\\": \\\"COMPOSITION\\\", \\\"name\\\": {\\\"_type\\\": \\\"DV_TEXT\\\", \\\"value\\\": \\\"International Patient Summary\\\"}, ...}\"\n    },\n    {\n      \"name\": \"outcome\",\n      \"resource\": {\n        \"resourceType\": \"OperationOutcome\",\n        \"issue\": [\n          {\n            \"severity\": \"warning\",\n            \"code\": \"incomplete\",\n            \"details\": {\n              \"text\": \"Element Observation.effectivePeriod could not be mapped; no corresponding openEHR archetype path found.\"\n            }\n          }\n        ]\n      }\n    }\n  ]\n}\n```"] ; # 
  fhir:affectsState [ fhir:v false] ; # 
  fhir:code [ fhir:v "toopenehr"] ; # 
  fhir:system [ fhir:v true] ; # 
  fhir:type [ fhir:v false] ; # 
  fhir:instance [ fhir:v false] ; # 
  fhir:parameter ( [
fhir:name [ fhir:v "bundle" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 1 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "The FHIR Bundle containing the resources to be converted to an openEHR Composition." ] ;
fhir:type [ fhir:v "Bundle" ]
  ] [
fhir:name [ fhir:v "composition" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 1 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:documentation [ fhir:v "The resulting openEHR Composition serialized as a JSON string." ] ;
fhir:type [ fhir:v "string" ]
  ] [
fhir:name [ fhir:v "outcome" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:documentation [ fhir:v "An OperationOutcome conveying warnings or partial mapping failures." ] ;
fhir:type [ fhir:v "OperationOutcome" ]
  ] ) . #