Загрузить файлы в «/»

This commit is contained in:
cheykrym 2025-03-18 23:15:31 +03:00
commit 5cad2212cc
2 changed files with 204 additions and 0 deletions

View File

@ -0,0 +1,104 @@
# Диагностика цирроза печени
## Обзор
Этот модуль предназначен для анализа медицинских данных и выявления возможного цирроза печени на основе результатов анализов крови и клинических симптомов. Скрипт вычисляет диагностические индексы APRI и FIB-4 и предоставляет предварительный диагноз с рекомендациями.
## Структура файлов
```
medical_analysis/
├── liver/
│ ├── liver_cirrhosis_diagnosis.py
```
## Установка и использование
### Требования
- Python 3.7+
- Внешние зависимости отсутствуют (используется встроенная обработка JSON)
### Использование
Модуль принимает JSON с результатами анализов крови и клиническими показателями. Возвращает JSON-объект с диагнозом и рекомендациями.
#### Пример входных данных
```json
{
"AST": 120,
"ALT": 80,
"Platelets": 100,
"Bilirubin": 2.5,
"Albumin": 3.0,
"Age": 55,
"AST_ULN": 40,
"Ascites": true,
"Jaundice": false,
"Encephalopathy": false,
"LiverFibrosis": false
}
```
#### Пример выходных данных
```json
{
"diagnosis": "возможный цирроз",
"recommendations": "консультация с гепатологом"
}
```
## Обязательные и дополнительные параметры
### Обязательные параметры (важны для расчётов)
Эти параметры критически важны для вычисления индексов APRI и FIB-4, поэтому их лучше всегда передавать:
- **AST (АСТ)** нужен для APRI и FIB-4.
- **ALT (АЛТ)** нужен для FIB-4.
- **Platelets (Тромбоциты)** нужен для APRI и FIB-4.
- **Age (Возраст)** нужен для FIB-4.
- **AST_ULN (Верхняя граница нормы AST)** важен для APRI (по умолчанию 40, но лучше передавать реальное значение).
### Желательные параметры (улучшают диагностику)
Эти параметры не влияют на APRI и FIB-4, но помогают точнее поставить диагноз:
- **Bilirubin (Билирубин)** повышенный уровень указывает на проблемы с печенью.
- **Albumin (Альбумин)** низкий уровень указывает на нарушение функции печени.
### Дополнительные параметры (клинические признаки цирроза)
Эти параметры помогут сразу выявить высокий риск цирроза:
- **Ascites (Асцит)** наличие жидкости в брюшной полости.
- **Jaundice (Желтуха)** желтизна кожи, вызванная высоким билирубином.
- **Encephalopathy (Печёночная энцефалопатия)** когнитивные нарушения из-за печёночной недостаточности.
- **LiverFibrosis (Фиброз печени)** если есть подтверждённые данные.
### Итог
- **Минимально необходимый набор:** `AST`, `ALT`, `Platelets`, `Age`, `AST_ULN`
- **Желательный набор:** всё выше + `Bilirubin`, `Albumin`
- **Полный набор:** всё выше + клинические признаки (`Ascites`, `Jaundice`, `Encephalopathy`, `LiverFibrosis`)
Если переданы **только AST и ALT**, диагностика будет **неполной**. Но если хотя бы один из обязательных параметров (`AST`, `ALT`, `Platelets`, `Age`) отсутствует индексы **APRI и FIB-4 не будут рассчитаны**.
## Функции
### `calculate_apri(ast, platelets, ast_uln)`
Вычисляет **индекс APRI (AST to Platelet Ratio Index)**.
- **Параметры:**
- `ast` (int): Уровень АСТ.
- `platelets` (int): Количество тромбоцитов.
- `ast_uln` (int): Верхняя граница нормы АСТ.
- **Возвращает:** Значение APRI (float) или `None`, если входные данные некорректны.
### `calculate_fib4(age, ast, alt, platelets)`
Вычисляет **индекс FIB-4 (Fibrosis-4 Score)**.
- **Параметры:**
- `age` (int): Возраст пациента.
- `ast` (int): Уровень АСТ.
- `alt` (int): Уровень АЛТ.
- `platelets` (int): Количество тромбоцитов.
- **Возвращает:** Значение FIB-4 (float) или `None`, если входные данные некорректны.
### `diagnose_cirrhosis(data)`
Обрабатывает входной JSON, вычисляет APRI и FIB-4, и предоставляет диагноз.
- **Параметры:** JSON-объект с информацией о пациенте.
- **Возвращает:** JSON-объект с диагнозом и рекомендациями.
## Критерии диагностики
- **Нет цирроза:** Нормальные показатели крови, низкие APRI и FIB-4.
- **Возможный цирроз:** APRI > 2.0 или FIB-4 > 3.25.
- **Высокий риск цирроза:** Наличие клинических симптомов (асцит, желтуха, энцефалопатия, фиброз печени).
## Будущие улучшения
- Интеграция с машинным обучением для более точного прогнозирования.
- Поддержка дополнительных маркеров заболеваний печени.

View File

@ -0,0 +1,100 @@
# Диагностика цирроза печени
## Обзор
Этот модуль предназначен для анализа медицинских данных и выявления возможного цирроза печени на основе результатов анализов крови и клинических симптомов. Скрипт вычисляет диагностические индексы APRI и FIB-4 и предоставляет предварительный диагноз с рекомендациями.
## Структура файлов
```
medical_analysis/
├── liver/
│ ├── liver_cirrhosis_diagnosis.py
```
## Установка и использование
### Требования
- Python 3.7+
- Внешние зависимости отсутствуют (используется встроенная обработка JSON)
### Использование
Модуль принимает JSON с результатами анализов крови и клиническими показателями. Возвращает JSON-объект с диагнозом и рекомендациями.
#### Пример входных данных
```json
{
"AST": 120,
"ALT": 80,
"Platelets": 100,
"Bilirubin": 2.5,
"Albumin": 3.0,
"Age": 55,
"AST_ULN": 40,
"Ascites": true,
"Jaundice": false,
"Encephalopathy": false,
"LiverFibrosis": false,
"GGT": 110,
"ALP": 180,
"INR": 1.6,
"CRP": 15,
"Ferritin": 600
}
```
#### Пример выходных данных
```json
{
"diagnosis": "possible cirrhosis",
"recommendations": "consult hepatologist | Possible cholestasis detected | Possible liver failure detected | Possible inflammatory liver disease"
}
```
## Обязательные и дополнительные параметры
### Обязательные параметры (важны для расчётов)
Эти параметры критически важны для вычисления индексов APRI и FIB-4, поэтому их лучше всегда передавать:
- **AST (АСТ)** нужен для APRI и FIB-4.
- **ALT (АЛТ)** нужен для FIB-4.
- **Platelets (Тромбоциты)** нужен для APRI и FIB-4.
- **Age (Возраст)** нужен для FIB-4.
- **AST_ULN (Верхняя граница нормы AST)** важен для APRI (по умолчанию 40, но лучше передавать реальное значение).
### Желательные параметры (улучшают диагностику)
Эти параметры не влияют на APRI и FIB-4, но помогают точнее поставить диагноз:
- **Bilirubin (Билирубин)** повышенный уровень указывает на проблемы с печенью.
- **Albumin (Альбумин)** низкий уровень указывает на нарушение функции печени.
### Дополнительные параметры (клинические признаки цирроза и другие маркеры)
Эти параметры помогут сразу выявить высокий риск цирроза или другие патологии печени:
- **Ascites (Асцит)** наличие жидкости в брюшной полости.
- **Jaundice (Желтуха)** желтизна кожи, вызванная высоким билирубином.
- **Encephalopathy (Печёночная энцефалопатия)** когнитивные нарушения из-за печёночной недостаточности.
- **LiverFibrosis (Фиброз печени)** если есть подтверждённые данные.
- **GGT (Гамма-глутамилтранспептидаза)** повышенные значения указывают на холестаз.
- **ALP (Щелочная фосфатаза)** увеличенный уровень может указывать на проблемы с оттоком желчи.
- **INR (Международное нормализованное отношение)** высокий уровень свидетельствует о нарушении свертываемости крови.
- **CRP (C-реактивный белок)** маркер воспалительных процессов.
- **Ferritin (Ферритин)** может указывать на воспаление или перегрузку железом.
### Итог
- **Минимально необходимый набор:** `AST`, `ALT`, `Platelets`, `Age`, `AST_ULN`
- **Желательный набор:** всё выше + `Bilirubin`, `Albumin`
- **Полный набор:** всё выше + дополнительные маркеры (`Ascites`, `Jaundice`, `Encephalopathy`, `LiverFibrosis`, `GGT`, `ALP`, `INR`, `CRP`, `Ferritin`)
Если переданы **только AST и ALT**, диагностика будет **неполной**. Но если хотя бы один из обязательных параметров (`AST`, `ALT`, `Platelets`, `Age`) отсутствует индексы **APRI и FIB-4 не будут рассчитаны**.
## Функции
### `calculate_apri(ast, platelets, ast_uln)`
Вычисляет **индекс APRI (AST to Platelet Ratio Index)**.
### `calculate_fib4(age, ast, alt, platelets)`
Вычисляет **индекс FIB-4 (Fibrosis-4 Score)**.
### `diagnose_cirrhosis(data)`
Обрабатывает входной JSON, вычисляет APRI и FIB-4, анализирует дополнительные маркеры и предоставляет диагноз.
- **Параметры:** JSON-объект с информацией о пациенте.
- **Возвращает:** JSON-объект с диагнозом и рекомендациями.
## Критерии диагностики
- **Нет цирроза:** Нормальные показатели крови, низкие APRI и FIB-4.
- **Возможный цирроз:** APRI > 2.0 или FIB-4 > 3.25.
- **Высокий риск цирроза:** Наличие клинических симптомов (асцит, желтуха, энцефалопатия, фиброз печени).
- **Дополнительные патологии:** Холестаз, печёночная недостаточность, воспалительные заболевания (определяются по GGT, ALP, INR, CRP, Ferritin).