为什么 HL7 FHIR Json 资源没有 "root" 元素



我正在实现一个FHIR服务器,该服务器能够接收两种格式的资源(XML/Json(。为了使其简单一致,我的想法是在内部只使用XML,并将Json请求转换为XML,反之亦然,但尽管它可以使用一些示例Json文档,但它不能使用FHIR Json资源。主要原因是FHIRJson资源没有"根"元素,因此XML转换工具无法创建正确的输出XML。

FHIR Json观测资源如下;

{"resourceType": "Observation","id": "example",...}

对于根元素,它应该是

{Observation:{"id": "example",...}}

我知道Json文档不必有根元素,但如果大多数XML<->Json转换器在这种情况下工作得更好,FHIR接受这两种格式,为什么不用根元素定义FHIR Json资源呢?特别是当最初的DSTU似乎使用了这种方法时。

感谢

我们决定让JSON成为JSON用户想要的方式,让XML成为XML用户想要的样子,并放弃使用现成的转换器。使用现成的转换器会产生一组或另一组或两者都讨厌的语法。每个人都必须处理这些情况。自定义转换器只需要写入一次。无论如何,"为什么规范会这样做"可能不在堆栈溢出的范围内——最好在chat.hir.org.上提出

您在运行JSON所没有的XML限制。因为您只需要XML用于内部使用,并且您随时使用JSON来实现互操作性,所以您还可以将传入的JSON封装在根元素中,并在导出为JSON时将其删除。我不认为这会导致许多代码行或性能损失。

如果你想改变FHIR在这方面的行为,你最好在其他地方解决这个问题,然后Stackoverflow,其主要目的是提供实用的解决方案。

向致以最良好的问候

在这个问题上,我们公司可能面临的挑战是如何在不更改后台技术(Tomcat+Axis2(的情况下管理FHIR JSON请求。在能够使用官方FHIR库之前,我应该能够访问Axis请求的JSon。如果它对使用FHIR和Axis的人有用,那么在下面的问题中,我将解释是谁实现了Axis2JSonSupport(Jettison(糟糕的xml转换。

Thks。

最新更新