我正在尝试执行涉及许多记录的条件删除。尝试删除符合条件的患者时,我在使用 .NET FHIR 客户端 (Hl7.Fhir.Rest) 时收到以下异常。我感觉可能是由于某些默认批量大小,但我不知道如何更改 IFhirClient 以删除它找到的任何内容。
无法删除具有匹配 URL“Patient?identifier=”的资源,因为此搜索匹配了 450 个资源。412 - 前提条件失败
_fhirClient.Delete("Patient", criteria);
这与 FhirClient 无关,而与服务器端的实现有关。请参阅http://hl7.org/fhir/R4/http.html#3.1.0.7.1上的 FHIR 规范:
多个匹配:服务器可以选择删除所有匹配的资源,也可以选择返回 412 Precondition Failed 错误,表明客户端的条件没有足够的选择性。
例如,Vonk FHIR 服务器设置了一次可以执行的最大删除数。您问题上的 hapi-fhir 标签表明您需要查阅 hapi 文档以获取类似设置。