【发布时间】:2019-09-23 05:35:07
【问题描述】:
我正在使用 Hl7.Fhir.Serialization 和 Hl7.Fhir.Validation 进行资源特定验证,如下所示。但这是一个基本验证,我想在 Fhir R4 中进行配置文件特定验证和基于扩展的验证,有人可以建议我一个更好的解决方案吗?
private Hl7.Fhir.Validation.Validator GetValidator()
{
return new Hl7.Fhir.Validation.Validator(PrepareValidationSettings());
}
private ValidationSettings PrepareValidationSettings()
{
var settings = ValidationSettings.CreateDefault();
settings.EnableXsdValidation = false;
settings.Trace = false;
settings.ResourceResolver = this.ProfileSource;
settings.SkipConstraintValidation = false;
settings.ResolveExteralReferences = true;
settings.GenerateSnapshot = false;
settings.TerminologyService = this.TerminologySource;
return settings;
}
public FhirResponse ValidateResource(Resource resource)
{
var serializedResourceXml = FhirSerializer.SerializeResourceToXml(resource);
var reader = SerializationUtil.XmlReaderFromXmlText(serializedResourceXml);
var valdationResult = GetValidator().Validate(reader); // Validate the resource
if (valdationResult.Errors == 0)
{
return new FhirResponse(HttpStatusCode.OK);
}
return new FhirResponse(valdationResult, HttpStatusCode.InternalServerError);
}
【问题讨论】:
标签: validation resources hl7-fhir