View a markdown version of this page

Dokumentation zur Umgebung - Amazon Connect Health

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Dokumentation zur Umgebung

Ambient Documentation erfasst Gespräche zwischen Patienten und Ärzten in Echtzeit und generiert strukturierte klinische Unterlagen zur Überprüfung durch den Arzt. Der Service kombiniert Spracherkennung mit generativer KI, um klinische Notizen zu erstellen, medizinische Terminologie zu extrahieren, Sprecherrollen zu identifizieren und Dialogsegmente zu klassifizieren.

Wichtig

Die Umgebungsdokumentation von Amazon Connect Health liefert probabilistische Ergebnisse. Die Genauigkeit der Ausgabe hängt von der Audioqualität, den Hintergrundgeräuschen, der Klarheit der Lautsprecher, der Komplexität der medizinischen Terminologie und der kontextspezifischen Sprache ab. Die gesamte Ausgabe muss vor der Verwendung in der Patientenversorgung von einem geschulten medizinischen Fachpersonal auf ihre Richtigkeit überprüft werden.

Die Umgebungsdokumentation von Amazon Connect Health ist in den Regionen USA Ost (Nord-Virginiaus-east-1) () und USA West (Oregon) (us-west-2) verfügbar.

So funktioniert die Dokumentation zur Umgebungsbeleuchtung

Die Umgebungsdokumentation verwendet Audio-Streaming in Echtzeit über HTTP/2 oder WebSocket. Der Arbeitsablauf umfasst:

  1. Abonnement erstellen — Ordnen Sie dem Agenten für Umgebungsdokumentation einen Anbieter zu. Abonnements werden automatisch im aktivierten Modus erstellt.

  2. Audio streamen — Ihre Anwendung streamt Audio von der Konversation zwischen Patient und Arzt zu Amazon Connect Health über oder. HTTP/2 WebSocket Der Dienst transkribiert das Audio in Echtzeit und identifiziert die Sprecher.

  3. Dokumentation erstellen — Nach Abschluss des Gesprächs generiert der Service auf der Grundlage der konfigurierten Vorlage strukturierte klinische Notizen, Evidenzzuordnungen und eine Zusammenfassung nach dem Besuch.

  4. Ergebnisse abrufen — Der Service schreibt das Protokoll, die klinische Dokumentation und die Zusammenfassung nach dem Besuch in Ihren konfigurierten Amazon S3 S3-Bucket.

Technische Anforderungen

  • Unterstützte Sprache — US-Englisch (en-US)

  • Unterstützte Audioformate — FLAC, PCM

  • Kodierung — PCM 16-Bit

  • Abtastrate — 16.000 Hz oder höher

Unterstützte medizinische Fachgebiete

Die Umgebungsdokumentation unterstützt derzeit die folgenden Fachgebiete:

  • Allergie-Immunologie

  • Kardiologie

  • Dermatologie

  • Endokrinologie

  • Gastroenterologie

  • Hematology/Oncology

  • Infektiöse Krankheit

  • Nephrologie

  • Neurologie

  • FRAUENHEILKUNDE

  • Onkologie

  • Ophthalmologie

  • Orthopädie

  • Hals-Nasen-Ohrenheilkunde

  • Schmerzmedizin

  • Pädiatrie

  • Grundversorgung

  • Psychiatrie

  • Pulmonologie

  • Rheumatologie

  • Chirurgie

  • Urologie

Die Umgebungsdokumentation von Amazon Connect Health nutzt KI, um klinische Gespräche in Echtzeit zu erfassen und zu transkribieren. Da diese Funktion mündliche Kommunikation aufzeichnet, die geschützte Gesundheitsinformationen (PHI) enthalten kann, sind Kunden und ihre nachgeschalteten Integratoren für die Einhaltung aller geltenden Gesetze zur Einwilligung, Aufzeichnung und zum Datenschutz verantwortlich. Dazu gehört auch die Einholung aller gesetzlich vorgeschriebenen Einwilligungen, bevor die Umgebungsdokumentation für jegliche Patientenbegegnungen aktiviert wird. AWS holt in Ihrem Namen keine Einwilligung von Patienten ein.

Bei Verwendung von Umgebungsdokumenten muss von jedem Patienten und allen im Raum anwesenden Personen die entsprechende Zustimmung eingeholt werden. Im Rahmen der Einholung der Einwilligung sollten die Patienten darüber informiert werden, dass der Besuch aufgezeichnet und von einem KI-Dienstleister zur Erstellung klinischer Aufzeichnungen verwendet wird, dass ihre Daten an Leistungserbringer weitergegeben werden können und dass sie ohne Auswirkungen auf ihre Behandlung ablehnen können. Kunden und Integratoren sollten Aufzeichnungen über die Zustimmung der Patienten gemäß den geltenden staatlichen Gesetzen und internen Aufbewahrungsrichtlinien führen. Kunden sollten sicherstellen, dass die Zustimmung gemäß den Datenschutzpraktiken ihrer Organisation eingeholt wird.

Sprache des Beispiels:

„Bevor wir beginnen, möchte ich Sie darüber informieren, dass der heutige Besuch von einem KI-Dienstleister aufgezeichnet und überwacht wird, um Ihnen bei der Dokumentation zu helfen. Stimmen Sie zu, fortzufahren?“

Abonnementverwaltung

Erstellen eines Abonnements

Rufen Sie den CreateSubscription API-Vorgang auf, um ein Abonnement zu erstellen. Dadurch wird ein eindeutiges Objekt generiertsubscriptionId, mit dem Sie den Benutzer autorisieren und Streaming-Sitzungen starten können. Abonnements werden automatisch im aktivierten Modus erstellt.

Tipp

Erstellen Sie das Abonnement bei der ersten Nutzung durch den Benutzer, um den Abonnementstart an die tatsächliche Nutzung anzupassen.

Deaktivieren Sie ein Abonnement

Rufen Sie den DeactivateSubscription API-Vorgang auf, um vorübergehend zu verhindern, dass ein Abonnement neue Streaming-Sitzungen akzeptiert. Ein deaktiviertes Abonnement behält seine Konfiguration bei und kann später reaktiviert werden. In-progress Streams werden normal abgeschlossen.

Wichtig

Wenn Sie ein Abonnement deaktivieren, verfällt sofort der verbleibende kostenlose Testzeitraum. Wenn ein Abonnement, das während einer kostenlosen Testversion deaktiviert wurde, später wieder aktiviert wird, wird es als kostenpflichtiges Abonnement reaktiviert.

Reaktivieren Sie ein Abonnement

Deaktivierte Abonnements können reaktiviert werden, indem der ActivateSubscription API-Vorgang mit dem aufgerufen wird. subscriptionId Die kostenpflichtige Abrechnung beginnt sofort nach der Reaktivierung.

Audio streamen

Die Umgebungsdokumentation verarbeitet Audio in Echtzeit über eine Streaming-Verbindung. Ihre Anwendung öffnet eine Verbindung, sendet Audioblöcke als ereigniskodierte Nachrichten und empfängt im Verlauf der Konversation Transkriptionsergebnisse. Die Umgebungsdokumentation unterstützt zwei Streaming-Transporte: und (). HTTP/2 WebSocket wss:// Beide Transporte bieten dieselbe Funktionalität mit denselben Authentifizierungs- und Autorisierungsanforderungen, Kontingenten und Drosselungen. Das Sitzungsverhalten — Erstellung, Streaming und Beendigung — ist bei beiden Transporten identisch.

Anmerkung

Eine Sitzung ist an den Transport gebunden, auf dem sie gestartet wurde. Sie können eine Sitzung nicht auf einem Transport starten und auf dem anderen fortsetzen. Wenn Sie eine Sitzung anhalten und wieder aufnehmen, muss für die wiederaufgenommene Sitzung derselbe Transport verwendet werden, mit dem die Sitzung gestartet wurde.

Wenn Ihr Audio über zwei Kanäle verfügt, können Sie die Kanalidentifikation verwenden, um die Sprache von jedem Kanal separat zu transkribieren. Die Umgebungsdokumentation unterstützt derzeit Audio mit bis zu zwei Kanälen. In Ihrem Transkript sind die Kanäle mit den Bezeichnungen ch_0 und ch_1 versehen.

Zusätzlich zu den standardmäßigen Transkriptabschnitten (Transkripte und Artikel) enthalten Anfragen mit aktivierter Kanalidentifikation einen Abschnitt channel_labels. Dieser Abschnitt enthält jede Äußerung oder jedes Satzzeichen, gruppiert nach Kanal, sowie die zugehörigen Kanalbezeichnungen, Zeitstempel und Konfidenzwert. Wenn eine Person auf einem Kanal zur gleichen Zeit wie eine Person auf einem anderen Kanal spricht, überschneiden sich die Zeitstempel für jeden Kanal, während die Personen übereinander sprechen.

Streamen über HTTP/2

HTTP/2 ist der von den AWS-SDKs verwendete Streaming-Transport und eignet sich für serverseitige und native Anwendungen. Ihre Anwendung stellt eine HTTP/2 Verbindung her, sendet Audio-Chunks und Steuerereignisse als Event-Stream-Nachrichten und empfängt Transkriptereignisse in Echtzeit über dieselbe Verbindung. Wenn Sie ein AWS-SDK verwenden, übernimmt das SDK die Verbindungseinrichtung, das Signieren von Anfragen und die Event-Stream-Kodierung für Sie.

Eine detaillierte HTTP/2 Streaming-Einrichtung und Event-Stream-Kodierung finden Sie in der Amazon Connect Health API-Referenz.

Verwenden der AWS SDKs

Das folgende Codebeispiel zeigt, wie Sie mit dem AWS SDK for Java 2.x eine Amazon Connect Health-Streaming-Sitzung für Umgebungsdokumentation einrichten.

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); } } }

Streaming über WebSocket

WebSocket Mit der Unterstützung können Sie Audio für die Umgebungsdokumentation von einem Webbrowser oder einem anderen WebSocket Client streamen. Alle WebSocket Verbindungen verwenden TLS (wss://).

WebSocket Endpunkt

Connect zum WebSocket Endpunkt für die Region her, in der Sie die Umgebungsdokumentation verwenden:

Region Endpoint

US-EAST-1

wss://streaming.health-agent.us-east-1.api.aws/medical-scribe-stream-websocket

US-WEST-2

wss://streaming.health-agent.us-west-2.api.aws/medical-scribe-stream-websocket

Authentifizieren einer Verbindung WebSocket

Sie authentifizieren eine WebSocket Verbindung mit einer vorsignierten URL. Um die vorsignierte URL zu erstellen, signieren Sie eine GET Anfrage an den WebSocket Endpunkt mit AWS Signature Version 4 (Sigv4) und betten Sie die Signaturparameter (X-Amz-Algorithm,,X-Amz-Credential, X-Amz-Date X-Amz-ExpiresX-Amz-Signature, undX-Amz-SignedHeaders) und die Sitzungsparameter als Abfragezeichenfolgenparameter ein. Der Service validiert die vorsignierte URL, wenn die Verbindung hergestellt ist. Wenn die vorsignierte URL ungültig, abgelaufen oder nicht autorisiert ist, lehnt der Dienst die Sitzung ab, indem er einen Fehler zurückgibt und die Verbindung schließt.

Der Höchstwert für X-Amz-Expires ist 60 Sekunden (1 Minute). Nachdem die Verbindung hergestellt wurde, wird die Signatur der vorsignierten URL zur Startsignatur, die zum Signieren jedes nachfolgenden Event-Stream-Frames verwendet wird, wodurch eine kontinuierliche Autorisierung für die gesamte Lebensdauer der Verbindung gewährleistet wird.

Für ist keine neue IAM-Aktion erforderlich. WebSocket Der Dienst autorisiert WebSocket Verbindungen mit derselben health-agent:StartMedicalScribeListeningSession Berechtigung, die für HTTP/2 das Streaming verwendet wurde.

Das folgende Beispiel zeigt das Format einer vorsignierten URL WebSocket . Zur besseren Lesbarkeit wurden Zeilenumbrüche hinzugefügt.

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>

Signieren von Event-Stream-Frames

Jeder Event-Stream-Frame, den Sie nach dem Upgrade senden — Konfiguration, Audio und Sitzungssteuerung — muss einzeln signiert sein. Jeder Frame enthält zwei Event-Stream-Header: :date (den Signaturzeitstempel) und :chunk-signature (die Frame-Signatur). Frame-Signaturen bilden eine Kette: Jede Signatur wird aus der Signatur des vorherigen Frames und die ersten Frame-Ketten aus dem X-Amz-Signature Wert in der vorsignierten URL berechnet.

Um einen Frame zu signieren, erstellen Sie eine Zeichenfolge, die mit dem AWS4-HMAC-SHA256-PAYLOAD Algorithmus signiert werden soll, und berechnen Sie dann eine HMAC-SHA256 Überschreibung mit einem Sigv4-Signaturschlüssel, der für das Anforderungsdatum, die Region und den Dienst abgeleitet wurde. health-agent Die zu signierende Zeichenfolge hat das folgende Format:

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

Berechne die Signatur und hänge sie an den Rahmen an:

  1. signature = HMAC-SHA256(signingKey, stringToSign), kodiert als Hex-Zeichenfolge.

  2. Fügen Sie die :chunk-signature Kopfzeilen :date und zum Frame hinzu und senden Sie ihn dann.

  3. Speichern Sie dies signature und verwenden Sie es <prior-signature> beim Signieren des nächsten Frames.

Der Signaturschlüssel wird auf die gleiche Weise wie für jede SigV4-Anfrage abgeleitet: Kette HMAC-SHA256 über den Datumsstempel, die Region, den Dienstnamen (health-agent) undaws4_request, ausgehend von Ihrem geheimen Zugriffsschlüssel mit dem Präfix. AWS4

Audio wird gesendet WebSocket

Nachdem die Verbindung hergestellt wurde, senden Sie Ihre Sitzungskonfiguration und streamen Sie dann Audio als binäre Audioereignisse. Jedes binaryAudioEvent enthält einen Teil unformatierter PCM- oder FLAC-Bytes. Der Dienst gibt Transkriptereignisse über dieselbe Verbindung in Echtzeit zurück. Um die Sitzung zu beenden, senden Sie ein END_OF_SESSION Sitzungssteuerungsereignis.

WebSocket Empfehlungen des Kunden

Der Dienst signalisiert das Ende einer Sitzung, indem er einen WebSocket geschlossenen Frame sendet. Gestalten Sie Ihren Client so, dass er das Schließen der Verbindung elegant handhabt:

  • Warten Sie, bis der Server den Frame geschlossen hat, bevor Sie die Verbindung schließen. Nach dem Senden END_OF_SESSION sendet der Dienst alle endgültigen Transkriptergebnisse und anschließend einen Abschluss-Frame. Wenn ein Senden fehlschlägt oder ein Fehler auftritt, sendet der Dienst möglicherweise einen strukturierten Fehlerrahmen, gefolgt von einem Abschlussframe. Wenn Sie die Verbindung sofort schließen, können diese letzten Nachrichten verworfen werden. Warten Sie also, bis der Server die Verbindung schließt.

  • Verwenden Sie den Statuscode für das Schließen, um das Ergebnis zu ermitteln. Der Abschlusscode 1000 (Normaler Abschluss) gibt an, dass die Sitzung erfolgreich abgeschlossen wurde. Jeder andere Code für das Schließen weist auf einen Fehler hin, und der Grund für das Schließen enthält weitere Informationen.

  • Wenden Sie als Sicherheitsmaßnahme ein begrenztes Timeout an. Um zu vermeiden, dass auf unbestimmte Zeit gewartet wird, falls die Verbindung nicht mehr reagiert, sollten Sie die Verbindung nach einer angemessenen Frist schließen, falls kein Server-Close-Frame empfangen wurde.

Die AWS-SDKs unterstützen kein WebSocket Streaming. Um zu streamen WebSocket, stellen Sie eine direkte Verbindung zum Endpunkt her, wie in diesem Abschnitt beschrieben. Die Amazon Connect Health API-Referenz dokumentiert die API-Operationen und ihre Anfrage- und Antwortparameter, die für beide Transporte gelten.

Speicher

Zu Beginn einer Sitzung muss ein S3-Speicherort angegeben werden. Ausgabeartefakte werden am folgenden Basisspeicherort gespeichert:

s3://{customer-provided-uri}/health-agent-listening-session/{domainId}/{subscriptionId}/{sessionId}/post-stream-action/

Klinische Notizen werden in einem clinical-notes Ordner an diesem Basisspeicherort gespeichert.

Kontext des Patienten

Der Patientenkontext informiert den Agenten vor dem Gespräch über den encounterContext API-Parameter über die Krankengeschichte. Das encounterContext Objekt enthält das FeldunstructuredContext, das bis zu 10 KB Textdaten für jede Sitzung akzeptiert. Wenn Sie den Patientenkontext einbeziehen, verwendet der Mitarbeiter ihn, um die generierte Dokumentation mit Hintergrundinformationen anzureichern, die während des Besuchs nicht explizit besprochen wurden.

Der Patientenkontext kann Folgendes beinhalten:

  • Notizen zu früheren Begegnungen und Zusammenfassungen der Besuche

  • Aktive Medikamentenlisten

  • Problemlisten und Diagnosen

  • Allergien und Impfungen

  • Einschlägige Labor- und Bildgebungsberichte

  • Chirurgie und Familiengeschichte

  • Bevorzugte Pronomen des Patienten, die im generierten klinischen Output verwendet werden, wenn auf den Patienten Bezug genommen wird

Der Kontext wird in der gesamten generierten Notiz verwendet, um die Spezifität und Genauigkeit zu verbessern, wenn die erforderlichen Informationen nicht allein im Transkript enthalten sind, wobei die Evidenz den Quellenmaterialien für die Überprüfung durch den Arzt zugeordnet wird.

Anmerkung

Im folgenden Beispiel werden fiktive Patientendaten nur zur Veranschaulichung verwendet.

Beispiel für einen Patientenkontext

## 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)

Vorlagen für klinische Notizen

Vorlagen definieren die Struktur, die Abschnitte und die Formatierungsregeln, die der Wirkstoff bei der Erstellung klinischer Unterlagen befolgt. Sie müssen ein Ausgabeformat angeben, indem Sie bei jeder Sitzung ein Konfigurationsobjekt an den noteTemplateSettings API-Parameter übergeben. Die Umgebungsdokumentation unterstützt zwei Methoden zur Angabe des Ausgabeformats: verwaltete Vorlagen oder benutzerdefinierte Vorlagen.

Verwaltete Vorlagen

Die Ambient-Dokumentation enthält sieben vorgefertigte Notizvorlagen. Das Konfigurationsobjekt für verwaltete Vorlagen,managedTemplate, spezifiziert die Vorlage über den templateType Parameter. Die Standardvorlage ist HISTORY_AND_PHYSICAL.

Vorlage Description Anwendungsfall

HISTORY_AND_PHYSICAL (Standard)

Zusammenfassungen der wichtigsten Abschnitte der klinischen Dokumentation

Allgemeine Begegnungen mit körperlicher Gesundheit

PHYSICAL_SOAP

SOAP-Format mit Fokus auf körperliche Gesundheit

Begegnungen mit körperlicher Gesundheit mithilfe der SOAP-Struktur

BEHAVIORAL_SOAP

SOAP-Format mit Fokus auf Verhaltensgesundheit

Verhaltensbedingte Gesundheitsbegegnungen unter Verwendung der SOAP-Struktur

MÄDCHEN

Progress-toward-goals formatieren

Verhaltensgesundheit — Verfolgung des Fortschritts der Patienten

BIRP

Format von Verhaltensmustern und Antworten

Verhaltensgesundheit — Dokumentation von Verhaltensmustern

SIRP

Situativer Kontext des Therapieformats

Verhaltensgesundheit — Betonung des situativen Kontextes

DAP

Vereinfachtes Format der klinischen Dokumentation

Kurze oder gezielte Begegnungen

Abschnitte HISTORY_AND_PHYSICAL

Abschnitt Description

HAUPTBESCHWERDE

Kurze Beschreibung des Grundes des Patienten für den Besuch beim Arzt

VORGESCHICHTE DER AKTUELLEN KRANKHEIT

Informationen über die Erkrankung des Patienten, einschließlich Schweregrad, Beginn, Zeitpunkt, aktuelle Behandlungen und betroffene Bereiche

SYSTEMÜBERPRÜFUNG

Patient-reported Bewertung der Symptome in verschiedenen Körpersystemen

KRANKGESCHICHTE IN DER VERGANGENHEIT

Frühere Erkrankungen, Operationen und Behandlungen

VERGANGENE FAMILIENGESCHICHTE

Gesundheitsprobleme, die in der Familie des Patienten liegen

VERGANGENE SOZIALGESCHICHTE

Soziales Leben, Gewohnheiten, Beruf und Umweltfaktoren, die sich auf die Gesundheit auswirken

KÖRPERLICHE UNTERSUCHUNG

Ergebnisse des Arztes aus der körperlichen Untersuchung der Körpersysteme und der Vitalfunktionen

DIAGNOSTISCHE TESTS

Ergebnisse und Interpretationen von Labortests, bildgebenden Untersuchungen und anderen diagnostischen Verfahren

BEWERTUNG

Einschätzung des Gesundheitszustands des Patienten durch den Arzt

PLAN

Clinician-recommended medizinische Behandlungen, Anpassungen des Lebensstils und weitere Termine

Abschnitte PHYSICAL_SOAP und BEHAVIORAL_SOAP

Abschnitt Description

Subjektiv

Die Ziele, Erfahrungen und bestehenden und vergangenen Probleme des Patienten

Ziel

Daten und Fakten über den Patienten

Bewertung

Die Diagnose der Situation des Patienten durch den Arzt

Plan

Clinician-recommended nächste Behandlungsschritte, einschließlich future Interventionen und Überweisungen

Anmerkung

PHYSICAL_SOAP ist für die Dokumentation der körperlichen Gesundheit optimiert. BEHAVIORAL_SOAP ist für die Dokumentation von Verhaltensgesundheit optimiert. Beide haben dieselbe Abschnittsstruktur.

GIRPP-Abschnitte

Abschnitt Description

Ziel

Das identifizierte Problem, die Herausforderung oder das Verhalten, das durch eine Behandlung angegangen werden soll

Intervention

Die spezifische Behandlung, Methode oder Technik, die vom Arzt angewendet wird

Antwort

Wie der Patient auf die Intervention reagiert hat, einschließlich Beteiligungsgrad und Feedback

Progress

Einschätzung des Klinikers zur Erreichung der Behandlungsziele

Plan

Clinician-recommended nächste Behandlungsschritte, einschließlich future Interventionen, Hausaufgaben und Überweisungen

BIRP-Abschnitte

Abschnitt Description

Behavior

Die Probleme, mit denen der Patient konfrontiert ist, und seine Reaktion auf die Behandlung

Intervention

Die spezifische Behandlung, Methode oder Technik, die vom Arzt angewendet wird

Antwort

Wie hat der Patient auf die Intervention reagiert

Plan

Die nächsten Schritte in der Behandlung

SIRP-Abschnitte

Abschnitt Description

Situation

Das Problem, mit dem der Patient konfrontiert ist, und sein Ziel für die Suche nach einer Therapie

Intervention

Die spezifische Behandlung, Methode oder Technik, die vom Arzt angewendet wird

Antwort

Wie hat der Patient auf die Intervention reagiert

Plan

Clinician-recommended nächste Schritte in der Behandlung

DAP-Abschnitte

Abschnitt Description

Daten

Die Gründe des Patienten für die Inanspruchnahme einer Behandlung und Informationen über den Patienten

Bewertung

Die Diagnose der Situation des Patienten durch den Arzt

Plan

Clinician-recommended nächste Schritte in der Behandlung

Benutzerdefinierte Vorlagen

Die Umgebungsdokumentation verwendet ein zweistufiges Anpassungsmodell: Basis- und Ausgabespezifikation. Diese beiden Ebenen werden in einem Konfigurationsobjekt verwaltet,customTemplate. Das customTemplate Konfigurationsobjekt enthält zwei Parameter: Es templateType legt die Basisvorlage fest und templateInstructions enthält die Ausgabespezifikation.

Die Base (templateType) legt die Organisationsstruktur der während des Gesprächs festgestellten klinischen Fakten fest. Die folgenden Basisvorlagen werden unterstützt:

Base Description Anwendungsfall

HISTORY_AND_PHYSICAL

Zusammenfassungen der wichtigsten Abschnitte der klinischen Dokumentation

Allgemeine Begegnungen mit körperlicher Gesundheit

BEHAVIORAL_SOAP

SOAP-Format mit Fokus auf Verhaltensgesundheit

Verhaltensbedingte Gesundheitsbegegnungen unter Verwendung der SOAP-Struktur

MÄDCHEN

Progress-toward-goals formatieren

Verhaltensgesundheit — Verfolgung des Fortschritts der Patienten

BIRP

Format von Verhaltensmustern und Antworten

Verhaltensgesundheit — Dokumentation von Verhaltensmustern

SIRP

Situativer Kontext des Therapieformats

Verhaltensgesundheit — Betonung des situativen Kontextes

DAP

Vereinfachtes Format der klinischen Dokumentation

Kurze oder gezielte Begegnungen

Das Ausgabespezifikationsobjekt (templateInstructions) ist als eine Reihe von Anweisungen organisiert, wobei eine sectionHeader Anweisung den Namen des Abschnitts definiert und Anweisungen und eine Vorlage für diesen Abschnitt kombiniert. sectionInstructions

Anpassungsanweisungen können drei Arten von Direktiven beinhalten:

  • Ausführliche Anweisungen — Kontrollieren Sie die Prägnanz oder Ausformulierung des Inhalts. Beispiel: „Beschreiben Sie die Hauptbeschwerde in einem Satz oder weniger.“

  • Anweisungen zur Verwendung der Vorlage — Geben Sie an, wie der Agent mit einer falschen Ausrichtung zwischen der Vorlage und dem Inhalt der Begegnung umgeht. Beispiel: „Halten Sie sich genau an die Vorlage: Wenn die angeforderten Daten nicht verfügbar sind, geben Sie INFORMATION NOT FOUND ein.“

  • Stilanweisungen — Geben Sie die Anforderungen an Formatierung, Terminologie und Argumentation an. Beispiel: „Verwenden Sie nummerierte Probleme im Bewertungsbereich.“

Vorlagen können als Text mit Platzhaltern, strukturierten JSON-Schemas oder als Beispiel für vorherige Hinweise bereitgestellt werden.

Methode Description Anwendungsfall

Textvorlage mit Platzhaltern

Eine Vorlage mit Abschnittsüberschriften und Platzhalterfeldern (z. B.<chief_complaint>), die der Agent aus der Begegnung heraus ausfüllt

Sie möchten eine genaue Kontrolle über das Layout der Abschnitte und die Platzierung der Inhalte

Strukturierte JSON-Vorlage

Ein JSON-Schema, das Felder, Verschachtelung und Regeln für die feldspezifische Formatierung definiert

Ihr EHR erfordert eher eine strukturierte Datenausgabe als Prosa

Beispiel vorheriger Hinweis

Eine vorherige klinische Notiz als Referenz für das gewünschte Format und den gewünschten Stil

Ein Anbieter möchte Notizen, die seinen bestehenden Dokumentationsmustern entsprechen

Anmerkung

Der Dienst ist staatenlos. Um eine vorherige Notiz als Stilreferenz verwenden zu können, muss Ihre Anwendung sie in den Anweisungen für jede Sitzung enthalten. Der Agent behält die Anbietereinstellungen nicht sitzungsübergreifend bei.

Beispiel für eine Anleitung zur Anpassung

Das folgende Beispiel zeigt eine Anpassungsanweisung für eine SOAP-Notiz unter Verwendung des customTemplate Konfigurationsobjekts.

{ "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>" } ] } } } }

Bewährte Methoden für Vorlagen

Der Agent erreicht mit gut gestalteten Vorlagen eine durchschnittliche Layoutkonformität von 97,7%.

  • Definieren Sie Ihre Notizstruktur mit benannten Abschnittsüberschriften. Listen Sie jeden Abschnitt Ihrer gewünschten Notiz nach Namen auf und verwenden Sie dabei ein einheitliches Trennzeichen. Das Modell verwendet diese Überschriften als strukturelle Anker, um den Inhalt an der richtigen Stelle zu platzieren.

  • Verwenden Sie aussagekräftige Platzhalter, die erklären, welcher Inhalt in die einzelnen Abschnitte gehört. Beispiel, Chief Complaint: <Brief statement in patient’s own words, if available>.

  • Zählen Sie die zu erwartenden Unterabschnitte für mehrteilige Felder auf. Führen Sie Abschnitte, die sich über mehrere Kategorien erstrecken (z. B. Körpersysteme oder Problemlisten), explizit mit repräsentativen Werten auf, um den Umfang anzugeben.

  • Gehen Sie vorsichtig mit fehlenden Informationen um. Verwenden Sie Formulierungen wie „falls verfügbar“ oder „falls zutreffend“ innerhalb von Platzhaltern, um zu signalisieren, dass ein Abschnitt weggelassen werden kann, wenn die Begegnung keinen relevanten Inhalt liefert.

  • Testen Sie Vorlagen für verschiedene Besuchsarten. Eine Vorlage, die für Folgetermine geeignet ist, eignet sich möglicherweise nicht für neue Patientengespräche oder Wellnessuntersuchungen. Überprüfen Sie Ihre Vorlagen anhand einer repräsentativen Stichprobe von Patientenbefragungen, bevor Sie sie allgemein einsetzen.

Outputs

Die Umgebungsdokumentation generiert drei Ausgabedateien:

Transkriptionsdatei

Die Transkriptdatei enthält eine schrittweise Transkription mit Zeitstempeln auf Wortebene. Amazon Connect Health fügt die Rollenerkennung der Teilnehmer hinzu und kennzeichnet jeden Sprecher als KLINIKER oder PATIENT. Wenn eine Konversation mehr als einen Teilnehmer in jeder Kategorie hat, wird jedem Teilnehmer eine Nummer zugewiesen (z. B.CLINICIAN_0,CLINICIAN_1).

Datei zur Zuordnung klinischer Unterlagen und Evidenz

Die klinische Dokumentationsdatei enthält die strukturierte klinische Notiz, die aus dem Gespräch zwischen Patient und Arzt generiert wurde, und einen Abschnitt, in dem jede generierte Aussage mit ihrer Quelle im Gesprächsprotokoll oder der Eingabe im Patientenkontext verknüpft wird.

Die Datei folgt der verwalteten Vorlage oder den Anpassungsanweisungen, die zu Beginn der Sitzung bereitgestellt wurden. Jeder Abschnitt kann vom Besuch abgeleitete Inhalte (aus der Konversation) und aus dem Kontext abgeleitete Inhalte (aus dem Patientenkontext) enthalten. Je nach Vorlagenkonfiguration werden mehrere Ausgabeformate unterstützt: prose/free -Text und strukturiertes JSON. Im Bereich Evidence Mapping können Ärzte die Herkunft aller Inhalte überprüfen. AI-generated Jeder Zuordnungseintrag enthält den generierten Satz und die transcript/context Quellenreferenz.

After-visit Übersichtsdatei

Die Übersichtsdatei nach dem Besuch enthält eine Zusammenfassung für den Patienten, die in einer barrierefreien Sprache verfasst ist und von einem Arzt überprüft und fertiggestellt werden kann. Sie enthält eine Beschreibung des Besuchs in verständlicher Sprache, aktuelle Medikamente mit Dosierung und Häufigkeit, Anweisungen für die Nachsorge durch den Arzt und Maßnahmen für den Patienten.

Die Zusammenfassung wird aus der Datei mit den klinischen Unterlagen und nicht direkt aus dem Protokoll generiert, sodass die Konsistenz zwischen der klinischen Notiz und der Zusammenfassung für den Patienten gewährleistet ist.

Vollständige API-Parameterdetails, request/response Schemas und Anweisungen zur Streaming-Einrichtung finden Sie in der Amazon Connect Health API-Referenz.