如何运行FHIR Validator(java jar)

时间:2014-06-25 11:42:27

标签: hl7-fhir

我从http://www.hl7.org/implement/standards/fhir/downloads.html下载了“验证包”。

解压缩'validator.zip'并读取'readme.txt'后,我尝试在Windows命令提示符下运行'org.hl7.fhir.validator.jar'文件。

  

java -jar org.hl7.fhir.validator.jar mysourcefile.xml

我遇到以下错误:

  

java.lang.Exception:org.hl7.fhir.instance.test.ToolsHelper.main中的未知命令'mysourcefile.xml'(ToolsHelper.java:77)   java.lang.ArrayIndexOutOfBoundsException:1 at org.hl7.fhir.instance.test.ToolsHelper.main(ToolsHelper.java:81)

为什么'mysourcefile.xml'是未知命令?请帮忙。谢谢!

4 个答案:

答案 0 :(得分:1)

jar文件设置为加载错误的类。正确的类是org.hl7.fhir.instance.validation.Validator。

您可以在运行jar时明确命名该类,并且您将获得帮助,这将说明:

  Usage: FHIRValidator.jar [source] (-defn [definitions]) (-output [output]) (-noxslt)

您还会获得更多文档。

否则,您可以编辑jar中的清单并更改主类。

答案 1 :(得分:1)

如果要根据基本规范验证资源,请运行以下命令:

java -jar org.hl7.fhir.validator.jar your-fhir-resource.xml -defn validation.zip

如果要根据配置文件(结构定义)验证资源,请运行以下命令:

java -jar org.hl7.fhir.validator.jar your-fhir-resource.xml -defn validation.zip -profile your-structure-definition.xml

答案 2 :(得分:1)

更新了文档化

验证说明:

  1. 您需要安装java 1.7 jre或jdk
  2. 下载验证工具和验证包(分别是java可执行文件和FHIR定义字典),并解压缩验证程序(但不验证验证包)
  3. 使用以下命令行执行验证器:java -jar org.hl7.fhir.validator.jar [source](-defn [definitions])( - profile [profile])( - output [output] )其中:

    • [source]是要验证的资源或捆绑Feed的文件名或URL [definitions]是验证包的文件名或URL (validation.zip)。默认值:从jar文件中获取

    • [个人资料]是特定个人资料的可选文件名或网址 验证资源。在没有这个参数的情况下 将使用以下内容根据基本规范检查资源 定义

    • [output]是结果的文件名(OperationOutcome)。默认值:结果将发送到标准输出。

  4. 注意:此时,验证程序只能验证XML资源,而不能验证JSON资源。

    这是一个Windows批处理文件,可以完成所有这些:

    REM get the validator and unzip it
    wget.exe http://hl7-fhir.github.io/validator.zip
    7z.exe x validator.zip
    7z.exe x saxon.zip
    REM Get the validation source file (dictionary)
    wget.exe http://hl7-fhir.github.io/validation-min.zip
    REM get an example to validate
    wget.exe http://ec2-54-87-74-90.compute-
    1.amazonaws.com/open/Patient/1234 -O daf-patient.xml
    REM validate it. The DAF profile will be loaded out of the
    definitions in validation-min.zip
    java -jar org.hl7.fhir.validator.jar daf-patient.xml -defn
    validation-min.zip -profile
    http://hl7.org/fhir/StructureDefinition/patient-daf-dafpatient
    pause
    

答案 3 :(得分:0)

文档需要更新。尝试:

java -jar org.hl7.fhir.validator.jar round mysourcefile.xml output.xml

但我不认为DSTU validation.jar正在应用XSD或Schematrons。如果这是您的目标,那么您可以使用其他工具。

对于XSD:

xmllint --noout --schema <XSD_FILE> mysourcefile.xml

对于Schematron,使用probatron4j

java -jar probatron.jar mysourcefile.xml fhir-atom.sch