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
- Cómo extraer el resultado como un paquete de FHIR R4
La solicitud de análisis de entidades contiene los siguientes campos:
documentContent
: 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. El vocabulario de SNOMED CT Disponible solo para usuarios de EE.UU.alternativeOutputFormat
: Opcional. El formato del paquete de FHIR
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 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 de origen.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 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.