TranscribeService / Client / start_medical_scribe_job

start_medical_scribe_job#

TranscribeService.Client.start_medical_scribe_job(**kwargs)#

Transcribes patient-clinician conversations and generates clinical notes.

Amazon Web Services HealthScribe automatically provides rich conversation transcripts, identifies speaker roles, classifies dialogues, extracts medical terms, and generates preliminary clinical notes. To learn more about these features, refer to Amazon Web Services HealthScribe.

To make a StartMedicalScribeJob request, you must first upload your media file into an Amazon S3 bucket; you can then specify the Amazon S3 location of the file using the Media parameter.

You must include the following parameters in your StartMedicalTranscriptionJob request:

  • DataAccessRoleArn: The ARN of an IAM role with the these minimum permissions: read permission on input file Amazon S3 bucket specified in Media, write permission on the Amazon S3 bucket specified in OutputBucketName, and full permissions on the KMS key specified in OutputEncryptionKMSKeyId (if set). The role should also allow transcribe.amazonaws.com to assume it.

  • Media ( MediaFileUri): The Amazon S3 location of your media file.

  • MedicalScribeJobName: A custom name you create for your MedicalScribe job that is unique within your Amazon Web Services account.

  • OutputBucketName: The Amazon S3 bucket where you want your output files stored.

  • Settings: A MedicalScribeSettings obect that must set exactly one of ShowSpeakerLabels or ChannelIdentification to true. If ShowSpeakerLabels is true, MaxSpeakerLabels must also be set.

  • ChannelDefinitions: A MedicalScribeChannelDefinitions array should be set if and only if the ChannelIdentification value of Settings is set to true.

See also: AWS API Documentation

Request Syntax

response = client.start_medical_scribe_job(
    MedicalScribeJobName='string',
    Media={
        'MediaFileUri': 'string',
        'RedactedMediaFileUri': 'string'
    },
    OutputBucketName='string',
    OutputEncryptionKMSKeyId='string',
    KMSEncryptionContext={
        'string': 'string'
    },
    DataAccessRoleArn='string',
    Settings={
        'ShowSpeakerLabels': True|False,
        'MaxSpeakerLabels': 123,
        'ChannelIdentification': True|False,
        'VocabularyName': 'string',
        'VocabularyFilterName': 'string',
        'VocabularyFilterMethod': 'remove'|'mask'|'tag'
    },
    ChannelDefinitions=[
        {
            'ChannelId': 123,
            'ParticipantRole': 'PATIENT'|'CLINICIAN'
        },
    ],
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
Parameters:
  • MedicalScribeJobName (string) –

    [REQUIRED]

    A unique name, chosen by you, for your Medical Scribe job.

    This name is case sensitive, cannot contain spaces, and must be unique within an Amazon Web Services account. If you try to create a new job with the same name as an existing job, you get a ConflictException error.

  • Media (dict) –

    [REQUIRED]

    Describes the Amazon S3 location of the media file you want to use in your request.

    For information on supported media formats, refer to the MediaFormat parameter or the Media formats section in the Amazon S3 Developer Guide.

    • MediaFileUri (string) –

      The Amazon S3 location of the media file you want to transcribe. For example:

      • s3://DOC-EXAMPLE-BUCKET/my-media-file.flac

      • s3://DOC-EXAMPLE-BUCKET/media-files/my-media-file.flac

      Note that the Amazon S3 bucket that contains your input media must be located in the same Amazon Web Services Region where you’re making your transcription request.

    • RedactedMediaFileUri (string) –

      The Amazon S3 location of the media file you want to redact. For example:

      • s3://DOC-EXAMPLE-BUCKET/my-media-file.flac

      • s3://DOC-EXAMPLE-BUCKET/media-files/my-media-file.flac

      Note that the Amazon S3 bucket that contains your input media must be located in the same Amazon Web Services Region where you’re making your transcription request.

      Warning

      RedactedMediaFileUri produces a redacted audio file in addition to a redacted transcript. It is only supported for Call Analytics ( StartCallAnalyticsJob) transcription requests.

  • OutputBucketName (string) –

    [REQUIRED]

    The name of the Amazon S3 bucket where you want your Medical Scribe output stored. Do not include the S3:// prefix of the specified bucket.

    Note that the role specified in the DataAccessRoleArn request parameter must have permission to use the specified location. You can change Amazon S3 permissions using the Amazon Web Services Management Console. See also Permissions Required for IAM User Roles.

  • OutputEncryptionKMSKeyId (string) –

    The KMS key you want to use to encrypt your Medical Scribe output.

    If using a key located in the current Amazon Web Services account, you can specify your KMS key in one of four ways:

    • Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

    • Use an alias for the KMS key ID. For example, alias/ExampleAlias.

    • Use the Amazon Resource Name (ARN) for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    • Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias.

    If using a key located in a different Amazon Web Services account than the current Amazon Web Services account, you can specify your KMS key in one of two ways:

    • Use the ARN for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    • Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias.

    If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3).

    Note that the role specified in the DataAccessRoleArn request parameter must have permission to use the specified KMS key.

  • KMSEncryptionContext (dict) –

    A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added layer of security for your data. For more information, see KMS encryption context and Asymmetric keys in KMS.

    • (string) –

      • (string) –

  • DataAccessRoleArn (string) –

    [REQUIRED]

    The Amazon Resource Name (ARN) of an IAM role that has permissions to access the Amazon S3 bucket that contains your input files, write to the output bucket, and use your KMS key if supplied. If the role that you specify doesn’t have the appropriate permissions your request fails.

    IAM role ARNs have the format arn:partition:iam::account:role/role-name-with-path. For example: arn:aws:iam::111122223333:role/Admin.

    For more information, see IAM ARNs.

  • Settings (dict) –

    [REQUIRED]

    Makes it possible to control how your Medical Scribe job is processed using a MedicalScribeSettings object. Specify ChannelIdentification if ChannelDefinitions are set. Enabled ShowSpeakerLabels if ChannelIdentification and ChannelDefinitions are not set. One and only one of ChannelIdentification and ShowSpeakerLabels must be set. If ShowSpeakerLabels is set, MaxSpeakerLabels must also be set. Use Settings to specify a vocabulary or vocabulary filter or both using VocabularyName, VocabularyFilterName. VocabularyFilterMethod must be specified if VocabularyFilterName is set.

    • ShowSpeakerLabels (boolean) –

      Enables speaker partitioning (diarization) in your Medical Scribe output. Speaker partitioning labels the speech from individual speakers in your media file.

      If you enable ShowSpeakerLabels in your request, you must also include MaxSpeakerLabels.

      For more information, see Partitioning speakers (diarization).

    • MaxSpeakerLabels (integer) –

      Specify the maximum number of speakers you want to partition in your media.

      Note that if your media contains more speakers than the specified number, multiple speakers are treated as a single speaker.

      If you specify the MaxSpeakerLabels field, you must set the ShowSpeakerLabels field to true.

    • ChannelIdentification (boolean) –

      Enables channel identification in multi-channel audio.

      Channel identification transcribes the audio on each channel independently, then appends the output for each channel into one transcript.

      For more information, see Transcribing multi-channel audio.

    • VocabularyName (string) –

      The name of the custom vocabulary you want to include in your Medical Scribe request. Custom vocabulary names are case sensitive.

    • VocabularyFilterName (string) –

      The name of the custom vocabulary filter you want to include in your Medical Scribe request. Custom vocabulary filter names are case sensitive.

      Note that if you include VocabularyFilterName in your request, you must also include VocabularyFilterMethod.

    • VocabularyFilterMethod (string) –

      Specify how you want your custom vocabulary filter applied to your transcript.

      To replace words with ***, choose mask.

      To delete words, choose remove.

      To flag words without changing them, choose tag.

  • ChannelDefinitions (list) –

    Makes it possible to specify which speaker is on which channel. For example, if the clinician is the first participant to speak, you would set ChannelId of the first ChannelDefinition in the list to 0 (to indicate the first channel) and ParticipantRole to CLINICIAN (to indicate that it’s the clinician speaking). Then you would set the ChannelId of the second ChannelDefinition in the list to 1 (to indicate the second channel) and ParticipantRole to PATIENT (to indicate that it’s the patient speaking).

    • (dict) –

      Indicates which speaker is on which channel. The options are CLINICIAN and PATIENT

      • ChannelId (integer) – [REQUIRED]

        Specify the audio channel you want to define.

      • ParticipantRole (string) – [REQUIRED]

        Specify the participant that you want to flag. The options are CLINICIAN and PATIENT

  • Tags (list) –

    Adds one or more custom tags, each in the form of a key:value pair, to the Medica Scribe job.

    To learn more about using tags with Amazon Transcribe, refer to Tagging resources.

    • (dict) –

      Adds metadata, in the form of a key:value pair, to the specified resource.

      For example, you could add the tag Department:Sales to a resource to indicate that it pertains to your organization’s sales department. You can also use tags for tag-based access control.

      To learn more about tagging, see Tagging resources.

      • Key (string) – [REQUIRED]

        The first part of a key:value pair that forms a tag associated with a given resource. For example, in the tag Department:Sales, the key is ‘Department’.

      • Value (string) – [REQUIRED]

        The second part of a key:value pair that forms a tag associated with a given resource. For example, in the tag Department:Sales, the value is ‘Sales’.

        Note that you can set the value of a tag to an empty string, but you can’t set the value of a tag to null. Omitting the tag value is the same as using an empty string.

Return type:

dict

Returns:

Response Syntax

{
    'MedicalScribeJob': {
        'MedicalScribeJobName': 'string',
        'MedicalScribeJobStatus': 'QUEUED'|'IN_PROGRESS'|'FAILED'|'COMPLETED',
        'LanguageCode': 'en-US',
        'Media': {
            'MediaFileUri': 'string',
            'RedactedMediaFileUri': 'string'
        },
        'MedicalScribeOutput': {
            'TranscriptFileUri': 'string',
            'ClinicalDocumentUri': 'string'
        },
        'StartTime': datetime(2015, 1, 1),
        'CreationTime': datetime(2015, 1, 1),
        'CompletionTime': datetime(2015, 1, 1),
        'FailureReason': 'string',
        'Settings': {
            'ShowSpeakerLabels': True|False,
            'MaxSpeakerLabels': 123,
            'ChannelIdentification': True|False,
            'VocabularyName': 'string',
            'VocabularyFilterName': 'string',
            'VocabularyFilterMethod': 'remove'|'mask'|'tag'
        },
        'DataAccessRoleArn': 'string',
        'ChannelDefinitions': [
            {
                'ChannelId': 123,
                'ParticipantRole': 'PATIENT'|'CLINICIAN'
            },
        ],
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) –

    • MedicalScribeJob (dict) –

      Provides detailed information about the current Medical Scribe job, including job status and, if applicable, failure reason.

      • MedicalScribeJobName (string) –

        The name of the Medical Scribe job. Job names are case sensitive and must be unique within an Amazon Web Services account.

      • MedicalScribeJobStatus (string) –

        Provides the status of the specified Medical Scribe job.

        If the status is COMPLETED, the job is finished and you can find the results at the location specified in MedicalScribeOutput If the status is FAILED, FailureReason provides details on why your Medical Scribe job failed.

      • LanguageCode (string) –

        The language code used to create your Medical Scribe job. US English ( en-US) is the only supported language for Medical Scribe jobs.

      • Media (dict) –

        Describes the Amazon S3 location of the media file you want to use in your request.

        For information on supported media formats, refer to the MediaFormat parameter or the Media formats section in the Amazon S3 Developer Guide.

        • MediaFileUri (string) –

          The Amazon S3 location of the media file you want to transcribe. For example:

          • s3://DOC-EXAMPLE-BUCKET/my-media-file.flac

          • s3://DOC-EXAMPLE-BUCKET/media-files/my-media-file.flac

          Note that the Amazon S3 bucket that contains your input media must be located in the same Amazon Web Services Region where you’re making your transcription request.

        • RedactedMediaFileUri (string) –

          The Amazon S3 location of the media file you want to redact. For example:

          • s3://DOC-EXAMPLE-BUCKET/my-media-file.flac

          • s3://DOC-EXAMPLE-BUCKET/media-files/my-media-file.flac

          Note that the Amazon S3 bucket that contains your input media must be located in the same Amazon Web Services Region where you’re making your transcription request.

          Warning

          RedactedMediaFileUri produces a redacted audio file in addition to a redacted transcript. It is only supported for Call Analytics ( StartCallAnalyticsJob) transcription requests.

      • MedicalScribeOutput (dict) –

        The location of the output of your Medical Scribe job. ClinicalDocumentUri holds the Amazon S3 URI for the Clinical Document and TranscriptFileUri holds the Amazon S3 URI for the Transcript.

        • TranscriptFileUri (string) –

          Holds the Amazon S3 URI for the Transcript.

        • ClinicalDocumentUri (string) –

          Holds the Amazon S3 URI for the Clinical Document.

      • StartTime (datetime) –

        The date and time your Medical Scribe job began processing.

        Timestamps are in the format YYYY-MM-DD'T'HH:MM:SS.SSSSSS-UTC. For example, 2022-05-04T12:32:58.789000-07:00 represents a Medical Scribe job that started processing at 12:32 PM UTC-7 on May 4, 2022.

      • CreationTime (datetime) –

        The date and time the specified Medical Scribe job request was made.

        Timestamps are in the format YYYY-MM-DD'T'HH:MM:SS.SSSSSS-UTC. For example, 2022-05-04T12:32:58.761000-07:00 represents a Medical Scribe job that started processing at 12:32 PM UTC-7 on May 4, 2022.

      • CompletionTime (datetime) –

        The date and time the specified Medical Scribe job finished processing.

        Timestamps are in the format YYYY-MM-DD'T'HH:MM:SS.SSSSSS-UTC. For example, 2022-05-04T12:32:58.761000-07:00 represents a Medical Scribe job that finished processing at 12:32 PM UTC-7 on May 4, 2022.

      • FailureReason (string) –

        If MedicalScribeJobStatus is FAILED, FailureReason contains information about why the transcription job failed. See also: Common Errors.

      • Settings (dict) –

        Makes it possible to control how your Medical Scribe job is processed using a MedicalScribeSettings object. Specify ChannelIdentification if ChannelDefinitions are set. Enabled ShowSpeakerLabels if ChannelIdentification and ChannelDefinitions are not set. One and only one of ChannelIdentification and ShowSpeakerLabels must be set. If ShowSpeakerLabels is set, MaxSpeakerLabels must also be set. Use Settings to specify a vocabulary or vocabulary filter or both using VocabularyName, VocabularyFilterName. VocabularyFilterMethod must be specified if VocabularyFilterName is set.

        • ShowSpeakerLabels (boolean) –

          Enables speaker partitioning (diarization) in your Medical Scribe output. Speaker partitioning labels the speech from individual speakers in your media file.

          If you enable ShowSpeakerLabels in your request, you must also include MaxSpeakerLabels.

          For more information, see Partitioning speakers (diarization).

        • MaxSpeakerLabels (integer) –

          Specify the maximum number of speakers you want to partition in your media.

          Note that if your media contains more speakers than the specified number, multiple speakers are treated as a single speaker.

          If you specify the MaxSpeakerLabels field, you must set the ShowSpeakerLabels field to true.

        • ChannelIdentification (boolean) –

          Enables channel identification in multi-channel audio.

          Channel identification transcribes the audio on each channel independently, then appends the output for each channel into one transcript.

          For more information, see Transcribing multi-channel audio.

        • VocabularyName (string) –

          The name of the custom vocabulary you want to include in your Medical Scribe request. Custom vocabulary names are case sensitive.

        • VocabularyFilterName (string) –

          The name of the custom vocabulary filter you want to include in your Medical Scribe request. Custom vocabulary filter names are case sensitive.

          Note that if you include VocabularyFilterName in your request, you must also include VocabularyFilterMethod.

        • VocabularyFilterMethod (string) –

          Specify how you want your custom vocabulary filter applied to your transcript.

          To replace words with ***, choose mask.

          To delete words, choose remove.

          To flag words without changing them, choose tag.

      • DataAccessRoleArn (string) –

        The Amazon Resource Name (ARN) of an IAM role that has permissions to access the Amazon S3 bucket that contains your input files, write to the output bucket, and use your KMS key if supplied. If the role that you specify doesn’t have the appropriate permissions your request fails.

        IAM role ARNs have the format arn:partition:iam::account:role/role-name-with-path. For example: arn:aws:iam::111122223333:role/Admin.

        For more information, see IAM ARNs.

      • ChannelDefinitions (list) –

        Makes it possible to specify which speaker is on which channel. For example, if the clinician is the first participant to speak, you would set ChannelId of the first ChannelDefinition in the list to 0 (to indicate the first channel) and ParticipantRole to CLINICIAN (to indicate that it’s the clinician speaking). Then you would set the ChannelId of the second ChannelDefinition in the list to 1 (to indicate the second channel) and ParticipantRole to PATIENT (to indicate that it’s the patient speaking).

        • (dict) –

          Indicates which speaker is on which channel. The options are CLINICIAN and PATIENT

          • ChannelId (integer) –

            Specify the audio channel you want to define.

          • ParticipantRole (string) –

            Specify the participant that you want to flag. The options are CLINICIAN and PATIENT

      • Tags (list) –

        Adds one or more custom tags, each in the form of a key:value pair, to the Medica Scribe job.

        To learn more about using tags with Amazon Transcribe, refer to Tagging resources.

        • (dict) –

          Adds metadata, in the form of a key:value pair, to the specified resource.

          For example, you could add the tag Department:Sales to a resource to indicate that it pertains to your organization’s sales department. You can also use tags for tag-based access control.

          To learn more about tagging, see Tagging resources.

          • Key (string) –

            The first part of a key:value pair that forms a tag associated with a given resource. For example, in the tag Department:Sales, the key is ‘Department’.

          • Value (string) –

            The second part of a key:value pair that forms a tag associated with a given resource. For example, in the tag Department:Sales, the value is ‘Sales’.

            Note that you can set the value of a tag to an empty string, but you can’t set the value of a tag to null. Omitting the tag value is the same as using an empty string.

Exceptions

  • TranscribeService.Client.exceptions.BadRequestException

  • TranscribeService.Client.exceptions.LimitExceededException

  • TranscribeService.Client.exceptions.InternalFailureException

  • TranscribeService.Client.exceptions.ConflictException