Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Комментарий: Migration of unmigrated content due to installation of a new plugin

...

Метод

Назначение

Код: registerDocument
Наименование: Регистрация сведений об ЭМД

Предназначен для регистрации сведений об ЭМД в АЭМД

Код: searchRegistryItem
Наименование: Поиск записи в реестре

Предназначен для поиска записи реестра по метаописанию ЭМД

Код: getRegistryItem
Наименование: Запрос регистрационных сведений об ЭМД

Предназначен для получения сведений о регистрации ЭМД

Код: demandContent
Наименование: Запрос файла ЭМД из хранилища предоставляющей системы

Предназначен для получения файла ЭМД из АЭМД

Код: getMetadata
Наименование: Запрос метаописания ЭМД

Предназначен для получения метаописания ЭМД, зарегистрированного в АЭМД


Wiki разметка
В АЭМД предусмотрена проверка уникальности идентификатора документа в рамках всей подсистемы. Поэтому зарегистрировать несколько документов под одним и тем же идентификатором невозможно.
Генерация идентификаторов должна производиться согласно стандарту UUID (Universally Unique Identifier, RFC 4122). UUID — статистически уникальный 128-битный идентификатор. UUID представляет собой 16-байтный (128-битный) номер. Формат строки: \[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\}. Пример UUID: 550e8400-e29b-41d4-a716-446655440000. Рекомендации к генерации UUID также указаны в стандартах ITU-T Rec. X.667 и ISO/IEC 9834-8.
Для остальных передаваемых идентификаторов использование UUID является предпочтительным, но допускается использование идентификаторов других видов.
\\


Якорь
_Ref528589487
_Ref528589487
Якорь
_Toc111717668
_Toc111717668
Якорь
_Toc480985168
_Toc480985168
Якорь
_Ref481664156
_Ref481664156
Якорь
_Ref481664163
_Ref481664163
Якорь
_Toc482198783
_Toc482198783
Якорь
_Toc467236274
_Toc467236274
Описание транспортного заголовка АЭМД


Wiki разметка
Помимо самого тела запроса, каждое сообщение к сервису АЭМД должно содержать транспортный заголовок, сформированный по требованиям ИПС, описанным в разделе 3.4 документа «Методические материалы по подключению к Сервису ИПС» \[2\].
Также есть возможность передачи в сообщениях транспортного заголовка АЭМД. В транспортном заголовке АЭМД указывается идентификатор МО, от имени которой выполняется запрос к сервису АЭМД, а также код режима отладки.
Таким образом доступ к документам, предоставленный пациентом, учитывается при указании идентификатора МО в транспортном заголовке АЭМД при следующих сценариях:


  • поиск записей регистра, зарегистрированных другими ИС (см. раздел 2.2);
  • получение файла ЭМД запрашивающей ИС из АЭМД (см. раздел 2.4);
  • получение метаописания ЭМД, зарегистрированного другой ИС (см. раздел 2.5).

...

Якорь
_Ref507061247
_Ref507061247
Якорь
_Toc111717679
_Toc111717679
Формат файла документа PDF/A-1


Wiki разметка
Файл документа в электронном виде может иметь формат PDF/A-1, соответствующий международному стандарту ISO 19005-1:2005 «Управление документацией. Формат файлов электронных документов для долгосрочного сохранения. Часть 1: Использование формата PDF 1.4 (PDF/A-1)» – Document management - Electronic document file format for long-term preservation - Part 1: Use of PDF 1.4 (PDF/A-1) \[3\].
Текстовая часть должна включаться в документ формата PDF/A-1 в виде текстовых данных. Вставка текста в документ в виде изображения не допускается.


Якорь
_Ref513730337
_Ref513730337
Якорь
_Toc111717680
_Toc111717680
Формат файла документа XML


Wiki разметка
Файл документа в электронном виде может иметь формат XML. Структура регистрируемых документов должна соответствовать международному стандарту ISO/HL7 27932:2009 «Обмен данными - Архитектура клинических документов HL7, выпуск 2» – Data Exchange - HL7 Clinical Document Architecture, Release 2 \[4\].


Якорь
_Ref481571301
_Ref481571301
Якорь
_Ref481571303
_Ref481571303
Якорь
_Ref507061349
_Ref507061349
Якорь
_Toc111717681
_Toc111717681
Требования к электронной подписи


Wiki разметка
В соответствии с Федеральным законом № 63-ФЗ от 06.04.2011 «Об электронной подписи», электронные подписи, формируемые в рамках создания документов в электронном виде, должны соответствовать требованиям к усиленной квалифицированной электронной подписи. При создании ЭП должен использоваться формат CAdES (CMS Advanced Electronic Signatures) \[5\].
Для отладки разработок в тестовой среде допускается формирование электронных подписей неквалифицированными сертификатами ЭП (см. раздел 3.1).
В соответствии с Приказом Министерства связи и массовых коммуникаций РФ и Федеральной службы охраны РФ от 27 мая 2015 г. № 186/258 «Об утверждении Требований к организационно-техническому взаимодействию государственных органов и государственных организаций посредством обмена документами в электронном виде», ЭП сотрудников и организаций, создаваемые при подписи электронных документов, должны формироваться в отдельных файлах (каждой ЭП должен соответствовать отдельный файл), т.е. должны быть использованы варианты открепленной (отсоединенной) ЭП.
Электронные подписи должны формироваться с использованием следующих алгоритмов цифровой подписи:


  • ГОСТ Р 34.10-2001;
  • ГОСТ Р 34.10-2012.

...

<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:tns="http://egisz.rosminzdrav.ru/iehr/emdr/callback/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="http://egisz.rosminzdrav.ru" name="EmdrClientCallbackImplService" targetNamespace="http://egisz.rosminzdrav.ru/iehr/emdr/callback/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://egisz.rosminzdrav.ru/iehr/emdr/callback/" elementFormDefault="qualified" targetNamespace="http://egisz.rosminzdrav.ru/iehr/emdr/callback/" version="1.0">
<xs:element name="callbackResponse" type="tns:callbackResponse"/>
<xs:element name="getDocumentFileRequest" type="tns:getDocumentFileRequest"/>
<xs:element name="getDocumentFileResponse" type="tns:getDocumentFileResponse"/>
<xs:element name="registerDocumentResult" type="tns:registerDocumentResult"/>
<xs:element name="sendDocumentFileRequest" type="tns:sendDocumentFileRequest"/>
<xs:element name="sendNoticeRequest" type="tns:sendNoticeRequest"/>
<xs:complexType name="sendDocumentFileRequest">
<xs:sequence>
<xs:element name="relatesToMessage" type="xs:string"/>
<xs:element name="status" type="tns:responseStatus"/>
<xs:element minOccurs="0" name="file" type="tns:binaryData"/>
<xs:element minOccurs="0" name="errors" type="tns:errors"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="binaryData">
<xs:sequence>
<xs:element name="data" type="xs:base64Binary"/>
<xs:element name="checksum" type="xs:long"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="errors">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="item" type="tns:error"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="error">
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element minOccurs="0" name="message" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="callbackResponse">
<xs:sequence>
<xs:element name="status" type="tns:responseStatus"/>
<xs:element minOccurs="0" name="errors" type="tns:errors"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="registerDocumentResult">
<xs:sequence>
<xs:element name="relatesToMessage" type="xs:string"/>
<xs:element name="status" type="tns:responseStatus"/>
<xs:element minOccurs="0" name="registryItem" type="tns:registryItem"/>
<xs:element minOccurs="0" name="errors" type="tns:errors"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="registryItem">
<xs:sequence>
<xs:element name="emdrId" type="xs:string"/>
<xs:element minOccurs="0" name="documentVersion" type="xs:int"/>
<xs:element name="registrationDate" type="xs:dateTime"/>
<xs:element name="registrationDateTime" type="xs:dateTime"/>
<xs:element name="storeTillDate" nillable="true" type="xs:date"/>
<xs:element minOccurs="0" name="registrationWarnings" type="tns:registrationWarnings"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="registrationWarnings">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="item" type="tns:registrationWarning"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="registrationWarning">
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element minOccurs="0" name="message" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sendNoticeRequest">
<xs:sequence>
<xs:element name="initiatingOrg" type="xs:string"/>
<xs:element name="document" type="tns:document"/>
<xs:element name="isNewDoc" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="association" nillable="true" type="tns:association"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="document">
<xs:sequence>
<xs:element name="docKind" type="xs:string"/>
<xs:element name="emdrId" type="xs:string"/>
<xs:element minOccurs="0" name="version" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="association">
<xs:sequence>
<xs:element name="type" type="tns:associationType"/>
<xs:element name="target" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="getDocumentFileRequest">
<xs:sequence>
<xs:element name="system" type="xs:string"/>
<xs:element name="organization" type="xs:string"/>
<xs:element name="localUid" type="xs:string"/>
<xs:element name="kind" type="xs:string"/>
<xs:element name="documentNumber" type="xs:string"/>
<xs:element name="creationDate" type="xs:date"/>
<xs:element name="creationDateTime" type="xs:dateTime"/>
<xs:element minOccurs="0" name="emdrId" type="xs:string"/>
<xs:element minOccurs="0" name="documentVersion" type="xs:int"/>
<xs:element name="registrationDate" type="xs:dateTime"/>
<xs:element name="registrationDateTime" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="getDocumentFileResponse">
<xs:sequence>
<xs:element name="status" type="tns:responseStatus"/>
<xs:element minOccurs="0" name="documentFile" type="tns:documentFile"/>
<xs:element minOccurs="0" name="errors" type="tns:errors"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="documentFile">
<xs:sequence>
<xs:element name="system" type="xs:string"/>
<xs:element name="organization" type="xs:string"/>
<xs:element name="localUid" type="xs:string"/>
<xs:element name="file" type="tns:binaryData"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="responseStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="success"/>
<xs:enumeration value="error"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="associationType">
<xs:restriction base="xs:string">
<xs:enumeration value="RELATES_TO"/>
<xs:enumeration value="INCLUDED_IN"/>
<xs:enumeration value="INCLUDES"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://egisz.rosminzdrav.ru" elementFormDefault="qualified" targetNamespace="http://egisz.rosminzdrav.ru" version="1.0">
<xs:element name="transportHeader">
<xs:complexType>
<xs:sequence>
<xs:element name="authInfo" type="tns:authInfo"/>
<xs:element minOccurs="0" name="userInfo" type="tns:userInfo"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="authInfo">
<xs:sequence>
<xs:element minOccurs="0" name="userSession" type="xs:string"/>
<xs:element name="clientEntityId" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="userInfo">
<xs:sequence>
<xs:element name="userId" type="xs:string"/>
<xs:element name="lastName" type="xs:string"/>
<xs:element name="firstName" type="xs:string"/>
<xs:element name="middleName" type="xs:string"/>
<xs:element name="role" type="tns:property"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="medOrg" nillable="true" type="tns:organization"/>
<xs:element minOccurs="0" name="region" type="tns:property"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="education" nillable="true" type="tns:education"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="property">
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="organization">
<xs:sequence>
<xs:element name="id" type="tns:property"/>
<xs:element name="type" type="tns:property"/>
<xs:element minOccurs="0" name="positionType" type="tns:property"/>
<xs:element minOccurs="0" name="position" type="tns:property"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="education">
<xs:sequence>
<xs:element name="type" type="tns:property"/>
<xs:element name="speciality" type="tns:property"/>
<xs:element minOccurs="0" name="diplomType" type="tns:property"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="sendRegisterDocumentResult">
<wsdl:part element="ns1:transportHeader" name="header"> </wsdl:part>
<wsdl:part element="tns:registerDocumentResult" name="body"> </wsdl:part>
</wsdl:message>
<wsdl:message name="sendDocumentFileResponse">
<wsdl:part element="tns:callbackResponse" name="body"> </wsdl:part>
</wsdl:message>
<wsdl:message name="sendNotice">
<wsdl:part element="ns1:transportHeader" name="header"> </wsdl:part>
<wsdl:part element="tns:sendNoticeRequest" name="body"> </wsdl:part>
</wsdl:message>
<wsdl:message name="getDocumentFileResponse">
<wsdl:part element="tns:getDocumentFileResponse" name="body"> </wsdl:part>
</wsdl:message>
<wsdl:message name="sendDocumentFile">
<wsdl:part element="ns1:transportHeader" name="header"> </wsdl:part>
<wsdl:part element="tns:sendDocumentFileRequest" name="body"> </wsdl:part>
</wsdl:message>
<wsdl:message name="sendNoticeResponse">
<wsdl:part element="tns:callbackResponse" name="body"> </wsdl:part>
</wsdl:message>
<wsdl:message name="sendRegisterDocumentResultResponse">
<wsdl:part element="tns:callbackResponse" name="body"> </wsdl:part>
</wsdl:message>
<wsdl:message name="getDocumentFile">
<wsdl:part element="ns1:transportHeader" name="header"> </wsdl:part>
<wsdl:part element="tns:getDocumentFileRequest" name="body"> </wsdl:part>
</wsdl:message>
<wsdl:portType name="emdrClientCallbackPort">
<wsdl:operation name="sendDocumentFile">
<wsdl:input message="tns:sendDocumentFile" name="sendDocumentFile"> </wsdl:input>
<wsdl:output message="tns:sendDocumentFileResponse" name="sendDocumentFileResponse"> </wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendRegisterDocumentResult">
<wsdl:input message="tns:sendRegisterDocumentResult" name="sendRegisterDocumentResult"> </wsdl:input>
<wsdl:output message="tns:sendRegisterDocumentResultResponse" name="sendRegisterDocumentResultResponse"> </wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendNotice">
<wsdl:input message="tns:sendNotice" name="sendNotice"> </wsdl:input>
<wsdl:output message="tns:sendNoticeResponse" name="sendNoticeResponse"> </wsdl:output>
</wsdl:operation>
<wsdl:operation name="getDocumentFile">
<wsdl:input message="tns:getDocumentFile" name="getDocumentFile"> </wsdl:input>
<wsdl:output message="tns:getDocumentFileResponse" name="getDocumentFileResponse"> </wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="EmdrClientCallbackImplServiceSoapBinding" type="tns:emdrClientCallbackPort">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsaw:UsingAddressing xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsdl:required="true"/>
<wsp:PolicyReference URI="#EmdrClientCallbackImplServiceSoapBinding_WSAM_Addressing_Policy"/>
<wsdl:operation name="sendDocumentFile">
<soap12:operation soapAction="sendDocumentFile" style="document"/>
<wsdl:input name="sendDocumentFile">
<soap12:header message="tns:sendDocumentFile" part="header" use="literal"> </soap12:header>
<soap12:body parts="body" use="literal"/>
</wsdl:input>
<wsdl:output name="sendDocumentFileResponse">
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendRegisterDocumentResult">
<soap12:operation soapAction="sendRegisterDocumentResult" style="document"/>
<wsdl:input name="sendRegisterDocumentResult">
<soap12:header message="tns:sendRegisterDocumentResult" part="header" use="literal"> </soap12:header>
<soap12:body parts="body" use="literal"/>
</wsdl:input>
<wsdl:output name="sendRegisterDocumentResultResponse">
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sendNotice">
<soap12:operation soapAction="sendNotice" style="document"/>
<wsdl:input name="sendNotice">
<soap12:header message="tns:sendNotice" part="header" use="literal"> </soap12:header>
<soap12:body parts="body" use="literal"/>
</wsdl:input>
<wsdl:output name="sendNoticeResponse">
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getDocumentFile">
<soap12:operation soapAction="getDocumentFile" style="document"/>
<wsdl:input name="getDocumentFile">
<soap12:header message="tns:getDocumentFile" part="header" use="literal"> </soap12:header>
<soap12:body parts="body" use="literal"/>
</wsdl:input>
<wsdl:output name="getDocumentFileResponse">
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="EmdrClientCallbackImplService">
<wsdl:port binding="tns:EmdrClientCallbackImplServiceSoapBinding" name="emdrClientCallbackPort">
<soap12:address location="https://ips-test.rosminzdrav.ru/dwBSaIkPLSwor"/>
</wsdl:port>
</wsdl:service>
<wsp:Policy xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="EmdrClientCallbackImplServiceSoapBinding_WSAM_Addressing_Policy">
<wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
<wsp:Policy/>
</wsam:Addressing>
</wsp:Policy>
</wsdl:definitions>


Wiki разметка
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="a2f3a5d9-2f78-4183-890c-6b619b71b3f6"><ac:parameter ac:name="">_Ref470097743</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="ce3aa9f2-4917-408b-a967-0fffac06c934"><ac:parameter ac:name="">_Ref375306643</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="f2c93211-696d-4858-b508-05c316fad7d3"><ac:parameter ac:name="">_Toc385509617</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="bc4d70ef-f76e-451c-8aad-82ea803d2756"><ac:parameter ac:name="">_Toc467236282</ac:parameter></ac:structured-macro>\\
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="91e50856-658b-4fac-8be2-e208e51acdc1"><ac:parameter ac:name="">_Toc111717685</ac:parameter></ac:structured-macro><ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="9cf323df-ff2e-4ecb-a7f1-e54031d1dc37"><ac:parameter ac:name="">_Ref503341485</ac:parameter></ac:structured-macro>\\
(обязательное)
*Примеры вызова веб-сервиса обмена сведениями об ЭМД*
Из примеров запросов и ответов исключены файлы подписей, а также их контрольные суммы, так как они занимают много места и отрицательно сказываются на восприятии. Пример файла документа и файла подписи к нему приведены в документе «Приложение к документу «Рекомендации к информационным системам в сфере здравоохранения по обеспечению информационного взаимодействия» \[6\].


Якорь
_Toc482198805
_Toc482198805
Якорь
_Toc111717686
_Toc111717686
Метод «registerDocument»

...