Git Product home page Git Product logo

digital-growth-charts-react-client's People

Contributors

anchit-chandran avatar chvanlennep avatar dc2007git avatar eatyourpeas avatar pacharanero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

digital-growth-charts-react-client's Issues

Consider switching to Blob storage as a very economical way of hosting the React Demo App

Using web storage (aka Amazon S3 and Azure Blob storage, many others exist) is a very cheap way to host static content. No server is required which means it's fast, cheap, and auto-scales well to demand.

Downsides are that there is a little more configuration required to ensure that client-side routing works properly. Here is a useful tutorial https://medium.com/@antbutcher89/hosting-a-react-js-app-on-azure-blob-storage-azure-cdn-for-ssl-and-routing-8fdf4a48feeb

GitHub auto-deploy is also likely to need a bit of thought, it should be simple enough and there may be an existing static app Workflow file we can use.

Overall, it's a nice-to-have, not for MVP. May be worth considering if we find we are having to increase the size of the Azure App Service plan a lot to cope with demand on the React demo client, although really, there is very little load on the server except serving the initial JS application and possibly some static CSS/image assets subsequently.

Create charting library

Rendering the charts is complicated - each centile is made up of 3 data-sets which must represent a series so as to ensure they are plotted with clear breaks. For 9 centiles, that means plotting 27 separate series, the 28th being the growth data of the child. It would be best to have a bespoke library/package with modifiable parameters to do with styling available to developers to remove the complexities around chart rendering.

Bone ages

Now that the API returns bone ages, it would be good to render them. This would mean adding bone ages to the form

Tidy up the results page

The results page should have code folding to reveal all results + JSON for demo purposes
It should have copy and paste

Let's Make Copy And Paste Easy and Good - (they're going to do it anyway)

In an ideal world, all EPRs will integrate the dGC API shortly after we launch it, and clinicians of all stripes will be able to access RCPCH-standard centile and SDS calculations from within their native EPR applications.

However, back in the real world, this is a long-term goal. In the meantime we will have a lot of clinicians having to manually enter child data into the React demo, and they will want to record the returned data in their EPR manually as well. They are likely to want to copy and paste the data. This is suboptimal, but it is acknowledging what will happen in the real world.

There is a small clinical risk associated with this 2-way transfer of data - the input data could be entered incorrectly, or the returned data could be transcribed incorrectly. We can reduce the risk of the second error but providing a text box with all the returned information neatly formatted for the user to copy and paste into their application. We can't stop them doing this anyway, but we can make the resultant data-block better, less ambiguous, and clearer.

What I'm proposing would be at the bottom of the results page, underneath the results table. A text box containing:

  • All the data in the results table, formatted nicely into clear sentences, so as to be completely unambiguous if pasted into a 'Journal' type note in a clinical record.
  • The API that was used and the version.
  • The current date & time (which may be different from the birth date and the observation date and indeed even the time it is entered in the clinical record if there is a delay)
  • (for extra points) one of those cool 'copy to clipboard' buttons and a "Copied to clipboard!" success flash

Upgrade Node version to 18 or higher

Node 16 is now about to leave LTS status https://nodejs.dev/en/about/releases/
Se need to do an upgrade to use Node 18 or possibly even better Node 20, both of which are LTS editions
At the same time it is certain we will need to do updates of React and many of the dependencies, so that it works with the dGC React Component.

Event logging

Now that the API returns events, it would be good to render these on the chart as an up arrow. This would mean adding another tab to the form for events

Design Notes to work through.

design notes from @kirsten-olson
Demo site for growth charts - https://growth.rcpch.ac.uk/

Design

  • Refer to attached guidance / KSS for colour/font use, etc. - can keep clean clear style but follow our forms approach (where feasible)

  • Add full logo at top, with banner style

  • Menu – can we display as on other RCPCH sites? (I for one keep missing it!)

  • We expect this may be used on mobile, so can do more checking – but it seems quite responsive, though wonder if menu / top links can display as burger menu

Content/navigation

  • If possible, add home page to introduce what the site is for and who it is for, with a link to the data demo on a separate page (and on the menu / promoted from home page)

  • We need a clear redirection to RCPCH web pages for parents and carers looking for information about growth charts, especially if they are likely to land here from web searches; and/or to other growth charts information for families when available – suggest this be a block of copy on the home page

  • Check labels for data fields, as difficult (for us!) to read. For example, is top birth date, next date of measurement?

Website footer

  • In the second column 'Support' - can Link Two connect with open forum? https://openhealthhub.org/c/rcpch-digital-growth-charts/47. The remaining links can be removed.
  • Can the third column be renamed to 'Contact us' and include the following: 'Email us on [email protected]'. The remaining links can be removed.
  • Can the fourth column be renamed to 'About us' and include the following: 'The digital growth charts project is managed by the Royal College of Paediatrics and Child Health. Founded in 1996 and with members in the UK and internationally, we play a major role in postgraduate medical education, professional standards, research and policy'. Can it also include a link to RCPCH website https://www.rcpch.ac.uk/ ?

Consider removing the Spreadsheet Upload link in the React client

We only have that feature for some testing functions, and for use by @statist7

We could leave the feature but remove the link to it, because I don't think we want to encourage Joe Public to be uploading spreadsheets and doing multiple calculations. Also I really don't want to encourage ANY more spreadsheet use in the NHS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.