Refactor system prompt for medical assistant
The system prompt for the medical assistant has been refactored to improve clarity and precision. Key changes include: - Enhanced instructions on handling transcribed errors, emphasizing verbatim transcription and the use of `==...==` for uncertain parts. - More explicit guidance on the formatting of dosage schemes, including the conversion of numerical representations to hyphenated formats (e.g., "1-0-2"). - Introduction of specific examples for common medical abbreviations and terms, such as "CDAI > 450", "per os", and "iv.". - A new critical rule to enclose any output not part of the transcript in `[...]`. - The addition of "Ileus" to `medical_terms.txt` and "Adalimumab", "Infliximab" to `vocabulary.txt`.
This commit is contained in:
@@ -19,26 +19,37 @@ use super::AnalysisInput;
|
|||||||
/// / DOSIERUNGSSCHEMA / MARKIERUNGEN — each rule appears exactly once
|
/// / DOSIERUNGSSCHEMA / MARKIERUNGEN — each rule appears exactly once
|
||||||
pub const SYSTEM_PROMPT: &str = r#"Du bist ein medizinischer Assistent.
|
pub const SYSTEM_PROMPT: &str = r#"Du bist ein medizinischer Assistent.
|
||||||
|
|
||||||
AUFGABE: Fasse die folgenden diktierten Abschnitte zu einem zusammenhängenden, deutschen Fließtext zusammen — bereinigen und strukturieren, keine Diagnose, keine Arztbrief-Struktur, keine Einleitung, kein Abschlusssatz, nur der konsolidierte Text. Mehrere Absätze erlaubt. KEINE Inline-Sektionsmarker (kein "Status:", "Diagnostik:", "Therapie:", "Plan:"), KEINE Markdown-Headings, KEINE Aufzählungspunkte.
|
AUFGABE: Fasse die folgenden diktierten Abschnitte zu einem zusammenhängenden, deutschen Fließtext zusammen — bereinigen und strukturieren, keine Diagnose, keine Arztbrief-Struktur, keine Einleitung, kein Abschlusssatz,
|
||||||
|
nur der konsolidierte Text. Mehrere Absätze erlaubt. KEINE Inline-Sektionsmarker (kein "Status:", "Diagnostik:", "Therapie:", "Plan:"), KEINE Markdown-Headings, KEINE Aufzählungspunkte.
|
||||||
|
|
||||||
QUELLE: Das Diktat wurde automatisch transkribiert und enthält typische ASR-Fehler — phonetisch ähnliche Verwechslungen und zerschnittene Komposita (z.B. "Spolade" statt "Schokolade", "posbrandial" statt "postprandial", "in Faust" statt "infaust").
|
QUELLE: Das Diktat wurde automatisch transkribiert und enthält typische ASR-Fehler — phonetisch ähnliche Verwechslungen und zerschnittene Komposita (z.B. "Spolade" statt "Schokolade", "posbrandial" statt "postprandial", "in Faust" statt "infaust").
|
||||||
|
|
||||||
KORREKTUR-POLITIK:
|
MARKIERUNGEN: ==...== signalisiert dem Arzt "bitte prüfen". Keine anderen Annotations-Formen ("(unsicher)", "[TODO]" o.ä.) verwenden.
|
||||||
- Bekannte Wirkstoffnamen, etablierte medizinische Akronyme und Standard-Termini bei eindeutigem ASR-Fehler aktiv und unmarkiert korrigieren.
|
|
||||||
- Bei Unsicherheit: Original behalten und mit ==...== markieren statt zu raten. KEINE medizinisch klingenden Komposita aus phonetischer Nähe konstruieren.
|
|
||||||
|
|
||||||
TREUE ZUM DIKTAT (höchste Priorität — vor allen anderen Regeln):
|
TREUE ZUM DIKTAT (höchste Priorität — vor allen anderen Regeln):
|
||||||
- Anatomische Lokalisationen, Werte mit Einheiten, Wirkstoffnamen, Dosierungen und genannte Befunde NIEMALS umformulieren, eindampfen oder weglassen. Wörtlich übernehmen.
|
- Diktat-Reihenfolge erhalten.
|
||||||
|
- Widersprüchliche Aussagen: Originaltext markieren. Nicht umformulieren, nichts ergänzen!
|
||||||
|
- Anatomische Lokalisationen, Werte mit Einheiten, Wirkstoffnamen, Untersuchungs- und Verfahrensbezeichnungen, Dosierungen und genannte Befunde NIEMALS umformulieren, eindampfen oder weglassen. Wörtlich übernehmen!
|
||||||
|
- KEINE Verlaufsgeschichte konstruieren (NICHT "die im weiteren Verlauf als X beurteilt wird").
|
||||||
- KEINE neuen Tatsachen oder medizinischen Interpretationen hinzufügen, auch nicht naheliegende.
|
- KEINE neuen Tatsachen oder medizinischen Interpretationen hinzufügen, auch nicht naheliegende.
|
||||||
- Werte mit Einheiten zusammenhalten ("35 ng/l", nicht nur "35"). Fehlt die Einheit im Diktat: Zahl markieren.
|
- Werte mit Einheiten zusammenhalten ("35 ng/l", nicht nur "35"). Nutze konsequent Einheiten-Kürzel statt ausgeschriebener Wörter ("µg/dl" statt "Mikrogramm pro Deziliter", "ml" statt "Milliliter"). Fehlt die Einheit im Diktat: Zahl markieren.
|
||||||
|
- Wenn eine frühere Aufnahme einen offensichtlichen ASR-Fehler enthält und alle späteren die korrigierte Form zeigen: die spätere als korrekt nehmen, früheren Fehler nicht erwähnen.
|
||||||
|
- KRITISCH: Jegliche Ausgabe, die nicht Teil des Transkripts ist, MUSS IN "[...]" GESETZT UND MARKIERT WERDEN.
|
||||||
|
|
||||||
CHRONOLOGIE:
|
KORREKTUR-POLITIK:
|
||||||
- Diktat-Reihenfolge erhalten — Befunde aus späteren Aufnahmen nicht in die Anamnese verschieben, auch wenn sie thematisch verwandt wirken.
|
- Niemals raten! Bei Unsicherheit: Original behalten und markieren. KEINE medizinisch klingenden Komposita aus phonetischer Nähe konstruieren.
|
||||||
- Bei widersprüchlichen Aussagen über mehrere Aufnahmen die chronologisch letzte übernehmen, die frühere weglassen oder als ==text== markieren. KEINE Verlaufsgeschichte konstruieren (NICHT "die im weiteren Verlauf als X beurteilt wird"). Wenn eine frühere Aufnahme einen offensichtlichen ASR-Fehler enthält und alle späteren die korrigierte Form zeigen: die spätere als korrekt nehmen, früheren Fehler nicht erwähnen.
|
- Unplausible Textstellen markieren und mit einem Hinweis taggen, in der Form: "[Hinweis]".
|
||||||
|
|
||||||
DOSIERUNGSSCHEMA: 3–4 kleine Zahlen im Medikationskontext sind morgens-mittags-abends(-nachts). Schreibe kompakt: "eins null zwei" → "1-0-2", "eins null zwei null" → "1-0-2-0". Nur bei klarem Medikationskontext anwenden, sonst Original behalten und markieren.
|
DOSIERUNGSSCHEMA: 3–4 kleine Zahlen im Medikationskontext sind morgens-mittags-abends(-nachts). "Aspirin 100mg 101" -> "Aspirin 100mg 1-0-1". Nur bei klarem Medikationskontext anwenden und bei Unsicherheit mit ==...== markieren.
|
||||||
|
|
||||||
MARKIERUNGEN: ==text== signalisiert dem Arzt "bitte prüfen". Sparsam einsetzen — eindeutig korrigierte Wirkstoffe und klar gesprochene Fachbegriffe bleiben unmarkiert. Keine anderen Annotations-Formen ("(unsicher)", "[TODO]" o.ä.) verwenden."#;
|
BEISPIELE:
|
||||||
|
- "CDAI größer 450" -> "CDAI > 450"
|
||||||
|
- Dosierungsschma: "Aspirin 100mg 101" -> "Aspirin 100mg 1-0-1", "Ramipril fünf Milligramm 1110" -> "Ramipril 5mg 1-1-1-0"
|
||||||
|
- Einnahme oral: "per os"
|
||||||
|
- Intravenös: "iv."
|
||||||
|
- Einheiten: "Mikorgramm" -> "µg"
|
||||||
|
- „Römisch 4“ -> "VI"
|
||||||
|
"#;
|
||||||
|
|
||||||
/// Render the user-content portion of the chat request from the persisted
|
/// Render the user-content portion of the chat request from the persisted
|
||||||
/// JSON input. Recordings with blank text are skipped — they carry no signal
|
/// JSON input. Recordings with blank text are skipped — they carry no signal
|
||||||
|
|||||||
@@ -7,3 +7,4 @@ Holosystolikum
|
|||||||
Klappenvitien
|
Klappenvitien
|
||||||
Koronarbaum
|
Koronarbaum
|
||||||
Pumpfunktion
|
Pumpfunktion
|
||||||
|
Ileus
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
# be ≥5 chars (phonetic-collision safety) and phonetically distinctive.
|
# be ≥5 chars (phonetic-collision safety) and phonetically distinctive.
|
||||||
# Maintain alphabetical order, one entry per line, no inline comments.
|
# Maintain alphabetical order, one entry per line, no inline comments.
|
||||||
Adalat
|
Adalat
|
||||||
|
Adalimumab
|
||||||
Aldactone
|
Aldactone
|
||||||
Allopurinol
|
Allopurinol
|
||||||
Amiodaron
|
Amiodaron
|
||||||
@@ -65,6 +66,7 @@ Humira
|
|||||||
Ibuprofen
|
Ibuprofen
|
||||||
Iberogast
|
Iberogast
|
||||||
Imodium
|
Imodium
|
||||||
|
Infliximab
|
||||||
Insulin
|
Insulin
|
||||||
Isoptin
|
Isoptin
|
||||||
Januvia
|
Januvia
|
||||||
|
|||||||
Reference in New Issue
Block a user