From 5cad2212ccadb479c46f4c59160911b3289774ad Mon Sep 17 00:00:00 2001 From: cheykrym Date: Tue, 18 Mar 2025 23:15:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?/=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- liver_cirrhosis_diagnosis_v1.md | 104 ++++++++++++++++++++++++++++++++ liver_cirrhosis_diagnosis_v2.md | 100 ++++++++++++++++++++++++++++++ 2 files changed, 204 insertions(+) create mode 100644 liver_cirrhosis_diagnosis_v1.md create mode 100644 liver_cirrhosis_diagnosis_v2.md diff --git a/liver_cirrhosis_diagnosis_v1.md b/liver_cirrhosis_diagnosis_v1.md new file mode 100644 index 0000000..1297ef2 --- /dev/null +++ b/liver_cirrhosis_diagnosis_v1.md @@ -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. +- **Высокий риск цирроза:** Наличие клинических симптомов (асцит, желтуха, энцефалопатия, фиброз печени). + +## Будущие улучшения +- Интеграция с машинным обучением для более точного прогнозирования. +- Поддержка дополнительных маркеров заболеваний печени. diff --git a/liver_cirrhosis_diagnosis_v2.md b/liver_cirrhosis_diagnosis_v2.md new file mode 100644 index 0000000..6a2bc27 --- /dev/null +++ b/liver_cirrhosis_diagnosis_v2.md @@ -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).