MediTOD Medical Dialogue Annotation
Medical history-taking dialogue annotation based on the MediTOD dataset. Annotators label dialogue acts, identify medical entities (symptoms, conditions, medications, tests), and assess doctor-patient communication quality across multi-turn clinical conversations.
Try it live — no install
Boot the real Potato server in your browser (WebAssembly) and annotate with this exact config. Nothing leaves your machine.
Run live in your browserGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/text/dialogue/meditod-medical-dialogue
potato start config.yamlConfiguration File
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# MediTOD Medical Dialogue Annotation
# Based on Saley et al., EMNLP 2024
# Paper: https://aclanthology.org/2024.emnlp-main.936/
# Dataset: https://github.com/dair-iitd/MediTOD
#
# Task: Annotate medical history-taking dialogues with dialogue acts,
# medical entities, and communication quality assessments.
#
# Guidelines:
# - Label dialogue acts based on the speaker's communicative intent
# - Mark medical entity spans precisely (symptoms, conditions, medications, tests)
# - Assess communication quality dimensions for doctor-patient interaction
# - Use the dialogue context to disambiguate entity types
annotation_task_name: "MediTOD Medical Dialogue Annotation"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "text"
context_key: dialogue_context
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
annotation_schemes:
# Medical entity spans
- annotation_type: span
name: medical_entities
description: "Highlight all medical entities in the dialogue turn"
labels:
- "Symptom"
- "Condition"
- "Medication"
- "Test"
label_colors:
"Symptom": "#f97316"
"Condition": "#ef4444"
"Medication": "#3b82f6"
"Test": "#8b5cf6"
tooltips:
"Symptom": "Signs and symptoms reported by patient (e.g., 'chest pain', 'nausea', 'shortness of breath')"
"Condition": "Diagnosed conditions or diseases (e.g., 'diabetes', 'hypertension', 'asthma')"
"Medication": "Medications, drugs, or treatments mentioned (e.g., 'metformin', 'ibuprofen', 'insulin')"
"Test": "Medical tests, procedures, or examinations (e.g., 'blood test', 'X-ray', 'MRI')"
allow_overlapping: false
# Dialogue act classification
- annotation_type: radio
name: dialogue_act
description: "Select the primary dialogue act for this turn"
labels:
- "Inform-Symptom"
- "Inform-Medical-History"
- "Inform-Medication"
- "Inform-Lifestyle"
- "Request-Information"
- "Request-Clarification"
- "Confirm"
- "Deny"
- "Greet"
- "Farewell"
- "Other"
keyboard_shortcuts:
"Inform-Symptom": "s"
"Inform-Medical-History": "h"
"Inform-Medication": "m"
"Request-Information": "r"
"Request-Clarification": "c"
"Confirm": "y"
"Deny": "n"
tooltips:
"Inform-Symptom": "Speaker describes a symptom, pain, or physical complaint"
"Inform-Medical-History": "Speaker provides past medical history or family history"
"Inform-Medication": "Speaker mentions current or past medications"
"Inform-Lifestyle": "Speaker describes lifestyle factors (diet, exercise, smoking, alcohol)"
"Request-Information": "Speaker asks for medical information or asks about symptoms"
"Request-Clarification": "Speaker asks to clarify a previous statement"
"Confirm": "Speaker confirms or agrees with a previous statement"
"Deny": "Speaker denies or disagrees with a previous statement"
"Greet": "Opening greeting or introduction"
"Farewell": "Closing or farewell statement"
"Other": "Other dialogue acts not covered above"
# Communication quality dimensions
- annotation_type: multiselect
name: communication_quality
description: "Select all communication quality dimensions demonstrated in this turn (if any)"
labels:
- "Empathy"
- "Active Listening"
- "Clear Explanation"
- "Open-ended Questioning"
- "Summarization"
- "Patient Education"
- "Shared Decision Making"
- "None Notable"
tooltips:
"Empathy": "Speaker shows understanding of the other party's feelings or concerns"
"Active Listening": "Speaker reflects back or acknowledges what was said"
"Clear Explanation": "Speaker explains medical concepts in understandable terms"
"Open-ended Questioning": "Doctor uses open-ended questions to elicit information"
"Summarization": "Speaker summarizes key points from the conversation"
"Patient Education": "Doctor provides educational information about condition or treatment"
"Shared Decision Making": "Doctor involves patient in treatment decisions"
"None Notable": "No notable communication quality dimensions in this turn"
# Free-text notes
- annotation_type: text
name: notes
description: "Optional notes about this annotation (e.g., ambiguous entities, context-dependent interpretation)"
allow_all_users: true
instances_per_annotator: 100
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Data
[
{
"id": "meditod_001",
"text": "Good morning. What brings you in today?",
"speaker": "Doctor",
"dialogue_context": "[Start of consultation]"
},
{
"id": "meditod_002",
"text": "I've been having this persistent headache for the past two weeks, and it's been getting worse. I also feel nauseous in the mornings.",
"speaker": "Patient",
"dialogue_context": "Doctor: Good morning. What brings you in today?"
}
]
// ... and 8 more itemsTry it live — no install
Boot the real Potato server in your browser (WebAssembly) and annotate with this exact config. Nothing leaves your machine.
Run live in your browserGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/text/dialogue/meditod-medical-dialogue
potato start config.yamlDataset & paper
Saley et al., EMNLP 2024
Citation (BibTeX)
@inproceedings{saley-etal-2024-meditod,
title = "{M}edi{TOD}: An {E}nglish Dialogue Dataset for Medical History Taking with Comprehensive Annotations",
author = "Saley, Vishal Vivek and Saha, Goonjan and Das, Rocktim Jyoti and Raghu, Dinesh and Mausam",
editor = "Al-Onaizan, Yaser and Bansal, Mohit and Chen, Yun-Nung",
booktitle = "Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing",
month = nov,
year = "2024",
address = "Miami, Florida, USA",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2024.emnlp-main.936/",
doi = "10.18653/v1/2024.emnlp-main.936",
pages = "16843--16877"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an Issue(opens in a new tab)Related Designs
Check-COVID: Fact-Checking COVID-19 News Claims
Fact-checking COVID-19 news claims. Annotators verify claims against evidence, identify supporting/refuting spans, and provide verdicts with explanations. Based on the Check-COVID dataset targeting misinformation during the pandemic.
Clickbait Spoiling
Classification and extraction of spoilers for clickbait posts, including spoiler type identification and span-level spoiler detection. Based on SemEval-2023 Task 5 (Fröbe et al.).
FEVEROUS Structured Fact Verification Annotation
FEVEROUS is a fact-checking dataset of 87,026 Wikipedia claims with evidence drawn from both sentences and table cells. This Potato config reproduces the verdict, evidence, and justification task.