Экз. № 3 Приложение № 2 Схема электронных сообщений документооборота системы межведомственного электронного документооборота (версия 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 (*). Если локальная СЭД его не поддерживает, то 2 идентификатор формируется для каждого пересылаемого документа «на лету». Но, видимо, нужно приложить некоторые усилия для обеспечения однозначного соответствия сформированного идентификатора этому документу для исключения коллизий в дальнейшем, например, при передачах квитанций о регистрации. //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 наименование подразделения организации (**), необязательный элемент; 3 .../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[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<}. Корреспондент (отправитель документа): Представлен последовательностью //communication/document/correspondents (Корреспонденты) элементов correspondent (Корреспондент). Каждый корреспондент представляется из 6 (необязательных) элементов, "логическое" ограничение это наличие хотя бы одного из них, желательно всегда заполнять элемент .../correspondent/organization, осталные можно не заполнять. .../correspondent/region регион (**), необязательный элемент; .../correspondent/organization наименование организации (**); .../correspondent/person сотрудник (лицо); в формате: Фамилия Имя Отчество (**); 4 .../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 символов, необязательный элемент; 5 .../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 – краткая информация о корреспонденте уведомления, если опущен, то 6 корреспондент будет определяться по //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 – организация-корреспондент уведомления(**); 7 //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[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<}; //communication/notification/executorAssigned/correspondent – краткая информация о корреспонденте уведомления. ../foundation/region – регион корреспондента (**), необязательное значение; ../foun dation/organization – организация-корреспондент уведомления(**); 8 //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 должность сотрудника (лица) (**); 9 ../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[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<}; //communication/notification/reportPepared/correspondent – краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid; ../foundation/region – регион корреспондента (**), необязательное значение; 10 ../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 символов; 11 ../clause/text – содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как ![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<}; //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), обязательный элемент; 12 //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[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<}; //communication/notification/courseChanged/correspondent – краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid; ../foundation/region – регион корреспондента (**), необязательное значение; ../foun dation/organization – организация-корреспондент уведомления(**); //communication/notification/courseChanged/courseText – текст, содержащий информацию о событии в ходе исполнения, строка (string) длиной не более 4000 символов, может быть представлена как ![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<}; //communication/notification/courseChanged/reference – краткая информация о некотором документе – основании события в ходе исполнения, необязательный элемент; ../reference/region регион корреспондента (**), необязательный элемент; ../reference/organization – ведомство (организация) корреспондент (**); 13 ../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), формата: 14 [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fAF0-9]{12}, пример: abcdef01-2345-6789-fbcd-ef0123456789 (**)Элементы, содержащие значения для региона (region), организации (organization), сотрудника (person), подразделения (department), должности (post), вида документа (kind) грифа документа (classification) срочности документа (urgency) представляются в виде: собственно значения нормализованной строки (normalizedString, может содержать эскейпы {'|"|&|&gt|<}) длиной не более 511 символов; набора необязательных атрибутов: @id идентификатор (код) значения по БД источника (token), строка длиной не более 127 символов; @retro признак ретроспективы по БД источника (boolean); @modified дата последнего изменения значения в БД источника (dateTime)