Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1)Заболеваемость ССЗ (в части ОКС и ОНМК)
- Тут я передаю МО , год и список диагнозов , 'OKC' : ['I20.0', 'I21', 'I22'], или 'OHMK' : ['G45', 'G46'],
- def get_encounter_morbidity(self, mo: dict, year: tuple, code_diagnos: list) -> int:
- encounter = Encounter.objects.filter(
- service_provider = mo['service_id'],
- death_reason_code__isnull = True,
- period_end__year = year
- )
- # Формирование списка и фильтрация по коду диагноза, вычисление общей заболеваимости и впервые выявленоe заболевание
- return len(
- [_ for _ in encounter if _.check_mkb10_diagnos(code_diagnos)]
- ) / 1000,
- len(
- [_ for _ in encounter if _.check_mkb10_diagnos(code_diagnos)]
- )
- 2) Смертность от ССЗ (в части ОКС и ОНМК)
- тут я смотрю на то что поле death_reason_code не пустое и там есть значение чтобы точно знать что пациент умер и передаю туда коды заболеваний чтобы убедиться от того что смертность по ОКС и ОНМК
- def get_encounter_mortality(self, mo: dict, year: int, code_diagnos: list) -> int:
- encounter = Encounter.objects.filter(
- service_provider = mo['service_id'],
- death_reason_code__isnull = False,
- period_end__year = year
- )
- # Формирование списка и фильтрация по коду диагноза, получении длины
- return len(
- [_ for _ in encounter if _.check_mkb10_diagnos(code_diagnos)]
- )
- 3) Летальность от инфаркта миокарда, в том числе с подъемом СТ и без подъема СТ;
- —— нет данных не знаю как правильно получить помоги пожалуйста( что откуда берётся )
- 5) Количество больных с ССЗ, получивших медицинскую помощь в кардиологических и отдельно терапевтических отделениях, по региону в целом, в разрезе медицинских организаций;
- Получаю Encounter и просто считаю больных с ССЗ
- def get_encounter_number_patients(self, mo: dict, year: int, code_diagnos: list) -> int:
- encounter = Encounter.objects.filter(
- service_provider = mo['service_id'],
- death_reason_code__isnull = True,
- period_end__year = year
- )
- # Формирование списка и фильтрация по коду диагноза, получении длины
- return len(
- [_ for _ in encounter if _.check_mkb10_diagnos(code_diagnos)]
- )
- 6) Доля взятых на диспансерное наблюдение (для ОКС), доля фактически проходящих диспансерное наблюдение пациентов перенесших ОКС;
- Получаю Encounter с типом klass = 'daytime', (Диспансерное наблюдение) и по кодам заболевания ОКС
- Помоги пожалуйста понять что такое кол-во пациентов, которые стали на диспансерное наблюдение и кол-во пациентов, которые проходят диспансерное наблюдение
- def get_encounter_dispensary_observation(self, mo: str, year: int, code_diagnos: list) -> int:
- encounter = Encounter.objects.filter(
- service_provider = mo['service_id'],
- death_reason_code__isnull = True,
- period_end__year = year,
- klass = 'daytime',
- )
- # Формирование списка и фильтрация по коду диагноза, получении длины
- return len(
- [_ for _ in encounter if _.check_mkb10_diagnos(code_diagnos)]
- )
Add Comment
Please, Sign In to add comment