Ahora lo guiaré a través de los pasos para desarrollar un sistema EMR protegido por blockchain. Estos pasos son los siguientes:
1. Defina el alcance de su proyecto
Mi recomendación es que apunte a las siguientes dos áreas de amplio alcance:
- EMR seguros con blockchain;
- Facilite el acceso autorizado de los proveedores de atención médica y los pacientes a estos EMR seguros.
Dentro de estas áreas de alcance más amplio, obviamente necesitará incorporar características comunes del sistema EMR como la interfaz de usuario (UI), el flujo de trabajo EMR, etc.
2. Formular un enfoque de proyecto
Teniendo en cuenta la necesidad de proteger la PHI de miradas indiscretas, pero facilitando el acceso sin problemas para autorizar a las partes interesadas, recomiendo el siguiente enfoque:
- Utilice Hyperledger Fabric con su control de acceso y privacidad de datos para proteger los EMR.
- Implemente una «aplicación descentralizada» (DApp) de Ethereum para facilitar las transacciones sin problemas. Las DApps son aplicaciones web de código abierto con las siguientes características:
- El front-end se puede codificar en cualquier idioma, sin embargo, el back-end debe consistir en contratos inteligentes.
- Las DApps tienen sus comunidades de usuarios. Estas aplicaciones requieren tokens criptográficos, se ejecutan en cadenas de bloques descentralizadas y almacenan datos en esa cadena de bloques.
- La comunidad de usuarios debe llegar a un consenso antes de que una DApp sufra cambios, y ningún usuario puede controlar la mayoría de los tokens. Hemos cubierto las DApps en «Cómo convertir una aplicación web en una Dapp».
3. Formar un equipo de proyecto
Su equipo de proyecto debe tener los siguientes roles:
- analistas de negocios (BA);
- diseñadores de interfaz de usuario;
- Desarrolladores front-end web;
- desarrolladores de Hyperledger Fabric;
- Desarrolladores de Ethereum con habilidades de Solidity;
- probadores;
- Un gerente de proyecto (PM).
4. Estudie un proyecto EMR de cadena de bloques similar
Estudiar un proyecto EMR de blockchain lo ayudará con sus esfuerzos de desarrollo. Revisemos Cadena médica, que protege los EMR con la ayuda de blockchain. Los siguientes hechos rápidos son relevantes aquí:
- Además de proteger los EMR mediante blockchain, Medicalchain permite que los proveedores de atención médica accedan a los EMR en función de los permisos.
- Los pacientes y proveedores de atención médica como médicos, hospitales, laboratorios, etc. pueden ver los EMR. Pueden registrar sus diversas transacciones relacionadas con los EMR en la cadena de bloques.
- Medicalchain utiliza dos cadenas de bloques. Uno se basa en Hyperledger Fabric y este protege los EMR.
- La otra es una red basada en Ethereum, que permite un acceso fluido a las partes interesadas autorizadas. MedicalChain utiliza sus MedTokens (MTN) para facilitar las transacciones en esta cadena de bloques.
Lea más sobre Medicalchain en “Medicalchain: el futuro de la atención médica.”. Puede ver sus contratos inteligentes y sus API en el Repositorio GitHub de Medicalchain.
5. Regístrese para una «cadena de bloques como servicio» de Hyperledger Fabric
Utilizará Hyperledger Fabric, o Fabric como se le llama comúnmente, para proteger los EMR. La tela tiene muchas ventajas, por ejemplo:
- Fabric permite el control de acceso ya que es un marco de blockchain autorizado.
- Permite a los desarrolladores escribir «códigos de cadena», es decir, contratos inteligentes en la jerga de Fabric.
- Este marco utiliza componentes conectables como algoritmos de consenso.
- Fabric utiliza canales para información confidencial.
- Ofrece alta escalabilidad.
- Tiene características de seguridad de hardware para firmas digitales, lo cual es útil para aplicaciones que requieren mayor seguridad.
- He explicado las ventajas de Fabric en “Pros y contras de Hyperledger Fabric para redes blockchain”.
Tenga en cuenta que Fabric es un marco de código abierto para la cadena de bloques empresarial, y aún necesita construir una red de cadena de bloques para usarla. Eso puede ser complicado, ya que necesita administrar la infraestructura de hardware, las redes, etc. La buena noticia es que puede usar «Blockchain como servicio» (BaaS) para acelerar esto.
Los proveedores de BaaS administran la infraestructura, las redes, etc., por lo tanto, puede concentrarse en el desarrollo. Aquí, te recomiendo que uses “IPlataforma de cadena de bloques BM”, la oferta BaaS de IBM. Tiene varias ventajas, por ejemplo:
- Es una solución totalmente administrada, con tiempo de actividad garantizado y soporte las 24 horas, los 365 días del año.
- La plataforma blockchain de IBM le proporciona las herramientas de desarrollo necesarias.
- Todas las funciones de Fabric, como canales, algoritmo de consenso conectable, etc., están disponibles para usted.
- Esta plataforma utiliza Kubernetes para la orquestación, por lo tanto, implementar su aplicación es fácil.
Su equipo de diseño de interfaz de usuario puede seguir adelante con el diseño y el desarrollo de front-end tal como lo harían con cualquier proyecto de desarrollo de aplicaciones web. Le sugerimos que utilice JavaScript y frameworks/bibliotecas basados en JavaScript para desarrollar el front-end. Muchos desarrolladores conocen JavaScript, por lo tanto, puedes encontrar programadores fácilmente. El equipo de desarrollo de blockchain deberá trabajar en las dos aplicaciones de blockchain. Comencemos con la aplicación en Fabric.
6. Use el «Kit de desarrollo de software» (SDK) correcto
Fabric y la plataforma blockchain de IBM le permiten desarrollar su aplicación utilizando Nodo.js, el popular entorno de tiempo de ejecución de código abierto. Muchos desarrolladores lo conocen, por lo tanto, le recomiendo que lo use en este proyecto. La tela tiene un SDK de Node.jsofreciendo las siguientes ventajas:
- Existe una solución API para comunicarse con la red blockchain de Fabric.
- El SDK permite el registro de usuarios, la revocación de usuarios, el monitoreo de eventos, la instalación de códigos de cadena, el envío de transacciones, la configuración de redes, la creación de canales, etc.
- hay excelente documentación para el SDK.
- Los programadores pueden acceder a guías completas para desarrollar aplicaciones de Hyperledger Fabric.
7. Desarrolle la aplicación para proteger los EMR en Fabric
Ahora que ha estudiado el proyecto Medicalchain, puede continuar con la creación de su aplicación para proteger los EMR en Fabric. Esto implica los siguientes pasos:
- Implemente la plataforma blockchain de IBM siguiendo las instrucciones en “Primeros pasos con IBM Blockchain Platform”.
- Use cURL para descargar el código de muestra de Fabric, usando esta guía.
- Debe instalar el entorno de tiempo de ejecución de Node.js y NPM. Su equipo puede encontrar las instrucciones requeridas aquí.
- Fabric proporciona un rico repositorio de proyectos de muestra y aquí están las instrucciones para descargarlos.
- Encuentre proyectos relevantes para usted. Revise los códigos de cadena para esos proyectos siguiendo la guía de «inicio» mencionada anteriormente.
- Ahora puede desarrollar la aplicación con el SDK de Node.js.
- Agregar puntos finales de la API de red a la aplicación es el siguiente paso.
- Inscriba su aplicación, que genera un certificado del lado del cliente. Úsalo para registrar tu aplicación.
Leer «Creación de aplicaciones”, una guía proporcionada por IBM Blockchain Platform para obtener más información.
Acaba de desarrollar la aplicación para proteger los EMR en Fabric, y ahora es el momento de comenzar el desarrollo de Ethereum DApp.
8. Crea una cuenta Ethereum y compra Ether
Necesitará Ether, la criptomoneda nativa de Ethereum para implementar la DApp. Esto implica los siguientes pasos:
- Utilizar metamáscara, una billetera criptográfica. Está disponible como extensión de navegador y aplicación móvil. Descarga MetaMask. Puede crear una nueva cuenta siguiendo las instrucciones en el sitio web de MetaMask.
- Compre Ether: Compre Ether de base de monedasun intercambio criptográfico popular.
9. Instalar herramientas de desarrollo de Ethereum
El siguiente paso es instalar las siguientes herramientas de desarrollo de Ethereum:
-
ganache: Este es un cliente de blockchain. Ganache es parte del conjunto de herramientas Truffle. Los desarrolladores de blockchain de Ethereum usan Ganache para ejecutar comandos y ejecutar pruebas. Los programadores pueden consultar la extensa documentación ganache para ayuda.
-
suite de trufas: La suite Truffle es un conjunto popular de herramientas para el desarrollo de blockchain de Ethereum. Los desarrolladores de Ethereum utilizan el entorno de desarrollo y el marco de prueba que ofrece Truffle. Usan esto para implementar contratos inteligentes de Ethereum. Una ventaja clave de la suite Truffle es la completa Documentación de la trufa que se puede acceder a través de su sitio web. Simplemente cree una contraseña y asegure la semilla privada de 12 palabras.
- Web3.js: Web3.js es una API JavaScript de Ethereum, además, también es una colección de bibliotecas importantes. Los ingenieros de software lo usan para comunicarse con un nodo Ethereum local o remoto. el extenso Documentación de Web3.js ayuda a instalarlo y configurarlo.
10. Configurar las herramientas de desarrollo de Ethereum
Debe completar las siguientes acciones de configuración:
- Abra Ganache e inicie una instancia.
- Configure el «aconfig.js» para que pueda usar Webs.js.
- Modifique su archivo “config.js” con las claves pública y privada de su cuenta eth-lightwallet. Puede obtener instrucciones para estas acciones de configuración en “Primeros pasos como desarrollador web de Ethereum”. Vamos a referirnos a esto como el “artículo de referencia 1”.
- Deberá probar los contratos inteligentes de Ethereum, utilizando Ropsten, una red de prueba de Ethereum. Debe conectar MetaMask a Ropsten. MetaMask apunta a la red principal de Ethereum de forma predeterminada, por lo tanto, debe apuntar a Ropsten en su lugar. Leer «Guía definitiva para convertir una aplicación web en una aplicación descentralizada Dapp” para una guía detallada. Nos referiremos a esto en el futuro como el “artículo de referencia 2”.
11. Código de contratos inteligentes de Ethereum
Ahora que ha estudiado Medicalchain, sin duda, ha refinado y agregado a sus grandes ideas. Codifique sus contratos inteligentes de la siguiente manera:
- Utilizar Solidezel popular lenguaje de desarrollo de contratos inteligentes de Ethereum.
- Codificar contratos inteligentes en remezclarun «Entorno de desarrollo integrado» (IDE) para el desarrollo de contratos inteligentes.
12. Pruebe e implemente contratos inteligentes
Pruebe e implemente contratos inteligentes de la siguiente manera:
- Obtener éter ficticio de Grifo de éter MetaMask.
- Asegúrese de que la conexión de MetaMask con Ropsten aún esté abierta.
- Navegue por las opciones del menú en el IDE de Remix. Implemente su contrato inteligente en Ropsten. Confirme esta acción en MetaMask. Revisar la «artículo de referencia 2” para orientación.
- Pruebe los contratos inteligentes.
- Asegúrese de que la instancia de testrpc aún esté activa.
- Navegue a su directorio de trufas y use el comando «implementar trufas» para implementar el contrato inteligente. Utilice el Ether real para pagar el «precio de la gasolina».
Lea «Desarrollo de software Blockchain utilizando la red Ethereum» para obtener más orientación.
13. Cree tokens criptográficos para su DApp
Debe codificar, probar e implementar más contratos inteligentes para crear un token criptográfico para la DApp. Esto implica los siguientes pasos:
- Utilice el estándar de token ERC20. La mayoría de las billeteras son compatibles con esto y la mayoría de las DApps usan este estándar. Leer «Estándar de token ERC20” para obtener más información al respecto.
- Utilizar el Guía de desarrollo de Ethereum DeFi para crear su token criptográfico.
- Pruebe e implemente estos contratos inteligentes.
14. Conecte los contratos inteligentes al front-end de su DApp
Haga lo siguiente para conectar sus contratos inteligentes al front-end de la DApp:
- Abra el proyecto front-end en un IDE.
- Cree un archivo vacío llamado «web3.min.js» dentro de este proyecto. Este archivo lo ayudará a conectar los contratos inteligentes con el front-end mediante el uso de Web3.js.
- Copie el «código mínimo de Web3» de la Repositorio Web3.js ChainSafe en GitHub.
- Pegue el código en el archivo «web3.min.js» y guárdelo.
- Importa el archivo a tu proyecto principal.
Comprobar el «artículo de referencia 2” para obtener más orientación con esto.
15. Inicializar los contratos inteligentes
Inicializar los contratos inteligentes. Tienes que hacer lo siguiente para esto:
15a. Obtener el contrato ABI (Application Binary Interface)
ABI (Application Binary Interface) es un esquema de codificación de datos. Se usa en Ethereum para comunicarse con contratos inteligentes. Realice los siguientes pasos para obtener los ABI:
- Vaya a la pestaña «compilar» del IDE de Remix. Ver la sección ABI. Copie la información de ABI en un archivo de texto.
- Tenga en cuenta que la información de ABI está en formato JSON y tiene espacios. Necesitas eliminar estos espacios. Utilizar Minificar JSON para eliminar los espacios. Copie los datos de salida.
- Pegue estos datos en la variable «const contractABI» en su código.
Puedes leer el “artículo de referencia 2” si necesita más orientación con esto.
15b. Encuentra la dirección del contrato
Vaya a la pestaña «Ejecutar» del IDE de Remix. Ver la dirección del contrato. Ingrese eso en la variable llamada «const contractAddress» en el código.
15c. Actualice las diferentes funciones de la aplicación para usar los contratos inteligentes correspondientes
El front-end de su DApp permite a los usuarios acceder a diferentes funciones. Ahora, debe conectar esas funciones con los contratos inteligentes correspondientes. Conéctelos siguiendo los siguientes pasos:
- Cree instancias de contrato para sus contratos inteligentes.
- Actualícelos con las variables «const contractABI» y «const contractAddress» correspondientes.
- Abra el archivo JavaScript de una función que desee actualizar.
- Modifique el archivo para reflejar la instancia del contrato con la función correspondiente.
- Debe repetir este proceso para todas las funciones de su aplicación.
Consulte el “artículo de referencia 2” para obtener más orientación.
Esto completa el desarrollo de Ethereum DApp. Intégrelo con la aplicación Fabric, mediante los puntos finales de la API de la aplicación Fabric.
Consideraciones clave al usar la tecnología blockchain para proteger los datos médicos
Tenga en cuenta las siguientes consideraciones al desarrollar una solución basada en blockchain para proteger la información médica como EMR:
1. Debe mantenerse al tanto de las investigaciones y desarrollos relevantes
Se lleva a cabo una gran cantidad de investigación y desarrollo sobre cómo usar blockchain para proteger los datos de atención médica. La protección de los registros de salud personales está emergiendo como uno de los casos clave de uso de blockchain junto con la garantía de la cadena de suministro, los pagos transfronterizos, etc.
Mira los siguientes ejemplos:
- Un equipo de investigadores formado por Jin Sun, Lili Ren, Shangping Wang y Xiaomin Yao descrito un marco basado en blockchain para compartir EMR. La Fundación DOI publicado este documento de investigación de acceso abierto y revisado por pares para que todos lo lean.
- IEEE tiene publicado un trabajo de investigación sobre un EMR basado en blockchain para sistemas de salud. Un equipo de investigadores contribuyó a esta investigación.
- Otro artículo de investigación publicado en IEEE describe MedRec. Es un sistema basado en blockchain para administrar el acceso a datos personales de salud. Los investigadores han explicado cómo este sistema puede proporcionar grandes datos a los investigadores. Describieron cómo los pacientes y los proveedores participarán en este proceso de intercambio de datos. Además, describieron cómo los pacientes tendrán la opción de publicar metadatos al proporcionar conjuntos de datos.
- springer tiene publicó un artículo de investigación de acceso abierto describiendo el uso de Hyperledger Fabric para garantizar la seguridad de los datos cuando se trata de registros de pacientes.
- También hay otra publicación de Springer que describe cómo blockchain puede proteger los registros de atención médica en los sistemas de salud.
- un trabajo de investigacion por un grupo de investigadores explica cómo blockchain e IoT (Internet de las cosas) pueden mejorar la atención al paciente y los sistemas de tecnología de la información de salud pública.
2. Piense en la mejor solución de cadena de bloques para asegurar la privacidad del paciente
Podemos ver claramente el valor que aporta blockchain al sector de la salud, por ejemplo:
- Blockchain puede eludir a terceros gracias a la descentralización.
- Las redes prominentes de blockchain como Bitcoin y Ethereum requieren que los usuarios firmen digitalmente sus transacciones, lo que ofrece una sólida autenticación de usuario.
- Blockchain facilita la gestión de datos.
- Los profesionales de la salud y los pacientes pueden confiar en los datos personales almacenados en blockchain debido a la inmutabilidad.
- El mecanismo de almacenamiento de datos distribuido de blockchain facilita el intercambio de datos.
- El proceso de validación de transacciones involucra algoritmos de consenso como POW (Prueba de trabajo). Estos algoritmos mantienen a raya a los piratas informáticos. Todos los registros de transacciones tienen marcas de tiempo y son transparentes. Manipular una red tan abierta y descentralizada sería prohibitivamente costoso.
Sin embargo, existen preguntas si las redes públicas de blockchain como Bitcoin y Ethereum pueden cumplir completamente con los requisitos de privacidad de las regulaciones clave como GDPR. ¡Irónicamente, las fortalezas de blockchain pueden dificultar el cumplimiento de GDPR! Considera lo siguiente:
- GDPR exige la confidencialidad de la información confidencial. Sin embargo, Bitcoin y Ethereum están abiertos a todos.
- Debe poder eliminar datos del sistema para cumplir con el «derecho de borrado» exigido por GDPR. Sin embargo, no puede eliminar datos en una cadena de bloques.
- GDPR exige un «derecho a la rectificación», que requiere la modificación de los datos. Blockchain no permite eso.
Debe elegir el tipo correcto de blockchain. Analice a fondo cómo cumplir con los requisitos clave de privacidad.
3. Plan para abordar las complejidades de un proyecto de cadena de bloques
Los proyectos de blockchain pueden ser complejos debido a las siguientes razones:
- Debe trabajar duro para garantizar la interoperabilidad entre diferentes redes de blockchain.
- El desarrollo de aplicaciones Blockchain puede ser difícil. Un creciente ecosistema de herramientas de desarrollo lo hará más fácil en el futuro, sin embargo, esto llevará un tiempo.
- Es posible que le resulte difícil contratar desarrolladores de blockchain calificados y experimentados.
- Las redes públicas de blockchain como Bitcoin y Ethereum enfrentan problemas de escalabilidad.
Planifica bien el proyecto. Comience el proceso de contratación temprano. Busque proactivamente soluciones de escalabilidad como sidechain, transacciones fuera de la cadena, etc.
¿Está planeando una aplicación para proteger los registros médicos electrónicos con blockchain?
Como hemos demostrado, proteger los EMR con blockchain y facilitar el acceso sin problemas a las partes interesadas autorizadas requiere blockchains tanto empresariales como públicos. Dichos proyectos tienden a ser complejos. Las habilidades de desarrollo de blockchain son un nicho, y necesita un administrador de proyectos realmente competente con experiencia en blockchain para administrar dichos proyectos.
Considere obtener ayuda de un socio de desarrollo. Lea nuestra guía «¿Cómo encontrar la mejor empresa de desarrollo de software?» antes de contratar uno.
Si se encuentra sin la experiencia en su organización que necesita para crear su aplicación, ¿por qué no la describe brevemente? las especificaciones de su proyecto para nosotros en DevTeam.Space. Un administrador de cuenta dedicado se pondrá en contacto para responder cualquier pregunta que pueda tener y mostrarle cómo podemos ayudarlo.
Preguntas frecuentes
Los datos de la cadena de bloques están protegidos por criptografía. Todos los datos en una cadena de bloques requieren un código clave único para acceder a ellos.
Una solución que probablemente cambiará el juego cuando se trata de EMR es blockchain. Permitirá el almacenamiento descentralizado de registros médicos para que se pueda acceder a ellos en cualquier lugar y en cualquier momento. Los registros se cifrarán y no estarán bajo el control de ninguna autoridad.
EMR es la abreviatura de registros médicos electrónicos.
Related Posts:
- ¿Cómo construir un mercado de cadena de bloques en línea…
- Algoritmo de IA lee y predice datos de pacientes a partir de…
- ¿Cómo Blockchain garantiza la seguridad de los registros…
- ¿Qué es un desarrollador de cadena de bloques?
- ¿Para qué se utiliza la cadena de bloques?
- ¿Qué es la cadena de bloques IoT? - Equipo de…