Skip to content

Dynamic dashboard statistics#156

Draft
gmakharat wants to merge 3 commits intodevelopfrom
DDP-5103_testbostson_demographic_dashboard
Draft

Dynamic dashboard statistics#156
gmakharat wants to merge 3 commits intodevelopfrom
DDP-5103_testbostson_demographic_dashboard

Conversation

@gmakharat
Copy link
Contributor

Ticket: https://broadinstitute.atlassian.net/browse/DDP-5819

Draft version of dynamic dashboard statistics feature:

  • Statistic interface which helps to make high level abstraction for the feature, to make easier to add different kind of statistic representation later, this type interface will be parent of all type of statistic(Counter, Graph, etc).
  • StatisticFactory interface and StatisticCreator class which will help to generate different kind of Statistic type, to hide switch statement which manages to which type of object return depending on statistic type(Counter-Participant, Graph-Participant etc).
  • StatisticResult abstract class which will be parent class of result of any type of statistic, currently empty but it can be useful to provide common data for all kind of statistic
  • StatisticPayload first intention of this class was to deserialize json from frontend of what kind of statistic user wanted to create, but currently is used to create Java object filled with data from dashboard_settings table, I think it can be good helper class to communicate with code from outer world(Database, Frontend, etc).
  • StatisticFor idea of this enum class is to make difference for what we make statistics, statistics for participant related things or statistics for medical record related things and etc.
  • FilterType nearly the same idea as StatisticFor has, will help in filtering data, for example StatisticFor can be PARTICIPANT and FilterType will be ENROLLED, REGISTERED, etc it should be useful for filtering to have small methods which will have Single Responsibility.
  • DisplayType enum class, the same idea as FilterType and StatisticFor have, to make difference on code level what kind of representation is required.
  • Counter, ParticipantCounter and CounterResult classes are related to COUNTER representation of statistic, I think each representation will have such classes, for example BarGraph, ParticipantBarGraph, BarGraphResult, all of these classes will have type Statistic

…-manager into DDP-5103_testbostson_demographic_dashboard

� Conflicts:
�	src/main/java/org/broadinstitute/dsm/route/BatchKitsRoute.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant