[Из песочницы] Маленькие хитрости сбора паспортных данных
Хочу поделиться своим опытом, приобретённым при разработке и сопровождении информационной системы учёта физических лиц в одной организации. Масштаб — несколько десятков тысяч реальных людей. Разумеется, производился сбор в том числе и паспортных данных. Как это часто бывает, исчерпывающего ТЗ сформулировано не было и некоторые вещи пришлось доделывать в процессе. О тонкостях учёта физлиц для программистов, впервые сталкивающихся с такой задачей, я и хотел бы рассказать. В статье будут затронуты только вопросы ФИО, гражданства и документов, удостоверяющих личность. Материал получился несколько сумбурным в связи с тем, что содержит только личный опыт без пересказа общеизвестных фактов и цитирования официальных документов.Сначала про фамилию, имя и отчество. Во-первых, простому русскому человеку не всегда очевидно, что отчества может не быть. Причём его может не быть как у иностранцев (что понятно), так и у граждан РФ (по различным причинам). Если это не учесть сразу и сделать поле обязательным, то операторы вынуждены будут вводить туда всякий мусор типа дефисов.Дальше. Опыт показывает, что в русском написании фамилии и имени кроме кириллических букв могут встречаться пробелы и дефисы. Другие символы в документах, удостоверяющих личность, не встречались.
Третий нюанс: иностранцы (особенно из Азии) при переоформлении российской визы могут получить русское имя в новой транскрипции, таков уровень работы нашего МИДа. Поэтому хорошей практикой будет завести в системе поля для имени и фамилии иностранцев на латинице.
Теперь о том, что касается гражданства и документов, удостоверяющих личность. С гражданством всё почти просто: за редкими исключениями (их рассмотрим в конце) гражданство человека совпадает с той страной, которая выдала ему паспорт (или иной документ). А с документами — несколько сложнее.
Сперва кратко перечислим основные документы, удостоверяющие личность граждан в России. Обычно люди обращаются, имея на руках самый обычный внутренний паспорт РФ. Для военнослужащих также возможен военный билет, кроме того — у представителей отдельных профессий может встречаться такая экзотика, как паспорт моряка или служебный паспорт. На время ожидания готовности нового паспорта, например, по достижении 20 или 45 лет, документом является временное удостоверение личности по форме Т-2. Нужно иметь в виду, что форма Т-2 — это совсем не та справка из паспортного стола, которую там выдают при сдаче старого паспорта! Справка нужна для её обмена на новый паспорт, а также может удовлетворить любопытство сотрудника ППС или кого-нибудь не слишком требовательного к документам, а вот оформить по ней кредит в банке вряд ли получится, для этого нужно полноценное временное удостоверение с фотографией. Его оформление — дело добровольное и осуществляется при обращении непосредственно в отдел ФМС. Загранпаспорт удостоверяет личность только тех граждан, кто выехал на ПМЖ за рубеж. Обычно их паспорта получены в заграничных посольствах и имеют специальные серии — 51 или 53. Вообще, серия у этих документов состоит из двух цифр, номер — из семи, а коды выдающих подразделений совсем не похожи на коды у внутренних паспортов.
У большинства иностранцев личность удостоверяется заграничным паспортом своей страны, но граждане некоторых государств могут находиться в России и по внутреннему паспорту (там предусмотрены страницы с дублированием основных сведений на русском). К таким странам относятся Беларусь, Казахстан, Киргизия, Таджикистан, Узбекистан и Украина.
Однако, самая массовая категория документов, с которыми сталкивается средняя организация в России — это внутренние паспорта РФ, поэтому основное внимание уделим им. Существуют некоторые особенности, которые позволяют в некоторой степени автоматизировать контроль правильности их реквизитов.
Серия паспорта — как известно, 4 цифры. Первые две обычно соответствуют коду ОКАТО/ОКТМО субъекта РФ, в котором были выданы, но с рядом исключений. Одно из них — Крым и Севастополь. Насколько можно понять из публикаций в Интернете, в прошлом году туда свозили запасы бланков паспортов со всей России. Последние две цифры приблизительно равны году выдачи паспорта, но могут отличаться на 1–2 единицы в любую сторону. Кроме того, с серией связан неразрешимый вопрос: нужен ли пробел между этими группами цифр? Единомыслия нет даже у федеральных ведомств. ФМС, которая заведует выдачей и учётом паспортов, в БД на своём сайте обрабатывает серию без пробелов, а ФНС (налоговая) в бланках требует разделять группы пробелом. Хорошей практикой, на мой взгляд, является ввод и хранение серии без пробела, а при генерации документов, в которых он необходим — добавлять его «на лету».
Номера паспортов — 6-значные, присваиваются последовательно в пределах каждой серии и никаких хитростей, связанных с ними, мне неизвестно.
Дата выдачи паспорта, согласно главе «Исчисление сроков» Гражданского кодекса, не должна приходиться на дни рождения в 14, 20 и 45 лет и следующие за ними выходные и праздничные дни, иначе в некоторых особо придирчивых организациях документ будет объявляться недействительным.
Подразделение, выдавшее паспорт, и его код — самые длинные поля в списке реквизитов паспорта. Соответственно, в них совершается наибольшее количество ошибок. Код подразделения состоит из двух групп по 3 цифры, разделённых дефисом. Первые 2 цифры — код региона, но почему-то не по ОКАТО/ОКТМО, как в серии, а по справочнику, примерно соответствующему КЛАДРу или автомобильным кодам. 3-я цифра — тип подразделения (ФМС, ОВД и т.п.). Последние 3 цифры — собственно порядковый номер подразделения. Для оптимизации ввода этих данных можно организовать автодополнение по справочнику подразделений и их кодов.
Также будет нелишним знать, что ФМС предоставляет сервис проверки по списку недействительных паспортов. Собственно, весь их список доступен для свободного скачивания. Проблема заключается в том, что файл с этим списком занимает свыше 1 Гб и организовать его обработку на среднем сервере может стать непростой задачей. В таких случаях можно воспользоваться сервисом для автоматизированной проверки паспортов.
Теперь о тех случаях, когда гражданство человека отличается от страны, в которой выдан документ, удостоверяющий личность. Во-первых, нужно иметь в виду категорию лиц без гражданства вообще, личность которых может удостоверяться видом на жительство. Во-вторых, практически у всех граждан частично признанных Абхазии и Южной Осетии, а также непризнанной Приднестровско-Молдавской Республики есть также гражданство России и загранпаспорта России (поскольку они постоянно проживают за пределами РФ), что даёт им все права и обязанности российских граждан. В-третьих, это некоторые жители замечательной европейской страны Латвии, имеющие, в основном, русское происхождение. Они считаются «негражданами» и имеют документы, которые так и называются: «паспорт негражданина». В-четвёртых, это беженцы.
Разумеется, в этой статье освещены далеко не все вопросы, связанные с программным учётом физических лиц и контролем их документов, в связи с тем, что многие потенциально возможные ситуации автору на практике не встречались. Но, несмотря на это, надеюсь, что даже изложенные сведения помогут кому-то не допустить типовых ошибок при проектировании информационных систем обработки персональных данных и повысить качество собираемых сведений с помощью автоматического контроля.