-
Notifications
You must be signed in to change notification settings - Fork 8
-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Кодирование Identifier #2
Comments
На Simplifier.net есть несколько национальных профилей, я отобрал по количеству звезд:
В Finnish PHR используется В Basisprofil DE (STU3) профиль требует использования системы - http://fhir.de/NamingSystem/gkv/kvid-10. Вот ее страница в профиле - https://simplifier.net/basisprofilde/gkv-kvid-10. Она связанна, с кодовой системой (https://simplifier.net/basisprofilde/identifier-type-de-basis-2) и ValueSet (https://simplifier.net/basisprofilde/identifier-type-de-basis-3). На ValueSet стоит посмотреть, там есть полезные идентификаторы. В Nictiz STU3 Zib 2017 зашита одна система - http://fhir.nl/fhir/NamingSystem/bsn, ее описание - https://simplifier.net/nictizstu3-zib2017/bsn Фактически две из трех популярных систем используют url, возможно, это уточняет национальный контекст использования. В целом мне нравится предложение по кодированию value:
|
Поддерживаю: Сюда же: СНИЛС хранить только цифрами без разделителей |
В части именно ДУЛ предлагаю использовать следующий справочник: При этом system можно кодировать как [OID справочника].[Код значения в справочнике], т.е. для паспорта РФ: 1.2.643.5.1.13.13.99.2.320.14 В части полиса ОМС важно не забыть о необходимости передачи типа полиса (старый, новый, времянка). Тут можно или поступать по предложению @Aitem : Или аналогично с ДУЛ, используя справочник https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.245/passport/1.1 По аналогии - system можно кодировать как [OID справочника].[Код значения в справочнике], т.е. для полиса единого образца: 1.2.643.5.1.13.13.99.2.245.3 |
В этом справочнике есть два поля:
|
Да, верно |
Аналогично с Patient.name (issue #3), вы уверены, что все системы должны содержать identifier - cardinality 1..? Я бы также начал со списка всех возможных национальных идентификаторов, потом сгруппировал их и расслайсил Patient.identifier по этим группам, что позволило бы определять extension необходимые для каждой группы отдельно. |
При работе с Документами удостоверяющими личность предлагаю использовать справочник https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.48 |
Справочник https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.320 является локальным для одной из ИС. Паспорт СССР на сегодняшний день ДУЛ не является. |
Кроме того, предлагаю рассмотреть возможность использовать в качестве идентификаторов не отдельные документы, а само понятие ДУЛ с указанием конкретного типа из справочника. Номер и серию нужно как-то отделять друг от друга. |
В идентификаторе ДУЛ должен обязательно присутствовать тип документа, серия/номер, дата выдачи. Остальные элементы могут быть не обязательны (кем выдан, действителен до... и.т.д.). Для получения полного списка потребуется анализ всего перечня документов. |
Из паспорта данного справочника: (https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.320/passport/1.2) Полагаю, все же лучше использовать именно этот справочник. |
ФФОМС работает по справочнику F011. Он прописан в приказе 79 "Общие принципы Похоже, что это и есть 1.2.643.5.1.13.13.99.2.320 |
Согласен, есть путаница в этих справочниках. В регламентной службе реестра НСИ в этом году будет проведена работа по унификации справочника ДУЛ. |
Паспорт гражданина СССР, в настоящее время ДУЛ не является. Имеет только историческое значение. |
Вышла новая версия справочника "Документы, удостоверяющие личность" https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.48 Предлагаю его использовать в Patient.identifier.type вторым элементом coding, первым будет значение из FHIR-справочника (PPN Passport number http://terminology.hl7.org/CodeSystem/v2-0203) |
Проблема
Одна из самых распространненных задач которая встает перед разработчиками реальных ИС состоит в кодировании идентификационной информации для той или иной
сущности. На пример ДУЛ (Документ Удостоверяющий Личность) для людей, всевозможная финансовая информация - ИНН, БИК, ОГРН, всевозможные федеральные регистрационные номера и т.д. Особенно остро проблема поднимается когда речь заходит о интеграции с стороними системами, когда по той или иной причине приходится ссылаться на ресурсы не через прямой URL ресурса, а через логические ссылки, на пример, прикрепить документ к пациенту по его СНИЛС, или выставить счет организации по её ИНН.
Отчасти FHIR дает ответ на этоту задачу в виде Identifier, и возможности использовать Identifier в Reference - так называемые логические ссылки, а также поиск по ним.
Ниже речь пойдет сугубо о хранении идентификационной информации - пары system/value. Хранение ДУЛ специфичной информации такой как: кем выдано, срок действия и т.п. - тема отдеьного обсуждения.
FHIR
Теперь задача состоит в определении формата и перечня значенений для system и value.
В документации сказано:
Тип данных uri
Формально, данная спецификация полностью развязывает нам руки, и в качестве system value можем использовать все что придет нам в голову. Очень часто, в качестве
system
используют абсолютныйurl
,на примерhttp://my.project/CodeSystem/Passport
, что формально не противоречит спецификации. Но это зачастую бывает очень не удобно. На пример при наличие dev stage prod инсталляций, или при интеграции когда из сторонней системы приходит паспорт в системеhttps://another.project/Passport-RF
.URN
Вместо ипользования URL целесообразнее использовать формат URN. Его основная задача избавиться от недостатков системы URL.
Структура URN:
NID идентификатор пространства имён (англ. Namespace Identifier)
представляет собой синтактическую интерпретацию NSS, не чувствителен к регистру.
NSS строка из определённого пространства имён (англ. Namespace Specific String).
Если условиться что в качестве формата system для Identifier всегда использовать urn (хотябя в рамках россиийских реалий), то в таком случае задача сводится к формированию списка зарезервированных nid и соответствующих им nss.
NID & NSS
С одной стороны можно обратиться к федеральным справочникам и, на пример,
использовать федеральные OID. Но с ними тоже не все так гладко. Если рассмотреть справочник ДУЛ то он имел за свою историю три OID 1.2.643.5.1.13.13.99.2.48, 1.2.643.5.1.13.13.11.1011, 1.2.643.5.1.13.2.1.1.736. И в добавок они абсолютно не человеко читаемые. И так стараемся всеми силами уйти от XML в сторону упрощения формата данных, и думаю не стоит усложнять сами данные.
Еще в качестве примера можно разделить по ведомствам выдающим соответствующие документы. Примерно так:
urn:mvd:passport
,urn:nalog:inn
,urn:fms:zagran-passport
. В данном подходе тоже есть существенный недостаток связанные переформированием различных ведомст, и т.д.Возможным решением видится формирование списка NID основанном на логической
области применения: документы идентифицирующие людей, финансовые идентификаторы, область для федеральных справочников, области для локального использования и т.д. А для связи с, на пример, федеральными OID - вести отдельный маппин. Это позволит нам быть аболютно независимыми от внешних факторов, а маппинг позволит перевести существующие системы на наш формат.
Возможные примеры:
NID
identity
- для ДУЛNID
finance
- для около финансовой информацииNID
miac
- для регионального МИАЦNID
source
- для локального использования (интеграция) и идертификации истоника откудапришли данные.
Кто занимается лабораторными и учетом мед оборудования, уверен, тоже могут предложить пару систем. Наверняка для определенных видов оборудвания, на пример рентгена, вдется свой учет и номенклатура и есть какие-либо федеральный реестр.
Сразу возникает вопрос о формате написания NID/NSS: транслит или перевод? То есть
urn::snils
илиurn:idintity:inipa
? Из-за большого количества аббревиатур перевод практически убивает их читаемость. Так что лично я склоняюсь к транслиту.Value
Из практики идентификаторы встречаются составные
серия
+номер
+что угодно
, либо просто состоящие из одного значения. Причем само значение может содержать в себе не только цифры и буквы, но и пробелы, дефисы и т.д.Мое предложение
:
Пример
Вопросы:
TODO
The text was updated successfully, but these errors were encountered: