liver_cirrhosis_diagnosis/liver_cirrhosis_diagnosis_v...

101 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Диагностика цирроза печени
## Обзор
Этот модуль предназначен для анализа медицинских данных и выявления возможного цирроза печени на основе результатов анализов крови и клинических симптомов. Скрипт вычисляет диагностические индексы 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.
- **Высокий риск цирроза:** Наличие клинических симптомов (асцит, желтуха, энцефалопатия, фиброз печени).