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

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

БЛОК ВХОД
	диабет=0.0
	дыхание=0.0
	ацетон=0.0
	сознание=0.0
	глюкоза=0.0
	кома=0.0
	ингаляция=0.0
	вентиляция=0
	ШКГ=0.0
	УСТАНОВИТЬ_ИНТЕРВАЛ(ЧДД, 30сек)
	УСТАНОВИТЬ_ИНТЕРВАЛ(СПО2, 1 мин)
	АКТИВИРОВАТЬ_БЛОК(КОНТРОЛЬ_СПО2, 20 сек)
	АКТИВИРОВАТЬ_БЛОК(ОБРАБОТКА_ЧДД, 30 сек)
	УСТАНОВИТЬ_ИНТЕРВАЛ(АД, 5сек)
	АКТИВИРОВАТЬ_БЛОК(ОБРАБОТКА_АД, 1 мин)
	ВЫЗОВ_ВРАЧА("Катетеризация вены.", 2мин)
	ВЫЗОВ_ВРАЧА("Забор крови на анализы: глюкоза, белок, мочевина, креатинин, кетон, рН, К+, Na+, HCO3-, лактат, гемоглобин, гематокрит, лейкоциты.", 1мин)
	//ВЫЗОВ_ВРАЧА("Из капиллярной крови взять анализы рН, К+, Na+, HCO3-, лактат.", 1мин)
	ВЫЗОВ_ВРАЧА("Катетеризация мочевого пузыря.", 2мин)
	ВЫЗОВ_ВРАЧА("Забор мочи на анализы: кетон, белок, глюкоза, эритроциты.", 1мин)
	ВЫЗОВ_ВРАЧА("Установить назогастральный зонд.", 2мин)
	МУЛЬТИВЫБОР("Шкала ГЛАЗГО(GLASGOW)", "Открывание глаз/(Спонтанно=5)/На речь=4/На боль=3/Не открывает=2", г1, "Речь/(Разговаривает//Ориентирован=5)/Разговаривает//Дезориентирован=4/Непонятные слова=3/Нечленораздельные звуки=2/Отсутсвует=1", г2, "Моторика/(Выполняет команды=5)/Целенаправленная на болевой раздражитель=4/Нецеленаправленная на болевой раздражитель=3/Тоническое сгибание=2/Тоническое разгибание=1/Отсутсвует=0", г3)
	ШКГ=г1+г2+г3
	ВЫЗОВ_ВРАЧА("Состояние пациента оценивается в "+строка(ШКГ)+" баллов(а) по шкале GLASGOW.", 1мин)	
	глюкоза=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	ЕСЛИ глюкоза<3.9 и ШКГ<=8 то 
		ВЫЗОВ_ВРАЧА("Диагностирована гипогликемическая кома.", 1мин)
		кома=1
		АКТИВИРОВАТЬ_БЛОК(ГИПОГЛИКЕМИЯ,1час)
		ВЫХОД 
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза<2.2  то 
		ВЫЗОВ_ВРАЧА("Диагностирована гипогликемическая кома.", 1мин)
		кома=1
		АКТИВИРОВАТЬ_БЛОК(ГИПОГЛИКЕМИЯ,1час)
		ВЫХОД
	КОНЕЦ_ЕСЛИ
ЕСЛИ ШКГ<=8 и (глюкоза>=4 и глюкоза<=13) то
ВЫЗОВ_ВРАЧА("Исключите отравление алкоголем, наркотиками, лекарственными препаратами",1 мин)
КОНЕЦ_ЕСЛИ
	лактат=ВВОД("Введите показатели лактата, (ммоль/л).", 0, 100)
	ПиАш=ВВОД("Введите показатели pH.", 6, 9)
	кетонемия=ВЫБОР("В крови обнаружены кетоны более 5 ммоль/л", "Нет", 0, "Да", 1)
	кетонурия=ВЫБОР("В моче обнаружены кетоны", "Нет",0, "Да", 1)
	глюкоза_моча=ВЫБОР("В моче обнаружена глюкоза.", "Нет", 0, "Да", 1)
	ЕСЛИ глюкоза>35 и  ПиАш>7.3 и (кетонемия==0 или кетонурия==0) то
		ВЫЗОВ_ВРАЧА("Диагностирована гиперосмолярная диабетическая кома.", 1мин)
		кома=2
	КОНЕЦ_ЕСЛИ
	ЕСЛИ (глюкоза>13 и ПиАш<7.3) и (кетонурия==1 или кетонемия==1)  то
		ВЫЗОВ_ВРАЧА("Диагностирована диабетическая кетоацидотическая кома.", 1мин)
		кома=3
	КОНЕЦ_ЕСЛИ
	
	ЕСЛИ глюкоза>=3 и глюкоза<5.5 то
		ВЫЗОВ_ВРАЧА("Глюкоза в норме.", 1мин)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза>=5.5 и лактат>4 то
	ВЫЗОВ_ВРАЧА("Диагностирован молочнокислый ацидоз")
	ВЫЗОВ_ВРАЧА("Единственное эффективное мероприятие проведение гемодиализа с безлактатным буфером")
	кома=4
	КОНЕЦ_ЕСЛИ
	ЕСЛИ ПиАш>=7.45 то
		ВЫЗОВ_ВРАЧА("ВНИМАНИЕ! pH крови повышен. Алкалоз, гиперосмолярная/гипогликемическая/кетоацидотическая кома не диагностирована.", 1мин)
		ОСТАНОВИТЬ_АЛГОРИТМ
	КОНЕЦ_ЕСЛИ
	ЕСЛИ (глюкоза>=5.5 или (лактат>2 и лактат<10) или ПиАш<7.2) и глюкоза_моча==0 и кетонемия==0  и кома==0 то
		ВЫЗОВ_ВРАЧА("ВНИМАНИЕ! Показатели глюкозы и/или лактата выше нормы и/или pH ниже нормы. Гиперосмолярная/гипогликемическая/кетоацидотическая кома не диагностирована. Рассмотрите возможность дополнительной диагностики.", 1мин)
		ОСТАНОВИТЬ_АЛГОРИТМ
	иначе
		если кома==0 то
			ВЫЗОВ_ВРАЧА("Гиперосмолярная/гипогликемическая/кетоацидотическая кома не диагностирована. Рассмотрите возможность дополнительной диагностики. Завершение работы алгоритма.", 1мин)
			ОСТАНОВИТЬ_АЛГОРИТМ
		конец_если
	

	КОНЕЦ_ЕСЛИ
	// лечение
	МАССА=ВВОД("Введите массу пациента", 30, 250,станд_вес)
	ВЫЗОВ_ВРАЧА("Снимите и оцените ЭКГ 12 отведений", 1 мин)
	ЕСЛИ кома==2 или кома==3 то
	АКТИВИРОВАТЬ_БЛОК(КОНТРОЛЬ_Глюкоза, 1час)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ кома==4 то
	АКТИВИРОВАТЬ_БЛОК(ИНСУЛИНОТЕРАПИЯ_МОЛОЧНОКИС,24 час)
	КОНЕЦ_ЕСЛИ
ЕСЛИ  кома==3 или кома==4 то	
АКТИВИРОВАТЬ_БЛОК(ЛЕЧЕНИЕ_НАТРИЙ_ХЛОР, 24 час)
АКТИВИРОВАТЬ_БЛОК(КОНТРОЛЬ_КАЛИЯ, 24 час)
КОНЕЦ_ЕСЛИ
ЕСЛИ кома==2 то 
АКТИВИРОВАТЬ_БЛОК(ЛЕЧЕНИЕ_НАТРИЙ_ХЛОР_СКОР, 24 час)
АКТИВИРОВАТЬ_БЛОК(КОНТРОЛЬ_КАЛИЯ, 24 час)
КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА
//================
БЛОК КОНТРОЛЬ_Глюкоза()
	//глюкоза=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	ЕСЛИ (глюкоза<=13 и глюкоза>=5.9) то
			ИНФ_НОМЕР_ГЛЮКОЗА=ВВЕСТИ_НАЧАТЬ(100, глюкоза_5, 5000 мг/час)
			ВЫЗОВ_ВРАЧА("После введения Глюкозы 5% объемом 400 мл ввести Инсулин 3 ЕД")
			СПАТЬ(4час)
			ВЫЗОВ_ВРАЧА("Ввести инсулин 3 ЕД внутривенно после введения Глюкозы 5% объемом 400 мл")
		МассивДата = ТекущееВремя
		ПеременнаяМинуты = минуты(МассивДата)+180
		МассивДата = дата(ПеременнаяМинуты)
		Вызов_Врача("При отсутствии ухудшения показателей повторный забор крови содержание глюкозы через 3 часа (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )
		СПАТЬ(3час)		
	иначе
	АКТИВИРОВАТЬ_БЛОК(ИНСУЛИНОТЕРАПИЯ, 24 час)
	КОНЕЦ_ЕСЛИ
	
КОНЕЦ_БЛОКА
//=================
БЛОК ЛЕЧЕНИЕ_НАТРИЙ_ХЛОР()
СПАТЬ(3мин)
ЕСЛИ ПиАш<=6.9 и кома==4 то
ВЫЗОВ_ВРАЧА("Ввести медленно капельно бикарбоната натрия 100 мл 4% раствора внутривенно медленно за 1 ч", 5 мин)
КОНЕЦ_ЕСЛИ	
ЕСЛИ кома==3 то
		натрий=ВВОД("Введите показатель концентрации Na+, (ммоль/л).", 0, 200)
		натрий=натрий + 1.6*(глюкоза- 5.5)/5.5
		//ВЫЗОВ_ВРАЧА(строка(натрий), 1мин)
		лекарство_догоспит=ВВОД("Введите суммарный объём лекарств введенных на догоспитальном этапе, (мл)", 0, 1500)
		регидратация=50*МАССА
		ВЫЗОВ_ВРАЧА("Суммарный объем регидратации за 48 часов составляет "+строка(регидратация)+" мл ", 1 мин)
		ЕСЛИ СРАД<=60 то
			ВВЕСТИ_БЫСТРО(100, натрий_хлор_09, 1000 мл, в/в)
		иначе
	ЕСЛИ лекарство_догоспит>=1000 то
			ДОЗА_НАТРИЙ_ХЛОР=2000-лекарство_догоспит
			ЕСЛИ натрий<=145 то
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, натрий_хлор_09, ДОЗА_НАТРИЙ_ХЛОР мл/час)
			КОНЕЦ_ЕСЛИ
			ЕСЛИ натрий<165 и  натрий >145 то
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, натрий_хлор_045, ДОЗА_НАТРИЙ_ХЛОР мл/час)
			КОНЕЦ_ЕСЛИ
			ЕСЛИ натрий >=165 то
				ДОЗА_ГЛЮКОЗА=1000-лекарство_догоспит
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, глюкоза_5, 50000 мг/час)
			КОНЕЦ_ЕСЛИ
			иначе 
			ДОЗА_НАТРИЙ_ХЛОР=15*МАССА
			ЕСЛИ натрий<=145 то
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, натрий_хлор_09, ДОЗА_НАТРИЙ_ХЛОР мл/час)
			КОНЕЦ_ЕСЛИ
			ЕСЛИ натрий<165 и  натрий >145 то
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, натрий_хлор_045, ДОЗА_НАТРИЙ_ХЛОР мл/час)
			КОНЕЦ_ЕСЛИ
			ЕСЛИ натрий >=165 то
				ДОЗА_ГЛЮКОЗА=1000-лекарство_догоспит
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, глюкоза_5, 50000 мг/час)
			КОНЕЦ_ЕСЛИ
				МассивДата = ТекущееВремя
				ПеременнаяМинуты = минуты(МассивДата)+60
				МассивДата = дата(ПеременнаяМинуты)
				Вызов_Врача("При отсутствии ухудшения показателей изменение дозировки лекарств через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )

			СПАТЬ(1 час)
		КОНЕЦ_ЕСЛИ
	КОНЕЦ_ЕСЛИ
		ВЫЗОВ_ВРАЧА("Ввести 500 мл Натрий Хлор 0,9% за 1 час", 1 мин)
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_НАТРИЙ_ХЛОР,натрий_хлор_09, 500 мл/час)
		
			МассивДата = ТекущееВремя
			ПеременнаяМинуты = минуты(МассивДата)+60
			МассивДата = дата(ПеременнаяМинуты)
			Вызов_Врача("При отсутствии ухудшения показателей оценка диуреза через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+" )", 15 мин )

		СПАТЬ(1 час)
		ВЫЗОВ_ВРАЧА("Внимание! Уровень диуреза за последние два часа должен составлять как минимум 0.5 л.", 1 мин)
			МассивДата = ТекущееВремя
			ПеременнаяМинуты = минуты(МассивДата)+60
			МассивДата = дата(ПеременнаяМинуты)
			Вызов_Врача("При отсутствии ухудшения показателей изменение дозировки лекарств через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )
		СПАТЬ(1 час)
		ВЫЗОВ_ВРАЧА("Ввести 500 мл Натрий Хлор 0,9% за 2 часа", 1 мин)
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_НАТРИЙ_ХЛОР, натрий_хлор_09, 250 мл/час)

			МассивДата = ТекущееВремя
			ПеременнаяМинуты = минуты(МассивДата)+120
			МассивДата = дата(ПеременнаяМинуты)
			Вызов_Врача("При отсутствии ухудшения показателей окончание введения лекарств через 2 часа (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )		

		СПАТЬ(2 час)
		ВЫЗОВ_ВРАЧА("Ввод NaCl/глюкозы закончен.", 1 мин)
	КОНЕЦ_ЕСЛИ
ЕСЛИ кома==4 то
ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, глюкоза_5, 5000 мг/час, 1 час)
КОНЕЦ_ЕСЛИ
	ВЫХОД
КОНЕЦ_БЛОКА
//========================================
БЛОК ИНСУЛИНОТЕРАПИЯ()
	ЕСЛИ глюкоза>13.1 и кома==3 то 
ВЫЗОВ_ВРАЧА("Добавьте в раствор инсулина растворимого (человеческого генно-инженерного) 0,9% раствор NaCl до 1 мл для предупреждения абсорбции добавьте 2 мл 20% альбумина или 1 мл крови", 1мин)
    	инсулин=МАССА*0.1		
          ВЫЗОВ_ВРАЧА("Ввести инсулин "+строка(инсулин)+" ЕД за 3 минуты внутривенно") 
		
ВЫЗОВ_ВРАЧА("Инсулинотерапия. К 50 ед. инсулина растворимого (человеческого генно-инженерного) добавьте 2 мл 20% альбумина или 1 мл крови и довести до 50 мл 0,9% NaCl.", 2мин)
ДОЗА_ИКД=0.1
ДОЗА(0.1, "ЕД/кг/час")
ИНФ_НОМЕР_ИКД=ВВЕСТИ_НАЧАТЬ(1, икд, ДОЗА_ИКД*МАССА Ед/час)
иначе 
ВЫХОД
КОНЕЦ_ЕСЛИ


СПАТЬ(1час)

Повторять_в_течение (24час)
глюкоза1=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	ЕСЛИ (глюкоза-глюкоза1)<=3 то
		ДОЗА_ИКД=ДОЗА_ИКД*2
		Доза(ДОЗА_ИКД, "ЕД/кгчас")
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза<=14 то
	ДОЗА_ИКД=ДОЗА_ИКД/2
	Доза(ДОЗА_ИКД, "ЕД/кгчас")
	ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ (глюкоза-глюкоза1)>=5 то
		ЗАКОНЧИТЬ_ВВЕДЕНИЕ(ИНФ_НОМЕР_ИКД)
		ВЫХОД
	КОНЕЦ_ЕСЛИ 
	ЕСЛИ (глюкоза-глюкоза1)>=3 и (глюкоза-глюкоза1)<=4.5 то
		ДОЗА_ИКД=ДОЗА_ИКД
		Доза(ДОЗА_ИКД, "ЕД/кгчас")
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	КОНЕЦ_ЕСЛИ
ЕСЛИ (глюкоза-глюкоза1)>4.5 и (глюкоза-глюкоза1)<5 то
		ДОЗА_ИКД=ДОЗА_ИКД/2
		Доза(ДОЗА_ИКД, "ЕД/кгчас")
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	КОНЕЦ_ЕСЛИ
ЕСЛИ глюкоза<2.8 то
	ЗАКОНЧИТЬ_ВВЕДЕНИЕ(ИНФ_НОМЕР_ИКД)
	ВЫЗОВ_ВРАЧА("Низкое значение глюкозы крови")
	ИНФ_НОМЕР_ГЛЮКОЗА=ВВЕСТИ_НАЧАТЬ(100, глюкоза_5, 5000 мг/час)
	КОНЕЦ_ЕСЛИ
	глюкоза=глюкоза1
		МассивДата = ТекущееВремя
		ПеременнаяМинуты = минуты(МассивДата)+60
		МассивДата = дата(ПеременнаяМинуты)
		Вызов_Врача("При отсутствии ухудшения показателей повторный забор крови содержание глюкозы через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )
		СПАТЬ(1час)
	Конец_повтора
	
	ЕСЛИ глюкоза>13.1 и кома==2 то
	ДОЗА_ИКД=2
	ДОЗА(2, "ЕД/час")
	ИНФ_НОМЕР_ИКД=ВВЕСТИ_НАЧАТЬ(2, икд, ДОЗА_ИКД Ед/час)
	СПАТЬ(4 час)
	Повторять_в_течение (24час)
глюкоза1=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	ЕСЛИ (глюкоза-глюкоза1)<=3 то
		ДОЗА_ИКД=0.1
		ДОЗА_ИКД=ДОЗА_ИКД*2
		Доза(ДОЗА_ИКД, "ЕД/кгчас")
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза<=14 то
	ДОЗА_ИКД=ДОЗА_ИКД/2
	Доза(ДОЗА_ИКД, "ЕД/кгчас")
	ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ (глюкоза-глюкоза1)>=5 то
		ЗАКОНЧИТЬ_ВВЕДЕНИЕ(ИНФ_НОМЕР_ИКД)
		ВЫХОД
	КОНЕЦ_ЕСЛИ 
	ЕСЛИ (глюкоза-глюкоза1)>=3 и (глюкоза-глюкоза1)<=4.5 то
		ДОЗА_ИКД=ДОЗА_ИКД
		Доза(ДОЗА_ИКД, "ЕД/кгчас")
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	КОНЕЦ_ЕСЛИ
ЕСЛИ (глюкоза-глюкоза1)>4.5 и (глюкоза-глюкоза1)<5 то
		ДОЗА_ИКД=ДОЗА_ИКД/2
		Доза(ДОЗА_ИКД, "ЕД/кгчас")
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	КОНЕЦ_ЕСЛИ
ЕСЛИ глюкоза<2.8 то
	ЗАКОНЧИТЬ_ВВЕДЕНИЕ(ИНФ_НОМЕР_ИКД)
	ВЫЗОВ_ВРАЧА("Низкое значение глюкозы крови")
	ИНФ_НОМЕР_ГЛЮКОЗА=ВВЕСТИ_НАЧАТЬ(100, глюкоза_5, 5000 мг/час)
	КОНЕЦ_ЕСЛИ
	глюкоза=глюкоза1
		МассивДата = ТекущееВремя
		ПеременнаяМинуты = минуты(МассивДата)+60
		МассивДата = дата(ПеременнаяМинуты)
		Вызов_Врача("При отсутствии ухудшения показателей повторный забор крови содержание глюкозы через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )
		СПАТЬ(1час)
	Конец_повтора
КОНЕЦ_ЕСЛИ

КОНЕЦ_БЛОКА

//================
БЛОК ОБРАБОТКА_ЧДД()
	ЕСЛИ ЧДД<=8 то  
		ВЫЗОВ_ВРАЧА("Критически низкая ЧДД (ЧДД). Требуется интубация трахеи, перевод дыхания на АИВЛ.", 10мин)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ ЧДД>=32 то  
		ВЫЗОВ_ВРАЧА("Критически высокая ЧДД (ЧДД). Требуется интубация трахеи, перевод дыхания на АИВЛ.", 10мин)	
   КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА
//===========
БЛОК ОБРАБОТКА_АД()    
	ЕСЛИ СРАД<=50 то  
		ВЫЗОВ_ВРАЧА("Критически низкое среднее АД (СРАД). Завершение работы алгоритма.", 10мин)
		ОСТАНОВИТЬ_АЛГОРИТМ  // СДЕЛАТЬ ВЫХОД СРАЗУ ИЗ ВСЕХ НИТЕЙ!!!
	КОНЕЦ_ЕСЛИ
	ЕСЛИ СРАД>=120 то  
		ВЫЗОВ_ВРАЧА("Критически высокое среднее АД (СРАД). Завершение работы алгоритма.", 10мин)
		ОСТАНОВИТЬ_АЛГОРИТМ  // СДЕЛАТЬ ВЫХОД СРАЗУ ИЗ ВСЕХ НИТЕЙ!!!
	КОНЕЦ_ЕСЛИ
ЕСЛИ САД<80 и кома==3 то
ВЫЗОВ_ВРАЧА("Осуществлять регидратацию коллоидными плазмозаменителями", 2 мин)
КОНЕЦ_ЕСЛИ
ЕСЛИ САД<80 и кома==2 то
ВЫЗОВ_ВРАЧА("Ввести быстро 1 л 0,9% раствора NaCl или коллоидные растворы", 2 мин)
КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА
//****************
БЛОК КОНТРОЛЬ_КАЛИЯ()
СПАТЬ(5мин)
калий=ВВОД("Введите показатели Калия, если неизвестно укажите 0, (ммоль/л).", 0, 15)
ЕСЛИ калий==0 то
ВЫЗОВ_ВРАЧА("Введение калия показано не позднее чем через 2 часа после начала инсулинотерапии, водить под контролем ЭКГ и диуреза")
ИНФ_НОМЕР_КАЛИЙ=ВВЕСТИ_НАЧАТЬ(100, калий_хлорид, 1.5 г/час)
КОНЕЦ_ЕСЛИ
ЕСЛИ калий>6 то
ВЫЗОВ_ВРАЧА("Введение препаратов калия не показано")
КОНЕЦ_ЕСЛИ
ЕСЛИ калий<3 и калий>0 то
ВЫЗОВ_ВРАЧА("Инфузию Калия осуществлять под контролем ЭКГ и диуреза")
ИНФ_НОМЕР_КАЛИЙ=ВВЕСТИ_НАЧАТЬ(100, калий_хлорид, 3 г/час)
КОНЕЦ_ЕСЛИ
ЕСЛИ калий>3 и калий<3.9 то
ВЫЗОВ_ВРАЧА("Инфузию Калия осуществлять под контролем ЭКГ и диуреза")
ИНФ_НОМЕР_КАЛИЙ=ВВЕСТИ_НАЧАТЬ(100, калий_хлорид, 2 г/час)
КОНЕЦ_ЕСЛИ
ЕСЛИ калий>4 и калий<4.9 то
ВЫЗОВ_ВРАЧА("Инфузию Калия осуществлять под контролем ЭКГ и диуреза")
ИНФ_НОМЕР_КАЛИЙ=ВВЕСТИ_НАЧАТЬ(100, калий_хлорид, 1.5 г/час)
КОНЕЦ_ЕСЛИ
ЕСЛИ калий>5 и калий<5.9 то
ВЫЗОВ_ВРАЧА("Инфузию Калия осуществлять под контролем ЭКГ и диуреза")
ИНФ_НОМЕР_КАЛИЙ=ВВЕСТИ_НАЧАТЬ(100, калий_хлорид, 1 г/час)
КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА
//______________
БЛОК КОНТРОЛЬ_СПО2()
ЕСЛИ СПО2<94 и ингаляция==0 то
	ВЫЗОВ_ВРАЧА("Проводить ингаляцию увлажненного кислорода через носовые канюли, скорость потока 2-8 л/мин.",2мин)
	ингаляция=1
	КОНЕЦ_ЕСЛИ
	СПАТЬ(30 мин)
	ЕСЛИ СПО2>94 и ингаляция==1 то
	ВЫЗОВ_ВРАЧА("Прекратить ингаляцию кислорода. SpO2 в норме.", 1мин)
	ингаляция=0
	КОНЕЦ_ЕСЛИ
ЕСЛИ СПО2<90 и ингаляция==1 то
ВЫЗОВ_ВРАЧА("Требуется интубация трахеи, перевод дыхания на АИВЛ")
вентиляция=1
КОНЕЦ_ЕСЛИ
ЕСЛИ (ШКГ<=8 и ШКГ>=1) и вентиляция==0 и (кома==3 или кома==4) то 
ВЫЗОВ_ВРАЧА("Перевод дыхания на АИВЛ в режиме гипервентиляции", 1 мин)
вентиляция=1
КОНЕЦ_ЕСЛИ
ЕСЛИ (ШКГ<=8 и ШКГ>=1) и вентиляция==0 и кома==2 то 
ВЫЗОВ_ВРАЧА("Перевод дыхания на АИВЛ в обычном режиме", 1 мин)
вентиляция=1
КОНЕЦ_ЕСЛИ
ЕСЛИ СПО2<90 и вентиляция==1 и ингаляция==1 то 
ВЫЗОВ_ВРАЧА("Проверьте правильность работы аппарата ИВЛ", 1 мин)
КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА
//******************************
БЛОК ГИПОГЛИКЕМИЯ()
ВВЕСТИ_БЫСТРО(1, глюкоза_40, 16000 мг, в/в)
СПАТЬ(2мин)
сознание=ВЫБОР("Пациент пришёл в сознание?", "Да",1, "Нет", 0)
		ЕСЛИ сознание==1 то
			ВЫЗОВ_ВРАЧА("Приступ гипогликемии купирован. Завершение работы алгоритма.", 1мин)
			ВЫХОД
		иначе
			ВВЕСТИ_БЫСТРО(1, глюкоза_40, 24000 мг, в/в)
КОНЕЦ_ЕСЛИ
СПАТЬ(2мин)
сознание=ВЫБОР("Пациент пришёл в сознание?", "Да",1, "Нет", 0)
		ЕСЛИ сознание==1 то
			ВЫЗОВ_ВРАЧА("Приступ гипогликемии купирован. Завершение работы алгоритма.", 1мин)
			ВЫХОД
		иначе
			ИНФ_НОМЕР_ГЛЮКОЗА=ВВЕСТИ_НАЧАТЬ(100, глюкоза_5, 25000 мг/час)
КОНЕЦ_ЕСЛИ
ВЫЗОВ_ВРАЧА("Измерьте значение глюкозы крови",1 мин)
			МассивДата = ТекущееВремя
			ПеременнаяМинуты = минуты(МассивДата)+60
			МассивДата = дата(ПеременнаяМинуты)
			Вызов_Врача("При отсутствии ухудшения показателей повторный осмотр пациента через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )
			СПАТЬ(1 час) // уточнить это время
		
КОНЕЦ_БЛОКА
//____________________________________________________
БЛОК ЛЕЧЕНИЕ_НАТРИЙ_ХЛОР_СКОР()
ЕСЛИ ПиАш<=6.9 и кома==2 то
ВЫЗОВ_ВРАЧА("Ввести медленно капельно 4 г. бикарбоната натрия (200 мл 2% раствора внутривенно медленно за 1 ч)", 5 мин)
КОНЕЦ_ЕСЛИ
ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, натрий_хлор_09, 1000 мл/час)
ВЫЗОВ_ВРАЧА("Ввести за 1й час 1 л 0,9% раствора NaCl, затем в зависимости от уровня Na+", 1 мин)
СПАТЬ(1 час)
натрий=ВВОД("Введите показатель концентрации Na+, (ммоль/л).", 0, 200)
		натрий=натрий + 1.6*(глюкоза- 5.5)/5.5
		
			ДОЗА_НАТРИЙ_ХЛОР=1000
			ЕСЛИ натрий<=145 то
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, натрий_хлор_09, ДОЗА_НАТРИЙ_ХЛОР мл/час, 1 час)
			КОНЕЦ_ЕСЛИ
			ЕСЛИ натрий<165 и  натрий >145 то
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, натрий_хлор_045, ДОЗА_НАТРИЙ_ХЛОР мл/час, 1 час)
			КОНЕЦ_ЕСЛИ
			ЕСЛИ натрий >=165 то
				ДОЗА_ГЛЮКОЗА=1000-лекарство_догоспит
				ИНФ_НОМЕР_НАТРИЙ_ХЛОР=ВВЕСТИ_НАЧАТЬ(100, глюкоза_5, 50000 мг/час, 1 час)
			КОНЕЦ_ЕСЛИ
				МассивДата = ТекущееВремя
				ПеременнаяМинуты = минуты(МассивДата)+60
				МассивДата = дата(ПеременнаяМинуты)
				Вызов_Врача("При отсутствии ухудшения показателей изменение дозировки лекарств через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )

			СПАТЬ(1 час)
		ВЫЗОВ_ВРАЧА("Ввести 500 мл Натрий Хлор 0,9% за 1 час", 1 мин)
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_НАТРИЙ_ХЛОР,натрий_хлор_09, 500 мл/час)
		
			МассивДата = ТекущееВремя
			ПеременнаяМинуты = минуты(МассивДата)+60
			МассивДата = дата(ПеременнаяМинуты)
			Вызов_Врача("При отсутствии ухудшения показателей оценка диуреза через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+" )", 15 мин )

		СПАТЬ(1 час)
		ВЫЗОВ_ВРАЧА("Внимание! Уровень диуреза за последние два часа должен составлять как минимум 0.5 л.", 1 мин)
			МассивДата = ТекущееВремя
			ПеременнаяМинуты = минуты(МассивДата)+60
			МассивДата = дата(ПеременнаяМинуты)
			Вызов_Врача("При отсутствии ухудшения показателей изменение дозировки лекарств через 1 час (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )
		СПАТЬ(1 час)
		ВЫЗОВ_ВРАЧА("Ввести 500 мл Натрий Хлор 0,9% за 2 часа", 1 мин)
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_НАТРИЙ_ХЛОР, натрий_хлор_09, 250 мл/час)

			МассивДата = ТекущееВремя
			ПеременнаяМинуты = минуты(МассивДата)+120
			МассивДата = дата(ПеременнаяМинуты)
			Вызов_Врача("При отсутствии ухудшения показателей окончание введения лекарств через 2 часа (в "+строка(МассивДата[3])+":"+строка(МассивДата[4])+")", 15 мин )		

		СПАТЬ(2 час)
		ВЫЗОВ_ВРАЧА("Ввод NaCl/глюкозы закончен.", 1 мин)

КОНЕЦ_БЛОКА
//******************************
БЛОК ИНСУЛИНОТЕРАПИЯ_МОЛОЧНОКИС()
ЕСЛИ (глюкоза>5.5 и глюкоза<10) то
ДОЗА_ИКД=2
ДОЗА(2, "ЕД/час")
ИНФ_НОМЕР_ИКД=ВВЕСТИ_НАЧАТЬ(2, икд, ДОЗА_ИКД Ед/час)
СПАТЬ(30 мин)
Повторять_в_течение (24час)
глюкоза1=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	ЕСЛИ (глюкоза-глюкоза1)>=3 то
		ПОКА ДОЗА_ИКД<=5 
		ДОЗА_ИКД=ДОЗА_ИКД+1
		КОНЕЦ_ПОКА
		Доза(ДОЗА_ИКД, "ЕД/кг/час")
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
		СПАТЬ(1час)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза<=3 то
		ЗАКОНЧИТЬ_ВВЕДЕНИЕ(ИНФ_НОМЕР_ИКД)
		ВЫХОД
	КОНЕЦ_ЕСЛИ
КОНЕЦ_ПОВТОРА
КОНЕЦ_ЕСЛИ
ЕСЛИ глюкоза>=10 то
ДОЗА_ИКД=3
ДОЗА(3, "ЕД/час")
ИНФ_НОМЕР_ИКД=ВВЕСТИ_НАЧАТЬ(2, икд, ДОЗА_ИКД Ед/час)
Повторять_в_течение (24час)
глюкоза1=ВВОД("Введите показатели концентрации глюкозы в крови, (ммоль/л).", 0, 200)
	ЕСЛИ (глюкоза-глюкоза1)>=3 то
		ПОКА ДОЗА_ИКД<=5 
		ДОЗА_ИКД=ДОЗА_ИКД+1
		КОНЕЦ_ПОКА
		Доза(ДОЗА_ИКД, "ЕД/кг/час")
		ИЗМЕНИТЬ_СКОРОСТЬ(ИНФ_НОМЕР_ИКД, икд, ДОЗА_ИКД*МАССА ЕД/час)
	СПАТЬ(1час)
	КОНЕЦ_ЕСЛИ
	ЕСЛИ глюкоза<=3 то
		ЗАКОНЧИТЬ_ВВЕДЕНИЕ(ИНФ_НОМЕР_ИКД)
		ВЫХОД
	КОНЕЦ_ЕСЛИ
КОНЕЦ_ПОВТОРА
КОНЕЦ_ЕСЛИ
КОНЕЦ_БЛОКА