首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在FHIR API中更新患者?

如何在FHIR API中更新患者?
EN

Stack Overflow用户
提问于 2020-12-23 19:32:57
回答 1查看 124关注 0票数 0

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

代码语言:javascript
运行
复制
{
   "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"
    }
]}

到底用哪种方式更新?下面是我的代码:

代码语言:javascript
运行
复制
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);
    }

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-23 21:44:05

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

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

代码语言:javascript
运行
复制
var a = x.Address.First(ca => ca.Use == Address.AddressUse.Home);
a.Line = new string[] { "28 MCT" };
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65423618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档