You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在SUSHI生成的FHIR IG中展示非TX服务器术语集的扩展代码?

在SUSHI生成的FHIR实现指南中展示第三方术语服务的扩展代码

明确结论:可以实现,但直接在ValueSet资源中同时定义compose和expansion会触发SUSHI的内置校验规则——SUSHI默认要求ValueSet要么是可组合的(仅保留compose),要么是已扩展完成的(仅保留expansion),两者共存会导致编译报错。

可行解决方法

方法1:用SUSHI的Instance语法直接定义已扩展的ValueSet实例

如果不需要SUSHI对ValueSet的组合逻辑做校验,只想直接展示外部服务扩展后的结果,可使用Instance语法绕过SUSHI对ValueSet资源的特殊处理:

Instance: formVSInstance
InstanceOf: ValueSet
Title: "form"
Description: "Specifies if an event takes place."
* status = #active
* experimental = false
* language = #sv-SE
* expansion.identifier = "https://terminologitjanst.se/fhir/ValueSet/$expand?url=http://test.se/fhir/CodeSystem/form"
* expansion.timestamp = "2025-10-17T09:00:00Z"
// 手动添加外部服务扩展后的代码项
* expansion.contains.system = "http://test.se/fhir/CodeSystem/form"
* expansion.contains[0].code = #yes
* expansion.contains[0].display = "Ja"
* expansion.contains[1].code = #no
* expansion.contains[1].display = "Nej"

这种方式下,SUSHI会将其视为普通FHIR实例处理,不会校验compose与expansion的冲突,最终生成的IG会完整展示扩展内容。

方法2:修改SUSHI配置跳过自动扩展校验

若需要保留compose部分,同时让IG展示外部术语服务的扩展结果,可在IG的ig.ini文件中添加配置,让SUSHI跳过对目标ValueSet的自动扩展校验:
在ig.ini中加入:

[ValueSet]
form-vs = skip-expansion

之后回到FSH代码仅保留compose部分,再配合FHIR Publisher的命令行参数调用外部术语服务完成扩展:

java -jar publisher.jar -tx https://terminologitjanst.se/fhir -ig ig.ini

Publisher会调用指定的第三方术语服务执行$expand操作,最终将扩展结果嵌入IG。

方法3:手动扩展后导入资源文件

直接用外部术语服务执行$expand操作,将返回的完整ValueSet JSON/XML文件放到IG的input/resources目录下,SUSHI会自动导入该资源,编译时不会触发冲突校验,最终IG会展示这个已扩展的ValueSet。

注意事项

  • 方法1需手动维护扩展后的代码项,适合代码集固定的场景;
  • 方法2需确保FHIR Publisher能正常访问第三方术语服务,且服务支持$expand操作;
  • 方法3操作最直接,适合不需要动态更新扩展结果的场景。

内容的提问来源于stack exchange,提问作者user3378248

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 03:57:05