AI-lääketieteelliset kirjoittajat muuttavat terveydenhuollon dokumentaatiota, mutta sellaisen rakentaminen, joka toimii kliinisissä olosuhteissa, vaatii enemmän kuin perustiedot. Tarvitset tarkan lääketieteellisen terminologian kaappauksen, luotettavan puhujan tunnistamisen ja yksityisyyden suojaukset, jotka suojaavat potilastietoja. Tämä opetusohjelma opastaa sinua rakentamaan toimivan AI-lääketieteellisen kirjoituksen Pythoniin. Aloitat peruskirjoituksen kanssa ja lisäät asteittain puhujan tunnistamista, PII-muokkausta, SOAP-muistiinpanojen luomista ja automaattista tietojen poistamista. Lopuksi sinulla on toimiva prototyyppi, joka käsittelee todellisia kliinisiä skenaarioita. What makes a production-ready medical scribe? Mikä tekee valmistetusta lääketieteellisestä kirjasta? Ennen kuin sukellat koodiin, ymmärrä, mikä erottaa todistusaineiston käyttöönotettavasta terveydenhuollon ratkaisusta. Essential features checklist Feature Why it matters Implementation Complexity High accuracy on medical terms Misheard drug names or dosages create clinical risks Medium - requires domain-specific models Speaker identification Distinguishes doctor from patient for proper documentation Low - handled by speech recognition API PII redaction Removes names, dates, and identifiers to protect privacy Medium - needs careful configuration SOAP note generation Converts conversations into structured clinical documentation Medium - requires LLM integration Automatic data deletion Ensures patient data doesn't persist on third-party servers Low - straightforward API calls Korkea tarkkuus lääketieteellisissä termeissä Huumeiden väärät nimet tai annokset aiheuttavat kliinisiä riskejä Medium - vaatii verkkotunnuskohtaisia malleja Puheiden tunnistaminen Erota lääkäri potilaasta asianmukaisen dokumentoinnin vuoksi Alhainen - käsittelee puheentunnistus API PII toimitus Poistaa nimet, päivämäärät ja tunnisteet yksityisyyden suojaamiseksi Keskisuuri - vaatii huolellista konfigurointia Soap Note -sukupolvi Kääntää keskustelut jäsenneltyyn kliiniseen dokumentaatioon Keskimääräinen - vaatii LLM-integraatiota Automaattinen tietojen poistaminen Varmistaa, että potilastietoja ei säilytetä kolmannen osapuolen palvelimilla Alhainen - yksinkertainen API-puhelu Step 1: Basic transcription setup Vaihe 1: Perustavanlaatuinen transkription asennus Tämä luo perustan ennen lääketieteellisten ominaisuuksien kerrostumista. import requests import time import dotenv import os dotenv.load_dotenv() base_url = "https://api.assemblyai.com" headers = {"authorization": os.getenv("AAI_API_KEY")} Step 2: Adding speaker identification Vaihe 2: Lisää puhujan tunnistus Lääketieteellinen dokumentaatio edellyttää, että tiedetään kuka sanoi mitä. Onko lääkäri määrännyt lääkkeen vai potilas pyytää sitä? kokoontumisesta tunnistaa, kun eri ihmiset puhuvat ja merkitsee heidät puhujaksi A, puhujaksi B ja niin edelleen. Ominaisuus, joka vastaa tiettyjä nimiä puhujille. Täällä kartoitamme nämä puhujatunnisteet rooleihin, kuten "lääkäri" ja "potilas". Puhuja Diagnoosi Puhujan tunnistaminen data = { "audio_url": "https://storage.googleapis.com/aai-web-samples/doctor-patient-co nvo.mp4", "speaker_labels": True, "speech_understanding": { "request": { "speaker_identification": { "speaker_type": "role", "known_values": ["Doctor", "Patient"] } Puhujan vuorovaikutus toimii parhaiten, kun jokainen puhuja puhuu vähintään 30 sekuntia keskeytyksettä, vaikka malli käsittelee reaalimaailman keskusteluja ristipuheilla ja lyhyillä lauseilla. Step 3: Improving medical terminology accuracy with word boost and protecting patient privacy with PII redaction Vaihe 3: Lääketieteellisen terminologian tarkkuuden parantaminen sanojen lisäämisellä ja potilaan yksityisyyden suojaaminen PII-toimituksella Yleinen ongelma: lääkärit määräävät "Tramadol", mutta transkripti osoittaa "tramadolia" alempana. Pienet muotoiluongelmat kuten tämä asia lääketieteellisissä asiakirjoissa, joissa tarkkuus on kriittinen. kokoontumisesta Ominaisuuden avulla voit ohjata mallia tiettyihin ehtoihin ja niiden asianmukaiseen muotoiluun. Tarjoat luettelon lääketieteellisistä termeistä, lääkkeiden nimistä tai menettelyistä sekä mallin Kirjoita Boost Lääketieteelliset keskustelut sisältävät myös suojattuja terveystietoja (PHI): potilaan nimet, syntymäajat, sosiaaliturvatunnukset, osoitteet.Jos nämä tiedot näkyvät transkripteissäsi ja tallennat ne kolmannen osapuolen palvelimille, olet mahdollisesti rikkonut yksityisyyden suojaa koskevia sääntöjä. kokoontumisesta automaattisesti tunnistaa ja poistaa henkilökohtaisesti tunnistettavia tietoja transkripteistä. Voit määrittää, mitä muokataan ja miten. PII toimitus }}, "redact_pii": True, "redact_pii_policies": ["person_name", "organization", "occupation"], "redact_pii_sub": "hash", "keyterms_prompt": ["Tramadol"] } response = requests.post(base_url + "/v2/transcript", headers=headers, json=data) transcript_json = response.json() transcript_id = transcript_json["id"] polling_endpoint = f"{base_url}/v2/transcript/{transcript_id}" while True: transcript = requests.get(polling_endpoint, headers=headers).json() if transcript["status"] == "completed": for utterance in transcript["utterances"]: print(f"{utterance['speaker']}: {utterance['text']}") break else: time.sleep(3) Step 4: Generating SOAP notes with LLM Gateway Vaihe 4: SOAP-muistiinpanojen luominen LLM Gatewayllä Raaka transkripti on hyödyllinen, mutta lääkärit tarvitsevat jäsenneltyä dokumentaatiota. SOAP-muistiinpanot (subjektiivinen, objektiivinen, arviointi, suunnitelma) ovat kliininen standardi potilaiden tapaamisten järjestämiseksi. Tässä on, missä suuret kielimallit tulevat sisään. assemblyAI tarjoaa yhtenäisen käyttöliittymän erilaisille LLM-ohjelmille. Soita se olemassa olevalla AssemblyAI API-avaimella. LLM Gateway prompt = "Create a SOAP note summary of the consultation." llm_gateway_data = { "model": "gemini-3-pro-preview", "messages": [ {"role": "user", "content": f"{prompt}\n\nTranscript: {transcript['text']}"} ] } llm_gateway_response = requests.post( "https://llm-gateway.assemblyai.com/v1/chat/completions", headers=headers, json=llm_gateway_data ) print(llm_gateway_response.json()["choices"][0]["message"]["conte nt"]) LLM käsittelee keskustelun ja tuottaa jäsenneltyjä kliinisiä muistiinpanoja. lääkäri saa dokumentaation valmiiksi EHR: lle ilman manuaalista transkriptiota. Step 5: Automatic data deletion Vaihe 5: Tietojen automaattinen poistaminen Luotettavin tapa suojata potilastietoja on varmistaa, että se ei pysy kolmansien osapuolten infrastruktuurissa. Kun olet poistanut transkriptin ja luonut SOAP-muistiinpanot, poista transkripti AssemblyAI:n palvelimilta. delete_request = requests.delete(polling_endpoint, headers=headers).json() delete_llm_gateway_response = requests.delete(f"https://llm-gateway.assemblyai.com/v1/chat/comp letions/{llm_gateway_response.json()['request_id']}", headers=headers) transcript = requests.get(polling_endpoint, headers=headers).json() print(transcript) Data retention for LLM Gateway Kun käytät LLM Gatewayä suoritetulla Business Associate Agreement (BAA) -sopimuksella ja Anthropic- tai Google-päätelmämalleilla, AssemblyAI tarjoaa nollan tietojen säilyttämisen syöttöihin ja tuloksiin. LLM Gateway käsittelee pyyntöjä efemeraalisesti. Transcript-tekstiäsi ja luotuja SOAP-muistiinpanoja ei tallenneta välittömän API-puhelun ulkopuolelle. Time-to-live for transcripts Transcript-tietojen suojaamiseksi AssemblyAI tarjoaa ajantasaisia (TTL) asetuksia. Marraskuun 26. päivästä 2024 lähtien allekirjoitetun Business Associate Agreement (BAA) -sopimuksen asiakkailla on automaattisesti kolmen päivän TTL, jota sovelletaan kaikkiin transcripteihin.Tämä TTL voi muuttua. Putting it all together Laita kaikki yhteen Tässä on täydellinen täytäntöönpano, jossa kaikki ominaisuudet ovat käytössä: import requests import time import dotenv import os dotenv.load_dotenv() base_url = "https://api.assemblyai.com" headers = {"authorization": os.getenv("AAI_API_KEY")} data = { "audio_url": "https://storage.googleapis.com/aai-web-samples/doctor-patient-co nvo.mp4", "speaker_labels": True, "speech_understanding": { "request": { "speaker_identification": { "speaker_type": "role", "known_values": ["Doctor", "Patient"] } }}, "redact_pii": True, "redact_pii_policies": ["person_name", "organization", "occupation"], "redact_pii_sub": "hash", "keyterms_prompt": ["Tramadol"] } response = requests.post(base_url + "/v2/transcript", headers=headers, json=data) transcript_json = response.json() transcript_id = transcript_json["id"] polling_endpoint = f"{base_url}/v2/transcript/{transcript_id}" while True: transcript = requests.get(polling_endpoint, headers=headers).json() if transcript["status"] == "completed": for utterance in transcript["utterances"]: print(f"{utterance['speaker']}: {utterance['text']}") break else: time.sleep(3) prompt = "Create a SOAP note summary of the consultation." llm_gateway_data = { "model": "gemini-3-pro-preview", "messages": [ {"role": "user", "content": f"{prompt}\n\nTranscript: {transcript['text']}"} ] } llm_gateway_response = requests.post( "https://llm-gateway.assemblyai.com/v1/chat/completions", headers=headers, json=llm_gateway_data ) print(llm_gateway_response.json()["choices"][0]["message"]["conte nt"]) delete_request = requests.delete(polling_endpoint, headers=headers).json() delete_llm_gateway_response = requests.delete(f"https://llm-gateway.assemblyai.com/v1/chat/completions/{llm_gateway_response.json()['request_id']}", headers=headers) transcript = requests.get(polling_endpoint, headers=headers).json() print(transcript) Why this approach works for medical AI Miksi tämä lähestymistapa toimii lääketieteelliselle AI: lle Lääketieteellisen kirjoituksen rakentaminen vaatii enemmän kuin transkription tarkkuutta. Kyse on sellaisen järjestelmän luomisesta, joka sopii kliinisiin työnkulkuihin kunnioittaen samalla potilaan yksityisyyttä. Tämä toteutus käsittelee reaalimaailman haasteita: Lääketieteellisen terminologian tarkkuus sanan lisäämisen kautta Selkeä puhujan määrittäminen puhujan diarisoinnilla Yksityisyyden suoja PII-muokkauksen ja automaattisen poistamisen kautta Rakennettu tuotanto LLM-generoitujen SOAP-muistiinpanojen kautta Tietojen minimointi poistamalla kaikki jäljet kolmannen osapuolen palvelimilta Tulos: toimiva prototyyppi, jota voit testata kliinisellä äänellä. Täältä voit lisätä ominaisuuksia, kuten reaaliaikaista transkriptiota live-keskusteluihin, integraatiota EHR-järjestelmiin tai räätälöityjä SOAP-muistiinpanomalleja eri erikoisuuksiin. Tämä täytäntöönpano käsittelee lääketieteellisen AI: n keskeisiä haasteita: terminologian tarkkuus sanan lisäämisen kautta, selkeä puhujan määrittäminen diarisoinnilla, yksityisyyden suojaaminen PII-toimituksen ja automaattisen poistamisen kautta sekä jäsennelty tulos LLM: n tuottamien SOAP-muistiinpanojen kautta. Yhdistelmä luo perustan kliinisen tason lääketieteellisille kirjoittajille, jotka kunnioittavat potilaan yksityisyyttä ja toimittavat dokumentointia, joka sopii todellisiin terveydenhuollon työnkulkuihin. Next steps Seuraavat askeleet Haluatko rakentaa tälle säätiölle? tarkista nämä resurssit: AssemblyAI:n puhe-tekstin dokumentaatio PII:n muokkauspolitiikat ja konfigurointi LLM Gateway lääketieteellisiin käyttötapauksiin Jos rakennat terveydenhuollon AI-tuotetta ja tarvitset apua vaatimustenmukaisuuden, tarkkuuden vertailuarvojen tai tuotannon käyttöönoton osalta, AssemblyAI-tiimillä on kokemusta lääketieteellisten AI-yritysten kanssa ja voi auttaa navigoimaan teknisiin ja sääntelyyn liittyviin haasteisiin.