View a markdown version of this page

Dokumentasi ambient - Amazon Connect Health

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Dokumentasi ambient

Dokumentasi ambien menangkap percakapan pasien-dokter secara real time dan menghasilkan dokumentasi klinis terstruktur untuk tinjauan penyedia. Layanan ini menggabungkan pengenalan suara dengan AI generatif untuk menghasilkan catatan klinis, mengekstrak terminologi medis, mengidentifikasi peran pembicara, dan mengklasifikasikan segmen dialog.

penting

Dokumentasi ambient Amazon Connect Health menghasilkan hasil probabilistik. Akurasi keluaran bervariasi berdasarkan kualitas audio, kebisingan latar belakang, kejernihan speaker, kompleksitas terminologi medis, dan bahasa khusus konteks. Semua output harus ditinjau keakuratannya oleh profesional medis terlatih sebelum digunakan dalam perawatan pasien.

Dokumentasi ambien Amazon Connect Health tersedia di Wilayah AS Timur (Virginia N.) (us-east-1) dan AS Barat (Oregon) (us-west-2).

Cara kerja dokumentasi ambient

Dokumentasi ambient menggunakan streaming audio real-time melalui HTTP/2 atau WebSocket. Alur kerja meliputi:

  1. Buat langganan — Kaitkan penyedia dengan agen dokumentasi ambient. Langganan secara otomatis dibuat dalam mode yang diaktifkan.

  2. Streaming audio — Aplikasi Anda mengalirkan audio dari percakapan pasien-dokter ke Amazon Connect Health melalui atau. HTTP/2 WebSocket Layanan mentranskripsikan audio secara real time dan mengidentifikasi speaker.

  3. Hasilkan dokumentasi — Setelah percakapan berakhir, layanan menghasilkan catatan klinis terstruktur, pemetaan bukti, dan ringkasan setelah kunjungan berdasarkan templat yang dikonfigurasi.

  4. Ambil output — Layanan menulis transkrip, dokumentasi klinis, dan ringkasan setelah kunjungan ke bucket Amazon S3 Anda yang dikonfigurasi.

Persyaratan Teknis

  • Bahasa yang didukung - Bahasa Inggris AS (id)

  • Format audio yang didukung - FLAC, PCM

  • Pengkodean - PCM 16-bit

  • Tingkat sampel - 16.000 Hz atau lebih tinggi

Spesialisasi medis yang didukung

Dokumentasi ambient saat ini mendukung spesialisasi berikut:

  • Imunologi Alergi

  • Kardiologi

  • Dermatologi

  • Endokrinologi

  • Gastroenterologi

  • Hematology/Oncology

  • Penyakit Menular

  • Nefrologi

  • Neurologi

  • OBGYN

  • Onkologi

  • Oftalmologi

  • Ortopedi

  • Otolaringologi

  • Obat Nyeri

  • Pediatri

  • Perawatan Primer

  • Psikiatri

  • Pulmonologi

  • Reumatologi

  • Bedah

  • Urologi

Dokumentasi ambient Amazon Connect Health menggunakan AI untuk menangkap dan mentranskripsikan percakapan klinis secara real time. Karena fitur ini mencatat komunikasi lisan yang mungkin berisi informasi kesehatan yang dilindungi (PHI), pelanggan dan integrator hilir mereka bertanggung jawab untuk mematuhi semua undang-undang persetujuan, pencatatan, dan privasi yang berlaku. Ini termasuk mendapatkan semua persetujuan yang diwajibkan secara hukum sebelum mengaktifkan dokumentasi ambien untuk setiap pertemuan pasien. AWS tidak mengumpulkan persetujuan dari pasien atas nama Anda.

Persetujuan yang sesuai harus diperoleh dari setiap pasien dan siapa pun yang hadir di ruangan ketika dokumentasi ambien digunakan. Sebagai bagian dari mendapatkan persetujuan, pasien harus diberi tahu bahwa kunjungan akan dicatat dan digunakan oleh penyedia layanan AI untuk membuat catatan klinis, bahwa informasi mereka dapat dibagikan dengan penyedia layanan, dan bahwa mereka dapat menurun tanpa berdampak pada perawatan mereka. Pelanggan dan integrator harus menyimpan catatan persetujuan pasien, sesuai dengan hukum negara bagian yang berlaku dan kebijakan retensi internal. Pelanggan harus memastikan bahwa persetujuan diperoleh sesuai dengan praktik privasi organisasi mereka.

Contoh bahasa:

“Sebelum kita mulai, saya ingin memberi tahu Anda bahwa kunjungan hari ini akan direkam dan dipantau oleh penyedia layanan AI untuk membantu dokumentasi. Apakah Anda setuju untuk melanjutkan?”

Manajemen berlangganan

Buat langganan

Untuk membuat langganan, hubungi operasi CreateSubscription API. Ini menghasilkan keunikan subscriptionId yang Anda gunakan untuk mengotorisasi pengguna dan memulai sesi streaming. Langganan secara otomatis dibuat dalam mode yang diaktifkan.

Tip

Buat langganan pada penggunaan pertama pengguna untuk menyelaraskan langganan mulai dengan penggunaan aktual.

Nonaktifkan langganan

Untuk menghentikan sementara langganan dari menerima sesi streaming baru, hubungi operasi DeactivateSubscription API. Langganan yang dinonaktifkan mempertahankan konfigurasinya dan dapat diaktifkan kembali nanti. In-progress aliran selesai secara normal.

penting

Menonaktifkan langganan segera kehilangan masa uji coba gratis yang tersisa. Jika langganan yang dinonaktifkan selama uji coba gratis diaktifkan kembali nanti, itu diaktifkan kembali sebagai langganan berbayar.

Aktifkan kembali langganan

Langganan yang dinonaktifkan dapat diaktifkan kembali dengan memanggil operasi ActivateSubscription API dengan. subscriptionId Pengukuran berbayar dimulai segera setelah pengaktifan kembali.

Streaming audio

Dokumentasi ambient memproses audio secara real time melalui koneksi streaming. Aplikasi Anda membuka koneksi, mengirim potongan audio sebagai pesan yang disandikan peristiwa, dan menerima hasil transkripsi saat percakapan berlangsung. Dokumentasi ambient mendukung dua transportasi streaming: HTTP/2 dan WebSocket ()wss://. Kedua transportasi memberikan kemampuan yang sama, dengan persyaratan otentikasi dan otorisasi yang sama, kuota, dan pembatasan. Perilaku sesi - pembuatan, streaming, dan penghentian - identik di kedua transportasi.

catatan

Sebuah sesi terikat pada transportasi di mana ia dimulai. Anda tidak dapat memulai sesi pada satu transportasi dan melanjutkannya di yang lain. Jika Anda menjeda dan melanjutkan sesi, sesi yang dilanjutkan harus menggunakan transportasi yang sama yang memulai sesi.

Jika audio Anda memiliki dua saluran, Anda dapat menggunakan identifikasi saluran untuk mentranskripsikan ucapan dari setiap saluran secara terpisah. Dokumentasi ambient saat ini mendukung audio hingga dua saluran. Dalam transkrip Anda, saluran diberi label ch_0 danch_1.

Selain bagian transkrip standar (transkrip dan item), permintaan dengan identifikasi saluran diaktifkan termasuk bagian channel_labels. Bagian ini berisi setiap ucapan atau tanda baca, dikelompokkan berdasarkan saluran, dan label saluran terkait, stempel waktu, dan skor kepercayaan. Perhatikan bahwa jika seseorang di satu saluran berbicara pada waktu yang sama dengan orang di saluran terpisah, stempel waktu untuk setiap saluran tumpang tindih saat individu berbicara satu sama lain.

Streaming HTTP/2

HTTP/2 adalah transportasi streaming yang digunakan oleh AWS SDK, dan cocok untuk aplikasi sisi server dan asli. Aplikasi Anda membuat HTTP/2 koneksi, mengirim potongan audio dan mengontrol peristiwa sebagai pesan aliran peristiwa, dan menerima peristiwa transkrip secara real time melalui koneksi yang sama. Saat Anda menggunakan AWS SDK, SDK menangani penyiapan koneksi, penandatanganan permintaan, dan pengkodean aliran peristiwa untuk Anda.

Untuk penyiapan HTTP/2 streaming mendetail dan pengkodean aliran peristiwa, lihat Referensi API Amazon Connect Health.

Menggunakan AWS SDK

Contoh kode berikut menunjukkan cara menyiapkan sesi streaming dokumentasi ambient Amazon Connect Health menggunakan 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); } } }

Streaming WebSocket

WebSocket dukungan memungkinkan Anda melakukan streaming audio untuk dokumentasi ambient dari browser web atau WebSocket klien lain. Semua WebSocket koneksi menggunakan TLS (wss://).

WebSocket titik akhir

Connect ke WebSocket endpoint untuk Wilayah tempat Anda menggunakan dokumentasi ambient:

Region Titik akhir

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

Mengautentikasi koneksi WebSocket

Anda mengautentikasi WebSocket koneksi dengan URL yang telah ditetapkan sebelumnya. Untuk membuat URL yang telah ditetapkan sebelumnya, tandatangani GET permintaan ke WebSocket titik akhir dengan AWS Signature Version 4 (SigV4) dan sematkan parameter penandatanganan (X-Amz-Algorithm,,,,X-Amz-Credential, X-Amz-Date X-Amz-ExpiresX-Amz-Signature, danX-Amz-SignedHeaders) serta parameter sesi sebagai parameter string kueri. Layanan memvalidasi URL yang telah ditetapkan sebelumnya saat koneksi dibuat. Jika URL yang ditetapkan sebelumnya tidak valid, kedaluwarsa, atau tidak sah, layanan menolak sesi dengan mengembalikan kesalahan dan menutup sambungan.

Nilai maksimum untuk X-Amz-Expires adalah 60 detik (1 menit). Setelah koneksi dibuat, tanda tangan dari URL yang telah ditetapkan sebelumnya menjadi tanda tangan benih yang digunakan untuk menandatangani setiap frame aliran peristiwa berikutnya, memberikan otorisasi berkelanjutan untuk masa pakai koneksi.

Tidak diperlukan tindakan IAM baru untuk WebSocket. Layanan ini mengotorisasi WebSocket koneksi dengan health-agent:StartMedicalScribeListeningSession izin yang sama yang digunakan untuk HTTP/2 streaming.

Contoh berikut menunjukkan format WebSocket URL presigned. Jeda baris ditambahkan untuk keterbacaan.

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>

Menandatangani bingkai aliran acara

Setiap frame event-stream yang Anda kirim setelah upgrade — konfigurasi, audio, dan kontrol sesi — harus ditandatangani secara individual. Setiap frame membawa dua header event-stream: :date (stempel waktu penandatanganan) dan :chunk-signature (tanda tangan bingkai). Tanda tangan bingkai membentuk rantai: setiap tanda tangan dihitung dari tanda tangan bingkai sebelumnya, dan rantai bingkai pertama dari X-Amz-Signature nilai di URL yang telah ditentukan sebelumnya.

Untuk menandatangani bingkai, buat string untuk ditandatangani menggunakan AWS4-HMAC-SHA256-PAYLOAD algoritme, lalu hitung di HMAC-SHA256 atasnya dengan kunci penandatanganan SigV4 yang diturunkan untuk tanggal permintaan, Wilayah, dan layanan. health-agent String yang akan ditandatangani memiliki format berikut:

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

Hitung tanda tangan dan lampirkan ke bingkai:

  1. signature = HMAC-SHA256(signingKey, stringToSign), dikodekan sebagai string hex.

  2. Tambahkan :date dan :chunk-signature header ke bingkai, lalu kirimkan.

  3. Simpan ini signature dan gunakan sebagai <prior-signature> saat menandatangani frame berikutnya.

Kunci penandatanganan diturunkan dengan cara yang sama seperti untuk permintaan SigV4: rantai HMAC-SHA256 di atas stempel tanggal, Wilayah, nama layanan (health-agent), danaws4_request, mulai dari kunci akses rahasia Anda yang diawali dengan. AWS4

Mengirim audio WebSocket

Setelah koneksi dibuat, kirim konfigurasi sesi Anda, lalu streaming audio sebagai peristiwa audio biner. Masing-masing binaryAudioEvent membawa sepotong byte PCM atau FLAC mentah. Layanan mengembalikan peristiwa transkrip melalui koneksi yang sama secara real time. Untuk mengakhiri sesi, kirim acara kontrol END_OF_SESSION sesi.

WebSocket rekomendasi klien

Layanan menandakan akhir sesi dengan mengirimkan bingkai WebSocket dekat. Rancang klien Anda untuk menangani penutupan koneksi dengan anggun:

  • Tunggu server menutup bingkai sebelum menutup koneksi. Setelah Anda mengirimEND_OF_SESSION, layanan mengirimkan hasil transkrip akhir dan kemudian bingkai tutup. Jika kirim gagal atau terjadi kesalahan, layanan dapat mengirim bingkai kesalahan terstruktur diikuti oleh bingkai tutup. Menutup koneksi segera dapat membuang pesan akhir ini, jadi tunggu server menutup koneksi.

  • Gunakan kode status tutup untuk menentukan hasilnya. Kode tutup 1000 (Penutupan Normal) menunjukkan sesi selesai dengan sukses. Kode tutup lainnya menunjukkan kesalahan, dan alasan penutupan memberikan detail tambahan.

  • Terapkan batas waktu sebagai perlindungan. Untuk menghindari menunggu tanpa batas waktu jika koneksi menjadi tidak responsif, tutup koneksi setelah masa tenggang yang wajar jika tidak ada bingkai tutup server yang diterima.

AWS SDK tidak mendukung WebSocket streaming. Untuk melakukan streaming WebSocket, sambungkan ke titik akhir secara langsung seperti yang dijelaskan di bagian ini. Referensi API Amazon Connect Health mendokumentasikan operasi API serta parameter permintaan dan responsnya, yang berlaku untuk kedua transportasi.

Penyimpanan

Lokasi penyimpanan S3 harus ditentukan pada awal sesi. Artefak keluaran disimpan di lokasi dasar berikut:

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

Catatan klinis disimpan dalam clinical-notes folder di lokasi dasar ini.

Konteks pasien

Konteks pasien memberi agen riwayat klinis sebelum percakapan melalui parameter encounterContext API. encounterContextObjek berisi bidangunstructuredContext, yang menerima hingga 10 KB data teks untuk setiap sesi. Ketika Anda menyertakan konteks pasien, agen menggunakannya untuk memperkaya dokumentasi yang dihasilkan dengan informasi latar belakang yang tidak dibahas secara eksplisit selama kunjungan.

Konteks pasien dapat mencakup:

  • Catatan pertemuan sebelumnya dan ringkasan kunjungan

  • Daftar obat aktif

  • Daftar masalah dan diagnosa

  • Alergi dan imunisasi

  • Laporan lab dan pencitraan yang relevan

  • Riwayat bedah dan keluarga

  • Kata ganti yang disukai pasien, digunakan saat merujuk pada pasien dalam hasil klinis yang dihasilkan

Konteks digunakan di seluruh catatan yang dihasilkan untuk meningkatkan spesifisitas dan akurasi ketika informasi yang diperlukan tidak ada dalam transkrip saja, dengan pemetaan bukti ke bahan sumber untuk tinjauan dokter.

catatan

Contoh berikut menggunakan data pasien fiksi hanya untuk tujuan ilustrasi.

Contoh konteks pasien

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

Templat catatan klinis

Template menentukan struktur, bagian, dan aturan pemformatan yang diikuti agen saat membuat dokumentasi klinis. Anda harus menentukan format output dengan meneruskan objek konfigurasi ke parameter noteTemplateSettings API dengan setiap sesi. Dokumentasi ambient mendukung dua metode untuk menentukan format output - templat terkelola atau templat khusus.

Template terkelola

Dokumentasi ambient menyediakan tujuh templat catatan pra-bangun. Objek konfigurasi untuk template terkelolamanagedTemplate,, menentukan template melalui templateType parameter. Template defaultnya adalah HISTORY_AND_PHYSICAL.

Templat Deskripsi Kasus penggunaan

HISTORY_AND_PHYSICAL (default)

Ringkasan untuk bagian dokumentasi klinis utama

Pertemuan kesehatan fisik secara umum

FISIK_SABUN

Format SOAP yang berfokus pada kesehatan fisik

Pertemuan kesehatan fisik menggunakan struktur SOAP

BEHAVIORAL_SOAP

Format SOAP yang berfokus pada kesehatan perilaku

Pertemuan kesehatan perilaku menggunakan struktur SOAP

GIRPP

Progress-toward-goals format

Kesehatan perilaku - melacak kemajuan pasien

BIRP

Pola perilaku dan format respons

Kesehatan perilaku - mendokumentasikan pola perilaku

SIRP

Konteks situasional dari format terapi

Kesehatan perilaku — menekankan konteks situasional

DAP

Format dokumentasi klinis yang disederhanakan

Pertemuan singkat atau terfokus

Bagian HISTORY_AND_PHYSICAL

Bagian Deskripsi

KELUHAN UTAMA

Deskripsi singkat tentang alasan pasien untuk mengunjungi dokter

RIWAYAT PENYAKIT SAAT INI

Informasi tentang penyakit pasien, termasuk tingkat keparahan, onset, waktu, perawatan saat ini, dan area yang terkena

TINJAUAN SISTEM

Patient-reported evaluasi gejala di berbagai sistem tubuh

RIWAYAT MEDIS MASA LALU

Kondisi medis sebelumnya, operasi, dan perawatan

SEJARAH KELUARGA MASA LALU

Kondisi kesehatan yang berjalan dalam keluarga pasien

SEJARAH SOSIAL MASA LALU

Kehidupan sosial, kebiasaan, pekerjaan, dan faktor lingkungan yang mempengaruhi kesehatan

PEMERIKSAAN FISIK

Temuan dokter dari pemeriksaan fisik sistem tubuh dan tanda-tanda vital

PENGUJIAN DIAGNOSTIK

Hasil dan interpretasi tes laboratorium, studi pencitraan, dan prosedur diagnostik lainnya

PENILAIAN

Penilaian dokter terhadap kesehatan pasien

RENCANA

Clinician-recommended perawatan medis, penyesuaian gaya hidup, dan janji lebih lanjut

Bagian PHYSICAL_SOAP dan BEHAVIORAL_SOAP

Bagian Deskripsi

Subyektif

Tujuan pasien, pengalaman, dan masalah yang ada dan masa lalu

Tujuan

Data dan fakta tentang pasien

Penilaian

Diagnosis dokter terhadap situasi pasien

Rencana

Clinician-recommended langkah selanjutnya dalam pengobatan, termasuk intervensi dan rujukan di masa depan

catatan

PHYSICAL_SOAP dioptimalkan untuk dokumentasi kesehatan fisik. BEHAVIORAL_SOAP dioptimalkan untuk dokumentasi kesehatan perilaku. Keduanya berbagi struktur bagian yang sama.

Bagian GIRPP

Bagian Deskripsi

Tujuan

Masalah, tantangan, atau perilaku yang teridentifikasi untuk diatasi melalui pengobatan

Intervensi

Perawatan, metode, atau teknik khusus yang digunakan oleh dokter

Respons

Bagaimana pasien menanggapi intervensi, termasuk tingkat partisipasi dan umpan balik

Kemajuan

Penilaian dokter tentang gerakan menuju tujuan pengobatan

Rencana

Clinician-recommended langkah selanjutnya dalam perawatan, termasuk intervensi masa depan, pekerjaan rumah, dan rujukan

Bagian BIRP

Bagian Deskripsi

Perilaku

Masalah yang dihadapi pasien dan respons mereka terhadap pengobatan

Intervensi

Perawatan, metode, atau teknik khusus yang digunakan oleh dokter

Respons

Bagaimana pasien menanggapi intervensi

Rencana

Langkah selanjutnya dalam perawatan

Bagian SIRP

Bagian Deskripsi

Situasi

Masalah yang dihadirkan pasien dan tujuan mereka untuk mencari terapi

Intervensi

Perawatan, metode, atau teknik khusus yang digunakan oleh dokter

Respons

Bagaimana pasien menanggapi intervensi

Rencana

Clinician-recommended langkah selanjutnya dalam perawatan

Bagian DAP

Bagian Deskripsi

Data

Alasan pasien untuk mencari pengobatan dan informasi tentang pasien

Penilaian

Diagnosis dokter terhadap situasi pasien

Rencana

Clinician-recommended langkah selanjutnya dalam perawatan

Template kustom

Dokumentasi ambient menggunakan model kustomisasi dua lapis: Spesifikasi Dasar dan Output. Kedua lapisan ini dikelola dalam objek konfigurasi,customTemplate. Objek customTemplate konfigurasi berisi dua parameter: templateType mengatur template Base dan templateInstructions berisi Spesifikasi Output.

Base (templateType) menetapkan struktur organisasi dari fakta klinis yang terdeteksi selama percakapan. Template dasar berikut didukung:

Basis Deskripsi Kasus penggunaan

SEJARAH_DAN_FISIK

Ringkasan untuk bagian dokumentasi klinis utama

Pertemuan kesehatan fisik secara umum

BEHAVIORAL_SOAP

Format SOAP yang berfokus pada kesehatan perilaku

Pertemuan kesehatan perilaku menggunakan struktur SOAP

GIRPP

Progress-toward-goals format

Kesehatan perilaku - melacak kemajuan pasien

BIRP

Pola perilaku dan format respons

Kesehatan perilaku - mendokumentasikan pola perilaku

SIRP

Konteks situasional dari format terapi

Kesehatan perilaku — menekankan konteks situasional

DAP

Format dokumentasi klinis yang disederhanakan

Pertemuan singkat atau terfokus

Objek Spesifikasi Output (templateInstructions) diatur sebagai array instruksi, dengan sectionHeader yang mendefinisikan nama bagian dan sectionInstructions yang menggabungkan instruksi dan template untuk bagian itu.

Instruksi kustomisasi dapat mencakup tiga jenis arahan:

  • Instruksi verbositas — Kontrol keringkasan atau elaborasi konten. Contoh: “Jelaskan keluhan utama dalam 1 kalimat atau kurang.”

  • Petunjuk penggunaan templat — Arahkan cara agen menangani ketidaksejajaran antara template dan konten pertemuan. Contoh: “Ikuti template dengan tepat: jika data yang diminta tidak tersedia, tulis INFORMASI TIDAK DITEMUKAN.”

  • Instruksi gaya - Tentukan persyaratan pemformatan, terminologi, dan penalaran. Contoh: “Gunakan masalah bernomor di bagian Penilaian.”

Template dapat disediakan sebagai teks dengan placeholder, skema JSON terstruktur, atau contoh catatan sebelumnya.

Metode Deskripsi Gunakan kapan

Template teks dengan placeholder

Template dengan header bagian dan bidang placeholder (seperti<chief_complaint>) yang diisi agen dari pertemuan

Anda ingin kontrol yang tepat atas tata letak bagian dan penempatan konten

Template JSON terstruktur

Skema JSON yang mendefinisikan bidang, bersarang, dan aturan pemformatan per bidang

EHR Anda membutuhkan output data terstruktur daripada prosa

Contoh catatan sebelumnya

Catatan klinis sebelumnya diberikan sebagai referensi untuk format dan gaya yang diinginkan

Penyedia menginginkan catatan yang cocok dengan pola dokumentasi yang ada

catatan

Layanan ini tanpa kewarganegaraan. Untuk menggunakan catatan sebelumnya sebagai referensi gaya, aplikasi Anda harus memasukkannya ke dalam instruksi untuk setiap sesi. Agen tidak mempertahankan preferensi penyedia di seluruh sesi.

Contoh instruksi kustomisasi

Contoh berikut menunjukkan instruksi kustomisasi untuk catatan SOAP menggunakan objek customTemplate konfigurasi.

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

Templat praktik terbaik

Agen mencapai kepatuhan tata letak rata-rata 97,7% dengan templat yang dirancang dengan baik.

  • Tentukan struktur catatan Anda dengan header bagian bernama. Buat daftar setiap bagian dari catatan yang Anda inginkan berdasarkan nama, menggunakan pembatas yang konsisten. Model menggunakan header ini sebagai jangkar struktural untuk menempatkan konten di lokasi yang benar.

  • Gunakan placeholder deskriptif yang menjelaskan konten apa yang termasuk di setiap bagian. Misalnya, Chief Complaint: <Brief statement in patient’s own words, if available>.

  • Hitung subbagian yang diharapkan untuk bidang multi-bagian. Untuk bagian yang mencakup beberapa kategori (seperti sistem tubuh atau daftar masalah), daftarkan secara eksplisit dengan nilai representatif untuk menunjukkan ruang lingkup.

  • Tangani informasi yang hilang dengan anggun. Gunakan frasa seperti “jika tersedia” atau “jika berlaku” di dalam placeholder untuk memberi sinyal bahwa suatu bagian dapat dihilangkan ketika pertemuan tidak menghasilkan konten yang relevan.

  • Uji templat di seluruh jenis kunjungan. Template yang berfungsi untuk kunjungan tindak lanjut mungkin tidak sesuai dengan pertemuan pasien baru atau ujian kesehatan. Validasi template Anda terhadap sampel pertemuan yang representatif sebelum menerapkan secara luas.

Output

Dokumentasi ambient menghasilkan tiga file output:

Berkas transkrip

File transkrip berisi transkripsi belokan demi belokan dengan stempel waktu tingkat kata. Amazon Connect Health menambahkan deteksi peran peserta, memberi label pada setiap pembicara sebagai CLINICIAN atau PATIENT. Jika percakapan memiliki lebih dari satu peserta dalam setiap kategori, setiap peserta diberi nomor (misalnya,CLINICIAN_0,CLINICIAN_1).

Dokumentasi klinis dan file pemetaan bukti

File dokumentasi klinis berisi catatan klinis terstruktur yang dihasilkan dari percakapan pasien-dokter dan bagian yang menghubungkan setiap pernyataan yang dihasilkan kembali ke sumbernya dalam transkrip percakapan atau input konteks pasien.

File mengikuti templat terkelola atau instruksi penyesuaian yang disediakan di awal sesi. Setiap bagian dapat berisi konten yang diturunkan dari kunjungan (dari percakapan) dan konten yang diturunkan dari konteks (dari input konteks pasien). Beberapa format output didukung: prose/free -text dan JSON terstruktur tergantung pada konfigurasi template. Bagian pemetaan bukti memungkinkan dokter untuk memverifikasi asal konten apa pun AI-generated . Setiap entri pemetaan berisi kalimat yang dihasilkan dan transcript/context referensi sumber.

After-visit file ringkasan

File ringkasan setelah kunjungan berisi ringkasan yang dihadapi pasien yang ditulis dalam bahasa yang dapat diakses untuk tinjauan dan finalisasi dokter. Ini mencakup deskripsi kunjungan dengan bahasa sederhana, obat-obatan saat ini dengan dosis dan frekuensi, instruksi tindak lanjut dokter, dan item tindakan untuk pasien.

Ringkasan dihasilkan dari file dokumentasi klinis, tidak langsung dari transkrip, memastikan konsistensi antara catatan klinis dan ringkasan yang dihadapi pasien.

Untuk detail parameter API lengkap, request/response skema, dan petunjuk penyiapan streaming, lihat Referensi API Amazon Connect Health.