{setPageSize('A5')} {setOrientation('P')} {setLeftMargin(15)} {setTopMargin(5)} {setBottomMargin(5)} {setRightMargin(10)} {: error_log = ''} {: Lnumber = ''} {: Lissuer = ''} {: Ldate = ''} {for: license in currentOrganisation.licenses} {:Lnumber = license.number} {:Lissuer = license.issuer} {:Ldate = license.issueDate} {end:} {: TYPE = ''} {: NOTICE = ''} {: DATEILL = ''} {: DATEOBR = ''} {: EVENTS = ''} {: DATESES = ''} {: TIMESES = ''} {: EXODUS = ''} {: EXODUSEND = ''} {: MEDPERSON = ''} {: LABDIAG = ''} {: HOSPITAL = ''} {: HOSPITALDATE = ''} {: INTOXICATIONPLACE = ''} {: INTOXICATION = ''} {: DATENEXT = ''} {: WHOGET = ''} {: DIAGDATE = ''} {for: prop in action} {if: prop.sectionCDA == 'TYPE'}{: TYPE = prop.value}{end:} {if: prop.sectionCDA == 'NOTICE'}{: NOTICE = prop.value}{end:} {if: prop.sectionCDA == 'DATEILL'}{: DATEILL = prop.value}{end:} {if: prop.sectionCDA == 'DATEOBR'}{: DATEOBR = prop.value}{end:} {if: prop.sectionCDA == 'EVENTS'}{: EVENTS = prop.value}{end:} {if: prop.sectionCDA == 'DATESES'}{: DATESES = prop.value}{end:} {if: prop.sectionCDA == 'TIMESES'}{: TIMESES = prop.value}{end:} {if: prop.sectionCDA == 'EXODUS'}{: EXODUS = prop.value}{end:} {if: prop.sectionCDA == 'EXODUSEND'}{: EXODUSEND = prop.value}{end:} {if: prop.sectionCDA == 'MEDPERSON'}{: MEDPERSON = prop.value}{end:} {if: prop.sectionCDA == 'LABDIAG'}{: LABDIAG = prop.value}{end:} {if: prop.sectionCDA == 'HOSPITAL'}{: HOSPITAL = prop.value}{end:} {if: prop.sectionCDA == 'HOSPITALDATE'}{: HOSPITALDATE = prop.value}{end:} {if: prop.sectionCDA == 'INTOXICATION'}{: INTOXICATION = prop.value}{end:} {if: prop.sectionCDA == 'INTOXICATIONPLACE'}{: INTOXICATIONPLACE = prop.value}{end:} {if: prop.sectionCDA == 'DATENEXT'}{: DATENEXT = prop.value}{end:} {if: prop.sectionCDA == 'WHOGET'}{: WHOGET = prop.value}{end:} {if: prop.sectionCDA == 'DIAGDATE'}{: DIAGDATE = prop.value}{end:} {end:} {: Diag = ''} {for: diagnosis in event.diagnosises} {if: diagnosis.type.code == '1'}{: Diag = diagnosis}{end:} {end:} {if: not client.SNILS}{: error_log = error_log + u'Не заполнен СНИЛС пациента
'}{end:} {if: TYPE==''}{: error_log = error_log + u'Не заполнено свойство "Тип документа"
'}{end:} {if: not action.person.SNILS}{: error_log = error_log + u'Не заполнен СНИЛС Исполнителя
'}{end:} {if: not action.person.post.identify('urn:oid:1.2.643.5.1.13.13.11.1002')}{: error_log = error_log + u'Отсутствует идентификация должности Исполнителя по справочнику 1.2.643.5.1.13.13.11.1002
'}{end:} {if: MEDPERSON} {if: not MEDPERSON.SNILS}{: error_log = error_log + u'Не заполнен СНИЛС мед. работника, сообщившего о случае
'}{end:} {if: not MEDPERSON.post.identify('urn:oid:1.2.643.5.1.13.13.11.1002')}{: error_log = error_log + u'Отсутствует идентификация должности мед. работника, сообщившего о случае, по справочнику 1.2.643.5.1.13.13.11.1002
'}{end:} {end:} {if: not Diag}{: error_log = error_log + u'Необходимо заполнить ЗАКЛЮЧИТЕЛЬНЫЙ ДИАГНОЗ в случае обслуживания
'} {elif: Diag and not Diag.MKB}{: error_log = error_log + u'Необходимо заполнить код МКБ ЗАКЛЮЧИТЕЛЬНОГО ДИАГНОЗА в случае обслуживания
'} {end:} {for: prop in action} {if: prop.penalty > 0 and prop.type not in ('String', 'Text', 'Constructor') and not prop.value} {: error_log = error_log + u'Не заполнено поле "' + prop.name + u'"
'} {end:} {if: prop.penalty > 0 and prop.type in ('String', 'Text', 'Constructor') and prop.value.replace(' ','') == ''} {: error_log = error_log + u'Не заполнено поле "' + prop.name + u'"
'} {end:} {end:} {if: error_log != ''} {: from PyQt4.QtGui import QMessageBox as mb} {mb.critical(None, u'Проверка заполнения данных', u'ВНИМАНИЕ!

' + error_log, mb.Ok, mb.Ok)} {exit(0)} {end:}
Код формы по ОКУД ___________________
Код учреждения по ОКПО {if: currentOrganisation.OKPO}{currentOrganisation.OKPO}{else:}______________{end:}
Минздрав РФ

Наименование учреждения
{currentOrganisation.shortName}
Медицинская документация
Форма N 058/У
Утв. Минздравом СССР
04.10.80 N 1030

Экстренное извещение
об инфекционном заболевании, пищевом, остром профессиональном
отравлении, необычной реакции на прививку

1. Диагноз: {Diag.MKB.code}. {Diag.MKB.descr}
Подтвержден лабораторно: {LABDIAG}
2. Фамилия, Имя, Отчество: {client.lastName} {client.firstName} {client.patrName} 3. Пол {client.sex}
4. Возраст (для детей до 14 лет - дата рождения): {if: client.age < 14}{client.birthDate}{else:}{client.age}{end:}
5. Адрес, населенный пункт {client.locAddress.city} район {client.locAddress.district} улица {client.locAddress.street} дом № {client.locAddress.number} квартира № {client.locAddress.flat}
6. Наименование и адрес места работы (учебы, детского учреждения): {client.work.shortName}
7. Даты:
   заболевания {DATEILL}
   первичного обращения (выявления) {DATEOBR}
   установления диагноза {DIAGDATE}
   последующего посещения детского учреждения, школы {DATENEXT}
   госпитализации {HOSPITALDATE}
8. Место госпитализации {HOSPITAL.title}
9. Если отравление - указать, где оно произошло, чем отравлен пострадавший {INTOXICATION} {INTOXICATIONPLACE}<
10. Проведенные первичные противоэпидемические мероприятия идополнительные сведения {EVENTS}
11. Дата и час первичной сигнализации (по телефону и пр.) в СЭС {DATESES} {TIMESES}
     Фамилия сообщившего {MEDPERSON.shortName}
     Кто принял сообщение {WHOGET}
12. Дата и час отсылки извещения {action.endDate}
Подпись пославшего извещение _______________________________
Регистрационный № ________________ в журнале ф. № ______________санэпидстанции.
Подпись получившего извещение _____________________________
{: from library.Utils import forceString} {: clientGlobalIdNetrika = readUrl("http://"+forceString(dbServerName)+"/extendedmse/api?fromtemplate=1&clientid="+forceString(client.id), timeout=50)} {: addSupplement('xml', '\n'.join(line for line in formatByTemplate('Emergency_Notice', 'CDA').split('\n') if line.strip() != '')) }