North West Genomics Testing Workflow (GTW)
0.0.1 - ci-build United Kingdom flag

DRAFT Implementation Guide

This is for collaboration and discussion purposes and is subject to change.

North West Genomics Testing Workflow (GTW) - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: CapabilityStatement for MFT Regional Integration Engine for Genomics - TTL Representation

Draft as of 2025-01-30

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:CapabilityStatement ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "CapabilityStatementRIE"] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: CapabilityStatement CapabilityStatementRIE</b></p><a name=\"CapabilityStatementRIE\"> </a><a name=\"hcCapabilityStatementRIE\"> </a><a name=\"CapabilityStatementRIE-en-GB\"> </a><h2 id=\"title\">CapabilityStatement for MFT Regional Integration Engine for Genomics</h2><ul><li>Implementation Guide Version: 0.0.1 </li><li>FHIR Version: 4.0.1 </li><li>Supported Formats: <code>application/fhir+xml</code>, <code>application/fhir+json</code></li><li>Supported Patch Formats: </li><li>Published on: 2025-01-30 </li><li>Published by: Manchester University NHS Foundation Trust </li></ul><blockquote class=\"impl-note\"><p><strong>Note to Implementers: FHIR Capabilities</strong></p><p>Any FHIR capability may be 'allowed' by the system unless explicitly marked as 'SHALL NOT'. A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.</p></blockquote><h2 id=\"rest\">FHIR RESTful Capabilities</h2><div class=\"panel panel-default\"><div class=\"panel-heading\"><h3 id=\"mode1\" class=\"panel-title\">Mode: <code>server</code></h3></div><div class=\"panel-body\"><div class=\"lead\"><em>Security</em></div><div class=\"row\"><div class=\"col-lg-6\">Enable CORS: no</div><div class=\"col-lg-6\">Security services supported: <code>OAuth</code></div></div><blockquote><div><p>Recommend <a href=\"https://profiles.ihe.net/ITI/IUA/index.html\">IHE-IUA</a></p>\n</div></blockquote><div class=\"lead\"><em>Summary of System-wide Interactions</em></div><ul><li>Supports the <code>transaction</code>interaction.</li></ul></div></div><h3 id=\"resourcesCap1\">Capabilities by Resource/Profile</h3><h4 id=\"resourcesSummary1\">Summary</h4><p>The summary table lists the resources that are part of this configuration, and for each resource it lists:</p><ul><li>The relevant profiles (if any)</li><li>The interactions supported by each resource (<b><span class=\"bg-info\">R</span></b>ead, <b><span class=\"bg-info\">S</span></b>earch, <b><span class=\"bg-info\">U</span></b>pdate, and <b><span class=\"bg-info\">C</span></b>reate, are always shown, while <b><span class=\"bg-info\">VR</span></b>ead, <b><span class=\"bg-info\">P</span></b>atch, <b><span class=\"bg-info\">D</span></b>elete, <b><span class=\"bg-info\">H</span></b>istory on <b><span class=\"bg-info\">I</span></b>nstance, or <b><span class=\"bg-info\">H</span></b>istory on <b><span class=\"bg-info\">T</span></b>ype are only present if at least one of the resources has support for them.</li><li><span>The required, recommended, and some optional search parameters (if any). </span></li><li>The linked resources enabled for <code>_include</code></li><li>The other resources enabled for <code>_revinclude</code></li><li>The operations on the resource (if any)</li></ul><div class=\"table-responsive\"><table class=\"table table-condensed table-hover\"><thead><tr><th><b>Resource Type</b></th><th><b>Profile</b></th><th class=\"text-center\"><b title=\"GET a resource (read interaction)\">R</b></th><th class=\"text-center\"><b title=\"GET all set of resources of the type (search interaction)\">S</b></th><th class=\"text-center\"><b title=\"PUT a new resource version (update interaction)\">U</b></th><th class=\"text-center\"><b title=\"POST a new resource (create interaction)\">C</b></th><th><b title=\"Required and recommended search parameters\">Searches</b></th><th><code><b>_include</b></code></th><th><code><b>_revinclude</b></code></th><th><b>Operations</b></th></tr></thead><tbody><tr><td><a href=\"#Bundle1-1\">Bundle</a></td><td><a href=\"http://hl7.org/fhir/R4/bundle.html\">http://hl7.org/fhir/StructureDefinition/Bundle</a></td><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"></td><td class=\"text-center\">y</td><td>message.receiver:identifier, _lastUpdated</td><td/><td/><td/></tr><tr><td><a href=\"#Patient1-2\">Patient</a></td><td><a href=\"StructureDefinition-Patient.html\">https://hl7.mft.nhs.uk/StructureDefinition/Patient</a></td><td class=\"text-center\"></td><td class=\"text-center\"></td><td class=\"text-center\">y</td><td class=\"text-center\"></td><td></td><td/><td/><td/></tr><tr><td><a href=\"#PractitionerRole1-3\">PractitionerRole</a></td><td><a href=\"StructureDefinition-PractitionerRole.html\">https://hl7.mft.nhs.uk/StructureDefinition/PractitionerRole</a></td><td class=\"text-center\"></td><td class=\"text-center\"></td><td class=\"text-center\">y</td><td class=\"text-center\"></td><td></td><td/><td/><td/></tr></tbody></table></div><hr/><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"Bundle1-1\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: SHALL </span>Bundle</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li><strong>SHALL</strong> support <code>search-type</code>, <code>create</code>.</li><li><strong>SHOULD</strong> support <code>read</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><h2>Search (Poll for Messages)</h2>\n<p>The Order Placer (or TIE) will <a href=\"https://www.enterpriseintegrationpatterns.com/patterns/messaging/PollingConsumer.html\">poll</a> for new messages using a FHIR RESTful query.</p>\n<pre><code>GET [base]/Bundle?message.receiver:identifier=[odsCode]&amp;_lastUpdated=[date]\n</code></pre>\n<h3>Example</h3>\n<pre><code>GET [base]/Bundle?message.receiver:identifier=R0A&amp;_lastUpdated=gt2025-02-01\n</code></pre>\n<p>Example returned search results <a href=\"Bundle-GenomicsOrderSearchSet.html\">Bundle 'SearchSet' - Genomics Order</a></p>\n<h2>Update (Acknowledge Message)</h2>\n<p>This is used to acknowledge the message and is the original message sent back to the server with the source and destination reversed.</p>\n<pre><code>PUT [base]/Bundle?identifier=[identifier]\n</code></pre>\n<h3>Example</h3>\n<pre><code>PUT [base]/Bundle?identifier=9612365d-52a4-4fab-87e7-8a09d753f095\n</code></pre>\n<p>The acknowledgement may be sent via a <a href=\"https://hl7.org/fhir/R4/http.html#transaction\">FHIR Transaction</a></p>\n<pre><code>  POST [base]/\n</code></pre>\n</div></blockquote></div></div><div class=\"row\"><div class=\"col-lg-7\"><span class=\"lead\">Search Parameters</span><table class=\"table table-condensed table-hover\"><thead><tr><th>Conformance</th><th>Parameter</th><th>Type</th><th>Documentation</th></tr></thead><tbody><tr><td><b>SHALL</b></td><td>message.receiver:identifier</td><td><code>token</code></td><td><div><p>The ODS code of the message recipient</p>\n</div></td></tr><tr><td><b>SHALL</b></td><td>_lastUpdated</td><td><code>date</code></td><td><div><p>The data the message was last updated</p>\n</div></td></tr></tbody></table></div><div class=\"col-lg-5\"> </div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"Patient1-2\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: SHALL </span>Patient</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-Patient.html\">Patient</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li><strong>SHALL</strong> support <code>update</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><h2>Update</h2>\n<p>This is used to update the <code>laboratory order</code>. See also <a href=\"https://profiles.ihe.net/ITI/PIXm/ITI-104.html\">IHE PIXm - Patient Identity Feed FHIR [ITI-104]</a>\nThe IHE PIX/<a href=\"https://drive.google.com/drive/folders/1FRkyZvWpZB1nCKbvQbo-eW_q9VtlR3Ws\">NHS England HL7 ADT</a> equivalent is ADT_A31 and ADT_A40.</p>\n<pre><code>PUT [base]/Patient?identifier=[identifier]\n</code></pre>\n</div></blockquote></div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"PractitionerRole1-3\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: SHALL </span>PractitionerRole</h4></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Base System Profile</span><br/><a href=\"StructureDefinition-PractitionerRole.html\">PractitionerRole</a></div><div class=\"col-lg-3\"><span class=\"lead\">Profile Conformance</span><br/><b>SHALL</b></div><div class=\"col-lg-3\"><span class=\"lead\">Reference Policy</span><br/></div></div><p/><div class=\"row\"><div class=\"col-lg-6\"><span class=\"lead\">Interaction summary</span><br/><ul><li><strong>SHALL</strong> support <code>update</code>.</li></ul></div></div><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><h2>Update</h2>\n<p>This is used to update the <code>laboratory order</code>. The HL7 equivalent is <a href=\"https://hl7-definition.caristix.com/v2/HL7v2.5.1/TriggerEvents/MFN_M02\">MFN_M02 - Master files notification - Staff/practitioner master file</a></p>\n<pre><code>PUT [base]/PractitionerRole?identifier=[identifier]\n</code></pre>\n</div></blockquote></div></div></div></div></div><h3 id=\"operationsCap1\">Operations</h3><h4 id=\"operationsSummary1\">Use</h4><h2 id=\"messaging\">FHIR Messaging Capabilities</h2><div class=\"panel panel-default\"><div class=\"panel-heading\"><h3 id=\"messaging_1\" class=\"panel-title\">Messaging Capability</h3></div><div class=\"panel-body\"><h4 id=\"msg_end_1\">Supported Message(s)</h4><table class=\"table table-condensed table-hover\"><thead><tr><th>Mode</th><th>Definition</th></tr></thead><tbody><tr><td>receiver</td><td><a href=\"MessageDefinition-laboratory-order.html\">Message Definition - Laboratory Order</a></td></tr><tr><td>sender</td><td><a href=\"MessageDefinition-unsolicited-observation.html\">Message Definition - Unsolicited Observation</a></td></tr><tr><td>sender</td><td><a href=\"MessageDefinition-laboratory-order-acknowledgement.html\">Message Definition - Laboratory Order Acknowledgement</a></td></tr></tbody></table><br/></div></div></div>"^^rdf:XMLLiteral
  ] ; # 
  fhir:url [ fhir:v "https://hl7.mft.nhs.uk/CapabilityStatement/CapabilityStatementRIE"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.0.1"] ; # 
  fhir:name [ fhir:v "CapabilityStatement-RIE"] ; # 
  fhir:title [ fhir:v "CapabilityStatement for MFT Regional Integration Engine for Genomics"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:date [ fhir:v "2025-01-30"^^xsd:date] ; # 
  fhir:publisher [ fhir:v "Manchester University NHS Foundation Trust"] ; # 
  fhir:contact ( [
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://mft.nhs.uk/" ]     ] )
  ] [
    ( fhir:telecom [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "pressoffice@mft.nhs.uk" ]     ] )
  ] [
fhir:name [ fhir:v "Press Office" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "pressoffice@mft.nhs.uk" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Is based on [FHIR Messaging](https://hl7.org/fhir/R4/messaging.html) to handle transformation of HL7 FHIR and v2 Messages to FHIR Workflow.\n\nThe `OpenAPISwagger Definition file` below, can be viewed using [Swagger Editor](https://editor.swagger.io/)"] ; # 
  fhir:jurisdiction ( [
    ( fhir:coding [
fhir:system [ fhir:v "urn:iso:std:iso:3166"^^xsd:anyURI ] ;
fhir:code [ fhir:v "GB" ] ;
fhir:display [ fhir:v "United Kingdom of Great Britain and Northern Ireland" ]     ] )
  ] ) ; # 
  fhir:kind [ fhir:v "requirements"] ; # 
  fhir:fhirVersion [ fhir:v "4.0.1"] ; # 
  fhir:format ( [ fhir:v "application/fhir+xml"] [ fhir:v "application/fhir+json"] ) ; # 
  fhir:rest ( [
fhir:mode [ fhir:v "server" ] ;
fhir:security [
      ( fhir:service [
        ( fhir:coding [
fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/restful-security-service"^^xsd:anyURI ] ;
fhir:code [ fhir:v "OAuth" ]         ] )       ] ) ;
fhir:description [ fhir:v "Recommend [IHE-IUA](https://profiles.ihe.net/ITI/IUA/index.html)" ]     ] ;
    ( fhir:resource [
      ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"         ]       ] ) ;
fhir:type [ fhir:v "Bundle" ] ;
fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Bundle"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/StructureDefinition/Bundle>       ] ;
fhir:documentation [ fhir:v "## Search (Poll for Messages)\n\nThe Order Placer (or TIE) will [poll](https://www.enterpriseintegrationpatterns.com/patterns/messaging/PollingConsumer.html) for new messages using a FHIR RESTful query.\n\n```\nGET [base]/Bundle?message.receiver:identifier=[odsCode]&_lastUpdated=[date]\n```\n\n### Example\n\n```\nGET [base]/Bundle?message.receiver:identifier=R0A&_lastUpdated=gt2025-02-01\n```\n\nExample returned search results [Bundle 'SearchSet' - Genomics Order](Bundle-GenomicsOrderSearchSet.html)\n\n## Update (Acknowledge Message)\n\nThis is used to acknowledge the message and is the original message sent back to the server with the source and destination reversed.\n\n```\nPUT [base]/Bundle?identifier=[identifier]\n```\n\n### Example\n\n```\nPUT [base]/Bundle?identifier=9612365d-52a4-4fab-87e7-8a09d753f095\n```\n\nThe acknowledgement may be sent via a [FHIR Transaction](https://hl7.org/fhir/R4/http.html#transaction)\n\n```\n  POST [base]/\n```\n\n" ] ;
      ( fhir:interaction [
        ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHOULD"           ]         ] ) ;
fhir:code [ fhir:v "read" ]       ] [
        ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"           ]         ] ) ;
fhir:code [ fhir:v "search-type" ]       ] [
        ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"           ]         ] ) ;
fhir:code [ fhir:v "create" ]       ] ) ;
fhir:conditionalUpdate [ fhir:v "true"^^xsd:boolean ] ;
      ( fhir:searchParam [
        ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"           ]         ] ) ;
fhir:name [ fhir:v "message.receiver:identifier" ] ;
fhir:type [ fhir:v "token" ] ;
fhir:documentation [ fhir:v "The ODS code of the message recipient" ]       ] [
        ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"           ]         ] ) ;
fhir:name [ fhir:v "_lastUpdated" ] ;
fhir:type [ fhir:v "date" ] ;
fhir:documentation [ fhir:v "The data the message was last updated" ]       ] )     ] [
      ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"         ]       ] ) ;
fhir:type [ fhir:v "Patient" ] ;
fhir:profile [
fhir:v "https://hl7.mft.nhs.uk/StructureDefinition/Patient"^^xsd:anyURI ;
fhir:link <https://hl7.mft.nhs.uk/StructureDefinition/Patient>       ] ;
fhir:documentation [ fhir:v "## Update\n\n  This is used to update the `laboratory order`. See also [IHE PIXm - Patient Identity Feed FHIR [ITI-104]](https://profiles.ihe.net/ITI/PIXm/ITI-104.html)\n  The IHE PIX/[NHS England HL7 ADT](https://drive.google.com/drive/folders/1FRkyZvWpZB1nCKbvQbo-eW_q9VtlR3Ws) equivalent is ADT_A31 and ADT_A40.\n\n  ```\n  PUT [base]/Patient?identifier=[identifier]\n  ```" ] ;
      ( fhir:interaction [
        ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"           ]         ] ) ;
fhir:code [ fhir:v "update" ]       ] ) ;
fhir:conditionalUpdate [ fhir:v "true"^^xsd:boolean ]     ] [
      ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"         ]       ] ) ;
fhir:type [ fhir:v "PractitionerRole" ] ;
fhir:profile [
fhir:v "https://hl7.mft.nhs.uk/StructureDefinition/PractitionerRole"^^xsd:anyURI ;
fhir:link <https://hl7.mft.nhs.uk/StructureDefinition/PractitionerRole>       ] ;
fhir:documentation [ fhir:v "## Update\n\n  This is used to update the `laboratory order`. The HL7 equivalent is [MFN_M02 - Master files notification - Staff/practitioner master file](https://hl7-definition.caristix.com/v2/HL7v2.5.1/TriggerEvents/MFN_M02)\n\n  ```\n  PUT [base]/PractitionerRole?identifier=[identifier]\n  ```" ] ;
      ( fhir:interaction [
        ( fhir:extension [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"^^xsd:anyURI ] ;
fhir:value [
a fhir:code ;
fhir:v "SHALL"           ]         ] ) ;
fhir:code [ fhir:v "update" ]       ] ) ;
fhir:conditionalUpdate [ fhir:v "true"^^xsd:boolean ]     ] ) ;
    ( fhir:interaction [
fhir:code [ fhir:v "transaction" ]     ] ) ;
    ( fhir:operation [
fhir:name [ fhir:v "$process-message" ] ;
fhir:definition [
fhir:v "https://hl7.mft.nhs.uk/OperationDefinition/ProcessMessage"^^xsd:anyURI ;
fhir:link <https://hl7.mft.nhs.uk/OperationDefinition/ProcessMessage>       ]     ] )
  ] ) ; # 
  fhir:messaging ( [
    ( fhir:supportedMessage [
fhir:mode [ fhir:v "receiver" ] ;
fhir:definition [
fhir:v "https://hl7.mft.nhs.uk/MessageDefinition/laboratory-order"^^xsd:anyURI ;
fhir:link <https://hl7.mft.nhs.uk/MessageDefinition/laboratory-order>       ]     ] [
fhir:mode [ fhir:v "sender" ] ;
fhir:definition [
fhir:v "https://hl7.mft.nhs.uk/MessageDefinition/unsolicited-observation"^^xsd:anyURI ;
fhir:link <https://hl7.mft.nhs.uk/MessageDefinition/unsolicited-observation>       ]     ] [
fhir:mode [ fhir:v "sender" ] ;
fhir:definition [
fhir:v "https://hl7.mft.nhs.uk/MessageDefinition/laboratory-order-acknowledgement"^^xsd:anyURI ;
fhir:link <https://hl7.mft.nhs.uk/MessageDefinition/laboratory-order-acknowledgement>       ]     ] )
  ] ) . #