From ccaccdd5e565f91687deae1e3e30b740a6727149 Mon Sep 17 00:00:00 2001 From: pavl-g Date: Sat, 11 Apr 2026 10:42:20 +0200 Subject: [PATCH 1/2] build.sh: added build for new dot diagrams --- scripts/build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/build.sh b/scripts/build.sh index 056698d..9499e8c 100644 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -3,6 +3,8 @@ cached_work_dir=$(pwd) cd ./modules/COMPANION/assets dot -Tsvg ./dot/atls_xabcde_algorithm.dot -o ./images/xabcde/atls.svg +dot -Tsvg ./dot/medical_listening.dot -o ./images/medical-listening.svg +dot -Tsvg ./dot/medical_writing.dot -o ./images/medical-writing.svg cd $cached_work_dir npx antora antora-playbook.yml From 40b9837e4bdeb57d066ea1a1e344d76609224d97 Mon Sep 17 00:00:00 2001 From: pavl-g Date: Sat, 11 Apr 2026 10:43:11 +0200 Subject: [PATCH 2/2] pages/COMPANION: added medical listening and writing notes --- .../assets/dot/medical_listening.dot | 304 +++++++++++++++++ .../COMPANION/assets/dot/medical_writing.dot | 81 +++++ .../assets/images/medical-listening.svg | 312 ++++++++++++++++++ .../assets/images/medical-writing.svg | 80 +++++ modules/COMPANION/nav.adoc | 4 +- .../COMPANION/pages/clinical-listening.adoc | 110 ++++++ modules/COMPANION/pages/clinical-writing.adoc | 64 ++++ 7 files changed, 954 insertions(+), 1 deletion(-) create mode 100644 modules/COMPANION/assets/dot/medical_listening.dot create mode 100644 modules/COMPANION/assets/dot/medical_writing.dot create mode 100644 modules/COMPANION/assets/images/medical-listening.svg create mode 100644 modules/COMPANION/assets/images/medical-writing.svg create mode 100644 modules/COMPANION/pages/clinical-listening.adoc create mode 100644 modules/COMPANION/pages/clinical-writing.adoc diff --git a/modules/COMPANION/assets/dot/medical_listening.dot b/modules/COMPANION/assets/dot/medical_listening.dot new file mode 100644 index 0000000..a67117a --- /dev/null +++ b/modules/COMPANION/assets/dot/medical_listening.dot @@ -0,0 +1,304 @@ +digraph medical_listening { + + graph [ + rankdir = TB + fontname = "Helvetica" + fontsize = 11 + splines = ortho + nodesep = 0.55 + ranksep = 0.65 + bgcolor = "white" + label = "Medical Listening — Structural Diagram" + labelloc = t + labeljust = c + ] + + node [ + fontname = "Helvetica" + fontsize = 10 + shape = box + style = "filled,rounded" + penwidth = 0.6 + margin = "0.18,0.10" + ] + + edge [ + fontname = "Helvetica" + fontsize = 9 + arrowsize = 0.6 + penwidth = 0.7 + color = "#888780" + ] + + /* ── ROOT ─────────────────────────────────────────────── */ + + root [ + label = "Medical Listening" + fillcolor = "#EEEDFE" + color = "#534AB7" + fontcolor = "#26215C" + fontsize = 13 + style = "filled,rounded" + penwidth = 1.2 + ] + + /* ── CRITERIA CONTAINER (cluster) ─────────────────────── */ + + subgraph cluster_criteria { + label = "Listening Criteria" + style = "filled,rounded" + fillcolor = "#E1F5EE" + color = "#0F6E56" + fontcolor = "#04342C" + fontname = "Helvetica-Bold" + fontsize = 11 + penwidth = 1.0 + margin = 18 + + /* ── C1: Context Identification ────────────────────── */ + + c1 [ + label = "1. Context Identification\nGist · Context switch · Headings" + fillcolor = "#EEEDFE" + color = "#534AB7" + fontcolor = "#26215C" + ] + + subgraph cluster_context { + label = "Context components" + style = "filled,rounded" + fillcolor = "#E6F1FB" + color = "#185FA5" + fontcolor = "#042C53" + fontsize = 10 + penwidth = 0.6 + margin = 12 + + c1_spatial [ + label = "Spatial\nObject components" + fillcolor = "#E6F1FB" + color = "#185FA5" + fontcolor = "#0C447C" + ] + + c1_temporal [ + label = "Temporal\nTime components" + fillcolor = "#FAEEDA" + color = "#854F0B" + fontcolor = "#412402" + ] + + c1_relations [ + label = "Relations\nSpatial · Temporal · Both" + fillcolor = "#FAECE7" + color = "#993C1D" + fontcolor = "#4A1B0C" + ] + } + + c1_spatial -> c1_relations [style=solid] + c1_temporal -> c1_relations [style=solid] + + /* ── C2: People & Voices ───────────────────────────── */ + + c2 [ + label = "2. People & Voices\nNames · Tone listening" + fillcolor = "#F1EFE8" + color = "#5F5E5A" + fontcolor = "#2C2C2A" + ] + + /* ── C3: Affirmative ───────────────────────────────── */ + + c3 [ + label = "3. Affirmative Listening\nEnd of debate · Opinion · Argument" + fillcolor = "#EEEDFE" + color = "#534AB7" + fontcolor = "#26215C" + ] + + subgraph cluster_affirm { + label = "Affirm types" + style = "filled,rounded" + fillcolor = "#f8f8f5" + color = "#B4B2A9" + fontsize = 10 + penwidth = 0.5 + margin = 10 + + c3_pos [ + label = "Positive\nagrees / yes" + fillcolor = "#E1F5EE" + color = "#0F6E56" + fontcolor = "#04342C" + ] + + c3_neg [ + label = "Negative\ndoubts / no" + fillcolor = "#FAECE7" + color = "#993C1D" + fontcolor = "#4A1B0C" + ] + + c3_par [ + label = "Paradoxical\nnegative form → yes" + fillcolor = "#FAEEDA" + color = "#854F0B" + fontcolor = "#412402" + ] + } + + /* ── C4: Personal Opinions ─────────────────────────── */ + + c4 [ + label = "4. Personal Opinions\nAttribute to speaker" + fillcolor = "#F1EFE8" + color = "#5F5E5A" + fontcolor = "#2C2C2A" + ] + + /* ── C5: Object Details ────────────────────────────── */ + + c5 [ + label = "5. Object Details\nTrace object through extract" + fillcolor = "#EEEDFE" + color = "#534AB7" + fontcolor = "#26215C" + ] + + subgraph cluster_obj { + label = "Object detail steps" + style = "filled,rounded" + fillcolor = "#E6F1FB" + color = "#185FA5" + fontcolor = "#042C53" + fontsize = 10 + penwidth = 0.6 + margin = 12 + + c5_intro [ + label = "Intro statement\nBrief overview" + fillcolor = "#E6F1FB" + color = "#185FA5" + fontcolor = "#0C447C" + ] + + c5_comp [ + label = "Components\nParts / properties" + fillcolor = "#E6F1FB" + color = "#185FA5" + fontcolor = "#0C447C" + ] + + c5_rels [ + label = "Relations\nObject-to-object" + fillcolor = "#E6F1FB" + color = "#185FA5" + fontcolor = "#0C447C" + ] + } + + c5_intro -> c5_comp [style=solid] + c5_comp -> c5_rels [style=solid] + + /* ── C6: Distractors ───────────────────────────────── */ + + c6 [ + label = "6. Distractors\nIdentify · Eliminate" + fillcolor = "#FAECE7" + color = "#993C1D" + fontcolor = "#4A1B0C" + ] + + /* ── C7: Memory Listening (encoding) ───────────────── */ + + c7 [ + label = "7. Memory Listening\nKeywords · Counterparts · Duplicates" + fillcolor = "#EEEDFE" + color = "#534AB7" + fontcolor = "#26215C" + ] + + /* ── C8: Memory Listening (summary) ────────────────── */ + + c8 [ + label = "8. Summary Memory\nPost-recording reconstruction" + fillcolor = "#EEEDFE" + color = "#534AB7" + fontcolor = "#26215C" + ] + + subgraph cluster_summary { + label = "Summary modes" + style = "filled,rounded" + fillcolor = "#f8f8f5" + color = "#B4B2A9" + fontsize = 10 + penwidth = 0.5 + margin = 10 + + c8_end [ + label = "End-of-recording\nProf. notes / scientific models" + fillcolor = "#E1F5EE" + color = "#0F6E56" + fontcolor = "#04342C" + ] + + c8_rt [ + label = "Realtime\nScientific model diagram" + fillcolor = "#FAEEDA" + color = "#854F0B" + fontcolor = "#412402" + ] + } + + } /* end cluster_criteria */ + + /* ── OUTPUT NODE ──────────────────────────────────────── */ + + output [ + label = "Structural Diagram\nObjects + interrelations (output)" + fillcolor = "#FAECE7" + color = "#993C1D" + fontcolor = "#4A1B0C" + penwidth = 1.0 + style = "filled,rounded" + ] + + /* ── EDGES: root → criteria ───────────────────────────── */ + + root -> c1 + root -> c2 + root -> c3 + root -> c4 + root -> c5 + root -> c6 + root -> c7 + root -> c8 + + /* ── EDGES: criteria → sub-nodes ─────────────────────── */ + + c1 -> c1_spatial [lhead=cluster_context] + c1 -> c1_temporal [lhead=cluster_context] + + c3 -> c3_pos + c3 -> c3_neg + c3 -> c3_par + + c5 -> c5_intro [lhead=cluster_obj] + + c8 -> c8_end + c8 -> c8_rt + + /* ── EDGES: summary modes → output ───────────────────── */ + + c8_end -> output + c8_rt -> output + + /* ── RANK HINTS ───────────────────────────────────────── */ + + { rank = same; c1; c2; c3; c4 } + { rank = same; c5; c6; c7; c8 } + { rank = same; c8_end; c8_rt } + +} diff --git a/modules/COMPANION/assets/dot/medical_writing.dot b/modules/COMPANION/assets/dot/medical_writing.dot new file mode 100644 index 0000000..3e63d31 --- /dev/null +++ b/modules/COMPANION/assets/dot/medical_writing.dot @@ -0,0 +1,81 @@ +digraph OET_Writing_Strategy { + graph [ + rankdir=TB + fontname="Helvetica" + fontsize=13 + bgcolor="transparent" + pad=0.5 + nodesep=0.3 + ranksep=0.25 + label="OET Medical Writing — Step-wise Strategy" + labelloc=t + labeljust=c + splines=false + ] + node [ + fontname="Helvetica" + shape=box + style="rounded,filled" + penwidth=0.8 + width=5.5 + margin="0.25,0.18" + ] + edge [ + fontname="Helvetica" + fontsize=10 + arrowhead=vee + arrowsize=0.7 + penwidth=0.8 + color="#9C9A92" + ] + + // ── STEP 1 — Teal ──────────────────────────────────────────────────── + S1 [ + label="[1] Establish purpose\nOpening brief + expanded closing reason" + fillcolor="#085041" + color="#5DCAA5" + fontcolor="#9FE1CB" + fontsize=12 + ] + + // ── STEP 2 — Purple ────────────────────────────────────────────────── + S2 [ + label="[2] Select relevant content\nInclusion / exclusion based on context\nWriter–reader and patient–reader relationships" + fillcolor="#3C3489" + color="#AFA9EC" + fontcolor="#CECBF6" + fontsize=12 + ] + + // ── STEP 3 — Blue ──────────────────────────────────────────────────── + S3 [ + label="[3] Group and order information\nChronological — same situation, temporal sequence\nThematical — cross-situations, by reader importance\nMixed blend where relevant; note spatial relations" + fillcolor="#0C447C" + color="#85B7EB" + fontcolor="#B5D4F4" + fontsize=12 + ] + + // ── STEP 4 — Coral ─────────────────────────────────────────────────── + S4 [ + label="[4] Apply formal briefs and tense\nOpening brief — purpose + patient + referral intent\nDebrief — closing gratitude or invitation to contact\nTense follows temporal relationship of each fact" + fillcolor="#712B13" + color="#F0997B" + fontcolor="#F5C4B3" + fontsize=12 + ] + + // ── STEP 5 — Amber ─────────────────────────────────────────────────── + S5 [ + label="[5] Maintain formal register\nNo contractions\nNo excessive abbreviations\nNo informal / academic connectors\nFactual, non-judgemental; concise sentences" + fillcolor="#633806" + color="#EF9F27" + fontcolor="#FAC775" + fontsize=12 + ] + + S1 -> S2 + S2 -> S3 + S3 -> S4 + S4 -> S5 +} diff --git a/modules/COMPANION/assets/images/medical-listening.svg b/modules/COMPANION/assets/images/medical-listening.svg new file mode 100644 index 0000000..7eeb641 --- /dev/null +++ b/modules/COMPANION/assets/images/medical-listening.svg @@ -0,0 +1,312 @@ + + + + + + +medical_listening + +Medical Listening — Structural Diagram + +cluster_criteria + +Listening Criteria + + +cluster_context + +Context components + + +cluster_affirm + +Affirm types + + +cluster_obj + +Object detail steps + + + +root + +Medical Listening + + + +c1 + +1. Context Identification +Gist · Context switch · Headings + + + +root->c1 + + + + + +c2 + +2. People & Voices +Names · Tone listening + + + +root->c2 + + + + + +c3 + +3. Affirmative Listening +End of debate · Opinion · Argument + + + +root->c3 + + + + + +c4 + +4. Personal Opinions +Attribute to speaker + + + +root->c4 + + + + + +c5 + +5. Object Details +Trace object through extract + + + +root->c5 + + + + + +c6 + +6. Distractors +Identify · Eliminate + + + +root->c6 + + + + + +c7 + +7. Memory Listening +Keywords · Counterparts · Duplicates + + + +root->c7 + + + + + +c8 + +8. Summary Memory +Post-recording reconstruction + + + +root->c8 + + + + + +c1_spatial + +Spatial +Object components + + + +c1->c1_spatial + + + + + +c1_temporal + +Temporal +Time components + + + +c1->c1_temporal + + + + + +c1_relations + +Relations +Spatial · Temporal · Both + + + +c1_spatial->c1_relations + + + + + +c1_temporal->c1_relations + + + + + +c3_pos + +Positive +agrees / yes + + + +c3->c3_pos + + + + + +c3_neg + +Negative +doubts / no + + + +c3->c3_neg + + + + + +c3_par + +Paradoxical +negative form → yes + + + +c3->c3_par + + + + + +c5_intro + +Intro statement +Brief overview + + + +c5->c5_intro + + + + + +c5_comp + +Components +Parts / properties + + + +c5_intro->c5_comp + + + + + +c5_rels + +Relations +Object-to-object + + + +c5_comp->c5_rels + + + + + +c8_end + +End-of-recording +Prof. notes / scientific models + + + +c8->c8_end + + + + + +c8_rt + +Realtime +Scientific model diagram + + + +c8->c8_rt + + + + + +output + +Structural Diagram +Objects + interrelations (output) + + + +c8_end->output + + + + + +c8_rt->output + + + + + diff --git a/modules/COMPANION/assets/images/medical-writing.svg b/modules/COMPANION/assets/images/medical-writing.svg new file mode 100644 index 0000000..3c8d7b2 --- /dev/null +++ b/modules/COMPANION/assets/images/medical-writing.svg @@ -0,0 +1,80 @@ + + + + + + +OET_Writing_Strategy +OET Medical Writing — Step-wise Strategy + + +S1 + +[1]  Establish purpose +Opening brief + expanded closing reason + + + +S2 + +[2]  Select relevant content +Inclusion / exclusion based on context +Writer–reader and patient–reader relationships + + + +S1->S2 + + + + + +S3 + +[3]  Group and order information +Chronological — same situation, temporal sequence +Thematical — cross-situations, by reader importance +Mixed blend where relevant; note spatial relations + + + +S2->S3 + + + + + +S4 + +[4]  Apply formal briefs and tense +Opening brief — purpose + patient + referral intent +Debrief — closing gratitude or invitation to contact +Tense follows temporal relationship of each fact + + + +S3->S4 + + + + + +S5 + +[5]  Maintain formal register +No contractions +No excessive abbreviations +No informal / academic connectors +Factual, non-judgemental; concise sentences + + + +S4->S5 + + + + + diff --git a/modules/COMPANION/nav.adoc b/modules/COMPANION/nav.adoc index 3148c27..f89814b 100644 --- a/modules/COMPANION/nav.adoc +++ b/modules/COMPANION/nav.adoc @@ -1,3 +1,5 @@ * Clinical Companion ** xref:comp.adoc[The Clinical Companion Cheat Sheet] -** xref:xabcde.adoc[ACP xABCDE Approach to traumatic injury] \ No newline at end of file +** xref:xabcde.adoc[ACP xABCDE Approach to traumatic injury] +** xref:clinical-writing.adoc[Clinical Writing] +** xref:clinical-listening.adoc[Clinical Listening] \ No newline at end of file diff --git a/modules/COMPANION/pages/clinical-listening.adoc b/modules/COMPANION/pages/clinical-listening.adoc new file mode 100644 index 0000000..74829d3 --- /dev/null +++ b/modules/COMPANION/pages/clinical-listening.adoc @@ -0,0 +1,110 @@ += Medical Listening + +Listening to medical contexts could sometimes be challenging. However, with the right mindset, it could be much easier and even saves time studying long pages of journal papers and textbooks. + +== Listening Criteria +The following is a trivial criteria built to grant the listener attention to what to listen for while actively listening to clinical contexts: + +. **Context Identification Listening**: Main context, context switch, and gist listening (Identify the context first using context statements). +. **People Names and Voices Listening**: Names and Voices tone listening. +. **Affirmative Listening**: Positive and negative affirms listening; it usually comes at the end of a debate, opinion or a resolved argument. +. **Personal Opinions Listening**: and identifying the persons giving them. +. **Details Listening**: Object details listening and association to other objects. +. **Distractors Listening**: Identify the distractors and eliminate them. +. **Memory Listening**: use summary keywords and listen for them or their counterparts/duplicates. +. **Memory Listening**: Summarize what've heard after listening using professional notes or scientifc models. + +=== Context Identification +Identify the context through the headings or the context statements; in most cases, the audio extracts start with the context that represents the gist of what follows along the extract trace. + +Each context could be broken down into a structure of components; context components could be further categorized into two broad categories; the spatial components (i.e., Object Components), and the temporal components (i.e., Time Components). + +Relations among components could be attained, as well; again, furtherly categorized into spatial and temporal relations. + +[NOTE] +==== +Examples of spatial relations: + +* Two objects representing different situations; both of them describe a specific context. +* Two objects; one of them offers solutions better than the other. + +Examples of temporal relations: + +* Three objects representing different timestamps; two of them took place at the same time, while the last timestamp took place after them. + +Examples of both temporal and spatial relations: + +* Two objects; both of them offer solutions to the exact same problem; however, one of them is invented before the other. +==== + +=== Positive and negative affirms +Identify whether the statement is negated; this could change the whole meaning. + +Some common **negative affirms** typically used in speaking and podcasts: + +* I wouldn’t bet on it +* I’m not convinced +* I’d be surprised if that were the case +* that’s not necessarily true +* I’m not so sure about that +* I wouldn’t go that far +* I’m inclined to disagree +* that seems unlikely +* I have my doubts +* I’m not entirely convinced +* it’s questionable +* I wouldn’t say so +* that doesn’t quite add up +* I’m skeptical + +Some common **positive affirms** typically used in speaking and podcasts: + +* I’d say so +* I’d go along with that +* that sounds about right +* I’d be inclined to agree +* that seems reasonable +* I suppose so +* I’d imagine so +* I can see that +* that checks out +* I’m with you on that +* that holds up +* fair enough +* I’d support that +* that makes sense + +[TIP] +==== +There are some special affirms that have paradoxical meaning; while it seems that they carry negative affirms, they are considered strong positive affirms: + +* I couldn't agree more. +* I couldn't have found someone who is knowledable enough to present this meeting. +* I wouldn’t rule it out → (means: it’s possible / leaning YES) +* I don’t see any reason why not → (means: YES) +* I can’t complain → (means: it’s good) +* it’s not impossible → (means: possible) +* I wouldn’t be opposed → (means: yes/acceptable) +* not unreasonable → (means: reasonable / yes) +* I wouldn’t disagree → (means: I agree) +* it’s not out of the question → (means: possible) +* I’m not against it → (means: yes) +==== + +=== Object details +An object has details that should be revealed as the audio extract moves on; listening for object details could be sometimes cumbersome. However, it could be augmented by **first listening for that particular statement** that presents the object in a brief way, and then tracing the events as the audio advances. + +* Listening for the object presenting statement. +* Listening for the various object components. +* Listening for the object-object relationship. + +=== Summaries +Providing summaries, at the end of the recorder, is one of the most effective maneuvers to aid **objective memory listening and recalling**; it's better be practiced at the end of the recording. + +During the recording, a realtime summary could be practiced through the scientific models; with a structural diagram illustrating the objects in-question and their interrelationships. + +++++ + + Medical Listening + +++++ \ No newline at end of file diff --git a/modules/COMPANION/pages/clinical-writing.adoc b/modules/COMPANION/pages/clinical-writing.adoc new file mode 100644 index 0000000..ca7e550 --- /dev/null +++ b/modules/COMPANION/pages/clinical-writing.adoc @@ -0,0 +1,64 @@ += Medical Writing + +The following document demonstrates a flexible and robust strategy to tackle the OET medicine writing task sub-test in the form a **step-wise strategy.** + +== Establishing **Purpose of the letter.** + +There are two components for establishing the purpose of the clincal letter: + +* Provide an immediately apparent purpose attached at the beginning of the letter. +* Provide a sufficiently expanding purpose and reason attached at the end of the letter. + +== Choosing **relevant content** to be included based on the context + +Choosing the relevant content is a one way to attract the reader or to lose them immediately; the writer-reader relationship, and the patient-reader relationship (i.e., Inclusion and Exclusion Critera). + +* Build an inclusion and an exclusion criteria by identifying the context, the writer-reader relationship, and the patient-reader relationship. +* In addition, use the purpose of the letter and the reason to write the letter, in the first place, to better delineate the criteria parts. + +== Grouping information and ordering them + +Grouping the information presented in the letter should be according to the formerly presented relationships; addressing both the _chronological_ and the _thematical_ ordering of the timeline, and demonstrating the temporal and the spatial relations, if exist, among the presented timeline. + +* Chronological ordering of the presented information. +* Thematical ordering of the presented information. +* Use a blend of both to address ordering of the timeline for the same situation (**Chronological Ordering**), and address **temporal ordering** of the other situations in general (**Thematical Ordering**). +* Consider identifying the spatial relationships among different sitations, only if relevant. + +[TIP] +.Ordering Techniques in Clinical Writing +==== +> * Chronological Ordering: is a technique of ordering the information according to the temporal relationships (i.e., Whichever took place first, comes first!). +> * Thematical Ordering: is a technique of ordering the information according to their importance to the reader and the context (i.e., Whichever is important, comes first!). +> * Mixed thematical and chronological ordering: is a technique of ordering the information based on both the temporal and the spatial relationships among them. +==== + +== Identify the formal introductory briefs, their debriefs, and the tense of the content according to their temporal relationship. + +=== Formal introductory briefs: +> Thank you for seeing Mrs Anne, a 45-year-old female who presented with ...., for your expert evaluation and advice. + +> I am referring to you Mrs Anne, ...., for further evaluation and, if indicated, further investigations including endoscopic evalution. + +> I would be grateful if you could review Mrs Anne, ....., for further investigations and, if indicated, for endoscopic evaluation. + +=== Formal debriefs: +> Thank you for your continued management of Mrs Anne. + +> Should furhter information be required, please do not hesitate to contact me. + +> I appreciate your expert involvement for evaluating Mrs Anne, and whether the endoscopic evaluation is indicated in her case. + +== Avoid informal sentences and keywords taken from the academic world and poetry. + +* Avoid using contractions. +* Avoid excessive abbreviations. +* Avoid informal academic connectors. +* Use factual writing and avoid judgemental writing style by presenting seemingly judicious materials as they are without paraphrasing. +* Avoid long sentences. + +++++ + + Medical Writing + +++++ \ No newline at end of file