diff --git a/src/Microsoft.Health.Fhir.Shared.Api/Features/Filters/ParameterCompatibleFilter.cs b/src/Microsoft.Health.Fhir.Shared.Api/Features/Filters/ParameterCompatibleFilter.cs index 35c91e0f85..4c2f2219c7 100644 --- a/src/Microsoft.Health.Fhir.Shared.Api/Features/Filters/ParameterCompatibleFilter.cs +++ b/src/Microsoft.Health.Fhir.Shared.Api/Features/Filters/ParameterCompatibleFilter.cs @@ -21,9 +21,15 @@ protected ParameterCompatibleFilter(bool allowParametersResource) protected Resource ParseResource(Resource resource) { - if (_allowParametersResource && resource.TypeName == KnownResourceTypes.Parameters) + if (_allowParametersResource && resource?.TypeName == KnownResourceTypes.Parameters) { - resource = ((Parameters)resource).Parameter.Find(param => param.Name.Equals("resource", StringComparison.OrdinalIgnoreCase)).Resource; + var parameters = (Parameters)resource; + var resourceParam = parameters.Parameter?.Find(param => param.Name.Equals("resource", StringComparison.OrdinalIgnoreCase)); + + if (resourceParam?.Resource != null) + { + resource = resourceParam.Resource; + } } return resource;