0.18.0 - ci-build

RuCoreIG, published by HL7 FHIR Россия. This guide is not an authorized publication; it is the continuous build for version 0.18.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/fhir-ru/RuCoreIG/ and changes regularly. See the Directory of published versions

Semd Identifiers

Идентификаторы СЭМД

RuCore представляет идентификаторы из правил СЭМД как Identifier там, где их семантика однозначно соответствует элементу FHIR. Динамический OID передается непосредственно в Identifier.system в URI-форме urn:oid:...; отдельный NamingSystem для каждого сочетания медицинской организации, МИС и экземпляра МИС не создается.

Тип идентификатора и система идентификации

Identifier.type и Identifier.system выполняют разные функции:

  • Identifier.type содержит стабильный семантический код, по которому профиль распознает вид идентификатора;
  • Identifier.system определяет конкретное пространство значений и включает идентификаторы медицинской организации, МИС и экземпляра МИС.

Для Identifier.type опубликован объединенный набор Core_Vs_Identifier_Type, включающий стандартные типы HL7 и коды RuCore. Срезы массивов identifier распознаются по шаблону type; нарезка остается открытой, поэтому профили допускают идентификаторы иных типов.

Помимо типов с типовыми узлами СЭМД, система RuCore содержит классификаторы snils, inn, identity-document и oms-policy. Они позволяют распознавать существующие срезы Core_Patient по Identifier.type, сохраняя дополнительные кодирования: TAX для ИНН, вид документа личности и оба уровня классификации полиса ОМС.

Реализованные соответствия

Типовой узел Код типа RuCore Значение Представление в RuCore Кратность варианта
.10 mis-patient Пациент в экземпляре МИС Core_Patient.identifier[misPatient] 0..1
.15 mis-encounter Случай оказания медицинской помощи Core_Encounter.identifier[misEncounter] 0..1
.16 mis-inpatient-record Стационарная медицинская карта Core_Encounter.identifier[misInpatientRecord] 0..1
.17 mis-ambulatory-encounter Амбулаторный случай или посещение Core_Encounter.identifier[misAmbulatoryEncounter] 0..1
.50 mis-document-set Набор версий документа, CDA ClinicalDocument.setId Core_Composition.identifier[misDocumentSet] 0..1
.51 mis-document Экземпляр документа, CDA ClinicalDocument.id Core_Bundle.identifier 0..1 базового элемента
.70 mis-practitioner-role Роль медицинского работника в экземпляре МИС Core_PractitionerRole.identifier[misPractitionerRole] 0..1

Тип внутренней ссылки на документ с узлом .52 намеренно не включен. Такая ссылка в зависимости от контекста соответствует Element.id, Reference или другому элементу FHIR, а не универсальному Identifier.

Формирование Identifier.system

Для реализованных идентификаторов применяется точная формула СЭМД:

urn:oid:1.2.643.5.1.13.13.12.2.{код субъекта РФ}.{идентификатор медицинской организации в ФРМО}.100.{номер МИС}.{номер экземпляра МИС}.{типовой узел}

Инварианты профилей проверяют:

  • корень пространства идентификаторов медицинских организаций ФРМО 1.2.643.5.1.13.13.12.2;
  • код субъекта Российской Федерации и идентификатор медицинской организации;
  • фиксированный узел 100;
  • ненулевые номера МИС и экземпляра МИС;
  • соответствующий конечный типовой узел.

Дополнительные дочерние узлы после типового узла не допускаются. Значение исходного CDA extension передается в Identifier.value.

Bundle и Composition: идентификатор экземпляра, набор версий и версия

Идентификатор конкретного экземпляра документа с узлом .51 передается в Bundle.identifier. Bundle.identifier имеет кардинальность 0..1, поэтому Core_Bundle не нарезает этот элемент: условный инвариант применяется только тогда, когда Identifier.type содержит код mis-document. Идентификатор другого типа остается допустимым.

Идентификатор набора версий с узлом .50 передается в Composition.identifier[misDocumentSet] и остается одинаковым для всех версий документа. Порядковый номер или иное обозначение версии передается стандартным элементом Composition.version; дополнительных российских ограничений на него RuCore не устанавливает.

CDA ClinicalDocument.id            -> Bundle.identifier (.51)
CDA ClinicalDocument.setId         -> Composition.identifier (.50)
CDA ClinicalDocument.versionNumber -> Composition.version

Примеры

Проверочные примеры .10, .15, .16, .17, .50, .51 и .70 используют пары CDA root/extension из исходных XML СЭМД. В FHIR значение root преобразовано в URI-форму urn:oid:..., а extension передано в Identifier.value.

Идентификаторы вне текущей реализации

RuCore не вводит дополнительные срезы там, где идентификатор уже покрыт канонической моделью RuCore либо отсутствует однозначное соответствие ресурсу FHIR. В частности, идентификаторы медицинской организации и СНИЛС используют существующие системы RuCore, пространства РЭМД и перечня МИС не являются самостоятельными бизнес-идентификаторами экземпляров текущих ресурсов, а правила для подразделений и страховых медицинских организаций требуют отдельного согласования модели.