Приложение
Схема электронных сообщений документооборота системы межведомственного электронного документооборота (версия 2.2)
В системе МЭДО используются два основных типа ЭСД:
1. Документ, состоящий из паспорта сообщения и прикрепленных файлов, где паспорт сообщения содержит минимальную атрибутику документа и представляется в виде типизированного XML;
2. Уведомление, состоящее только из паспорта, где паспорт сообщения содержит информацию о ходе прохождения документа.
Схема XML приведена в файле IEDMS. xsd. Схема в дальнейшем может быть расширена путем добавления необязательных элементов и атрибутов.
Заголовок:
//communucation/header/* - определяет тип ЭСД и источник сообщения (клиента шлюза МЭДО);
//communucation/header/@type - тип сообщения {"Документ"|"Уведомление"};
//communucation/header/@uid - уникальный идентификатор сообщения GUID (*), формируется новое значение для каждого нового сообщения (атрибут для совместимости помечен как optional, однако формировать его нужно);
//communucation/header/@created – дата и время создания сообщения (атрибут для совместимости помечен как optional, однако формировать его нужно);
//communication/header/source/@uid - уникальный идентификатор источника сообщения GUID(*), формируется корреспондентом сообщения один раз и далее используется во всех дальнейших сообщениях;
//communication/header/source/organization - наименование источника, строка не более 511 символов.
Документ:
Значение атрибута type заголовка:
//communucation/header/@type = "Документ"
//communication/document/* - определяет атрибутику (реквизиты) "передаваемого" документа
//communication/document/@uid - уникальный идентификатор документа - GUID (*). Если локальная СЭД его не поддерживает, то идентификатор формируется для каждого пересылаемого документа «на лету». Но, видимо, нужно приложить некоторые усилия для обеспечения однозначного соответствия сформированного идентификатора этому документу для исключения коллизий в дальнейшем, например, при передачах квитанций о регистрации.
//communication/document/@id - локальный идентификатор документа (по БД источника), строка (token) длиной не более 127 символов.
Вид документа:
//communication/document/kind (**) - необязательный элемент.
Номер и дата документа
.../document/num/number - номер документа, строка (token) длиной не более 31 символа;
.../document/num/date - дата регистрации документа (date).
Гриф документа:
//communication/document/classification (**) - необязательный элемент.
Срочность документа:
//communication/document/urgency (**) - необязательный элемент.
Признак «Взамен разосланного»
.../document/insteadOfDistributed (boolean) - необязательный элемент.
Данные о лице, подписавшем документ:
Представлены последовательностью //communication/document/signatories (Подписавшие) элементов signatory (Подписал). Каждый подписавший представляется из 6 элементов, "логическое" ограничение - наличие хотя бы одного из {person|department|post}.
· .../signatory/region - наименование региона организации (**), необязательный элемент;
· .../signatory/organization - наименование организации (**);
· .../signatory/person - сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· .../signatory/department - наименование подразделения организации (**), необязательный элемент;
· .../signatory/post - должность сотрудника (лица) (**), необязательный элемент;
· .../signatory/signed - (обязательный элемент) дата подписания документа (date).
Адресаты документа (Кому направлено):
Представлены последовательностью //communication/document/addressees (Адресаты) элементов addressee (Адресат). Каждый адресат представляется из 5 (необязательных) элементов, логическое ограничение - это наличие хотя бы одного из них.
· .../addressee/region - регион (**);
· .../addressee/organization - наименование организации (**);
· .../addressee/person - сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· .../addressee/department - наименование подразделения организации (**);
· .../addressee/post - должность сотрудника (лица) (**).
Количество страниц основного документа и приложений:
//communication/document/pages - (обязательный элемент) страниц документа (неотрицателное целое число);
//communication/document/enclosuresPages - (необязательный элемент) страниц приложений (неотрицателное целое число).
Краткое содержание документа:
//communication/document/annotation - строка длиной не более 4000 символов (string), может быть представлена как![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|>|<}.
Корреспондент (отправитель документа):
Представлен последовательностью //communication/document/correspondents (Корреспонденты) элементов correspondent (Корреспондент). Каждый корреспондент представляется из 6 (необязательных) элементов, "логическое" ограничение - это наличие хотя бы одного из них, желательно всегда заполнять элемент .../correspondent/organization, осталные можно не заполнять.
· .../correspondent/region - регион (**), необязательный элемент;
· .../correspondent/organization - наименование организации (**);
· .../correspondent/person - сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· .../correspondent/department - наименование подразделения организации (**), необязательный элемент;
· .../correspondent/post - должность сотрудника (лица) (**), необязательный элемент;
· .../correspondent/num - номер и дата исходящего документа;
· .../num/number - номер документа, строка (token) длиной не более 31 символа, совпадает с .../document/num/number;
· .../num/date - дата подписания документа (date).
Исполнитель в Министерстве:
Представлен последовательностью //communication/document/executor.
· .../executor/person - сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· .../executor/department - наименование подразделения организации (**), необязательный элемент;
· .../executor/post - должность сотрудника (лица) (**), необязательный элемент;
· ../executor/contactInfo – контактная информация (телефоны) сотрудника (лица), строка (string) длиной не более 511 символов, необязательный элемент, заполняется только при наличии такой информации.
Список файлов:
//communication/files/* - определяет список всех прикрепленных файлов ЭСД.
Список прикрепленных файлов текстов электронного документа представлен последовательностью //communication/files элементов files, где каждый файл представляет:
· .../file/@localName - имя файла;
· .../file/@localId - последовательный номер файла в списке (начиная c 0);
· .../file/@type – тип (формат) файла, необязательный атрибут, возможны значения {"pdf"|"tif"|"doc"|"txt"}, если не задан, то формат файла определяется по расширению в .../file/@localName;
· .../file/group - группа присоединенного файла, определяет относится ли файл к текcту документа или к тексту приложений к документу, возможно только два значения {"Текст документа"|"Текст приложения"};
· .../file/description - комментарий к тексту, произвольная строка длиной не более 511 символов, необязательный элемент;
· .../file/pages – количество страниц текста (если только это определимо), необязательный элемент.
Уведомление:
Значение атрибута type заголовка:
//communucation/header/@type = "Уведомление"
//communication/notification/* - определяет реквизиты уведомления
//communication/notification /@type – тип уведомления, атрибут может принимать значения: {"Зарегистрирован" | "Отказано в регистрации" | "Назначен исполнитель" | "Доклад подготовлен" | "Доклад направлен" | "Исполнение"}
//communication/notification/@uid - уникальный идентификатор документа - GUID (*), к которому относится данное уведомление, если опущен, тогда документ, к которому относиться уведомление, определяется через элементы. //communication/notification/.../foundation;
//communication/notification/@id - локальный идентификатор документа (по БД источника), строка (token) длиной не более 127 символов, дополнительный атрибут в пару с @uid.
Уведомление о регистрации
Данное уведомление предназначено для информирования организации, приславшей документ, о регистрации документа в СЭД получателя.
Значение атрибута «тип уведомления»:
//communication/notification/@type="Зарегистрирован"
Используемый элемент:
//communication/notification/documentAccepted
//communication/notification/documentAccepted/time - дата/время формирования данного уведомления (dateTime), обязательный элемент;
//communication/notification/documentAccepted/foundation – краткая информация о документе, к которому относится данное уведомление.
· ../foundation/organization – организация-корреспондент (**);
· ../foundation/person – подписавший (**);
· ../foundation/num – номер и дата документа;
../num/number – регистрационный номер, строка token, длиной не более 31 символа;
../num/date – дата подписания;
//communication/notification/documentAccepted/correspondent – краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;
· ../foundation/region – регион корреспондента (**), необязательный элемент;
· ../foun dation/organization – организация-корреспондент уведомления(**);
//communication/notification/documentAccepted/num – регистрационные номер и дата, за которыми документ был зарегистрирован, обязательный элемент;
../num/number – регистрационный номер, строка token, длиной не более 31 символа;
../num/date – Дата регистрации (date).
Уведомление об отказе в регистрации
Данное уведомление предназначено для информирования организации, приславшей документ, об отказе в регистрации документа в СЭД получателя.
Значение атрибута «тип уведомления»:
//communication/notification/@type="Отказано в регистрации"
Используемый элемент:
//communication/notification/documentRefused
//communication/ notification/documentRefused/time – дата/время формирования данного уведомления (dateTime), обязательный элемент;
//communication/ notification/documentRefused/foundation – краткая информация о документе, к которому относиться данное уведомление.
· ../foundation/organization – организация-корреспондент (**);
· ../foundation/person – подписавший (**);
· ../foundation/num – номер и дата документа;
../num/number – регистрационный номер, строка token, длиной не более 31 символа;
../num/date – дата подписания
//communication/notification/documentRefused/correspondent – краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;
· ../foundation/region – регион корреспондента (**), необязательное значение;
· ../foun dation/organization – организация-корреспондент уведомления(**);
//communication/notification/documentRefused/reason – причина отказа в регистрации, элемент может принимать значения: {"Не подлежит регистрации" | "Ошибка адресации" | "Не указан корреспондент" | "Нет искового заявления" | "Отсутствует текст" | "Нет подписи" }.
Уведомление о принятии к исполнению
Данное уведомление предназначено для информирования организации, приславшей документ, о принятии документа к исполнению.
Значение атрибута «тип уведомления»:
//communication/notification /@type="Назначен исполнитель"
Используемый элемент:
//communication/notification/executorAssigned
//communication/notification/executorAssigned/time – дата/время формирования данного уведомления (dateTime), обязательный элемент;
//communication/notification/executorAssigned/foundation – краткая информация о документе, к которому относится данное уведомление.
· ../foundation/organization – организация-корреспондент (**);
· ../foundation/person – подписавший (**);
· ../foundation/num – номер и дата документа;
../ num/number – регистрационный номер, строка token, длиной не более 31 символа;
../ num/date – дата подписания;
//communication/notification/executorAssigned/clause – информация о пункте документа, к которому относится данное уведомление, необязательный элемент;
· ../clause/designation – наименование (обозначение, номер) пункта документа, строка (normalizedString) длиной не более 255 символов;
· ../clause/text – содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|>|<};
//communication/notification/executorAssigned/correspondent – краткая информация о корреспонденте уведомления.
· ../foundation/region – регион корреспондента (**), необязательное значение;
· ../foun dation/organization – организация-корреспондент уведомления(**);
//communication/notification/executorAssigned/secretary – руководитель или курирующий заместитель руководителя ведомства (организации);
· ../secretary/region - регион (**), необязательный элемент;
· ../secretary/organization – наименование ведомства (организации) (**);
· ../secretary /person - сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· ../secretary/department - наименование подразделения организации (**), необязательный элемент;
· ../secretary/post - должность сотрудника (лица) (**), необязательный элемент;
· ../secretary/contactInfo – контактная информация (телефоны) сотрудника (лица), строка (string) длиной не более 511 символов, необязательный элемент, заполняется только при наличии такой информации;
//communication/notification/executorAssigned/manager – руководитель подразделения-исполнителя ведомства (организации);
· ../manager/region - регион (**), необязательный элемент;
· ../manager/organization – наименование ведомства (организации) (**);
· ../manager/person - сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· ../manager/department - наименование подразделения организации (**);
· ../manager/post - должность сотрудника (лица) (**);
· ../manager/contactInfo – контактная информация (телефоны) сотрудника (лица), строка (string) длиной не более 511 символов, необязательный элемент, заполняется только при наличии такой информации;
//communication/notification/executorAssigned/executor – ответственный исполнитель ведомства (организации);
· ../executor/region - регион (**), необязательный элемент;
· ../executor/organization – наименование ведомства (организации) (**);
· ../executor/person - сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· ../executor/department - наименование подразделения организации (**);
· ../executor/post - должность сотрудника (лица) (**);
· ../executor/contactInfo – контактная информация (телефоны) сотрудника (лица), строка (string) длиной не более 511 символов, необязательный элемент, заполняется только при наличии такой информации;
Уведомление о подготовке доклада
Данное уведомление предназначено для информирования организации, приславшей документ, что доклад по документу подготовлен (передан на подпись).
Значение атрибута «тип уведомления»:
//communication/notification /@type="Доклад подготовлен"
Используемый элемент:
//communication/notification/reportPepared
//communication/notification/reportPepared/time time – дата/время формирования данного уведомления (dateTime), обязательный элемент;
//communication/notification/reportPepared/foundation – краткая информация о документе, к которому относится данное уведомление.
· ../foundation/organization – организация-корреспондент (**);
· ../foundation/person – подписавший (**);
· ../foundation/num – номер и дата документа;
../ num/number – регистрационный номер, строка token, длиной не более 31 символа;
../ num/date – дата подписания;
//communication/notification/reportPepared/clause – информация о пункте документа, к которому относится данное уведомление, необязательный элемент;
· ../clause/designation – наименование (обозначение, номер) пункта документа, строка (normalizedString) длиной не более 255 символов;
· ../clause/text – содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|>|<};
//communication/notification/reportPepared/correspondent – краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;
· ../foundation/region – регион корреспондента (**), необязательное значение;
· ../foun dation/organization – организация-корреспондент уведомления(**);
//communication/notification/reportPepared/signatory – информация о лице, которому документ передан на подпись;
· ../signatory/region - регион (**), необязательный элемент;
· ../signatory/organization – наименование ведомства (организации) (**);
· ../signatory/person - сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· ../signatory/department - наименование подразделения организации (**), необязательный элемент;
· ../signatory/post - должность сотрудника (лица) (**).
Уведомление о направлении доклада
Данное уведомление предназначено для информирования организации, приславшей документ, что подписанный доклад по документу направлен из ведомства (организации) в адрес Аппарата Правительства Российской Федерации.
Значение атрибута «тип уведомления»:
//communication/notification /@type="Доклад направлен"
Используемый элемент:
//communication/notification/reportSent
//communication/notification/reportSent/time – дата/время формирования данного уведомления (dateTime), обязательный элемент;
//communication/notification/reportSent/foundation – краткая информация о документе, к которому относится данное уведомление.
· ../foundation/organization – организация-корреспондент (**);
· ../foundation/person – подписавший (**);
· ../foundation/num – номер и дата документа;
../num/number – регистрационный номер, строка token, длиной не более 31 символа;
../num/date – дата подписания;
//communication/notification/reportSent/clause – информация о пункте документа, к которому относится данное уведомление, необязательный элемент;
· ../clause/designation – наименование (обозначение, номер) пункта документа, строка (normalizedString) длиной не более 255 символов;
· ../clause/text – содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|>|<};
//communication/notification/reportSent/correspondent – краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;
· ../foundation/region – регион корреспондента (**), необязательное значение;
· ../foun dation/organization – организация-корреспондент уведомления(**);
//communication/notification/reportSent/report – краткая информация об исходящем документе ведомства (организации), направленного в адрес Аппарата Правительства Российской Федерации;
· ../report/region - регион корреспондента (**), необязательный элемент;
· ../report/organization – ведомство (организация) - корреспондент (**);
· ../report/person – подписавший сотрудник (лицо); в формате: Фамилия Имя Отчество (**);
· ../report/department – подразделение ведомства (организации), подписавшего документ (**), необязательный элемент;
· ../report/post – должность подписавшего документ (**);
· ../report/num – номер и дата исходящего документа;
../num/number – регистрационный номер, строка token, длиной не более 31 символа;
../num/date – дата подписания.
Уведомление об изменении в ходе исполнения
Данное уведомление предназначено для информирования организации, приславшей документ, об иных событиях в ходе исполнения документа (т. е. отличных от приведенных выше).
Значение атрибута «тип уведомления»:
//communication/notification /@type="Исполнение"
Используемый элемент:
//communication/notification/courseChanged
//communication/notification/courseChanged/time – дата/время формирования данного уведомления (dateTime), обязательный элемент;
//communication/notification/courseChanged/foundation – краткая информация о документе, к которому относится данное уведомление.
· ../foundation/organization – организация-корреспондент (**);
· ../foundation/person – подписавший (**);
· ../foundation/num – номер и дата документа;
../num/number – регистрационный номер, строка token, длиной не более 31 символа;
../num/date – дата подписания;
//communication/notification/courseChanged/clause – информация о пункте документа, к которому относится данное уведомление, необязательный элемент;
· ../clause/designation – наименование (обозначение, номер) пункта документа, строка (normalizedString) длиной не более 255 символов;
· ../clause/text – содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|>|<};
//communication/notification/courseChanged/correspondent – краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;
· ../foundation/region – регион корреспондента (**), необязательное значение;
· ../foun dation/organization – организация-корреспондент уведомления(**);
//communication/notification/courseChanged/courseText – текст, содержащий информацию о событии в ходе исполнения, строка (string) длиной не более 4000 символов, может быть представлена как![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|>|<};
//communication/notification/courseChanged/reference – краткая информация о некотором документе – основании события в ходе исполнения, необязательный элемент;
· ../reference/region - регион корреспондента (**), необязательный элемент;
· ../reference/organization – ведомство (организация) - корреспондент (**);
· ../reference/person – подписавший сотрудник (лицо); в формате: Фамилия Имя Отчество, (**);
· ../reference/department – подразделение ведомства (организации), подписавшего документ (**), необязательный элемент;
· ../reference/post – должность подписавшего документ (**);
· ../reference/num – номер и дата документа;
../num/number – регистрационный номер, строка token, длиной не более 31 символа;
../num/date – дата подписания;
//communication/notification/comment – необязательный комментарий к уведомлению, может быть использован для расширения информационного содержания, строка (string) длиной не более 2047 символов.
Квитанция:
Значение атрибута type заголовка:
//communucation/header/@type = " Квитанция"
Данный тип сообщений предназначен для подтверждения доставки сообщений МЭДО с типами "Документ" и " Уведомление".
//communication/acknowledgment/* - определяет реквизиты квитанции;
//communication/acknowledgment/@uid - уникальный идентификатор сообщения (см. //communucation/header/@uid), на которое сформирована данная квитанция - GUID (*);
//communication/notification/time - дата/время принятия сообщения;
//communication/notification/accepted - признак того, что сообщение принято (обработано) в СЭД;
//communication/notification/comment - необязательные комментарии к квитанции, которые могут содержать, например, причину, по которой сообщение не было принято;
//communication/notification/hashCodes - пока необязательная информация для проверки целостности доставленного сообщения (список хэш-кодов для каждого элемента полученного ЭСД); на текущий момент может быть опущена.
Замечания по формату данных:
(*)
Строка (token) длиной 36 символов, представляющая глобально уникальный идентификатор (GUID), формата:
[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12},
пример: abcdef01-2345-6789-fbcd-ef0123456789
(**)Элементы, содержащие значения для
· региона (region),
· организации (organization),
· сотрудника (person),
· подразделения (department),
· должности (post),
· вида документа (kind)
· грифа документа (classification)
· срочности документа (urgency)
представляются в виде:
· собственно значения - нормализованной строки (normalizedString, может содержать эскейпы {'|"|&|>|<}) длиной не более 511 символов;
· набора необязательных атрибутов:
· @id - идентификатор (код) значения по БД источника (token), строка длиной не более 127 символов;
· @retro - признак ретроспективы по БД источника (boolean);
· @modified - дата последнего изменения значения в БД источника (dateTime)


