【问题标题】:HL7 Validator PlanDefinition failed:HL7 验证器计划定义失败:
【发布时间】:2019-06-10 12:17:32
【问题描述】:

我必须升级 Hl7.Fhir.STU3 和 Hl7.Fhir.Specification.STU3 库,现在我收到错误消息,它无法解析 PlanDefinition 配置文件。 我可以在调试器中看到正在提取 specification.zip 提取到 'C:\Users\dev\AppData\Local\Temp\FhirArtifactCache-1.2.1-Hl7.Fhir.STU3.Specification\specification'}

为什么找不到 PlanDefinition?

{"Overall result: FAILURE (1 errors and 0 warnings)\r\n\r\n[ERROR] Resolution of profile at 'http://hl7.org/fhir/StructureDefinition/PlanDefinition' failed: Cannot prepare ZipSource: file 'D:\\Users\\mcdevitt\\Documents\\Visual Studio 2015\\FHIRValidatorFile\\FHIRValidatorFile\\FHIRValidatorFile\\bin\\Debug\\CustomProfiles' was not found (at PlanDefinition)"}

var HL7obj = new FhirXmlParser().Parse<PlanDefinition>(HL7FileData);
var coreSource = ZipSource.CreateValidationSource();
var cachedResolver = new CachedResolver(
            new DirectorySource(CustomProfilesPath, includeSubdirectories: true));

var combinedSource = new MultiResolver(cachedResolver, coreSource);

var ctx = new ValidationSettings()
        {
            ResourceResolver = combinedSource,
            GenerateSnapshot = true,
            Trace = false,
            EnableXsdValidation = true,
            ResolveExteralReferences = false
        };

var HL7validator = new Validator(ctx);
var result = HL7validator.Validate(HL7obj);

【问题讨论】:

    标签: c# hl7-fhir


    【解决方案1】:

    此错误来自 ZipSource 无法在列出的路径中找到压缩文件。请指明您要用作源的 zip 文件,而不是文件夹的路径。

    从“coreSource”名称中,我假设您想要指向基本 FHIR 规范。您可以将其更改为以下行,而不是为此提供您自己的 zipfile:

    var coreSource = ZipSource.CreateValidationSource();
    

    该库将找到它附带的规范.zip,然后将能够使用它来验证核心规范。

    【讨论】:

    • 我也尝试过,但得到了同样的错误 - 我可以看到正在提取的 zip 文件
    • 你能检查一下那个目录是否被规范文件填满了吗?
    猜你喜欢
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    • 2022-08-10
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    相关资源
    最近更新 更多