User talk:Djazayeri
[edit]
Cohorts, "Patient Groups", Patient Filters, Queries, Searches
First off, these are new and haven't been played around with enough, so there are all sorts of cool things we could do with them that nobody has thought of yet. I'm also not 100% clear on how long various things will take.
[edit]
Cohorts GSoC Project
I'm not certain how long things will take, so here's a first shot at the points to focus on:
- Refactor data model to properly distinguish
- queries / searches
- filters / cohort definitions
- patient sets
- cohorts / saved patient sets
- Create a portlet for the patient dashboard that shows which cohorts a patient belongs to
- Create a snazzy and useful portlet for viewing patient sets
[edit]
Misc Brainstorming...
- Improve cohorts and cohort definitions to support private/public-viewable/public-editable.
- Patient Dashboard should show the cohorts a patients belongs to. If you have permission you should be able to add/remove the patient to/from cohorts.
- Create a PatientCohorts portlet. Add an extension point to the patient dashboard to place this.
- Cohort definitions can be used to provide warning messages about the patient (e.g. CD4 Count < 350 AND No Drug Regimen)
- Create 'warnings' that consist of {saved cohort definition, warning text, weight}
- Portlet that would appear prominently on the patient dashboard page, and show warning messages if the patient you're viewing is in any warning cohorts.
- Consider caching the results of these warning filters. (Impossible to know when the cache is dirty?)
- Optimize filters to run faster on single patients and/or small patient sets
- Use cohorts to define legal transitions between states in a workflow
- Better 'display a cohort' UI. Currently the only view of a cohort is a pageable list of Name, Age, Gender.
- Predefined overviews:
- age/gender breakdowns (pie chart of male adult/female adult/male child/female child, or two series bar chart (M, F) of freq distribution of ages)
- number enrolled in each program (bar chart)
- frequency distribution of last encounter date (bar chart)
- etc, etc
- Overviews specified by the programmer of a specific page:
- I want to be able to say the following and get some useful view of data: <openmrs:portlet url="cohort" conceptsOfInterest="CD4 COUNT, WEIGHT (KG)" />
- Christian wants to be able to give a main cohort, and a list of subcohorts, and get some sort of breakdown.
- Predefined overviews:
It would also be cool to pass it a cohort/patientSet, and then a list of cohort definitions, which it will break down for you. For example:
Patients age < 15
--------------------------
...CD4 Count < 250: 45
...CD4 Count < 300 and > 250: 87
...State: ON ANTIRETROVIRALS: 90
...State: FOLLOWING: 487
...Regimen: Triomune-30: 54
...Regimen: Kaletra: 11 code>
- Overviews created by the user dynamically. I.e. the user picks concepts on the fly (METHOD OF TRAVEL TO CLINIC, ROOF CONSTRUCTION MATERIAL) and sees the cohort broken down by those concepts. How exactly to do this is an exercise for the reader. :-)
- Sometimes {concept class, concept data type} implies a particular type of display (e.g. {Lab Test, Numeric})
- Ideally you'd pick a token rather than a concept, but Burke needs to get that implemented.
- Overviews created by the user dynamically. I.e. the user picks concepts on the fly (METHOD OF TRAVEL TO CLINIC, ROOF CONSTRUCTION MATERIAL) and sees the cohort broken down by those concepts. How exactly to do this is an exercise for the reader. :-)
