Les données médicales sont hautement contextuelles et fortement multimodales, dans lesquelles chaque silo de données est traité séparément. Pour relier différentes données, une approche basée sur un graphe de connaissances intègre des données dans tous les domaines et aide à représenter plus naturellement la représentation complexe des connaissances scientifiques. Par exemple, trois composants des principaux dossiers de santé électroniques (DSE) sont les codes de diagnostic, les notes primaires et les médicaments spécifiques. Parce qu'ils sont représentés dans différents silos de données, l'utilisation secondaire de ces documents pour identifier avec précision les patients présentant un trait observable spécifique est un défi crucial. En reliant ces différentes sources, les experts en la matière disposent d'un pool de données plus riche pour comprendre comment différents concepts tels que les maladies et les symptômes interagissent les uns avec les autres et les aident à mener leurs recherches. Cela aide en fin de compte les chercheurs et les praticiens de la santé et des sciences de la vie à créer de meilleures informations à partir des données pour une variété de cas d'utilisation, tels que la découverte de médicaments et les traitements personnalisés.
Dans ce post, nous utilisons Amazon Health Lake pour exporter des données de DSE dans le Ressources d'interopérabilité rapide des soins de santé (FHIR) format de données. Nous construisons ensuite un graphe de connaissances basé sur des entités clés extraites et harmonisées à partir des données médicales. Amazon HealthLake extrait et transforme également les données médicales non structurées, telles que les notes médicales, afin qu'elles puissent être recherchées et analysées. Ensemble avec Amazone Kendra et de Amazone Neptune, nous permettons aux experts du domaine de poser une question en langage naturel, de faire apparaître les résultats et les documents pertinents, et d'afficher les entités clés connectées telles que les traitements, les codes inférés de la CIM-10, les médicaments, etc. Cela permet une analyse facile de la cooccurrence d'entités clés, une analyse des comorbidités et une analyse de la cohorte de patients dans une solution intégrée. La combinaison de capacités de recherche efficaces et d’exploration de données via des réseaux de graphiques réduit le temps et le coût pour les utilisateurs de trouver des informations pertinentes sur les patients et d’améliorer la fonctionnalité des connaissances sur les DSE. La base de code de cet article est disponible sur le GitHub repo.
Vue d'ensemble de la solution
Dans cet article, nous utilisons la sortie d'Amazon HealthLake à deux fins.
Tout d'abord, nous indexons les DSE dans Amazon Kendra pour un classement sémantique et précis des documents en dehors des notes des patients, ce qui aide à améliorer l'efficacité des médecins en identifiant les notes des patients et à les comparer avec d'autres patients partageant des caractéristiques similaires. Cela passe de l'utilisation d'une recherche lexicale à une recherche sémantique qui introduit le contexte autour de la requête, ce qui se traduit par une meilleure sortie de recherche (voir la capture d'écran suivante).
Deuxièmement, nous utilisons Neptune pour créer des applications de graphes de connaissances permettant aux utilisateurs de visualiser les métadonnées associées aux notes des patients dans une vue plus simple et normalisée, ce qui nous permet de mettre en évidence les caractéristiques importantes issues d'un document (voir la capture d'écran suivante).
Le diagramme suivant illustre notre architecture.
Les étapes de mise en œuvre de la solution sont les suivantes:
- Créez et exportez des données Amazon HealthLake.
- Extraire les notes de visite et les métadonnées des patients.
- Chargez les données des notes du patient dans Amazon Kendra.
- Chargez les données dans Neptune.
- Configurez le backend et le frontal pour exécuter l'application Web.
Créer et exporter des données Amazon HealthLake
Dans un premier temps, créez un magasin de données à l'aide d'Amazon HealthLake via la console Amazon HealthLake ou Interface de ligne de commande AWS (AWS CLI). Pour cet article, nous nous concentrons sur l'approche AWS CLI.
- Nous utilisons AWSCloud9 pour créer un magasin de données avec le code suivant, en remplaçant < > avec un nom unique:
Le code précédent utilise un ensemble de données préchargé de Synthea, qui est pris en charge dans la version FHIR R4, pour explorer comment utiliser la sortie Amazon HealthLake. L'exécution du code produit une réponse similaire au code suivant, et cette étape prend quelques minutes (environ 30 minutes au moment de l'écriture):
Vous pouvez vérifier l'état d'achèvement sur la console Amazon HealthLake ou dans l'environnement AWS Cloud9.
- Pour vérifier l'état dans AWS Cloud9, utilisez le code suivant pour vérifier l'état et attendez
DatastoreStatus
changements depuisCREATING
àACTIVE
:
- Lorsque le statut passe à
ACTIVE
, obtenez le rôle ARN duHEALTHLAKE-KNOWLEDGE-ANALYZER-IAMROLE
empiler AWS CloudFormation, associé à l'ID physiqueAmazonHealthLake-Export-us-east-1-HealthDataAccessRole
et copiez l'ARN dans la page liée. - Dans AWS Cloud9, utilisez le code suivant pour exporter les données d'Amazon HealthLake vers le Service de stockage simple Amazon (Amazon S3) compartiment généré à partir de Kit de développement AWS Cloud (AWS CDK) et notez le
job-id
sortie:
- Vérifiez que le travail d'exportation est terminé à l'aide du code suivant avec le
job-id
obtenu à partir du dernier code que vous avez exécuté. (lorsque l'exportation est terminée,JobStatus
dans les états de sortieCOMPLETED
):
Extraire les notes de visite et les métadonnées des patients
L'étape suivante consiste à décoder les visites des patients pour obtenir les textes bruts. Nous allons importer le fichier suivant DocumentReference-0.ndjson (illustré dans la capture d'écran suivante de S3) à partir de l'étape d'exportation Amazon HealthLake que nous avons précédemment effectuée dans le CDK déployé Amazon Sage Maker instance de notebook. Tout d'abord, enregistrez le bloc-notes fourni par le référentiel Github dans l'instance SageMaker. Ensuite, exécutez le bloc-notes pour localiser et importer automatiquement les fichiers DocumentReference-0.ndjson à partir de S3.
Pour cette étape, utilisez SageMaker doté de ressources pour exécuter rapidement le bloc-notes. La première partie du bloc-notes crée un fichier texte contenant les notes de la visite de chaque patient et est enregistré dans un emplacement Amazon S3. Étant donné que plusieurs visites peuvent exister pour un même patient, une identification unique combine l'ID unique du patient et l'ID de la visite. Les notes de ces patients sont utilisées pour effectuer une recherche sémantique contre l'utilisation d'Amazon Kendra.
L'étape suivante du bloc-notes consiste à créer des triplets basés sur les métadonnées extraites automatiquement. En créant et en enregistrant les métadonnées dans un emplacement Amazon S3, un AWS Lambda est déclenchée pour générer les triplets entourant les notes de visite du patient.
Charger les données des notes du patient dans Amazon Kendra
Les fichiers texte téléchargés dans le chemin source du compartiment S3 doivent être analysés et indexés. Pour cet article, une édition développeur est créée lors du déploiement d'AWS CDK, de sorte que l'index est créé pour connecter les notes patient brutes.
- Sur la console AWS CloudFormation sous la pile HEALTHLAKE-KNOWLEDGE-ANALYZER-CORE, recherchez kendra sur le Resources et notez l'ID d'index et l'ID de la source de données (copiez la première partie de l'ID physique avant le tube (|)).
- De retour dans AWS Cloud9, exécutez la commande suivante pour synchroniser les notes patient dans Amazon S3 avec Amazon Kendra:
- Vous pouvez vérifier lorsque l'état de synchronisation est terminé en exécutant la commande suivante:
Étant donné que les données ingérées sont très petites, elles doivent immédiatement indiquer que l'état est ACTIF lors de l'exécution de la commande précédente.
Chargez les données dans Neptune
Dans cette prochaine étape, nous accédons au Cloud de calcul élastique Amazon (Amazon EC2) qui a été lancée et chargez les triplets d'Amazon S3 dans Neptune à l'aide du code suivant:
Configurer le backend et le frontend pour exécuter l'application Web
L'étape précédente devrait prendre quelques secondes. En attendant, configurez l'instance EC2 pour accéder à l'application Web. Assurez-vous que Python et Node sont installés dans l'instance.
- Exécutez le code suivant dans le terminal de l'instance:
Cela achemine l'adresse publique vers l'application déployée.
- Copiez les deux dossiers intitulés
ka-webapp
et deka-server-webapp
et téléchargez-les dans un dossier nommédev
dans l'instance EC2. - Pour le frontal, créez un écran en exécutant la commande suivante:
- Dans cet écran, changez le dossier en
ka-webapp
et courirnpm
installer. - Après l'installation, allez dans le fichier
.env.development
et placez l'adresse IPv2 publique Amazon EC4 et enregistrez le fichier. - Courir
npm
démarrez puis détachez l'écran. - Pour le backend, créez un autre écran en entrant:
- Remplacez le dossier par
ka-server-webapp
et courirpip install -r requirements.txt
. - Une fois les bibliothèques installées, entrez le code suivant:
- Détachez-vous de l'écran actuel et, à l'aide de n'importe quel navigateur, accédez à l'adresse IPv2 publique Amazon EC4 pour accéder à l'application Web.
Essayez de rechercher un diagnostic de patient et choisissez un lien vers un document pour visualiser le graphique des connaissances de ce document.
Prochaines étapes
Dans cet article, nous intégrons la sortie de données d'Amazon HealthLake dans un moteur de recherche et de graphique pour rechercher sémantiquement des informations pertinentes et mettre en évidence les entités importantes liées aux documents. Vous pouvez développer davantage ce graphique de connaissances et le lier à d'autres ontologies telles que MeSH et MedDRA.
En outre, cela fournit une base pour intégrer davantage d'autres ensembles de données cliniques et élargir ce graphique de connaissances pour créer un tissu de données. Vous pouvez effectuer des requêtes sur des données démographiques historiques, en enchaînant des recherches structurées et basées sur la langue pour la sélection de cohorte afin de corréler la maladie avec le résultat du patient.
Nettoyer
Pour nettoyer vos ressources, procédez comme suit:
- Pour supprimer les piles créées, entrez les commandes suivantes dans l'ordre indiqué pour supprimer correctement toutes les ressources:
- Pendant que les commandes précédentes sont en cours, supprimez la source de données Amazon Kendra qui a été créée:
- Pour vérifier qu'il a été supprimé, vérifiez l'état en exécutant la commande suivante:
- Vérifiez la console AWS CloudFormation pour vous assurer que toutes les piles associées commençant par
HEALTHLAKE-KNOWLEDGE-ANALYZER
ont tous été supprimés avec succès.
Conclusion
Amazon HealthLake fournit un service géré basé sur la norme FHIR pour vous permettre de créer des solutions sanitaires et cliniques. La connexion de la sortie d'Amazon HealthLake à Amazon Kendra et Neptune vous permet de créer une recherche cognitive et un graphique de connaissances sur la santé pour alimenter votre application intelligente.
S'appuyant sur cette approche peut permettre aux chercheurs et aux médecins de première ligne de rechercher facilement dans les notes cliniques et les articles de recherche en tapant simplement leur question dans un navigateur Web. Chaque preuve clinique est étiquetée, indexée et structurée à l'aide de l'apprentissage automatique pour fournir des sujets fondés sur des preuves sur des choses comme la transmission, les facteurs de risque, la thérapeutique et l'incubation. Cette fonctionnalité particulière est extrêmement précieuse pour les cliniciens ou les scientifiques, car elle leur permet de poser rapidement une question pour valider et faire progresser leur aide à la décision clinique ou leur recherche.
Essayez ceci par vous-même! Déployez cette solution à l'aide d'Amazon HealthLake dans votre compte AWS en déployant l'exemple sur GitHub.
À propos des auteurs
Prithiviraj Jothikumar, PhD, est un Data Scientist chez AWS Professional Services, où il aide les clients à créer des solutions à l'aide de l'apprentissage automatique. Il aime regarder des films et du sport et passer du temps à méditer.
Phi Nguyen est un architecte de solutions chez AWS qui aide les clients dans leur parcours cloud avec un accent particulier sur le lac de données, l'analyse, les technologies sémantiques et l'apprentissage automatique. Dans ses temps libres, vous pouvez le trouver en vélo pour se rendre au travail, entraîner l'équipe de football de son fils ou profiter de la promenade dans la nature avec sa famille
Parminder Bhatia est un chef de file scientifique de l'AWS Health AI, qui développe actuellement des algorithmes d'apprentissage en profondeur pour le domaine clinique à grande échelle. Son expertise est dans l'apprentissage automatique et les techniques d'analyse de texte à grande échelle dans des environnements à faibles ressources, en particulier dans les technologies biomédicales, des sciences de la vie et de la santé. Il aime jouer au football, aux sports nautiques et voyager avec sa famille.
Garin Kesler est Senior Data Science Manager chez Amazon Web Services, où il dirige des équipes de data scientists et d'architectes d'applications pour fournir des applications d'apprentissage automatique sur mesure aux clients. En dehors d'AWS, il donne des conférences sur l'apprentissage automatique et les modèles de langage neuronal à Georgetown. Lorsqu'il ne travaille pas, il aime écouter (et faire) de la musique de qualité douteuse avec ses amis et sa famille.
Dr Taha Kass-Hout est directeur de l'apprentissage automatique et médecin en chef chez Amazon Web Services, et dirige notre stratégie et nos efforts en matière d'IA en matière de santé, notamment Amazon Comprehend Medical et Amazon HealthLake. Taha travaille également avec des équipes d'Amazon chargées de développer la science, la technologie et l'échelle pour les tests de laboratoire COVID-19. Médecin et bioinformaticien, Taha a rempli deux mandats sous le président Obama, dont celui du premier responsable de l'informatique de la santé à la FDA. Au cours de cette période en tant que fonctionnaire, il a été le pionnier de l'utilisation des technologies émergentes et du cloud (surveillance électronique des maladies du CDC) et a établi des plates-formes mondiales de partage de données largement accessibles, l'openFDA, qui ont permis aux chercheurs et au public de rechercher et d'analyser les données sur les événements indésirables, et precisionFDA (dans le cadre de l'initiative Presidential Precision Medicine).
- '
- 100
- 7
- accès
- Compte
- infection
- AI
- algorithmes
- Tous
- Amazon
- Amazon comprendre
- Amazon EC2
- Amazone Kendra
- Amazon Web Services
- analyse
- analytique
- appli
- Application
- applications
- architecture
- autour
- sur notre blog
- AWS
- PONT
- navigateur
- construire
- Développement
- cas
- challenge
- Change
- chef
- le cloud
- code
- cognitif
- calcul
- COVID-19
- La création
- Courant
- Clients
- données
- Lac de données
- data mining
- science des données
- Data Scientist
- partage de données
- l'apprentissage en profondeur
- détruire
- Développeur
- Développement
- Directeur
- découverte
- Maladie
- maladies
- INSTITUTIONNELS
- domaines
- drogue
- découverte de médicament
- Efficace
- efficace
- Dossiers de santé électroniques
- Environment
- événement
- Développer vous
- de santé
- Exporter
- Extraits
- .
- famille
- fda
- Prénom
- Focus
- le format
- première ligne
- fonction
- gif
- GitHub
- Global
- Santé
- la médecine
- technologies de la santé
- Souligner
- Comment
- How To
- HTTPS
- IAM
- Identification
- Y compris
- indice
- d'information
- initiative
- idées.
- Interopérabilité
- IT
- Emploi
- ACTIVITES
- spécialisées
- Test Lab
- langue
- gros
- apprentissage
- Life Sciences
- Gamme
- LINK
- Écoute
- charge
- emplacement
- machine learning
- majeur
- Fabrication
- médical
- médecine
- Mines
- Films
- Musique
- Langage naturel
- réseaux
- Neural
- Obama
- Financier
- de commander
- Autre
- patients
- médecin
- pipe
- Plateformes
- pool
- population
- power
- La précision
- président
- présidentiel
- public
- Python
- qualité
- raw
- Articles
- réorienter
- Exigences
- un article
- ressource
- Resources
- réponse
- Résultats
- Analyse
- Courir
- pour le running
- sagemaker
- économie
- Escaliers intérieurs
- Sciences
- STARFLEET SCIENCES
- scientifiques
- pour écran
- Rechercher
- secondaire
- sémantique
- Services
- étapes
- petit
- So
- Football
- Solutions
- Dépenses
- Sports
- Commencer
- États
- Statut
- storage
- Boutique
- de Marketing
- Support
- Appareils
- Surface
- surveillance
- Les technologies
- Technologie
- Essais
- La Source
- thérapeutique
- fiable
- top
- Les sujets
- triples
- us
- utilisateurs
- Voir
- attendez
- Eau
- web
- navigateur web
- services Web
- activités principales
- écriture