North West Genomics Testing Workflow (GTW)
0.0.1 - ci-build
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
Draft as of 2025-01-30 |
<CapabilityStatement xmlns="http://hl7.org/fhir">
<id value="CapabilityStatementRIE"/>
<text>
<status value="extensions"/>
<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>
</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>
<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>
<pre><code>GET [base]/Bundle?message.receiver:identifier=[odsCode]&_lastUpdated=[date]
</code></pre>
<h3>Example</h3>
<pre><code>GET [base]/Bundle?message.receiver:identifier=R0A&_lastUpdated=gt2025-02-01
</code></pre>
<p>Example returned search results <a href="Bundle-GenomicsOrderSearchSet.html">Bundle 'SearchSet' - Genomics Order</a></p>
<h2>Update (Acknowledge Message)</h2>
<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>
<pre><code>PUT [base]/Bundle?identifier=[identifier]
</code></pre>
<h3>Example</h3>
<pre><code>PUT [base]/Bundle?identifier=9612365d-52a4-4fab-87e7-8a09d753f095
</code></pre>
<p>The acknowledgement may be sent via a <a href="https://hl7.org/fhir/R4/http.html#transaction">FHIR Transaction</a></p>
<pre><code> POST [base]/
</code></pre>
</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>
</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>
</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>
<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>
The 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>
<pre><code>PUT [base]/Patient?identifier=[identifier]
</code></pre>
</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>
<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>
<pre><code>PUT [base]/PractitionerRole?identifier=[identifier]
</code></pre>
</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>
</text>
<url
value="https://hl7.mft.nhs.uk/CapabilityStatement/CapabilityStatementRIE"/>
<version value="0.0.1"/>
<name value="CapabilityStatement-RIE"/>
<title
value="CapabilityStatement for MFT Regional Integration Engine for Genomics"/>
<status value="draft"/>
<experimental value="false"/>
<date value="2025-01-30"/>
<publisher value="Manchester University NHS Foundation Trust"/>
<contact>
<telecom>
<system value="url"/>
<value value="https://mft.nhs.uk/"/>
</telecom>
</contact>
<contact>
<telecom>
<system value="email"/>
<value value="pressoffice@mft.nhs.uk"/>
</telecom>
</contact>
<contact>
<name value="Press Office"/>
<telecom>
<system value="email"/>
<value value="pressoffice@mft.nhs.uk"/>
</telecom>
</contact>
<description
value="Is based on [FHIR Messaging](https://hl7.org/fhir/R4/messaging.html) to handle transformation of HL7 FHIR and v2 Messages to FHIR Workflow.
The `OpenAPISwagger Definition file` below, can be viewed using [Swagger Editor](https://editor.swagger.io/)"/>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="GB"/>
<display value="United Kingdom of Great Britain and Northern Ireland"/>
</coding>
</jurisdiction>
<kind value="requirements"/>
<fhirVersion value="4.0.1"/>
<format value="application/fhir+xml"/>
<format value="application/fhir+json"/>
<rest>
<mode value="server"/>
<security>
<service>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/restful-security-service"/>
<code value="OAuth"/>
</coding>
</service>
<description
value="Recommend [IHE-IUA](https://profiles.ihe.net/ITI/IUA/index.html)"/>
</security>
<resource>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<type value="Bundle"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
<documentation
value="## Search (Poll for Messages)
The Order Placer (or TIE) will [poll](https://www.enterpriseintegrationpatterns.com/patterns/messaging/PollingConsumer.html) for new messages using a FHIR RESTful query.
```
GET [base]/Bundle?message.receiver:identifier=[odsCode]&_lastUpdated=[date]
```
### Example
```
GET [base]/Bundle?message.receiver:identifier=R0A&_lastUpdated=gt2025-02-01
```
Example returned search results [Bundle 'SearchSet' - Genomics Order](Bundle-GenomicsOrderSearchSet.html)
## Update (Acknowledge Message)
This is used to acknowledge the message and is the original message sent back to the server with the source and destination reversed.
```
PUT [base]/Bundle?identifier=[identifier]
```
### Example
```
PUT [base]/Bundle?identifier=9612365d-52a4-4fab-87e7-8a09d753f095
```
The acknowledgement may be sent via a [FHIR Transaction](https://hl7.org/fhir/R4/http.html#transaction)
```
POST [base]/
```
"/>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHOULD"/>
</extension>
<code value="read"/>
</interaction>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="search-type"/>
</interaction>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="create"/>
</interaction>
<conditionalUpdate value="true"/>
<searchParam>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<name value="message.receiver:identifier"/>
<type value="token"/>
<documentation value="The ODS code of the message recipient"/>
</searchParam>
<searchParam>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<name value="_lastUpdated"/>
<type value="date"/>
<documentation value="The data the message was last updated"/>
</searchParam>
</resource>
<resource>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<type value="Patient"/>
<profile value="https://hl7.mft.nhs.uk/StructureDefinition/Patient"/>
<documentation
value="## Update
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)
The IHE PIX/[NHS England HL7 ADT](https://drive.google.com/drive/folders/1FRkyZvWpZB1nCKbvQbo-eW_q9VtlR3Ws) equivalent is ADT_A31 and ADT_A40.
```
PUT [base]/Patient?identifier=[identifier]
```"/>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="update"/>
</interaction>
<conditionalUpdate value="true"/>
</resource>
<resource>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<type value="PractitionerRole"/>
<profile
value="https://hl7.mft.nhs.uk/StructureDefinition/PractitionerRole"/>
<documentation
value="## Update
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)
```
PUT [base]/PractitionerRole?identifier=[identifier]
```"/>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="update"/>
</interaction>
<conditionalUpdate value="true"/>
</resource>
<interaction>
<code value="transaction"/>
</interaction>
<operation>
<name value="$process-message"/>
<definition
value="https://hl7.mft.nhs.uk/OperationDefinition/ProcessMessage"/>
</operation>
</rest>
<messaging>
<supportedMessage>
<mode value="receiver"/>
<definition
value="https://hl7.mft.nhs.uk/MessageDefinition/laboratory-order"/>
</supportedMessage>
<supportedMessage>
<mode value="sender"/>
<definition
value="https://hl7.mft.nhs.uk/MessageDefinition/unsolicited-observation"/>
</supportedMessage>
<supportedMessage>
<mode value="sender"/>
<definition
value="https://hl7.mft.nhs.uk/MessageDefinition/laboratory-order-acknowledgement"/>
</supportedMessage>
</messaging>
</CapabilityStatement>