json - HL7v2 到 FHIR 转换默认 CodeSystem 规则不起作用
问题描述
在 HL7v2 到 FHIR 转换CodeSystem 模板中,它们的默认值,即 if-then-else 规则中的“else”部分不起作用。
例如,对于 Resource/_Patient.liquid 模板中的 Patient.communication.language,它具有以下行来将语言代码映射到包含“代码”、“显示”和“系统”的字典。
{% 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",
"system" : "",
}
发生的事情根本没有输出。
我还尝试添加以下规则但没有成功。
{% elsif inCode == 'English' -%}
"code" : "{{ inCode }}",
"display" : "{{ inCode }}",
"system" : "",
我似乎 CodeSystem/_Language.liquid 不进行更改,也不处理具有“其他”条件的不匹配代码。我使用 Visual Studio Code 中的“FHIR Converter”扩展测试了这些更改。我该怎么做才能使 CodeSystem/_Language.liquid 中的“其他”条件正常工作?
解决方案
试试这个:
在/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' 传递给映射参数,并将PID.15 的值传递给CWE参数。
{% include 'DataType/CWECodeableConcept' mapping: 'CodeSystem/Language', CWE: PID.15 -%}
在 _CWECodeableConcept.liquid 内部,由于映射已填充,它执行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.(1|4|10).Value 的映射 CodeSystem/Language 的代码、显示、系统和版本。
get_property使用/CodeSystem/CodeSystem.json文件,而不是 CodeSystem 文件夹下的单个文件。
此处记录了get_property的行为。但是,文档没有提到它使用的配置文件的名称。我们将在下一版本中修复文档。
For quicker turnaround, we recommend raising an issue on the FHIR converter github repo.
推荐阅读
- numpy - Tensorflow / Numpy 中的 torch.nn.functional.grid_sample 等价物是什么?
- java - 在 Java 中替换正则表达式中的组
- android - 如何在android studio中更改默认微调器的字体样式?
- laravel-5 - Laravel Eloquent 查询
- android - Gson:帮我从服务器解析 gson
- python - 使用 Python 在 3D 无噪声标量场中找到峰值
- python - 使用嵌套函数处理 Python 多处理中的子错误
- php - PHPExcel如何设置条件格式以根据单元格值更改单元格背景颜色
- node.js - 如何使用 AWS CodeBuild npm 安装所有函数目录
- android - Android-DTS 生成器:Iterable 和其他泛型和基类出错