Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在FHIR API中更新患者?_C#_Json_Hl7 Fhir - Fatal编程技术网

C# 如何在FHIR API中更新患者?

C# 如何在FHIR API中更新患者?,c#,json,hl7-fhir,C#,Json,Hl7 Fhir,我有病人的JSON数据,我尝试用新数据更新它。 当我尝试更新此患者时,条目将重复,不会像这样更新: { "telecom": [ { "system": "phone", "value": "2222215", "use": "home" }, { "sy

我有病人的JSON数据,我尝试用新数据更新它。 当我尝试更新此患者时,条目将重复,不会像这样更新:

{
   "telecom": [
    {
        "system": "phone",
        "value": "2222215",
        "use": "home"
    },
    {
        "system": "phone",
        "value": "2222215",
        "use": "home"
    }
],
"gender": "male",
"birthDate": "2020-12-24",
"address": [
    {
        "use": "home",
        "line": [
            "28MCT"
        ],
        "city": "Hưng Yên",
        "district": "Huyện Kim Động",
        "state": "Thị Trấn Lương Bằng",
        "country": "VNM"
    },
    {
        "use": "home",
        "city": "Hưng Yên",
        "district": "Huyện Kim Động",
        "state": "Thị Trấn Lương Bằng",
        "country": "VNM"
    }
]}
到底用哪种方式更新?这是我的密码:

private static void UpdatePatient(string patientId)
    {
        var client = new FhirClient("http://hapi.fhir.org/baseR4");
        Patient pat = client.Read<Patient>("Patient/1723313");
        pat.Address.Add(new Address(){ 
            Line = new string[1] {"28 MCT"},
            District = "Bến Cát",
            State = "An Thới",
            City = "Bình Dương",
            Country = "VNM"
        });
        client.Update<Patient>(pat);
    }
private static void UpdatePatient(字符串patientId)
{
var客户端=新的FhirClient(“http://hapi.fhir.org/baseR4");
患者pat=客户读取(“患者/172313”);
pat.Address.Add(新地址(){
Line=新字符串[1]{“28 MCT”},
地区=“B”ếnát“,
State=“第ớ我“,
City=“Bình Dư417; ng”,
Country=“VNM”
});
客户端更新(pat);
}

谢谢您的帮助。

电信和地址字段是列表。因此,如果您有现有的数据,并且执行了pat.Address.Add,它将向现有列表中添加一个新项—保留现有的地址。实际上,在将更新后的数据发送到服务器之前,您必须首先更新Telecom/Address字段

例如-在client.Read和client.Update之间,使用System.Linq:

var a = x.Address.First(ca => ca.Use == Address.AddressUse.Home);
a.Line = new string[] { "28 MCT" };

电信和地址字段是列表。因此,如果您有现有的数据,并且执行了pat.Address.Add,它将向现有列表中添加一个新项—保留现有的地址。实际上,在将更新后的数据发送到服务器之前,您必须首先更新Telecom/Address字段

例如-在client.Read和client.Update之间,使用System.Linq:

var a = x.Address.First(ca => ca.Use == Address.AddressUse.Home);
a.Line = new string[] { "28 MCT" };

您是否通过HTTP调试器运行客户端网络流量?您是否通过HTTP调试器运行客户端网络流量?您的见解很有价值。非常感谢。我如何找到文档来学习它呢?查看FHIR规范可能有助于理解FHIR结构:,特别是RESTful api:。还有一些关于你在这里使用的C#库的文档:你的见解很有价值。非常感谢。我如何找到文档来学习它呢?查看FHIR规范可能有助于理解FHIR结构:,特别是RESTful api:。这里有一些关于您使用的C#库的文档: