File size: 22,156 Bytes
ad05511
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SarcoMonitor - 智能肌少症识别系统</title>
    <link rel="icon" type="image/png" href="/static/muscle_icon.png">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <!-- Font Awesome -->
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <!-- VT323 字体 -->
    <link href="https://fonts.googleapis.com/css2?family=VT323&display=swap" rel="stylesheet">
    <!-- MathJax -->
    <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
    <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
    <script>
        window.MathJax = {
            tex: {
                inlineMath: [['$', '$'], ['\\(', '\\)']],
                displayMath: [['$$', '$$'], ['\\[', '\\]']]
            }
        };
    </script>
    <!-- 自定义CSS -->
    <link href="/static/style.css" rel="stylesheet">
</head>

<body style="background-color: #E4F4F4;">
    <!-- 导航栏 -->
    <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #E4F4F4; padding: 10px 0 0 0; margin-bottom: 0;">
        <div class="container">
            <!-- 居中的图标和标题 -->
            <div class="w-100 d-flex flex-column align-items-center">
                <img src="/static/pixel_handshake.png" width="200" style="vertical-align: middle; margin-bottom: -10px; image-rendering: pixelated; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges;" alt="SarcoMonitor">
                <div class="pixel-game-title">SarcoMonitor</div>
            </div>
            <!-- 移除右上角语言切换按钮 -->
        </div>
    </nav>

    <!-- 主容器 -->
    <div class="container" style="margin-top: 10px; margin-bottom: 3rem;">
        <!-- 阶段1:快速评估 -->
        <div id="quickAssessmentSection">
            <div class="row mb-4">
                <div class="col-12">
                    <div class="card shadow-sm">
                        <div class="card-body text-center">
                            <h2 class="card-title text-success mb-3">
                                <span class="lang-zh">SarcoMonitor:智能肌少症识别系统</span>
                                <span class="lang-en">SarcoMonitor: Intelligent Sarcopenia Detection System</span>
                            </h2>
                            <p class="card-text lead">
                                <span class="lang-zh">基于机器学习技术检测I类及II类肌少症患者</span>
                                <span class="lang-en">Machine Learning-Based Detection of Type I and Type II Sarcopenia Patients</span>
                            </p>
                            <div class="alert alert-warning mb-3">
                                <i class="fas fa-exclamation-triangle me-2"></i>
                                <strong>
                                    <span class="lang-zh">适用人群:18-55岁成年人群</span>
                                    <span class="lang-en">Target Population: Adults aged 18-55 years</span>
                                </strong>
                            </div>
                            <!-- 模型类型展示 -->
                            <div class="row text-center mb-4">
                                <div class="col-md-6">
                                    <div class="card border-primary h-100 model-card-bg">
                                        <div class="card-body">
                                            <h6 class="text-primary">
                                                <i class="fas fa-search me-2"></i>
                                                <span class="lang-zh">肌少症筛查模型</span>
                                                <span class="lang-en">Sarcopenia Screening Models</span>
                                            </h6>
                                            <small class="text-muted">
                                                <span class="lang-zh">高召回率<br>仅需5个指标即可完成快速筛查</span>
                                                <span class="lang-en">High Recall<br>Only 5 indicators needed for rapid screening</span>
                                            </small>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="card border-primary h-100 model-card-bg">
                                        <div class="card-body">
                                            <h6 class="text-primary">
                                                <i class="fas fa-lightbulb me-2"></i>
                                                <span class="lang-zh">肌少症建议模型</span>
                                                <span class="lang-en">Sarcopenia Advisory Models</span>
                                            </h6>
                                            <small class="text-muted">
                                                <span class="lang-zh">高精确率<br>基于DiCE技术提供建议</span>
                                                <span class="lang-en">High Precision<br>DiCE-based Recommendations</span>
                                            </small>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <!-- 模型性能指标 -->
                            <div class="alert alert-info" style="background-color: #EAFBF8 !important; border-color: #EAFBF8 !important; color: #2d5a3d !important;">
                                <h6 class="alert-heading">
                                    <i class="fas fa-chart-bar me-2"></i>
                                    <span class="lang-zh">模型性能指标</span>
                                    <span class="lang-en">Model Performance Metrics</span>
                                </h6>
                                <div class="row small">
                                    <div class="col-md-6">
                                        <strong class="text-primary">
                                            <span class="lang-zh">筛查模型 (高召回率)</span>
                                            <span class="lang-en">Screening Models (High Recall)</span>
                                        </strong>
                                        <ul class="list-unstyled mt-2 mb-3">
                                            <li><strong>SarcoI:</strong> Recall: 91.1% | Precision: 43.1%</li>
                                            <li><strong>SarcoII:</strong> Recall: 89.8% | Precision: 25.5%</li>
                                        </ul>
                                    </div>
                                    <div class="col-md-6">
                                        <strong class="text-success">
                                            <span class="lang-zh">建议模型 (高精确率)</span>
                                            <span class="lang-en">Advisory Models (High Precision)</span>
                                        </strong>
                                        <ul class="list-unstyled mt-2 mb-3">
                                            <li><strong>SarcoI:</strong> Precision: 60.2% | Recall: 66.1%</li>
                                            <li><strong>SarcoII:</strong> Precision: 68.4% | Recall: 33.1%</li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- 快速评估表单 -->
            <div class="row mb-4">
                <div class="col-lg-6 mx-auto">
                    <div class="card shadow">
                        <div class="card-header bg-success text-white">
                            <h4 class="card-title mb-0">
                                <i class="fas fa-user-check me-2"></i>
                                <span class="lang-zh">筛查模型问卷</span>
                                <span class="lang-en">Screening Model Questionnaire</span>
                            </h4>
                        </div>
                        <div class="card-body">
                            <form id="quickForm">
                                <!-- 年龄 -->
                                <div class="mb-3">
                                    <label for="age_years" class="form-label">
                                        <span class="lang-zh">年龄 (岁) <span class="text-success">*</span></span>
                                        <span class="lang-en">Age (years) <span class="text-success">*</span></span>
                                    </label>
                                    <input type="number" class="form-control" id="age_years" name="age_years"
                                           min="16" max="120" step="any" required>
                                </div>

                                <!-- 种族 -->
                                <div class="mb-3">
                                    <label for="race_ethnicity" class="form-label">
                                        <span class="lang-zh">种族/民族 <span class="text-success">*</span></span>
                                        <span class="lang-en">Race/Ethnicity <span class="text-success">*</span></span>
                                    </label>
                                    <select class="form-select" id="race_ethnicity" name="race_ethnicity" required>
                                        <option value="">
                                            <span class="lang-zh">请选择</span>
                                            <span class="lang-en">Please select</span>
                                        </option>
                                        <option value="0" data-zh="墨西哥裔美国人" data-en="Mexican American">墨西哥裔美国人</option>
                                        <option value="1" data-zh="其他西班牙裔" data-en="Other Hispanic">其他西班牙裔</option>
                                        <option value="2" data-zh="非西班牙裔白人" data-en="Non-Hispanic White">非西班牙裔白人</option>
                                        <option value="3" data-zh="非西班牙裔黑人" data-en="Non-Hispanic Black">非西班牙裔黑人</option>
                                        <option value="4" data-zh="其他种族-包括多种族" data-en="Other Race - Including Multi-Racial">其他种族-包括多种族</option>
                                    </select>
                                </div>

                                <!-- 身高体重 -->
                                <div class="row mb-3">
                                    <div class="col-md-6">
                                        <label for="height" class="form-label">
                                            <span class="lang-zh">身高 (cm) <span class="text-success">*</span></span>
                                            <span class="lang-en">Height (cm) <span class="text-success">*</span></span>
                                        </label>
                                        <input type="number" class="form-control" id="height" name="height"
                                               min="80" max="300" step="any" required>
                                    </div>
                                    <div class="col-md-6">
                                        <label for="weight" class="form-label">
                                            <span class="lang-zh">体重 (kg) <span class="text-success">*</span></span>
                                            <span class="lang-en">Weight (kg) <span class="text-success">*</span></span>
                                        </label>
                                        <input type="number" class="form-control" id="weight" name="weight"
                                               min="20" max="300" step="any" required>
                                    </div>
                                </div>

                                <!-- 腰围 -->
                                <div class="mb-3">
                                    <label for="waist" class="form-label">
                                        <span class="lang-zh">腰围 (cm) <span class="text-success">*</span></span>
                                        <span class="lang-en">Waist Circumference (cm) <span class="text-success">*</span></span>
                                    </label>
                                    <input type="number" class="form-control" id="waist" name="waist"
                                           min="40" max="250" step="any" required>
                                </div>

                                <!-- 自动计算显示 -->
                                <div class="row mb-3">
                                    <div class="col-md-6">
                                        <label class="form-label">
                                            <span class="lang-zh">BMI (自动计算)</span>
                                            <span class="lang-en">BMI (Auto-calculated)</span>
                                        </label>
                                        <div id="bmiDisplay" class="form-control-plaintext text-info fw-bold">--</div>
                                    </div>
                                    <div class="col-md-6">
                                        <label class="form-label">
                                            <span class="lang-zh">WWI (自动计算)</span>
                                            <span class="lang-en">WWI (Auto-calculated)</span>
                                        </label>
                                        <div id="wwiDisplay" class="form-control-plaintext text-info fw-bold">--</div>
                                    </div>
                                </div>

                                <!-- 提交按钮 -->
                                <div class="d-grid">
                                    <button type="submit" class="btn btn-success btn-lg" id="quickSubmitBtn">
                                        <i class="fas fa-search me-2"></i>
                                        <span class="lang-zh">快速筛查 (2个筛查模型)</span>
                                        <span class="lang-en">Quick Screening (2 Screening Models)</span>
                                    </button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>



        <!-- 快速结果 -->
        <div id="quickResultsSection" class="mb-4">
            <div class="card shadow">
                <div class="card-header bg-success text-white">
                    <h4 class="mb-0">
                        <i class="fas fa-chart-bar me-2"></i>
                        <span class="lang-zh">快速评估结果</span>
                        <span class="lang-en">Quick Assessment Results</span>
                    </h4>
                </div>
                <div class="card-body">
                    <div id="quickResultsContent">
                        <!-- 结果将通过JavaScript动态生成 -->
                    </div>
                    
                    <!-- 选择详细评估 -->
                    <div class="mt-4 pt-4 border-top">
                        <h5 class="text-success mb-3">
                            <i class="fas fa-lightbulb me-2"></i>
                            <span class="lang-zh">获得个性化改善建议</span>
                            <span class="lang-en">Get Personalized Improvement Recommendations</span>
                        </h5>
                        <p class="text-muted mb-3">
                            <span class="lang-zh">建议模型性能指标展示</span>
                            <span class="lang-en">Advisory Model Performance Metrics</span>
                        </p>
                        <div class="row justify-content-center">
                            <div class="col-md-6 mb-3">
                                <div class="card border-primary model-card-bg">
                                    <div class="card-body text-center">
                                        <div class="text-primary mb-2">
                                            <i class="fas fa-lightbulb fa-lg"></i>
                                        </div>
                                        <h6 class="card-title text-primary">
                                            <span class="lang-zh">I类肌少症建议模型</span>
                                            <span class="lang-en">Type I Sarcopenia Advisory Model</span>
                                        </h6>
                                        <div class="small text-muted mb-2">
                                            <span class="lang-zh">高精确率 + DiCE分析</span>
                                            <span class="lang-en">High Precision + DiCE Analysis</span>
                                        </div>
                                        <div class="small">
                                            <div class="text-muted">
                                                <span class="lang-zh">Precision: 60.2% | Recall: 66.1%</span>
                                                <span class="lang-en">Precision: 60.2% | Recall: 66.1%</span>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-6 mb-3">
                                <div class="card border-primary model-card-bg">
                                    <div class="card-body text-center">
                                        <div class="text-primary mb-2">
                                            <i class="fas fa-lightbulb fa-lg"></i>
                                        </div>
                                        <h6 class="card-title text-primary">
                                            <span class="lang-zh">II类肌少症建议模型</span>
                                            <span class="lang-en">Type II Sarcopenia Advisory Model</span>
                                        </h6>
                                        <div class="small text-muted mb-2">
                                            <span class="lang-zh">高精确率 + DiCE分析</span>
                                            <span class="lang-en">High Precision + DiCE Analysis</span>
                                        </div>
                                        <div class="small">
                                            <div class="text-muted">
                                                <span class="lang-zh">Precision: 68.4% | Recall: 33.1%</span>
                                                <span class="lang-en">Precision: 68.4% | Recall: 33.1%</span>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <div class="alert alert-info mt-3">
                            <i class="fas fa-info-circle me-2"></i>
                            <small>
                                <span class="lang-zh"><strong>说明:</strong>建议模型采用高精确率设计,专注于减少误诊。Precision表示预测为阳性的样本中真正为阳性的比例,Recall表示所有真正阳性样本中被正确识别的比例。</span>
                                <span class="lang-en"><strong>Note:</strong> Advisory models are designed with high precision to minimize false positives. Precision indicates the proportion of true positives among predicted positives, while Recall shows the proportion of actual positives correctly identified.</span>
                            </small>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 详细评估部分 -->
        <div id="detailedAssessmentSection">
            <div class="card shadow">
                <div class="card-body">
                    <div id="detailedFormContent">
                        <!-- 详细表单将根据选择动态生成 -->
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- 语言切换按钮 - 固定在页面底部 -->
    <div class="language-toggle-container" style="position: fixed; bottom: 20px; right: 20px; z-index: 1000;">
        <button class="btn btn-primary btn-sm shadow" onclick="toggleLanguage()"
                style="border-radius: 25px; padding: 8px 16px;">
            <i class="fas fa-globe me-1"></i>
            <span id="langToggleText">English</span>
        </button>
    </div>

    <!-- Bootstrap JS -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <!-- 自定义JS -->
    <script src="/static/quick_assessment.js"></script>
</body>
</html>