You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
'Archetypes in OpenEHR are used to define reusable clinical concepts. They provide a way to model clinical information that can be shared across different systems and contexts.',
44
43
hint: 'Think about the role of archetypes in standardizing clinical data.',
45
44
},
45
+
{
46
+
title: 'The Reference Model Riddle',
47
+
description:
48
+
"The Reference Model Riddle challenges your understanding of OpenEHR's foundational structure!",
49
+
challenge: 'What is the primary purpose of the OpenEHR Reference Model?',
50
+
options: [
51
+
'To store patient data directly',
52
+
'To define the structure of clinical archetypes',
53
+
'To provide a stable set of abstracting building blocks for clinical information',
54
+
'To manage user authentication in EHR systems',
55
+
],
56
+
correctAnswer: 2,
57
+
explanation:
58
+
'The OpenEHR Reference Model provides a stable set of abstracting building blocks for clinical information. It defines the logical structure of EHRs and the general set of data types used in healthcare, forming the foundation upon which archetypes and templates are built.',
59
+
hint: 'Think about the fundamental structure that supports the more specific clinical models in OpenEHR.',
"In OpenEHR, a composition is used to represent a clinical document or event. It's the top-level structure that contains all the clinical data for a single record, such as a consultation, a test result, or a discharge summary.",
60
75
hint: 'Consider what might represent a complete, standalone clinical record.',
61
76
},
77
+
{
78
+
title: 'The Two-Level Tangle',
79
+
description:
80
+
"The Two-Level Tangle tests your grasp of OpenEHR's modeling approach!",
81
+
challenge: 'What is meant by the "two-level modeling" approach in OpenEHR?',
82
+
options: [
83
+
'It refers to having separate models for inpatient and outpatient care',
84
+
'It separates the technical reference model from the clinical knowledge model',
85
+
'It means having two levels of user access in the EHR system',
86
+
'It describes a two-step process for creating medical records',
87
+
],
88
+
correctAnswer: 1,
89
+
explanation:
90
+
'The two-level modeling approach in OpenEHR separates the technical reference model from the clinical knowledge model. This allows for a stable technical foundation while enabling flexible and evolving clinical content models.',
91
+
hint: 'Consider how OpenEHR separates different aspects of its modeling to achieve both stability and flexibility.',
'In OpenEHR archetypes, quantity data types can be constrained in multiple ways. You can set a specific value, define a range of allowed values, or specify a list of allowed units. Often, a combination of these constraints is used to precisely define the acceptable values for a quantity.',
123
154
hint: 'Consider the various ways you might want to limit or specify how a quantity can be recorded in a clinical context.',
124
155
},
156
+
{
157
+
title: 'The Flat Format Fable',
158
+
description:
159
+
'The Flat Format Fable challenges you to understand different data representations in OpenEHR!',
160
+
challenge: 'What is the purpose of the "flat" format in OpenEHR?',
161
+
options: [
162
+
'To compress data for more efficient storage',
163
+
'To simplify data entry forms for clinicians',
164
+
'To provide a simplified format for API calls and data exchange',
165
+
'To flatten the organizational hierarchy in healthcare institutions',
166
+
],
167
+
correctAnswer: 2,
168
+
explanation:
169
+
'The flat format in OpenEHR is used to provide a simplified format for API calls and data exchange. It presents complex hierarchical data in a flattened structure, making it easier to work with in many programming contexts and simplifying data interchange.',
170
+
hint: 'Think about how complex hierarchical data might be simplified for easier handling in certain contexts.',
hint: 'Think about a storage method that would allow for flexible querying while maintaining the structure defined by archetypes.',
175
222
},
176
223
{
177
-
title: 'The Composition Conjurer',
178
-
description:
179
-
"You've made it to the Composition Conjurer's lair! Your task is to craft a composition that will impress the Conjurer.",
180
-
challenge:
181
-
"Create a composition for a patient's body temperature. The archetype ID is 'openEHR-EHR-OBSERVATION.body_temperature.v2'. The temperature is 37.5°C.",
'The correct composition follows the OpenEHR structure, including the proper archetype ID, and nests the temperature value within the expected data structure.',
236
-
hint: 'Consider the hierarchical structure of OpenEHR compositions and how data is typically represented.',
237
-
},
238
-
{
239
-
title: 'The AQL Alchemist',
224
+
title: 'The Querying Quest',
240
225
description:
241
-
'Enter the laboratory of the AQL Alchemist, where queries are brewed to extract the essence of clinical data!',
226
+
'The Querying Quest tests your knowledge of data retrieval in OpenEHR systems!',
242
227
challenge:
243
-
"Which AQL query will retrieve all blood pressure measurements for a specific patient with EHR ID 'abc123'?",
228
+
'Which query language is specifically designed for use with OpenEHR systems?',
244
229
options: [
245
-
"SELECT o/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude AS systolic, o/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude AS diastolic FROM EHR e CONTAINS COMPOSITION c CONTAINS OBSERVATION o[openEHR-EHR-OBSERVATION.blood_pressure.v1] WHERE e/ehr_id/value='abc123'",
246
-
"SELECT * FROM EHR WHERE patient_id = 'abc123' AND observation_type = 'blood_pressure'",
247
-
"GET blood_pressure FROM patient WHERE id = 'abc123'",
248
-
"FIND 'blood pressure' IN EHR 'abc123'",
230
+
'SQL (Structured Query Language)',
231
+
'AQL (Archetype Query Language)',
232
+
'SPARQL (SPARQL Protocol and RDF Query Language)',
233
+
'XQuery (XML Query Language)',
249
234
],
250
-
correctAnswer: 0,
235
+
correctAnswer: 1,
251
236
explanation:
252
-
'This AQL query correctly navigates the openEHR structure to retrieve systolic and diastolic blood pressure values from the specific archetype, filtering for the given EHR ID.',
253
-
hint: 'AQL uses a structure similar to SQL, but with paths that navigate the openEHR data model.',
237
+
'Archetype Query Language (AQL) is specifically designed for use with OpenEHR systems. It allows for querying of clinical data based on the archetype model, enabling powerful and flexible data retrieval across OpenEHR-based systems.',
238
+
hint: 'Consider which query language would be tailored to the unique structure of OpenEHR data.',
254
239
},
255
-
// New levels (added for increased difficulty and broader coverage)
hint: 'Consider how separating different aspects of the model might allow for flexibility and shared understanding.',
322
306
},
323
307
{
324
-
title: 'The Query Quandary',
308
+
title: 'The Composition Conjurer',
325
309
description:
326
-
'The Query Quandary tests your ability to construct complex AQL queries for real-world scenarios!',
310
+
"You've made it to the Composition Conjurer's lair! Your task is to craft a composition that will impress the Conjurer.",
327
311
challenge:
328
-
'Which AQL query would correctly retrieve the latest blood pressure readings for all patients diagnosed with hypertension in the last year?',
312
+
"Create a composition for a patient's body temperature. The archetype ID is 'openEHR-EHR-OBSERVATION.body_temperature.v2'. The temperature is 37.5°C.",
329
313
options: [
330
-
'SELECT e/ehr_id/value, o/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude AS systolic, o/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude AS diastolic FROM EHR e CONTAINS COMPOSITION c CONTAINS OBSERVATION o[openEHR-EHR-OBSERVATION.blood_pressure.v1] WHERE c/context/start_time > current_date - P1Y ORDER BY c/context/start_time DESC',
331
-
"SELECT * FROM EHR WHERE diagnosis = 'hypertension' AND diagnosis_date > current_date - 365 ORDER BY observation_date DESC LIMIT 1",
332
-
"GET latest_blood_pressure FROM patients WHERE diagnosis = 'hypertension' AND diagnosis_date > now() - interval '1 year'",
333
-
"FIND blood_pressure IN EHR WHERE condition = 'hypertension' AND condition.date > 1 year ago ORDER BY date DESC",
'This AQL query correctly navigates the openEHR structure to retrieve the latest blood pressure readings. It uses the proper archetype paths, filters for compositions created within the last year, and orders the results to get the latest readings.',
338
-
hint: 'Remember that AQL queries need to navigate the openEHR structure and use archetype paths. Also consider how to filter for the time range and order the results.',
366
+
'The correct composition follows the OpenEHR structure, including the proper archetype ID, and nests the temperature value within the expected data structure.',
367
+
hint: 'Consider the hierarchical structure of OpenEHR compositions and how data is typically represented.',
368
+
},
369
+
{
370
+
title: 'The AQL Alchemist',
371
+
description:
372
+
'Enter the laboratory of the AQL Alchemist, where queries are brewed to extract the essence of clinical data!',
373
+
challenge:
374
+
"Which AQL query will retrieve all blood pressure measurements for a specific patient with EHR ID 'abc123'?",
375
+
options: [
376
+
"SELECT o/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude AS systolic, o/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude AS diastolic FROM EHR e CONTAINS COMPOSITION c CONTAINS OBSERVATION o[openEHR-EHR-OBSERVATION.blood_pressure.v1] WHERE e/ehr_id/value='abc123'",
377
+
"SELECT * FROM EHR WHERE patient_id = 'abc123' AND observation_type = 'blood_pressure'",
378
+
"GET blood_pressure FROM patient WHERE id = 'abc123'",
379
+
"FIND 'blood pressure' IN EHR 'abc123'",
380
+
],
381
+
correctAnswer: 0,
382
+
explanation:
383
+
'This AQL query correctly navigates the openEHR structure to retrieve systolic and diastolic blood pressure values from the specific archetype, filtering for the given EHR ID.',
384
+
hint: 'AQL uses a structure similar to SQL, but with paths that navigate the openEHR data model.',
"The best approach is to use OpenEHR's terminology binding features to map both systems to a common standard terminology. This preserves the local terminologies while ensuring semantic interoperability through a shared standard. It leverages OpenEHR's design for handling diverse terminologies.",
406
452
hint: 'Consider how OpenEHR is designed to handle terminology differences while maintaining semantic meaning across systems.',
407
453
},
454
+
{
455
+
title: 'The Standardization Sage',
456
+
description:
457
+
"The Standardization Sage challenges your understanding of OpenEHR's role in health data standardization!",
458
+
challenge:
459
+
'How does OpenEHR contribute to the standardization of health data?',
460
+
options: [
461
+
'By enforcing a single, universal data format for all health records',
462
+
'Through its two-level modeling approach and shared archetype definitions',
463
+
'By requiring all healthcare providers to use the same software',
464
+
'Through government-mandated data structures',
465
+
],
466
+
correctAnswer: 1,
467
+
explanation:
468
+
'OpenEHR contributes to health data standardization through its two-level modeling approach and shared archetype definitions. This allows for a common understanding of clinical concepts while maintaining flexibility for local needs, promoting semantic interoperability across different healthcare systems.',
469
+
hint: 'Think about how OpenEHR balances standardization with flexibility in its approach to modeling clinical data.',
"The best approach is to use OpenEHR's archetype and template mechanism to create a core dataset, with country-specific extensions to meet local requirements. This allows for a standardized base of data collection while providing the flexibility to adhere to varying local data protection laws. It leverages OpenEHR's design for balancing standardization with localization.",
423
486
hint: "Think about how OpenEHR's architecture can allow for both standardization and customization to meet diverse requirements.",
424
487
},
488
+
{
489
+
title: 'The Query Quandary',
490
+
description:
491
+
'The Query Quandary tests your ability to construct complex AQL queries for real-world scenarios!',
492
+
challenge:
493
+
'Which AQL query would correctly retrieve the latest blood pressure readings for all patients diagnosed with hypertension in the last year?',
494
+
options: [
495
+
'SELECT e/ehr_id/value, o/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude AS systolic, o/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude AS diastolic FROM EHR e CONTAINS COMPOSITION c CONTAINS OBSERVATION o[openEHR-EHR-OBSERVATION.blood_pressure.v1] WHERE c/context/start_time > current_date - P1Y ORDER BY c/context/start_time DESC',
496
+
"SELECT * FROM EHR WHERE diagnosis = 'hypertension' AND diagnosis_date > current_date - 365 ORDER BY observation_date DESC LIMIT 1",
497
+
"GET latest_blood_pressure FROM patients WHERE diagnosis = 'hypertension' AND diagnosis_date > now() - interval '1 year'",
498
+
"FIND blood_pressure IN EHR WHERE condition = 'hypertension' AND condition.date > 1 year ago ORDER BY date DESC",
499
+
],
500
+
correctAnswer: 0,
501
+
explanation:
502
+
'This AQL query correctly navigates the openEHR structure to retrieve the latest blood pressure readings. It uses the proper archetype paths, filters for compositions created within the last year, and orders the results to get the latest readings.',
503
+
hint: 'Remember that AQL queries need to navigate the openEHR structure and use archetype paths. Also consider how to filter for the time range and order the results.',
0 commit comments