Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import xml.dom.minidom
- from register.models import RegisterMedicalOrganizations, RegisterMedicalInsurance
- from datetime import datetime
- ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
- register_of_medical_organizations_of_the_russian_federation_arr = {
- 'id' : 'Уникальный идентификатор',
- 'oid': 'OID',
- 'oldOid' : 'OID(неактуальный)',
- 'nameFull' : 'Полное наименование',
- 'nameShort' : 'Сокращенное наименование',
- 'parentId' : 'Уникальный идентификатор родительской организации',
- 'medicalSubjectId' : 'Код субъекта системы здравоохранения',
- 'medicalSubjectName' : 'Наименование субъекта системы здравоохранения',
- 'inn' : 'ИНН',
- 'kpp' : 'КПП',
- 'ogrn' : 'ОГРН',
- 'regionId' : 'Код региона РФ',
- 'regionName' : 'Наименование региона РФ',
- 'organizationType' : 'Форма собственности',
- 'moDeptId' : 'Идентификатор ведомственной принадлежности',
- 'moDeptName' : 'Ведомственная принадлежность',
- 'founder' : 'Учредитель',
- 'deleteDate' : 'Дата удаления записи',
- 'deleteReason' : 'Причина удаления записи',
- 'createDate' : 'Дата создания записи',
- 'modifyDate' : 'Дата последнего изменения записи',
- 'moLevel' : 'Уровень организации',
- 'moAgencyKindId' : 'Идентификатор вида деятельности',
- 'moAgencyKind' : 'Вид деятельности',
- 'profileAgencyKindId' : 'Идентификатор профиля деятельности',
- 'profileAgencyKind' : 'Профиль деятельности',
- 'postIndex' : 'Почтовый индекс',
- 'cadastralNumber' : 'Кадастровый номер',
- 'latitude' : 'Широта',
- 'longtitude' : 'Долгота',
- 'fiasVersion' : 'Версия ФИАС',
- 'aoidArea' : 'Идентификатор населенного пункта',
- 'aoidStreet' : 'Идентификатор улицы',
- 'houseid' : 'Идентификатор дома',
- 'addrRegionId' : 'Код региона',
- 'addrRegionName' : 'Наименование региона',
- 'territoryCode' : 'Код региона по ОКАТО',
- 'isFederalCity' : 'Город федерального значения',
- 'areaName' : 'Наименование населенного пункта',
- 'prefixArea' : 'Префикс населенного пункта',
- 'streetName' : 'Наименование улицы',
- 'prefixStreet' : 'Префикс улицы',
- 'house' : 'Номер дома',
- 'building' : 'Номер строения',
- 'struct' : 'Номер корпуса',
- 'parentOspOid' : 'OID головной организации для СП-1',
- 'ospOid' : 'OID СП-1',
- 'childrenOspOid' : 'OID СП-1, дочерних для организации',
- }
- register_of_medical_insurance_organizations_arr = {
- 'ID' : 'ID',
- 'SMOCOD' : 'Код СМО в едином реестре ОМС',
- 'OGRN' : 'ОГРН',
- 'KPP' : 'КПП',
- 'NAM_SMOP' : 'Полное наименование СМО',
- 'NAM_SMOK' : 'Краткое наименование СМО',
- 'ADDR_F' : 'Фактический адрес, заданный в строку',
- 'FAM_RUK' : 'Фамилия руководителя',
- 'IM_RUK' : 'Имя руководителя',
- 'OT_RUK' : 'Отчество руководителя',
- 'PHONE' : 'Телефон (с кодом города)',
- 'FAX' : 'Факс (с кодом города)',
- 'HOT_LINE' : 'Телефон «горячей линии» СМО',
- 'E_MAIL' : 'Адрес электронной почты',
- 'N_DOC' : 'Номер лицензии СМО',
- 'D_START' : 'Дата выдачи лицензии СМО',
- 'DATE_E' : 'Дата окончания действия лицензии СМО',
- 'D_BEGIN' : 'Дата включения в реестр СМО',
- 'D_END' : 'Дата исключения из реестра СМО',
- }
- def register_of_medical_insurance_organizations():
- register_of_medical_organizations_document = os.path.join(ROOT_PATH, 'register_of_medical_insurance_organizations.xml')
- dom = xml.dom.minidom.parse(register_of_medical_organizations_document)
- dom.normalize()
- nodeArrays=dom.getElementsByTagName("entries")
- count = 0
- for nodeArray in nodeArrays[0].childNodes:
- childList=nodeArray
- count += 1
- _ = RegisterMedicalInsurance()
- for child in childList.childNodes:
- try:
- if child.nodeName != 'ID':
- if child.nodeName in ['D_START', 'DATE_E', 'D_BEGIN', 'D_END']:
- date = datetime.strptime(child.childNodes[0].nodeValue, '%d.%m.%Y').date()
- setattr(_, child.nodeName, date)
- else:
- setattr(_, child.nodeName, child.childNodes[0].nodeValue)
- except Exception as e:
- print(e)
- _.save()
- def register_of_medical_organizations():
- register_of_medical_organizations_document = os.path.join(ROOT_PATH, 'register_of_medical_organizations_of_the_russian_federation.xml')
- dom = xml.dom.minidom.parse(register_of_medical_organizations_document)
- dom.normalize()
- nodeArrays=dom.getElementsByTagName("entries")
- count = 0
- for nodeArray in nodeArrays[0].childNodes:
- childList=nodeArray
- count += 1
- _ = RegisterMedicalOrganizations()
- for child in childList.childNodes:
- try:
- if child.nodeName != 'id':
- if child.nodeName in ['deleteDate', 'createDate', 'modifyDate']:
- date = datetime.strptime(child.childNodes[0].nodeValue, '%d.%m.%Y').date()
- setattr(_, child.nodeName, date)
- else:
- setattr(_, child.nodeName, child.childNodes[0].nodeValue)
- except Exception as e:
- print(e)
- _.save()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement