This page is part of the Making EHR Data MOre available for Research and Public Health (MedMorph) (v0.1.0: STU 1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions
<CapabilityStatement xmlns="http://hl7.org/fhir">
<id value="medmorph-backend-service-app"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<h2>BackendServiceApp</h2>
<p>(Requirements Definition Capability Statement)</p>
<p>Canonical URL: http://hl7.org/fhir/us/medmorph/CapabilityStatement/medmorph-backend-service-app</p>
<p>Published by: <b>HL7 International - Public Health Work Group</b>
</p>
<p>This profile defines the expected capabilities of the <i>MedMorph Backend Service App </i> actor.
This actor is responsible for consuming Knowledge Artifacts created by Public Health Agencies and/or Research Organizations, subscribing to topics in EHR using Named Events, Creating the submission reports to be sent to the PHA and finally submitting the reports to the PHA/Research Organization. </p>
<h2>General</h2>
<div class="table-wrapper">
<table>
<tbody>
<tr>
<th>FHIR Version:</th>
<td>4.0.1</td>
</tr>
<tr>
<th>Supported formats:</th>
<td>json</td>
</tr>
</tbody>
</table>
</div>
<h2>REST behavior</h2>
<p>The primary focus of the Backend Service App is to consuming Knowledge Artifacts created by Public Health Agencies and/or Research Organizations, subscribing to topics in EHR using Named Events, Creating the submission reports to be sent to the PHA and finally submitting the reports to the PHA/Research Organization.</p>
<p>
<b>Security:</b>
</p>
<p>Implementations must meet the general security requirements documented in FHIR <a href="http://hl7.org/fhir/security.html">Security guidance</a>.</p>
<p>In addition the Backend Service App needs to meet the security requirements as outlined in the <a href="spec.html#smart-on-fhir-backend-services-authorization">Formal Specification - Security Section.</a></p>
<h3>Resource summary</h3>
<div class="table-wrapper">
<table class="grid">
<thead>
<tr>
<th>Resource</th>
<th>Search</th>
<th>Read</th>
<th>Read Version</th>
<th>Instance History</th>
<th>Resource History</th>
<th>Create</th>
<th>Update</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
<tr>
<th>PlanDefinition (<a href="StructureDefinition-us-ph-plandefinition.html">Profile</a>)</th>
<td>
<a href="#PlanDefinition-search-type" title="Allows a user to search for existing PlanDefinition instances">SHALL</a>
</td>
<td>
<a href="#PlanDefinition-read" title="Allows retrieval of a specific PlanDefinition Resource instance ">SHALL</a>
</td>
<td>
<a href="#PlanDefinition-vread" title="Allows retrieval of a specific PlanDefinition Resource instance version">SHOULD</a>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td/>
</tr>
<tr>
<th>Subscription (<a href="http://hl7.org/fhir/R4/subscription.html">Profile</a>)</th>
<td>
</td>
<td>
<a href="#Subscription-read" title="Allows retrieval of a specific Subscription Resource instance ">SHALL</a>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<a href="#Subscription-create" title="Allows creation of a specific Subscription Resource instance ">SHALL</a>
</td>
<td>
<a href="#Subscription-update" title="Allows Updating of a specific Subscription Resource instance ">SHALL</a>
</td>
<td>
<a href="#Subscription-delete" title="Allows deletion of a specific Subscription Resource instance version">SHALL</a>
</td>
</tr>
<tr>
<th>Reporting Bundle (<a href="StructureDefinition-us-ph-reporting-bundle.html">Profile</a>)</th>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<a href="#ReportingBundle-create" title="Allows creation of a specific Reporting Bundle Resource instance ">SHALL</a>
</td>
<td>
</td>
<td/>
</tr>
<tr>
<th>Content Bundle (<a href="StructureDefinition-us-ph-content-bundle.html">Profile</a>)</th>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<a href="#ContentBundle-create" title="Allows creation of a specific content Bundle Resource instance ">SHALL</a>
</td>
<td>
</td>
<td/>
</tr>
<tr>
<th>MessageHeader (<a href="StructureDefinition-us-ph-messageheader.html">Profile</a>)</th>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<a href="#MessageHeader-create" title="Allows creation of a specific MessageHeader Resource instance ">SHALL</a>
</td>
<td>
</td>
<td/>
</tr>
</tbody>
</table>
</div>
<h3>FHIR Operations summary</h3>
<p>The following FHIR operations SHALL be supported by the Backend Service App.</p>
<ul>
<li>
<a href="OperationDefinition-Bundle-pseudonymize.html">Bundle pseudonymize</a>
</li>
<li>
<a href="OperationDefinition-Bundle-anonymize.html">Bundle anonymize</a>
</li>
<li>
<a href="OperationDefinition-Bundle-de-identify.html">Bundle de-identify</a>
</li>
<li>
<a href="OperationDefinition-Bundle-re-identify.html">Bundle re-identify</a>
</li>
<li>
<a href="https://www.hl7.org/fhir/messageheader-operation-process-message.html">Bundle process-message</a>
</li>
</ul>
<br/>
<br/>
<h3>
<a href="http://hl7.org/fhir/R4/plandefinition.html">PlanDefinition</a>
</h3>
<p>Profile: <a href="StructureDefinition-us-ph-plandefinition.html">http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-plandefinition</a>
</p>
<h4>Interactions</h4>
<div class="table-wrapper">
<table class="list">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th>
<a name="PlanDefinition-search-type"> </a>
<span>search-type</span>
</th>
<td>
<p>Allows discovery of existing PlanDefinition instances representing Knowledge Artifacts.</p>
</td>
</tr>
<tr>
<th>
<a name="PlanDefinition-read"> </a>
<span>read</span>
</th>
<td>
<p>Allows retrieval of a specific PlanDefinition instance.</p>
</td>
</tr>
<tr>
<th>
<a name="PlanDefinition-vread"> </a>
<span>vread</span>
</th>
<td>
<p>Allows retrieval of a historical version of a PlanDefinition instance.</p>
</td>
</tr>
<tr>
<th>
<a name="PlanDefinition-create"> </a>
<span>create</span>
</th>
<td>
<p>Allows creation of PlanDefinition instances</p>
</td>
</tr>
<tr>
<th>
<a name="PlanDefinition-update"> </a>
<span>update</span>
</th>
<td>
<p>Allows Updating of PlanDefinition instances</p>
</td>
</tr>
</tbody>
</table>
</div>
<br/>
<br/>
<h4>Search</h4>
<div class="table-wrapper">
<table class="list">
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Definition & Chaining</th>
</tr>
</thead>
<tbody>
<tr>
<th>identifier</th>
<td>token</td>
<td>Search using identifiers as allowed according to the FHIR specification.</td>
</tr>
<tr>
<th>name</th>
<td>string</td>
<td>Search using PlanDefinition name.</td>
</tr>
<tr>
<th>publisher</th>
<td>string</td>
<td>Search using publisher name.</td>
</tr>
<tr>
<th>title</th>
<td>string</td>
<td>Search using title.</td>
</tr>
<tr>
<th>version</th>
<td>string</td>
<td>Search using version.</td>
</tr>
<tr>
<th>name and version</th>
<td>string, string</td>
<td>Search using name and version.</td>
</tr>
</tbody>
</table>
</div>
<br/>
<br/>
<h3>
<a href="http://hl7.org/fhir/R4/subscription.html">Subscription</a>
</h3>
<p>Profile: None
</p>
<h4>Interactions</h4>
<div class="table-wrapper">
<table class="list">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th>
<a name="Subscription-read"> </a>
<span>read</span>
</th>
<td>
<p>Allows retrieval of a specific Subscription instance.</p>
</td>
</tr>
<tr>
<th>
<a name="Subscription-create"> </a>
<span>create</span>
</th>
<td>
<p>Allows creation of Subscription instances</p>
</td>
</tr>
<tr>
<th>
<a name="Subscription-update"> </a>
<span>update</span>
</th>
<td>
<p>Allows Updating of Subscription instances</p>
</td>
</tr>
<tr>
<th>
<a name="Subscription-delete"> </a>
<span>update</span>
</th>
<td>
<p>Allows Deletion of Subscription instances</p>
</td>
</tr>
</tbody>
</table>
</div>
<br/>
<br/>
<h3>
<a href="http://hl7.org/fhir/R4/bundle.html">Bundle</a>
</h3>
<p>Profile: <a href="StructureDefinition-us-ph-reporting-bundle.html">http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-reporting-bundle</a>
</p>
<h4>Interactions</h4>
<div class="table-wrapper">
<table class="list">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th>
<a name="ReportingBundle-create"> </a>
<span>create</span>
</th>
<td>
<p>Allows creation of ReportingBundle instances</p>
</td>
</tr>
</tbody>
</table>
</div>
<br/>
<br/>
<h3>
<a href="http://hl7.org/fhir/R4/bundle.html">Bundle</a>
</h3>
<p>Profile: <a href="StructureDefinition-us-ph-content-bundle.html">http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-content-bundle</a>
</p>
<h4>Interactions</h4>
<div class="table-wrapper">
<table class="list">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th>
<a name="ContentBundle-create"> </a>
<span>create</span>
</th>
<td>
<p>Allows creation of ContentBundle instances</p>
</td>
</tr>
</tbody>
</table>
</div>
<br/>
<br/>
<h3>
<a href="http://hl7.org/fhir/R4/messageheader.html">MessageHeader</a>
</h3>
<p>Profile: <a href="StructureDefinition-us-ph-messageheader.html">http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-messageheader</a>
</p>
<h4>Interactions</h4>
<div class="table-wrapper">
<table class="list">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th>
<a name="MessageHeader-create"> </a>
<span>create</span>
</th>
<td>
<p>Allows creation of MessageHeader instances</p>
</td>
</tr>
</tbody>
</table>
</div>
<br/>
<br/>
</div>
</text>
<url
value="http://hl7.org/fhir/us/medmorph/CapabilityStatement/medmorph-backend-service-app"/>
<version value="0.1.0"/>
<name value="BackendServiceApp"/>
<title value="MedMorph Backend Service App"/>
<status value="draft"/>
<date value="2020-12-06"/>
<publisher value="HL7 International - Public Health Work Group"/>
<contact>
<telecom>
<system value="url"/>
<value value="http://hl7.org/Special/committees/pher"/>
</telecom>
</contact>
<description
value="This profile defines the expected capabilities of the ''Backend Service App'' actor when conforming to the MedMorph Architecture Implementation Guide."/>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="US"/>
</coding>
</jurisdiction>
<kind value="requirements"/>
<fhirVersion value="4.0.1"/>
<format value="json"/>
<rest>
<mode value="client"/>
<documentation
value="The focus of the Backend Service App is to act as a client and access Knowledge Artifacts, create subscriptions, receive notifications, create message bundles, invoke trust services and submit reports. "/>
<security>
<description
value="Implementations must meet the general security requirements documented in the security section of the implementation guide."/>
</security>
<resource>
<type value="PlanDefinition"/>
<supportedProfile
value="http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-plandefinition"/>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="search-type"/>
<documentation
value="Allows discovery of existing PlanDefinition instances."/>
</interaction>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="read"/>
<documentation
value="Allows retrieval of a specific PlanDefinition instance."/>
</interaction>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHOULD"/>
</extension>
<code value="vread"/>
<documentation
value="Allows retrieval of a historical version of a PlanDefinition instance."/>
</interaction>
<searchParam>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<name value="identifier"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PlanDefinition-identifier"/>
<type value="token"/>
</searchParam>
<searchParam>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<name value="name"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PlanDefinition-name"/>
<type value="string"/>
</searchParam>
<searchParam>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<name value="publisher"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PlanDefinition-publisher"/>
<type value="string"/>
</searchParam>
<searchParam>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<name value="title"/>
<definition
value="http://hl7.org/fhir/SearchParameter/PlanDefinition-title"/>
<type value="string"/>
</searchParam>
</resource>
<resource>
<type value="Subscription"/>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="read"/>
<documentation
value="Allows retrieval of a specific Subscription instance."/>
</interaction>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="create"/>
<documentation value="Allows creation of a Subscription instance."/>
</interaction>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="update"/>
<documentation value="Allows updation of a Subscription instance."/>
</interaction>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="delete"/>
<documentation value="Allows deletion of a Subscription instance."/>
</interaction>
</resource>
<resource>
<type value="Bundle"/>
<supportedProfile
value="http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-reporting-bundle"/>
<supportedProfile
value="http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-content-bundle"/>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="create"/>
<documentation
value="Allows creation of a Reporting or Content Bundle instance."/>
</interaction>
<operation>
<name value="pseudonymize"/>
<definition
value="http://hl7.org/fhir/us/medmorph/OperationDefinition/Bundle-pseudonymize"/>
</operation>
<operation>
<name value="anonymize"/>
<definition
value="http://hl7.org/fhir/us/medmorph/OperationDefinition/Bundle-anonymize"/>
</operation>
<operation>
<name value="de-identify"/>
<definition
value="http://hl7.org/fhir/us/medmorph/OperationDefinition/Bundle-de-identify"/>
</operation>
<operation>
<name value="re-identify"/>
<definition
value="http://hl7.org/fhir/us/medmorph/OperationDefinition/Bundle-re-identify"/>
</operation>
</resource>
<resource>
<type value="MessageHeader"/>
<supportedProfile
value="http://hl7.org/fhir/us/medmorph/StructureDefinition/us-ph-messageheader"/>
<interaction>
<extension
url="http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation">
<valueCode value="SHALL"/>
</extension>
<code value="create"/>
<documentation value="Allows creation of a MessageHeader instance."/>
</interaction>
</resource>
<operation>
<name value="process-message"/>
<definition
value="http://hl7.org/fhir/OperationDefinition/MessageHeader-process-message"/>
</operation>
</rest>
<rest>
<mode value="server"/>
<documentation
value="The focus of the Backend Service App as a Server is to expose $process-message endpoint at the root of the FHIR server."/>
<security>
<description
value="Implementations must meet the general security requirements documented in the security section of the implementation guide."/>
</security>
<operation>
<name value="process-message"/>
<definition
value="http://hl7.org/fhir/OperationDefinition/MessageHeader-process-message"/>
</operation>
</rest>
</CapabilityStatement>