HAPI FHIR 根据自定义结构定义进行验证

HAPI FHIR Validating against custom structuredefinition

好的,我正在使用 HAPI FHIR APi,我正在尝试弄清楚如何验证和反对自定义 StructureDefinition json 或资源文本。

我在创建默认验证器和验证默认结构定义等方面没有问题...但是我如何告诉 HAPI/API 验证我的 XML 或 JSON的默认值?

我看到本页底部的文档说 "supplying your own structure definitions" http://hapifhir.io/doc_validation.html 但我真的不知道到底是什么预期......我已经获取了代码片段并将其用于编译,我知道我必须重载这些例程,虽然我不太确定如何...告诉它,嘿去加载这个 XML 或 JSON 文件 ...

当我为默认 FHIR 定义中未找到的资源传入资源文本时,我也从来没有看到这些被覆盖的例程中的任何一个实际被调用。我希望基于文档至少可以调用一些东西,因为在 DefaultProfileValidationSupport 中找不到它...

那么,谁能给我举个例子,或者其他能说明如何实际执行此操作的东西?基本上我有一个自定义结构定义,我希望根据它对其进行验证...我到底该如何设置它?

看看我在这里做了什么 - https://github.com/sylwestergryzio/fhir-connectathon-2017-devices.

您至少必须实施以下方法: public List<StructureDefinition> fetchAllStructureDefinitions(FhirContext theContext)public <T extends IBaseResource> T fetchResource(FhirContext theContext, Class<T> theClass, String theUri).

您还可以查看 org.hl7.fhir.dstu3.hapi.validation.DefaultProfileValidationSupport 的实现:https://github.com/jamesagnew/hapi-fhir/blob/master/hapi-fhir-structures-dstu3/src/main/java/org/hl7/fhir/dstu3/hapi/validation/DefaultProfileValidationSupport.java

它甚至展示了如何从类路径上的文件加载自定义结构定义。