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:
- Extrae entidades, relaciones y atributos contextuales
- Incluye vocabularios con licencia
- Extrae el resultado como un paquete de FHIR R4
La solicitud de análisis de entidades contiene los siguientes campos:
documentContent
: Son los datos de la solicitud, que constan de texto médico. El tamaño máximo del texto médico es de 20,000 caracteres Unicode.licensedVocabularies[]
: Opcional. Vocabulario de SNOMED CT Solo está disponible para usuarios de EE.UU.alternativeOutputFormat
: Opcional. Es el formato del paquete de FHIR.
Campos de respuesta del análisis de entidades
El análisis de entidades devuelve 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
: 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 campotextContent
y describe el extracto del texto médico que contiene la mención de la entidad, yoffset
, la ubicación de la mención de la entidad en el texto médico fuente.temporalAssessment
: Especifica cómo se relaciona la entidad vinculada con la mención de entidades, comoCURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
oOTHER
.certaintyAssessment
: Es la negación o calificación del concepto médico, uno deLIKELY
,SOMEWHAT_LIKELY
,UNCERTAIN
,SOMEWHAT_UNLIKELY
,UNLIKELY
oCONDITIONAL
.subject
: Especifica el tema con el que se relaciona el concepto médico, uno dePATIENT
,FAMILY_MEMBER
oOTHER
.linkedEntities
: Es una lista de conceptos médicos que podrían estar relacionados con esta mención de entidad. Las entidades vinculadas especifican el objetoentityId
que vincula un concepto médico con una entidad enentities
.
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 campolinkedEntities
.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 relaciones dirigidas entre las menciones de entidades. En la muestra, el sujeto de la relación es "Persona con tratamiento de insulina" y el objeto de la relación es "5 unidades".confidence
: Es un indicador 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 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
- 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 incluye una lista de las categorías de conocimiento médico admitidas. Los tipos de menciones de entidades que pertenecen a los grupos de oncología, determinantes sociales de la salud (SDOH) y la información de salud protegida (PHI) solo están disponibles en Vista previa:
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 corporal. | |
BODY_MEASUREMENT
|
Una medición normal del cuerpo humano, como los signos vitales, obtenida 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
|
Son los resultados de la prueba de una muestra corporal. | |
LAB_RESULT
|
Es una descripción cualitativa de los datos del laboratorio, como "aumentado", "disminuido", "positivo" o "negativo". | |
LAB_VALUE
|
Es el valor de una instancia de los datos de laboratorio. | |
LAB_UNIT
|
Unidad de medida para el valor de laboratorio. | |
MEDICAL_DEVICE
|
Un instrumento físico o virtual | |
MEDICINE
|
Una droga 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
|
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
|
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” o “disminuir”. | |
MED_STRENGTH
|
Cantidad de ingrediente activo en una dosis de un medicamento | |
MED_UNIT
|
Es la unidad de medida del ingrediente activo en un medicamento. | |
MED_TOTALDOSE
|
Cantidad de medicamento que se debe tomar a la vez | |
PROBLEM
|
Una afección médica, incluidos resultados y 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 llevar a cabo un procedimiento. | |
SEVERITY
|
Es la gravedad de la afección médica. | |
SUBSTANCE_ABUSE
|
Es 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
|
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
|
Mediciones de un tumor, una masa o un crecimiento anormal | |
GENE_STUDIED
|
Los genes estudiados que conducen directa o indirectamente a la formación de tumores, como BRCA1, p53 y ALK. | |
HISTOLOGICAL_GRADE
|
Es 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 para representar 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 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
|
Es un identificador de edad. Incluye frases que describen la edad, como "parece más joven de lo que dice su edad", "de mediana edad", "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 Ley de Privacidad de HIPAA. |
FAMILY
|
Frases que describen la estructura familiar o los parientes del paciente, como "casado con dos hijos", "hermano", "esposa", "padres que lo apoyan" o "divorciado". | |
LIVING_SITUATION
|
Frases que describen la situación de vida del paciente, como "con compañeros de cuarto", "tiene un enfermero 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, como raza, etnia, orientación sexual, religión, nacionalidad, idiomas que se hablan o no, o país de origen | |
PHYSICAL_APPEARANCE
|
Frases que describen el rasgo físico más evidente o notable del paciente o la familia, como "cicatriz en la mejilla derecha", "síndrome de Down", "obeso" o "pierna izquierda amputada". | |
OCCUPATION
|
Frases que describen la ocupación y el estado laboral del paciente o la familia, como "madre jubilada", "trabajó como soldador durante 20 años" o "perdió el empleo 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 "Dr." |
ORGANIZATION_NAME
|
Es un identificador de una organización médica que recopila PHI, como una clínica, un asilo de ancianos o un hospital. | |
GENERIC_ID
|
Es un ID genérico que identifica registros médicos, pacientes, médicos y hospitales, como el número de seguridad social del paciente o el número de un proveedor. | |
LOCATION
|
Ubicación geográfica que puede contener nombres y números de edificios, calles, ciudades, estados o códigos postales. | |
PHONE_NUMBER
|
Número que indica un número de teléfono, un número de fax o un número de buscapersonas. | |
EMAIL_ADDRESS
|
Es 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
podría consistir en detalles sobre el tipo de fecha, categorizados como uno de los siguientes:
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
establecido en FHIR_BUNDLE
, la respuesta incluye los siguientes objetos JSON:
- Las menciones de entidades, las entidades y las relaciones
- Es 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 FHIR R4, la API de Healthcare Natural Language asigna las menciones de entidades, las entidades y las relaciones a los recursos 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 del texto como un paquete FHIR R4, consulta Cómo extraer el resultado como un paquete FHIR R4.