/// <summary>
        /// Perform the IHI service call.
        /// </summary>
        /// <param name="request">The criteria in a createVerifiedIHI object.</param>
        /// <returns>The IHI create results.</returns>
        private MatchProviderAdministrativeIndividualResponseType MatchProviderAdministrativeIndividualVerified(MatchProviderAdministrativeIndividualRequestType request)
        {
            matchProviderAdministrativeIndividualRequest envelope = new matchProviderAdministrativeIndividualRequest();

            envelope.matchProviderAdministrativeIndividualRequest1 = request;

            //TODO : STILL TO DO
            //envelope.Action = new AttributedURIType();
            //envelope.MessageID = new AttributedURIType();
            //envelope.Security = new SecurityHeaderType();
            //envelope.To = new AttributedURIType();
            //envelope.audit = new AuditType();
            envelope.product   = product;
            envelope.subjectId = user;

            matchProviderAdministrativeIndividualResponse response1 = null;

            try
            {
                response1 = matchProviderAdministrativeIndividualClient.matchProviderAdministrativeIndividual(envelope);
            }
            catch (Exception ex)
            {
                // Catch generic FaultException and call helper to throw a more specific fault
                // (FaultException<ServiceMessagesType>
                FaultHelper.ProcessAndThrowFault <ServiceMessagesType>(ex);
            }

            if (response1 != null && response1.matchProviderAdministrativeIndividualResponse1 != null)
            {
                return(response1.matchProviderAdministrativeIndividualResponse1);
            }
            else
            {
                throw new ApplicationException(Properties.Resources.UnexpectedServiceResponse);
            }
        }
        /// <summary>
        /// Create a Match Provider Administrative Individual service call.
        /// </summary>
        public MatchProviderAdministrativeIndividualResponseType MatchProviderAdministrativeIndividual(MatchProviderAdministrativeIndividualRequestType request)
        {
            Validation.ValidateArgumentRequired("request", request);
            Validation.ValidateDateTime("request.personalDetails.dateOfBirth", request.personalDetails.dateOfBirth);
            //Validation.ValidateDateTime("request.personalDetails.dateOfBirth", request.personalDetails.personalNameDetails[0].currentFlag);
            Validation.ValidateArgumentRequired("request.providedIdentifier.value", request.providedIdentifier.value);
            Validation.ValidateArgumentRequired("request.providedIdentifier.type", request.providedIdentifier.type);
            Validation.ValidateArgumentRequired("request.requiredIdentifierType", request.requiredIdentifierType);

            return(MatchProviderAdministrativeIndividualVerified(request));
        }