L'API Healthcare Natural Language fait partie de l'API Cloud Healthcare qui utilise des modèles de langage naturel pour extraire des informations médicales d'un texte.
Ce guide conceptuel explique les principes de base de l'utilisation de l'API Healthcare Natural Language, y compris :
- Les types de requêtes que vous pouvez envoyer à l'API Healthcare Natural Language
- Comment créer des requêtes à l'API Healthcare Natural Language
- Comment traiter les réponses de l'API Healthcare Natural Language
Présentation
L'API Healthcare Natural Language extrait des informations de santé à partir de texte médical. Ces informations de santé peuvent inclure les éléments suivants :
- Des concepts médicaux, tels que des médicaments, des procédures et des maladies
- Des caractéristiques fonctionnelles, telles que les relations temporelles, les sujets et les évaluations de certitude
- Des relations, telles que les effets secondaires et le dosage des médicaments
Choisir entre l'API Healthcare Natural Language et AutoML Entity Extraction for Healthcare
L'API Healthcare Natural Language propose des modèles de langage naturel pré-entraînés pour extraire les concepts médicaux et relations du texte médical. L'API Healthcare Natural Language mappe le texte dans un ensemble prédéfini de catégories de connaissances médicales.
AutoML Entity Extraction for Healthcare vous permet de créer un modèle d'extraction d'entités personnalisé entraîné à l'aide de votre propre texte médical annoté et de vos propres catégories. Pour en savoir plus, consultez la documentation sur AutoML Entity Extraction for Healthcare.
Régions acceptées
L'API Healthcare Natural Language est disponible dans les emplacements suivants :
Nom du lieu | Description de l'emplacement |
---|---|
asia-south1 |
Mumbai, Inde |
australia-southeast1 |
Sydney, Australie |
europe-west2 |
Londres, Royaume-Uni |
europe-west4 |
Pays-Bas |
northamerica-northeast1 |
Montréal, Canada |
us-central1 |
Iowa, États-Unis |
Fonctionnalités de l'API Healthcare Natural Language
L'API Healthcare Natural Language inspecte le texte pour rechercher des concepts médicaux et des relations. Vous pouvez effectuer une analyse des entités à l'aide de la méthode analyzeEntities
.
Requêtes d'analyse des entités
L'API Healthcare Natural Language est une API REST qui comprend des requêtes et réponses JSON. Les sections suivantes expliquent comment extraire différentes informations médicales d'un texte médical donné :
- Extraire les entités, les relations et les attributs contextuels
- Inclure des vocabulaires sous licence
- Extraire la sortie en tant que groupe FHIR R4
La requête d'analyse des entités contient les champs suivants :
documentContent
: données de la requête, qui se composent de texte médical. La taille maximale du texte médical est de 20 000 caractères Unicode.licensedVocabularies[]
: facultatif. Vocabulaire SNOMED CT. Disponible uniquement pour les utilisateurs aux États-Unis.alternativeOutputFormat
: facultatif. Format du bundle FHIR.
Champs d'une réponse d'analyse des entités
L'analyse des entités renvoie un ensemble des mentions médicales, des concepts médicaux et des relations entre les mentions médicales que l'analyse a détecté, y compris les éléments suivants :
entityMentions
: occurrences d'entités d'informations médicales dans le texte médical source. Chaque mention d'entité comporte les champs suivants :mentionId
: identifiant unique pour une mention d'entité dans la réponse.type
: catégorie d'information médicale de la mention d'entité.text
: comprend le champtextContent
et décrit l'extrait du texte médical contenant la mention d'entité, ainsi queoffset
, l'emplacement de la mention d'entité dans le texte médical source.temporalAssessment
: spécifie la relation entre l'entité associée et la mention d'entité. Sa valeur peut êtreCURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
ouOTHER
.certaintyAssessment
: négation ou qualification du concept médical. Sa valeur peut êtreLIKELY
,SOMEWHAT_LIKELY
,UNCERTAIN
,SOMEWHAT_UNLIKELY
,UNLIKELY
ouCONDITIONAL
.subject
: spécifie le sujet auquel le concept médical se rapporte. Sa valeur peut êtrePATIENT
,FAMILY_MEMBER
ouOTHER
.linkedEntities
: liste de concepts médicaux pouvant être associés à cette mention d'entité. Les entités associées spécifiententityId
, qui associe un concept médical à une entité dansentities
.
entities
: décrit les concepts médicaux issus des champs des entités associées. Chaque entité est décrite à l'aide des champs suivants :entityId
: identifiant unique du champlinkedEntities
.preferredTerm
: terme privilégié pour le concept médical.vocabularyCodes
: représentation du concept médical dans les vocabulaires médicaux acceptés.
relationships
: définit les relations dirigées entre les mentions d'entités. Dans l'exemple, le sujet de la relation est "Insulin regimen human" (régime d'insuline humain) et l'objet de la relation est "5 unités".confidence
: indication du niveau de confiance du modèle dans la relation sous la forme d'un nombre compris entre 0 et 1.
En plus des champs listés, la réponse peut également contenir le champ additionalInfo
, qui indique toute description supplémentaire concernant le type de mention d'entité.
Pour en savoir plus, consultez Informations supplémentaires.
Langues disponibles
L'API Healthcare Natural Language ne permet d'extraire que des informations médicales d'un texte en anglais.
Vocabulaire médical compatible
L'API Healthcare Natural Language accepte les vocabulaires suivants :
- Foundational Model of Anatomy
- Gene Ontology
- HUGO Gene Nomenclature Committee
- Human Phenotype Ontology
- ICD-10 Procedure Coding System
- ICD-10-CM
- ICD-9-CM
- LOINC
- MeSH
- MedlinePlus Health Topics
- Metathesaurus Names
- NCBI Taxonomy
- NCI Thesaurus
- National Drug File
- Online Mendelian Inheritance in Man
- RXNORM
- SNOMED CT (disponible uniquement pour les utilisateurs des États-Unis)
Catégories d'informations médicales compatibles
L'API Healthcare Natural Language attribue une catégorie de connaissances médicales au champ entityMentions.type
.
Vous trouverez ci-dessous la liste des catégories d'informations médicales acceptées. Les types de mentions d'entités appartenant aux groupes "Oncologie", "Déterminants sociaux de la santé (DSS)" et "Informations de santé protégées (PHI)" ne sont disponibles qu'en version Preview :
Groupe | Catégorie d'information médicale | Description |
---|---|---|
Général | ANATOMICAL_STRUCTURE
|
Partie complexe du corps humain, comme les cellules, les organes et les systèmes. |
BODY_FUNCTION
|
Fonction exercée par le corps humain. | |
BF_RESULT
|
Résultat d'une fonction corporelle. | |
BODY_MEASUREMENT
|
Une mesure normale du corps humain, telle qu'un signe vital, obtenue sans test ni procédure complexes à l'aide d'instruments de base, comme un thermomètre ou un stéthoscope. | |
BM_RESULT
|
Résultat d'une mesure corporelle. | |
BM_UNIT
|
Unité de mesure corporelle. | |
BM_VALUE
|
Valeur d'une mesure corporelle. | |
LABORATORY_DATA
|
Résultats du test d'un échantillon corporel. | |
LAB_RESULT
|
Description qualitative des données du laboratoire : "augmentation", "diminution", "positif" ou "négatif". | |
LAB_VALUE
|
Valeur d'une instance de données de laboratoire. | |
LAB_UNIT
|
Unité de mesure de la valeur de laboratoire. | |
MEDICAL_DEVICE
|
Instrument physique ou virtuel. | |
MEDICINE
|
Médicament ou autre préparation à des fins de traitement ou de prévention de la maladie. | |
MED_DOSE
|
Dose d'un médicament. | |
MED_DURATION
|
Période d'administration d'un médicament. | |
MED_FORM
|
Caractéristiques physiques d'un médicament spécifique. | |
MED_FREQUENCY
|
Fréquence de prise d'un médicament. | |
MED_ROUTE
|
Emplacement du corps où un médicament est administré. | |
MED_STATUS
|
État d'un médicament existant, tel que "continue" (continuer), "start" (commencer), "restart" (recommencer), "stop" (arrêter), "switch" (changer), "increase" (augmenter) et "decrease" (baisser). | |
MED_STRENGTH
|
Quantité d'ingrédients actifs dans une dose de médicament. | |
MED_UNIT
|
Unité de mesure pour l'ingrédient actif dans un médicament. | |
MED_TOTALDOSE
|
Quantité de médicaments à prendre en même temps. | |
PROBLEM
|
Pathologie, y compris les constatations et les maladies. | |
PROCEDURE
|
Une procédure de diagnostic ou de traitement. | |
PROCEDURE_RESULT
|
Résultats d'une procédure. | |
PROC_METHOD
|
Méthode utilisée pour effectuer une procédure. | |
SEVERITY
|
Gravité de la pathologie. | |
SUBSTANCE_ABUSE
|
Description de l'abus d'une substance psychoactive. | |
Oncologie (Aperçu) | CLINICAL_STATUS
|
État d'un cas de cancer, par exemple "actif", "récurrent", "en rechute" ou "résolu". |
DATE
|
Annotation de date, telle que la date du diagnostic, la date de la procédure ou la date d'un traitement par radiothérapie. Il extrait tous les éléments d'une date et peut ne pas inclure l'année. | |
DIMENSIONS
|
Mesures d'une tumeur, d'une masse ou d'une croissance anormale. | |
GENE_STUDIED
|
Gènes étudiés qui entraînent directement ou indirectement la formation de tumeurs, tels que BRCA1, p53 et ALK. | |
HISTOLOGICAL_GRADE
|
Système de classification permettant d'évaluer l'apparence d'une cellule cancéreuse. | |
LAB_SPECIMEN
|
Matériel biologique prélevé sur le corps à des fins de test ou d'échantillonnage. | |
RADIATION_DOSAGE
|
Quantité de radiations administrée à un patient. | |
ONSET
|
Annotation de date représentant la date à laquelle un patient a observé pour la première fois des problèmes liés au cancer. | |
VARIATION_CODE
|
Code attribué à la variante génomique spécifique détectée dans le cadre d'un système de codage majeur tel que ClinVar et HGVS. | |
Déterminants sociaux de la santé (DSS) (preview) | AGE
|
Identifiant d'âge. Cela inclut les expressions décrivant l'âge, telles que "paraît plus jeune que son âge", "d'âge moyen", "78 ans" ou "adolescent".
Remarque : La loi HIPAA ne classe l'âge d'une personne comme information de santé protégée que s'il est supérieur à 90 ans. Pour en savoir plus, consultez le résumé de la règle HIPAA sur la confidentialité. |
FAMILY
|
Expressions décrivant la structure familiale ou les proches du patient, telles que "marié avec deux enfants", "frère", "épouse", "parents attentionnés" ou "divorcé". | |
LIVING_SITUATION
|
Expressions décrivant la situation de vie du patient, telles que "avec des colocataires", "a une infirmière à domicile 24h/24" ou "a déménagé récemment". | |
SOCIAL_IDENTITY
|
Expressions décrivant l'identité sociale du patient ou de sa famille, y compris l'origine ethnique, l'orientation sexuelle, la religion, la nationalité, les langues parlées ou non, ou le pays d'origine. | |
PHYSICAL_APPEARANCE
|
Expressions décrivant le trait physique le plus visible ou évident du patient ou de sa famille, comme "cicatrice sur la joue droite", "syndrome de Down", "obèse" ou "jambe gauche amputée". | |
OCCUPATION
|
Expressions décrivant la profession et la situation professionnelle du patient ou de sa famille, comme "mère retraitée", "a travaillé comme soudeur pendant 20 ans" ou "a perdu son emploi l'année dernière". | |
Données de santé protégées (aperçu) | PERSON_NAME
|
Identifiant générique du nom d'une personne. Inclut les titres, tels que "Dr.", "Mme" ou "Dr" |
ORGANIZATION_NAME
|
Identifiant d'une organisation médicale qui collecte des informations de santé protégées, comme une clinique, une maison de retraite ou un hôpital. | |
GENERIC_ID
|
ID générique qui identifie les dossiers médicaux, les patients, les médecins ou les hôpitaux (par exemple, le numéro de sécurité sociale du patient ou le numéro d'un fournisseur). | |
LOCATION
|
Emplacement géographique pouvant contenir des noms et des numéros de bâtiments, de rues, de villes, de régions ou de codes postaux. | |
PHONE_NUMBER
|
Nombre indiquant un numéro de téléphone, de fax ou de pager. | |
EMAIL_ADDRESS
|
Identifiant d'adresse e-mail. | |
URL
|
Adresse d'un site Web. | |
ZIPCODE
|
Identifiant de code postal. |
Catégories de fonctionnalités fonctionnelles disponibles
L'API Healthcare Natural Language peut induire les fonctionnalités fonctionnelles, ou attributs, d'une entité mentionnée à partir du contexte. Par exemple, dans la phrase "La mère de Kusuma a le diabète", la condition "diabète" a la fonctionnalité fonctionnelle de subject
FAMILY_MEMBER
.
Relations temporelles
Les relations temporelles, renvoyées dans le champ temporalAssessment
, décrivent la relation temporelle entre cette mention d'entité et le sujet.
L'API Healthcare Natural Language accepte les relations temporelles suivantes :
CURRENT
CLINICAL_HISTORY
FAMILY_HISTORY
UPCOMING
OTHER
Objets
Le sujet, renvoyé dans le champ subject
, décrit la personne à laquelle se rapporte la mention d'entité.
L'API Healthcare Natural Language accepte les sujets suivants :
PATIENT
FAMILY_MEMBER
OTHER
Évaluations de certitude
Les évaluations de certitude, renvoyées dans le champ certaintyAssessment
, décrivent la confiance du preneur de notes initial. Par exemple, si la note d'origine contient "Le patient présente des maux de gorge", l'évaluation de certitude renvoie la valeur LIKELY
pour indiquer que le preneur de notes est confiant qu'il était probable que le patient présentait des maux de gorge. Si la note d'origine contient "Le patient ne présente pas de maux de gorge", l'évaluation de certitude renvoie la valeur UNLIKELY
pour indiquer que le preneur de notes est confiant qu'il n'était pas probable que le patient présente des maux de gorge.
Les évaluations de certitude peuvent être associées à l'une des valeurs suivantes :
LIKELY
SOMEWHAT_LIKELY
UNCERTAIN
SOMEWHAT_UNLIKELY
UNLIKELY
CONDITIONAL
Informations supplémentaires
Le champ additionalInfo
fournit des informations supplémentaires sur une mention d'entité. Par exemple, le champ additionalInfo
pour une mention d'entité DATE
peut contenir des informations sur le type de date, classées dans l'une des catégories suivantes :
ADMISSION_DATE
CONSULTATION_DATE
DISCHARGE_DATE
SERVICE_DATE
VISIT_DATE
DIAGNOSIS_DATE
MED_STARTED_DATE
MED_ENDED_DATE
NOTE_DATE
PROCEDURE_DATE
RADIATION_STARTED_DATE
RADIATION_ENDED_DATE
STAGE_DATE
Relations acceptées entre les mentions d'entités
L'API Healthcare Natural Language peut induire les relations entre les mentions d'entité en fonction du texte médical environnant. Dans la réponse, le sujet de la relation est identifié par subjectId
et l'objet de la relation est identifié par objectId
.
L'API Healthcare Natural Language accepte les relations suivantes entre les mentions d'entité :
Objet | Objet |
---|---|
ANATOMICAL_STRUCTURE |
MEDICAL_DEVICE |
BODY_FUNCTION |
BF_RESULT |
BODY_MEASUREMENT |
BM_RESULT |
BODY_MEASUREMENT |
BM_UNIT |
BODY_MEASUREMENT |
BM_VALUE |
LABORATORY_DATA |
LAB_RESULT |
LABORATORY_DATA |
LAB_UNIT |
LABORATORY_DATA |
LAB_VALUE |
MEDICINE |
MED_DOSE |
MEDICINE |
MED_DURATION |
MEDICINE |
MED_FORM |
MEDICINE |
MED_FREQUENCY |
MEDICINE |
MED_ROUTE |
MEDICINE |
MED_STATUS |
MEDICINE |
MED_STRENGTH |
MEDICINE |
MED_TOTALDOSE |
MEDICINE |
MED_UNIT |
PROBLEM |
ANATOMICAL_STRUCTURE |
PROBLEM |
MEDICINE |
PROBLEM |
PROCEDURE |
PROBLEM |
SEVERITY |
PROCEDURE |
ANATOMICAL_STRUCTURE |
PROCEDURE |
PROC_METHOD |
PROCEDURE |
PROCEDURE_RESULT |
SUBSTANCE_ABUSE |
SEVERITY |
Sortie de l'API Healthcare Natural Language sous forme de bundle FHIR
Lorsque vous demandez la méthode analyzeEntities
avec le champ alternativeOutputFormat
défini sur FHIR_BUNDLE
, la réponse inclut les objets JSON suivants :
- Mentions d'entités, entités et relations
- Un bundle FHIR R4 représenté sous forme de chaîne, qui inclut toutes les entités, les mentions d'entités et les relations au format JSON
Pour créer le bundle FHIR R4, l'API Healthcare Natural Language mappe les mentions d'entité, les entités et les relations aux ressources FHIR et à leurs éléments. Le tableau suivant répertorie certains de ces mappages.
Mentions d'entité de l'API Healthcare Natural Language | Catégorie d'informations médicales | Ressources et éléments FHIR R4 |
---|---|---|
PROBLEM |
Condition |
|
PROBLEM |
Condition.category |
|
PROBLEM |
Condition.status |
|
PROBLEM |
ANATOMICAL_STRUCTURE |
Condition.bodySite |
PROBLEM |
ANATOMICAL_STRUCTURE |
Condition.evidence |
PROBLEM |
SEVERITY |
Condition.severity |
PROCEDURE |
Procedure |
|
PROCEDURE |
Procedure.status |
|
PROCEDURE |
Procedure.code |
|
PROCEDURE |
ANATOMICAL_STRUCTURE |
Procedure.bodySite |
PROCEDURE |
MEDICAL_DEVICE |
Procedure.usedCode |
PROCEDURE |
PROBLEM |
Procedure.reasonReference |
MEDICINE |
MedicationStatement |
|
MEDICINE |
MedicationStatement.status |
|
MEDICINE |
MedicationStatement.medication |
|
MEDICINE |
PROBLEM |
MedicationStatement.reasonReference |
MEDICINE |
MED_DOSE |
MedicationStatement.dosage.doseAndRate.doseQuantity |
MEDICINE |
MED_FREQUENCY |
MedicationStatement.dosage.text |
MEDICINE |
MED_ROUTE |
MedicationStatement.dosage.route |
MEDICINE |
MED_STRENGTH |
MedicationStatement.dosage.doseAndRate.doseQuantity |
MEDICINE |
MED_UNIT |
MedicationStatement.dosage.doseAndRate.doseQuantity |
Pour extraire des entités à partir d'un texte en tant que groupe FHIR R4, consultez Extraire le résultat en tant que groupe FHIR R4.