/* * 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: /// /// /// 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: /// ///
  1. /// /// Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. /// ///
  2. /// /// Use an alias for the KMS key ID. For example, alias/ExampleAlias. /// ///
  3. /// /// 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. /// ///
  4. /// /// 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: /// ///
  1. /// /// Use the ARN for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. /// ///
  2. /// /// 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; } } }