diff --git a/src/apps/esia/v1/router.py b/src/apps/esia/v1/router.py index eca32f1..d3d5f30 100644 --- a/src/apps/esia/v1/router.py +++ b/src/apps/esia/v1/router.py @@ -4,8 +4,6 @@ from logging import getLogger from fastapi import APIRouter from apps.esia.sign import get_url -from clients import clients as c -from shared import exceptions as e from shared.redis import client as cache from . import schema as s @@ -27,22 +25,24 @@ async def login(): @router.post('/callback') async def callback(code: str): - token = None - for i in range(3): - try: - token = await c.esia_api.access_token(code) - break - except Exception: - logger.warning( - 'Error occurred while accessing ESI API. Retrying...' - ) - if i == 2: - raise + # Commented for development purposes + # + # token = None + # for i in range(3): + # try: + # token = await c.esia_api.access_token(code) + # break + # except Exception: + # logger.warning( + # 'Error occurred while accessing ESI API. Retrying...' + # ) + # if i == 2: + # raise - if token is None: - raise e.BadRequestException + # if token is None: + # raise e.BadRequestException - await c.esia_api.get_user_info(token.access_token, token.id_token) + # await c.esia_api.get_user_info(token.access_token, token.id_token) access_token = secrets.token_urlsafe(32) cache.set(access_token, access_token) diff --git a/src/apps/users/v1/mock.py b/src/apps/users/v1/mock.py deleted file mode 100644 index 4be6392..0000000 --- a/src/apps/users/v1/mock.py +++ /dev/null @@ -1,1101 +0,0 @@ -specs = { - 'Specialities': [ - {'SpecialityID': '24', 'SpecialityName': 'Инфекционные болезни'}, - {'SpecialityID': '53', 'SpecialityName': 'Психиатрия-наркология'}, - {'SpecialityID': '92', 'SpecialityName': 'Эндокринология'}, - {'SpecialityID': '49', 'SpecialityName': 'Педиатрия'}, - {'SpecialityID': '81', 'SpecialityName': 'Ультразвуковая диагностика'}, - {'SpecialityID': '68', 'SpecialityName': 'Стоматология детская'}, - { - 'SpecialityID': '74', - 'SpecialityName': 'Судебно-психиатрическая экспертиза', - }, - { - 'SpecialityID': '221', - 'SpecialityName': 'Сестринское дело в педиатрии', - }, - {'SpecialityID': '215', 'SpecialityName': 'Лабораторная диагностика'}, - { - 'SpecialityID': '281', - 'SpecialityName': 'Реабилитационное сестринское дело', - }, - {'SpecialityID': '6', 'SpecialityName': 'Вирусология'}, - { - 'SpecialityID': '104', - 'SpecialityName': 'Физическая и реабилитационная медицина', - }, - {'SpecialityID': '64', 'SpecialityName': 'Сексология'}, - { - 'SpecialityID': '234', - 'SpecialityName': 'Судебно-медицинская экспертиза', - }, - { - 'SpecialityID': '75', - 'SpecialityName': 'Сурдология-оториноларингология', - }, - {'SpecialityID': '284', 'SpecialityName': 'Бактериология'}, - {'SpecialityID': '51', 'SpecialityName': 'Профпатология'}, - {'SpecialityID': '58', 'SpecialityName': 'Радиотерапия'}, - {'SpecialityID': '29', 'SpecialityName': 'Коммунальная гигиена'}, - { - 'SpecialityID': '34', - 'SpecialityName': 'Медико-социальная экспертиза', - }, - {'SpecialityID': '16', 'SpecialityName': 'Дезинфектология'}, - {'SpecialityID': '228', 'SpecialityName': 'Медицинский массаж'}, - {'SpecialityID': '47', 'SpecialityName': 'Паразитология'}, - {'SpecialityID': '78', 'SpecialityName': 'Торакальная хирургия'}, - {'SpecialityID': '40', 'SpecialityName': 'Общая гигиена'}, - {'SpecialityID': '38', 'SpecialityName': 'Нефрология'}, - {'SpecialityID': '28', 'SpecialityName': 'Колопроктология'}, - { - 'SpecialityID': '210', - 'SpecialityName': 'Эпидемиология (паразитология)', - }, - { - 'SpecialityID': '1', - 'SpecialityName': 'Авиационная и космическая медицина', - }, - {'SpecialityID': '18', 'SpecialityName': 'Детская кардиология'}, - { - 'SpecialityID': '96', - 'SpecialityName': 'Медико-профилактическое дело', - }, - {'SpecialityID': '8', 'SpecialityName': 'Гастроэнтерология'}, - {'SpecialityID': '37', 'SpecialityName': 'Неонатология'}, - {'SpecialityID': '94', 'SpecialityName': 'Эпидемиология'}, - {'SpecialityID': '79', 'SpecialityName': 'Травматология и ортопедия'}, - {'SpecialityID': '35', 'SpecialityName': 'Неврология'}, - {'SpecialityID': '48', 'SpecialityName': 'Патологическая анатомия'}, - {'SpecialityID': '45', 'SpecialityName': 'Оториноларингология'}, - {'SpecialityID': '19', 'SpecialityName': 'Детская онкология'}, - {'SpecialityID': '84', 'SpecialityName': 'Урология'}, - {'SpecialityID': '280', 'SpecialityName': 'Наркология'}, - {'SpecialityID': '55', 'SpecialityName': 'Пульмонология'}, - {'SpecialityID': '46', 'SpecialityName': 'Офтальмология'}, - {'SpecialityID': '43', 'SpecialityName': 'Ортодонтия'}, - {'SpecialityID': '62', 'SpecialityName': 'Рефлексотерапия'}, - {'SpecialityID': '44', 'SpecialityName': 'Остеопатия'}, - {'SpecialityID': '52', 'SpecialityName': 'Психиатрия'}, - { - 'SpecialityID': '39', - 'SpecialityName': 'Общая врачебная практика (семейная медицина)', - }, - {'SpecialityID': '80', 'SpecialityName': 'Трансфузиология'}, - {'SpecialityID': '22', 'SpecialityName': 'Детская эндокринология'}, - {'SpecialityID': '88', 'SpecialityName': 'Фтизиатрия'}, - {'SpecialityID': '87', 'SpecialityName': 'Физиотерапия'}, - {'SpecialityID': '36', 'SpecialityName': 'Нейрохирургия'}, - {'SpecialityID': '30', 'SpecialityName': 'Косметология'}, - {'SpecialityID': '23', 'SpecialityName': 'Диетология'}, - {'SpecialityID': '31', 'SpecialityName': 'Лабораторная генетика'}, - {'SpecialityID': '224', 'SpecialityName': 'Общая практика'}, - { - 'SpecialityID': '283', - 'SpecialityName': 'Скорая и неотложная помощь', - }, - { - 'SpecialityID': '70', - 'SpecialityName': 'Стоматология ортопедическая', - }, - { - 'SpecialityID': '26', - 'SpecialityName': 'Клиническая лабораторная диагностика', - }, - { - 'SpecialityID': '223', - 'SpecialityName': 'Анестезиология и реаниматология', - }, - {'SpecialityID': '72', 'SpecialityName': 'Стоматология хирургическая'}, - {'SpecialityID': '5', 'SpecialityName': 'Бактериология'}, - {'SpecialityID': '76', 'SpecialityName': 'Терапия'}, - {'SpecialityID': '95', 'SpecialityName': 'Лечебное дело'}, - {'SpecialityID': '91', 'SpecialityName': 'Челюстно-лицевая хирургия'}, - { - 'SpecialityID': '32', - 'SpecialityName': 'Лечебная физкультура и спортивная медицина', - }, - {'SpecialityID': '21', 'SpecialityName': 'Детская хирургия'}, - {'SpecialityID': '41', 'SpecialityName': 'Онкология'}, - { - 'SpecialityID': '65', - 'SpecialityName': 'Сердечно-сосудистая хирургия', - }, - {'SpecialityID': '50', 'SpecialityName': 'Пластическая хирургия'}, - {'SpecialityID': '59', 'SpecialityName': 'Ревматология'}, - {'SpecialityID': '231', 'SpecialityName': 'Диетология'}, - {'SpecialityID': '90', 'SpecialityName': 'Хирургия'}, - {'SpecialityID': '101', 'SpecialityName': 'Фармация'}, - { - 'SpecialityID': '63', - 'SpecialityName': 'Санитарно-гигиенические лабораторные исследования', # noqa: E501 - }, - {'SpecialityID': '17', 'SpecialityName': 'Дерматовенерология'}, - { - 'SpecialityID': '208', - 'SpecialityName': 'Стоматология (средний медперсонал)', - }, - {'SpecialityID': '11', 'SpecialityName': 'Гериатрия'}, - { - 'SpecialityID': '226', - 'SpecialityName': 'Функциональная диагностика', - }, - {'SpecialityID': '227', 'SpecialityName': 'Физиотерапия'}, - { - 'SpecialityID': '73', - 'SpecialityName': 'Судебно-медицинская экспертиза', - }, - {'SpecialityID': '93', 'SpecialityName': 'Эндоскопия'}, - { - 'SpecialityID': '69', - 'SpecialityName': 'Стоматология общей практики', - }, - {'SpecialityID': '213', 'SpecialityName': 'Гигиеническое воспитание'}, - {'SpecialityID': '14', 'SpecialityName': 'Гигиена труда'}, - {'SpecialityID': '60', 'SpecialityName': 'Рентгенология'}, - {'SpecialityID': '89', 'SpecialityName': 'Функциональная диагностика'}, - {'SpecialityID': '66', 'SpecialityName': 'Скорая медицинская помощь'}, - { - 'SpecialityID': '209', - 'SpecialityName': 'Стоматология ортопедическая', - }, - { - 'SpecialityID': '20', - 'SpecialityName': 'Детская урология-андрология', - }, - {'SpecialityID': '7', 'SpecialityName': 'Водолазная медицина'}, - {'SpecialityID': '13', 'SpecialityName': 'Гигиена питания'}, - {'SpecialityID': '3', 'SpecialityName': 'Аллергология и иммунология'}, - { - 'SpecialityID': '71', - 'SpecialityName': 'Стоматология терапевтическая', - }, - {'SpecialityID': '25', 'SpecialityName': 'Кардиология'}, - {'SpecialityID': '54', 'SpecialityName': 'Психотерапия'}, - { - 'SpecialityID': '102', - 'SpecialityName': 'Детская онкология-гематология', - }, - {'SpecialityID': '56', 'SpecialityName': 'Радиационная гигиена'}, - {'SpecialityID': '77', 'SpecialityName': 'Токсикология'}, - {'SpecialityID': '219', 'SpecialityName': 'Сестринское дело'}, - {'SpecialityID': '12', 'SpecialityName': 'Гигиена детей и подростков'}, - { - 'SpecialityID': '207', - 'SpecialityName': 'Акушерское дело (средний медперсонал)', - }, - {'SpecialityID': '9', 'SpecialityName': 'Гематология'}, - { - 'SpecialityID': '206', - 'SpecialityName': 'Лечебное дело (средний медперсонал)', - }, - {'SpecialityID': '27', 'SpecialityName': 'Клиническая фармакология'}, - {'SpecialityID': '15', 'SpecialityName': 'Гигиеническое воспитание'}, - { - 'SpecialityID': '61', - 'SpecialityName': 'Рентгенэндоваскулярные диагностика и лечение', - }, - {'SpecialityID': '217', 'SpecialityName': 'Лабораторное дело'}, - {'SpecialityID': '33', 'SpecialityName': 'Мануальная терапия'}, - {'SpecialityID': '222', 'SpecialityName': 'Операционное дело'}, - {'SpecialityID': '10', 'SpecialityName': 'Генетика'}, - { - 'SpecialityID': '4', - 'SpecialityName': 'Анестезиология-реаниматология', - }, - {'SpecialityID': '57', 'SpecialityName': 'Радиология'}, - { - 'SpecialityID': '233', - 'SpecialityName': 'Стоматология профилактическая', - }, - {'SpecialityID': '230', 'SpecialityName': 'Лечебная физкультура'}, - {'SpecialityID': '2', 'SpecialityName': 'Акушерство и гинекология'}, - ] -} -findpat = [ - { - 'patients': [ - { - 'id': '3c963d68-14e5-4a43-ab15-1d2d19b76398', - 'SNILS': '191-815-870 98', - 'lastName': 'Махарадзе', - 'firstName': 'Ильназ', - 'middleName': 'Рустэмович', - 'birthDate': '1956-03-26', - 'gender': 'М', - 'docType': 'Свид. о рожд. РФ', - 'docSet': 'III-КБ', - 'docNum': '863865', - 'polNum': '1688489725000170', - 'address1': 'Татарстан, Лаишевский р-н, с Среднее Девятово, ул.Новостройка, д.9', # noqa: E501 - } - ] - }, - { - 'patients': [ - { - 'id': 'e7b8456e-73c2-4723-8e4e-4f275546ea97', - 'SNILS': '056-547-820 87', - 'lastName': 'Ахатов', - 'firstName': 'Радик', - 'middleName': 'Иванович', - 'birthDate': '1948-12-11', - 'gender': 'М', - 'docType': 'Паспорт РФ', - 'docSet': '92 10', - 'docNum': '190402', - 'polNum': '1650230848000380', - 'address1': '92228000010 ул. д.0 кв.0', - } - ] - }, -] -profile = [ - { - 'id': '3c963d68-14e5-4a43-ab15-1d2d19b76398', - 'SNILS': '191-815-870 98', - 'lastName': 'Махарадзе', - 'firstName': 'Ильназ', - 'middleName': 'Рустэмович', - 'birthDate': '1956-03-26', - 'gender': 'М', - 'docType': 'Свидетельство о рождении, выданное в РФ', - 'docSet': 'III-КБ', - 'docNum': '863865', - 'addressReal': 'Татарстан, Лаишевский р-н, с Среднее Девятово, ул.Новостройка, д.9', # noqa: E501 - }, - { - 'id': 'e7b8456e-73c2-4723-8e4e-4f275546ea97', - 'SNILS': '056-547-820 87', - 'lastName': 'Ахатов', - 'firstName': 'Радик', - 'middleName': 'Иванович', - 'birthDate': '1948-12-11', - 'gender': 'М', - 'docType': 'Паспорт гражданина РФ', - 'docSet': '92 10', - 'docNum': '190402', - 'addressReal': '92228000010 ул. д.0 кв.0', - }, -] -vacs = [ - { - 'error': 'a268e6d7-618c-4b83-97ca-c9dc8b79b55b', - 'Routes': [ - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-2414:49', - 'Name': 'Кардиолог [1259]', - 'Place': 'Каб.№211 Шайдуллина Г.И. (Кардиолог)', - 'ResultExits': '1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1716:06', - 'Name': 'Общий анализ крови [B03.016.002]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Ультразвуковое исследование лимфатических узлов (одна анатомическая зона) [A04.06.002]', # noqa: E501 - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Компьютерная томография головного мозга [A06.23.004]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Общий (клинический) анализ крови [B03.016.002]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Компьютерная томография головного мозга [A06.23.004]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Терапевт [1231]', - 'Place': None, - 'ResultExits': '1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-3114:50', - 'Name': 'Кардиолог [1260]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - ], - }, - { - 'error': 'a268e6d7-618c-4b83-97ca-c9dc8b79b55b', - 'Routes': [ - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-2414:49', - 'Name': 'Кардиолог [1259]', - 'Place': 'Каб.№211 Шайдуллина Г.И. (Кардиолог)', - 'ResultExits': '1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1716:06', - 'Name': 'Общий анализ крови [B03.016.002]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Ультразвуковое исследование лимфатических узлов (одна анатомическая зона) [A04.06.002]', # noqa: E501 - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Компьютерная томография головного мозга [A06.23.004]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Общий (клинический) анализ крови [B03.016.002]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Компьютерная томография головного мозга [A06.23.004]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Терапевт [1231]', - 'Place': None, - 'ResultExits': '1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-3114:50', - 'Name': 'Кардиолог [1260]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - ], - }, -] -hosps = { - 'Hospitalizations': [ - { - 'EventID': 'ce742cd4-d803-4cfc-afc8-99070f0af792', - 'CreationDateTime': '2025-04-04 10:16', - 'CloseDate': '', - 'ReceptionDiagnosis': None, - 'HospitalizationType': None, - 'HospitalizationReason': None, - 'Division': None, - 'LpuName': 'ГАУЗ Азнакаевская ЦРБ', - }, - { - 'EventID': 'b79a37b4-e99b-43c9-9948-a89a8251b712', - 'CreationDateTime': '2023-06-15 12:13', - 'CloseDate': '', - 'ReceptionDiagnosis': None, - 'HospitalizationType': None, - 'HospitalizationReason': None, - 'Division': None, - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - ] -} -elns = [ - { - 'error': '191-815-870 98', - 'ELNs': [ - { - 'Number': '910009279388', - 'OpenDate': '2019-07-23', - 'ProlongationDate': '2019-08-02', - 'DateClose': '2019-08-02', - 'DaysCount': 11, - 'Cause': 'Уход за больным членом семьи', - 'Prolongations': [ - { - 'StartDate': '2019-07-23', - 'ProlongationDate': '2019-07-26', - 'Post': 'Алукаева А.Ф. (Педиатр участковый)', - }, - { - 'StartDate': '2019-07-27', - 'ProlongationDate': '2019-07-30', - 'Post': 'Алукаева А.Ф. (Педиатр участковый)', - }, - { - 'StartDate': '2019-07-31', - 'ProlongationDate': '2019-08-02', - 'Post': 'Алукаева А.Ф. (Педиатр участковый)', - }, - ], - 'LpuName': 'ГАУЗ Новошешминская ЦРБ', - 'BranchAddress': 'Республика Татарстан,с.Новошешминск, ул.Майская, д.8', # noqa: E501 - 'FssLnStatus': '30', - 'SentSNILS': '10690452241', - }, - { - 'Number': '910009673922', - 'OpenDate': '2019-08-02', - 'ProlongationDate': '2019-08-05', - 'DateClose': '', - 'DaysCount': 4, - 'Cause': 'Уход за больным членом семьи', - 'Prolongations': [ - { - 'StartDate': '2019-08-03', - 'ProlongationDate': '2019-08-05', - 'Post': 'Алукаева А.Ф. (Педиатр участковый)', - } - ], - 'LpuName': 'ГАУЗ Новошешминская ЦРБ', - 'BranchAddress': 'Республика Татарстан,с.Новошешминск, ул.Майская, д.8', # noqa: E501 - 'FssLnStatus': '10', - 'SentSNILS': '10690452241', - }, - { - 'Number': '910008411090', - 'OpenDate': '2019-06-26', - 'ProlongationDate': '2019-06-29', - 'DateClose': '2019-06-29', - 'DaysCount': 4, - 'Cause': 'Уход за больным членом семьи', - 'Prolongations': [ - { - 'StartDate': '2019-06-26', - 'ProlongationDate': '2019-06-29', - 'Post': 'Алукаева А.Ф. (Педиатр участковый)', - } - ], - 'LpuName': 'ГАУЗ Новошешминская ЦРБ', - 'BranchAddress': 'Республика Татарстан,с.Новошешминск, ул.Майская, д.8', # noqa: E501 - 'FssLnStatus': '30', - 'SentSNILS': '10690452241', - }, - ], - }, - {'error': '056-547-820 87'}, -] -diagnosticResults = { - 'DainosticsResults': [ - { - 'DiagResultID': '1407910a-1901-4b21-be2d-0ef89041f4fe', - 'ContainsFile': 0, - 'PostingDate': '2025-05-06', - 'MedServiceCode': 'A12.05.004.002', - 'MedServiceName': 'Проба на совместимость перед переливанием эритроцитов по неполным антителам (IgG)', # noqa: E501 - 'PostName': 'Сиразиева Г.Р.', - 'PostSpec': 'Терапевт', - 'LpuName': 'ГАУЗ "ГКБ №7"', - 'EventID': '36cf2c90-fdad-4961-899c-652c5e0817a9', - }, - { - 'DiagResultID': 'd157947d-a4fc-4b04-844a-a0bf7d4b831b', - 'ContainsFile': 0, - 'PostingDate': '2025-05-06', - 'MedServiceCode': 'A12.05.005', - 'MedServiceName': 'Определение основных групп по системе AB0', - 'PostName': 'Сиразиева Г.Р.', - 'PostSpec': 'Терапевт', - 'LpuName': 'ГАУЗ "ГКБ №7"', - 'EventID': '36cf2c90-fdad-4961-899c-652c5e0817a9', - }, - ] -} -currHosp = [ - { - 'Hospitalizations': [ - { - 'EventID': 'b8227793-0f40-40f0-b8aa-9fc00cc13b96', - 'CreationDateTime': '2025-07-21 17:49', - 'ReceptionDiagnosis': 'Z00.0 | Общий медицинский осмотр', - 'Diagnosis': 'Z00.0 | Общий медицинский осмотр', - 'HospitalizationType': 'плановая', - 'HospitalizationReason': 'заболевание', - 'Division': 'Кардиология №1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - 'Exams': [ - { - 'ExaminationDate': '22.07.2025', - 'ExaminationTime': '08:50', - 'Status': '', - 'Post': 'Изотова Г.М. (Сердечно-сосудистый хирург)', - 'MedicalExaminationType': 'Дневниковая запись', - }, - { - 'ExaminationDate': '22.07.2025', - 'ExaminationTime': '08:40', - 'Status': '', - 'Post': 'Изотова Г.М. (Сердечно-сосудистый хирург)', - 'MedicalExaminationType': 'Дневниковая запись', - 'HospDestinations': [ - { - 'Signa': 'Массаж Длительность: 25 мин.Область воздействия: Шея. \r\nПосле еды 1 раз через день в 11:00. Повторять 3 дня. Назначил:Изотова Г.М. (Сердечно-сосудистый хирург)' # noqa: E501 - } - ], - }, - { - 'ExaminationDate': '22.07.2025', - 'ExaminationTime': '08:39', - 'Status': 'Удовлетворительное', - 'Post': 'Шайдуллина Г.И. (Кардиолог)', - 'MedicalExaminationType': 'Осмотр врача-консультанта', - }, - { - 'ExaminationDate': '21.07.2025', - 'ExaminationTime': '17:55', - 'Status': 'Удовлетворительное', - 'Post': 'Изотова Г.М. (Сердечно-сосудистый хирург)', - 'MedicalExaminationType': 'Осмотр врача в отделении', - 'RoutesToDiagnostic': [ - { - 'RouteDate': '21.07.2025', - 'ResearchCode': 'И10', - 'ResearchName': 'Билирубин общий', - }, - { - 'RouteDate': '21.07.2025', - 'ResearchCode': 'A04.10.002', - 'ResearchName': 'Узи сердца', - }, - { - 'RouteDate': '21.07.2025', - 'ResearchCode': '14.1.A8.900', - 'ResearchName': '*Посев на гемофильную палочку (Haemophylus influenzae) с определением чувствительности к антибиотикам', # noqa: E501 - }, - { - 'RouteDate': '21.07.2025', - 'ResearchCode': 'A04.20.002', - 'ResearchName': 'УЗИ молочных желез', - }, - { - 'RouteDate': '21.07.2025', - 'ResearchCode': 'B03.016.010', - 'ResearchName': 'Общий анализ кала ', - }, - ], - 'RoutesToDoctor': [ - { - 'RouteDate': '21.07.2025', - 'SpecialityCode': '013', - 'SpecialityName': 'Кардиолог', - } - ], - 'HospDestinations': [ - { - 'Signa': 'Ацетилсалициловая кислота табл. шип. 500 мг x 1 доза по 1 дозе по 1 дозе. \r\nВнутрь (перорально) (до еды) 1 раз в 08:00. Повторять 2 дня. Назначил:Изотова Г.М. (Сердечно-сосудистый хирург)' # noqa: E501 - } - ], - }, - ], - 'Operations': [ - { - 'RouteDate': '22.07.2025', - 'OperName': 'Альбуминовый диализ', - 'OperStatus': 'В плане', - }, - { - 'RouteDate': '22.07.2025', - 'OperName': 'Остеопластика', - 'OperStatus': 'Завершена', - }, - ], - } - ] - }, - {'error': 'Пациент не госпитализирован!'}, -] -patFLG = [ - { - 'id': '3c963d68-14e5-4a43-ab15-1d2d19b76398', - 'SNILS': '191-815-870 98', - 'LastFgDate': '', - 'NextPrgDate': '', - 'PrgContingent': None, - }, - { - 'id': '0bf2e271-e565-42a8-924e-0017bcdedecd', - 'SNILS': '127-192-834 66', - 'LastFgDate': '2020-09-24', - 'NextPrgDate': '2021-09-24', - 'PrgContingent': 'Неорганизованное население', - }, -] -entries = [ - { - 'Entries': [ - { - 'DateTime': '2025-09-19 19:40', - 'TicketType': 'Первичный', - 'EntryPlace': 'Регистратура', - 'EntryType': 'Запись на прием к врачу', - 'Place': '6', - 'ResourceName': 'Сиразетдинов Рамзис Халафутдинович', - 'Speciality': 'Врач общей практики (семейный врач)', - 'Branch': 'Главное здание', - 'LpuName': 'ГАУЗ Азнакаевская ЦРБ', - } - ] - } -] -routesList = [ - { - 'error': 'a268e6d7-618c-4b83-97ca-c9dc8b79b55b', - 'Routes': [ - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-2414:49', - 'Name': 'Кардиолог [1259]', - 'Place': 'Каб.№211 Шайдуллина Г.И. (Кардиолог)', - 'ResultExits': '1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1716:06', - 'Name': 'Общий анализ крови [B03.016.002]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Ультразвуковое исследование лимфатических узлов (одна анатомическая зона) [A04.06.002]', # noqa: E501 - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Компьютерная томография головного мозга [A06.23.004]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Общий (клинический) анализ крови [B03.016.002]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Компьютерная томография головного мозга [A06.23.004]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Терапевт [1231]', - 'Place': None, - 'ResultExits': '1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-3114:50', - 'Name': 'Кардиолог [1260]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - ], - }, - { - 'error': 'a268e6d7-618c-4b83-97ca-c9dc8b79b55b', - 'Routes': [ - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-2414:49', - 'Name': 'Кардиолог [1259]', - 'Place': 'Каб.№211 Шайдуллина Г.И. (Кардиолог)', - 'ResultExits': '1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1716:06', - 'Name': 'Общий анализ крови [B03.016.002]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Ультразвуковое исследование лимфатических узлов (одна анатомическая зона) [A04.06.002]', # noqa: E501 - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Компьютерная томография головного мозга [A06.23.004]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Общий (клинический) анализ крови [B03.016.002]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DIAGNOSTICS', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Компьютерная томография головного мозга [A06.23.004]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-1711:41', - 'Name': 'Терапевт [1231]', - 'Place': None, - 'ResultExits': '1', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - { - 'Type': 'ROUTE_TO_DOCTOR_INSPECTION', - 'CreationDateTime': '2025-03-3114:50', - 'Name': 'Кардиолог [1260]', - 'Place': None, - 'ResultExits': '0', - 'LpuName': 'ГАУЗ "ГКБ №7"', - }, - ], - }, -] -medexamDict = { - 'MedExamTypes': [ - { - 'Name': 'ДВН 1 этап 404н', - 'Code': '024', - 'MedExamItems': [ - { - 'AgeGroupName': 'Взрослые(18,21,24,27,30,33,36,39,40,41,42,43-99)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A02.07.004', - 'MedicalServiceName': 'Д04 Антропометрия (измерение роста стоя, массы тела, окружности талии), расчет индекса массы тела 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые(18,21,24,27,30,33,36,39,40,41,42,43-99)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A09.05.026', - 'MedicalServiceName': 'Д12 Определение уровня общего холестерина в крови (допускается экспресс-метод) 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'От 18 лет', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A09.19.001', - 'MedicalServiceName': 'Д30 Исследование кала на скрытую кровь 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые 40-99', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'B03.016.002', - 'MedicalServiceName': 'Д10 Клинический анализ крови (в объеме не менее определения концентрации гемоглобина в эритроцитах, количества лейкоцитов и скорости оседания эритроцитов) 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые(18,21,24,27,30,33,36,39,40,41,42,43-99)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A01.30.026', - 'MedicalServiceName': 'Д01 Опрос (анкетирование) на выявление неинфекционных заболеваний и факторов риска их развития', # noqa: E501 - }, - { - 'AgeGroupName': 'Жен 40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A06.30.00299', - 'MedicalServiceName': 'Д35 Расшифровка маммограммы врачом (описание и интерпретация рентгенографических изображений) 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые(18,21,24,27,30,33,36,39,40,41,42,43-99)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A09.05.023.003', - 'MedicalServiceName': 'Д11 Определение уровня глюкозы в крови экспресс-методом (допускается лабораторный метод) 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': '45', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A03.16.001', - 'MedicalServiceName': 'Эзофагогастродуоденоскопия', - }, - { - 'AgeGroupName': 'Женщины(18,21,24,27,30,33,36,39,40,41,42,43,44-99)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Специальность', - 'MedicalServiceCode': 'B04.001.002', - 'MedicalServiceName': 'Осмотр фельдшером (акушеркой) или врачом акушером-гинекологом (ПОСЕЩЕНИЕ)', # noqa: E501 - 'SpecialityName': 'Акушер-гинеколог', - }, - { - 'AgeGroupName': '35-99', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A05.10.0066', - 'MedicalServiceName': 'Д20 Электрокардиография (в покое) 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'Мужчины (45,50,55,60,64)', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A09.05.130', - 'MedicalServiceName': 'Д31 Анализ крови на уровень содержания простатспецифического антигена 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'женщины(40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A06.20.004', - 'MedicalServiceName': 'Д34 Маммография обеих молочных желез без расшифровки маммограммы врачом (включает стоимость проведения процедуры рентгеновской или цифровой маммографии на рентгеновском аппарате-маммографе) 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'жен(18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A11.20.025', - 'MedicalServiceName': 'П37 Взятие мазка (соскоба) с поверхности шейки матки (наружного маточного зева) и цервикального канала на цитологическое исследование (без учёта стоимости цитологического исследования мазка с шейки матки) 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые(18,21,24,27,30,33,36,39)', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A23.30.055/1', - 'MedicalServiceName': 'П42 Определение относительного сердечно-сосудистого риска', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые 40-99', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A02.26.015', - 'MedicalServiceName': 'Д03 Измерение внутриглазного давления 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые(18,21,24,27,30,33,36,39,40,41,42,43-99)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A02.12.002', - 'MedicalServiceName': 'Д02 Измерение артериального давления 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': '40-64', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A23.30.055/2', - 'MedicalServiceName': 'П40 Определение абсолютного сердечно-сосудистого риска', # noqa: E501 - }, - { - 'AgeGroupName': 'Мужчины (45,50,55,60,64)', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A11.12.009', - 'MedicalServiceName': 'Д32 Взятие крови из периферической вены', # noqa: E501 - }, - { - 'AgeGroupName': 'Женщины от 18 лет', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A08.20.017.0021', - 'MedicalServiceName': 'П38 Цитологическое исследование мазка с шейки матки (Жидкостной метод) 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'От 18 лет', - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A08.20.013/3', - 'MedicalServiceName': 'П39 Цитологическое исследование мазка с шейки матки Папаниколау 1 этап', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые (18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,63,65,68,71,74,77,80,83,86,89,92,95,98)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'B04.070.002', - 'MedicalServiceName': 'П42 Индивидуальное краткое профилактическое консультирование по коррекции факторов риска развития неинфекционных заболеваний', # noqa: E501 - }, - { - 'AgeGroupName': 'Взрослые(18,24,30,36,40,42,44,46,48,50,52-98)', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A06.09.006', - 'MedicalServiceName': 'Д21 Флюорография легких 1этап', - }, - { - 'AgeGroupName': 'От 18 лет', - 'Required': 'Обязательный', - 'Type': 'Специальность', - 'MedicalServiceCode': 'B01.047.005', - 'MedicalServiceName': 'Прием (осмотр) врача-терапевта, включающий установление диагноза, определение группы состояния здоровья, группы диспансерного наблюдения, проведение краткого профилактического консультирования, включая рекомендации по здоровому питанию, уровню физической а', # noqa: E501 - 'SpecialityName': 'Терапевт', - }, - { - 'AgeGroupName': 'Жен 40,42,44,46,48,50,52,54,56,58,60,62,64,65-75', # noqa: E501 - 'Required': 'Обязательный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A09.19.001', - 'MedicalServiceName': 'Д30 Исследование кала на скрытую кровь 1 этап', # noqa: E501 - }, - { - 'Required': 'Дополнительный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A06.09.006', - 'MedicalServiceName': 'Д21 Флюорография легких 1этап', - }, - { - 'Required': 'Дополнительный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A06.09.006', - 'MedicalServiceName': 'Флюорография легких', - }, - { - 'AgeGroupName': 'жен(18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63)', # noqa: E501 - 'Required': 'Дополнительный', - 'Type': 'Специальность', - 'MedicalServiceCode': 'B04.001.002', - 'MedicalServiceName': 'Д36 Осмотр фельдшером (акушеркой) или врачом акушером-гинекологом', # noqa: E501 - 'SpecialityName': 'Акушер-гинеколог', - }, - { - 'Required': 'Дополнительный', - 'Type': 'Услуга', - 'MedicalServiceCode': 'A11.18.003и', - 'MedicalServiceName': 'Бужирование колостомы2', - }, - ], - } - ] -} -hospRecommendations = { - 'EventID': 'ddfa23ea-b0de-4d88-8abe-7d6a7a241df1', - 'EventDate': '2025-07-10', - 'Recommendations': [ - { - 'Type': 'Осмотр', - 'DateTime': '18.07.2025 8:30:43', - 'Recommendation': 'рекомендации тест', - }, - { - 'Type': 'Осмотр', - 'DateTime': '10.07.2025 17:29:25', - 'Recommendation': 'РЕКОМЕНДАЦИИ', - }, - ], -} -hospRoutes = { - 'EventID': 'ddfa23ea-b0de-4d88-8abe-7d6a7a241df1', - 'EventDate': '2025-07-10', - 'RoutesToDiagnostic': [ - { - 'RouteDate': '10.07.2025', - 'ResearchCode': 'A06.04.011', - 'ResearchName': 'Рентгенография бедренного сустава', - }, - { - 'RouteDate': '10.07.2025', - 'ResearchCode': 'А09,05,026', - 'ResearchName': 'Холестерин общий', - }, - { - 'RouteDate': '10.07.2025', - 'ResearchCode': '30.02', - 'ResearchName': 'Общий анализ мочи', - }, - { - 'RouteDate': '10.07.2025', - 'ResearchCode': 'B03.016.002.004', - 'ResearchName': 'Определение антител IgM и IgG к Coronavirus (SARS-CoV-2)', # noqa: E501 - }, - { - 'RouteDate': '10.07.2025', - 'ResearchCode': 'A26.06.072', - 'ResearchName': 'АСТ', - }, - { - 'RouteDate': '10.07.2025', - 'ResearchCode': 'B03.016.010', - 'ResearchName': 'Общий анализ кала ', - }, - { - 'RouteDate': '10.07.2025', - 'ResearchCode': 'B03.016.002', - 'ResearchName': 'Общий анализ крови ', - }, - { - 'RouteDate': '06.08.2025', - 'ResearchCode': 'B03.016.003 пров', - 'ResearchName': 'Общий (клинический) анализ крови развернутый', - }, - ], - 'RoutesToDoctor': [ - { - 'RouteDate': '10.07.2025', - 'SpecialityCode': '016', - 'SpecialityName': 'Эндокринолог', - }, - { - 'RouteDate': '17.07.2025', - 'SpecialityCode': '013', - 'SpecialityName': 'Кардиолог', - }, - ], -}