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

feat(dashboards): connect CRANIO dashboard to the database #4516

Open
wants to merge 48 commits into
base: master
Choose a base branch
from

Conversation

davidruvolo51
Copy link
Contributor

@davidruvolo51 davidruvolo51 commented Nov 25, 2024

Closes https://github.com/molgenis/GCC/issues/139

What are the main changes you did

In the current version of the cranio-provider vue app, the charts are rendered using randomised datasets that are generated on page load. This PR introduces the "live data feed" for these dashboards. See ticket https://github.com/molgenis/GCC/issues/139. In the ERN, there are four working groups. All of them will have dashboards, but this PR "activates" the craniosynostosis and cleft dashboards.

  • Create new ERN_DASHBOARD model that bundles datasets into charts and pages
  • Restructure global data
    • Add method for retrieving private and public schema names
    • retrieve organisations data and pass down to pages
  • Page "Your Center"
    • Organisation title and images update in all places
    • Connect total number of patients submitted to a report or row in the "Charts data" table
    • The chart "patients by workstream" is live
    • The chart "patients by workstream and sex" is live
    • All text, labels, and colours are confirmed
    • Display error messages if an there is an issue with retrieval, data preparation, or chart generation
    • Add busy indicators to all charts and text elements that are updated by charts
  • Craniosynostosis
    • All Centers
      • General overview
        • Year of birth filter is generated using age groups (e.g., 0-2, 2-4, etc.)
        • "Type of Craniosynostosis" chart is live and responds to filter
        • "Affected suture" chart is live and responds to filter
        • "Multiple suture synostosis" chart is live and responds to age group filter and clicked affected suture
        • "Patients by country of residence" chart is live. (NOTE: Is this chart linked to the filter?)
        • All text, labels, and colours are confirmed
        • Display error messages if an there is an issue with retrieval, data preparation, or chart generation
        • Add busy indicators to all charts and text elements that are updated by charts
      • Surgical Overview
        • "type of surgery" chart is live
        • "All surgical complications" chart is live
        • diagnosis filter is automatically generated
        • "Surgical interventions" chart is live and responds to filter (selected diagnosis)
        • "age at first surgery" chart is live and responds to filter (selected diagnosis)
        • All text, labels, and colours are confirmed
        • Display error messages if an there is an issue with retrieval, data preparation, or chart generation
        • Add busy indicators to all charts and text elements that are updated by charts
    • Your center
      • General Overview
        • Filter is automatically generated by age group
        • "type of craniosynostosis" chart is live and responds to the filter (selected age group)
        • "Affected suture" chart is live
        • "Multiple suture synostosis" chart is live
        • All text, labels, and colours are confirmed
        • Display error messages if an there is an issue with retrieval, data preparation, or chart generation
        • Add busy indicators to all charts and text elements that are updated by charts
      • Surgical Overview
        • Filter is automatically generated for surgery types
        • "Surgical complications" is live and responds to the filter (selected surgery type)
        • Filter is automatically generated for diagnosis
        • "Surgical interventions" chart is live and responds to the filter (selected diagnosis)
        • "Age at first surgery" chart is live and responds to the filter (selected diagnosis)
        • All text, labels, and colours are confirmed
        • Display error messages if an there is an issue with retrieval, data preparation, or chart generation
        • Add busy indicators to all charts and text elements that are updated by charts
  • Cleft lip and palate
    • Your center's overview:
      • Filter is automatically generated for age group
      • "Patients by phenotype" chart is live and responds to the filter (selected age group)
      • "Patients by gender" chart is live and responds to the filter (selected age group)
      • "% of patients that completed the ICs" meter is live and is shown when the correct age group is selected
      • "% of patients that completed the cleft-q" meter is live and is shown when the correct age group is selected
      • All text, labels, and colours are confirmed
      • Display error messages if an there is an issue with retrieval, data preparation, or chart generation
      • Add busy indicators to all charts and text elements that are updated by charts
    • All centers
      • Filter is automatically generated for age group
      • "ICS Outcomes" chart is live and is show when the correct age group is selected
      • "CLEFT-Q Outcomes" chart is live and is show when the correct age group is selected
      • All text, labels, and colours are confirmed
      • Display error messages if an there is an issue with retrieval, data preparation, or chart generation
      • Add busy indicators to all charts and text elements that are updated by charts

How to test

  • Checkout the branch locally. Run yarn test to run all necessary unit tests.
  • Navigate to the preview:
    • Sign in and navigate to the AT1 schema.
    • View all pages, click the filters, and interact with the chats

Warning

Currently, the filters are limited to the data that is available in the database. Some filters may have one category only

Checklist

  • updated docs in case of new feature
  • added/updated tests
    added/updated testplan to include a test for this fix, including ref to bug using # notation

@davidruvolo51 davidruvolo51 changed the title Feat(dashboards): connect CRANIO dashboard to the database feat(dashboards): connect CRANIO dashboard to the database Nov 26, 2024
Copy link

sonarqubecloud bot commented Dec 2, 2024

@davidruvolo51 davidruvolo51 marked this pull request as ready for review January 10, 2025 13:29
apps/cranio-provider/src/App.vue Outdated Show resolved Hide resolved
apps/cranio-provider/src/types/index.ts Show resolved Hide resolved
apps/cranio-provider/src/utils/generateAxisTicks.ts Outdated Show resolved Hide resolved
apps/cranio-provider/src/utils/getCranioSchemaNames.ts Outdated Show resolved Hide resolved
apps/cranio-provider/src/utils/generateColorPalette.ts Outdated Show resolved Hide resolved
apps/cranio-provider/tests/index.test.ts Outdated Show resolved Hide resolved
apps/cranio-provider/tsconfig.json Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants