-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
112 lines (101 loc) · 5.25 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<!DOCTYPE html>
<html lang="ru">
<head>
<title>Калькулятор</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>
<script>
"use strict"
function set_response(title, text, target_class) {
document.getElementById('response_alert').className = target_class
document.getElementById('response_title').textContent = title
document.getElementById('response_text').textContent = text
}
function calculate(sad, dad, css, therapy) {
let tsc = 60 / css,
tpi = tsc * 0.109 + 0.159,
imok = ((sad + dad) * tpi) / ((tsc - tpi) * dad),
z = 8.055 - 1.674 * therapy - 6.614 * imok
return Math.round(1 / (1 + Math.pow(Math.E, -z)) * 100)
}
function process() {
let form = document.forms['input'],
sad = form['sad'].value,
dad = form['dad'].value,
css = form['css'].value
if (!(sad && dad && css)) {
set_response('', '', '') // Это сотрёт со страницы результат предыдущих вычислений
return // Код ниже не выполняется, если хотя бы одно из полей пустое
}
let p = calculate(
Number(sad),
Number(dad),
Number(css),
Number(document.querySelector('input[name="TherapyRadios"]:checked').value)
)
let info = '',
alert_class = "alert alert-success"
if (p >= 59) {
info = 'Низкий риск персистирования симпатикотонии'
} else {
info = 'Высокий риск персистирования симпатикотонии'
alert_class = "alert alert-danger"
}
set_response(`Вероятность ${100 - p}%`, info, alert_class)
}
</script>
<div class="container col-md-12">
<h5 class="text-center">Прогнозирование риска персистирования симпатикотонии у пациентов с психовегетативным синдромом после
коронарного шунтирования в период активного врачебного наблюдения
амбулаторно-поликлинического этапа реабилитации</h5>
<form id="input" onsubmit="return false">
<div class="form-group">
<label>Анксиолитическая терапия (АТ)</label>
<div class="form-check">
<input class="form-check-input" type="radio" name="TherapyRadios" id="therapy_1" value="0" checked>
<label class="form-check-label" for="therapy_1">Проводилась</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="TherapyRadios" id="therapy_2" value="1">
<label class="form-check-label" for="therapy_2">Не проводилась </label>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="sad">Cистолическое артериальное давление (САД)</label>
<input required type="number" class="form-control" id="sad" placeholder="мм. рт.ст.">
</div>
<div class="form-group col-md-6">
<label for="dad">Диастолическое артериальное давление (ДАД)</label>
<input required type="number" class="form-control" id="dad" placeholder="мм. рт.ст.">
</div>
</div>
<div class="form-group">
<label for="css">Частота сердечных сокращений в минуту (ЧСС)</label>
<input required type="number" class="form-control" id="css" placeholder="уд. в минуту">
</div>
<button type="submit" class="btn btn-primary btn-block"
onclick="try{ process() } catch(e) {set_response('Ошибка', e, 'alert alert-danger')}">Рассчитать
</button>
</form>
<br>
<div role="alert" id="response_alert">
<h5 class="alert-heading" id="response_title"></h5>
<p id="response_text"></p>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
</body>
</html>