Problem statement: 1) Patient logs in, uploads medical/lab test bills and submits it for insurance. Notifications are sent to hospital and lab admin. 2) Hospital admin logs in, verifies and approves the bills. This approval is stored on the smart contract 3) Lab admin approves the lab test bills. This approval is also stored on the smart contract 4) Once both of them approve, notification are sent to insurance admin. 5) Insurance admin can check for approvals of hospital and lab after which he will calculate the claim amount and do the claim.
HealthCare.sol
contract maintains the logic for this DApp.
The web pages found in the Web-client
folder are used to communicate with the deployed smart contract and also allow logging in for each specific user
Injected Web3
in the Environment
field and make sure your Metamask wallet is unlocked. This will connect Remix to the first account(Hospital admin) in your Metamask wallet.newRecord
function with the respective fields._records
mapping with index 1._ID
in the signRecord
function and click on transact._records
mapping again where you can see that the signatureCount
has incremented. Note that you can not sign the record using the patient's account from metamask and neither can the same account sign a record twice.
Update:
With Remix's new interface, you need to change the account address from the ACCOUNT
drop down on the Deploy and Run
tab (required in step 8):
The main focus of this project at the time of making was the smart contract logic, I just made the front end in a jiffy as I had some extra time left after implementing the contracts.
Contributions to fix the open issues are welcome, you'll receive some DOGE as well 😏
master
branch and add me as a reviewer