API Healthcare Natural Language

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é utilisant votre propre texte médical annoté et 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 montrent comment extraire différents insights médicaux à partir d'un texte médical donné:

La requête d'analyse des entités contient les champs suivants:

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 d'une mention d'entité dans la réponse.
    • type: catégorie d'information médicale de la mention d'entité.
    • text: comprend le champ textContent et décrit l'extrait du texte médical contenant la mention d'entité, ainsi que offset, 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 être CURRENT, CLINICAL_HISTORY, FAMILY_HISTORY, UPCOMING ou OTHER.
    • certaintyAssessment: négation ou qualification du concept médical. Sa valeur peut être LIKELY, SOMEWHAT_LIKELY, UNCERTAIN, SOMEWHAT_UNLIKELY, UNLIKELY ou CONDITIONAL.
    • subject: spécifie le sujet auquel le concept médical se rapporte. Sa valeur peut être PATIENT, FAMILY_MEMBER ou OTHER.
    • linkedEntities: liste des concepts médicaux qui pourraient être associés à cette mention d'entité. Les entités associées spécifient entityId, qui associe un concept médical à une entité dans entities.
  • 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 champ linkedEntities.
    • 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: indique le 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 sur le type de mention d'entité. Consultez la section 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. Voici la liste des catégories de connaissances médicales compatibles. Les types de mentions d'entités appartenant aux groupes "Oncologie", "Déterminants sociaux de la santé" et "Données de santé protégées" ne sont disponibles que dans la 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 Mesure normale du corps humain, telle que les signes vitaux, obtenue sans tests ni procédures complexes à l'aide d'instruments de base, tels qu'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 des 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 d'une 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 à laquelle un médicament est pris.
MED_ROUTE Emplacement du corps où un médicament est administré.
MED_STATUS État d'un médicament existant, par exemple "continue" (continuer), "start" (commencer), "restart" (recommencer), "stop" (arrêter), "switch" (changer), "increase" (augmenter) et "decrease" (baisser).
MED_STRENGTH Quantité d'ingrédient actif dans une dose de médicament.
MED_UNIT Unité de mesure de l'ingrédient actif d'un médicament.
MED_TOTALDOSE Quantité de médicaments à prendre en même temps.
PROBLEM Pathologie, y compris les constatations et les maladies
PROCEDURE Procédure de diagnostic ou de traitement
PROCEDURE_RESULT Résultats d'une procédure.
PROC_METHOD Méthode utilisée pour mener 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", "récidivant" et "résolu".
DATE Une 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 Les gènes étudiés qui conduisent 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 rayonnements 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 un système de codage majeur tel que ClinVar et HGVS.
Déterminants sociaux de la santé (DSS) (Preview) AGE Identifiant de l'âge. Cela inclut les expressions décrivant l'âge, telles que "a l'air plus jeune que son âge", "d'âge moyen", "78 ans" ou "adolescent".

Remarque: La loi HIPAA ne classe l'âge d'une personne comme renseignement de santé protégé que lorsqu'il est supérieur à 90 ans. Pour en savoir plus, consultez le Résumé de la règle de confidentialité HIPAA.

FAMILY Expressions décrivant la structure familiale ou les proches du patient, par exemple "marié avec deux enfants", "frère", "épouse", "parents compréhensifs" ou "divorcé".
LIVING_SITUATION Phrases décrivant la situation de vie du patient, telles que "avec des colocataires", "avec une infirmière à domicile 24h/24, 7j/7" ou "a déménagé récemment".
SOCIAL_IDENTITY Phrases décrivant l'identité sociale du patient ou de la famille, y compris la race, l'origine ethnique, l'orientation sexuelle, la religion, la nationalité, les langues parlées ou non, ou le pays d'origine
PHYSICAL_APPEARANCE Phrases décrivant le trait physique le plus visible ou évident du patient ou de la famille, par exemple "cicatrice sur la joue droite", "syndrome de Down", "obèse" ou "jambe gauche amputée".
OCCUPATION Phrases décrivant l'occupation et l'état d'emploi du patient ou de sa famille, par exemple "mère retraitée", "travaillé comme soudeur pendant 20 ans" ou "perdu son emploi l'année dernière".
Données de santé protégées (preview) PERSON_NAME Identifiant de nom générique d'une personne. Inclut des titres tels que "Dr.", "Mme" ou "Dr"
ORGANIZATION_NAME Identifiant d'un établissement médical qui collecte des informations de santé protégées, comme une clinique, une maison de retraite ou un hôpital.
GENERIC_ID Identifiant générique qui identifie les dossiers médicaux, les patients, les médecins et les hôpitaux, comme le numéro de sécurité sociale du patient ou le numéro d'un prestataire.
LOCATION Emplacement géographique pouvant contenir des noms et des numéros de bâtiments, de rues, de villes, d'États ou de codes postaux.
PHONE_NUMBER Numéro indiquant un numéro de téléphone, de fax ou de bip.
EMAIL_ADDRESS Identifiant d'une adresse e-mail.
URL Adresse d'un site Web.
ZIPCODE Identifiant du 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 d'une mention d'entité DATE peut contenir des informations sur le type de date, classées comme suit:

  • 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:

  • Les mentions d'entités, les entités et les 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 met en correspondance les mentions d'entité, les entités et les relations avec les ressources FHIR et leurs éléments. Le tableau suivant liste certains de ces mappages.

Mentions d'entités de l'API Healthcare Natural Language Catégorie d'information médicale 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 sous la forme d'un groupe FHIR R4, consultez la section Extraire la sortie sous la forme d'un groupe FHIR R4.