Я использую клиент .NET Fhir против сервера Smile (hapi) CDR Fhir. У меня 3235 пациентов, которых я пытаюсь получить, используя приведенный ниже код, но никогда не набираю больше 2000 точно. Я пробовал добавлять заголовки, используя, а не используя параметр no-cache
. Я знаю, что на сервере больше записей, потому что я выдаю Patient/?_summary=count
, который дает мне общее количество ожидаемых записей (3235).
Я отключил кеш сервера, обновил индексы, но всегда получаю ровно 2000 записей. Я также пробовал разные методы поиска пациентов с помощью методов поиска () стихов Get (), но оба дали один и тот же результат. Может ли кто-нибудь предложить другой способ вернуть правильное количество пациентов или намекнуть, что я делаю неправильно?
var patients = new List<Patient>();
var bundle = (Bundle)client.Get("Patient");
while (bundle != null)
{
patients.AddRange(bundle.Entry.Select(e => e.Resource as Patient));
bundle = client.Continue(bundle);
}
Я пробовал использовать несколько вариантов включения заголовка элемента управления кешем, но количество осталось прежним.
client.OnBeforeRequest += (object sender, BeforeRequestEventArgs e) =>
{
e.RawRequest.Headers.Clear();
e.RawRequest.Headers.Add("Accept", "application/fhir+json;fhirVersion=4.0");
e.RawRequest.Headers.Add("Cache-Control", "no-cache");
};