開始 AWS HealthScribe 工作 - Amazon Transcribe

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

開始 AWS HealthScribe 工作

您可以使用 AWS CLI 或 AWS SDK 開始 AWS HealthScribe 工作;請參閱下列項目,取得範例。

此範例使用 start-medical-scribe-job 指令。如需詳細資訊,請參閱 StartMedicalScribeJob

aws transcribe start-medical-scribe-job \ --region us-west-2 \ --medical-scribe-job-name my-first-medical-scribe-job \ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac \ --output-bucket-name DOC-EXAMPLE-BUCKET \ --DataAccessRoleArn=arn:aws:iam::111122223333:role/ExampleRole \ --settings ShowSpeakerLabels=false,ChannelIdentification=true \ --channel-definitions ChannelId=0,ParticipantRole=CLINICIAN ChannelId=1,ParticipantRole=PATIENT

這是使用 start-medical-scribe-job 指令的另一個範例,以及帶其他設定的請求內文。

aws transcribe start-medical-scribe-job \ --region us-west-2 \ --cli-input-json file://filepath/my-first-medical-scribe-job.json

檔案 my-first-medical-scribe-job.json 包含以下請求內文。

{ "MedicalScribeJobName": "my-first-medical-scribe-job", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/ExampleRole", "Settings": { "ShowSpeakerLabels": false, "ChannelIdentification": true }, "ChannelDefinitions": [ { "ChannelId": 0, "ParticipantRole":"CLINICIAN" }, { "ChannelId": 1, "ParticipantRole":"PATIENT" } ] }

下列範例會使用 AWS SDK for Python (Boto3) 以提出 start_medical_scribe_job 請求。如需詳細資訊,請參閱 StartMedicalScribeJob

from __future__ import print_functionimport timeimport boto3 transcribe = boto3.client('transcribe', 'us-west-2') job_name = "my-first-medical-scribe-job" job_uri = "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" transcribe.start_medical_scribe_job( MedicalScribeJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'DOC-EXAMPLE-BUCKET', DataAccessRoleArn = 'arn:aws:iam::111122223333:role/ExampleRole', Settings = { 'ShowSpeakerLabels': false, 'ChannelIdentification': true }, ChannelDefinitions = [ { 'ChannelId': 0, 'ParticipantRole': 'CLINICIAN' }, { 'ChannelId': 1, 'ParticipantRole': 'PATIENT' } ] ) while True: status = transcribe.get_medical_scribe_job(MedicalScribeJobName = job_name) if status['MedicalScribeJob']['MedicalScribeJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)
注意

AWS Management Console 目前不支援 AWS HealthScribe 工作。

範例輸出

除了文字記錄之外,StartMedicalScribeJob 請求還會產生獨立的臨床文件檔案。這兩個文件都是 JSON 格式,並存放在請求中指定的輸出位置。下列是每個輸出類型的範例:

AWS HealthScribe 文字記錄檔案 (來自StartMedicalScribeJob 請求) 採用下列格式:

{ "Conversation": { "ConversationId": "sampleConversationUUID", "JobName": "sampleJobName", "JobType": "ASYNC", "LanguageCode": "en-US", "ClinicalInsights": [ { "Attributes": [], "Category": "MEDICAL_CONDITION", "InsightId": "insightUUID1", "InsightType": "ClinicalEntity", "Spans": [ { "BeginCharacterOffset": 12, "Content": "pain", "EndCharacterOffset": 15, "SegmentId": "uuid1" } ], "Type": "DX_NAME" }, { "Attributes": [], "Category": "TEST_TREATMENT_PROCEDURE", "InsightId": "insightUUID2", "InsightType": "ClinicalEntity", "Spans": [ { "BeginCharacterOffset": 4, "Content": "mammogram", "EndCharacterOffset": 12, "SegmentId": "uuid2" } ], "Type": "TEST_NAME" }, { "Attributes": [], "Category": "TEST_TREATMENT_PROCEDURE", "InsightId": "insightUUID3", "InsightType": "ClinicalEntity", "Spans": [ { "BeginCharacterOffset": 15, "Content": "pap smear", "EndCharacterOffset": 23, "SegmentId": "uuid3" } ], "Type": "TEST_NAME" }, { "Attributes": [], "Category": "MEDICATION", "InsightId": "insightUUID4", "InsightType": "ClinicalEntity", "Spans": [ { "BeginCharacterOffset": 28, "Content": "phentermine", "EndCharacterOffset": 38, "SegmentId": "uuid4" } ], "Type": "GENERIC_NAME" }, { "Attributes": [ { "AttributeId": "attributeUUID1", "Spans": [ { "BeginCharacterOffset": 38, "Content": "high", "EndCharacterOffset": 41, "SegmentId": "uuid5" } ], "Type": "TEST_VALUE" } ], "Category": "TEST_TREATMENT_PROCEDURE", "InsightId": "insightUUID5", "InsightType": "ClinicalEntity", "Spans": [ { "BeginCharacterOffset": 14, "Content": "weight", "EndCharacterOffset": 19, "SegmentId": "uuid6" } ], "Type": "TEST_NAME" }, { "Attributes": [], "Category": "ANATOMY", "InsightId": "insightUUID6", "InsightType": "ClinicalEntity", "Spans": [ { "BeginCharacterOffset": 60, "Content": "heart", "EndCharacterOffset": 64, "SegmentId": "uuid7" } ], "Type": "SYSTEM_ORGAN_SITE" } ], "TranscriptItems": [ { "Alternatives": [ { "Confidence": 0.7925, "Content": "Okay" } ], "BeginAudioTime": 0.16, "EndAudioTime": 0.6, "Type": "PRONUNCIATION" }, { "Alternatives": [ { "Confidence": 0, "Content": "." } ], "BeginAudioTime": 0, "EndAudioTime": 0, "Type": "PUNCTUATION" }, { "Alternatives": [ { "Confidence": 1, "Content": "Good" } ], "BeginAudioTime": 0.61, "EndAudioTime": 0.92, "Type": "PRONUNCIATION" }, { "Alternatives": [ { "Confidence": 1, "Content": "afternoon" } ], "BeginAudioTime": 0.92, "EndAudioTime": 1.54, "Type": "PRONUNCIATION" }, { "Alternatives": [ { "Confidence": 0, "Content": "." } ], "BeginAudioTime": 0, "EndAudioTime": 0, "Type": "PUNCTUATION" }, { "Alternatives": [ { "Confidence": 0.9924, "Content": "You" } ], "BeginAudioTime": 1.55, "EndAudioTime": 1.88, "Type": "PRONUNCIATION" }, { "Alternatives": [ { "Confidence": 1, "Content": "lost" } ], "BeginAudioTime": 1.88, "EndAudioTime": 2.19, "Type": "PRONUNCIATION" }, { "Alternatives": [ { "Confidence": 1, "Content": "one" } ], "BeginAudioTime": 2.19, "EndAudioTime": 2.4, "Type": "PRONUNCIATION" }, { "Alternatives": [ { "Confidence": 1, "Content": "lb" } ], "BeginAudioTime": 2.4, "EndAudioTime": 2.97, "Type": "PRONUNCIATION" } ], "TranscriptSegments": [ { "BeginAudioTime": 0.16, "Content": "Okay.", "EndAudioTime": 0.6, "ParticipantDetails": { "ParticipantRole": "CLINICIAN_0" }, "SectionDetails": { "SectionName": "SUBJECTIVE" }, "SegmentId": "uuid1" }, { "BeginAudioTime": 0.61, "Content": "Good afternoon.", "EndAudioTime": 1.54, "ParticipantDetails": { "ParticipantRole": "CLINICIAN_0" }, "SectionDetails": { "SectionName": "OTHER" }, "SegmentId": "uuid2" }, { "BeginAudioTime": 1.55, "Content": "You lost one lb.", "EndAudioTime": 2.97, "ParticipantDetails": { "ParticipantRole": "CLINICIAN_0" }, "SectionDetails": { "SectionName": "SUBJECTIVE" }, "SegmentId": "uuid3" }, { "BeginAudioTime": 2.98, "Content": "Yeah, I think it, uh, do you feel more energy?", "EndAudioTime": 6.95, "ParticipantDetails": { "ParticipantRole": "CLINICIAN_0" }, "SectionDetails": { "SectionName": "SUBJECTIVE" }, "SegmentId": "uuid5" }, { "BeginAudioTime": 6.96, "Content": "Yes.", "EndAudioTime": 7.88, "ParticipantDetails": { "ParticipantRole": "CLINICIAN_0" }, "SectionDetails": { "SectionName": "SUBJECTIVE" }, "SegmentId": "uuid6" }, { "BeginAudioTime": 7.89, "Content": "Uh, how about craving for the carbohydrate or sugar or fat or anything?", "EndAudioTime": 17.93, "ParticipantDetails": { "ParticipantRole": "CLINICIAN_0" }, "SectionDetails": { "SectionName": "SUBJECTIVE" }, "SegmentId": "uuid7" } ] } }

這是使用 start-medical-scribe-job 指令的另一個範例,以及帶其他設定的請求內文。

aws transcribe start-medical-scribe-job \ --region us-west-2 \ --cli-input-json file://filepath/my-first-medical-scribe-job.json

檔案 my-first-medical-scribe-job.json 包含以下請求內文。

{ "MedicalScribeJobName": "my-first-medical-scribe-job", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/ExampleRole", "Settings": { "ShowSpeakerLabels": false, "ChannelIdentification": true }, "ChannelDefinitions": [ { "ChannelId": 0, "ParticipantRole":"CLINICIAN" }, { "ChannelId": 1, "ParticipantRole":"PATIENT" } ] }

文件見解檔案 (來自 StartMedicalScribeJob 要求) 具有下列格式:

{ "ClinicalDocumentation": { "Sections": [ { "SectionName": "CHIEF_COMPLAINT", "Summary": [ { "EvidenceLinks": [ { "SegmentId": "uuid1" }, { "SegmentId": "uuid2" }, { "SegmentId": "uuid3" }, { "SegmentId": "uuid4" }, { "SegmentId": "uuid5" }, { "SegmentId": "uuid6" } ], "SummarizedSegment": "Weight loss." } ] }, { "SectionName": "HISTORY_OF_PRESENT_ILLNESS", "Summary": [ { "EvidenceLinks": [ { "SegmentId": "uuid7" }, { "SegmentId": "uuid8" }, { "SegmentId": "uuid9" }, { "SegmentId": "uuid10" } ], "SummarizedSegment": "The patient is seen today for a follow-up of weight loss." }, { "EvidenceLinks": [ { "SegmentId": "uuid11" }, { "SegmentId": "uuid12" }, { "SegmentId": "uuid13" } ], "SummarizedSegment": "They report feeling more energy and craving carbohydrates, sugar, and fat." }, { "EvidenceLinks": [ { "SegmentId": "uuid14" }, { "SegmentId": "uuid15" }, { "SegmentId": "uuid16" } ], "SummarizedSegment": "The patient is up to date on their mammogram and pap smear." }, { "EvidenceLinks": [ { "SegmentId": "uuid17" }, { "SegmentId": "uuid18" }, { "SegmentId": "uuid19" }, { "SegmentId": "uuid20" } ], "SummarizedSegment": "The patient is taking phentermine and would like to continue." } ] }, { "SectionName": "REVIEW_OF_SYSTEMS", "Summary": [ { "EvidenceLinks": [ { "SegmentId": "uuid21" }, { "SegmentId": "uuid22" } ], "SummarizedSegment": "Patient reports intermittent headaches, occasional chest pains but denies any recent fevers or chills." }, { "EvidenceLinks": [ { "SegmentId": "uuid23" }, { "SegmentId": "uuid24" } ], "SummarizedSegment": "No recent changes in vision, hearing, or any respiratory complaints." } ] }, { "SectionName": "PAST_MEDICAL_HISTORY", "Summary": [ { "EvidenceLinks": [ { "SegmentId": "uuid25" }, { "SegmentId": "uuid26" } ], "SummarizedSegment": "Patient has a history of hypertension and was diagnosed with Type II diabetes 5 years ago." }, { "EvidenceLinks": [ { "SegmentId": "uuid27" }, { "SegmentId": "uuid28" } ], "SummarizedSegment": "Underwent an appendectomy in the early '90s and had a fracture in the left arm during childhood." } ] }, { "SectionName": "ASSESSMENT", "Summary": [ { "EvidenceLinks": [ { "SegmentId": "uuid29" }, { "SegmentId": "uuid30" } ], "SummarizedSegment": "Weight loss" } ] }, { "SectionName": "PLAN", "Summary": [ { "EvidenceLinks": [ { "SegmentId": "uuid31" }, { "SegmentId": "uuid32" }, { "SegmentId": "uuid33" }, { "SegmentId": "uuid34" } ], "SummarizedSegment": "For the condition of Weight loss: The patient was given a 30-day supply of phentermine and was advised to follow up in 30 days." } ] } ] } }