Usa la API de Healthcare Natural Language

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En esta página, se explica cómo habilitar la API de Healthcare Natural Language, configurar los permisos y llamar al método analyzeEntities para extraer estadísticas médicas a partir de texto médico.

Descripción general

La API de Healthcare Natural Language proporciona soluciones de aprendizaje automático para obtener estadísticas a partir de texto médico. La API de Healthcare Natural Language forma parte de la API de Cloud Healthcare. Para obtener una descripción general de la API de Healthcare Natural Language, consulta la documentación conceptual de la API de Healthcare Natural Language.

La API de Healthcare Natural Language analiza texto médico no estructurado, como registros médicos o reclamos de seguros. Luego, genera una representación de datos estructurados de las entidades de conocimiento médico almacenadas en estas fuentes de datos para el análisis y la automatización posteriores. Por ejemplo, puede hacer lo siguiente:

  • Extrae información sobre conceptos médicos, como enfermedades, medicamentos, dispositivos médicos, procedimientos y sus atributos clínicos relevantes.
  • Mapear conceptos médicos a vocabularios médicos estándar, como RxNorm, ICD-10, MESH y SNOMED CT (solo usuarios de EE.UU.)
  • Obtén estadísticas médicas a partir de texto y, luego, intégralas a productos de análisis de datos en Google Cloud

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.

Habilita la API de Healthcare Natural Language

Antes de comenzar a usar la API de Healthcare de Natural Language, debes habilitarla para tu proyecto de Google Cloud. Puedes usar la API de Healthcare Natural Language sin habilitar ni usar las funciones de la API de Cloud Healthcare.

Para habilitar la API, completa los siguientes pasos:

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.

  4. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Selecciona tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Para proporcionar acceso a tu proyecto, otorga los siguientes roles a tu cuenta de servicio: Proyecto > Propietario .

      En la lista Seleccionar un rol, elige un rol.

      Para obtener roles adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.

    6. Haga clic en Continuar.
    7. Haz clic en Listo para terminar de crear la cuenta de servicio.

      No cierres la ventana del navegador. La usarás en la próxima tarea.

  5. Haz lo siguiente para crear una clave de cuenta de servicio:

    1. En la consola de Google Cloud, haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
    2. Haga clic en Claves.
    3. Haz clic en Agregar clave y, luego, en Crear clave nueva.
    4. Haga clic en Crear. Se descargará un archivo de claves JSON en tu computadora.
    5. Haga clic en Cerrar.
  6. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene la clave de tu cuenta de servicio. Esta variable solo se aplica a la sesión actual de shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

  7. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  8. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.

  9. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Selecciona tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Para proporcionar acceso a tu proyecto, otorga los siguientes roles a tu cuenta de servicio: Proyecto > Propietario .

      En la lista Seleccionar un rol, elige un rol.

      Para obtener roles adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.

    6. Haga clic en Continuar.
    7. Haz clic en Listo para terminar de crear la cuenta de servicio.

      No cierres la ventana del navegador. La usarás en la próxima tarea.

  10. Haz lo siguiente para crear una clave de cuenta de servicio:

    1. En la consola de Google Cloud, haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste.
    2. Haga clic en Claves.
    3. Haz clic en Agregar clave y, luego, en Crear clave nueva.
    4. Haga clic en Crear. Se descargará un archivo de claves JSON en tu computadora.
    5. Haga clic en Cerrar.
  11. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene la clave de tu cuenta de servicio. Esta variable solo se aplica a la sesión actual de shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

  12. Habilita Cloud Healthcare API.

    Habilita la API

  13. Instala y, luego, inicializa Google Cloud CLI.

Configura los permisos

Para usar las funciones de esta guía, debes tener el permiso healthcare.nlpservice.analyzeEntities, que se incluye en la función healthcare.nlpServiceViewer.

Para asignar esta función, ejecuta el comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member serviceAccount:SERVICE_ACCOUNT_ID \
    --role roles/healthcare.nlpServiceViewer

Extrae entidades, relaciones y atributos contextuales

La API de Healthcare Natural Language usa modelos contextuales para extraer entidades médicas, relaciones y atributos contextuales. Cada entidad de texto se extrae a una entrada de diccionario médico. Para extraer este nivel de estadísticas médicas a partir de texto médico, usa el método projects.locations.services.nlp.analyzeEntities.

Para incluir vocabularios con licencia, como Clasificación Internacional de Enfermedades, Décima Revisión, Modificación Clínica (ICD10CM) y Términos Clínicos SNOMED, Versión para EE.UU. (SNOMEDCT_US), consulta Incluye vocabularios con licencia.

Para extraer estadísticas médicas de texto médico con la API de Natural Language, realiza una solicitud POST y especifica la siguiente información en la solicitud:

  • El nombre del servicio superior, incluido el ID y la ubicación del proyecto
  • El texto de destino. El tamaño máximo es de 20,000 caracteres Unicode.

curl

En el siguiente ejemplo, se muestra una solicitud POST mediante curl:

curl -X POST \
   -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
   -H "Content-Type:application/json" \
   --data "{
    'nlpService':'projects/PROJECT_ID/locations/LOCATION/services/nlp',
    'documentContent':'Insulin regimen human 5 units IV administered.'
   }" \
   "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/nlp:analyzeEntities"

PowerShell

En el siguiente ejemplo, se muestra una solicitud POST mediante Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
    'nlpService':'projects/PROJECT_ID/locations/LOCATION/services/nlp',
    'documentContent':'Insulin regimen human 5 units IV administered.'
   }" `
   -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/nlp:analyzeEntities"  | Select-Object -Expand Content

Si la solicitud es exitosa, la respuesta incluirá la siguiente información:

  • Entidades de conocimiento médico reconocidas
  • Características funcionales
  • Relaciones entre las entidades reconocidas
  • Atributos contextuales
  • Asignaciones de las entidades de conocimiento médico a terminologías estándares

Para obtener una lista de entidades, atributos y tipos de relaciones compatibles, consulta la documentación conceptual de la API de Natural Language.

La siguiente respuesta de los ejemplos anteriores identificó la insulina terapéutica, la entidad con el código C581 en el sistema de terminología de NCI, como el medicamento. La respuesta también incluye la puntuación de confianza asignada a la respuesta. Para obtener más información sobre los campos de respuesta, consulta la documentación de analyzeEntities.

{
  "entityMentions": [
    {
      "mentionId": "1",
      "type": "MEDICINE",
      "text": {
        "content": "Insulin regimen human"
      },
      "linkedEntities": [
        {
          "entityId": "UMLS/3537244"
        },
        {
          "entityId": "UMLS/3714501"
        },
        {
          "entityId": "UMLS/21641"
        },
        {
          "entityId": "UMLS/795635"
        },
        {
          "entityId": "UMLS/1533581"
        },
        {
          "entityId": "UMLS/4721402"
        }
      ],
      "temporalAssessment": {
        "value": "CURRENT",
        "confidence": 0.87631082534790039
      },
      "certaintyAssessment": {
        "value": "LIKELY",
        "confidence": 0.9999774694442749
      },
      "subject": {
        "value": "PATIENT",
        "confidence": 0.99999970197677612
      },
      "confidence": 0.41636556386947632
    },
    {
      "mentionId": "2",
      "type": "MED_DOSE",
      "text": {
        "content": "5 units",
        "beginOffset": 22
      },
      "confidence": 0.56910794973373413
    },
    {
      "mentionId": "3",
      "type": "MED_ROUTE",
      "text": {
        "content": "IV",
        "beginOffset": 30
      },
      "linkedEntities": [
        {
          "entityId": "UMLS/348016"
        }
      ],
      "confidence": 0.9180646538734436
    }
  ],
  "entities": [
    {
      "entityId": "UMLS/1533581",
      "preferredTerm": "Therapeutic Insulin",
      "vocabularyCodes": [
        "MTH/NOCODE",
        "NCI/C581"
      ]
    },
    {
      "entityId": "UMLS/21641",
      "preferredTerm": "Insulin",
      "vocabularyCodes": [
        "FMA/83365",
        "LNC/LA15805-7",
        "LNC/LP14676-8",
        "LNC/LP16325-0",
        "LNC/LP32542-0",
        "LNC/LP70329-5",
        "LNC/MTHU002108",
        "LNC/MTHU019392",
        "MSH/D007328",
        "MTH/NOCODE"
      ]
    },
    {
      "entityId": "UMLS/348016",
      "preferredTerm": "Intravenous",
      "vocabularyCodes": [
        "LNC/LA9437-0",
        "LNC/LP32453-0",
        "MTH/NOCODE",
        "NCI/C13346"
      ]
    },
    {
      "entityId": "UMLS/3537244",
      "preferredTerm": "Insulins",
      "vocabularyCodes": [
        "MSH/D061385",
        "MTH/NOCODE"
      ]
    },
    {
      "entityId": "UMLS/3714501",
      "preferredTerm": "Insulin Drug Class",
      "vocabularyCodes": [
        "MTH/NOCODE",
        "VANDF/4021631"
      ]
    },
    {
      "entityId": "UMLS/4721402",
      "preferredTerm": "INS protein, human",
      "vocabularyCodes": [
        "MTH/NOCODE",
        "NCI/C2271"
      ]
    },
    {
      "entityId": "UMLS/795635",
      "preferredTerm": "insulin, regular, human",
      "vocabularyCodes": [
        "LNC/LP17001-6",
        "MSH/D061386",
        "MTH/NOCODE",
        "NCI/C29125",
        "RXNORM/253182",
        "VANDF/4017559",
        "VANDF/4017569",
        "VANDF/4019786"
      ]
    }
  ],
  "relationships": [
    {
      "subjectId": "1",
      "objectId": "2",
      "confidence": 0.53775161504745483
    },
    {
      "subjectId": "1",
      "objectId": "3",
      "confidence": 0.95007365942001343
    }
  ]
}

Incluye vocabularios con licencia

Puedes incluir los siguientes vocabularios con licencia en tus solicitudes a la API de Healthcare Natural Language:

En los siguientes ejemplos, se muestra cómo realizar una solicitud POST a la API de Healthcare Natural Language y, también, incluir los vocabularios con licencia disponibles en el objeto licensedVocabularies. Puedes especificar uno o más de los vocabularios con licencia disponibles.

curl

En el siguiente ejemplo, se muestra una solicitud POST mediante curl:

curl -X POST \
    -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    -H "Content-Type:application/json" \
    --data "{
      'nlpService':'projects/PROJECT_ID/locations/us-central1/services/nlp',
       'documentContent':'Diabetes. Insulin regimen human 5 units IV administered.',
       'licensedVocabularies':['SNOMEDCT_US','ICD10CM']
    }" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/services/nlp:analyzeEntities"

Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

Este es el resultado. El resultado de especificar los vocabularios con licencia se muestra en negrita:

{
  "entityMentions": [
    {
      "mentionId": "1",
      "type": "PROBLEM",
      "text": {
        "content": "Diabetes"
      },
      "linkedEntities": [
        {
          "entityId": "UMLS/C0011847"
        },
        {
          "entityId": "UMLS/C0011849"
        },
        {
          "entityId": "UMLS/C0241863"
        }
      ],
      "temporalAssessment": {
        "value": "CURRENT",
        "confidence": 0.98781299591064453
      },
      "certaintyAssessment": {
        "value": "LIKELY",
        "confidence": 0.872421145439148
      },
      "subject": {
        "value": "PATIENT",
        "confidence": 0.99975031614303589
      },
      "confidence": 0.99663406610488892
    },
    {
      "mentionId": "2",
      "type": "MEDICINE",
      "text": {
        "content": "Insulin regimen",
        "beginOffset": 10
      },
      "linkedEntities": [
        {
          "entityId": "UMLS/C0795635"
        },
        {
          "entityId": "UMLS/C0021641"
        },
        {
          "entityId": "UMLS/C3537244"
        },
        {
          "entityId": "UMLS/C1533581"
        },
        {
          "entityId": "UMLS/C3714501"
        }
      ],
      "temporalAssessment": {
        "value": "CURRENT",
        "confidence": 0.91042423248291016
      },
      "certaintyAssessment": {
        "value": "LIKELY",
        "confidence": 0.99766635894775391
      },
      "subject": {
        "value": "PATIENT",
        "confidence": 0.999998152256012
      },
      "confidence": 0.716249406337738
    },
    {
      "mentionId": "3",
      "type": "MEDICINE",
      "text": {
        "content": "human",
        "beginOffset": 26
      },
      "temporalAssessment": {
        "value": "CURRENT",
        "confidence": 0.64570724964141846
      },
      "certaintyAssessment": {
        "value": "LIKELY",
        "confidence": 0.90325617790222168
      },
      "subject": {
        "value": "PATIENT",
        "confidence": 0.97613298892974854
      },
      "confidence": 0.57638454437255859
    },
    {
      "mentionId": "4",
      "type": "MED_DOSE",
      "text": {
        "content": "5 units",
        "beginOffset": 32
      },
      "confidence": 0.92076742649078369
    },
    {
      "mentionId": "5",
      "type": "MED_ROUTE",
      "text": {
        "content": "IV",
        "beginOffset": 40
      },
      "linkedEntities": [
        {
          "entityId": "UMLS/C0348016"
        }
      ],
      "confidence": 0.967033863067627
    }
  ],
  "entities": [
    {
      "entityId": "UMLS/C0011847",
      "preferredTerm": "Diabetes",
      "vocabularyCodes": [
        "ICD10CM/E11",
        "LNC/LA10529-8",
        "LNC/LP128793-9",
        "LNC/MTHU040702",
        "MTH/NOCODE",
        "OMIM/MTHU050182"
      ]
    },
    {
      "entityId": "UMLS/C0011849",
      "preferredTerm": "Diabetes Mellitus",
      "vocabularyCodes": [
        "HPO/HP:0000819",
        "ICD10CM/E08-E13",
        "ICD9CM/250",
        "LNC/LA14291-1",
        "LNC/LA27539-8",
        "LNC/MTHU020781",
        "MEDLINEPLUS/4",
        "MEDLINEPLUS/45",
        "MSH/D003920",
        "MTH/NOCODE",
        "MTH/U000263",
        "NCI/C2985",
        "NCI/OMFAQ",
        "NCI/TCGA",
        "OMIM/MTHU036798",
        "SNOMEDCT_US/73211009"
      ]
    },
    {
      "entityId": "UMLS/C0021641",
      "preferredTerm": "Insulin",
      "vocabularyCodes": [
        "FMA/83365",
        "LNC/LA15805-7",
        "LNC/LP14676-8",
        "LNC/LP16325-0",
        "LNC/LP32542-0",
        "LNC/LP70329-5",
        "LNC/MTHU002108",
        "LNC/MTHU019392",
        "MEDLINEPLUS/4935",
        "MSH/D007328",
        "MTH/NOCODE",
        "SNOMEDCT_US/39487003",
        "SNOMEDCT_US/412222002",
        "SNOMEDCT_US/67866001"
      ]
    },
    {
      "entityId": "UMLS/C0241863",
      "preferredTerm": "Diabetic",
      "vocabularyCodes": [
        "LNC/LA26134-9"
      ]
    },
    {
      "entityId": "UMLS/C0348016",
      "preferredTerm": "Intravenous",
      "vocabularyCodes": [
        "LNC/LA9437-0",
        "LNC/LP32453-0",
        "MTH/NOCODE",
        "NCI/C13346",
        "SNOMEDCT_US/255560000"
      ]
    },
    {
      "entityId": "UMLS/C0795635",
      "preferredTerm": "insulin, regular, human",
      "vocabularyCodes": [
        "LNC/LP17001-6",
        "MSH/D061386",
        "MTH/NOCODE",
        "NCI/C29125",
        "RXNORM/253182",
        "SNOMEDCT_US/126210001",
        "SNOMEDCT_US/417423002",
        "SNOMEDCT_US/420609005",
        "SNOMEDCT_US/96367001",
        "VANDF/4017559",
        "VANDF/4017569",
        "VANDF/4019786"
      ]
    },
    {
      "entityId": "UMLS/C1533581",
      "preferredTerm": "Therapeutic Insulin",
      "vocabularyCodes": [
        "MTH/NOCODE",
        "NCI/C581"
      ]
    },
    {
      "entityId": "UMLS/C3537244",
      "preferredTerm": "Insulins",
      "vocabularyCodes": [
        "MSH/D061385",
        "MTH/NOCODE"
      ]
    },
    {
      "entityId": "UMLS/C3714501",
      "preferredTerm": "Insulin Drug Class",
      "vocabularyCodes": [
        "MTH/NOCODE",
        "VANDF/4021631"
      ]
    }
  ],
  "relationships": [
    {
      "subjectId": "2",
      "objectId": "4",
      "confidence": 0.99827027320861816
    },
    {
      "subjectId": "2",
      "objectId": "5",
      "confidence": 0.99729859828948975
    },
    {
      "subjectId": "3",
      "objectId": "4",
      "confidence": 0.80851161479949951
    },
    {
      "subjectId": "3",
      "objectId": "5",
      "confidence": 0.67507040500640869
    }
  ]
}

PowerShell

En el siguiente ejemplo, se muestra una solicitud POST mediante Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
    'nlpService':'projects/PROJECT_ID/locations/us-central1/services/nlp',
    'documentContent': 'Diabetes. Insulin regimen human 5 units IV administered.',
    'licensedVocabularies': ['SNOMEDCT_US','ICD10CM']
   }" `
   -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/services/nlp:analyzeEntities"  | Select-Object -Expand Content

Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

Este es el resultado. El resultado de especificar los vocabularios con licencia se muestra en negrita:

{
  "entityMentions": [
    {
      "mentionId": "1",
      "type": "PROBLEM",
      "text": {
        "content": "Diabetes"
      },
      "linkedEntities": [
        {
          "entityId": "UMLS/C0011847"
        },
        {
          "entityId": "UMLS/C0011849"
        },
        {
          "entityId": "UMLS/C0241863"
        }
      ],
      "temporalAssessment": {
        "value": "CURRENT",
        "confidence": 0.98781299591064453
      },
      "certaintyAssessment": {
        "value": "LIKELY",
        "confidence": 0.872421145439148
      },
      "subject": {
        "value": "PATIENT",
        "confidence": 0.99975031614303589
      },
      "confidence": 0.99663406610488892
    },
    {
      "mentionId": "2",
      "type": "MEDICINE",
      "text": {
        "content": "Insulin regimen",
        "beginOffset": 10
      },
      "linkedEntities": [
        {
          "entityId": "UMLS/C0795635"
        },
        {
          "entityId": "UMLS/C0021641"
        },
        {
          "entityId": "UMLS/C3537244"
        },
        {
          "entityId": "UMLS/C1533581"
        },
        {
          "entityId": "UMLS/C3714501"
        }
      ],
      "temporalAssessment": {
        "value": "CURRENT",
        "confidence": 0.91042423248291016
      },
      "certaintyAssessment": {
        "value": "LIKELY",
        "confidence": 0.99766635894775391
      },
      "subject": {
        "value": "PATIENT",
        "confidence": 0.999998152256012
      },
      "confidence": 0.716249406337738
    },
    {
      "mentionId": "3",
      "type": "MEDICINE",
      "text": {
        "content": "human",
        "beginOffset": 26
      },
      "temporalAssessment": {
        "value": "CURRENT",
        "confidence": 0.64570724964141846
      },
      "certaintyAssessment": {
        "value": "LIKELY",
        "confidence": 0.90325617790222168
      },
      "subject": {
        "value": "PATIENT",
        "confidence": 0.97613298892974854
      },
      "confidence": 0.57638454437255859
    },
    {
      "mentionId": "4",
      "type": "MED_DOSE",
      "text": {
        "content": "5 units",
        "beginOffset": 32
      },
      "confidence": 0.92076742649078369
    },
    {
      "mentionId": "5",
      "type": "MED_ROUTE",
      "text": {
        "content": "IV",
        "beginOffset": 40
      },
      "linkedEntities": [
        {
          "entityId": "UMLS/C0348016"
        }
      ],
      "confidence": 0.967033863067627
    }
  ],
  "entities": [
    {
      "entityId": "UMLS/C0011847",
      "preferredTerm": "Diabetes",
      "vocabularyCodes": [
        "ICD10CM/E11",
        "LNC/LA10529-8",
        "LNC/LP128793-9",
        "LNC/MTHU040702",
        "MTH/NOCODE",
        "OMIM/MTHU050182"
      ]
    },
    {
      "entityId": "UMLS/C0011849",
      "preferredTerm": "Diabetes Mellitus",
      "vocabularyCodes": [
        "HPO/HP:0000819",
        "ICD10CM/E08-E13",
        "ICD9CM/250",
        "LNC/LA14291-1",
        "LNC/LA27539-8",
        "LNC/MTHU020781",
        "MEDLINEPLUS/4",
        "MEDLINEPLUS/45",
        "MSH/D003920",
        "MTH/NOCODE",
        "MTH/U000263",
        "NCI/C2985",
        "NCI/OMFAQ",
        "NCI/TCGA",
        "OMIM/MTHU036798",
        "SNOMEDCT_US/73211009"
      ]
    },
    {
      "entityId": "UMLS/C0021641",
      "preferredTerm": "Insulin",
      "vocabularyCodes": [
        "FMA/83365",
        "LNC/LA15805-7",
        "LNC/LP14676-8",
        "LNC/LP16325-0",
        "LNC/LP32542-0",
        "LNC/LP70329-5",
        "LNC/MTHU002108",
        "LNC/MTHU019392",
        "MEDLINEPLUS/4935",
        "MSH/D007328",
        "MTH/NOCODE",
        "SNOMEDCT_US/39487003",
        "SNOMEDCT_US/412222002",
        "SNOMEDCT_US/67866001"
      ]
    },
    {
      "entityId": "UMLS/C0241863",
      "preferredTerm": "Diabetic",
      "vocabularyCodes": [
        "LNC/LA26134-9"
      ]
    },
    {
      "entityId": "UMLS/C0348016",
      "preferredTerm": "Intravenous",
      "vocabularyCodes": [
        "LNC/LA9437-0",
        "LNC/LP32453-0",
        "MTH/NOCODE",
        "NCI/C13346",
        "SNOMEDCT_US/255560000"
      ]
    },
    {
      "entityId": "UMLS/C0795635",
      "preferredTerm": "insulin, regular, human",
      "vocabularyCodes": [
        "LNC/LP17001-6",
        "MSH/D061386",
        "MTH/NOCODE",
        "NCI/C29125",
        "RXNORM/253182",
        "SNOMEDCT_US/126210001",
        "SNOMEDCT_US/417423002",
        "SNOMEDCT_US/420609005",
        "SNOMEDCT_US/96367001",
        "VANDF/4017559",
        "VANDF/4017569",
        "VANDF/4019786"
      ]
    },
    {
      "entityId": "UMLS/C1533581",
      "preferredTerm": "Therapeutic Insulin",
      "vocabularyCodes": [
        "MTH/NOCODE",
        "NCI/C581"
      ]
    },
    {
      "entityId": "UMLS/C3537244",
      "preferredTerm": "Insulins",
      "vocabularyCodes": [
        "MSH/D061385",
        "MTH/NOCODE"
      ]
    },
    {
      "entityId": "UMLS/C3714501",
      "preferredTerm": "Insulin Drug Class",
      "vocabularyCodes": [
        "MTH/NOCODE",
        "VANDF/4021631"
      ]
    }
  ],
  "relationships": [
    {
      "subjectId": "2",
      "objectId": "4",
      "confidence": 0.99827027320861816
    },
    {
      "subjectId": "2",
      "objectId": "5",
      "confidence": 0.99729859828948975
    },
    {
      "subjectId": "3",
      "objectId": "4",
      "confidence": 0.80851161479949951
    },
    {
      "subjectId": "3",
      "objectId": "5",
      "confidence": 0.67507040500640869
    }
  ]
}