101 lines
6.6 KiB
Markdown
101 lines
6.6 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,
|
||
"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).
|