Cree una canalización de reclamos de atención médica basada en IA con Amazon Bedrock y AWS HealthLake

El procesamiento manual de formularios en papel sigue siendo un costo significativo en la industria de la salud. A pesar de los avances en la extracción de datos de documentos e imágenes escaneados, normalmente todavía se necesita supervisión humana. Los errores de entrada cometidos por la persona que crea el formulario o las extracciones de menor confianza de la digitalización aún deben corregirse.

En esta publicación, le mostramos cómo crear un canal de procesamiento de reclamos automatizado utilizando dos capacidades clave de Amazon Bedrock: Amazon Bedrock Data Automation para la extracción inteligente de documentos de formularios de reclamos de atención médica y Amazon Bedrock AgentCore para alojar un agente de inteligencia artificial que valida y transforma los datos extraídos en recursos FHIR (Fast Healthcare Interoperable Resources) en AWS HealthLake. Aprenderá cómo combinar estos servicios para crear un flujo de trabajo de un extremo a otro que reduzca el procesamiento manual y al mismo tiempo mantenga la precisión mediante comprobaciones de validación automatizadas.

Descripción general de la solución

La solución demuestra un flujo de trabajo automatizado para procesar formularios de reclamos de atención médica utilizando servicios impulsados ​​por inteligencia artificial. Cuando un proveedor de atención médica carga un formulario de reclamo CMS-1500 (en formato PDF) en un depósito de Amazon Simple Storage Service (Amazon S3), activa una canalización de procesamiento que comienza con AWS Lambda y que realiza tres funciones principales:

Amazon Bedrock Data Automation extrae datos estructurados del formulario mediante el procesamiento inteligente de documentos. Un agente de IA que utiliza Strands Agents que se ejecutan en Amazon Bedrock AgentCore valida estos datos con los registros de pacientes y proveedores existentes en AWS HealthLake, verificando su integridad y coherencia. Si se pasan todas las validaciones, el agente crea un recurso de reclamo FHIR estandarizado en HealthLake. También genera un resumen técnico para los procesadores de reclamos y una explicación amigable para el paciente sobre el estado del reclamo. Ambas se envían como notificaciones de Amazon Simple Notification Service (Amazon SNS).

Este flujo de trabajo automatizado ayuda a reducir el tiempo de procesamiento manual y al mismo tiempo mantiene la precisión mediante la validación asistida por IA.

Figura 1: Una vista arquitectónica de la solución.

El diagrama anterior ilustra los siguientes pasos:

Un remitente carga un documento de reclamo en Amazon S3. AWS Lambda se activa cuando llega el archivo. Amazon Bedrock Data Automation extrae la información del documento y genera el resultado en formato JSON. AWS Lambda luego llama a AgentCore y pasa el documento para su procesamiento. AgentCore consulta AWS HealthLake, crea el reclamo y crea una respuesta JSON resumida. AWS Lambda invoca Amazon SNS para entregar una respuesta de error o una respuesta de éxito.

Lambda se utiliza como activador de eventos cuando se crea un documento en S3 y sirve como supervisor determinista sobre el flujo de trabajo agente. Valida que cada documento se procese o se envíe a una cola de mensajes no entregados para el manejo de excepciones.

Bedrock Data Automation agiliza el desarrollo de IA generativa y automatiza los flujos de trabajo que involucran documentos, imágenes, audio y videos. Para el procesamiento de documentos, Bedrock Data Automation combina el reconocimiento óptico de caracteres (OCR) tradicional, los modelos de aprendizaje automático (ML) y la IA generativa para extraer datos con precisión. Puede utilizar Blueprints (artefactos) para especificar qué datos extraer de un documento y cómo extraerlos. Puede utilizar plantillas prediseñadas o crear configuraciones personalizadas adaptadas a sus casos de uso. El resultado incluye puntuaciones de confianza y datos del cuadro delimitador para los campos y tablas extraídos. La salida personalizada aquí produce una representación JSON predecible del formulario de reclamo CMS-1500 en todas sus variaciones de formato.

AgentCore aloja el agente de Strands. El agente utiliza dos herramientas para interactuar con HealthLake: create_fhir_claim y search_fhir_resources.

El agente utiliza el siguiente flujo de trabajo:

Encuentre la información del asegurado, el paciente, el profesional y la cobertura en AWS HealthLake para usarla como referencia en el formulario de reclamo. El primer intento utiliza llamadas directas a métodos y parámetros de búsqueda predeterminados. Más allá de eso, el agente ejecuta el siguiente mensaje para verificar las llamadas a la herramienta y volver a intentar realizar búsquedas si es necesario:

Identifique el recurso asegurado, primero observando llamadas de herramientas anteriores. Si no hay ninguna coincidencia, intente dos intentos más para encontrar una coincidencia utilizando diferentes parámetros de búsqueda del JSON de reclamo. Concéntrese en los atributos de puntuación de confianza alta e informe cómo encontró la coincidencia.

Si se encuentran las referencias, cree una representación FHIR del reclamo y envíela a AWS HealthLake. Cree un objeto JSON que capture el trabajo completado. El objeto incluye el ID de reclamo (si se creó uno), una respuesta para el procesador humano y una respuesta para el paciente. La respuesta del procesador actúa como una alerta u observación. La respuesta del paciente indica al remitente cuándo es necesario corregir los errores.

Requisitos previos

Antes de implementar la solución, asegúrese de tener lo siguiente:

Una cuenta de AWS con permisos de administrador. Acceso a Anthropic Claude Sonnet 4.6 en Amazon Bedrock. Para obtener más detalles, consulte Acceder a los modelos de cimentación de Amazon Bedrock. NodeJS versión 24 o posterior. Administrador de paquetes de nodo (npm) versión 11.5 o posterior. Versión de Python 3.13 o posterior. Kit de desarrollo en la nube de AWS (AWS CDK) versión 2.1025 o posterior.

Implementar la solución

El kit de desarrollo en la nube (CDK) de AWS y la interfaz de línea de comandos de AgentCore se utilizan para la implementación con los siguientes pasos:

Clonar el repositorio:

clon de git https://github.com/aws-samples/sample-agenticidptohealthlake.git

Ejecute los siguientes comandos desde la raíz del repositorio:

npm install python -m venv .venv source .venv/bin/activate pip install -r requisitos.txt pip install -r requisitos.txt –python-version 3.12 –platform manylinux2014_aarch64 –target ./packaging/_dependencies –only-binary=:all: cd agentcore agentcore configure –entrypoint Claimsprocessor.py agentcore launch python ./bin/package_for_lambda.py npx cdk bootstrap npx cdk implementar

Suscríbete al tema de SNS para recibir notificaciones.

Acceda a la consola de Amazon SNS. Elija Temas. Elija Agente-Notificaciones. Elija Crear suscripción. Para protocolo, elija correo electrónico. Ingrese su dirección de correo electrónico. Elija Crear suscripción. Siga el enlace en el aviso de confirmación en su correo electrónico para confirmar su suscripción.

Usa la solución

Las siguientes secciones analizan dos escenarios: un escenario de fracaso y un escenario de éxito.

1. Escenario de falla: simule una falla omitiendo uno de los recursos de referencia requeridos en AWS HealthLake.

El código del proyecto incluye una carpeta de datos de muestra. Utilice load_sampledata.py para preparar algunos datos, ¿dónde está HealthLakeDatastoreArn de la salida de implementación del cdk?

python load_sampledata.py bda_output_insuredid_error.json Paciente,Asegurado,Practicante

Cargue sample1_cms-1500-P.pdf en el depósito de S3 en una carpeta denominada /input. Intencionalmente no estamos cargando uno de los recursos necesarios.

Esto debería generar un mensaje similar al siguiente a través de SNS:

No pudimos procesar su reclamo porque no pudimos encontrar la información de su cobertura de seguro en nuestro sistema. Comuníquese con su proveedor de seguros para verificar el número de su póliza G4683A con el plan AnyHealth Plus Medicare, o llame a nuestra oficina para actualizar la información de su cobertura.

Esto simula cómo el agente reconoce un problema y genera una respuesta humana ante el fallo del reclamo.

2. Escenario exitoso: simule un procesamiento exitoso asegurándose de que existan los recursos de HealthLake necesarios. En este escenario, insertamos una discrepancia de datos para que el agente nos ayude a superarla. En los siguientes datos de muestra se ha modificado el número de identificación del Asegurado.

Cree la referencia que falta en HealthLake:

python load_sampledata.py bda_output_insuredid_error.json Cobertura

Siguiendo los pasos anteriores, vuelva a procesar el PDF. Recibirás un mensaje como el siguiente a través de SNS:

Formulario de reclamación CMS 1500 procesado con éxito para el paciente John Doe con diagnóstico de dolor de espalda M54.9. El paciente fue identificado por fecha de nacimiento (10/10/1960). La parte asegurada Jane Doe fue identificada mediante una búsqueda de nombre después de que la búsqueda de identificación fallara debido a una discrepancia entre la identificación del reclamo (11-2234-10190) y la identificación de la base de datos (11-2234-1019O); el carácter final difiere. La Dra. Jane Smith fue identificada como el médico remitente mediante el número de identificación 123456. La cobertura se verificó según la política de Medicare G4683A emitida por AnyHealth Plus. El reclamo incluye 4 trámites: CPT 97810 el 15-10-2005 ($170), CPT 73521 el 20-10-2005 ($120), CPT 98940 el 30-10-2005 ($250), y CPT 97124 el 30-10-2005 ($120), por un total de $660.

Este mensaje puede indicarle a un revisor humano un resumen rápido del reclamo exitoso y cualquier otra observación realizada por el agente.

Mejores prácticas

La IA en tiempo de diseño es mejor que la IA en tiempo de ejecución. En esta solución, la lógica de orquestación se conoce de antemano. Los pasos del procesamiento de documentos son predecibles y las consultas iniciales a HealthLake siguen un patrón consistente. Debido a que estos requisitos están bien definidos en el momento del diseño, codificamos explícitamente la lógica en lugar de depender de los servidores del Protocolo de contexto modelo (MCP) para inferir el orden de las operaciones en el tiempo de ejecución. El resultado es una solución más confiable y fácil de mantener. Para construirlo, utilizamos Kiro, un IDE agente que traduce especificaciones del lenguaje natural en código de trabajo. Kiro generó las llamadas API a Bedrock Data Automation dentro de Lambda y creó las herramientas dentro del agente. Al producir código preciso y específico en tiempo de diseño en lugar de emitir indicaciones exploratorias amplias en tiempo de ejecución, Kiro redujo la cantidad de llamadas a Bedrock. Eso ayudó a reducir los costos operativos y acortar el ciclo de vida del desarrollo.

Supervisar de manera determinista a los agentes. El uso de S3 y Lambda en esta arquitectura fue intencional. El agente hace dos cosas básicas: observar las llamadas explícitas a la herramienta y generar el recurso FHIR para cargarlo en HealthLake. Luego informa a la función Lambda, que actúa como árbitro final del éxito o fracaso de la reclamación.

Limpiar

Se pueden invocar los siguientes comandos para eliminar la solución:

cd agentcore python cleanup_resources.py npx cdk destruir

Costos

A continuación se enumeran las consideraciones de costos para cada servicio utilizado.

Nota: Las siguientes consideraciones de costos se basan en los precios de AWS al momento de la publicación y se proporcionan únicamente con fines informativos. Los costos reales pueden variar. Para conocer los precios más actualizados, consulte las páginas de precios de los servicios respectivos.

Los cargos de AgentCore Runtime de $0,0895 por vCPU-hora y Memoria de $0,00945 por GB-hora presentarán un costo nominal por documento. Amazon Bedrock Data Automation cuesta $0,04 por página para planos con 30 campos o menos, $0,0005 por cada campo adicional más allá de 30. Los cargos del modelo para el agente que utiliza Anthropic Claude Sonnet 3.7 V1. En nuestro documento de prueba, los tokens son aproximadamente 76 mil de entrada y 6 mil de salida. Para precios bajo demanda, eso es $0,23/entrada y $0,09 salida o $0,32/documento. AWS HealthLake cobra por almacenamiento por hora, a 0,27 dólares por hora durante los primeros 10 GB. Los cargos de Lambda, S3 y SNS son insignificantes por documento en esta arquitectura.

Conclusión

Si bien el procesamiento de reclamaciones de atención médica en producción a menudo implica pasos adicionales más allá de esta solución, este patrón demuestra el poder de integrar agentes de IA en los flujos de trabajo de documentos. Al brindarle al agente de IA acceso directo a las herramientas de procesamiento, puede brindar información valiosa de múltiples maneras: identificando posibles problemas de reclamos, resaltando áreas que necesitan revisión humana y generando mensajes de estado amigables para los pacientes. Este enfoque asistido por IA puede ayudar a los procesadores de reclamaciones a trabajar de manera más eficiente y reducir los tiempos de procesamiento manteniendo la precisión. El ejemplo anterior muestra un escenario probable: una discrepancia de datos entre la letra o y el número cero. En esta situación, el agente soluciona la discrepancia y procesa el reclamo con precisión.

Para obtener más información sobre cómo crear soluciones inteligentes de procesamiento de documentos, explore la documentación de Amazon Bedrock o consulte otras soluciones de atención médica en el Centro de arquitectura de AWS.

Sobre los autores

Troy Parrett

Troy Parrett

Troy es arquitecto senior de soluciones en AWS alineado con clientes empresariales de atención médica y ciencias biológicas, ayudándolos a adoptar y aprovechar la nube estratégicamente con una mentalidad que prioriza la IA. Le apasiona la experiencia de los desarrolladores y se especializa en infraestructura como código y otras disciplinas de desarrolladores.

David Crumbacher

Dave es arquitecto senior de soluciones en AWS y ayuda a los clientes a adoptar y modernizarse en la nube. Se especializa en estrategia de nube, modernización de aplicaciones e IA/ML, brindando orientación sobre arquitectura para resolver desafíos comerciales y tecnológicos complejos en la atención médica, la manufactura y otras industrias.