Spenser - a developer's companion
1.0.0 - STU1
Spenser - a developer's companion, published by Zeora. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/costateixeira/spenser/ and changes regularly. See the Directory of published versions
| Active as of 2025-04-18 |
{
"resourceType" : "CapabilityStatement",
"id" : "SpenserFHIRCapabilityStatement",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: CapabilityStatement SpenserFHIRCapabilityStatement</b></p><a name=\"SpenserFHIRCapabilityStatement\"> </a><a name=\"hcSpenserFHIRCapabilityStatement\"> </a><h2 id=\"title\"/><ul><li>Implementation Guide Version: 1.0.0 </li><li>FHIR Version: 5.0.0 </li><li>Supported Formats: <code>json</code></li><li>Published on: 2025-04-18 </li><li>Published by: Zeora </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><h3 id=\"rest1\">REST Configuration: 1 </h3><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"mode1\" class=\"panel-title\">Mode: <code>server</code></h4></div><div class=\"panel-body\"/></div><h4 id=\"resourcesCap1\">Capabilities by Resource/Profile</h4><h5 id=\"resourcesSummary1\">Summary</h5><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=\"#MedicationRequest1-1\">MedicationRequest</a></td><td>\u00a0</td><td class=\"text-center\"/><td class=\"text-center\"/><td class=\"text-center\"/><td class=\"text-center\">y</td><td></td><td/><td/><td/></tr><tr><td><a href=\"#MedicationDispense1-2\">MedicationDispense</a></td><td>\u00a0</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\"/><td class=\"text-center\"/><td></td><td/><td/><td/></tr><tr><td><a href=\"#InventoryReport1-3\">InventoryReport</a></td><td>\u00a0</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td class=\"text-center\"/><td class=\"text-center\">y</td><td></td><td/><td/><td/></tr></tbody></table></div><hr/><div class=\"panel panel-default\"><div class=\"panel-heading\"><h5 id=\"MedicationRequest1-1\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: unspecified </span>MedicationRequest</h5></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-4\"><span class=\"lead\">Core FHIR Resource</span><br/><a href=\"http://hl7.org/fhir/medicationrequest.html\">MedicationRequest</a></div><div class=\"col-lg-4\"><span class=\"lead\">Reference Policy</span><br/></div><div class=\"col-lg-4\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>create</code>.</li></ul></div></div><p/><p/></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h5 id=\"MedicationDispense1-2\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: unspecified </span>MedicationDispense</h5></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-4\"><span class=\"lead\">Core FHIR Resource</span><br/><a href=\"http://hl7.org/fhir/medicationdispense.html\">MedicationDispense</a></div><div class=\"col-lg-4\"><span class=\"lead\">Reference Policy</span><br/></div><div class=\"col-lg-4\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>.</li></ul></div></div><p/><p/></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h5 id=\"InventoryReport1-3\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: unspecified </span>InventoryReport</h5></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-4\"><span class=\"lead\">Core FHIR Resource</span><br/><a href=\"http://hl7.org/fhir/inventoryreport.html\">InventoryReport</a></div><div class=\"col-lg-4\"><span class=\"lead\">Reference Policy</span><br/></div><div class=\"col-lg-4\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>read</code>, <code>create</code>.</li></ul></div></div><p/><p/></div></div></div><h3 id=\"rest2\">REST Configuration: 2 </h3><div class=\"panel panel-default\"><div class=\"panel-heading\"><h4 id=\"mode2\" class=\"panel-title\">Mode: <code>client</code></h4></div><div class=\"panel-body\"><div><p>Spenser also acts as a client: it polls a server for orders it should fulfil. Following the COW guidance on actionable orders, an order is only dispensed when the MedicationRequest carries the 'actionable' tag, or when a Task asks for it to be fulfilled.</p>\n</div></div></div><h4 id=\"resourcesCap2\">Capabilities by Resource/Profile</h4><h5 id=\"resourcesSummary2\">Summary</h5><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=\"#MedicationRequest2-1\">MedicationRequest</a></td><td>\u00a0</td><td class=\"text-center\"/><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td>_tag, status, intent</td><td/><td/><td/></tr><tr><td><a href=\"#Task2-2\">Task</a></td><td>\u00a0</td><td class=\"text-center\"/><td class=\"text-center\">y</td><td class=\"text-center\">y</td><td class=\"text-center\"/><td>status</td><td><code>Task:focus</code></td><td/><td/></tr><tr><td><a href=\"#MedicationDispense2-3\">MedicationDispense</a></td><td>\u00a0</td><td class=\"text-center\"/><td class=\"text-center\"/><td class=\"text-center\"/><td class=\"text-center\">y</td><td></td><td/><td/><td/></tr></tbody></table></div><hr/><div class=\"panel panel-default\"><div class=\"panel-heading\"><h5 id=\"MedicationRequest2-1\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: unspecified </span>MedicationRequest</h5></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-4\"><span class=\"lead\">Core FHIR Resource</span><br/><a href=\"http://hl7.org/fhir/medicationrequest.html\">MedicationRequest</a></div><div class=\"col-lg-4\"><span class=\"lead\">Reference Policy</span><br/></div><div class=\"col-lg-4\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>search-type</code>, <code>update</code>.</li></ul></div></div><p/><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Searched for orders tagged as actionable. Set to 'completed' after dispensing, when no Task is coordinating the work.</p>\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>_tag</td><td><code>token</code></td><td><div><p>Selects orders tagged http://terminology.hl7.org/CodeSystem/common-tags#actionable</p>\n</div></td></tr><tr><td><b>SHALL</b></td><td>status</td><td><code>token</code></td><td><div/></td></tr><tr><td><b>SHALL</b></td><td>intent</td><td><code>token</code></td><td><div/></td></tr></tbody></table></div><div class=\"col-lg-5\">\u00a0</div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h5 id=\"Task2-2\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: unspecified </span>Task</h5></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-4\"><span class=\"lead\">Core FHIR Resource</span><br/><a href=\"http://hl7.org/fhir/task.html\">Task</a></div><div class=\"col-lg-4\"><span class=\"lead\">Reference Policy</span><br/></div><div class=\"col-lg-4\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>search-type</code>, <code>update</code>.</li></ul></div></div><p/><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Coordination Task pointing at the order in Task.focus. Set to 'completed' with the dispense in Task.output; the status of the request itself is left to the placer.</p>\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>status</td><td><code>token</code></td><td><div/></td></tr></tbody></table></div><div class=\"col-lg-5\">\u00a0</div></div></div></div></div><div class=\"panel panel-default\"><div class=\"panel-heading\"><h5 id=\"MedicationDispense2-3\" class=\"panel-title\"><span style=\"float: right;\">Resource Conformance: unspecified </span>MedicationDispense</h5></div><div class=\"panel-body\"><div class=\"container\"><div class=\"row\"><div class=\"col-lg-4\"><span class=\"lead\">Core FHIR Resource</span><br/><a href=\"http://hl7.org/fhir/medicationdispense.html\">MedicationDispense</a></div><div class=\"col-lg-4\"><span class=\"lead\">Reference Policy</span><br/></div><div class=\"col-lg-4\"><span class=\"lead\">Interaction summary</span><br/><ul><li>Supports <code>create</code>.</li></ul></div></div><p/><p/><div class=\"row\"><div class=\"col-12\"><span class=\"lead\">Documentation</span><blockquote><div><p>Created on the server once an order has been dispensed, referring to the order in authorizingPrescription.</p>\n</div></blockquote></div></div></div></div></div></div>"
},
"url" : "http://costateixeira.github.io/spenser/CapabilityStatement/SpenserFHIRCapabilityStatement",
"version" : "1.0.0",
"status" : "active",
"date" : "2025-04-18",
"publisher" : "Zeora",
"contact" : [
{
"name" : "Zeora",
"telecom" : [
{
"system" : "url",
"value" : "http://example.com/committees"
},
{
"system" : "email",
"value" : "my-group@example.com"
}
]
},
{
"name" : "José Costa Teixeira",
"telecom" : [
{
"system" : "email",
"value" : "you-know.it@gmail.com",
"use" : "work"
}
]
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001",
"display" : "World"
}
]
}
],
"kind" : "instance",
"implementation" : {
"description" : "Spenser FHIR Endpoint"
},
"fhirVersion" : "5.0.0",
"format" : [
"json"
],
"rest" : [
{
"mode" : "server",
"resource" : [
{
"type" : "MedicationRequest",
"interaction" : [
{
"code" : "create"
}
]
},
{
"type" : "MedicationDispense",
"interaction" : [
{
"code" : "read"
}
]
},
{
"type" : "InventoryReport",
"interaction" : [
{
"code" : "read"
},
{
"code" : "create"
}
]
}
]
},
{
"mode" : "client",
"documentation" : "Spenser also acts as a client: it polls a server for orders it should fulfil. Following the COW guidance on actionable orders, an order is only dispensed when the MedicationRequest carries the 'actionable' tag, or when a Task asks for it to be fulfilled.",
"resource" : [
{
"type" : "MedicationRequest",
"documentation" : "Searched for orders tagged as actionable. Set to 'completed' after dispensing, when no Task is coordinating the work.",
"interaction" : [
{
"code" : "search-type"
},
{
"code" : "update"
}
],
"searchParam" : [
{
"name" : "_tag",
"type" : "token",
"documentation" : "Selects orders tagged http://terminology.hl7.org/CodeSystem/common-tags#actionable"
},
{
"name" : "status",
"type" : "token"
},
{
"name" : "intent",
"type" : "token"
}
]
},
{
"type" : "Task",
"documentation" : "Coordination Task pointing at the order in Task.focus. Set to 'completed' with the dispense in Task.output; the status of the request itself is left to the placer.",
"interaction" : [
{
"code" : "search-type"
},
{
"code" : "update"
}
],
"searchInclude" : [
"Task:focus"
],
"searchParam" : [
{
"name" : "status",
"type" : "token"
}
]
},
{
"type" : "MedicationDispense",
"documentation" : "Created on the server once an order has been dispensed, referring to the order in authorizingPrescription.",
"interaction" : [
{
"code" : "create"
}
]
}
]
}
]
}