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
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.
Для реализованных идентификаторов применяется точная формула СЭМД:
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.
Идентификатор конкретного экземпляра документа с узлом .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, пространства РЭМД и перечня МИС не являются самостоятельными бизнес-идентификаторами экземпляров текущих ресурсов, а правила для подразделений и страховых медицинских организаций требуют отдельного согласования модели.