从 FHIR Basic 对象中删除扩展名

问题描述

我在 Java 工作。

我正在为刚刚编写的 FHIR 代码编写测试。我想从现有的 Basic 对象中删除扩展。我正在从文件中读取该对象,因此我可以创建另一个没有扩展名的文件。但是 Extensibility 页面上的 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 对象时还没有找到一种方法来做到这一点。

解决方法

回答我自己的问题:

res = backtrace(arr,size);
if (res > 0)
{
  btrace = backtrace_symbols(arr,size);
}
for ( unsigned int i =0; i < size ; ++i )
{
    log_error(" trace: %s",btrace[i] );
}

以上确实删除了 basicObj.extensions 数组中的所有扩展。然而,它也产生了我没想到的效果(因为我对 FHIR 还是很陌生):所有从上面删除的扩展名下的扩展名都被保留并添加到 basicObj.extensions 数组中。我想这是记录在案的行为,我只是还没有穿过那条线......

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...