fhir-net-api (STU3) - проверка - PullRequest
       12

fhir-net-api (STU3) - проверка

0 голосов
/ 20 ноября 2018

Я использую файл org.hl7.fhir.validator.jar инструмента Hl7.org для проверки своих сообщений, но я бы хотел добавить эту функцию в свой проект .Net.После того, как я проанализирую сообщение, существует ли класс, который я могу вызвать для проверки структуры.

Есть ли в fhir-net-api проверенный класс FHIR, который будет отображать те же результаты, имеет org.hl7.fhir.validator.jar?

    string HL7FilePath = string.Format("{0}\\{1}", System.IO.Directory.GetCurrentDirectory(), "Sample.xml");
    string HL7FileData = File.ReadAllText(HL7FilePath)

    var b = new FhirXmlParser().Parse<PlanDefinition>(HL7FileData);


FHIR Validator Build ??
Arguments: C:\HL7Tools\validator\REC78_1.xml -version 3.0
  .. connect to tx server @ http://tx.fhir.org
  .. definitions from hl7.fhir.core#3.0.1
    (v3.0.1-null)
  .. validate [C:\HL7Tools\validator\Sample.xml]
Terminology server: Check for supported code systems for http://www.nlm.nih.gov/research/umls/rxnorm
Success.

1 Ответ

0 голосов
/ 22 ноября 2018

Да, есть.Вам необходимо добавить пакет Hl7.Fhir.Specification.STU3, а затем использовать методы проверки, например, так:

using Hl7.Fhir.Specification.Source;
using Hl7.Fhir.Validation;

... your code, reading the PlanDefinition from file and parsing it ...

// setup the resolver to use specification.zip, and a folder with custom profiles
var source = new CachedResolver(new MultiResolver(
                                   new DirectorySource(@"<path_to_profile_folder>"),
                                   ZipSource.CreateValidationSource()));

// prepare the settings for the validator
var ctx = new ValidationSettings()
          {
              ResourceResolver = source,
              GenerateSnapshot = true,
              Trace = false,
              EnableXsdValidation = true,
              ResolveExteralReferences = false
          }

var validator = new Validator(ctx);

// validate the resource; optionally enter a custom profile url as 2nd parameter
var result = validator.Validate(b);

Результатом будет ресурс OperationOutcome, содержащий подробности проверки.

...