private HealthcareProviderDirectoryQueryResponse HandleCore(GetHealthcareProviderDirectoryEntriesRequest request) { using (var proxy = new DynamicWebServiceProxy <IHealthQueryService> ()) { HealthcareProviderDirectoryQueryRequest niemRequest = BuildNiemRequest(); HealthcareProviderDirectoryQueryResponse niemResponse = proxy.Client.Query(niemRequest); return(niemResponse); } }
/// <summary> /// Handles the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>The Response</returns> public override Response Handle(GetHealthcareProviderDirectoryEntriesRequest request) { GetHealthcareProviderDirectoryEntriesResponse response = CreateTypedResponse(); try { HealthcareProviderDirectoryQueryResponse niemResponse = HandleCore(request); var remResponse = niemResponse .HealthcareProvider .Where(p => p.IsHealthcareProfessional) // Filter Non Healthcare Provider entries, such as Organizations // From the response retrieve the list of providers .Select(MapToREMDto) // Map them to a REM Dto Entity .ToList(); response.Providers = remResponse; } catch (Exception exception) { // The Call to the Web Service failed response.Exception = new ExceptionInfo(exception); } return(response); }