By: Jose M Munoz
KCD Colombia 2023
This little project proposal for KCD Colombia 2023's hackathon aims to provide a secure, interoperable, and efficient system for managing patient medical records. We utilize Blockchain for secure and decentralized data storage, Kubernetes for scalable deployment, and large language models (LLMs) with vector search to help healthcare providers (all along the world) find similar cases and their treatment.
This would be a great solution for optimizing the healthcare system in Colombia for the variety of health suppliers, and it could be easily adapted to other countries. The very basic user interface once you run looks like this:
/project
/blockchain
/chaincode
medicalrecords_cc.py
docker-compose.yaml
/api
app.py
requirements.txt
Dockerfile
/kubernetes
api-deployment.yaml
api-service.yaml
/vector_search
embeddings.py
Dockerfile
/ui
index.html
/tests
test_medicalrecords.py
test_api.py
test_embeddings.py
- Clone the repository
git clone https://github.com/munozariasjm/DeMeRS.git
cd project
- Build and start the blockchain network
Navigate to the blockchain
directory and start the network using Docker Compose.
cd blockchain
docker-compose up -d
- Build and deploy the API service
In the api
directory, build the Docker image and deploy it using Kubernetes.
cd ../api
docker build -t api:1.0 .
kubectl apply -f ../kubernetes/api-deployment.yaml
kubectl apply -f ../kubernetes/api-service.yaml
- Build and deploy the vector search service
Similarly, in the vector_search
directory, build the Docker image and deploy it using Kubernetes.
cd ../vector_search
docker build -t vector-search:1.0 .
kubectl apply -f ../kubernetes/vector-search-deployment.yaml
kubectl apply -f ../kubernetes/vector-search-service.yaml
- Access the UI
Open ui/index.html
in your web browser.
The system provides an API for adding and retrieving medical records, and a user interface for interacting with the API.
Work in progress
Contributions are welcome. Please submit a pull request, or create an issue for any bugs or feature requests.
This project is licensed under the terms of the MIT license.