fastenhealth / fasten-onprem

Fasten is an open-source, self-hosted, personal/family electronic medical record aggregator, designed to integrate with 100,000's of insurances/hospitals/clinics
GNU General Public License v3.0
1.63k stars 85 forks source link
electronic-health-record electronic-medical-record emr healthcare open-source personal-health-record

fasten_view

Fasten - On Premise/Self-Hosted

CI Discord Join Request Providers Join Newsletter

Fasten securely connects your healthcare providers together, creating a personal health record that never leaves your hands

[!NOTE] NOTE: Fasten is a Work-in-Progress and can only communicate with a limited number of Healthcare Instutions (approx 25,000 at last count). Please fill out this Google Form if you'd like to be kept up-to-date on Fasten



newsletter documentation

fasten_view
See more Fasten screenshots

Introduction

Like many of you, I've worked for many companies over my career. In that time, I've had multiple health, vision and dental insurance providers, and visited many different clinics, hospitals and labs to get procedures & tests done.

Recently I had a semi-serious medical issue, and I realized that my medical history (and the medical history of my family members) is a lot more complicated than I realized and distributed across the many healthcare providers I've used over the years. I wanted a single (private) location to store our medical records, and I just couldn't find any software that worked as I'd like:

So, I built it.

Fasten is an open-source, self-hosted, personal/family electronic medical record aggregator, designed to integrate with 1000's of insurances/hospitals/clinics

Features

It's pretty basic right now, but it's designed with a easily extensible core around a solid foundation:

Getting Started

There are 2 flavors of Fasten:

Instructions

GitHub release (latest by date)

First, if you don't have Docker installed on your computer, get Docker by following this install guide.

Next, run the following commands from the Windows command line or Mac/Linux terminal in order to download and start the Fasten docker container.

docker pull ghcr.io/fastenhealth/fasten-onprem:main

docker run --rm \
-p 9090:8080 \
-v ./db:/opt/fasten/db \
-v ./cache:/opt/fasten/cache \
ghcr.io/fastenhealth/fasten-onprem:main

Next, open a browser to http://localhost:9090

At this point you'll be redirected to the login page.

Logging In

Before you can use the Fasten BETA, you'll need to Create an Account.

It can be as simple as

Usage

If you're using the sandbox version of Fasten, you'll only be able to connect to Sources using test credentials

https://docs.fastenhealth.com/getting-started/sandbox.html#connecting-a-new-source

Using with multiple people

[!NOTE] NOTE: Multi-user features are a work in progress. This section describes the eventual goals.

Fasten is designd to work well for an individual or a family. Since it is self-hosted, by nature the person running the service will have full root access to all user records. For most families, this is perfect! If you need stronger security, Fasten might not be for you.

Fasten assumes that all records connected from a single user account (from one or more sources) belong to a single individual, and thus will show aggregations that will only make sense for a single person. Be careful to not connect sources for different people to the same Fasten user account.

Tracking health data for multiple family members works by creating new user accounts for each person. Any user with the admin role can manage users and permissions. Any user can be granted access (by an admin) to view another user's records. Through this mechanism, it's easy to setup any family configuration needed. For example: a family of four can have two parents that can each see the records of the two children.

It is also possible to create users with the viewer role that only have access to view records of other users. This can be used to share records with a caregiver.

This allows for a more complex example:

FAQ's

See FAQs for common questions (& answers) regarding Fasten

Support

Have questions? Need help? Found a bug? Create an issue and we'll do our best to help you out. You can also join us on Discord to chat with other Fasten users.

Discord Join

Contributing

CI codecov

Please see the CONTRIBUTING.md for instructions for how to develop and contribute to the Fasten codebase.

Work your magic and then submit a pull request. We love pull requests!

If you find the documentation lacking, help us out and update this README.md. If you don't have the time to work on Fasten, but found something we should know about, please submit an issue.

This project is tested with BrowserStack.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

Jason Kulatunga - Initial Development - @AnalogJ

Licenses

GitHub license

Fundraising & Sponsorships

To ensure Fasten's long-term sustainability, we're exploring some funding options. We're still deciding a long-term monetization strategy.

Got questions or want to learn more about our fundraising experiment? Click here to dive into the details & FAQs

I'd also like to thank the following Corporate Sponsors: