HL7.FHIR.R4 (C#):无法将文字“2020-12-01T23:00:00.000Z”解析为日期 在 Bundle.entry[0].resource[0].birthDate[0]

问题描述

我对 FHIR 开发很陌生,试图通过示例(例如来自 gino Canessa 的 YouTube 频道)来学习。 为了从 http://hapi.fhir.org/baseR4/ 服务器获取名称包含“test”(或任何内容)的患者,我收到以下错误消息:

Literal '2020-12-01T23:00:00.000Z' cannot be parsed as a date. (at Bundle.entry[0].resource[0].birthDate[0])

如果我尝试对其他公共测试服务器 (http://vonk.fire.ly) 执行相同的操作,则一切正常。显然我忘记了请求中的一些参数/约束。 这是我的代码

using Hl7.Fhir.Model;
using Hl7.Fhir.Rest;
// ...

List<Patient> patients = new List<Patient>();

Bundle patientBundle = null;

List<string> criteria   = new List<string>();
criteria.Add($"name={patientName}");

patientBundle = fhirClient.Search<Patient>(criteria.ToArray());

while (patientBundle != null)
{
    foreach (Bundle.EntryComponent entry in patientBundle.Entry)
    {
        if (entry.Resource != null)
        {
            Patient patient = (Patient)entry.Resource;
            patients.Add(patient);
        }
    }

    patientBundle = fhirClient.Continue(patientBundle);
}

解决方法

服务器为患者提供了不正确的日期,因为它具有时间组件。所以 .NET 库是正确的,我想抱怨它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...