HL7v2 到 FHIR 转换默认 CodeSystem 规则不起作用 试试这个:说明:

如何解决HL7v2 到 FHIR 转换默认 CodeSystem 规则不起作用 试试这个:说明:

在 HL7v2 到 FHIR 的转换 CodeSystem templates 中,它们的认值,即 if-then-else 规则中的“else”部分不起作用。

例如,对于Resource/_Patient.liquid模板中的Patient.communication.language,它有以下一行将语言代码映射到包含“code”、“display”和“system”的字典。

>
{% include 'DataType/CWECodeableConcept' mapping: 'CodeSystem/Language',CWE: PID.15 -%}

在 CodeSystem/_Language.liquid 模板中,如果没有匹配的代码,则输出输入值。

    {% else -%}
    "code" : "{{ inCode }}","display" : "{{ inCode }}","system" : "",{% endif -%}

我的案例有 PID.15="English" 并且没有匹配的代码。所以,我希望得到以下输出

{
    "code" : "English","display" : "English",}

根本没有输出

我也尝试添加以下规则但没有成功。

    {% elsif inCode == 'English' -%}
    "code" : "{{ inCode }}",

我似乎 CodeSystem/_Language.liquid 不会进行更改,也不会处理具有“else”条件的不匹配代码。我使用 Visual Studio Code 中的“FHIR 转换器”扩展测试了这些更改。我该怎么做才能使 CodeSystem/_Language.liquid 中的“else”条件正常工作?

解决方法

试试这个:

/CodeSystem/CodeSystem.json 文件中进行必要的更改,这应该对您有用。

另外,将 VS Code 扩展更新到最新版本。

 "CodeSystem/Language": {
            "A": {
                "code": "A's code","display": "A's display","system": "A's system"  
            },"__default__": {
                "code": "English","display": "English","system": "English"
            }
        },

说明:

以下语句调用_DataType/CWECodeableConcept并将“CodeSystem/Language”传递给ma​​pping参数,并将PID.15的值传递给CWE 参数。

{% include 'DataType/CWECodeableConcept' mapping: 'CodeSystem/Language',CWE: PID.15 -%}

在 _CWECodeableConcept.liquid 中,由于 ma​​pping 被填充,它执行 if 块,而不是 else 块。

        {% if mapping -%}
            "code":"{{ CWE.1.Value | get_property: mapping,'code' }}","display":"{{ CWE.1.Value | get_property: mapping,'display' }}","system":"{{ CWE.1.Value | get_property: mapping,'system' }}","version":"{{ CWE.1.Value | get_property: mapping,'version' }}",{% else -%}
            "code":"{{ CWE.1.Value }}","display":"{{ CWE.2.Value }}","system":"{{ CWE.3.Value }}","version":"{{ CWE.7.Value }}",{% endif -%}

在 if 块中,get_property 用于获取对应于 CWE 中的值的映射 CodeSystem/Language 的代码、显示、系统和版本。(1|4|10)。价值。

get_property 使用 /CodeSystem/CodeSystem.json 文件,而不是 CodeSystem 文件夹下的单个文件。

get_property 的行为已记录在 here。但是,文档没有提到它使用的配置文件的名称。我们正在修复下一个版本中的文档。

为了更快地周转,我们建议在 FHIR 转换器 github repo 上提出问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?