好的,我正在与HAPI FHIR APi合作,我正在试图弄清楚如何验证和反对自定义StructureDefinition json或resourcetext。
创建默认验证器并验证默认结构定义等没有问题...但是如何告诉HAPI / API根据我的XML或JSON而不是默认值进行验证?
我看到本页底部的文档说明了#34;提供了自己的结构定义" http://hapifhir.io/doc_validation.html但是我真的迷失了预期的结果......我已经把代码片段拿到了编译中,我知道我必须重载这些例程,尽管我不确定如何......告诉它,嘿,加载这个XML或JSON文件......
当我传入一个资源文本中没有找到默认FHIR定义中找不到的资源时,我也从来没有看到任何这些被覆盖的例程实际被调用。我希望根据文档至少要调用一些东西,因为它不是在DefaultProfileValidationSupport ...
中找到那么,任何人都能指出一个例子,或其他显示如何实际执行此操作的内容吗?基本上我有一个自定义的结构定义,我希望它能够对它进行验证......我怎么设置它?
答案 0 :(得分:1)
看看我在这里做了什么 - 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
它甚至显示了如何从类路径上的文件加载自定义结构定义。