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:
- Extrae entidades, relaciones y atributos contextuales
- Incluye vocabularios con licencia
- Extrae un 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 consisten en 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 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 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 la entidad, que puede serCURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
oOTHER
.certaintyAssessment
: Es la negación o calificación del concepto médico, que puede serLIKELY
,SOMEWHAT_LIKELY
,UNCERTAIN
,SOMEWHAT_UNLIKELY
,UNLIKELY
oCONDITIONAL
.subject
: Especifica el sujeto con el que se relaciona el concepto médico:PATIENT
,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 las 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 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.