Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data & Filtering Architecture #32

Open
itlackey opened this issue Apr 27, 2020 · 0 comments
Open

Data & Filtering Architecture #32

itlackey opened this issue Apr 27, 2020 · 0 comments
Assignees
Milestone

Comments

@itlackey
Copy link
Collaborator

After thinking about it, I think we should classify filters into "global filters" and "chart filters" and then separately we can have "regions".

Global filters

  • Currently time, cohort, and cases.
  • They remove patients from the patient overlays (dot-density, 2d-density, contours) and most charts
  • Some charts shouldn't be affected by the filters. For example, some time series charts should probably show the full time scale and have a vertical line to indicate the current date (or date range).

Chart filters

  • Any filter found in the charts (age, race, symptoms, etc).
  • They remove patients from the 2d-density and contour overlays, but will change the appearance of the dots in the dot-density (no fill, just a border). This way we'll highlight the patients that pass the chart filters, but still leave some way to compare against the patients that were filtered out.
  • Chart filters might also change the appearance of the charts rather than completely remove them.. not sure yet.

Regions

  • Gives in a black border to the dots in the dot-density overlay. Has no effect on 2d-density or contours.
  • Each region will keep track of which patients are in the region.
  • Some charts will use the patients after global filters, but some (like some time series charts) will use the full time scale.

So I'm thinking from a data structure standpoint, App should keep track of:

  • Patients
  • filtered_patients (after applying global filters)
  • chart_filtered_patients (after applying global+chart filters)

Each region should keep track of:

  • patient_ids within the region
  • filtered_patient_ids within the region (after applying global filters)
  • chart_filtered_patient_ids within the region (after applying global+chart filters)
@itlackey itlackey self-assigned this Apr 27, 2020
@DennisGoldfarb DennisGoldfarb transferred this issue from another repository May 7, 2020
@DennisGoldfarb DennisGoldfarb added this to the Publication milestone Jun 4, 2020
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

No branches or pull requests

2 participants