Background
The old ReportingCompatibility Module includes a very useful Cohort Builder feature.
We need to build a replacement for that feature, in the newer Reporting Module so that people can access the same cohort queries on-the-fly as they use in reports.
Requirements / Project Phases
This project should take an iterative approach, adding functionality piece by piece. One possible ordering of features would be:
- Choose a saved cohort query with no parameters, and see (asynchronously) the number of patients matching the query
- Choose a saved cohort query with parameters, and prompt the user for parameters
- Popup a preview of the list of patients matching a query
- Saving and loading search histories
- Combining multiple queries together with boolean logic
- Saving combined queries
- Let the administrator indicate which queries should be available as "shortcuts"
- Combining multiple queries with an easy-to-use interface (<-- this is hard!)
The "Cohort Builder Replacement" tickets in JIRA propose another possible ordering of features.
Mockups
Here are some initial mockups that show a general idea of how this could work, but come nowhere near defining requirements.
Error formatting macro: mockup: java.lang.NullPointerException: Cannot invoke "com.atlassian.confluence.xhtml.api.MacroDefinition.getMacroId()" because "macroDefinition" is null
Error formatting macro: mockup: java.lang.NullPointerException: Cannot invoke "com.atlassian.confluence.xhtml.api.MacroDefinition.getMacroId()" because "macroDefinition" is null
The minimal first pass at this would be:
Error formatting macro: mockup: java.lang.NullPointerException: Cannot invoke "com.atlassian.confluence.xhtml.api.MacroDefinition.getMacroId()" because "macroDefinition" is null