Приложение № 2. Схема электронных сообщений

advertisement
Экз. № 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)
Download