/*
 * 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 comprehendmedical-2018-10-30.normal.json service model.
 */
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.ComprehendMedical.Model;
using Amazon.ComprehendMedical.Model.Internal.MarshallTransformations;
using Amazon.ComprehendMedical.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.ComprehendMedical
{
    /// 
    /// Implementation for accessing ComprehendMedical
    ///
    /// Amazon Comprehend Medical extracts structured information from unstructured clinical
    /// text. Use these actions to gain insight in your documents. Amazon Comprehend Medical
    /// only detects entities in English language texts. Amazon Comprehend Medical places
    /// limits on the sizes of files allowed for different API operations. To learn more,
    /// see Guidelines
    /// and quotas in the Amazon Comprehend Medical Developer Guide.
    /// 
    public partial class AmazonComprehendMedicalClient : AmazonServiceClient, IAmazonComprehendMedical
    {
        private static IServiceMetadata serviceMetadata = new AmazonComprehendMedicalMetadata();
        #region Constructors
        /// 
        /// Constructs AmazonComprehendMedicalClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        public AmazonComprehendMedicalClient()
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonComprehendMedicalConfig()) { }
        /// 
        /// Constructs AmazonComprehendMedicalClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        /// The region to connect.
        public AmazonComprehendMedicalClient(RegionEndpoint region)
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonComprehendMedicalConfig{RegionEndpoint = region}) { }
        /// 
        /// Constructs AmazonComprehendMedicalClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        /// The AmazonComprehendMedicalClient Configuration Object
        public AmazonComprehendMedicalClient(AmazonComprehendMedicalConfig config)
            : base(FallbackCredentialsFactory.GetCredentials(config), config){}
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Credentials
        /// 
        /// AWS Credentials
        public AmazonComprehendMedicalClient(AWSCredentials credentials)
            : this(credentials, new AmazonComprehendMedicalConfig())
        {
        }
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Credentials
        /// 
        /// AWS Credentials
        /// The region to connect.
        public AmazonComprehendMedicalClient(AWSCredentials credentials, RegionEndpoint region)
            : this(credentials, new AmazonComprehendMedicalConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Credentials and an
        /// AmazonComprehendMedicalClient Configuration object.
        /// 
        /// AWS Credentials
        /// The AmazonComprehendMedicalClient Configuration Object
        public AmazonComprehendMedicalClient(AWSCredentials credentials, AmazonComprehendMedicalConfig clientConfig)
            : base(credentials, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        public AmazonComprehendMedicalClient(string awsAccessKeyId, string awsSecretAccessKey)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonComprehendMedicalConfig())
        {
        }
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The region to connect.
        public AmazonComprehendMedicalClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonComprehendMedicalConfig() {RegionEndpoint=region})
        {
        }
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonComprehendMedicalClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The AmazonComprehendMedicalClient Configuration Object
        public AmazonComprehendMedicalClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonComprehendMedicalConfig clientConfig)
            : base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        public AmazonComprehendMedicalClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonComprehendMedicalConfig())
        {
        }
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        /// The region to connect.
        public AmazonComprehendMedicalClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonComprehendMedicalConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonComprehendMedicalClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonComprehendMedicalClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        /// The AmazonComprehendMedicalClient Configuration Object
        public AmazonComprehendMedicalClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonComprehendMedicalConfig clientConfig)
            : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
        {
        }
        #endregion
        #region Overrides
        /// 
        /// Creates the signer for the service.
        /// 
        protected override AbstractAWSSigner CreateSigner()
        {
            return new AWS4Signer();
        }    
        /// 
        /// Customize the pipeline
        /// 
        /// 
        protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
        {
            pipeline.RemoveHandler();
            pipeline.AddHandlerAfter(new AmazonComprehendMedicalEndpointResolver());
        }    
        /// 
        /// Capture metadata for the service.
        /// 
        protected override IServiceMetadata ServiceMetadata
        {
            get
            {
                return serviceMetadata;
            }
        }
        #endregion
        #region Dispose
        /// 
        /// Disposes the service client.
        /// 
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);
        }
        #endregion
        #region  DescribeEntitiesDetectionV2Job
        /// 
        /// Gets the properties associated with a medical entities detection job. Use this operation
        /// to get the status of a detection job.
        /// 
        /// Container for the necessary parameters to execute the DescribeEntitiesDetectionV2Job service method.
        /// 
        /// The response from the DescribeEntitiesDetectionV2Job service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribeEntitiesDetectionV2Job Operation
        public virtual DescribeEntitiesDetectionV2JobResponse DescribeEntitiesDetectionV2Job(DescribeEntitiesDetectionV2JobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeEntitiesDetectionV2JobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeEntitiesDetectionV2JobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets the properties associated with a medical entities detection job. Use this operation
        /// to get the status of a detection job.
        /// 
        /// Container for the necessary parameters to execute the DescribeEntitiesDetectionV2Job service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeEntitiesDetectionV2Job service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribeEntitiesDetectionV2Job Operation
        public virtual Task DescribeEntitiesDetectionV2JobAsync(DescribeEntitiesDetectionV2JobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeEntitiesDetectionV2JobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeEntitiesDetectionV2JobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeICD10CMInferenceJob
        /// 
        /// Gets the properties associated with an InferICD10CM job. Use this operation to get
        /// the status of an inference job.
        /// 
        /// Container for the necessary parameters to execute the DescribeICD10CMInferenceJob service method.
        /// 
        /// The response from the DescribeICD10CMInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribeICD10CMInferenceJob Operation
        public virtual DescribeICD10CMInferenceJobResponse DescribeICD10CMInferenceJob(DescribeICD10CMInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeICD10CMInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeICD10CMInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets the properties associated with an InferICD10CM job. Use this operation to get
        /// the status of an inference job.
        /// 
        /// Container for the necessary parameters to execute the DescribeICD10CMInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeICD10CMInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribeICD10CMInferenceJob Operation
        public virtual Task DescribeICD10CMInferenceJobAsync(DescribeICD10CMInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeICD10CMInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeICD10CMInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribePHIDetectionJob
        /// 
        /// Gets the properties associated with a protected health information (PHI) detection
        /// job. Use this operation to get the status of a detection job.
        /// 
        /// Container for the necessary parameters to execute the DescribePHIDetectionJob service method.
        /// 
        /// The response from the DescribePHIDetectionJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribePHIDetectionJob Operation
        public virtual DescribePHIDetectionJobResponse DescribePHIDetectionJob(DescribePHIDetectionJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribePHIDetectionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribePHIDetectionJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets the properties associated with a protected health information (PHI) detection
        /// job. Use this operation to get the status of a detection job.
        /// 
        /// Container for the necessary parameters to execute the DescribePHIDetectionJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribePHIDetectionJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribePHIDetectionJob Operation
        public virtual Task DescribePHIDetectionJobAsync(DescribePHIDetectionJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribePHIDetectionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribePHIDetectionJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeRxNormInferenceJob
        /// 
        /// Gets the properties associated with an InferRxNorm job. Use this operation to get
        /// the status of an inference job.
        /// 
        /// Container for the necessary parameters to execute the DescribeRxNormInferenceJob service method.
        /// 
        /// The response from the DescribeRxNormInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribeRxNormInferenceJob Operation
        public virtual DescribeRxNormInferenceJobResponse DescribeRxNormInferenceJob(DescribeRxNormInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeRxNormInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeRxNormInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets the properties associated with an InferRxNorm job. Use this operation to get
        /// the status of an inference job.
        /// 
        /// Container for the necessary parameters to execute the DescribeRxNormInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeRxNormInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribeRxNormInferenceJob Operation
        public virtual Task DescribeRxNormInferenceJobAsync(DescribeRxNormInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeRxNormInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeRxNormInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeSNOMEDCTInferenceJob
        /// 
        /// Gets the properties associated with an InferSNOMEDCT job. Use this operation to get
        /// the status of an inference job.
        /// 
        /// Container for the necessary parameters to execute the DescribeSNOMEDCTInferenceJob service method.
        /// 
        /// The response from the DescribeSNOMEDCTInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribeSNOMEDCTInferenceJob Operation
        public virtual DescribeSNOMEDCTInferenceJobResponse DescribeSNOMEDCTInferenceJob(DescribeSNOMEDCTInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeSNOMEDCTInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeSNOMEDCTInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets the properties associated with an InferSNOMEDCT job. Use this operation to get
        /// the status of an inference job.
        /// 
        /// Container for the necessary parameters to execute the DescribeSNOMEDCTInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeSNOMEDCTInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DescribeSNOMEDCTInferenceJob Operation
        public virtual Task DescribeSNOMEDCTInferenceJobAsync(DescribeSNOMEDCTInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeSNOMEDCTInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeSNOMEDCTInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DetectEntities
        /// 
        /// The DetectEntities operation is deprecated. You should use the DetectEntitiesV2
        /// operation instead.
        /// 
        ///  
        /// 
        /// Inspects the clinical text for a variety of medical entities and returns specific
        /// information about them such as entity category, location, and confidence score on
        /// that information.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DetectEntities service method.
        /// 
        /// The response from the DetectEntities service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DetectEntities Operation
        [Obsolete("This operation is deprecated, use DetectEntitiesV2 instead.")]
        public virtual DetectEntitiesResponse DetectEntities(DetectEntitiesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DetectEntitiesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DetectEntitiesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// The DetectEntities operation is deprecated. You should use the DetectEntitiesV2
        /// operation instead.
        /// 
        ///  
        /// 
        /// Inspects the clinical text for a variety of medical entities and returns specific
        /// information about them such as entity category, location, and confidence score on
        /// that information.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DetectEntities service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DetectEntities service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DetectEntities Operation
        [Obsolete("This operation is deprecated, use DetectEntitiesV2 instead.")]
        public virtual Task DetectEntitiesAsync(DetectEntitiesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DetectEntitiesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DetectEntitiesResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DetectEntitiesV2
        /// 
        /// Inspects the clinical text for a variety of medical entities and returns specific
        /// information about them such as entity category, location, and confidence score on
        /// that information. Amazon Comprehend Medical only detects medical entities in English
        /// language texts.
        /// 
        ///  
        /// 
        /// The DetectEntitiesV2 operation replaces the DetectEntities operation.
        /// This new action uses a different model for determining the entities in your medical
        /// text and changes the way that some entities are returned in the output. You should
        /// use the DetectEntitiesV2 operation in all new applications.
        /// 
        ///  
        /// 
        /// The DetectEntitiesV2 operation returns the Acuity and Direction
        /// entities as attributes instead of types. 
        /// 
        /// 
        /// Container for the necessary parameters to execute the DetectEntitiesV2 service method.
        /// 
        /// The response from the DetectEntitiesV2 service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DetectEntitiesV2 Operation
        public virtual DetectEntitiesV2Response DetectEntitiesV2(DetectEntitiesV2Request request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DetectEntitiesV2RequestMarshaller.Instance;
            options.ResponseUnmarshaller = DetectEntitiesV2ResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Inspects the clinical text for a variety of medical entities and returns specific
        /// information about them such as entity category, location, and confidence score on
        /// that information. Amazon Comprehend Medical only detects medical entities in English
        /// language texts.
        /// 
        ///  
        /// 
        /// The DetectEntitiesV2 operation replaces the DetectEntities operation.
        /// This new action uses a different model for determining the entities in your medical
        /// text and changes the way that some entities are returned in the output. You should
        /// use the DetectEntitiesV2 operation in all new applications.
        /// 
        ///  
        /// 
        /// The DetectEntitiesV2 operation returns the Acuity and Direction
        /// entities as attributes instead of types. 
        /// 
        /// 
        /// Container for the necessary parameters to execute the DetectEntitiesV2 service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DetectEntitiesV2 service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DetectEntitiesV2 Operation
        public virtual Task DetectEntitiesV2Async(DetectEntitiesV2Request request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DetectEntitiesV2RequestMarshaller.Instance;
            options.ResponseUnmarshaller = DetectEntitiesV2ResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DetectPHI
        /// 
        /// Inspects the clinical text for protected health information (PHI) entities and returns
        /// the entity category, location, and confidence score for each entity. Amazon Comprehend
        /// Medical only detects entities in English language texts.
        /// 
        /// Container for the necessary parameters to execute the DetectPHI service method.
        /// 
        /// The response from the DetectPHI service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DetectPHI Operation
        public virtual DetectPHIResponse DetectPHI(DetectPHIRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DetectPHIRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DetectPHIResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Inspects the clinical text for protected health information (PHI) entities and returns
        /// the entity category, location, and confidence score for each entity. Amazon Comprehend
        /// Medical only detects entities in English language texts.
        /// 
        /// Container for the necessary parameters to execute the DetectPHI service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DetectPHI service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for DetectPHI Operation
        public virtual Task DetectPHIAsync(DetectPHIRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DetectPHIRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DetectPHIResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  InferICD10CM
        /// 
        /// InferICD10CM detects medical conditions as entities listed in a patient record and
        /// links those entities to normalized concept identifiers in the ICD-10-CM knowledge
        /// base from the Centers for Disease Control. Amazon Comprehend Medical only detects
        /// medical entities in English language texts.
        /// 
        /// Container for the necessary parameters to execute the InferICD10CM service method.
        /// 
        /// The response from the InferICD10CM service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for InferICD10CM Operation
        public virtual InferICD10CMResponse InferICD10CM(InferICD10CMRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = InferICD10CMRequestMarshaller.Instance;
            options.ResponseUnmarshaller = InferICD10CMResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// InferICD10CM detects medical conditions as entities listed in a patient record and
        /// links those entities to normalized concept identifiers in the ICD-10-CM knowledge
        /// base from the Centers for Disease Control. Amazon Comprehend Medical only detects
        /// medical entities in English language texts.
        /// 
        /// Container for the necessary parameters to execute the InferICD10CM service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the InferICD10CM service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for InferICD10CM Operation
        public virtual Task InferICD10CMAsync(InferICD10CMRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = InferICD10CMRequestMarshaller.Instance;
            options.ResponseUnmarshaller = InferICD10CMResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  InferRxNorm
        /// 
        /// InferRxNorm detects medications as entities listed in a patient record and links to
        /// the normalized concept identifiers in the RxNorm database from the National Library
        /// of Medicine. Amazon Comprehend Medical only detects medical entities in English language
        /// texts.
        /// 
        /// Container for the necessary parameters to execute the InferRxNorm service method.
        /// 
        /// The response from the InferRxNorm service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for InferRxNorm Operation
        public virtual InferRxNormResponse InferRxNorm(InferRxNormRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = InferRxNormRequestMarshaller.Instance;
            options.ResponseUnmarshaller = InferRxNormResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// InferRxNorm detects medications as entities listed in a patient record and links to
        /// the normalized concept identifiers in the RxNorm database from the National Library
        /// of Medicine. Amazon Comprehend Medical only detects medical entities in English language
        /// texts.
        /// 
        /// Container for the necessary parameters to execute the InferRxNorm service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the InferRxNorm service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for InferRxNorm Operation
        public virtual Task InferRxNormAsync(InferRxNormRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = InferRxNormRequestMarshaller.Instance;
            options.ResponseUnmarshaller = InferRxNormResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  InferSNOMEDCT
        /// 
        /// InferSNOMEDCT detects possible medical concepts as entities and links them to codes
        /// from the Systematized Nomenclature of Medicine, Clinical Terms (SNOMED-CT) ontology
        /// 
        /// Container for the necessary parameters to execute the InferSNOMEDCT service method.
        /// 
        /// The response from the InferSNOMEDCT service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for InferSNOMEDCT Operation
        public virtual InferSNOMEDCTResponse InferSNOMEDCT(InferSNOMEDCTRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = InferSNOMEDCTRequestMarshaller.Instance;
            options.ResponseUnmarshaller = InferSNOMEDCTResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// InferSNOMEDCT detects possible medical concepts as entities and links them to codes
        /// from the Systematized Nomenclature of Medicine, Clinical Terms (SNOMED-CT) ontology
        /// 
        /// Container for the necessary parameters to execute the InferSNOMEDCT service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the InferSNOMEDCT service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The input text was not in valid UTF-8 character encoding. Check your text then retry
        /// your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The Amazon Comprehend Medical service is temporarily unavailable. Please wait and
        /// then retry your request.
        /// 
        /// 
        /// The size of the text you submitted exceeds the size limit. Reduce the size of the
        /// text or use a smaller document and then retry your request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for InferSNOMEDCT Operation
        public virtual Task InferSNOMEDCTAsync(InferSNOMEDCTRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = InferSNOMEDCTRequestMarshaller.Instance;
            options.ResponseUnmarshaller = InferSNOMEDCTResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListEntitiesDetectionV2Jobs
        /// 
        /// Gets a list of medical entity detection jobs that you have submitted.
        /// 
        /// Container for the necessary parameters to execute the ListEntitiesDetectionV2Jobs service method.
        /// 
        /// The response from the ListEntitiesDetectionV2Jobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListEntitiesDetectionV2Jobs Operation
        public virtual ListEntitiesDetectionV2JobsResponse ListEntitiesDetectionV2Jobs(ListEntitiesDetectionV2JobsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListEntitiesDetectionV2JobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListEntitiesDetectionV2JobsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets a list of medical entity detection jobs that you have submitted.
        /// 
        /// Container for the necessary parameters to execute the ListEntitiesDetectionV2Jobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListEntitiesDetectionV2Jobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListEntitiesDetectionV2Jobs Operation
        public virtual Task ListEntitiesDetectionV2JobsAsync(ListEntitiesDetectionV2JobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListEntitiesDetectionV2JobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListEntitiesDetectionV2JobsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListICD10CMInferenceJobs
        /// 
        /// Gets a list of InferICD10CM jobs that you have submitted.
        /// 
        /// Container for the necessary parameters to execute the ListICD10CMInferenceJobs service method.
        /// 
        /// The response from the ListICD10CMInferenceJobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListICD10CMInferenceJobs Operation
        public virtual ListICD10CMInferenceJobsResponse ListICD10CMInferenceJobs(ListICD10CMInferenceJobsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListICD10CMInferenceJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListICD10CMInferenceJobsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets a list of InferICD10CM jobs that you have submitted.
        /// 
        /// Container for the necessary parameters to execute the ListICD10CMInferenceJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListICD10CMInferenceJobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListICD10CMInferenceJobs Operation
        public virtual Task ListICD10CMInferenceJobsAsync(ListICD10CMInferenceJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListICD10CMInferenceJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListICD10CMInferenceJobsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListPHIDetectionJobs
        /// 
        /// Gets a list of protected health information (PHI) detection jobs you have submitted.
        /// 
        /// Container for the necessary parameters to execute the ListPHIDetectionJobs service method.
        /// 
        /// The response from the ListPHIDetectionJobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListPHIDetectionJobs Operation
        public virtual ListPHIDetectionJobsResponse ListPHIDetectionJobs(ListPHIDetectionJobsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListPHIDetectionJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListPHIDetectionJobsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets a list of protected health information (PHI) detection jobs you have submitted.
        /// 
        /// Container for the necessary parameters to execute the ListPHIDetectionJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListPHIDetectionJobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListPHIDetectionJobs Operation
        public virtual Task ListPHIDetectionJobsAsync(ListPHIDetectionJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListPHIDetectionJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListPHIDetectionJobsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListRxNormInferenceJobs
        /// 
        /// Gets a list of InferRxNorm jobs that you have submitted.
        /// 
        /// Container for the necessary parameters to execute the ListRxNormInferenceJobs service method.
        /// 
        /// The response from the ListRxNormInferenceJobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListRxNormInferenceJobs Operation
        public virtual ListRxNormInferenceJobsResponse ListRxNormInferenceJobs(ListRxNormInferenceJobsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListRxNormInferenceJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListRxNormInferenceJobsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets a list of InferRxNorm jobs that you have submitted.
        /// 
        /// Container for the necessary parameters to execute the ListRxNormInferenceJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListRxNormInferenceJobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListRxNormInferenceJobs Operation
        public virtual Task ListRxNormInferenceJobsAsync(ListRxNormInferenceJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListRxNormInferenceJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListRxNormInferenceJobsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListSNOMEDCTInferenceJobs
        /// 
        /// Gets a list of InferSNOMEDCT jobs a user has submitted.
        /// 
        /// Container for the necessary parameters to execute the ListSNOMEDCTInferenceJobs service method.
        /// 
        /// The response from the ListSNOMEDCTInferenceJobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListSNOMEDCTInferenceJobs Operation
        public virtual ListSNOMEDCTInferenceJobsResponse ListSNOMEDCTInferenceJobs(ListSNOMEDCTInferenceJobsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListSNOMEDCTInferenceJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListSNOMEDCTInferenceJobsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets a list of InferSNOMEDCT jobs a user has submitted.
        /// 
        /// Container for the necessary parameters to execute the ListSNOMEDCTInferenceJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListSNOMEDCTInferenceJobs service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// 
        /// The filter that you specified for the operation is invalid. Check the filter values
        /// that you entered and try your request again.
        /// 
        /// REST API Reference for ListSNOMEDCTInferenceJobs Operation
        public virtual Task ListSNOMEDCTInferenceJobsAsync(ListSNOMEDCTInferenceJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListSNOMEDCTInferenceJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListSNOMEDCTInferenceJobsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StartEntitiesDetectionV2Job
        /// 
        /// Starts an asynchronous medical entity detection job for a collection of documents.
        /// Use the DescribeEntitiesDetectionV2Job operation to track the status
        /// of a job.
        /// 
        /// Container for the necessary parameters to execute the StartEntitiesDetectionV2Job service method.
        /// 
        /// The response from the StartEntitiesDetectionV2Job service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartEntitiesDetectionV2Job Operation
        public virtual StartEntitiesDetectionV2JobResponse StartEntitiesDetectionV2Job(StartEntitiesDetectionV2JobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartEntitiesDetectionV2JobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartEntitiesDetectionV2JobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Starts an asynchronous medical entity detection job for a collection of documents.
        /// Use the DescribeEntitiesDetectionV2Job operation to track the status
        /// of a job.
        /// 
        /// Container for the necessary parameters to execute the StartEntitiesDetectionV2Job service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartEntitiesDetectionV2Job service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartEntitiesDetectionV2Job Operation
        public virtual Task StartEntitiesDetectionV2JobAsync(StartEntitiesDetectionV2JobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartEntitiesDetectionV2JobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartEntitiesDetectionV2JobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StartICD10CMInferenceJob
        /// 
        /// Starts an asynchronous job to detect medical conditions and link them to the ICD-10-CM
        /// ontology. Use the DescribeICD10CMInferenceJob operation to track the
        /// status of a job.
        /// 
        /// Container for the necessary parameters to execute the StartICD10CMInferenceJob service method.
        /// 
        /// The response from the StartICD10CMInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartICD10CMInferenceJob Operation
        public virtual StartICD10CMInferenceJobResponse StartICD10CMInferenceJob(StartICD10CMInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartICD10CMInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartICD10CMInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Starts an asynchronous job to detect medical conditions and link them to the ICD-10-CM
        /// ontology. Use the DescribeICD10CMInferenceJob operation to track the
        /// status of a job.
        /// 
        /// Container for the necessary parameters to execute the StartICD10CMInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartICD10CMInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartICD10CMInferenceJob Operation
        public virtual Task StartICD10CMInferenceJobAsync(StartICD10CMInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartICD10CMInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartICD10CMInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StartPHIDetectionJob
        /// 
        /// Starts an asynchronous job to detect protected health information (PHI). Use the DescribePHIDetectionJob
        /// operation to track the status of a job.
        /// 
        /// Container for the necessary parameters to execute the StartPHIDetectionJob service method.
        /// 
        /// The response from the StartPHIDetectionJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartPHIDetectionJob Operation
        public virtual StartPHIDetectionJobResponse StartPHIDetectionJob(StartPHIDetectionJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartPHIDetectionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartPHIDetectionJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Starts an asynchronous job to detect protected health information (PHI). Use the DescribePHIDetectionJob
        /// operation to track the status of a job.
        /// 
        /// Container for the necessary parameters to execute the StartPHIDetectionJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartPHIDetectionJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartPHIDetectionJob Operation
        public virtual Task StartPHIDetectionJobAsync(StartPHIDetectionJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartPHIDetectionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartPHIDetectionJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StartRxNormInferenceJob
        /// 
        /// Starts an asynchronous job to detect medication entities and link them to the RxNorm
        /// ontology. Use the DescribeRxNormInferenceJob operation to track the status
        /// of a job.
        /// 
        /// Container for the necessary parameters to execute the StartRxNormInferenceJob service method.
        /// 
        /// The response from the StartRxNormInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartRxNormInferenceJob Operation
        public virtual StartRxNormInferenceJobResponse StartRxNormInferenceJob(StartRxNormInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartRxNormInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartRxNormInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Starts an asynchronous job to detect medication entities and link them to the RxNorm
        /// ontology. Use the DescribeRxNormInferenceJob operation to track the status
        /// of a job.
        /// 
        /// Container for the necessary parameters to execute the StartRxNormInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartRxNormInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartRxNormInferenceJob Operation
        public virtual Task StartRxNormInferenceJobAsync(StartRxNormInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartRxNormInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartRxNormInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StartSNOMEDCTInferenceJob
        /// 
        /// Starts an asynchronous job to detect medical concepts and link them to the SNOMED-CT
        /// ontology. Use the DescribeSNOMEDCTInferenceJob operation to track the status of a
        /// job.
        /// 
        /// Container for the necessary parameters to execute the StartSNOMEDCTInferenceJob service method.
        /// 
        /// The response from the StartSNOMEDCTInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartSNOMEDCTInferenceJob Operation
        public virtual StartSNOMEDCTInferenceJobResponse StartSNOMEDCTInferenceJob(StartSNOMEDCTInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartSNOMEDCTInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartSNOMEDCTInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Starts an asynchronous job to detect medical concepts and link them to the SNOMED-CT
        /// ontology. Use the DescribeSNOMEDCTInferenceJob operation to track the status of a
        /// job.
        /// 
        /// Container for the necessary parameters to execute the StartSNOMEDCTInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartSNOMEDCTInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StartSNOMEDCTInferenceJob Operation
        public virtual Task StartSNOMEDCTInferenceJobAsync(StartSNOMEDCTInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartSNOMEDCTInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartSNOMEDCTInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StopEntitiesDetectionV2Job
        /// 
        /// Stops a medical entities detection job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopEntitiesDetectionV2Job service method.
        /// 
        /// The response from the StopEntitiesDetectionV2Job service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// REST API Reference for StopEntitiesDetectionV2Job Operation
        public virtual StopEntitiesDetectionV2JobResponse StopEntitiesDetectionV2Job(StopEntitiesDetectionV2JobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopEntitiesDetectionV2JobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopEntitiesDetectionV2JobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Stops a medical entities detection job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopEntitiesDetectionV2Job service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StopEntitiesDetectionV2Job service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// REST API Reference for StopEntitiesDetectionV2Job Operation
        public virtual Task StopEntitiesDetectionV2JobAsync(StopEntitiesDetectionV2JobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopEntitiesDetectionV2JobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopEntitiesDetectionV2JobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StopICD10CMInferenceJob
        /// 
        /// Stops an InferICD10CM inference job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopICD10CMInferenceJob service method.
        /// 
        /// The response from the StopICD10CMInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// REST API Reference for StopICD10CMInferenceJob Operation
        public virtual StopICD10CMInferenceJobResponse StopICD10CMInferenceJob(StopICD10CMInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopICD10CMInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopICD10CMInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Stops an InferICD10CM inference job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopICD10CMInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StopICD10CMInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// REST API Reference for StopICD10CMInferenceJob Operation
        public virtual Task StopICD10CMInferenceJobAsync(StopICD10CMInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopICD10CMInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopICD10CMInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StopPHIDetectionJob
        /// 
        /// Stops a protected health information (PHI) detection job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopPHIDetectionJob service method.
        /// 
        /// The response from the StopPHIDetectionJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// REST API Reference for StopPHIDetectionJob Operation
        public virtual StopPHIDetectionJobResponse StopPHIDetectionJob(StopPHIDetectionJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopPHIDetectionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopPHIDetectionJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Stops a protected health information (PHI) detection job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopPHIDetectionJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StopPHIDetectionJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// REST API Reference for StopPHIDetectionJob Operation
        public virtual Task StopPHIDetectionJobAsync(StopPHIDetectionJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopPHIDetectionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopPHIDetectionJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StopRxNormInferenceJob
        /// 
        /// Stops an InferRxNorm inference job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopRxNormInferenceJob service method.
        /// 
        /// The response from the StopRxNormInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// REST API Reference for StopRxNormInferenceJob Operation
        public virtual StopRxNormInferenceJobResponse StopRxNormInferenceJob(StopRxNormInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopRxNormInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopRxNormInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Stops an InferRxNorm inference job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopRxNormInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StopRxNormInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// REST API Reference for StopRxNormInferenceJob Operation
        public virtual Task StopRxNormInferenceJobAsync(StopRxNormInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopRxNormInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopRxNormInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StopSNOMEDCTInferenceJob
        /// 
        /// Stops an InferSNOMEDCT inference job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopSNOMEDCTInferenceJob service method.
        /// 
        /// The response from the StopSNOMEDCTInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StopSNOMEDCTInferenceJob Operation
        public virtual StopSNOMEDCTInferenceJobResponse StopSNOMEDCTInferenceJob(StopSNOMEDCTInferenceJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopSNOMEDCTInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopSNOMEDCTInferenceJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Stops an InferSNOMEDCT inference job in progress.
        /// 
        /// Container for the necessary parameters to execute the StopSNOMEDCTInferenceJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StopSNOMEDCTInferenceJob service method, as returned by ComprehendMedical.
        /// 
        /// An internal server error occurred. Retry your request.
        /// 
        /// 
        /// The request that you made is invalid. Check your request to determine why it's invalid
        /// and then retry the request.
        /// 
        /// 
        /// The resource identified by the specified Amazon Resource Name (ARN) was not found.
        /// Check the ARN and try your request again.
        /// 
        /// 
        /// You have made too many requests within a short period of time. Wait for a short time
        /// and then try your request again. Contact customer support for more information about
        /// a service limit increase.
        /// 
        /// REST API Reference for StopSNOMEDCTInferenceJob Operation
        public virtual Task StopSNOMEDCTInferenceJobAsync(StopSNOMEDCTInferenceJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopSNOMEDCTInferenceJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopSNOMEDCTInferenceJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
    }
}