Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Documentación ambiental
La documentación ambiental captura las conversaciones entre el paciente y el médico en tiempo real y genera documentación clínica estructurada para que la revise el proveedor. El servicio combina el reconocimiento de voz con la IA generativa para producir notas clínicas, extraer terminología médica, identificar las funciones de los oradores y clasificar los segmentos del diálogo.
importante
La documentación ambiental de Amazon Connect Health produce resultados probabilísticos. La precisión de la salida varía en función de la calidad del audio, el ruido de fondo, la claridad del altavoz, la complejidad de la terminología médica y el lenguaje específico del contexto. Un profesional médico cualificado debe revisar todos los resultados para comprobar su precisión antes de utilizarlos en la atención de pacientes.
La documentación ambiental de Amazon Connect Health está disponible en las regiones EE.UU. Este (Norte de Virginiaus-east-1) () y EE.UU. Oeste (Oregónus-west-2) ().
Temas
Cómo funciona la documentación ambiental
La documentación ambiental utiliza la transmisión de audio en tiempo real a través de HTTP/2 o WebSocket. El flujo de trabajo incluye:
-
Cree una suscripción: asocie un proveedor al agente de documentación ambiental. Las suscripciones se crean automáticamente en el modo activado.
-
Transmisión de audio: su aplicación transmite el audio de la conversación entre el paciente y el médico a Amazon Connect Health a través de o. HTTP/2 WebSocket El servicio transcribe el audio en tiempo real e identifica a los altavoces.
-
Genere documentación: una vez finalizada la conversación, el servicio genera notas clínicas estructuradas, mapeos de evidencia y un resumen posterior a la visita en función de la plantilla configurada.
-
Recupere los resultados: el servicio escribe la transcripción, la documentación clínica y el resumen posterior a la visita en el bucket de Amazon S3 configurado.
Requisitos técnicos
-
Idioma admitido: inglés estadounidense (en-US)
-
Formatos de audio compatibles: FLAC, PCM
-
Codificación: PCM de 16 bits
-
Frecuencia de muestreo: 16.000 Hz o superior
Especialidades médicas compatibles
En la actualidad, la documentación de Ambient admite las siguientes especialidades:
-
Alergología e inmunología
-
Cardiología
-
Dermatología
-
Endocrinología
-
Gastroenterología
-
Hematology/Oncology
-
Enfermedades infecciosas
-
Nefrología
-
Neurología
-
Obstetricia y ginecología
-
Oncología
-
Oftalmología
-
Ortopedia
-
Otorrinolaringología
-
Medicina del dolor
-
Pediatría
-
Atención primaria
-
Psiquiatría
-
Neumología
-
Reumatología
-
Cirugía
-
Urología
Consentimiento y notificación al paciente
La documentación ambiental de Amazon Connect Health utiliza la IA para capturar y transcribir conversaciones clínicas en tiempo real. Como esta función graba las comunicaciones habladas que pueden contener información de salud protegida (PHI), los clientes y sus integradores intermedios son responsables de cumplir con todas las leyes aplicables en materia de consentimiento, registro y privacidad. Esto incluye obtener todos los consentimientos exigidos por la ley antes de permitir la documentación ambiental para cualquier consulta con un paciente. AWS no recopila el consentimiento de los pacientes en su nombre.
Se debe obtener el consentimiento correspondiente de cada paciente y de cualquier persona presente en la sala cuando se utilice la documentación ambiental. Como parte de la obtención del consentimiento, se debe informar a los pacientes de que un proveedor de servicios de inteligencia artificial grabará la visita y la utilizará para crear notas clínicas, de que su información podrá compartirse con los proveedores de servicios y de que pueden negarse a recibirla sin que ello afecte a su atención. Los clientes y los integradores deben mantener un registro del consentimiento de los pacientes, de conformidad con la legislación estatal aplicable y las políticas de retención interna. Los clientes deben asegurarse de obtener el consentimiento de conformidad con las prácticas de privacidad de su organización.
Ejemplo de idioma:
«Antes de empezar, quiero informarles de que un proveedor de servicios de IA grabará y supervisará la visita de hoy para facilitar la documentación. ¿Aceptas continuar?»
Administración de suscripciones
Crear una suscripción
Para crear una suscripción, llama a la operación de la CreateSubscription API. Esto genera una única subscriptionId que se utiliza para autorizar al usuario e iniciar las sesiones de streaming. Las suscripciones se crean automáticamente en el modo activado.
sugerencia
Cree la suscripción cuando el usuario la use por primera vez para alinear el inicio de la suscripción con el uso real.
Desactiva una suscripción
Para impedir temporalmente que una suscripción acepte nuevas sesiones de streaming, llama a la operación de la DeactivateSubscription API. Una suscripción desactivada conserva su configuración y se puede reactivar más adelante. In-progress las transmisiones se completan normalmente.
importante
Al desactivar una suscripción, se pierde inmediatamente el período de prueba gratuito restante. Si una suscripción que se desactivó durante una prueba gratuita se reactiva más adelante, se reactiva como suscripción de pago.
Reactivar una suscripción
Las suscripciones desactivadas se pueden reactivar llamando a la operación de la ActivateSubscription API con el. subscriptionId La medición pagada comienza inmediatamente después de la reactivación.
Transmisión de audio
La documentación ambiental procesa el audio en tiempo real a través de una conexión de streaming. La aplicación abre una conexión, envía fragmentos de audio como mensajes codificados por eventos y recibe los resultados de la transcripción a medida que avanza la conversación. La documentación ambiental admite dos transportes de streaming: HTTP/2 y (). WebSocket wss:// Ambos transportes ofrecen la misma capacidad, con los mismos requisitos de autenticación y autorización, cuotas y limitaciones. El comportamiento de la sesión (creación, transmisión y finalización) es idéntico en ambos transportes.
nota
Una sesión está vinculada al transporte en el que se inició. No puede iniciar una sesión en un transporte y reanudarla en el otro. Si hace una pausa y reanuda una sesión, la sesión reanudada debe utilizar el mismo transporte con el que se inició la sesión.
Si el audio tiene dos canales, puede usar la identificación de canales para transcribir la voz de cada canal por separado. Actualmente, la documentación ambiental admite audio con hasta dos canales. En su transcripción, a los canales se les asignan las etiquetas ch_0 ych_1.
Además de las secciones de transcripciones estándar (transcripciones y artículos), las solicitudes con la identificación de canales habilitada incluyen una sección channel_labels. Esta sección contiene cada enunciado o signo de puntuación, agrupado por canal, y su etiqueta de canal asociada, las marcas de tiempo y la puntuación de confianza. Si una persona de un canal habla por encima de otra persona de otro canal, las marcas de cada canal se superponen mientras unas personas hablan por encima de las otras.
Transmitiendo sobre HTTP/2
HTTP/2 es el transporte de streaming que utilizan los SDK de AWS y es adecuado para aplicaciones nativas y del lado del servidor. La aplicación establece una HTTP/2 conexión, envía fragmentos de audio y controla los eventos como mensajes de flujo de eventos, y recibe las transcripciones de los eventos en tiempo real a través de la misma conexión. Cuando utiliza un SDK de AWS, el SDK gestiona por usted la configuración de la conexión, la firma de solicitudes y la codificación del flujo de eventos.
Para obtener información detallada sobre la configuración de la HTTP/2 transmisión y la codificación de la transmisión de eventos, consulte la referencia de la API de Amazon Connect Health.
Uso de los SDK de AWS
El siguiente ejemplo de código muestra cómo configurar una sesión de streaming de documentación ambiental de Amazon Connect Health con AWS SDK for Java 2.x.
package com.example.connecthealth; import io.reactivex.rxjava3.core.BackpressureStrategy; import io.reactivex.rxjava3.core.Flowable; import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; import software.amazon.awssdk.core.SdkBytes; import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.connecthealth.ConnectHealthAsyncClient; import software.amazon.awssdk.services.connecthealth.model.*; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.TargetDataLine; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.io.UncheckedIOException; import java.util.Arrays; import java.util.UUID; import java.util.concurrent.CompletableFuture; public class MedicalScribeStreamingApp { private static final int CHUNK_SIZE_IN_BYTES = 6400; private static final int SAMPLE_RATE = 16000; private static final Region REGION = Region.US_WEST_2; private static final String SESSION_ID = UUID.randomUUID().toString(); private static final String DOMAIN_ID = "your-domain-id"; private static final String SUBSCRIPTION_ID = "your-subscription-id"; private static final String OUTPUT_S3_URI = "s3://your-bucket/output/"; private static ConnectHealthAsyncClient client; public static void main(String[] args) { client = ConnectHealthAsyncClient.builder() .credentialsProvider(getCredentials()) .httpClientBuilder(NettyNioAsyncHttpClient.builder()) .region(REGION) .build(); try { StartMedicalScribeListeningSessionRequest request = StartMedicalScribeListeningSessionRequest.builder() .sessionId(SESSION_ID) .domainId(DOMAIN_ID) .subscriptionId(SUBSCRIPTION_ID) .languageCode(MedicalScribeLanguageCode.EN_US) .mediaSampleRateHertz(SAMPLE_RATE) .mediaEncoding(MedicalScribeMediaEncoding.PCM) .build(); MedicalScribeInputStream endSessionEvent = MedicalScribeInputStream.sessionControlEventBuilder() .type(MedicalScribeSessionControlEventType.END_OF_SESSION) .build(); CompletableFuture<Void> result = client.startMedicalScribeListeningSession( request, new AudioStreamPublisher( getStreamFromMic(), getConfigurationEvent(), endSessionEvent ), getResponseHandler() ); result.get(); client.close(); } catch (Exception e) { System.err.println("Error occurred: " + e.getMessage()); e.printStackTrace(); } } private static AudioInputStream getStreamFromMic() throws LineUnavailableException { AudioFormat format = new AudioFormat(SAMPLE_RATE, 16, 1, true, false); DataLine.Info info = new DataLine.Info(TargetDataLine.class, format); if (!AudioSystem.isLineSupported(info)) { throw new LineUnavailableException("Microphone line not supported"); } TargetDataLine line = (TargetDataLine) AudioSystem.getLine(info); line.open(format); line.start(); System.out.println("Recording... Press Enter to stop"); Thread monitorThread = new Thread(() -> { try { System.in.read(); line.stop(); line.close(); } catch (IOException e) { e.printStackTrace(); } }); monitorThread.setDaemon(true); monitorThread.start(); return new AudioInputStream( new BufferedInputStream(new AudioInputStream(line)), format, AudioSystem.NOT_SPECIFIED ); } private static AwsCredentialsProvider getCredentials() { return DefaultCredentialsProvider.create(); } private static StartMedicalScribeListeningSessionResponseHandler getResponseHandler() { return StartMedicalScribeListeningSessionResponseHandler.builder() .onResponse(r -> { System.out.println("Session started: " + r.sessionId()); System.out.println("Domain ID: " + r.domainId()); System.out.println("Subscription ID: " + r.subscriptionId()); System.out.println("Request ID: " + r.requestId()); }) .onError(e -> { System.err.println("Stream error: " + e.getMessage()); e.printStackTrace(); }) .onComplete(() -> { System.out.println("=== Stream completed successfully ==="); }) .subscriber(event -> { if (event instanceof MedicalScribeTranscriptEvent) { MedicalScribeTranscriptSegment segment = ((MedicalScribeTranscriptEvent) event).transcriptSegment(); if (segment != null && segment.content() != null) { System.out.printf("[%s][Channel %s] %s%n", segment.isPartial() ? "PARTIAL" : "FINAL", segment.channelId(), segment.content() ); } } }) .build(); } private static MedicalScribeConfigurationEvent getConfigurationEvent() { return MedicalScribeConfigurationEvent.builder() .postStreamActionSettings( MedicalScribePostStreamActionSettings.builder() .outputS3Uri(OUTPUT_S3_URI) .clinicalNoteGenerationSettings( ClinicalNoteGenerationSettings.builder() .noteTemplateSettings( NoteTemplateSettings.fromManagedTemplate( ManagedTemplate.builder() .templateType(ManagedNoteTemplate.SOAP) .build() ) ) .build() ) .build() ) .channelDefinitions(Arrays.asList( MedicalScribeChannelDefinition.builder() .channelId(0) .participantRole(MedicalScribeParticipantRole.CLINICIAN) .build(), MedicalScribeChannelDefinition.builder() .channelId(1) .participantRole(MedicalScribeParticipantRole.PATIENT) .build() )) .build(); } private static class AudioStreamPublisher implements Publisher<MedicalScribeInputStream> { private final InputStream audioInputStream; private final MedicalScribeConfigurationEvent configEvent; private final MedicalScribeInputStream endSessionEvent; private AudioStreamPublisher( AudioInputStream audioInputStream, MedicalScribeConfigurationEvent configEvent, MedicalScribeInputStream endSessionEvent) { this.audioInputStream = audioInputStream; this.configEvent = configEvent; this.endSessionEvent = endSessionEvent; } @Override public void subscribe(Subscriber<? super MedicalScribeInputStream> subscriber) { createAudioFlowable() .doOnComplete(() -> { try { audioInputStream.close(); } catch (IOException e) { throw new UncheckedIOException(e); } }) .subscribe(subscriber); } private Flowable<MedicalScribeInputStream> createAudioFlowable() { Flowable<MedicalScribeInputStream> configFlow = Flowable.just( MedicalScribeInputStream.fromConfigurationEvent(configEvent) ); Flowable<MedicalScribeInputStream> audioFlow = Flowable.create(emitter -> { byte[] buffer = new byte[CHUNK_SIZE_IN_BYTES]; int bytesRead; try { while (!emitter.isCancelled() && (bytesRead = audioInputStream.read(buffer)) > 0) { byte[] audioData = bytesRead < buffer.length ? Arrays.copyOfRange(buffer, 0, bytesRead) : buffer; MedicalScribeInputStream audioEvent = MedicalScribeInputStream.fromAudioEvent( MedicalScribeAudioEvent.builder() .audioChunk(SdkBytes.fromByteArray(audioData)) .build() ); emitter.onNext(audioEvent); } emitter.onComplete(); } catch (IOException e) { emitter.onError(e); } }, BackpressureStrategy.BUFFER); Flowable<MedicalScribeInputStream> endFlow = Flowable.just(endSessionEvent); return Flowable.concat(configFlow, audioFlow, endFlow); } } }
Transmitiendo WebSocket
WebSocket El soporte le permite transmitir audio para documentación ambiental desde un navegador web u otro WebSocket cliente. Todas WebSocket las conexiones utilizan TLS (wss://).
WebSocket endpoint
Conéctese al WebSocket punto final de la región en la que utiliza la documentación ambiental:
| Region | Punto de conexión |
|---|---|
|
US-EAST-1 |
|
|
US-WEST-2 |
|
Autenticar una conexión WebSocket
La WebSocket conexión se autentica con una URL prefirmada. Para crear la URL prefirmada, firme una GET solicitud al WebSocket punto de conexión con AWS Signature versión 4 (SigV4) e incorpore los parámetros de firma (X-Amz-Algorithm,, X-Amz-Credential X-Amz-Date X-Amz-ExpiresX-Amz-Signature, yX-Amz-SignedHeaders) y los parámetros de sesión como parámetros de cadena de consulta. El servicio valida la URL prefirmada cuando se establece la conexión. Si la URL prefirmada no es válida, ha caducado o no está autorizada, el servicio rechaza la sesión devolviendo un mensaje de error y cerrando la conexión.
El valor máximo X-Amz-Expires es de 60 segundos (1 minuto). Una vez establecida la conexión, la firma de la URL prefirmada se convierte en la firma inicial que se utiliza para firmar cada marco de flujo de eventos subsiguiente, lo que proporciona una autorización continua durante toda la duración de la conexión.
Para ello, no es necesaria ninguna nueva acción de IAM. WebSocket El servicio autoriza las WebSocket conexiones con el mismo health-agent:StartMedicalScribeListeningSession permiso utilizado para HTTP/2 la transmisión.
El siguiente ejemplo muestra el formato de una URL prefirmada WebSocket . Se añaden saltos de línea para facilitar la lectura.
wss://streaming.health-agent.us-west-2.api.aws/medical-scribe-stream-websocket ?X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=<access-key>/<date>/<region>/health-agent/aws4_request &X-Amz-Date=<ISO8601-datetime> &X-Amz-Expires=60 &X-Amz-Security-Token=<session-token> &X-Amz-SignedHeaders=host &X-Amz-Signature=<signature>
Firmar marcos de flujo de eventos
Todos los fotogramas de la secuencia de eventos que envíe después de la actualización (configuración, audio y control de sesión) deben estar firmados individualmente. Cada fotograma incluye dos encabezados de flujo de eventos: :date (la marca de tiempo de firma) y (la firma del fotograma). :chunk-signature Las firmas de marco forman una cadena: cada firma se calcula a partir de la firma del marco anterior y las primeras se encadenan a partir del X-Amz-Signature valor de la URL prefirmada.
Para firmar un marco, crea una cadena para firmarla con el AWS4-HMAC-SHA256-PAYLOAD algoritmo y, a continuación, calcula una HMAC-SHA256 sobre ella con una clave de firma SigV4 derivada de la fecha de solicitud, la región y health-agent el servicio. La cadena que se va a firmar tiene el siguiente formato:
AWS4-HMAC-SHA256-PAYLOAD <date> # signing time, ISO 8601 basic format (YYYYMMDDTHHMMSSZ) <date-stamp>/<region>/health-agent/aws4_request <prior-signature> # hex; for the first frame, the X-Amz-Signature from the presigned URL <hashed-headers> # SHA-256 hex digest of the encoded :date header <hashed-payload> # SHA-256 hex digest of the frame payload
Calcule la firma y adjúntela al marco:
-
signature = HMAC-SHA256(signingKey, stringToSign), codificado como una cadena hexadecimal. -
Añada los
:chunk-signatureencabezados:datey al marco y, a continuación, envíelo. -
Guárdalo
signaturey úsalo como<prior-signature>cuando firmes el siguiente marco.
La clave de firma se obtiene de la misma forma que para cualquier solicitud de SigV4: HMAC-SHA256 encadena la fecha, la región, el nombre del servicio (health-agent) yaws4_request, empezando por la clave de acceso secreta con el prefijo. AWS4
Envío de audio WebSocket
Una vez establecida la conexión, envíe la configuración de la sesión y, a continuación, transmita el audio como eventos de audio binarios. Cada uno binaryAudioEvent contiene un fragmento de bytes PCM o FLAC sin procesar. El servicio devuelve los eventos de transcripción a través de la misma conexión en tiempo real. Para finalizar la sesión, envíe un evento de control de END_OF_SESSION sesión.
WebSocket recomendaciones de los clientes
El servicio señala el final de una sesión mediante el envío de un fotograma WebSocket cerrado. Diseñe a su cliente para que maneje el cierre de la conexión con elegancia:
-
Espere a que el servidor cierre el marco antes de cerrar la conexión. Tras el envío
END_OF_SESSION, el servicio envía los resultados finales de la transcripción y, a continuación, un fotograma cerrado. Si un envío falla o se produce un error, el servicio puede enviar un marco de error estructurado seguido de un marco cerrado. Si se cierra la conexión inmediatamente, se pueden descartar estos mensajes finales, así que espere a que el servidor cierre la conexión. -
Utilice el código de estado de cierre para determinar el resultado. El código de cierre
1000(cierre normal) indica que la sesión se ha completado correctamente. Cualquier otro código de cierre indica un error y el motivo del cierre proporciona detalles adicionales. -
Aplica un límite de tiempo de espera como medida de seguridad. Para evitar esperar indefinidamente si la conexión deja de responder, cierre la conexión después de un período de gracia razonable si no recibe ningún mensaje de cierre del servidor.
Los SDK de AWS no admiten la WebSocket transmisión. Para transmitir WebSocket, conéctese directamente al punto final tal y como se describe en esta sección. La referencia de la API Amazon Connect Health documenta las operaciones de la API y sus parámetros de solicitud y respuesta, que se aplican a ambos transportes.
Almacenamiento
Se debe especificar una ubicación de almacenamiento de S3 al inicio de la sesión. Los artefactos de salida se almacenan en la siguiente ubicación base:
s3://{customer-provided-uri}/health-agent-listening-session/{domainId}/{subscriptionId}/{sessionId}/post-stream-action/
Las notas clínicas se almacenan en una clinical-notes carpeta en esta ubicación base.
Contexto del paciente
El contexto del paciente proporciona al agente la historia clínica previa a la conversación a través del parámetro encounterContext API. El encounterContext objeto contiene el campounstructuredContext, que acepta hasta 10 KB de datos de texto para cada sesión. Cuando se incluye el contexto del paciente, el agente lo utiliza para enriquecer la documentación generada con información básica que no se analizó de forma explícita durante la visita.
El contexto del paciente puede incluir:
-
Notas sobre los encuentros anteriores y resúmenes de las visitas
-
Listas de medicamentos activos
-
Listas de problemas y diagnósticos
-
Alergias e inmunizaciones
-
Informes de laboratorio y de diagnóstico por imágenes relevantes
-
Antecedentes quirúrgicos y familiares
-
Pronombres preferidos por el paciente, utilizados para referirse al paciente en los resultados clínicos generados
El contexto se utiliza a lo largo de la nota generada para mejorar la especificidad y la precisión cuando la información necesaria no figura únicamente en la transcripción, y se mapean las evidencias y los materiales de origen para su revisión por parte de los médicos.
nota
En el siguiente ejemplo, se utilizan datos ficticios de pacientes únicamente con fines ilustrativos.
Ejemplo de contexto del paciente
## Patient Information Name: Patricia Underwood Age: 28 years Sex: female Pronouns: she/her MEDICATIONS: Ondansetron 4mg PO PRN - Nausea/vomiting Dicyclomine 20mg PO BID PRN - Abdominal cramping Sertraline 50mg PO daily - Depression Ferrous sulfate 325mg PO TID - Iron deficiency anemia ALLERGIES: NKDA (No Known Drug Allergies) PAST MEDICAL HISTORY: Brainstem pilocytic astrocytoma diagnosed 04/2010 Posterior fossa craniotomy with gross total resection 05/12/2010 Hyperprolactinemia diagnosed 08/2013 Autoimmune hemolytic anemia diagnosed 12/2012 Splenomegaly secondary to autoimmune hemolytic anemia 01/2013 Major depressive disorder diagnosed 08/2012 Substance use disorder (heroin) in sustained remission since 04/2011 Tobacco use disorder, quit 09/15/2013 (10 pack-year history) Iron deficiency anemia diagnosed 01/2013 Gastroesophageal reflux disease diagnosed 05/2013 Appendectomy 07/23/2009 (uncomplicated laparoscopic) Wisdom teeth extraction 11/08/2008 FAMILY HISTORY: Maternal grandmother: Cervical cancer, ovarian cancer, dementia/Alzheimer's Maternal aunt: Cervical cancer Paternal grandfather: Type 2 diabetes, hypertension, kidney transplant Maternal great-grandfather: Colon cancer Multiple maternal great-uncles: Colon cancer No family history of breast, uterine, or cardiac disease SOCIAL HISTORY: Tobacco: Former smoker, quit 09/15/2013 (10 pack-year history) Alcohol: Not documented Illicit drugs: History of IV heroin use, abstinent since 04/2011, occasional marijuana use Sexual history: Single, sexually active, monogamous relationship since 05/2012 Previous relationship with military personnel ended 03/2012 Employment: Lives independently, employed Contraception: Not currently using Former plasma donor, discontinued 10/2013 due to positive syphilis screening PROBLEM LIST: History of brainstem pilocytic astrocytoma (C71.7) - Diagnosed 04/2010 with posterior fossa craniotomy and gross total resection 05/12/2010. Annual MRI surveillance shows post-surgical changes, no residual tumor. Most recent MRI 10/18/2013 normal. Followed by neurology with annual visits. Hyperprolactinemia (E22.1) - Diagnosed 08/2013 with prolactin 45.2 ng/mL (normal <25). Referred to neurology for pituitary evaluation. Recent MRI 10/18/2013 shows normal pituitary gland. Not currently on treatment. Neurology follow-up scheduled. Autoimmune hemolytic anemia with splenomegaly (D59.1) - Diagnosed 12/2012-01/2013. Positive direct Coombs test, elevated LDH 420 U/L, low haptoglobin <10 mg/dL, reticulocyte count 8.2%. Associated splenomegaly. Managed by primary care physician. On iron supplementation for concurrent iron deficiency. Major depressive disorder, mild (F32.0) - Diagnosed 08/2012. Started sertraline 50mg daily 09/08/2012 with good response. Stable mood, no current suicidal ideation. Continues on current regimen. Substance use disorder (heroin), in sustained remission (F11.21) - History of IV drug use, abstinent since 04/2011. Not currently in formal treatment program. Maintains abstinence, occasional marijuana use. Iron deficiency anemia (D50.9) - Diagnosed 01/2013 concurrent with autoimmune hemolytic anemia. Started ferrous sulfate 325mg TID 01/14/2013. Recent Hgb 9.8 g/dL, Hct 29%, MCV 102 fL. Gastroesophageal reflux disease (K21.9) - Diagnosed 05/2013. Managed with lifestyle modifications. Symptoms of nausea and vomiting, taking ondansetron and dicyclomine PRN. RECENT LABS (Various dates 2013): Prolactin: 45.2 ng/mL (08/22/2013, elevated) CBC: Hgb 9.8, Hct 29%, MCV 102 fL (10/28/2013) Direct Coombs: Positive (01/14/2013) LDH: 420 U/L, Haptoglobin <10 mg/dL (01/14/2013) MRI brain with contrast: Normal pituitary, post-surgical changes only (10/18/2013) Pap smear: Normal cytology, HPV negative (11/15/2012) Mammogram: BI-RADS 1, normal (02/28/2013)
Plantillas de notas clínicas
Las plantillas definen la estructura, las secciones y las reglas de formato que sigue el agente al generar la documentación clínica. Debe especificar un formato de salida pasando un objeto de configuración al parámetro de la noteTemplateSettings API en cada sesión. La documentación de Ambient admite dos métodos para especificar el formato de salida: plantillas gestionadas o plantillas personalizadas.
Plantillas administradas
La documentación de Ambient proporciona siete plantillas de notas prediseñadas. El objeto de configuración de las plantillas managedTemplate gestionadas especifica la plantilla mediante el templateType parámetro. La plantilla predeterminada es HISTORY_AND_PHYSICAL.
| Plantilla | Description (Descripción) | Caso de uso |
|---|---|---|
|
HISTORY_AND_PHYSICAL (predeterminado) |
Resúmenes de las principales secciones de documentación clínica |
Encuentros generales sobre salud física |
|
JABÓN_FÍSICO |
Formato SOAP centrado en la salud física |
Encuentros de salud física mediante la estructura SOAP |
|
BEHAVIORAL_SOAP |
Formato SOAP centrado en la salud conductual |
Encuentros sobre salud conductual utilizando la estructura SOAP |
|
CHICA |
Progress-toward-goals formato |
Salud conductual: seguimiento del progreso del paciente |
|
BIRP |
Patrones de comportamiento y formato de respuestas |
Salud conductual: documentación de los patrones de comportamiento |
|
SORBO |
Contexto situacional del formato de terapia |
Salud conductual: haciendo hincapié en el contexto situacional |
|
DAP |
Formato de documentación clínica simplificado |
Encuentros breves o enfocados |
Secciones de historia y física
| Sección | Description (Descripción) |
|---|---|
|
QUEJA PRINCIPAL |
Breve descripción del motivo por el que el paciente visita al médico |
|
HISTORIAL DE ENFERMEDAD ACTUAL |
Información sobre la enfermedad del paciente, incluida la gravedad, el inicio, el momento oportuno, los tratamientos actuales y las áreas afectadas |
|
REVISIÓN DE SISTEMAS |
Patient-reported evaluación de los síntomas en los diferentes sistemas del cuerpo |
|
HISTORIAL MÉDICO |
Afecciones médicas, cirugías y tratamientos anteriores |
|
ANTECEDENTES FAMILIARES ANTERIORES |
Health conditions que se hereden en la familia del paciente |
|
HISTORIA SOCIAL PASADA |
La vida social, los hábitos, la ocupación y los factores ambientales que afectan a la salud |
|
EXAMEN FÍSICO |
Hallazgos del médico derivados del examen físico de los sistemas corporales y los signos vitales |
|
PRUEBAS DE DIAGNÓSTICO |
Resultados e interpretaciones de las pruebas de laboratorio, los estudios por imágenes y otros procedimientos de diagnóstico |
|
EVALUACIÓN |
Evaluación de la salud del paciente por parte del médico |
|
PLAN |
Clinician-recommended tratamientos médicos, ajustes en el estilo de vida y consultas adicionales |
secciones PHYSICAL_SOAP y BEHAVIORAL_SOAP
| Sección | Description (Descripción) |
|---|---|
|
Subjetivo |
Los objetivos, las experiencias y los problemas actuales y pasados del paciente |
|
Objetivo |
Datos y hechos sobre el paciente |
|
Evaluación |
El diagnóstico del médico sobre la situación del paciente |
|
Plan |
Clinician-recommended próximos pasos en el tratamiento, incluidas futuras intervenciones y derivaciones |
nota
PHYSICAL_SOAP está optimizado para la documentación de salud física. BEHAVIORAL_SOAP está optimizado para la documentación sobre salud conductual. Ambos comparten la misma estructura de secciones.
Secciones GIRPP
| Sección | Description (Descripción) |
|---|---|
|
Objetivo |
El problema, desafío o comportamiento identificado que se debe abordar durante el tratamiento |
|
Intervención |
El tratamiento, el método o la técnica específicos utilizados por el médico |
|
Respuesta |
Cómo respondió el paciente a la intervención, incluido el nivel de participación y los comentarios |
|
Progreso |
La evaluación del médico sobre el avance hacia los objetivos del tratamiento |
|
Plan |
Clinician-recommended próximos pasos en el tratamiento, incluidas las intervenciones futuras, los deberes y las derivaciones |
Secciones del BIRP
| Sección | Description (Descripción) |
|---|---|
|
Comportamiento |
Los problemas que presenta el paciente y su respuesta al tratamiento |
|
Intervención |
El tratamiento, el método o la técnica específicos utilizados por el médico |
|
Respuesta |
Cómo respondió el paciente a la intervención |
|
Plan |
Próximos pasos del tratamiento |
Secciones del SIRP
| Sección | Description (Descripción) |
|---|---|
|
Situación |
El problema que presenta el paciente y su objetivo al buscar terapia |
|
Intervención |
El tratamiento, el método o la técnica específicos utilizados por el médico |
|
Respuesta |
Cómo respondió el paciente a la intervención |
|
Plan |
Clinician-recommended próximos pasos en el tratamiento |
secciones de DAP
| Sección | Description (Descripción) |
|---|---|
|
Datos |
Los motivos del paciente para buscar tratamiento e información sobre el paciente |
|
Evaluación |
El diagnóstico del médico sobre la situación del paciente |
|
Plan |
Clinician-recommended próximos pasos en el tratamiento |
Plantillas personalizadas
La documentación de Ambient utiliza un modelo de personalización de dos capas: especificación base y especificación de salida. Estas dos capas se gestionan en un objeto de configuración,customTemplate. El objeto customTemplate de configuración contiene dos parámetros: templateType establece la plantilla base y templateInstructions contiene la especificación de salida.
La base (templateType) establece la estructura organizativa de los hechos clínicos detectados durante la conversación. Se admiten las siguientes plantillas base:
| Base | Description (Descripción) | Caso de uso |
|---|---|---|
|
HISTORIAL_Y_FÍSICO |
Resúmenes de las principales secciones de documentación clínica |
Encuentros generales sobre salud física |
|
JABÓN_CONDUCTUAL |
Formato SOAP centrado en la salud conductual |
Encuentros sobre salud conductual utilizando la estructura SOAP |
|
CHICA |
Progress-toward-goals formato |
Salud conductual: seguimiento del progreso del paciente |
|
BIRP |
Patrones de comportamiento y formato de respuestas |
Salud conductual: documentación de los patrones de comportamiento |
|
SORBO |
Contexto situacional del formato de terapia |
Salud conductual: haciendo hincapié en el contexto situacional |
|
DAP |
Formato de documentación clínica simplificado |
Encuentros breves o enfocados |
El objeto de especificación de salida (templateInstructions) está organizado como un conjunto de instrucciones, con una sectionHeader que define el nombre de la sección y sectionInstructions que combina instrucciones y una plantilla para esa sección.
Las instrucciones de personalización pueden incluir tres tipos de directivas:
-
Instrucciones de detalle: controle la concisión o la elaboración del contenido. Ejemplo: «Describa la queja principal en una oración o menos».
-
Instrucciones de uso de la plantilla: indique cómo el agente gestiona la desalineación entre la plantilla y el contenido del encuentro. Ejemplo: «Siga la plantilla al pie de la letra: si los datos solicitados no están disponibles, escriba INFORMACIÓN NO ENCONTRADA».
-
Instrucciones de estilo: especifique los requisitos de formato, terminología y razonamiento. Ejemplo: «Utilice problemas numerados en la sección de evaluación».
Las plantillas se pueden proporcionar como texto con marcadores de posición, esquemas JSON estructurados o ejemplos de notas anteriores.
| Método | Description (Descripción) | Usar cuando |
|---|---|---|
|
Plantilla de texto con marcadores de posición |
Una plantilla con encabezados de sección y campos marcadores de posición (por ejemplo<chief_complaint>) que el agente rellena a partir del encuentro |
Quieres tener un control preciso sobre el diseño de las secciones y la ubicación del contenido |
|
Plantilla JSON estructurada |
Un esquema JSON que define los campos, el anidamiento y las reglas de formato por campo |
Su EHR requiere una salida de datos estructurada en lugar de prosa |
|
Ejemplo de nota anterior |
Una nota clínica previa proporcionada como referencia para el formato y estilo deseados |
Un proveedor quiere notas que coincidan con sus patrones de documentación actuales |
nota
El servicio es apátrida. Para utilizar una nota anterior como referencia de estilo, la aplicación debe incluirla en las instrucciones de cada sesión. El agente no conserva las preferencias de los proveedores en todas las sesiones.
Ejemplo de instrucción de personalización
El siguiente ejemplo muestra una instrucción de personalización para una nota de SOAP que utiliza el objeto customTemplate de configuración.
{ "clinicalNoteGenerationSettings": { "noteTemplateSettings": { "customTemplate": { "templateType": "HISTORY_AND_PHYSICAL", "templateInstructions": [ { "sectionHeader": "Subjective", "sectionInstruction": "You will be generating a SOAP note one section at a time, starting with the `S` section. Please use this template when generating the `S` section:\n<template>\nSUBJECTIVE:\nChief Complaint: <Brief statement, in patient's own words, if available>\nHistory of Present Illness: <Narrative description of current symptoms, onset, duration, quality, severity, timing, context, modifying factors, associated symptoms.>\nReview of Systems:\n• Constitutional: <fever, chills, weight changes, fatigue>\n• Cardiovascular: <chest pain, palpitations, shortness of breath>\n• Respiratory: <cough, dyspnea, wheezing>\n• GI: <nausea, vomiting, diarrhea, constipation, abdominal pain>\n• GU: <dysuria, frequency, urgency, hematuria>\n• Musculoskeletal: <joint pain, muscle weakness, back pain>\n• Neurological: <headache, dizziness, numbness, weakness>\n• Psychiatric: <mood changes, anxiety, sleep disturbances>\n• All other systems negative unless noted above Past Medical History: <List chronic conditions>\nPast Surgical History: <List previous surgeries with dates>\nMedications: <Current medications with doses>\nAllergies: <Drug allergies and reactions, or NKDA>\nSocial History: <Tobacco, alcohol, drugs, occupation, living situation>\nFamily History: <Relevant family medical history>\n</template>" } ] } } } }
Prácticas recomendadas para plantillas
El agente logra una adherencia media del 97,7% al maquetar con plantillas bien diseñadas.
-
Defina la estructura de sus notas con encabezados de sección con nombres. Enumere cada sección de la nota que desee por nombre, utilizando un delimitador coherente. El modelo utiliza estos encabezados como anclajes estructurales para colocar el contenido en la ubicación correcta.
-
Utilice marcadores de posición descriptivos que expliquen qué contenido pertenece a cada sección. Por ejemplo,
Chief Complaint: <Brief statement in patient’s own words, if available>. -
Enumere las subsecciones esperadas para los campos de varias partes. En el caso de las secciones que abarquen varias categorías (como sistemas corporales o listas de problemas), enumérelas de forma explícita con valores representativos para indicar su alcance.
-
Maneje la información que falta con elegancia. Usa frases como «si está disponible» o «si corresponde» en los marcadores de posición para indicar que se puede omitir una sección cuando el encuentro no produzca contenido relevante.
-
Prueba las plantillas en todos los tipos de visitas. Es posible que una plantilla que funcione para las visitas de seguimiento no se adapte a las consultas con nuevos pacientes o a los exámenes de bienestar. Valide sus plantillas comparándolas con una muestra representativa de encuentros antes de implementarlas de forma generalizada.
Outputs
La documentación de Ambient genera tres archivos de salida:
Archivo de transcripción
El archivo de transcripción contiene una transcripción paso a paso con marcas de tiempo a nivel de palabra. Amazon Connect Health añade la detección del rol de los participantes y etiqueta a cada ponente como MÉDICO o PACIENTE. Si en una conversación hay más de un participante en cada categoría, a cada participante se le asigna un número (por ejemplo,CLINICIAN_0,CLINICIAN_1).
Archivo de documentación clínica y mapeo de evidencias
El archivo de documentación clínica contiene la nota clínica estructurada generada a partir de la conversación entre el paciente y el médico y una sección que vincula cada declaración generada con su fuente en la transcripción de la conversación o en el contexto del paciente.
El archivo sigue la plantilla gestionada o las instrucciones de personalización que se proporcionan al inicio de la sesión. Cada sección puede contener contenido derivado de las visitas (de la conversación) y contenido derivado del contexto (a partir de la información del contexto del paciente). Se admiten varios formatos de salida: prose/free texto y JSON estructurado, según la configuración de la plantilla. La sección de mapeo de evidencias permite a los médicos verificar el origen de cualquier contenido. AI-generated Cada entrada de mapeo contiene la oración generada y la referencia fuente transcript/context .
After-visit archivo de resumen
El archivo resumido posterior a la visita contiene un resumen dirigido al paciente escrito en un lenguaje accesible para que el médico lo revise y finalice. Incluye una descripción en lenguaje sencillo de la visita, los medicamentos actuales con la dosis y la frecuencia, las instrucciones de seguimiento del médico y las medidas que debe tomar el paciente.
El resumen se genera a partir del archivo de documentación clínica, no directamente de la transcripción, lo que garantiza la coherencia entre la nota clínica y el resumen dirigido al paciente.
Para obtener información completa sobre los parámetros de la API, request/response los esquemas y las instrucciones de configuración del streaming, consulte la referencia de la API de Amazon Connect Health.