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 con 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 conocimientos médicos 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 de conocimientos médicos, incluidos los siguientes:

  • entityMentions: 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 una entidad en la respuesta.
    • type: Es la categoría de conocimiento médico de la mención de la entidad.
    • text: Consta del 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 la entidad, que puede ser CURRENT, CLINICAL_HISTORY, FAMILY_HISTORY, UPCOMING o OTHER.
    • certaintyAssessment: Es la negación o calificación del concepto médico, que puede ser LIKELY, SOMEWHAT_LIKELY, UNCERTAIN, SOMEWHAT_UNLIKELY, UNLIKELY o CONDITIONAL.
    • subject: Especifica el sujeto con el que se relaciona el concepto médico: 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 las 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 vocabularios médicos compatibles.
  • relationships: Define las relaciones directas entre las menciones de entidades. En el ejemplo, el sujeto de la relación es "Régimen de insulina humano" y el objeto de la relación es "5 unidades".

  • confidence: 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 la entidad. Consulta la sección Información adicional.

Idiomas 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
  • CIE-10-MC
  • 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 incluye una lista de categorías de conocimientos médicos admitidos. Los tipos de menciones de entidades que pertenecen a los grupos de oncología, determinantes sociales de la salud (SDOH) 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 Función que realiza el cuerpo humano.
BF_RESULT Es el resultado de una función del cuerpo.
BODY_MEASUREMENT Medición normal del cuerpo humano, como los signos vitales, que se obtiene sin pruebas o procedimientos complejos con instrumentos básicos, como un termómetro o un estetoscopio.
BM_RESULT Es el resultado de una medida corporal.
BM_UNIT La unidad para una medida corporal.
BM_VALUE Es el valor de una medida corporal.
LABORATORY_DATA Los resultados de la prueba de una muestra corporal.
LAB_RESULT Es una descripción cualitativa de los datos de laboratorio, como “aumentado”, “disminuido”, “positivo” o “negativo”.
LAB_VALUE Es el valor de una instancia de los datos de laboratorio.
LAB_UNIT Es la unidad de medida para el valor del laboratorio.
MEDICAL_DEVICE Es un instrumento físico o virtual.
MEDICINE Medicamento u otra preparación para el tratamiento o la prevención de una enfermedad.
MED_DOSE La dosis de un medicamento.
MED_DURATION Período de administración de un medicamento.
MED_FORM Las características físicas de un medicamento específico.
MED_FREQUENCY La frecuencia con la que se toma un medicamento.
MED_ROUTE Posición dentro del cuerpo donde se administra un medicamento.
MED_STATUS El estado de un medicamento existente, como “continuar”, “iniciar”, “reiniciar”, “detener”, “cambiar”, “aumentar” y “disminuir”.
MED_STRENGTH La cantidad del ingrediente activo en una dosis de un medicamento.
MED_UNIT Es la unidad de medida del ingrediente activo en un medicamento.
MED_TOTALDOSE La cantidad de medicamentos que se debe tomar de una vez.
PROBLEM Afección médica, incluidos los hallazgos y las enfermedades.
PROCEDURE 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 Gravedad de la afección médica.
SUBSTANCE_ABUSE Descripción del abuso de una sustancia psicoactiva.
Oncología (versión preliminar) CLINICAL_STATUS Estado de un caso de cáncer, como “activo”, “recurrente”, “relacionante” 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 puede no incluir el año.
DIMENSIONS Mediciones de un tumor, una masa o un crecimiento anormal.
GENE_STUDIED Genes estudiados que, directa o indirectamente, conducen a la formación de tumores, como el BRCA1, el p53 y el ALK.
HISTOLOGICAL_GRADE Sistema de clasificación para calificar la apariencia de una célula cancerosa.
LAB_SPECIMEN Material biológico que se recolecta del cuerpo para pruebas o muestras.
RADIATION_DOSAGE La cantidad de radiación que se administra a un paciente.
ONSET Anotación de fecha que representa la fecha en que un paciente observó por primera vez problemas relacionados con el cáncer.
VARIATION_CODE Un código que se proporciona 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 (SDoH) (versión preliminar) AGE Un identificador de edad. Incluye frases que describen la edad, como “parece menor de la edad indicada”, “mediana”, “78 años” o “adolescente”.

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

FAMILY Frases que describan la estructura familiar o los familiares del paciente, como “casado con dos hijos”, “hermano”, “esposa”, “padres solidarios” o “divorciado”
LIVING_SITUATION Frases que describen la situación de vida del paciente, como “con compañeros de habitación”, “tiene un servicio de enfermería las 24 horas, todos los días” o “se mudó recientemente”.
SOCIAL_IDENTITY Frases que describen la identidad social del paciente o la familia, incluida la raza, el origen étnico, 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 describan 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”, “obesidad” o “amputación de pierna izquierda”.
OCCUPATION Frases que describan la ocupación y la situación laboral del paciente o familiar, 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 que corresponde a una persona. Incluye títulos, como "Dr.", "Sra." o "MD"
ORGANIZATION_NAME Es el identificador de una organización médica que recopila PHI, como una clínica, un centro de asistencia o un hospital.
GENERIC_ID Es 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ódigo postal.
PHONE_NUMBER Es un número que indica un número de teléfono, un número de fax o un número de localizador.
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 para una mención de la entidad DATE puede incluir detalles sobre el tipo de fecha, categorizado 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 paquete de FHIR

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

  • La entidad menciona, las entidades y las relaciones
  • Un paquete de FHIR R4 representado como una string que incluye todas las entidades, las menciones de entidades y las relaciones en formato JSON

Para crear el paquete de FHIR R4, la API de Healthcare Natural Language asigna las menciones y entidades de las entidades, y las relaciones a los recursos de FHIR y sus elementos. En la siguiente tabla, 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 de texto como un paquete de FHIR R4, consulta Extrae resultados como un paquete de FHIR R4.