@aws-sdk/client-transcribe-streaming 3.734.0 → 3.741.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -139,8 +139,24 @@ export interface Alternative {
139
139
  */
140
140
  export interface AudioEvent {
141
141
  /**
142
- * <p>An audio blob that contains the next part of the audio that you want to transcribe. The
143
- * maximum audio chunk size is 32 KB.</p>
142
+ * <p>
143
+ * An audio blob containing the next segment of audio from your application,
144
+ * with a maximum duration of 1 second.
145
+ * The maximum size in bytes varies based on audio properties.
146
+ * </p>
147
+ * <p>Find recommended size in <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html#best-practices">Transcribing streaming best practices</a>.
148
+ * </p>
149
+ * <p>
150
+ * Size calculation: <code>Duration (s) * Sample Rate (Hz) * Number of Channels * 2 (Bytes per Sample)</code>
151
+ * </p>
152
+ * <p>
153
+ * For example, a 1-second chunk of 16 kHz, 2-channel, 16-bit audio would be
154
+ * <code>1 * 16000 * 2 * 2 = 64000 bytes</code>.
155
+ * </p>
156
+ * <p>
157
+ * For 8 kHz, 1-channel, 16-bit audio, a 1-second chunk would be
158
+ * <code>1 * 8000 * 1 * 2 = 16000 bytes</code>.
159
+ * </p>
144
160
  * @public
145
161
  */
146
162
  AudioChunk?: Uint8Array | undefined;
@@ -827,6 +843,91 @@ export declare namespace CallAnalyticsTranscriptResultStream {
827
843
  }
828
844
  const visit: <T>(value: CallAnalyticsTranscriptResultStream, visitor: Visitor<T>) => T;
829
845
  }
846
+ /**
847
+ * @public
848
+ * @enum
849
+ */
850
+ export declare const ClinicalNoteGenerationStatus: {
851
+ readonly COMPLETED: "COMPLETED";
852
+ readonly FAILED: "FAILED";
853
+ readonly IN_PROGRESS: "IN_PROGRESS";
854
+ };
855
+ /**
856
+ * @public
857
+ */
858
+ export type ClinicalNoteGenerationStatus = (typeof ClinicalNoteGenerationStatus)[keyof typeof ClinicalNoteGenerationStatus];
859
+ /**
860
+ * <p>The details for clinical note generation,
861
+ * including status, and output locations for clinical note and aggregated transcript if the analytics completed,
862
+ * or failure reason if the analytics failed.
863
+ * </p>
864
+ * @public
865
+ */
866
+ export interface ClinicalNoteGenerationResult {
867
+ /**
868
+ * <p>Holds the Amazon S3 URI for the output Clinical Note. </p>
869
+ * @public
870
+ */
871
+ ClinicalNoteOutputLocation?: string | undefined;
872
+ /**
873
+ * <p>Holds the Amazon S3 URI for the output Transcript. </p>
874
+ * @public
875
+ */
876
+ TranscriptOutputLocation?: string | undefined;
877
+ /**
878
+ * <p>The status of the clinical note generation.</p>
879
+ * <p>Possible Values:</p>
880
+ * <ul>
881
+ * <li>
882
+ * <p>
883
+ * <code>IN_PROGRESS</code>
884
+ * </p>
885
+ * </li>
886
+ * <li>
887
+ * <p>
888
+ * <code>FAILED</code>
889
+ * </p>
890
+ * </li>
891
+ * <li>
892
+ * <p>
893
+ * <code>COMPLETED</code>
894
+ * </p>
895
+ * </li>
896
+ * </ul>
897
+ * <p>
898
+ * After audio streaming finishes, and you send a <code>MedicalScribeSessionControlEvent</code> event (with END_OF_SESSION as the Type),
899
+ * the status is set to <code>IN_PROGRESS</code>.
900
+ * If the status is <code>COMPLETED</code>, the analytics completed successfully, and you can find the
901
+ * results at the locations specified in <code>ClinicalNoteOutputLocation</code> and <code>TranscriptOutputLocation</code>.
902
+ * If the status is <code>FAILED</code>, <code>FailureReason</code> provides details about the failure.
903
+ * </p>
904
+ * @public
905
+ */
906
+ Status?: ClinicalNoteGenerationStatus | undefined;
907
+ /**
908
+ * <p>If <code>ClinicalNoteGenerationResult</code> is <code>FAILED</code>, information about why it failed. </p>
909
+ * @public
910
+ */
911
+ FailureReason?: string | undefined;
912
+ }
913
+ /**
914
+ * <p>The output configuration for aggregated transcript and clinical note generation.</p>
915
+ * @public
916
+ */
917
+ export interface ClinicalNoteGenerationSettings {
918
+ /**
919
+ * <p>The name of the Amazon S3 bucket where you want the output of Amazon Web Services HealthScribe post-stream analytics stored. Don't include the <code>S3://</code> prefix of the specified bucket. </p>
920
+ * <p>HealthScribe outputs transcript and clinical note files under the prefix:
921
+ * <code>S3://$output-bucket-name/healthscribe-streaming/session-id/post-stream-analytics/clinical-notes</code>
922
+ * </p>
923
+ * <p>The role <code>ResourceAccessRoleArn</code> specified in the <code>MedicalScribeConfigurationEvent</code> must have
924
+ * permission to use the specified location. You can change Amazon S3 permissions using the <a href="https://console.aws.amazon.com/s3">
925
+ * Amazon Web Services Management Console
926
+ * </a>. See also <a href="https://docs.aws.amazon.com/transcribe/latest/dg/security_iam_id-based-policy-examples.html#auth-role-iam-user">Permissions Required for IAM User Roles </a> . </p>
927
+ * @public
928
+ */
929
+ OutputBucketName: string | undefined;
930
+ }
830
931
  /**
831
932
  * @public
832
933
  * @enum
@@ -849,6 +950,318 @@ export declare const ContentRedactionType: {
849
950
  * @public
850
951
  */
851
952
  export type ContentRedactionType = (typeof ContentRedactionType)[keyof typeof ContentRedactionType];
953
+ /**
954
+ * @public
955
+ */
956
+ export interface GetMedicalScribeStreamRequest {
957
+ /**
958
+ * <p>The identifier of the HealthScribe streaming session you want information about.</p>
959
+ * @public
960
+ */
961
+ SessionId: string | undefined;
962
+ }
963
+ /**
964
+ * @public
965
+ * @enum
966
+ */
967
+ export declare const MedicalScribeParticipantRole: {
968
+ readonly CLINICIAN: "CLINICIAN";
969
+ readonly PATIENT: "PATIENT";
970
+ };
971
+ /**
972
+ * @public
973
+ */
974
+ export type MedicalScribeParticipantRole = (typeof MedicalScribeParticipantRole)[keyof typeof MedicalScribeParticipantRole];
975
+ /**
976
+ * <p>Makes it possible to specify which speaker is on which channel.
977
+ * For example, if the clinician is the first participant to speak, you would set the <code>ChannelId</code> of the first
978
+ * <code>ChannelDefinition</code>
979
+ * in the list to <code>0</code> (to indicate the first channel) and <code>ParticipantRole</code> to
980
+ * <code>CLINICIAN</code>
981
+ * (to indicate that it's the clinician speaking).
982
+ * Then you would set the <code>ChannelId</code> of the second <code>ChannelDefinition</code> in the list to
983
+ * <code>1</code>
984
+ * (to indicate the second channel) and <code>ParticipantRole</code> to <code>PATIENT</code> (to indicate that it's the patient speaking).
985
+ * </p>
986
+ * <p>If you don't specify a channel definition, HealthScribe will diarize the transcription and identify speaker roles for each speaker.</p>
987
+ * @public
988
+ */
989
+ export interface MedicalScribeChannelDefinition {
990
+ /**
991
+ * <p>Specify the audio channel you want to define.</p>
992
+ * @public
993
+ */
994
+ ChannelId: number | undefined;
995
+ /**
996
+ * <p>Specify the participant that you want to flag.
997
+ * The allowed options are <code>CLINICIAN</code> and
998
+ * <code>PATIENT</code>.
999
+ * </p>
1000
+ * @public
1001
+ */
1002
+ ParticipantRole: MedicalScribeParticipantRole | undefined;
1003
+ }
1004
+ /**
1005
+ * <p>Contains encryption related settings to be used for data encryption with Key Management Service, including KmsEncryptionContext and KmsKeyId.
1006
+ * The KmsKeyId is required, while KmsEncryptionContext is optional for additional layer of security.
1007
+ * </p>
1008
+ * <p>By default, Amazon Web Services HealthScribe provides encryption at rest to protect sensitive customer data using Amazon S3-managed keys. HealthScribe uses the KMS key you specify as a second layer of
1009
+ * encryption.</p>
1010
+ * <p>
1011
+ * Your <code>ResourceAccessRoleArn</code>
1012
+ * must permission to use your KMS key.
1013
+ * For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/health-scribe-encryption.html">Data Encryption at rest for Amazon Web Services HealthScribe</a>.
1014
+ * </p>
1015
+ * @public
1016
+ */
1017
+ export interface MedicalScribeEncryptionSettings {
1018
+ /**
1019
+ * <p>A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added layer of
1020
+ * security for your data. For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/key-management.html#kms-context">KMSencryption context </a> and <a href="https://docs.aws.amazon.com/transcribe/latest/dg/symmetric-asymmetric.html">Asymmetric keys in KMS
1021
+ * </a>. </p>
1022
+ * @public
1023
+ */
1024
+ KmsEncryptionContext?: Record<string, string> | undefined;
1025
+ /**
1026
+ * <p>The ID of the KMS key you want to use for your streaming session. You
1027
+ * can specify its KMS key ID, key Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with <code>"alias/"</code>.
1028
+ * To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.</p>
1029
+ * <p>For example:</p>
1030
+ * <ul>
1031
+ * <li>
1032
+ * <p>Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab</p>
1033
+ * </li>
1034
+ * <li>
1035
+ * <p>Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</p>
1036
+ * </li>
1037
+ * <li>
1038
+ * <p>
1039
+ * Alias name: alias/ExampleAlias</p>
1040
+ * </li>
1041
+ * <li>
1042
+ * <p>
1043
+ * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
1044
+ * </p>
1045
+ * </li>
1046
+ * </ul>
1047
+ * <p>
1048
+ * To get the key ID and key ARN for a KMS key, use the <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html">ListKeys</a> or <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html">DescribeKey</a> KMS API operations.
1049
+ * To get the alias name and alias ARN, use <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html">ListKeys</a> API operation.
1050
+ * </p>
1051
+ * @public
1052
+ */
1053
+ KmsKeyId: string | undefined;
1054
+ }
1055
+ /**
1056
+ * @public
1057
+ * @enum
1058
+ */
1059
+ export declare const MedicalScribeLanguageCode: {
1060
+ readonly EN_US: "en-US";
1061
+ };
1062
+ /**
1063
+ * @public
1064
+ */
1065
+ export type MedicalScribeLanguageCode = (typeof MedicalScribeLanguageCode)[keyof typeof MedicalScribeLanguageCode];
1066
+ /**
1067
+ * @public
1068
+ * @enum
1069
+ */
1070
+ export declare const MedicalScribeMediaEncoding: {
1071
+ readonly FLAC: "flac";
1072
+ readonly OGG_OPUS: "ogg-opus";
1073
+ readonly PCM: "pcm";
1074
+ };
1075
+ /**
1076
+ * @public
1077
+ */
1078
+ export type MedicalScribeMediaEncoding = (typeof MedicalScribeMediaEncoding)[keyof typeof MedicalScribeMediaEncoding];
1079
+ /**
1080
+ * <p>Contains details for the result of post-stream analytics.
1081
+ * </p>
1082
+ * @public
1083
+ */
1084
+ export interface MedicalScribePostStreamAnalyticsResult {
1085
+ /**
1086
+ * <p>Provides the Clinical Note Generation result for post-stream analytics.</p>
1087
+ * @public
1088
+ */
1089
+ ClinicalNoteGenerationResult?: ClinicalNoteGenerationResult | undefined;
1090
+ }
1091
+ /**
1092
+ * <p>The settings for post-stream analytics.
1093
+ * </p>
1094
+ * @public
1095
+ */
1096
+ export interface MedicalScribePostStreamAnalyticsSettings {
1097
+ /**
1098
+ * <p>Specify settings for the post-stream clinical note generation.</p>
1099
+ * @public
1100
+ */
1101
+ ClinicalNoteGenerationSettings: ClinicalNoteGenerationSettings | undefined;
1102
+ }
1103
+ /**
1104
+ * @public
1105
+ * @enum
1106
+ */
1107
+ export declare const MedicalScribeStreamStatus: {
1108
+ readonly COMPLETED: "COMPLETED";
1109
+ readonly FAILED: "FAILED";
1110
+ readonly IN_PROGRESS: "IN_PROGRESS";
1111
+ readonly PAUSED: "PAUSED";
1112
+ };
1113
+ /**
1114
+ * @public
1115
+ */
1116
+ export type MedicalScribeStreamStatus = (typeof MedicalScribeStreamStatus)[keyof typeof MedicalScribeStreamStatus];
1117
+ /**
1118
+ * @public
1119
+ * @enum
1120
+ */
1121
+ export declare const MedicalScribeVocabularyFilterMethod: {
1122
+ readonly MASK: "mask";
1123
+ readonly REMOVE: "remove";
1124
+ readonly TAG: "tag";
1125
+ };
1126
+ /**
1127
+ * @public
1128
+ */
1129
+ export type MedicalScribeVocabularyFilterMethod = (typeof MedicalScribeVocabularyFilterMethod)[keyof typeof MedicalScribeVocabularyFilterMethod];
1130
+ /**
1131
+ * <p>Contains details about a Amazon Web Services HealthScribe streaming session.</p>
1132
+ * @public
1133
+ */
1134
+ export interface MedicalScribeStreamDetails {
1135
+ /**
1136
+ * <p>The identifier of the HealthScribe streaming session.</p>
1137
+ * @public
1138
+ */
1139
+ SessionId?: string | undefined;
1140
+ /**
1141
+ * <p>The date and time when the HealthScribe streaming session was created.</p>
1142
+ * @public
1143
+ */
1144
+ StreamCreatedAt?: Date | undefined;
1145
+ /**
1146
+ * <p>The date and time when the HealthScribe streaming session was ended.</p>
1147
+ * @public
1148
+ */
1149
+ StreamEndedAt?: Date | undefined;
1150
+ /**
1151
+ * <p>The Language Code of the HealthScribe streaming session.</p>
1152
+ * @public
1153
+ */
1154
+ LanguageCode?: MedicalScribeLanguageCode | undefined;
1155
+ /**
1156
+ * <p>The sample rate (in hertz) of the HealthScribe streaming session.</p>
1157
+ * @public
1158
+ */
1159
+ MediaSampleRateHertz?: number | undefined;
1160
+ /**
1161
+ * <p>The Media Encoding of the HealthScribe streaming session.</p>
1162
+ * @public
1163
+ */
1164
+ MediaEncoding?: MedicalScribeMediaEncoding | undefined;
1165
+ /**
1166
+ * <p>The vocabulary name of the HealthScribe streaming session.</p>
1167
+ * @public
1168
+ */
1169
+ VocabularyName?: string | undefined;
1170
+ /**
1171
+ * <p>The name of the vocabulary filter used for the HealthScribe streaming session .</p>
1172
+ * @public
1173
+ */
1174
+ VocabularyFilterName?: string | undefined;
1175
+ /**
1176
+ * <p>The method of the vocabulary filter for the HealthScribe streaming session.</p>
1177
+ * @public
1178
+ */
1179
+ VocabularyFilterMethod?: MedicalScribeVocabularyFilterMethod | undefined;
1180
+ /**
1181
+ * <p>The Amazon Resource Name (ARN) of the role used in the HealthScribe streaming session.</p>
1182
+ * @public
1183
+ */
1184
+ ResourceAccessRoleArn?: string | undefined;
1185
+ /**
1186
+ * <p>The Channel Definitions of the HealthScribe streaming session.</p>
1187
+ * @public
1188
+ */
1189
+ ChannelDefinitions?: MedicalScribeChannelDefinition[] | undefined;
1190
+ /**
1191
+ * <p>The Encryption Settings of the HealthScribe streaming session.</p>
1192
+ * @public
1193
+ */
1194
+ EncryptionSettings?: MedicalScribeEncryptionSettings | undefined;
1195
+ /**
1196
+ * <p>The streaming status of the HealthScribe streaming session.</p>
1197
+ * <p>Possible Values:</p>
1198
+ * <ul>
1199
+ * <li>
1200
+ * <p>
1201
+ * <code>IN_PROGRESS</code>
1202
+ * </p>
1203
+ * </li>
1204
+ * <li>
1205
+ * <p>
1206
+ * <code>PAUSED</code>
1207
+ * </p>
1208
+ * </li>
1209
+ * <li>
1210
+ * <p>
1211
+ * <code>FAILED</code>
1212
+ * </p>
1213
+ * </li>
1214
+ * <li>
1215
+ * <p>
1216
+ * <code>COMPLETED</code>
1217
+ * </p>
1218
+ * </li>
1219
+ * </ul>
1220
+ * <note>
1221
+ * <p>This status is specific to real-time streaming.
1222
+ * A <code>COMPLETED</code> status doesn't mean that the post-stream analytics is complete.
1223
+ * To get status of an analytics result, check the <code>Status</code> field for the analytics result within the
1224
+ * <code>MedicalScribePostStreamAnalyticsResult</code>. For example, you can view the status of the
1225
+ * <code>ClinicalNoteGenerationResult</code>.
1226
+ * </p>
1227
+ * </note>
1228
+ * @public
1229
+ */
1230
+ StreamStatus?: MedicalScribeStreamStatus | undefined;
1231
+ /**
1232
+ * <p>The post-stream analytics settings of the HealthScribe streaming session.</p>
1233
+ * @public
1234
+ */
1235
+ PostStreamAnalyticsSettings?: MedicalScribePostStreamAnalyticsSettings | undefined;
1236
+ /**
1237
+ * <p>The result of post-stream analytics for the HealthScribe streaming session.</p>
1238
+ * @public
1239
+ */
1240
+ PostStreamAnalyticsResult?: MedicalScribePostStreamAnalyticsResult | undefined;
1241
+ }
1242
+ /**
1243
+ * @public
1244
+ */
1245
+ export interface GetMedicalScribeStreamResponse {
1246
+ /**
1247
+ * <p>Provides details about a HealthScribe streaming session.</p>
1248
+ * @public
1249
+ */
1250
+ MedicalScribeStreamDetails?: MedicalScribeStreamDetails | undefined;
1251
+ }
1252
+ /**
1253
+ * <p>The request references a resource which doesn't exist.</p>
1254
+ * @public
1255
+ */
1256
+ export declare class ResourceNotFoundException extends __BaseException {
1257
+ readonly name: "ResourceNotFoundException";
1258
+ readonly $fault: "client";
1259
+ Message?: string | undefined;
1260
+ /**
1261
+ * @internal
1262
+ */
1263
+ constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
1264
+ }
852
1265
  /**
853
1266
  * @public
854
1267
  * @enum
@@ -944,164 +1357,617 @@ export declare const MediaEncoding: {
944
1357
  /**
945
1358
  * @public
946
1359
  */
947
- export type MediaEncoding = (typeof MediaEncoding)[keyof typeof MediaEncoding];
1360
+ export type MediaEncoding = (typeof MediaEncoding)[keyof typeof MediaEncoding];
1361
+ /**
1362
+ * <p>Contains entities identified as personal health information (PHI) in your
1363
+ * transcription output, along with various associated attributes. Examples include
1364
+ * category, confidence score, type, stability score, and start and end times.</p>
1365
+ * @public
1366
+ */
1367
+ export interface MedicalEntity {
1368
+ /**
1369
+ * <p>The start time, in milliseconds, of the utterance that was identified as PHI.</p>
1370
+ * @public
1371
+ */
1372
+ StartTime?: number | undefined;
1373
+ /**
1374
+ * <p>The end time, in milliseconds, of the utterance that was identified as PHI.</p>
1375
+ * @public
1376
+ */
1377
+ EndTime?: number | undefined;
1378
+ /**
1379
+ * <p>The category of information identified. The only category is <code>PHI</code>.</p>
1380
+ * @public
1381
+ */
1382
+ Category?: string | undefined;
1383
+ /**
1384
+ * <p>The word or words identified as PHI.</p>
1385
+ * @public
1386
+ */
1387
+ Content?: string | undefined;
1388
+ /**
1389
+ * <p>The confidence score associated with the identified PHI entity in your audio.</p>
1390
+ * <p>Confidence scores are values between 0 and 1. A larger value indicates a higher
1391
+ * probability that the identified entity correctly matches the entity spoken in your
1392
+ * media.</p>
1393
+ * @public
1394
+ */
1395
+ Confidence?: number | undefined;
1396
+ }
1397
+ /**
1398
+ * <p>A word, phrase, or punctuation mark in your transcription output, along with various
1399
+ * associated attributes, such as confidence score, type, and start and end times.</p>
1400
+ * @public
1401
+ */
1402
+ export interface MedicalItem {
1403
+ /**
1404
+ * <p>The start time, in milliseconds, of the transcribed item.</p>
1405
+ * @public
1406
+ */
1407
+ StartTime?: number | undefined;
1408
+ /**
1409
+ * <p>The end time, in milliseconds, of the transcribed item.</p>
1410
+ * @public
1411
+ */
1412
+ EndTime?: number | undefined;
1413
+ /**
1414
+ * <p>The type of item identified. Options are: <code>PRONUNCIATION</code> (spoken
1415
+ * words) and <code>PUNCTUATION</code>.</p>
1416
+ * @public
1417
+ */
1418
+ Type?: ItemType | undefined;
1419
+ /**
1420
+ * <p>The word or punctuation that was transcribed.</p>
1421
+ * @public
1422
+ */
1423
+ Content?: string | undefined;
1424
+ /**
1425
+ * <p>The confidence score associated with a word or phrase in your transcript.</p>
1426
+ * <p>Confidence scores are values between 0 and 1. A larger value indicates a higher
1427
+ * probability that the identified item correctly matches the item spoken in your
1428
+ * media.</p>
1429
+ * @public
1430
+ */
1431
+ Confidence?: number | undefined;
1432
+ /**
1433
+ * <p>If speaker partitioning is enabled, <code>Speaker</code> labels the speaker of the
1434
+ * specified item.</p>
1435
+ * @public
1436
+ */
1437
+ Speaker?: string | undefined;
1438
+ }
1439
+ /**
1440
+ * <p>A list of possible alternative transcriptions for the input audio. Each alternative may
1441
+ * contain one or more of <code>Items</code>, <code>Entities</code>, or
1442
+ * <code>Transcript</code>.</p>
1443
+ * @public
1444
+ */
1445
+ export interface MedicalAlternative {
1446
+ /**
1447
+ * <p>Contains transcribed text.</p>
1448
+ * @public
1449
+ */
1450
+ Transcript?: string | undefined;
1451
+ /**
1452
+ * <p>Contains words, phrases, or punctuation marks in your transcription output.</p>
1453
+ * @public
1454
+ */
1455
+ Items?: MedicalItem[] | undefined;
1456
+ /**
1457
+ * <p>Contains entities identified as personal health information (PHI) in your transcription
1458
+ * output.</p>
1459
+ * @public
1460
+ */
1461
+ Entities?: MedicalEntity[] | undefined;
1462
+ }
1463
+ /**
1464
+ * @public
1465
+ * @enum
1466
+ */
1467
+ export declare const MedicalContentIdentificationType: {
1468
+ readonly PHI: "PHI";
1469
+ };
1470
+ /**
1471
+ * @public
1472
+ */
1473
+ export type MedicalContentIdentificationType = (typeof MedicalContentIdentificationType)[keyof typeof MedicalContentIdentificationType];
1474
+ /**
1475
+ * <p>The <code>Result</code> associated with a
1476
+ * <code></code>.</p>
1477
+ * <p>Contains a set of transcription results from one or more audio segments, along with
1478
+ * additional information per your request parameters. This can include information relating to
1479
+ * alternative transcriptions, channel identification, partial result stabilization, language
1480
+ * identification, and other transcription-related data.</p>
1481
+ * @public
1482
+ */
1483
+ export interface MedicalResult {
1484
+ /**
1485
+ * <p>Provides a unique identifier for the <code>Result</code>.</p>
1486
+ * @public
1487
+ */
1488
+ ResultId?: string | undefined;
1489
+ /**
1490
+ * <p>The start time, in milliseconds, of the <code>Result</code>.</p>
1491
+ * @public
1492
+ */
1493
+ StartTime?: number | undefined;
1494
+ /**
1495
+ * <p>The end time, in milliseconds, of the <code>Result</code>.</p>
1496
+ * @public
1497
+ */
1498
+ EndTime?: number | undefined;
1499
+ /**
1500
+ * <p>Indicates if the segment is complete.</p>
1501
+ * <p>If <code>IsPartial</code> is <code>true</code>, the segment is not complete. If
1502
+ * <code>IsPartial</code> is <code>false</code>, the segment is complete.</p>
1503
+ * @public
1504
+ */
1505
+ IsPartial?: boolean | undefined;
1506
+ /**
1507
+ * <p>A list of possible alternative transcriptions for the input audio. Each alternative may
1508
+ * contain one or more of <code>Items</code>, <code>Entities</code>, or
1509
+ * <code>Transcript</code>.</p>
1510
+ * @public
1511
+ */
1512
+ Alternatives?: MedicalAlternative[] | undefined;
1513
+ /**
1514
+ * <p>Indicates the channel identified for the <code>Result</code>.</p>
1515
+ * @public
1516
+ */
1517
+ ChannelId?: string | undefined;
1518
+ }
1519
+ /**
1520
+ * <p>A wrapper for your audio chunks</p>
1521
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/event-stream.html">Event stream encoding</a>.
1522
+ * </p>
1523
+ * @public
1524
+ */
1525
+ export interface MedicalScribeAudioEvent {
1526
+ /**
1527
+ * <p>
1528
+ * An audio blob containing the next segment of audio from your application,
1529
+ * with a maximum duration of 1 second.
1530
+ * The maximum size in bytes varies based on audio properties.
1531
+ * </p>
1532
+ * <p>Find recommended size in <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html#best-practices">Transcribing streaming best practices</a>.
1533
+ * </p>
1534
+ * <p>
1535
+ * Size calculation: <code>Duration (s) * Sample Rate (Hz) * Number of Channels * 2 (Bytes per Sample)</code>
1536
+ * </p>
1537
+ * <p>
1538
+ * For example, a 1-second chunk of 16 kHz, 2-channel, 16-bit audio would be
1539
+ * <code>1 * 16000 * 2 * 2 = 64000 bytes</code>.
1540
+ * </p>
1541
+ * <p>
1542
+ * For 8 kHz, 1-channel, 16-bit audio, a 1-second chunk would be
1543
+ * <code>1 * 8000 * 1 * 2 = 16000 bytes</code>.
1544
+ * </p>
1545
+ * @public
1546
+ */
1547
+ AudioChunk: Uint8Array | undefined;
1548
+ }
1549
+ /**
1550
+ * <p>Specify details to configure the streaming session, including channel definitions, encryption settings, post-stream analytics
1551
+ * settings, resource access role ARN and vocabulary settings.
1552
+ * </p>
1553
+ * <p>Whether you are starting a new session or resuming an existing session,
1554
+ * your first event must be a <code>MedicalScribeConfigurationEvent</code>.
1555
+ * If you are resuming a session, then this event must have the same configurations that you provided to start the session.
1556
+ * </p>
1557
+ * @public
1558
+ */
1559
+ export interface MedicalScribeConfigurationEvent {
1560
+ /**
1561
+ * <p>Specify the name of the custom vocabulary you want to use for your streaming session.
1562
+ * Custom vocabulary names are case-sensitive.
1563
+ * </p>
1564
+ * @public
1565
+ */
1566
+ VocabularyName?: string | undefined;
1567
+ /**
1568
+ * <p>Specify the name of the custom vocabulary filter you want to include in your streaming session.
1569
+ * Custom vocabulary filter names are case-sensitive.
1570
+ * </p>
1571
+ * <p>If you include <code>VocabularyFilterName</code> in the <code>MedicalScribeConfigurationEvent</code>,
1572
+ * you must also include <code>VocabularyFilterMethod</code>.
1573
+ * </p>
1574
+ * @public
1575
+ */
1576
+ VocabularyFilterName?: string | undefined;
1577
+ /**
1578
+ * <p>Specify how you want your custom vocabulary filter applied to the streaming session.</p>
1579
+ * <p>To replace words with <code>***</code>, specify <code>mask</code>.
1580
+ * </p>
1581
+ * <p>To delete words, specify <code>remove</code>.
1582
+ * </p>
1583
+ * <p>To flag words without changing them, specify <code>tag</code>.
1584
+ * </p>
1585
+ * @public
1586
+ */
1587
+ VocabularyFilterMethod?: MedicalScribeVocabularyFilterMethod | undefined;
1588
+ /**
1589
+ * <p>The Amazon Resource Name (ARN) of an IAM role that has permissions to access the Amazon S3 output
1590
+ * bucket you specified, and use your KMS key if supplied. If the role that you specify doesn’t have the
1591
+ * appropriate permissions, your request fails. </p>
1592
+ * <p>
1593
+ * IAM
1594
+ * role ARNs have the format
1595
+ * <code>arn:partition:iam::account:role/role-name-with-path</code>.
1596
+ * For example: <code>arn:aws:iam::111122223333:role/Admin</code>.
1597
+ * </p>
1598
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/health-scribe-streaming.html">Amazon Web Services HealthScribe</a>.</p>
1599
+ * @public
1600
+ */
1601
+ ResourceAccessRoleArn: string | undefined;
1602
+ /**
1603
+ * <p>Specify which speaker is on which audio channel.</p>
1604
+ * @public
1605
+ */
1606
+ ChannelDefinitions?: MedicalScribeChannelDefinition[] | undefined;
1607
+ /**
1608
+ * <p>Specify the encryption settings for your streaming session.</p>
1609
+ * @public
1610
+ */
1611
+ EncryptionSettings?: MedicalScribeEncryptionSettings | undefined;
1612
+ /**
1613
+ * <p>Specify settings for post-stream analytics.</p>
1614
+ * @public
1615
+ */
1616
+ PostStreamAnalyticsSettings: MedicalScribePostStreamAnalyticsSettings | undefined;
1617
+ }
1618
+ /**
1619
+ * @public
1620
+ * @enum
1621
+ */
1622
+ export declare const MedicalScribeSessionControlEventType: {
1623
+ readonly END_OF_SESSION: "END_OF_SESSION";
1624
+ };
1625
+ /**
1626
+ * @public
1627
+ */
1628
+ export type MedicalScribeSessionControlEventType = (typeof MedicalScribeSessionControlEventType)[keyof typeof MedicalScribeSessionControlEventType];
1629
+ /**
1630
+ * <p>Specify the lifecycle of your streaming session.</p>
1631
+ * @public
1632
+ */
1633
+ export interface MedicalScribeSessionControlEvent {
1634
+ /**
1635
+ * <p>The type of <code>MedicalScribeSessionControlEvent</code>.
1636
+ * </p>
1637
+ * <p>Possible Values:</p>
1638
+ * <ul>
1639
+ * <li>
1640
+ * <p>
1641
+ * <code>END_OF_SESSION</code> - Indicates the audio streaming is complete. After you
1642
+ * send an END_OF_SESSION event, Amazon Web Services HealthScribe starts the post-stream analytics.
1643
+ * The session can't be resumed after this event is sent. After Amazon Web Services HealthScribe processes the event, the real-time <code>StreamStatus</code> is <code>COMPLETED</code>.
1644
+ * You get the <code>StreamStatus</code> and other stream details with the <a href="https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_GetMedicalScribeStream.html">GetMedicalScribeStream</a> API operation.
1645
+ * For more information about different streaming statuses, see the <code>StreamStatus</code> description in the <a href="https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_MedicalScribeStreamDetails.html">MedicalScribeStreamDetails</a>.
1646
+ * </p>
1647
+ * </li>
1648
+ * </ul>
1649
+ * @public
1650
+ */
1651
+ Type: MedicalScribeSessionControlEventType | undefined;
1652
+ }
1653
+ /**
1654
+ * <p>An encoded stream of events. The stream is encoded as HTTP/2 data frames.</p>
1655
+ * <p>An input stream consists of the following types of events. The first element of the input stream must be the <code>MedicalScribeConfigurationEvent</code> event type.</p>
1656
+ * <ul>
1657
+ * <li>
1658
+ * <p>
1659
+ * <code>MedicalScribeConfigurationEvent</code>
1660
+ * </p>
1661
+ * </li>
1662
+ * <li>
1663
+ * <p>
1664
+ * <code>MedicalScribeAudioEvent</code>
1665
+ * </p>
1666
+ * </li>
1667
+ * <li>
1668
+ * <p>
1669
+ * <code>MedicalScribeSessionControlEvent</code>
1670
+ * </p>
1671
+ * </li>
1672
+ * </ul>
1673
+ * @public
1674
+ */
1675
+ export type MedicalScribeInputStream = MedicalScribeInputStream.AudioEventMember | MedicalScribeInputStream.ConfigurationEventMember | MedicalScribeInputStream.SessionControlEventMember | MedicalScribeInputStream.$UnknownMember;
1676
+ /**
1677
+ * @public
1678
+ */
1679
+ export declare namespace MedicalScribeInputStream {
1680
+ /**
1681
+ * <p>A wrapper for your audio chunks</p>
1682
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/event-stream.html">Event stream encoding</a>.
1683
+ * </p>
1684
+ * @public
1685
+ */
1686
+ interface AudioEventMember {
1687
+ AudioEvent: MedicalScribeAudioEvent;
1688
+ SessionControlEvent?: never;
1689
+ ConfigurationEvent?: never;
1690
+ $unknown?: never;
1691
+ }
1692
+ /**
1693
+ * <p>Specify the lifecycle of your streaming session, such as ending the session.</p>
1694
+ * @public
1695
+ */
1696
+ interface SessionControlEventMember {
1697
+ AudioEvent?: never;
1698
+ SessionControlEvent: MedicalScribeSessionControlEvent;
1699
+ ConfigurationEvent?: never;
1700
+ $unknown?: never;
1701
+ }
1702
+ /**
1703
+ * <p>Specify additional streaming session configurations beyond those provided in your initial start request headers. For example, specify
1704
+ * channel definitions, encryption settings, and post-stream analytics settings.
1705
+ * </p>
1706
+ * <p>Whether you are starting a new session or resuming an existing session,
1707
+ * your first event must be a <code>MedicalScribeConfigurationEvent</code>.
1708
+ * </p>
1709
+ * @public
1710
+ */
1711
+ interface ConfigurationEventMember {
1712
+ AudioEvent?: never;
1713
+ SessionControlEvent?: never;
1714
+ ConfigurationEvent: MedicalScribeConfigurationEvent;
1715
+ $unknown?: never;
1716
+ }
1717
+ /**
1718
+ * @public
1719
+ */
1720
+ interface $UnknownMember {
1721
+ AudioEvent?: never;
1722
+ SessionControlEvent?: never;
1723
+ ConfigurationEvent?: never;
1724
+ $unknown: [string, any];
1725
+ }
1726
+ interface Visitor<T> {
1727
+ AudioEvent: (value: MedicalScribeAudioEvent) => T;
1728
+ SessionControlEvent: (value: MedicalScribeSessionControlEvent) => T;
1729
+ ConfigurationEvent: (value: MedicalScribeConfigurationEvent) => T;
1730
+ _: (name: string, value: any) => T;
1731
+ }
1732
+ const visit: <T>(value: MedicalScribeInputStream, visitor: Visitor<T>) => T;
1733
+ }
1734
+ /**
1735
+ * @public
1736
+ * @enum
1737
+ */
1738
+ export declare const MedicalScribeTranscriptItemType: {
1739
+ readonly PRONUNCIATION: "pronunciation";
1740
+ readonly PUNCTUATION: "punctuation";
1741
+ };
1742
+ /**
1743
+ * @public
1744
+ */
1745
+ export type MedicalScribeTranscriptItemType = (typeof MedicalScribeTranscriptItemType)[keyof typeof MedicalScribeTranscriptItemType];
948
1746
  /**
949
- * <p>Contains entities identified as personal health information (PHI) in your
950
- * transcription output, along with various associated attributes. Examples include
951
- * category, confidence score, type, stability score, and start and end times.</p>
1747
+ * <p>A word, phrase, or punctuation mark in your transcription output, along with various associated
1748
+ * attributes, such as confidence score, type, and start and end times.
1749
+ * </p>
952
1750
  * @public
953
1751
  */
954
- export interface MedicalEntity {
1752
+ export interface MedicalScribeTranscriptItem {
955
1753
  /**
956
- * <p>The start time, in milliseconds, of the utterance that was identified as PHI.</p>
1754
+ * <p>The start time, in milliseconds, of the transcribed item.</p>
957
1755
  * @public
958
1756
  */
959
- StartTime?: number | undefined;
1757
+ BeginAudioTime?: number | undefined;
960
1758
  /**
961
- * <p>The end time, in milliseconds, of the utterance that was identified as PHI.</p>
1759
+ * <p>The end time, in milliseconds, of the transcribed item.</p>
962
1760
  * @public
963
1761
  */
964
- EndTime?: number | undefined;
1762
+ EndAudioTime?: number | undefined;
965
1763
  /**
966
- * <p>The category of information identified. The only category is <code>PHI</code>.</p>
1764
+ * <p>The type of item identified. Options are: <code>PRONUNCIATION</code> (spoken words)
1765
+ * and <code>PUNCTUATION</code>.
1766
+ * </p>
967
1767
  * @public
968
1768
  */
969
- Category?: string | undefined;
1769
+ Type?: MedicalScribeTranscriptItemType | undefined;
970
1770
  /**
971
- * <p>The word or words identified as PHI.</p>
1771
+ * <p>The confidence score associated with a word or phrase in your transcript.</p>
1772
+ * <p>Confidence scores are values between 0 and 1. A larger value indicates a higher
1773
+ * probability that the identified item correctly matches the item spoken in your media.
1774
+ * </p>
1775
+ * @public
1776
+ */
1777
+ Confidence?: number | undefined;
1778
+ /**
1779
+ * <p>The word, phrase or punctuation mark that was transcribed.</p>
972
1780
  * @public
973
1781
  */
974
1782
  Content?: string | undefined;
975
1783
  /**
976
- * <p>The confidence score associated with the identified PHI entity in your audio.</p>
977
- * <p>Confidence scores are values between 0 and 1. A larger value indicates a higher
978
- * probability that the identified entity correctly matches the entity spoken in your
979
- * media.</p>
1784
+ * <p>Indicates whether the specified item matches a word in the vocabulary filter included in
1785
+ * your configuration event. If <code>true</code>, there is a vocabulary filter match.
1786
+ * </p>
980
1787
  * @public
981
1788
  */
982
- Confidence?: number | undefined;
1789
+ VocabularyFilterMatch?: boolean | undefined;
983
1790
  }
984
1791
  /**
985
- * <p>A word, phrase, or punctuation mark in your transcription output, along with various
986
- * associated attributes, such as confidence score, type, and start and end times.</p>
1792
+ * <p>Contains a set of transcription results, along with additional information of the segment.</p>
987
1793
  * @public
988
1794
  */
989
- export interface MedicalItem {
1795
+ export interface MedicalScribeTranscriptSegment {
990
1796
  /**
991
- * <p>The start time, in milliseconds, of the transcribed item.</p>
1797
+ * <p>The identifier of the segment.</p>
992
1798
  * @public
993
1799
  */
994
- StartTime?: number | undefined;
1800
+ SegmentId?: string | undefined;
995
1801
  /**
996
- * <p>The end time, in milliseconds, of the transcribed item.</p>
1802
+ * <p>The start time, in milliseconds, of the segment.</p>
997
1803
  * @public
998
1804
  */
999
- EndTime?: number | undefined;
1805
+ BeginAudioTime?: number | undefined;
1000
1806
  /**
1001
- * <p>The type of item identified. Options are: <code>PRONUNCIATION</code> (spoken
1002
- * words) and <code>PUNCTUATION</code>.</p>
1807
+ * <p>The end time, in milliseconds, of the segment.</p>
1003
1808
  * @public
1004
1809
  */
1005
- Type?: ItemType | undefined;
1810
+ EndAudioTime?: number | undefined;
1006
1811
  /**
1007
- * <p>The word or punctuation that was transcribed.</p>
1812
+ * <p>Contains transcribed text of the segment.</p>
1008
1813
  * @public
1009
1814
  */
1010
1815
  Content?: string | undefined;
1011
1816
  /**
1012
- * <p>The confidence score associated with a word or phrase in your transcript.</p>
1013
- * <p>Confidence scores are values between 0 and 1. A larger value indicates a higher
1014
- * probability that the identified item correctly matches the item spoken in your
1015
- * media.</p>
1817
+ * <p>Contains words, phrases, or punctuation marks in your segment.</p>
1016
1818
  * @public
1017
1819
  */
1018
- Confidence?: number | undefined;
1820
+ Items?: MedicalScribeTranscriptItem[] | undefined;
1019
1821
  /**
1020
- * <p>If speaker partitioning is enabled, <code>Speaker</code> labels the speaker of the
1021
- * specified item.</p>
1822
+ * <p>Indicates if the segment is complete.</p>
1823
+ * <p>If <code>IsPartial</code> is <code>true</code>, the segment is not complete.
1824
+ * If <code>IsPartial</code> is <code>false</code>, the segment is complete.
1825
+ * </p>
1022
1826
  * @public
1023
1827
  */
1024
- Speaker?: string | undefined;
1828
+ IsPartial?: boolean | undefined;
1829
+ /**
1830
+ * <p>Indicates which audio channel is associated with the <code>MedicalScribeTranscriptSegment</code>.
1831
+ * </p>
1832
+ * <p>If <code>MedicalScribeChannelDefinition</code> is not provided in the <code>MedicalScribeConfigurationEvent</code>,
1833
+ * then this field will not be included.
1834
+ * </p>
1835
+ * @public
1836
+ */
1837
+ ChannelId?: string | undefined;
1025
1838
  }
1026
1839
  /**
1027
- * <p>A list of possible alternative transcriptions for the input audio. Each alternative may
1028
- * contain one or more of <code>Items</code>, <code>Entities</code>, or
1029
- * <code>Transcript</code>.</p>
1840
+ * <p>The event associated with <code>MedicalScribeResultStream</code>.
1841
+ * </p>
1842
+ * <p>Contains <code>MedicalScribeTranscriptSegment</code>, which contains segment related information.
1843
+ * </p>
1030
1844
  * @public
1031
1845
  */
1032
- export interface MedicalAlternative {
1033
- /**
1034
- * <p>Contains transcribed text.</p>
1035
- * @public
1036
- */
1037
- Transcript?: string | undefined;
1038
- /**
1039
- * <p>Contains words, phrases, or punctuation marks in your transcription output.</p>
1040
- * @public
1041
- */
1042
- Items?: MedicalItem[] | undefined;
1846
+ export interface MedicalScribeTranscriptEvent {
1043
1847
  /**
1044
- * <p>Contains entities identified as personal health information (PHI) in your transcription
1045
- * output.</p>
1848
+ * <p>The <code>TranscriptSegment</code> associated with a <code>MedicalScribeTranscriptEvent</code>.
1849
+ * </p>
1046
1850
  * @public
1047
1851
  */
1048
- Entities?: MedicalEntity[] | undefined;
1852
+ TranscriptSegment?: MedicalScribeTranscriptSegment | undefined;
1049
1853
  }
1050
1854
  /**
1051
- * @public
1052
- * @enum
1053
- */
1054
- export declare const MedicalContentIdentificationType: {
1055
- readonly PHI: "PHI";
1056
- };
1057
- /**
1855
+ * <p>Result stream where you will receive the output events.
1856
+ * The details are provided in the <code>MedicalScribeTranscriptEvent</code> object.
1857
+ * </p>
1058
1858
  * @public
1059
1859
  */
1060
- export type MedicalContentIdentificationType = (typeof MedicalContentIdentificationType)[keyof typeof MedicalContentIdentificationType];
1860
+ export type MedicalScribeResultStream = MedicalScribeResultStream.BadRequestExceptionMember | MedicalScribeResultStream.ConflictExceptionMember | MedicalScribeResultStream.InternalFailureExceptionMember | MedicalScribeResultStream.LimitExceededExceptionMember | MedicalScribeResultStream.ServiceUnavailableExceptionMember | MedicalScribeResultStream.TranscriptEventMember | MedicalScribeResultStream.$UnknownMember;
1061
1861
  /**
1062
- * <p>The <code>Result</code> associated with a
1063
- * <code></code>.</p>
1064
- * <p>Contains a set of transcription results from one or more audio segments, along with
1065
- * additional information per your request parameters. This can include information relating to
1066
- * alternative transcriptions, channel identification, partial result stabilization, language
1067
- * identification, and other transcription-related data.</p>
1068
1862
  * @public
1069
1863
  */
1070
- export interface MedicalResult {
1864
+ export declare namespace MedicalScribeResultStream {
1071
1865
  /**
1072
- * <p>Provides a unique identifier for the <code>Result</code>.</p>
1866
+ * <p>The transcript event that contains real-time transcription results.
1867
+ * </p>
1073
1868
  * @public
1074
1869
  */
1075
- ResultId?: string | undefined;
1870
+ interface TranscriptEventMember {
1871
+ TranscriptEvent: MedicalScribeTranscriptEvent;
1872
+ BadRequestException?: never;
1873
+ LimitExceededException?: never;
1874
+ InternalFailureException?: never;
1875
+ ConflictException?: never;
1876
+ ServiceUnavailableException?: never;
1877
+ $unknown?: never;
1878
+ }
1076
1879
  /**
1077
- * <p>The start time, in milliseconds, of the <code>Result</code>.</p>
1880
+ * <p>One or more arguments to the <code>StartStreamTranscription</code>,
1881
+ * <code>StartMedicalStreamTranscription</code>, or <code>StartCallAnalyticsStreamTranscription</code>
1882
+ * operation was not valid. For example, <code>MediaEncoding</code> or <code>LanguageCode</code>
1883
+ * used unsupported values. Check the specified parameters and try your request again.</p>
1078
1884
  * @public
1079
1885
  */
1080
- StartTime?: number | undefined;
1886
+ interface BadRequestExceptionMember {
1887
+ TranscriptEvent?: never;
1888
+ BadRequestException: BadRequestException;
1889
+ LimitExceededException?: never;
1890
+ InternalFailureException?: never;
1891
+ ConflictException?: never;
1892
+ ServiceUnavailableException?: never;
1893
+ $unknown?: never;
1894
+ }
1081
1895
  /**
1082
- * <p>The end time, in milliseconds, of the <code>Result</code>.</p>
1896
+ * <p>Your client has exceeded one of the Amazon Transcribe limits. This is typically the audio length
1897
+ * limit. Break your audio stream into smaller chunks and try your request again.</p>
1083
1898
  * @public
1084
1899
  */
1085
- EndTime?: number | undefined;
1900
+ interface LimitExceededExceptionMember {
1901
+ TranscriptEvent?: never;
1902
+ BadRequestException?: never;
1903
+ LimitExceededException: LimitExceededException;
1904
+ InternalFailureException?: never;
1905
+ ConflictException?: never;
1906
+ ServiceUnavailableException?: never;
1907
+ $unknown?: never;
1908
+ }
1086
1909
  /**
1087
- * <p>Indicates if the segment is complete.</p>
1088
- * <p>If <code>IsPartial</code> is <code>true</code>, the segment is not complete. If
1089
- * <code>IsPartial</code> is <code>false</code>, the segment is complete.</p>
1910
+ * <p>A problem occurred while processing the audio. Amazon Transcribe terminated
1911
+ * processing.</p>
1090
1912
  * @public
1091
1913
  */
1092
- IsPartial?: boolean | undefined;
1914
+ interface InternalFailureExceptionMember {
1915
+ TranscriptEvent?: never;
1916
+ BadRequestException?: never;
1917
+ LimitExceededException?: never;
1918
+ InternalFailureException: InternalFailureException;
1919
+ ConflictException?: never;
1920
+ ServiceUnavailableException?: never;
1921
+ $unknown?: never;
1922
+ }
1093
1923
  /**
1094
- * <p>A list of possible alternative transcriptions for the input audio. Each alternative may
1095
- * contain one or more of <code>Items</code>, <code>Entities</code>, or
1096
- * <code>Transcript</code>.</p>
1924
+ * <p>A new stream started with the same session ID. The current stream has been terminated.</p>
1097
1925
  * @public
1098
1926
  */
1099
- Alternatives?: MedicalAlternative[] | undefined;
1927
+ interface ConflictExceptionMember {
1928
+ TranscriptEvent?: never;
1929
+ BadRequestException?: never;
1930
+ LimitExceededException?: never;
1931
+ InternalFailureException?: never;
1932
+ ConflictException: ConflictException;
1933
+ ServiceUnavailableException?: never;
1934
+ $unknown?: never;
1935
+ }
1100
1936
  /**
1101
- * <p>Indicates the channel identified for the <code>Result</code>.</p>
1937
+ * <p>The service is currently unavailable. Try your request later.</p>
1102
1938
  * @public
1103
1939
  */
1104
- ChannelId?: string | undefined;
1940
+ interface ServiceUnavailableExceptionMember {
1941
+ TranscriptEvent?: never;
1942
+ BadRequestException?: never;
1943
+ LimitExceededException?: never;
1944
+ InternalFailureException?: never;
1945
+ ConflictException?: never;
1946
+ ServiceUnavailableException: ServiceUnavailableException;
1947
+ $unknown?: never;
1948
+ }
1949
+ /**
1950
+ * @public
1951
+ */
1952
+ interface $UnknownMember {
1953
+ TranscriptEvent?: never;
1954
+ BadRequestException?: never;
1955
+ LimitExceededException?: never;
1956
+ InternalFailureException?: never;
1957
+ ConflictException?: never;
1958
+ ServiceUnavailableException?: never;
1959
+ $unknown: [string, any];
1960
+ }
1961
+ interface Visitor<T> {
1962
+ TranscriptEvent: (value: MedicalScribeTranscriptEvent) => T;
1963
+ BadRequestException: (value: BadRequestException) => T;
1964
+ LimitExceededException: (value: LimitExceededException) => T;
1965
+ InternalFailureException: (value: InternalFailureException) => T;
1966
+ ConflictException: (value: ConflictException) => T;
1967
+ ServiceUnavailableException: (value: ServiceUnavailableException) => T;
1968
+ _: (name: string, value: any) => T;
1969
+ }
1970
+ const visit: <T>(value: MedicalScribeResultStream, visitor: Visitor<T>) => T;
1105
1971
  }
1106
1972
  /**
1107
1973
  * <p>The <code>MedicalTranscript</code> associated with a
@@ -1587,6 +2453,108 @@ export interface StartCallAnalyticsStreamTranscriptionResponse {
1587
2453
  */
1588
2454
  PiiEntityTypes?: string | undefined;
1589
2455
  }
2456
+ /**
2457
+ * @public
2458
+ */
2459
+ export interface StartMedicalScribeStreamRequest {
2460
+ /**
2461
+ * <p>Specify an identifier for your streaming session (in UUID format).
2462
+ * If you don't include a SessionId in your request,
2463
+ * Amazon Web Services HealthScribe generates an ID and returns it in the response.
2464
+ * </p>
2465
+ * @public
2466
+ */
2467
+ SessionId?: string | undefined;
2468
+ /**
2469
+ * <p>Specify the language code for your HealthScribe streaming session.</p>
2470
+ * @public
2471
+ */
2472
+ LanguageCode: MedicalScribeLanguageCode | undefined;
2473
+ /**
2474
+ * <p>Specify the sample rate of the input audio (in hertz).
2475
+ * Amazon Web Services HealthScribe supports a range from 16,000 Hz to 48,000 Hz.
2476
+ * The sample rate you specify must match that of your audio.
2477
+ * </p>
2478
+ * @public
2479
+ */
2480
+ MediaSampleRateHertz: number | undefined;
2481
+ /**
2482
+ * <p>Specify the encoding used for the input audio.</p>
2483
+ * <p>Supported formats are:</p>
2484
+ * <ul>
2485
+ * <li>
2486
+ * <p>FLAC</p>
2487
+ * </li>
2488
+ * <li>
2489
+ * <p>OPUS-encoded audio in an Ogg container</p>
2490
+ * </li>
2491
+ * <li>
2492
+ * <p>PCM (only signed 16-bit little-endian audio formats, which does not include
2493
+ * WAV)
2494
+ * </p>
2495
+ * </li>
2496
+ * </ul>
2497
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/how-input.html#how-input-audio">Media
2498
+ * formats</a>.
2499
+ * </p>
2500
+ * @public
2501
+ */
2502
+ MediaEncoding: MedicalScribeMediaEncoding | undefined;
2503
+ /**
2504
+ * <p>Specify the input stream where you will send events in real time.</p>
2505
+ * <p>The first element of the input stream must be a <code>MedicalScribeConfigurationEvent</code>.
2506
+ * </p>
2507
+ * @public
2508
+ */
2509
+ InputStream: AsyncIterable<MedicalScribeInputStream> | undefined;
2510
+ }
2511
+ /**
2512
+ * @public
2513
+ */
2514
+ export interface StartMedicalScribeStreamResponse {
2515
+ /**
2516
+ * <p>The identifier (in UUID format) for your streaming session.</p>
2517
+ * <p>If you already started streaming, this is same ID as the one you specified in your initial <code>StartMedicalScribeStreamRequest</code>.
2518
+ * </p>
2519
+ * @public
2520
+ */
2521
+ SessionId?: string | undefined;
2522
+ /**
2523
+ * <p>The unique identifier for your streaming request.
2524
+ * </p>
2525
+ * @public
2526
+ */
2527
+ RequestId?: string | undefined;
2528
+ /**
2529
+ * <p>The Language Code that you specified in your request.
2530
+ * Same as provided in the <code>StartMedicalScribeStreamRequest</code>.
2531
+ * </p>
2532
+ * @public
2533
+ */
2534
+ LanguageCode?: MedicalScribeLanguageCode | undefined;
2535
+ /**
2536
+ * <p>The sample rate (in hertz) that you specified in your request.
2537
+ * Same as provided in the
2538
+ * <code>StartMedicalScribeStreamRequest</code>
2539
+ * </p>
2540
+ * @public
2541
+ */
2542
+ MediaSampleRateHertz?: number | undefined;
2543
+ /**
2544
+ * <p>The Media Encoding you specified in your request.
2545
+ * Same as provided in the
2546
+ * <code>StartMedicalScribeStreamRequest</code>
2547
+ * </p>
2548
+ * @public
2549
+ */
2550
+ MediaEncoding?: MedicalScribeMediaEncoding | undefined;
2551
+ /**
2552
+ * <p>The result stream where you will receive the output events.
2553
+ * </p>
2554
+ * @public
2555
+ */
2556
+ ResultStream?: AsyncIterable<MedicalScribeResultStream> | undefined;
2557
+ }
1590
2558
  /**
1591
2559
  * @public
1592
2560
  * @enum
@@ -2338,6 +3306,14 @@ export declare const AudioStreamFilterSensitiveLog: (obj: AudioStream) => any;
2338
3306
  * @internal
2339
3307
  */
2340
3308
  export declare const CallAnalyticsTranscriptResultStreamFilterSensitiveLog: (obj: CallAnalyticsTranscriptResultStream) => any;
3309
+ /**
3310
+ * @internal
3311
+ */
3312
+ export declare const MedicalScribeInputStreamFilterSensitiveLog: (obj: MedicalScribeInputStream) => any;
3313
+ /**
3314
+ * @internal
3315
+ */
3316
+ export declare const MedicalScribeResultStreamFilterSensitiveLog: (obj: MedicalScribeResultStream) => any;
2341
3317
  /**
2342
3318
  * @internal
2343
3319
  */
@@ -2350,6 +3326,14 @@ export declare const StartCallAnalyticsStreamTranscriptionRequestFilterSensitive
2350
3326
  * @internal
2351
3327
  */
2352
3328
  export declare const StartCallAnalyticsStreamTranscriptionResponseFilterSensitiveLog: (obj: StartCallAnalyticsStreamTranscriptionResponse) => any;
3329
+ /**
3330
+ * @internal
3331
+ */
3332
+ export declare const StartMedicalScribeStreamRequestFilterSensitiveLog: (obj: StartMedicalScribeStreamRequest) => any;
3333
+ /**
3334
+ * @internal
3335
+ */
3336
+ export declare const StartMedicalScribeStreamResponseFilterSensitiveLog: (obj: StartMedicalScribeStreamResponse) => any;
2353
3337
  /**
2354
3338
  * @internal
2355
3339
  */