//Комы диагностика и лечение стационарная версия

Переменные:диабет, дыхание, ацетон, сознание, осмомолярность, глюкоза_моча, глюкоза, лактат, ПиАш, кетонурия, кома,\
	 лечение, ИНФ_НОМЕР_ГЛЮКОЗА, КОЭФФ_ГЛЮКОЗА, ДОЗА_ГЛЮКОЗА, натрий, лекарство_догоспит, ИНФ_НОМЕР_НАТРИЙ_ХЛОР, ДОЗА_НАТРИЙ_ХЛОР,\
	МАССА, ИНФ_НОМЕР_ИКД, ДОЗА_ИКД, КОЭФФ_ИКД, глюкоза_нач

БЛОК ВХОД
	диабет=0.0
	дыхание=0.0
	ацетон=0.0
	сознание=0.0
	глюкоза=0.0
	кома=0.0
	КОЭФФ_ИКД=1.0
	глюкоза_нач=0.0
	УСТАНОВИТЬ_ИНТЕРВАЛ(ЧДД, 30сек)
	АКТИВИРОВАТЬ_БЛОК(ОБРАБОТКА_ЧДД, 30 сек)
	УСТАНОВИТЬ_ИНТЕРВАЛ(АД, 5сек)
	АКТИВИРОВАТЬ_БЛОК(ОБРАБОТКА_АД, 1 мин)
	ВЫЗОВ_ВРАЧА("Катетеризация вены.", 2мин)
	ВЫЗОВ_ВРАЧА("Забор крови на анализы: глюкоза, белок, мочевина, креатинин, кетон, рН, К+, Na+, HCO3-, лактат, гемоглобин, гематокрит, лейкоциты.", 1мин)
	//ВЫЗОВ_ВРАЧА("Из капиллярной крови взять анализы рН, К+, Na+, HCO3-, лактат.", 1мин)
	ВЫЗОВ_ВРАЧА("Катетеризация мочевого пузыря.", 2мин)
	ВЫЗОВ_ВРАЧА("Забор мочи на анализы: кетон, белок, глюкоза, эритроциты.", 1мин)
	ВЫЗОВ_ВРАЧА("Установить назогастральный зонд.", 2мин)
	сознание=ВЫБОР("Пациент находится", "без сознания", 1000, "в сознании", 0)	
	диабет=ВЫБОР("Есть ли диабет в анамнезе?", "Да", 100, "Нет", 0, "Неизвестно", 100)
	ацетон=ВЫБОР("Присутствует ли запах ацетона?", "Да, присутствует", 10,"Нет, отсутствует", 0)
	дыхание=ВЫБОР("Определите тип дыхания.", "Нормальное дыхание", 0, "Дыхание Куссмауля", 1, "Иное", -2)
	ЕСЛИ сознание+диабет+ацетон+дыхание==1111 то
	ВЫЗОВ_ВРАЧА("Подозрение на кетоацидотическую кому.", 1мин)
	иначе
	//ВЫЗОВ_ВРАЧА(" кому.")
	КОНЕЦ_ЕСЛИ
	ЕСЛИ сознание+диабет+ацетон+дыхание==1100 то
	ВЫЗОВ_ВРАЧА("Подозрение на гиперосмолярную или гипогликемическую кому.", 1мин)
	КОНЕЦ_ЕСЛИ
	глюкоза=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	АКТИВИРОВАТЬ_БЛОК(КОНТРОЛЬ_Глюкоза, 1мин)
	
	лактат=ВВОД("Введите показатели лактата, (ммоль/л).", 0, 100)
	ПиАш=ВВОД("Введите показатели pH.", 0, 10)
	кетонурия=ВЫБОР("В крове обнаружены кетоны.", "Да", 1, "Нет", 0)
	глюкоза_моча=ВЫБОР("В моче обнаружена глюкоза.", "Да", 1, "Нет", 0)
	ЕСЛИ глюкоза>=5.5 и лактат>2 и лактат<10 и ПиАш<7.2 и глюкоза_моча==1 то
		ВЫЗОВ_ВРАЧА("Диагностирована гиперосмолярная диабетическая кома.", 1мин)
		кома=2
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза>=5.5 и лактат>2 и лактат<10 и кетонурия==1 и кома==0 то
		ВЫЗОВ_ВРАЧА("Диагностирована кетоацидотическая кома.", 1мин)
		кома=3
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза<3 и глюкоза>=0 то 
		ВЫЗОВ_ВРАЧА("Диагностирована гипогликемическая кома.", 1мин)
		кома=1
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза>=3 и глюкоза<5.5 то
		ВЫЗОВ_ВРАЧА("Глюкоза в норме.", 1мин)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ ПиАш>=7.45 то
		ВЫЗОВ_ВРАЧА("ВНИМАНИЕ! pH крови повышен. Алкалоз, кома не диагностирована.", 1мин)
		ОСТАНОВИТЬ_АЛГОРИТМ
	КОНЕЦ_ЕСЛИ
	ЕСЛИ (глюкоза>=5.5 или (лактат>2 и лактат<10) или ПиАш<7.2) и глюкоза_моча==0 и кетонурия==0 то
		ВЫЗОВ_ВРАЧА("ВНИМАНИЕ! Показатели глюкозы и/или лактата выше нормы и/или pH ниже нормы. Кома не диагностирована.", 1мин)
		ОСТАНОВИТЬ_АЛГОРИТМ
	КОНЕЦ_ЕСЛИ
	// лечение
	МАССА=ВВОД("Введите массу пациента", 30, 250)
	АКТИВИРОВАТЬ_БЛОК(ЛЕЧЕНИЕ_НАТРИЙ_ХЛОР, 24 час)
	АКТИВИРОВАТЬ_БЛОК(ИНСУЛИНОТЕРАПИЯ, 24 час)
	
КОНЕЦ_БЛОКА
//================
БЛОК КОНТРОЛЬ_Глюкоза()
	глюкоза_нач=глюкоза
	//глюкоза=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	ЕСЛИ глюкоза<=13 то
		СПАТЬ(3час)
	иначе
		СПАТЬ(1час)
	КОНЕЦ_ЕСЛИ
	глюкоза=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	
	ЕСЛИ глюкоза==глюкоза_нач то
		ДОЗА_ИКД=ДОЗА_ИКД+0.2
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*КОЭФФ_ИКД*МАССА мл/час)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза<=4 то
		ЗАКОНЧИТЬ_ВВЕДЕНИЕ(ИНФ_НОМЕР_ИКД)
	КОНЕЦ_ЕСЛИ 
	ЕСЛИ глюкоза_нач-глюкоза>=4 то
		ДОЗА_ИКД=ДОЗА_ИКД-0.05
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*КОЭФФ_ИКД*МАССА мл/час)
	КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА
//=================
БЛОК ЛЕЧЕНИЕ_НАТРИЙ_ХЛОР()
	ЕСЛИ кома==1 то
		лечение=ВЫБОР("Для купирования гипогликемии выберите и выполните одно из следующих действий:", "дать пациенту 15-20 г легкоусваиваемых углеводов (сахар)", 1, "ввести внутремышечно 1 мг глюкагона", 2, "ввести внутривенно 60 мл 40% раствора глюкозы", 3)
		ЕСЛИ лечение==3 то
			ВВЕСТИ_БЫСТРО(1, глюкоза_40, КОЭФФ_ГЛЮКОЗА*60 мл, в/в)
		КОНЕЦ_ЕСЛИ
		СПАТЬ(10 мин) //уточнить это время
		сознание=ВЫБОР("Пациент пришёл в сознание?", "Да",1, "Нет", 0)
		ЕСЛИ сознание==1 то
			ВЫЗОВ_ВРАЧА("Приступ гипогликемии купирован. Заврешение работы алгоритма.", 1мин)
			ВЫХОД
		иначе
			ИНФ_НОМЕР_ГЛЮКОЗА=ВВЕСТИ(1, глюкоза_5, 1*КОЭФФ_ГЛЮКОЗА*60 мл/час)
			СПАТЬ(1 час) // уточнить это время
		КОНЕЦ_ЕСЛИ
		ЕСЛИ сознание==1 то
			ВЫЗОВ_ВРАЧА("Приступ гипогликемии купирован. Заврешение работы алгоритма.", 1мин)
			ВЫХОД
		иначе
			ВЫЗОВ_ВРАЧА("Приступ гипогликемии не удалось купировать. Заврешение работы алгоритма.", 1мин)
			ОСТАНОВИТЬ_АЛГОРИТМ
		КОНЕЦ_ЕСЛИ
	КОНЕЦ_ЕСЛИ
	ЕСЛИ кома==2 или кома==3 то
		натрий=ВВОД("Введите показатель концентрации Na+, (ммоль/л).", 0, 200)
		натрий=натрий + 1.6*(глюкоза- 5.5)/5.5
		//ВЫЗОВ_ВРАЧА(строка(натрий), 1мин)
		лекарство_догоспит=ВВОД("Введите суммарный объём лекарств введенных на догоспитальном этапе, (мл)", 0, 2000)
		ЕСЛИ СРАД<=60 то
			ВВЕСТИ_БЫСТРО(1, натрий_хлор_09, 1000 мл, в/в)
		иначе
		ЕСЛИ лекарство_догоспит <= 1 то
			ДОЗА_НАТРИЙ_ХЛОР=1-лекарство_догоспит
			ЕСЛИ натрий<=145 то
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ(1, натрий_хлор_09, ДОЗА_НАТРИЙ_ХЛОР*1000 мл/час)
			КОНЕЦ_ЕСЛИ
			ЕСЛИ натрий<165 и  натрий >145 то
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ(1, натрий_хлор_045, ДОЗА_НАТРИЙ_ХЛОР*1000 мл/час)
			КОНЕЦ_ЕСЛИ
			ЕСЛИ натрий >=165 то
				ДОЗА_ГЛЮКОЗА=1-лекарство_догоспит
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ(1, глюкоза_2, ДОЗА_ГЛЮКОЗА*1000 мл/час)
			КОНЕЦ_ЕСЛИ
			СПАТЬ(1 час)
		КОНЕЦ_ЕСЛИ
		КОНЕЦ_ЕСЛИ
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_НАТРИЙ_ХЛОР,натрий_хлор_09, 500 мл/час)
		СПАТЬ(1 час)
		ВЫЗОВ_ВРАЧА("Внимание! Уровень диуреза за последние два часа должен составлять как минимум 0.5 л.", 1 мин)
		СПАТЬ(1 час)
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_НАТРИЙ_ХЛОР, натрий_хлор_09, 250 мл/час)
		СПАТЬ(2 час)
		ВЫЗОВ_ВРАЧА("Ввод NaCl/глюкозы закончен.", 1 мин)
	КОНЕЦ_ЕСЛИ
	ВЫХОД
КОНЕЦ_БЛОКА
//========================================
БЛОК ИНСУЛИНОТЕРАПИЯ()
	СПАТЬ(2мин)
	ВЫЗОВ_ВРАЧА("Инсулинотерапия. К 50 ед. инсулина короткого действия добавьте 2 мл 20% альбумина и 50 мл 0,9% NaCl.", 2мин)
	ДОЗА_ИКД=0.1
	ИНФ_НОМЕР_ИКД=ВВЕСТИ(2, икд, ДОЗА_ИКД*КОЭФФ_ИКД*МАССА мл/час)
	ВЫХОД
	
КОНЕЦ_БЛОКА


БЛОК ОБРАБОТКА_ЧДД()
	ЕСЛИ ЧДД<=8 то  
		ВЫЗОВ_ВРАЧА("Критически низкая ЧДД (ЧДД). Подключите пациента к ИВЛ.", 10мин)
		
	КОНЕЦ_ЕСЛИ
	ЕСЛИ ЧДД>=32 то  
		ВЫЗОВ_ВРАЧА("Критически высокая ЧДД (ЧДД). Подключите пациента к ИВЛ.", 10мин)
		
   КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА

БЛОК ОБРАБОТКА_АД()    
	ЕСЛИ СРАД<=50 то  
		ВЫЗОВ_ВРАЧА("Критически низкое среднее АД (СРАД). Завершение работы алгоритма.", 10мин)
		ОСТАНОВИТЬ_АЛГОРИТМ  // СДЕЛАТЬ ВЫХОД СРАЗУ ИЗ ВСЕХ НИТЕЙ!!!
	КОНЕЦ_ЕСЛИ
	ЕСЛИ СРАД>=120 то  
		ВЫЗОВ_ВРАЧА("Критически высокое среднее АД (СРАД). Завершение работы алгоритма.", 10мин)
		ОСТАНОВИТЬ_АЛГОРИТМ  // СДЕЛАТЬ ВЫХОД СРАЗУ ИЗ ВСЕХ НИТЕЙ!!!
	КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА