6.6 KiB
Диагностика цирроза печени
Обзор
Этот модуль предназначен для анализа медицинских данных и выявления возможного цирроза печени на основе результатов анализов крови и клинических симптомов. Скрипт вычисляет диагностические индексы APRI и FIB-4 и предоставляет предварительный диагноз с рекомендациями.
Структура файлов
medical_analysis/
├── liver/
│ ├── liver_cirrhosis_diagnosis.py
Установка и использование
Требования
- Python 3.7+
- Внешние зависимости отсутствуют (используется встроенная обработка 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
}
Пример выходных данных
{
"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).