Невозможно установить серьезность проверки для ресурса пациента (java) - PullRequest
0 голосов
/ 05 марта 2020

Я хочу разрешить пациенту без пола, но записать предупреждение в журнал. Для этого я определяю StructureDefinition со снимком элемента «Patient.Gender» с ограничением с серьезностью «warning».

Это не работает, так как мой валидатор по-прежнему возвращает сообщение об ошибке с серьезностью: «Error».

С другой стороны, если я пытаюсь установить «фатальное» ограничение - ВСЕ мои ошибки исчезают, и мой ресурс внезапно становится действительным, без ошибок / log.

Использование FHIR Release 3 (STU)

Вот моя структура:

 {
    "id": "Patient.gender",
    "path": "Patient.gender",
    "short": "male | female | other | unknown",
    "definition": "Administrative Gender.",
    "comment": "The gender may not match the biological sex as determined by genetics...",
    "requirements": "Needed for identification of the individual, in combination with (at least) name and birth date...",
    "min": 0,
    "max": "1",
    "constraint": [
      {
        "key": "gen-1",
        "severity": "warning",
        "human": "Something something"
      }
    ],
    "type": [
      {
        "code": "code"
      }
    ],
    "isSummary": true,
    "binding": {
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
          "valueString": "AdministrativeGender"
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
          "valueBoolean": true
        }
      ],
      "strength": "required",
      "description": "The gender of a person used for administrative purposes.",
      "valueSetReference": {
        "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
      }
    },
    "mapping": [
      {
        "identity": "v2",
        "map": "PID-8"
      },
      {
        "identity": "rim",
        "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender"
      },
      {
        "identity": "cda",
        "map": ".patient.administrativeGenderCode"
      }
    ]
  },

И мой валидатор:

 // Use DefaultProfileValidationSupport since derived profiles generally
 // rely on built-in profiles also being available
    DefaultProfileValidationSupport defaultSupport = new DefaultProfileValidationSupport();
 // Create a chain that includes both the pre-populated and default. We put
 // the pre-populated (custom) support module first so that it takes precedence
    FhirInstanceValidator instanceValidator = new FhirInstanceValidator();
    ValidationSupportChain support = new ValidationSupportChain(
            new VCValidationSupport(fhirContext), defaultSupport);

    instanceValidator.setValidationSupport(support);
    instanceValidator.setNoTerminologyChecks(true);
    validator.registerValidatorModule(instanceValidator);
...