-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexam1c.html
227 lines (194 loc) · 7.67 KB
/
exam1c.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
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MRCOG Part 3 candidate UI</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/2.1.3/marked.min.js"></script>
<style>
body {
font-family: Arial, sans-serif;
max-width: 80%;
margin: 0 auto;
padding: 20px;
}
#timer {
position: fixed;
top: 0;
left: 0;
right: 0;
background-color: #f8f9fa;
font-size: 24px;
font-weight: bold;
padding: 10px;
text-align: center;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
z-index: 1000;
}
#exam-content {
margin-top: 60px;
}
#task-title, #instructions, #case, #notes {
margin-bottom: 20px;
}
button {
padding: 10px 20px;
font-size: 16px;
}
#case {
border: 1px solid #ccc;
padding: 15px;
background-color: #f9f9f9;
}
#notes {
width: 100%;
height: 150px;
resize: vertical;
}
#instructions {
font-weight: bold;
background-color: #e6f3ff;
padding: 10px;
border-left: 5px solid #3498db;
}
#task-title {
font-size: 1.2em;
font-weight: bold;
background-color: #ffff00;
padding: 5px;
}
</style>
</head>
<body>
<div id="timer"></div>
<div id="exam-content">
<h1>MRCOG Part 3 candidate UI</h1>
<div id="start-screen">
<div>
<ul>
<li><strong>Duration</strong> – 2 hours 48 minutes.</li>
<li><strong>Structure</strong> – 14 stations × 12 minutes, which includes 2 minutes of initial reading time.</li>
<li><strong>Additional information</strong> – At the start of each station, you will have 2 minutes to read the instructions for the task and any additional material.</li>
</ul>
</div>
<button id="start-btn">Start Exam</button>
</div>
<div id="exam-screen" style="display: none;">
<div id="task-title"></div>
<div id="instructions"></div>
<div id="case"></div>
<textarea id="notes" placeholder="Type your notes here..."></textarea>
</div>
</div>
<script>
const startBtn = document.getElementById('start-btn');
const startScreen = document.getElementById('start-screen');
const examScreen = document.getElementById('exam-screen');
const timerDisplay = document.getElementById('timer');
const taskTitleDisplay = document.getElementById('task-title');
const instructionsDisplay = document.getElementById('instructions');
const caseDisplay = document.getElementById('case');
const notesArea = document.getElementById('notes');
const tasks = [
{
title: "Station 1",
instructions: "This is a simulated patient task.",
case: `You are an ST5 in the gynaecology clinic. The GP has referred a 34-year-old for counselling on contraception. The referral letter is given below.
---
**Winchester Road Surgery**
12 Winchester Road
Southend-on-Sea
SO19 7TY
Dear Dr,
Re: Mrs Heather French, Age 34 years
I saw this woman in my surgery requesting contraception. She wanted to go on the combined oral contraceptive pill. Her history is very complicated and I was not comfortable starting her on this. I would be grateful if you could see and offer her the best option. The family planning services are too far from here, and hence I am referring her to the gynaecology clinic.
Yours sincerely,
Dr Sanjay Prabhu MBChB, FRCGP
---
### Tasks:
1. Take focused history
2. Initiate any investigations considered appropriate
3. Offer contraceptive advice`,
},
{
title: "Station 2",
instructions: "This is a simulated patient task.",
case: `You are a ST5 doctor in the urogynaecology clinic. You are asked to see Amanda Scott, who is a 64-year-old woman. She has been referred by her GP with mixed urinary incontinence which has not responded to supervized pelvic floor muscle training, bladder retraining and Tolterodine.
**Patient Details:**
- Age: 64 years
- Parity: Para 2 with two spontaneous vaginal deliveries
- Medical History: No significant medical or surgical history
- Previous Examination: Did not reveal any pelvic organ prolapse
A urodynamic study was performed before her clinic appointment. Amanda wishes to know more about the urodynamic findings and management options available to her.
**Your Task:**
You will have ten minutes for the initial discussion. Once you have finished discussion with Amanda the assessor will ask you some questions.
You have 10 minutes for this task (+ 2mins initial reading time).
### Tasks:
1. Discuss urodynamic findings with Amanda
2. Explain management options
3. Answer assessor's questions`,
},
{
"title": "Station 3",
"instructions": "This is an simulated trainee task.",
"case": ` A junior trainee has come to the department and would like to know more about the third stage of labour.
You have 10 minutes to explain the third stage of labour including:
1. The components of active and passive management.
2. How to diagnose a prolonged third stage of labour.
3. The techniques and medications that are used in active management of the third stage.`,
},
// ... other tasks can be added here
];
let currentTask = 0;
let timer;
let timeLeft;
startBtn.addEventListener('click', startExam);
function startExam() {
startScreen.style.display = 'none';
examScreen.style.display = 'block';
nextTask();
}
function startTimer(seconds, label) {
clearInterval(timer);
timeLeft = seconds;
updateTimerDisplay(label);
timer = setInterval(() => {
timeLeft--;
updateTimerDisplay(label);
if (timeLeft <= 0) {
clearInterval(timer);
if (label === 'Reading Time') {
startTimer(600, 'Task Time');
} else {
nextTask();
}
}
}, 1000);
}
function updateTimerDisplay(label) {
const minutes = Math.floor(timeLeft / 60);
const seconds = timeLeft % 60;
timerDisplay.textContent = `${label}: ${minutes}:${seconds.toString().padStart(2, '0')}`;
}
function showTask() {
const task = tasks[currentTask];
taskTitleDisplay.textContent = task.title;
instructionsDisplay.innerHTML = marked.parse(task.instructions);
caseDisplay.innerHTML = marked.parse(task.case);
notesArea.value = ''; // Clear notes for new task
}
function nextTask() {
if (currentTask < tasks.length) {
showTask();
startTimer(120, 'Reading Time');
} else {
endExam();
}
currentTask++;
}
function endExam() {
examScreen.innerHTML = '<h2>Exam Completed</h2><p>Thank you for taking the MRCOG Part 3 mock Exam number 1.</p>';
}
</script>
</body>
</html>