API de Healthcare Natural Language

La API de Healthcare Natural Language forma parte de la API de Cloud Healthcare que usa modelos de lenguaje natural para extraer información de atención médica del texto médico.

En esta guía conceptual, se explican los conceptos básicos del uso de la API de Healthcare Natural Language, incluidos los siguientes:

  • Tipos de solicitudes que puedes realizar a la API de Healthcare Natural Language
  • Cómo crear solicitudes a la API de Healthcare Natural Language
  • Cómo controlar las respuestas de la API de Healthcare Natural Language

Descripción general

La API de Healthcare Natural Language extrae información de atención médica del texto médico. Esta información de atención médica puede incluir lo siguiente:

  • Conceptos médicos, como medicamentos, procedimientos y problemas de salud
  • Características funcionales, como relaciones temporales, sujetos y evaluaciones de certeza
  • Relaciones, como efectos secundarios y dosis de medicamentos

Elige entre la API de Healthcare Natural Language y AutoML Entity Extraction for Healthcare

La API de Healthcare Natural Language ofrece modelos de lenguaje natural previamente entrenados para extraer conceptos y relaciones médicas del texto médico. La API de Healthcare Natural Language mapea el texto a un conjunto predefinido de categorías de conocimientos médicos.

AutoML Entity Extraction for Healthcare te permite crear un modelo de extracción de entidades personalizado entrenado con tu propio texto médico anotado y mediante tus propias categorías. Si deseas obtener más información, consulta la documentación de AutoML Entity Extraction for Healthcare.

Ubicaciones disponibles

La API de Healthcare Natural Language está disponible en las siguientes ubicaciones:

Nombre de la ubicación Descripción de la ubicación
asia-south1 Bombay, India
australia-southeast1 Sídney, Australia
europe-west2 Londres, Reino Unido
europe-west4 Países Bajos
northamerica-northeast1 Montreal, Canadá
us-central1 Iowa, EE.UU.

Funciones de la API de Healthcare Natural Language

La API de Healthcare Natural Language inspecciona textos médicos para detectar conceptos y relaciones médicas. Realiza un análisis de entidades con el método analyzeEntities.

Solicitudes de análisis de entidades

La API de Healthcare Natural Language es una API de REST que consiste en una solicitud JSON y respuestas. En las siguientes secciones, se muestra cómo extraer diferentes estadísticas médicas de un texto médico determinado:

La solicitud de análisis de entidades contiene los siguientes campos:

Campos de respuesta del análisis de entidades

El análisis de entidades muestra un conjunto de menciones de conocimientos médicos detectados, conceptos médicos y relaciones entre las menciones del conocimiento médico, incluidos los siguientes:

  • entityMentions: Son casos de entidades de conocimiento médico en el texto médico de origen. Cada mención de entidad tiene los siguientes campos:

    • mentionId: Es un identificador único para una mención de entidad en la respuesta.
    • type: Es la categoría de conocimiento médico de la mención de la entidad.
    • text: Consiste en el campo textContent y describe el extracto del texto médico que contiene la mención de la entidad y offset, la ubicación de la mención de la entidad en el texto médico de origen.
    • temporalAssessment: Especifica cómo se relaciona la entidad vinculada con la mención de entidades, como CURRENT, CLINICAL_HISTORY, FAMILY_HISTORY, UPCOMING o OTHER.
    • certaintyAssessment: Es la negación o calificación del concepto médico, uno de LIKELY, SOMEWHAT_LIKELY, UNCERTAIN, SOMEWHAT_UNLIKELY, UNLIKELY o CONDITIONAL.
    • subject: Especifica el tema con el que se relaciona el concepto médico, uno de PATIENT, FAMILY_MEMBER o OTHER.
    • linkedEntities: Es una lista de conceptos médicos que podrían estar relacionados con esta mención de entidad. Las entidades vinculadas especifican el objeto entityId que vincula un concepto médico con una entidad en entities.
  • entities: Describe los conceptos médicos de los campos de entidades vinculadas. Cada entidad se describe mediante los siguientes campos:

    • entityId: Es un identificador único del campo linkedEntities.
    • preferredTerm: Es un término preferido para el concepto médico.
    • vocabularyCodes: Es la representación del concepto médico en los vocabularios médicos compatibles.
  • relationships: Define las relaciones dirigidas entre las menciones de entidades. En la muestra, el asunto de la relación es “Persona con tratamiento de insulina” y el objeto de la relación es de “5 unidades”.

  • confidence: Es una indicación de la confianza del modelo en la relación como un número entre 0 y 1.

Además de los campos enumerados, la respuesta también puede contener el campo additionalInfo, que indica cualquier descripción adicional sobre el tipo de mención de entidad. Consulta Información adicional.

Lenguajes compatibles

La API de Healthcare Natural Language solo admite la extracción de información de atención médica del texto en inglés.

Vocabularios médicos compatibles

La API de Healthcare Natural Language admite los siguientes vocabularios médicos:

  • Modelo fundacional de la anatomía
  • Ontología génica
  • HUGO Gene Nomenclature Committee
  • Human Phenotype Ontology
  • Sistema de programación de procedimientos ICD-10
  • ICD-10-CM
  • ICD-9-CM
  • LOINC
  • MeSH
  • Temas de salud de MedlinePlus
  • Nombres de Metathesaurus
  • NCBI Taxonomy
  • Tesauro del NDI
  • Archivo Nacional de Fármacos
  • Online Mendelian Inheritance in Man
  • RXNORM
  • SNOMED CT (disponible solo para usuarios de EE.UU.)

Categorías de conocimiento médico compatibles

La API de Healthcare Natural Language asigna una categoría de conocimiento médico al campo entityMentions.type. A continuación, se muestra una lista de las categorías de conocimiento médico compatibles. Los tipos de menciones de entidades que pertenecen a los grupos de oncología, determinantes sociales de la salud (DSS) e información de salud protegida (PHI) solo están disponibles en la versión preliminar:

Grupo Categoría de conocimiento médico Descripción
General ANATOMICAL_STRUCTURE Una parte compleja del cuerpo humano, como las células, los órganos y los sistemas.
BODY_FUNCTION Es una función que realiza el cuerpo humano.
BF_RESULT Es el resultado de una función corporal.
BODY_MEASUREMENT Una medición normal del cuerpo humano, como los signos vitales, que se obtiene sin pruebas ni procedimientos complejos con instrumentos básicos, como un termómetro o un estetoscopio.
BM_RESULT Es el resultado de una medición corporal.
BM_UNIT Es la unidad de una medición corporal.
BM_VALUE Es el valor de una medición corporal.
LABORATORY_DATA Los resultados de la prueba de una muestra corporal
LAB_RESULT Una descripción cualitativa de los datos de laboratorio, como “aumento”, “disminución”, “positivo” o “negativo”.
LAB_VALUE Es el valor de una instancia de los datos de laboratorio.
LAB_UNIT Es la unidad de medida del valor de laboratorio.
MEDICAL_DEVICE Un instrumento físico o virtual
MEDICINE Un medicamento o cualquier otra preparación para el tratamiento o la prevención de una enfermedad.
MED_DOSE Es una dosis de un medicamento.
MED_DURATION Es el período de administración de un medicamento.
MED_FORM Son las características físicas de un medicamento específico.
MED_FREQUENCY Es la frecuencia con la que se toma un medicamento.
MED_ROUTE Es una ubicación del cuerpo en la que se administra un medicamento.
MED_STATUS Es el estado de un medicamento existente, como “continuar”, “iniciar”, “reiniciar”, “detener”, “cambiar”, “aumentar” y “disminuir”.
MED_STRENGTH Es la cantidad de ingrediente activo en una dosis de un medicamento.
MED_UNIT Es la unidad de medida del ingrediente activo de un medicamento.
MED_TOTALDOSE Es la cantidad de medicamentos que se deben tomar al mismo tiempo.
PROBLEM Una afección médica, incluidos resultados y enfermedades.
PROCEDURE Un procedimiento de diagnóstico o tratamiento
PROCEDURE_RESULT Son los resultados de un procedimiento.
PROC_METHOD Es el método que se usa para realizar un procedimiento.
SEVERITY La gravedad de la afección médica
SUBSTANCE_ABUSE Una descripción del abuso de una sustancia psicoactiva
Oncología (versión preliminar) CLINICAL_STATUS Es el estado de un caso de cáncer, como "activo", "recurrente", "en recaída" y "resuelto".
DATE Una anotación de fecha, como la fecha del diagnóstico, la fecha del procedimiento o la fecha de un tratamiento de radiación Extrae todos los elementos de una fecha y es posible que no incluya el año.
DIMENSIONS Son las mediciones de un tumor, una masa o un crecimiento anormal.
GENE_STUDIED Los genes estudiados que, directa o indirectamente, conducen a la formación de tumores, como BRCA1, p53 y ALK.
HISTOLOGICAL_GRADE Un sistema de clasificación para calificar la apariencia de una célula cancerosa.
LAB_SPECIMEN Material biológico recolectado del cuerpo para pruebas o muestras.
RADIATION_DOSAGE Es la cantidad de radiación que se le administra a un paciente.
ONSET Es una anotación de fecha que representa la fecha en la que un paciente observó por primera vez problemas relacionados con el cáncer.
VARIATION_CODE Es un código que se le asigna a la variante genómica específica que se detecta en un sistema de codificación principal, como ClinVar y HGVS.
Determinantes sociales de la salud (DSS) (versión preliminar) AGE Un identificador de edad. Incluye frases que describen la edad, como "parece más joven que la edad indicada", "de mediana edad", "78 años" o "adolescente".

Nota: La HIPAA clasifica la edad de una persona como PHI solo cuando es superior a 90 años. Para obtener más información, consulta el Resumen de la Regla de Privacidad de la HIPAA.

FAMILY Frases que describen la estructura familiar o los familiares del paciente, como “casado con dos hijos”, “hermano”, “esposa”, “padres comprensivos” o “divorciado”.
LIVING_SITUATION Frases que describen la situación de vida del paciente, como “con compañeros de habitación”, “tiene una enfermera de atención domiciliaria las 24 horas, todos los días” o “se mudó recientemente”.
SOCIAL_IDENTITY Frases que describen la identidad social del paciente o la familia, incluidos el origen étnico, la raza, la orientación sexual, la religión, la nacionalidad, los idiomas que se hablan o no, o el país de origen.
PHYSICAL_APPEARANCE Frases que describen el rasgo físico más notable o evidente del paciente o de la familia, como “cicatriz en la mejilla derecha”, “síndrome de Down”, “obeso” o “amputación de la pierna izquierda”.
OCCUPATION Frases que describen la ocupación y el estado laboral del paciente o de la familia, como “madre jubilada”, “trabajó como soldador durante 20 años” o “perdió el trabajo el año pasado”.
Información de salud protegida (PHI) (versión preliminar) PERSON_NAME Es un identificador de nombre genérico para una persona. Incluye títulos, como "Dr.", "Sra." o "Dra."
ORGANIZATION_NAME Es un identificador de una organización médica que recopila PHI, como una clínica, un hogar de ancianos o un hospital.
GENERIC_ID Un ID genérico que identifica historias clínicas, pacientes, médicos y hospitales, como el NSS del paciente o el número de un proveedor.
LOCATION Es una ubicación geográfica que puede contener nombres y números de edificios, calles, ciudades, estados o códigos postales.
PHONE_NUMBER Es un número para indicar un número de teléfono, fax o buscapersonas.
EMAIL_ADDRESS Un identificador de dirección de correo electrónico.
URL Es la dirección de un sitio web.
ZIPCODE Es un identificador de código postal.

Categorías de características funcionales compatibles

La API de Healthcare Natural Language puede inferir características funcionales o atributos de una mención de entidad desde el contexto. Por ejemplo, en la declaración “La madre de Kusuma tiene cáncer”, la condición “diabetes” tiene la característica funcional de subject FAMILY_MEMBER.

Relaciones temporales

Las relaciones temporales, que se muestran en el campo temporalAssessment, describen cómo se relaciona esta entidad con el sujeto de forma temporal.

La API de Healthcare Natural Language admite las siguientes relaciones temporales:

  • CURRENT
  • CLINICAL_HISTORY
  • FAMILY_HISTORY
  • UPCOMING
  • OTHER

Asuntos

Los sujetos, que se muestran en el campo subject, describen a la persona con la que se relaciona la entidad.

La API de Healthcare Natural Language admite los siguientes temas:

  • PATIENT
  • FAMILY_MEMBER
  • OTHER

Evaluaciones de certezas

En ciertas evaluaciones, que se muestran en el campo certaintyAssessment, se describe la confianza de la persona que tomó la nota original. Por ejemplo, si la nota original contiene “El paciente tiene dolor de garganta”, la evaluación de certeza muestra un valor LIKELY para indicar que la persona que tomó la nota tiene la certeza de que el paciente tenía dolor de garganta. Si la nota original contiene “El paciente no tiene dolor de garganta”, la evaluación de certeza muestra un valor UNLIKELY para indicar que la persona que tomó la nota tiene la certeza de que el paciente no tenía dolor de garganta.

Las evaluaciones de certeza pueden ser uno de los siguientes valores:

  • LIKELY
  • SOMEWHAT_LIKELY
  • UNCERTAIN
  • SOMEWHAT_UNLIKELY
  • UNLIKELY
  • CONDITIONAL

Información adicional

El campo additionalInfo proporciona detalles adicionales sobre una mención de entidad. Por ejemplo, el campo additionalInfo de una mención de entidad DATE podría consistir en detalles sobre el tipo de fecha, categorizados como una de las siguientes opciones:

  • 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

Relaciones admitidas entre las menciones de entidades

La API de Healthcare Natural Language puede inferir relaciones entre las menciones de entidades según el texto médico que lo rodea. En la respuesta, el asunto de la relación se identifica mediante subjectId y el objeto de la relación se identifica mediante objectId.

La API de Healthcare Natural Language admite las siguientes relaciones entre las menciones de entidades:

Asunto Objeto
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

Resultado de la API de Healthcare Natural Language como un paquete de FHIR

Cuando solicitas el método analyzeEntities con el campo alternativeOutputFormat configurado en FHIR_BUNDLE, la respuesta incluye los siguientes objetos JSON:

  • Las menciones de entidades, las entidades y las relaciones
  • Un paquete de FHIR R4 representado como una cadena que incluye todas las entidades, las menciones de entidades y las relaciones en formato JSON

Para crear el paquete R4 de FHIR, la API de Healthcare Natural Language asigna las menciones de entidades, las entidades y las relaciones a los recursos de FHIR y sus elementos. En la siguiente tabella, se enumeran algunas de estas asignaciones.

Menciones de entidades de la API de Healthcare Natural Language Categoría de conocimiento médico Recursos y elementos de 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

Para extraer entidades del texto como un paquete de FHIR R4, consulta Cómo extraer el resultado como un paquete de FHIR R4.