Updated MOS dashboard with the aim of making it as general as possible for initial roll-out to customers, while providing the ability to customise filtering for users without editing panel SQL queries.
Also added some alternate panel options for comparison with the existing (see below, and annotated on the dashboard itself for explanation).
Filters/Variables
Added variables for many store and item parameters which can be used for filtering, including Categories, Types, etc. The idea is that if particular filters are not required, they can simply be set to 'ALL' and hidden (from the Variable settings page). Other restrictions (such as Stock Type = "On essential drug list" can be selected, saved, then hidden if required.
To simplify the queries for these variables, two additional Postgres views have been created: store_categories and item_categories.
In order to create customisable user experiences (for different users/stores within one organisation/dashboard implementation) we would duplicate this dashboard (into different folders?), set certain variables to restrict results, hide them, and given different users permission to only access their version of the Dashboard.
Obviously the proliferation of selectable variables at the top of the page can get very messy, so we should hide as many of them as possible and only show the necessary ones for any given implementation.
Hidden variables include a few constants (such as the names of the aforementioned views), count values (for displayed stores and items), etc.
Panels
Map
The map panel is using a customised version of grafana's built-in map panel, which adds support for drill-down variable updating when locations are selected. (See #49). It is in custom-plugins/grafana-worldmap-panel-msupply (and has a different ID to the default grafana version).
mSupply Horizontal Toolbar
Updated with basic pagination for better performance of the Victory Chart. (See #47)
Stock Status table
Shows the same information as the above horizontal toolbar but in a simpler tabular form. However it is much more responsive, easily navigable, and will work better with Drill-down (eventually).
MOS Levels for all facilities
Shows stock information per store. However, the query is a CrossTab query, so these store names are hard-coded currently. Not sure how we'd go about creating it so the columns update dynamically, but we can develop it further if this type of display is desirable.
Single Facility/Item displays
The same information (All stock MOS for single facility, Single stock across multiple facilities) presented using four different panel styles -- horizontal toolbar, bar gauge, bar graph and table.
There are pros and cons for each. In particular, the bar gauge is the most visually effective, but only when the number of items (bars) is small (<20). It would be good if there were a way to have the dashboard conditionally display different panels based on the number of selected items to display.
Have also added an updated Sync Statistics dashboard -- based off current PNG one, but with more (hidden and simplified) filters, similar to MOS table.
Updated MOS dashboard with the aim of making it as general as possible for initial roll-out to customers, while providing the ability to customise filtering for users without editing panel SQL queries.
Also added some alternate panel options for comparison with the existing (see below, and annotated on the dashboard itself for explanation).
Filters/Variables
store_categories
anditem_categories
.Panels
Map
The map panel is using a customised version of grafana's built-in map panel, which adds support for drill-down variable updating when locations are selected. (See #49). It is in
custom-plugins/grafana-worldmap-panel-msupply
(and has a different ID to the default grafana version).mSupply Horizontal Toolbar
Updated with basic pagination for better performance of the Victory Chart. (See #47)
Stock Status table
Shows the same information as the above horizontal toolbar but in a simpler tabular form. However it is much more responsive, easily navigable, and will work better with Drill-down (eventually).
MOS Levels for all facilities
Shows stock information per store. However, the query is a CrossTab query, so these store names are hard-coded currently. Not sure how we'd go about creating it so the columns update dynamically, but we can develop it further if this type of display is desirable.
Single Facility/Item displays
The same information (All stock MOS for single facility, Single stock across multiple facilities) presented using four different panel styles -- horizontal toolbar, bar gauge, bar graph and table.
There are pros and cons for each. In particular, the bar gauge is the most visually effective, but only when the number of items (bars) is small (<20). It would be good if there were a way to have the dashboard conditionally display different panels based on the number of selected items to display.