Health Blockchain using Tendermint
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd
code
crypto
state
store
transaction
util
.gitignore
README.md
clinic.go
clinicchain

README.md

Clinic Chain - Salud en lai Blockchain

ClinicChain es una prueba de concepto con tecnología blockchain utilizando Tendermint como capa de consenso y P2P. Merkle AVL como storage para las cuentas y MongoDB como storage para los pacientes, doctores, citas médicas e historia clínica.

La idea es probar Tendermint como generador de una blockchain y su capacidad plug and play para añadir otros componentes de arquitectura como una base de datos no relacional

Features

  • Create

Interfaz de Usuario

  • cliente de linea de comandos

Instalar Dependencias y Clinicchain

go get github.com/tendermint/tendermint
go get github.com/tendermint/iavl
go get gopkg.in/mgo.v2
go get -u github.com/spf13/cobra/cobra 

Instalar clinicchain

go clean
go build

Paso a Paso

# iniciar tendermint, mongodb y clinicchain
tendermint init
tendermint node --consensus.create_empty_blocks=false
sudo service mongo start
clinicchain init

# crear par de llaves para el paciente y doctor
clinicchain generatekey

# crear una cuenta para el paciente
clinicchain newaccount [publicKeyPaciente]

#crear un paciente para la cuenta anterior
clinicchain newpatient [ID] [Nombre] [Apellido] [PrivateKey]

clinicchain newpatient 5bef46085e47a17cffe2e4ce Juan Perez 50aa3ad5a7d27cc6bd281ebd0a9ab350763373f958eae36b6e1d377a7b6c6a587ca0ce699c6fa70db6c5ce36b08373c222d0f4e53a3c96d708d61c63358ad7df

#crear otra cuenta para el doctor
clinicchain newaccount [publicKeyDoctor]

# crear un doctor para la cuenta anterior
clinicchain createdoctor [ID] [Nombre] [Apellido] [Especialidad] [PrivateKey]

clinicchain newdoctor 5bef46e45e47a17d39d6dae2 Jorge Millones Neurología 39fc002a45b2312f4d4dce00b95c3f9346b8e6de00d6191e8536b1faaf38e12445968e76ae2274c8b94d4f98f97c81c5760b7563de63fc079bbeec249b6fe76f

# crear una nueva cita médica para el paciente con el doctor previamente creado
clinicchain newappointment [IDPaciente] [IDDoctor] [PrivateKeyPaciente] [Comentario]

clinicchain newappointment 5bef46085e47a17cffe2e4ce 5bef46e45e47a17d39d6dae2 50aa3ad5a7d27cc6bd281ebd0a9ab350763373f958eae36b6e1d377a7b6c6a587ca0ce699c6fa70db6c5ce36b08373c222d0f4e53a3c96d708d61c63358ad7df "Venir en Ayunas"

# atender un paciente
clinicchain attendpatient [PrivateKeyDoctor] [IDPaciente] [Historia Medica] 

clinicchain attendpatient 39fc002a45b2312f4d4dce00b95c3f9346b8e6de00d6191e8536b1faaf38e12445968e76ae2274c8b94d4f98f97c81c5760b7563de63fc079bbeec249b6fe76f 5bef47305e47a17d5c3f26e6 "El paciente esta grave tiene tos"