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