java - 从 FHIR 基本对象中删除扩展
问题描述
我在 Java 中工作。
我正在为我刚刚编写的 FHIR 代码编写测试。我想从现有的 Basic 对象中删除扩展名。我正在从文件中读取该对象,因此我可以创建另一个文件而无需扩展名。但是可扩展性页面上的 FHIR 规范非常有帮助地指出"If a system modifies a resource it SHOULD remove any extensions that it does not understand from the modified element and its descendants, because it cannot know whether the modifications it has made might invalidate the value of the unknown extension"
,他们只是没有就如何做到这一点提出任何建议,而且我在探索 Basic 对象时还没有找到一种方法来做到这一点。
解决方案
回答我自己的问题:
import java.util.List;
import org.hl7.fhir.r4.model.Extension;
import org.hl7.fhir.r4.model.Basic;
List<Extension> extensions = basicObj.getExtension();
extensions.forEach(e -> e.removeExtension());
以上确实从 basicObj.extensions 数组中删除了所有扩展。但是,它也产生了我没想到的效果(因为我对 FHIR 还是很陌生):所有从上面删除的扩展中继承下来的扩展都被保留并添加到 basicObj.extensions 数组中。我想这是记录在案的行为,我只是还没有越过那条线......
推荐阅读
- python - 如何在 selenium 中选择没有 ID/text_link/name 的元素?
- intellij-idea - 删除 IntelliJ 中的文件夹而不添加到 Git 暂存区?
- python - 当鼠标经过另一个按钮时如何显示按钮
- javascript - javascript || 使用变量而不是字符串的 classList 之后停止的条件
- c# - 使用 c# 和 Unity 在 csv 文件的下一列中写入
- angular - 有没有办法改变 ngx 图表中参考线的颜色?
- linux - Linux 上的 PowerShell 7,使用证书对 Azure 进行身份验证
- wordpress - 统计来自 taxonomy.php 页面的每周(过去 7 天)帖子
- python - 如何使用日期时间获取另一个国家的日期?
- angular - 我可以在 app.module 提供程序中放置一个简单的类吗?