/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the transcribe-2017-10-26.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.TranscribeService.Model
{
///
/// Container for the parameters to the StartMedicalTranscriptionJob operation.
/// Transcribes the audio from a medical dictation or conversation and applies any additional
/// Request Parameters you choose to include in your request.
///
///
///
/// In addition to many standard transcription features, Amazon Transcribe Medical provides
/// you with a robust medical vocabulary and, optionally, content identification, which
/// adds flags to personal health information (PHI). To learn more about these features,
/// refer to How
/// Amazon Transcribe Medical works.
///
///
///
/// To make a StartMedicalTranscriptionJob
request, you must first upload
/// your media file into an Amazon S3 bucket; you can then specify the S3 location of
/// the file using the Media
parameter.
///
///
///
/// You must include the following parameters in your StartMedicalTranscriptionJob
/// request:
///
/// -
///
///
region
: The Amazon Web Services Region where you are making your request.
/// For a list of Amazon Web Services Regions supported with Amazon Transcribe, refer
/// to Amazon
/// Transcribe endpoints and quotas.
///
/// -
///
///
MedicalTranscriptionJobName
: A custom name you create for your transcription
/// job that is unique within your Amazon Web Services account.
///
/// -
///
///
Media
(MediaFileUri
): The Amazon S3 location of your media
/// file.
///
/// -
///
///
LanguageCode
: This must be en-US
.
///
/// -
///
///
OutputBucketName
: The Amazon S3 bucket where you want your transcript
/// stored. If you want your output stored in a sub-folder of this bucket, you must also
/// include OutputKey
.
///
/// -
///
///
Specialty
: This must be PRIMARYCARE
.
///
/// -
///
///
Type
: Choose whether your audio is a conversation or a dictation.
///
///
///
public partial class StartMedicalTranscriptionJobRequest : AmazonTranscribeServiceRequest
{
private MedicalContentIdentificationType _contentIdentificationType;
private Dictionary _kmsEncryptionContext = new Dictionary();
private LanguageCode _languageCode;
private Media _media;
private MediaFormat _mediaFormat;
private int? _mediaSampleRateHertz;
private string _medicalTranscriptionJobName;
private string _outputBucketName;
private string _outputEncryptionKMSKeyId;
private string _outputKey;
private MedicalTranscriptionSetting _settings;
private Specialty _specialty;
private List _tags = new List();
private Type _type;
///
/// Gets and sets the property ContentIdentificationType.
///
/// Labels all personal health information (PHI) identified in your transcript. For more
/// information, see Identifying
/// personal health information (PHI) in a transcription.
///
///
public MedicalContentIdentificationType ContentIdentificationType
{
get { return this._contentIdentificationType; }
set { this._contentIdentificationType = value; }
}
// Check to see if ContentIdentificationType property is set
internal bool IsSetContentIdentificationType()
{
return this._contentIdentificationType != null;
}
///
/// Gets and sets the property KMSEncryptionContext.
///
/// 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.
///
///
[AWSProperty(Min=1, Max=10)]
public Dictionary KMSEncryptionContext
{
get { return this._kmsEncryptionContext; }
set { this._kmsEncryptionContext = value; }
}
// Check to see if KMSEncryptionContext property is set
internal bool IsSetKMSEncryptionContext()
{
return this._kmsEncryptionContext != null && this._kmsEncryptionContext.Count > 0;
}
///
/// Gets and sets the property LanguageCode.
///
/// The language code that represents the language spoken in the input media file. US
/// English (en-US
) is the only valid value for medical transcription jobs.
/// Any other value you enter for language code results in a BadRequestException
/// error.
///
///
[AWSProperty(Required=true)]
public LanguageCode LanguageCode
{
get { return this._languageCode; }
set { this._languageCode = value; }
}
// Check to see if LanguageCode property is set
internal bool IsSetLanguageCode()
{
return this._languageCode != null;
}
///
/// Gets and sets the property Media.
///
[AWSProperty(Required=true)]
public Media Media
{
get { return this._media; }
set { this._media = value; }
}
// Check to see if Media property is set
internal bool IsSetMedia()
{
return this._media != null;
}
///
/// Gets and sets the property MediaFormat.
///
/// Specify the format of your input media file.
///
///
public MediaFormat MediaFormat
{
get { return this._mediaFormat; }
set { this._mediaFormat = value; }
}
// Check to see if MediaFormat property is set
internal bool IsSetMediaFormat()
{
return this._mediaFormat != null;
}
///
/// Gets and sets the property MediaSampleRateHertz.
///
/// The sample rate, in hertz, of the audio track in your input media file.
///
///
///
/// If you don't specify the media sample rate, Amazon Transcribe Medical determines it
/// for you. If you specify the sample rate, it must match the rate detected by Amazon
/// Transcribe Medical; if there's a mismatch between the value that you specify and the
/// value detected, your job fails. Therefore, in most cases, it's advised to omit MediaSampleRateHertz
/// and let Amazon Transcribe Medical determine the sample rate.
///
///
[AWSProperty(Min=16000, Max=48000)]
public int MediaSampleRateHertz
{
get { return this._mediaSampleRateHertz.GetValueOrDefault(); }
set { this._mediaSampleRateHertz = value; }
}
// Check to see if MediaSampleRateHertz property is set
internal bool IsSetMediaSampleRateHertz()
{
return this._mediaSampleRateHertz.HasValue;
}
///
/// Gets and sets the property MedicalTranscriptionJobName.
///
/// A unique name, chosen by you, for your medical transcription job. The name that you
/// specify is also used as the default name of your transcription output file. If you
/// want to specify a different name for your transcription output, use the OutputKey
/// parameter.
///
///
///
/// 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.
///
///
[AWSProperty(Required=true, Min=1, Max=200)]
public string MedicalTranscriptionJobName
{
get { return this._medicalTranscriptionJobName; }
set { this._medicalTranscriptionJobName = value; }
}
// Check to see if MedicalTranscriptionJobName property is set
internal bool IsSetMedicalTranscriptionJobName()
{
return this._medicalTranscriptionJobName != null;
}
///
/// Gets and sets the property OutputBucketName.
///
/// The name of the Amazon S3 bucket where you want your medical transcription output
/// stored. Do not include the S3://
prefix of the specified bucket.
///
///
///
/// If you want your output to go to a sub-folder of this bucket, specify it using the
/// OutputKey
parameter; OutputBucketName
only accepts the name
/// of a bucket.
///
///
///
/// For example, if you want your output stored in S3://DOC-EXAMPLE-BUCKET
,
/// set OutputBucketName
to DOC-EXAMPLE-BUCKET
. However, if
/// you want your output stored in S3://DOC-EXAMPLE-BUCKET/test-files/
, set
/// OutputBucketName
to DOC-EXAMPLE-BUCKET
and OutputKey
/// to test-files/
.
///
///
///
/// Note that Amazon Transcribe 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.
///
///
[AWSProperty(Required=true, Max=64)]
public string OutputBucketName
{
get { return this._outputBucketName; }
set { this._outputBucketName = value; }
}
// Check to see if OutputBucketName property is set
internal bool IsSetOutputBucketName()
{
return this._outputBucketName != null;
}
///
/// Gets and sets the property OutputEncryptionKMSKeyId.
///
/// The KMS key you want to use to encrypt your medical transcription 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 don't specify an encryption key, your output is encrypted with the default
/// Amazon S3 key (SSE-S3).
///
///
///
/// If you specify a KMS key to encrypt your output, you must also specify an output location
/// using the OutputLocation
parameter.
///
///
///
/// Note that the role making the request must have permission to use the specified KMS
/// key.
///
///
[AWSProperty(Min=1, Max=2048)]
public string OutputEncryptionKMSKeyId
{
get { return this._outputEncryptionKMSKeyId; }
set { this._outputEncryptionKMSKeyId = value; }
}
// Check to see if OutputEncryptionKMSKeyId property is set
internal bool IsSetOutputEncryptionKMSKeyId()
{
return this._outputEncryptionKMSKeyId != null;
}
///
/// Gets and sets the property OutputKey.
///
/// Use in combination with OutputBucketName
to specify the output location
/// of your transcript and, optionally, a unique name for your output file. The default
/// name for your transcription output is the same as the name you specified for your
/// medical transcription job (MedicalTranscriptionJobName
).
///
///
///
/// Here are some examples of how you can use OutputKey
:
///
/// -
///
/// If you specify 'DOC-EXAMPLE-BUCKET' as the
OutputBucketName
and 'my-transcript.json'
/// as the OutputKey
, your transcription output path is s3://DOC-EXAMPLE-BUCKET/my-transcript.json
.
///
/// -
///
/// If you specify 'my-first-transcription' as the
MedicalTranscriptionJobName
,
/// 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
, and 'my-transcript' as
/// the OutputKey
, your transcription output path is s3://DOC-EXAMPLE-BUCKET/my-transcript/my-first-transcription.json
.
///
/// -
///
/// If you specify 'DOC-EXAMPLE-BUCKET' as the
OutputBucketName
and 'test-files/my-transcript.json'
/// as the OutputKey
, your transcription output path is s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript.json
.
///
/// -
///
/// If you specify 'my-first-transcription' as the
MedicalTranscriptionJobName
,
/// 'DOC-EXAMPLE-BUCKET' as the OutputBucketName
, and 'test-files/my-transcript'
/// as the OutputKey
, your transcription output path is s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript/my-first-transcription.json
.
///
///
///
/// If you specify the name of an Amazon S3 bucket sub-folder that doesn't exist, one
/// is created for you.
///
///
[AWSProperty(Min=1, Max=1024)]
public string OutputKey
{
get { return this._outputKey; }
set { this._outputKey = value; }
}
// Check to see if OutputKey property is set
internal bool IsSetOutputKey()
{
return this._outputKey != null;
}
///
/// Gets and sets the property Settings.
///
/// Specify additional optional settings in your request, including channel identification,
/// alternative transcriptions, and speaker partitioning. You can use that to apply custom
/// vocabularies to your transcription job.
///
///
public MedicalTranscriptionSetting Settings
{
get { return this._settings; }
set { this._settings = value; }
}
// Check to see if Settings property is set
internal bool IsSetSettings()
{
return this._settings != null;
}
///
/// Gets and sets the property Specialty.
///
/// Specify the predominant medical specialty represented in your media. For batch transcriptions,
/// PRIMARYCARE
is the only valid value. If you require additional specialties,
/// refer to .
///
///
[AWSProperty(Required=true)]
public Specialty Specialty
{
get { return this._specialty; }
set { this._specialty = value; }
}
// Check to see if Specialty property is set
internal bool IsSetSpecialty()
{
return this._specialty != null;
}
///
/// Gets and sets the property Tags.
///
/// Adds one or more custom tags, each in the form of a key:value pair, to a new medical
/// transcription job at the time you start this new job.
///
///
///
/// To learn more about using tags with Amazon Transcribe, refer to Tagging
/// resources.
///
///
[AWSProperty(Min=1, Max=200)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property Type.
///
/// Specify whether your input media contains only one person (DICTATION
)
/// or contains a conversation between two people (CONVERSATION
).
///
///
///
/// For example, DICTATION
could be used for a medical professional wanting
/// to transcribe voice memos; CONVERSATION
could be used for transcribing
/// the doctor-patient dialogue during the patient's office visit.
///
///
[AWSProperty(Required=true)]
public Type Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}