You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET使用Hl7.Fhir库构建符合德国基础Profile的FHIR资源问题求解

问题根因

该问题不属于FHIR R4与德国基础Profile的兼容问题,是API使用错误导致:

  • Hl7.Fhir库中Address.Line的实际类型为IEnumerable<Hl7.Fhir.Model.FhirString>,并非原生.NET字符串集合
  • 原生string没有存储FHIR扩展的相关属性,只有FHIR封装的基础类型(如FhirString)继承了Element基类的Extension集合属性,支持挂载扩展
解决方案

你需要将地址行内容封装为FhirString对象,再为对应FhirString添加扩展即可,修改后的参考代码如下:

' 初始化Organization与Address对象
Dim organization As New Organization()
Dim adr As New Address()

' 调用你已封装好的扩展生成方法
Dim ext As Extension = FunctionBuildExtension(url, value)

' 将地址行内容封装为FhirString对象,不要直接使用原生字符串
Dim streetLine As New FhirString(street)
' 为该地址行添加扩展
streetLine.Extension.Add(ext)

Dim cityLine As New FhirString(city)
' 若其他地址行需要加扩展,重复上述操作即可

' 给Address.Line赋值封装后的FhirString集合
adr.Line = New List(Of FhirString) From {streetLine, cityLine}

organization.Address.Add(adr)
验证方式

完成上述修改后重新序列化资源,即可看到地址行元素下已携带你添加的扩展字段,符合对应Profile的校验要求。

内容的提问来源于stack exchange,提问作者Mino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:24:04