/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace TranscribeStreamingService { namespace Model { /** */ class StartMedicalStreamTranscriptionRequest : public TranscribeStreamingServiceRequest { public: AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalStreamTranscriptionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartMedicalStreamTranscription"; } inline virtual bool IsEventStreamRequest() const override { return true; } // SerializePayload will not be invoked. // This request is sent by encoding its data in event-streams which is sent as IOStream via GetBody() AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String SerializePayload() const override { return {}; } AWS_TRANSCRIBESTREAMINGSERVICE_API std::shared_ptr GetBody() const override; AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** * Underlying Event Stream Decoder. */ inline Aws::Utils::Event::EventStreamDecoder& GetEventStreamDecoder() { return m_decoder; } /** * Underlying Event Stream Handler which is used to define callback functions. */ inline const StartMedicalStreamTranscriptionHandler& GetEventStreamHandler() const { return m_handler; } /** * Underlying Event Stream Handler which is used to define callback functions. */ inline void SetEventStreamHandler(const StartMedicalStreamTranscriptionHandler& value) { m_handler = value; m_decoder.ResetEventStreamHandler(&m_handler); } /** * Underlying Event Stream Handler which is used to define callback functions. */ inline StartMedicalStreamTranscriptionRequest& WithEventStreamHandler(const StartMedicalStreamTranscriptionHandler& value) { SetEventStreamHandler(value); return *this; } /** *

Specify the language code that represents the language spoken in your * audio.

Amazon Transcribe Medical only supports US English * (en-US).

*/ inline const LanguageCode& GetLanguageCode() const{ return m_languageCode; } /** *

Specify the language code that represents the language spoken in your * audio.

Amazon Transcribe Medical only supports US English * (en-US).

*/ inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } /** *

Specify the language code that represents the language spoken in your * audio.

Amazon Transcribe Medical only supports US English * (en-US).

*/ inline void SetLanguageCode(const LanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } /** *

Specify the language code that represents the language spoken in your * audio.

Amazon Transcribe Medical only supports US English * (en-US).

*/ inline void SetLanguageCode(LanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } /** *

Specify the language code that represents the language spoken in your * audio.

Amazon Transcribe Medical only supports US English * (en-US).

*/ inline StartMedicalStreamTranscriptionRequest& WithLanguageCode(const LanguageCode& value) { SetLanguageCode(value); return *this;} /** *

Specify the language code that represents the language spoken in your * audio.

Amazon Transcribe Medical only supports US English * (en-US).

*/ inline StartMedicalStreamTranscriptionRequest& WithLanguageCode(LanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;} /** *

The sample rate of the input audio (in hertz). Amazon Transcribe Medical * supports a range from 16,000 Hz to 48,000 Hz. Note that the sample rate you * specify must match that of your audio.

*/ inline int GetMediaSampleRateHertz() const{ return m_mediaSampleRateHertz; } /** *

The sample rate of the input audio (in hertz). Amazon Transcribe Medical * supports a range from 16,000 Hz to 48,000 Hz. Note that the sample rate you * specify must match that of your audio.

*/ inline bool MediaSampleRateHertzHasBeenSet() const { return m_mediaSampleRateHertzHasBeenSet; } /** *

The sample rate of the input audio (in hertz). Amazon Transcribe Medical * supports a range from 16,000 Hz to 48,000 Hz. Note that the sample rate you * specify must match that of your audio.

*/ inline void SetMediaSampleRateHertz(int value) { m_mediaSampleRateHertzHasBeenSet = true; m_mediaSampleRateHertz = value; } /** *

The sample rate of the input audio (in hertz). Amazon Transcribe Medical * supports a range from 16,000 Hz to 48,000 Hz. Note that the sample rate you * specify must match that of your audio.

*/ inline StartMedicalStreamTranscriptionRequest& WithMediaSampleRateHertz(int value) { SetMediaSampleRateHertz(value); return *this;} /** *

Specify the encoding used for the input audio. Supported formats are:

*
  • FLAC

  • OPUS-encoded audio in an Ogg container

    *
  • PCM (only signed 16-bit little-endian audio formats, which does * not include WAV)

For more information, see Media * formats.

*/ inline const MediaEncoding& GetMediaEncoding() const{ return m_mediaEncoding; } /** *

Specify the encoding used for the input audio. Supported formats are:

*
  • FLAC

  • OPUS-encoded audio in an Ogg container

    *
  • PCM (only signed 16-bit little-endian audio formats, which does * not include WAV)

For more information, see Media * formats.

*/ inline bool MediaEncodingHasBeenSet() const { return m_mediaEncodingHasBeenSet; } /** *

Specify the encoding used for the input audio. Supported formats are:

*
  • FLAC

  • OPUS-encoded audio in an Ogg container

    *
  • PCM (only signed 16-bit little-endian audio formats, which does * not include WAV)

For more information, see Media * formats.

*/ inline void SetMediaEncoding(const MediaEncoding& value) { m_mediaEncodingHasBeenSet = true; m_mediaEncoding = value; } /** *

Specify the encoding used for the input audio. Supported formats are:

*
  • FLAC

  • OPUS-encoded audio in an Ogg container

    *
  • PCM (only signed 16-bit little-endian audio formats, which does * not include WAV)

For more information, see Media * formats.

*/ inline void SetMediaEncoding(MediaEncoding&& value) { m_mediaEncodingHasBeenSet = true; m_mediaEncoding = std::move(value); } /** *

Specify the encoding used for the input audio. Supported formats are:

*
  • FLAC

  • OPUS-encoded audio in an Ogg container

    *
  • PCM (only signed 16-bit little-endian audio formats, which does * not include WAV)

For more information, see Media * formats.

*/ inline StartMedicalStreamTranscriptionRequest& WithMediaEncoding(const MediaEncoding& value) { SetMediaEncoding(value); return *this;} /** *

Specify the encoding used for the input audio. Supported formats are:

*
  • FLAC

  • OPUS-encoded audio in an Ogg container

    *
  • PCM (only signed 16-bit little-endian audio formats, which does * not include WAV)

For more information, see Media * formats.

*/ inline StartMedicalStreamTranscriptionRequest& WithMediaEncoding(MediaEncoding&& value) { SetMediaEncoding(std::move(value)); return *this;} /** *

Specify the name of the custom vocabulary that you want to use when * processing your transcription. Note that vocabulary names are case * sensitive.

*/ inline const Aws::String& GetVocabularyName() const{ return m_vocabularyName; } /** *

Specify the name of the custom vocabulary that you want to use when * processing your transcription. Note that vocabulary names are case * sensitive.

*/ inline bool VocabularyNameHasBeenSet() const { return m_vocabularyNameHasBeenSet; } /** *

Specify the name of the custom vocabulary that you want to use when * processing your transcription. Note that vocabulary names are case * sensitive.

*/ inline void SetVocabularyName(const Aws::String& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = value; } /** *

Specify the name of the custom vocabulary that you want to use when * processing your transcription. Note that vocabulary names are case * sensitive.

*/ inline void SetVocabularyName(Aws::String&& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = std::move(value); } /** *

Specify the name of the custom vocabulary that you want to use when * processing your transcription. Note that vocabulary names are case * sensitive.

*/ inline void SetVocabularyName(const char* value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName.assign(value); } /** *

Specify the name of the custom vocabulary that you want to use when * processing your transcription. Note that vocabulary names are case * sensitive.

*/ inline StartMedicalStreamTranscriptionRequest& WithVocabularyName(const Aws::String& value) { SetVocabularyName(value); return *this;} /** *

Specify the name of the custom vocabulary that you want to use when * processing your transcription. Note that vocabulary names are case * sensitive.

*/ inline StartMedicalStreamTranscriptionRequest& WithVocabularyName(Aws::String&& value) { SetVocabularyName(std::move(value)); return *this;} /** *

Specify the name of the custom vocabulary that you want to use when * processing your transcription. Note that vocabulary names are case * sensitive.

*/ inline StartMedicalStreamTranscriptionRequest& WithVocabularyName(const char* value) { SetVocabularyName(value); return *this;} /** *

Specify the medical specialty contained in your audio.

*/ inline const Specialty& GetSpecialty() const{ return m_specialty; } /** *

Specify the medical specialty contained in your audio.

*/ inline bool SpecialtyHasBeenSet() const { return m_specialtyHasBeenSet; } /** *

Specify the medical specialty contained in your audio.

*/ inline void SetSpecialty(const Specialty& value) { m_specialtyHasBeenSet = true; m_specialty = value; } /** *

Specify the medical specialty contained in your audio.

*/ inline void SetSpecialty(Specialty&& value) { m_specialtyHasBeenSet = true; m_specialty = std::move(value); } /** *

Specify the medical specialty contained in your audio.

*/ inline StartMedicalStreamTranscriptionRequest& WithSpecialty(const Specialty& value) { SetSpecialty(value); return *this;} /** *

Specify the medical specialty contained in your audio.

*/ inline StartMedicalStreamTranscriptionRequest& WithSpecialty(Specialty&& value) { SetSpecialty(std::move(value)); return *this;} /** *

Specify the type of input audio. For example, choose DICTATION * for a provider dictating patient notes and CONVERSATION for a * dialogue between a patient and a medical professional.

*/ inline const Type& GetType() const{ return m_type; } /** *

Specify the type of input audio. For example, choose DICTATION * for a provider dictating patient notes and CONVERSATION for a * dialogue between a patient and a medical professional.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Specify the type of input audio. For example, choose DICTATION * for a provider dictating patient notes and CONVERSATION for a * dialogue between a patient and a medical professional.

*/ inline void SetType(const Type& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Specify the type of input audio. For example, choose DICTATION * for a provider dictating patient notes and CONVERSATION for a * dialogue between a patient and a medical professional.

*/ inline void SetType(Type&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Specify the type of input audio. For example, choose DICTATION * for a provider dictating patient notes and CONVERSATION for a * dialogue between a patient and a medical professional.

*/ inline StartMedicalStreamTranscriptionRequest& WithType(const Type& value) { SetType(value); return *this;} /** *

Specify the type of input audio. For example, choose DICTATION * for a provider dictating patient notes and CONVERSATION for a * dialogue between a patient and a medical professional.

*/ inline StartMedicalStreamTranscriptionRequest& WithType(Type&& value) { SetType(std::move(value)); return *this;} /** *

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

For more information, see Partitioning * speakers (diarization).

*/ inline bool GetShowSpeakerLabel() const{ return m_showSpeakerLabel; } /** *

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

For more information, see Partitioning * speakers (diarization).

*/ inline bool ShowSpeakerLabelHasBeenSet() const { return m_showSpeakerLabelHasBeenSet; } /** *

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

For more information, see Partitioning * speakers (diarization).

*/ inline void SetShowSpeakerLabel(bool value) { m_showSpeakerLabelHasBeenSet = true; m_showSpeakerLabel = value; } /** *

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

For more information, see Partitioning * speakers (diarization).

*/ inline StartMedicalStreamTranscriptionRequest& WithShowSpeakerLabel(bool value) { SetShowSpeakerLabel(value); return *this;} /** *

Specify a name for your transcription session. If you don't include this * parameter in your request, Amazon Transcribe Medical generates an ID and returns * it in the response.

You can use a session ID to retry a streaming * session.

*/ inline const Aws::String& GetSessionId() const{ return m_sessionId; } /** *

Specify a name for your transcription session. If you don't include this * parameter in your request, Amazon Transcribe Medical generates an ID and returns * it in the response.

You can use a session ID to retry a streaming * session.

*/ inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } /** *

Specify a name for your transcription session. If you don't include this * parameter in your request, Amazon Transcribe Medical generates an ID and returns * it in the response.

You can use a session ID to retry a streaming * session.

*/ inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } /** *

Specify a name for your transcription session. If you don't include this * parameter in your request, Amazon Transcribe Medical generates an ID and returns * it in the response.

You can use a session ID to retry a streaming * session.

*/ inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } /** *

Specify a name for your transcription session. If you don't include this * parameter in your request, Amazon Transcribe Medical generates an ID and returns * it in the response.

You can use a session ID to retry a streaming * session.

*/ inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } /** *

Specify a name for your transcription session. If you don't include this * parameter in your request, Amazon Transcribe Medical generates an ID and returns * it in the response.

You can use a session ID to retry a streaming * session.

*/ inline StartMedicalStreamTranscriptionRequest& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} /** *

Specify a name for your transcription session. If you don't include this * parameter in your request, Amazon Transcribe Medical generates an ID and returns * it in the response.

You can use a session ID to retry a streaming * session.

*/ inline StartMedicalStreamTranscriptionRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} /** *

Specify a name for your transcription session. If you don't include this * parameter in your request, Amazon Transcribe Medical generates an ID and returns * it in the response.

You can use a session ID to retry a streaming * session.

*/ inline StartMedicalStreamTranscriptionRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} AWS_TRANSCRIBESTREAMINGSERVICE_API std::shared_ptr GetAudioStream() const { return m_audioStream; } AWS_TRANSCRIBESTREAMINGSERVICE_API void SetAudioStream(const std::shared_ptr& value) { m_audioStream = value; } AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalStreamTranscriptionRequest& WithAudioStream(const std::shared_ptr& value) { SetAudioStream(value); return *this;} /** *

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.

If you have * multi-channel audio and do not enable channel identification, your audio is * transcribed in a continuous manner and your transcript is not separated by * channel.

For more information, see Transcribing * multi-channel audio.

*/ inline bool GetEnableChannelIdentification() const{ return m_enableChannelIdentification; } /** *

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.

If you have * multi-channel audio and do not enable channel identification, your audio is * transcribed in a continuous manner and your transcript is not separated by * channel.

For more information, see Transcribing * multi-channel audio.

*/ inline bool EnableChannelIdentificationHasBeenSet() const { return m_enableChannelIdentificationHasBeenSet; } /** *

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.

If you have * multi-channel audio and do not enable channel identification, your audio is * transcribed in a continuous manner and your transcript is not separated by * channel.

For more information, see Transcribing * multi-channel audio.

*/ inline void SetEnableChannelIdentification(bool value) { m_enableChannelIdentificationHasBeenSet = true; m_enableChannelIdentification = value; } /** *

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.

If you have * multi-channel audio and do not enable channel identification, your audio is * transcribed in a continuous manner and your transcript is not separated by * channel.

For more information, see Transcribing * multi-channel audio.

*/ inline StartMedicalStreamTranscriptionRequest& WithEnableChannelIdentification(bool value) { SetEnableChannelIdentification(value); return *this;} /** *

Specify the number of channels in your audio stream. Up to two channels are * supported.

*/ inline int GetNumberOfChannels() const{ return m_numberOfChannels; } /** *

Specify the number of channels in your audio stream. Up to two channels are * supported.

*/ inline bool NumberOfChannelsHasBeenSet() const { return m_numberOfChannelsHasBeenSet; } /** *

Specify the number of channels in your audio stream. Up to two channels are * supported.

*/ inline void SetNumberOfChannels(int value) { m_numberOfChannelsHasBeenSet = true; m_numberOfChannels = value; } /** *

Specify the number of channels in your audio stream. Up to two channels are * supported.

*/ inline StartMedicalStreamTranscriptionRequest& WithNumberOfChannels(int value) { SetNumberOfChannels(value); return *this;} /** *

Labels all personal health information (PHI) identified in your * transcript.

Content identification is performed at the segment level; PHI * is flagged upon complete transcription of an audio segment.

For more * information, see Identifying * personal health information (PHI) in a transcription.

*/ inline const MedicalContentIdentificationType& GetContentIdentificationType() const{ return m_contentIdentificationType; } /** *

Labels all personal health information (PHI) identified in your * transcript.

Content identification is performed at the segment level; PHI * is flagged upon complete transcription of an audio segment.

For more * information, see Identifying * personal health information (PHI) in a transcription.

*/ inline bool ContentIdentificationTypeHasBeenSet() const { return m_contentIdentificationTypeHasBeenSet; } /** *

Labels all personal health information (PHI) identified in your * transcript.

Content identification is performed at the segment level; PHI * is flagged upon complete transcription of an audio segment.

For more * information, see Identifying * personal health information (PHI) in a transcription.

*/ inline void SetContentIdentificationType(const MedicalContentIdentificationType& value) { m_contentIdentificationTypeHasBeenSet = true; m_contentIdentificationType = value; } /** *

Labels all personal health information (PHI) identified in your * transcript.

Content identification is performed at the segment level; PHI * is flagged upon complete transcription of an audio segment.

For more * information, see Identifying * personal health information (PHI) in a transcription.

*/ inline void SetContentIdentificationType(MedicalContentIdentificationType&& value) { m_contentIdentificationTypeHasBeenSet = true; m_contentIdentificationType = std::move(value); } /** *

Labels all personal health information (PHI) identified in your * transcript.

Content identification is performed at the segment level; PHI * is flagged upon complete transcription of an audio segment.

For more * information, see Identifying * personal health information (PHI) in a transcription.

*/ inline StartMedicalStreamTranscriptionRequest& WithContentIdentificationType(const MedicalContentIdentificationType& value) { SetContentIdentificationType(value); return *this;} /** *

Labels all personal health information (PHI) identified in your * transcript.

Content identification is performed at the segment level; PHI * is flagged upon complete transcription of an audio segment.

For more * information, see Identifying * personal health information (PHI) in a transcription.

*/ inline StartMedicalStreamTranscriptionRequest& WithContentIdentificationType(MedicalContentIdentificationType&& value) { SetContentIdentificationType(std::move(value)); return *this;} private: LanguageCode m_languageCode; bool m_languageCodeHasBeenSet = false; int m_mediaSampleRateHertz; bool m_mediaSampleRateHertzHasBeenSet = false; MediaEncoding m_mediaEncoding; bool m_mediaEncodingHasBeenSet = false; Aws::String m_vocabularyName; bool m_vocabularyNameHasBeenSet = false; Specialty m_specialty; bool m_specialtyHasBeenSet = false; Type m_type; bool m_typeHasBeenSet = false; bool m_showSpeakerLabel; bool m_showSpeakerLabelHasBeenSet = false; Aws::String m_sessionId; bool m_sessionIdHasBeenSet = false; std::shared_ptr m_audioStream; bool m_enableChannelIdentification; bool m_enableChannelIdentificationHasBeenSet = false; int m_numberOfChannels; bool m_numberOfChannelsHasBeenSet = false; MedicalContentIdentificationType m_contentIdentificationType; bool m_contentIdentificationTypeHasBeenSet = false; StartMedicalStreamTranscriptionHandler m_handler; Aws::Utils::Event::EventStreamDecoder m_decoder; }; } // namespace Model } // namespace TranscribeStreamingService } // namespace Aws