Jump to content

Blueprint:Blueprint

From Sahana Eden Wiki
Revision as of 07:59, 17 October 2025 by Dominic (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Blueprints

Blueprints are informal working documents to discuss development goals in Sahana Eden, including (but not limited to) feature sets, standards and the development process and methodology itself.

This page illustrates the general structure of Blueprints:

Background

A Blueprint would normally start with a section that explains the background of the development goal, e.g. a user story:

 Medical staff want to be able to record measurement values of their patients, like weight or blood sugar, and and follow their development over time.

Problem(s)

The problem statement illuminates the obstacles that need to be overcome, e.g.:

 There is currently no dedicated place to record such measurement values in the MED module, so users are forced to document them in free text fields in status reports, where they cannot easily follow or analyze their development over time.

Analysis / Requirements

This section analyses the problems and draws conclusions about requirements for possible solutions, e.g.:

 Measurement values can be either numerical (with a unit), or discrete values from a pre-defined set. Values can be within a "normal" range, or deviating from it, and highlighting deviations is a usual form of decision support in this context. Observing the development of measurement values over time, or comparison of individual values is best facilitated in tables, and can additionally be supported by e.g. line charts.

It is also important that the analysis illuminates the available capabilities and resources, as well as constraints, for the adoption of possible solutions.

Solution Ideas / Proposals

This section collects and discussed solution ideas for the requirements derived from the analysis, e.g.:

 The MED data model can be extended with a category table of measurement types, each defining a numerical range or set of discrete values as well as the corresponding "normal" range. Further, a time-stamped relation between a patient/person and a measurement type would be used to document a concrete measurement result.
 A special UI endpoint would be used to allow the documentation of multiple measurement results with the same time stamp.
 Measurement results would then be presented in a special data table, where the time stamps form the horizontal axis, and measurement types the vertical axis.

This section can include links to external documentation, or other blueprints, that elaborate on the individual ideas or proposals.

Implementation

This section documents concrete implementations of the solution proposals, e.g.:

 HistoryTable is a CRUDMethod to display time-stamped values as a table with a horizontal time axis and vertical grouping by category reference. This method can be used to visualize medical measurement values.

Typically, this section would include links to the specific documentation about the implementations.