febi-stack
febi-stack copied to clipboard
FHIR + Ethereum + BigchainDB + IPFS = Decentralized stack for Personal Health Records management
The F.E.B.I Stack
Introduction
F.E.B.I. stands for
- FHIR Frontend
- Ethereum
- IPFS
- BigchainDB
F.E.B.I. is a PoC application stack which uses decentralized technologies for Health Records
Decetralized stack vs Traditional web stacks
FEBI vs LEMP
| Technology | FEBI | LEMP |
|---|---|---|
| Application Logic | Ethereum | PHP |
| Database | BigchainDB | MySQL |
| Filesystem | IPFS | Linux |
| Server | Browser only | Nginx |
Frontend
To build the frontend you must have Yarn or npm installed, then run yarn start for a local server or yarn build to build the files to later upload in IPFS.
Blockchain TODO
Requirements
- Metamask browser plugin
- Ganache locally installed
- Truffle locally installed
Running the smart contracts
- Compile contracts:
truffle compile - Migrate contracts:
truffle migrate - Test contracts:
truffle test
IPFS
Requirements
- IPFS Installed https://docs.ipfs.io/introduction/install/
Instructions
- In a terminal run
ipfs daemon - In a second terminal run
ipfs add -r ipfs/app
TODOs
- Encrypt FHIR files before upload them in IPFS
- Ethereum User Registry smart contract
- Ethereum Asset hashes and signatures smart contract
- Ethereum Permissioning and Access Control rules smart contract
- OAuth login to EHR apps with FHIR support (e.g. Epic, Cerner sandboxes)
- React material UI