barcode

Сколько, говорите, у нас население планеты?

Вернулся наш "молодой и сумасшедший" манагер из соседнего государства, рассказывает чудесное.

Соседнее государство затеяло нац.проект в медицине, и хочет всё сделать по-уму. В плане информационных систем, разумеется, тоже. Некоторое время назад, один из ведущих местных производителей МИС (медицинских информационных систем) на это всё подписался, и сказал "всё будет круто. Своё-родное-правильное". Время прошло, что-то есть, но лаборатории так и нет. Зато есть два наших внедрения, которые работают. Позвали нас, говорят, давайте, мы вашу лабораторию возьмем. Заинтегрируемся с нашей МИС и будем поставлять как решение.
А нам же заинтегрироваться - нет проблем. Мы всегда тока за.

Так вот, то присказка была, а теперь сказ начнется.

Общался с местными светилами ИТ наш гонец, и расширялись его горизонты.
Говорили светилы, что для идентификации пациента, у них поле 64bit (x64 - это тренд!). Это 20 знаков, если по-людски записывать. На вопрос "зачем так много-то?", ответ тривиален - "так вся страна в списке будет!".

Я когда слушал эти чудеса, думал, может я че-то не понимаю? Попросил мне разъяснить.
Шесть знаков - это миллион.
Девять знаков - это миллиард.
Всё население планеты - несколько миллиардов. Из них очень весомая часть китайцы и индусы.
Т.е. если перечитать всех людей, достаточно десяти знаков. Отлично, население растет, плюс, удобство кодирования, пусть будет двенадцать знаков, или даже четырнадцать!

Но двадцать?! И на минуточку - это для всей планеты, а информационная система - для одной страны. Я тут, спросил у Яндекса, сколько население этой страны... Говорят, постоянное - порядка 15 миллионов. В Москве и области больше проживает, да.

Но и это еще не всё! Для идентификатора организаций, тоже такое же поле, и для врачей.
Но это совсем просто - каждый гражданин может быть частным предпринимателем. Почему нет. И врачом тоже может быть.
Tags: ,
С запасом берут, когда человечество размножится и переберется на другие планеты и галактики, а это государство их всех завоюет :)
Может идентификаток будет не просто набор цифр по порядку, а какой-то со смысловой нагрузкой. Поэтому хотят такой формат?
конечно будет какая-то смысловая нагрузка! Но какая бы смысловая нагрузка не была, людей от этого больше не становится :)
Ну мож на века создают. Или может хотят объединить все возможные медучереждения в одну систему. Или ... мало ли каких или может быть.
на тысячелетия!

Слу, конечно они хотят объединить все медучреждения в одну систему. Это же национальнй проект. Но людей от этого желания больше не станет. Как было порядка 15 миллионов, так и будут десятки миллионов. Засунуть в этот идентификатор что-то еще можно, но есть ли смысл? Ок, даже если "есть смысл" - десятки миллионов - это восемь десятичных цифр. Даже если выделить еще столько-же подл всякую дополнительную информацию - 16 знаков. Хотя я бы выделял меньше, и вообще всюкую хрень в идентификатор человека не записывал.

мне вон, в Я.ру подсказали - это заказ внеземных цивилизаций. Их тоже будут считать и лечить :)
А может, там будет не просто id, а sha1 ($id,1)? Для сурьезности...
:)
32bit мало значит 64bit в самый раз. Тогда и номера можно говорящие делать на подмножествах.
Нормально, даже больше надо.
На 640к некоторые уже обжигались.
больше? 40 знаков?

640к, как бы должно было другому научить, но не учит...
Я бы попросил N знаков. Конфигурябельно. С живой миграцией (можно запретить понижать N на уже рабочей системе, только повышать).
ок, считаем, что конфигурабельно.
Сколько знаков есть смысл взять для начала, учитывая что сейчас всё население десятки миллионов?

Я сразу забегу вперед. Глобальный идентификатор пациента, скорее всего будет самым часто используемым идентификатором. Его будут вводить во всех местах, где человек будет касаться медицины. Страховые полисы, регистратуры, и так далее. В лучшем случае, это будет штрихкод, но скорее всего - просто ряд цифр.

Кстати, сугубо для ориентира: номера кредиток VISA/MC содержит 16 цифр.
1 - Major Industry Id (MII)
2-7 - Issuer Id Number (IIN)
8-15 - номер счета
16 - проверочная цифра
И это, судя по всему, вполне хватает.
Хотя, есть номера длиной 18 и 19 знаков :)
Ну, отгрызть сколько надо знаков для классификации, а потом... Ну, например, один знак. Когда 9 пациентов зарегистрируем, то второй. И так далее...

В принципе, понятно. Надо с начала оценить, сколько может потребоваться, и столько ставить, чтоб не дёргать конфиг без надобности. А претензия к светилам даже не в том что слишком длинное поле, а в том что длинна фиксирована.
вот в том-то и дело, что при некотором наличии разума, получается не так чудно.
И конечно в современных базах нет проблем char(16), какой-нибудь, расширить до char(20) через пару-тройку лет.

Фиксация длины, в данном случае, это нормально. Это очень удобно при offline использовании идентификатора. Одинаковые по размеру штрихкоды, фиксированные размеры на печати и так далее.
Понятно.
Предполагая лутшее, наверное кто-то придумал 64 бита длинну, чтоб там всего-всего закодировать, а пео "всю страну" расказывал деятель который не в курсе...
вот это, на самом деле, и грустно, что происходят такие "разрывы". В итоге, возможно вполне разумное решение звучит как полный бред ;(
Да мало ли кто там языком молотил? На то проектная документация...