This project entails the development of a scalable & open-source web service infrastructure to support Spezi-based digital health applications.
While most Spezi applications rely on the Stanford mHealth plattform using Google Could and Google Firebase, some applications and studies can not rely on Google Cloud resources and need to maintain or extend their infrastructure with a custom web service.
The Spezi web service infrastructure should provide an extensible and easy-to-deploy subsystem that can be used to host Spezi-based digital health applications.
As most Spezi applications currently use HL7 FHIR as a main encoding for transferring data between subsystems, the web service should default to HL7 FHIR as the main standard use to accept and provide data.
| FHIR APIs | The web service should use FHIR models as data transfer objects. We should explore if we want to implement the complete or a partial FHIR RESTful API surface. |
|---|---|
| Authentication Infrastructure | The web service should build on existing authentication standards such as OAuth to enable external authentication providers or a project-specific implementation. |
| Scalable Infrastructure | The web service should ideally be as stateless as possible to enable a scalable infrastructure to replicate the web service and access scalable database setups. Larger data elements should be stored in a cloud storage bucket for long-term storage. |
| Deployment | The web service must be easily deployable, e.g., prebuilt Docker images and provide example Kubernetes deployments, including load balancers, HTTPS proxies, and a scalable default database and cloud storage deployment. |
This project is a multi-person project and will be developed by a team of students and members of the Stanford Mussallem Center for Biodesign digital health group. We are looking for talented and motivated students who would like to expand their open-source development portfolio and want to be embedded in a wide variety of research studies.
<aside> 📧 Our Choose Your Research Project page provides a great overview how to engage with your supervisors. The following first steps will help you to get familiar with the project and demonstrate your existing skills.
</aside>
After completing these initial steps, please reach out to Paul Schmiedmayer to discuss how you can become more actively involved in the Spezi open-source project.