A standard that all modern digital healthcare apps should stand to. Initial thoughts on the base module model can be found here.
Currently building this standard, but here are some initial thoughts:
- Web first.
- Backend - python with django (framework), poetry (package management) / black (formatter) / bandit (security) / mypy (typing).
- Frontend - typescript with react (framework) npm/yarn (package management) / eslint (linter) / prettier (formatter).
- Git version control.
- Authentication and authorisation.
- Configurable pathways (for the disease / company wanting the app).
- DevSecRegOps (Development Security Regulation and Operations) at the core.
- Full unit testing and integration testing.
- Interoperability with other systems - perhaps we will use openEHR (or FHIR).
- Documentation in code (docstrings and typedoc).
- Typing (mypy).
- Cybersecurity (black).
- A theming framework (eg Semantic UI / Bootstrap).
- Open source all the way baby.
- Build a community around the base and modules
- CI/CD
- OSS licence (MIT)
- Code of conduct
- Contributing guidelines
- Issue templates
- Pull request templates
- An external clinical safety sign off process
- Security policy
- The software buyer owns the open source licence (MIT preferred), but Let's Do Digital house the code on Github.
- Potentially ReactNative for mobile first devices.
- Perhaps a developer portal or marketplace for modules
- We need a PR equivalent clinical safety sign off process (ask someone else who was not involved in the code to review it).
- To separate data access further from the frontend, a database(or other)/django(or fastAPI)/Nextjs/React.typescript stack could be used.
- We would like to build a system that enables people will less programming skills to pick up, tinker with and use. This means we have to separate the more complex components of the system into the base. The modules that are added as needed on top of this give the end-user (clinician, admin person or patient/family member) the functionality that they need.
- It would be nice to only have one computer language to learn, but we have highlighted some issues with this. Firstly, common practice is to have a javascript/typescript frontend, and a separate language for this backend. Python is fairly popular for the backend. There are of course some frameworks that utilise a single language across the frontend and backend, but these are not as popular and may not be as well supported. Furthermore, there is a powerful argument to be had that in utilising two separate languages, one for the frontend and one for the backend, you then separate the concerns of the frontend and backend. This can enable better security of data, as the frontend is not able to access the backend directly.
- The base module will house as much of the complexities of the platform as possible. Where possible, it will abstract away:
- Authentication and authorisation
- DevSecRegOps
- Interoperability
- Data storage
- Documentation
- Typing
- Cybersecurity
- A module will be a standalone piece of functionality that can be added to the base module. It will be a self-contained piece of code that can be added to the base module to give the end-user the functionality that they need. Digital healthcare app functionalities range vastly in number and complexity, but a list of modules could include:
- ePROMS (electronic patient reported outcome measures)
- Clinician / admin facing CDSS (clinician decision support systems)
- Patient facing CDSS
- Medical note taking
- PAS (patient administration system) for clinic and bed management.
- LIMS - for labs
- PACS for imaging
- Requests and referrals
- ePMA for prescribing
- Messaging system (clinician-admin-patient)
Potential logo idea


