从fhir基本对象中删除扩展

ukdjmx9f  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(335)

我在java工作。
我正在为我刚刚编写的fhir代码编写测试。我想从和现有的基本对象中删除扩展。我正在从一个文件中读取该对象,因此我可以创建另一个文件,而不需要扩展名。但是扩展性页面上的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" 他们只是没有给出任何关于如何做到这一点的建议,而我在探索基本对象时也没有找到一种方法。

fumotvh3

fumotvh31#

回答我自己的问题:

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数组中。我想这是记录在案的行为,我只是还没有越过这条线。。。

相关问题