rcpch / rcpch-audit-engine Goto Github PK
View Code? Open in Web Editor NEWEpilepsy12 Audit Platform
Home Page: https://e12.rcpch.ac.uk/
License: GNU Affero General Public License v3.0
Epilepsy12 Audit Platform
Home Page: https://e12.rcpch.ac.uk/
License: GNU Affero General Public License v3.0
postcode=CharField( # TODO need to validate postcode
Depends: #28
A containerised application can be deployed rapidly to a Kubernetes cluster using a Helm chart, which describes the deployment process.
Implementers who are wanting to use the API will need detailed descriptions of the mapping or data fields that they will need to pull from their EPR and how to send them to the API in a suitable manner that it is accepted.
It will probably be possible to maintain the documentation withing the audit-engine main codebase, perhaps generating a static website from Markdown in a docs/
folder.
MkDocs would do this, or there may be a way to do it with a plugin for Django itself. (Ideally this documentation should be pre-rendered into static HTML rather than server-side rendered by audit-engine for each request)
# TODO NonEpilepsy Class to be reorganised to persist:
Suggestion for roles:
RCPCH level: view and editor
RCPCH level: view only
Trust level: view and editor
Trust level: view only
Patient level: view only
Patient level: view and approve/opt out access
Are there other use cases? It is possible to be granular than this - allocating specific access to individual fields
class Meta: #TODO add meta classes to all classes
# TODO Class function to create calculated field epilepsy_years based on current date and date of first seizure in years
# this currently is unlikely to work TODO set locked to true if registered > 1 y
TODO implement 5000 character cut off
) # TODO NHS Number must be hidden - use case_uuid as proxy
comorbidity_snomed_code=models.CharField( #TODO Need to tag Snomed CT terms to all comorbidites @marcusbaw @colindunkley
If we are to have a patient facing platform for users to validate the information held on them within Epilepsy12, it would be ideal to integrate this with NHS Login. The process approval for NHS Login is quite involved.
class TimeAndUserStampMixin(models.Model): #TODO Mixin breaks build currently
In an effort to ensure we are using idiomatic Django, we will start to convert the Views to Class-based
https://docs.djangoproject.com/en/4.0/topics/class-based-views/intro/
Possible we just need new credentials, but Colin/I weren't able to login to review the fields:
ProgrammingError at /accounts/login/
relation "epilepsy12_epilepsy12user" does not exist
LINE 1: ..."epilepsy12_epilepsy12user"."twitter_handle" FROM "epilepsy1...
care planning measures for performance indicator missing
Quick note that as of this week there has been an announcement that the NHS "Dictionary of Medicines and Devices" aka. "dm+d" (not to be confused with the DM&D "Data Model and Dictionary" (you couldn't make it up, they are unrestrained in their idiocy) now has a REST API via the NHS Terminology Server and so we can potentially use this to look up drug names, classes, etc for the Audit Engine.
# TODO There needs to be a standard look up for ethnicities - DM&D
# TODO key value pairs to SNOMED-CT where possible
No where to record if a school individual care plan in place. Used in performance indicator.
Can the top tab be simply 'Clinician Access' rather than 'Hospital Clinician'. this is because the audit includes community colleagues as well as hospital colleagues
Patient first paediatric assessment date was/will be between
Cohort 4: 1 December 2020 – 30 November 2021
Cohort 5: 1 December 2021 – 30 November 2022
Cohort 6: 1 December 2022 – 30 November 2023
Cohort 7: 1 December 2023 – 30 November 2024
@coldunk can you link to the SNOMED RCPCH curated list here please.
Also the work you've already done mapping these SCTIDs to a Comorbidity, can you upload it here?
We may want to create a re-usable list in another repository, to enable this being shared as a Python package
children's surgery referral criteria
@coldunk it is currently not possible to make a referral and been seen by a children's epilepsy service if referral criteria have NOT been met. Is it common/possible/desirable for children who do not meet criteria still to be referred and seen? If so, do you want to capture this information? See examples:
# TODO ask @cdunkley if
#TODO Class function to calculate cohort based on first paediatric assessment date
Need to decide which fields and table structure we want to use
To enable deployment using Kubernetes, the application will need to be deployable via a Docker container.
There should be a Dockerfile which can be used to build a repeatable, secure, and reliable build of the E12 application.
Once there is a Dockerfile the application can also be shared to the Docker Hub, which enables developers and end testers to run a local deployment with docker run rcpch-audit-engine
or similar.
# TODO Need to reorganise into DESSCRIBE categories - still persist the granular but also concatenate seizure type as useable string
Opt out question should be edittable at any stage of data entry. Answer of yes should prevent any further information being added/the case being shown in analyses/downloads. Needs to be removed from the database (with record of system case ID left to track numbers of opt out), deletion on some kind of delay to give small window to retrieve in case opt out applied in error.
mental_health_problem=models.CharField( # TODO Decision to leave mental health problems the same: will need to be SNOMED in future
This isn't really an atomic piece of work but rather a reminder that all functionality in the E12/Audit Engine application needs to be well tested, so that we can make changes with confidence.
Neuropsychiatric, Developmental-behavioural, and Emotional problems possibly can be coalesced into Other Relevant Diagnoses which would allow more than one Diagnosis to be entered, and the pick-list should be constrained to a curated list.
#TODO Audit trail of all viewing or touching the database
no where to record Epilepsy Specialist Nurse input (plus date of first input) - required for performance indicator
This is a multi step process:
index_of_multiple_deprivation_quintile=CharField( # TODO need to calculate IMD quintile and persist
Currently on MRI performed date is persisted
An audit metric is time to MRI which needs implementing
index_of_multiple_deprivation=CharField( # TODO need to calculate IMD and persist
# TODO validate the postcode, strip spaces
So that names of different anti-epilepsy medications recorded, same way as the rescue meds are (no notes/dates needed)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.