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/tree/master and changes regularly. See the Directory of published versions
Built from commit 1fbb0f74.
Contents:
This page provides a list of the FHIR artifacts defined as part of this implementation guide.
The following artifacts define the specific capabilities that different types of systems are expected to have in order to comply with this implementation guide. Systems conforming to this implementation guide are expected to declare conformance to one or more of the following capability statements.
| SpenserFHIRCapabilityStatement |
These define constraints on FHIR resources for systems conforming to this implementation guide.
| SpenserRequest |
These define sets of codes used by systems conforming to this implementation guide.
| Spenser Medications - ValueSet |
A value set of medications that Spenser can dispense. |
These define new code systems used by systems conforming to this implementation guide.
| Spenser Medications - Code System |
A code system of medications that Spenser can dispense. |
These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.
| Example - Add to inventory - 5 Milk Chocolates |
Example - Add to inventory - 5 Milk Chocolates |
| Example - Dispense reported back |
What Spenser creates on the order server once a piece has come out, pointing back at the order in authorizingPrescription. The same resource is the answer to an order posted straight at the device. |
| Example - Dispense that did not happen |
An order Spenser could not fill because the lane is empty. R5 removed MedicationDispense.statusReason, so the reason lives in notPerformedReason, which is a CodeableReference - hence the .concept in the path. |
| Example - Order made actionable by a tag |
A MedicationRequest the placer has marked actionable. Spenser dispenses it on its next check and, because no Task is coordinating the work, sets the request itself to completed. |
| Example - Order that is not actionable on its own |
The same order without the tag. On its own this is an authorization and nothing more: Spenser ignores it until a Task asks for it to be fulfilled. |
| Example - Set inventory - 17 Dark Chocolates |
Example - Set inventory - 17 Dark Chocolates |
| Example - Spenser Request |
Example of a MedicationRequest to send to Spenser |
| Example - Task asking for an order to be fulfilled |
A Coordination Task pointing at the order in Task.focus. This is what makes the plain order actionable. Spenser completes the Task with the dispense in Task.output, and leaves the request itself to the placer. |