Export & DatenExport & data
Deine Einnahmen als Tabelle, die dein Arzt lesen kann.Your intakes as a table your doctor can read.
CapsPlan exportiert deinen Verlauf als CSV für Excel & Co. oder als PDF-Arztbericht. Hier siehst du, wie diese Dateien aufgebaut sind, an einem vier Monate langen Beispiel zum Durchscrollen. Alle Daten sind erfunden und mit dem echten Export-Code der App erzeugt.CapsPlan exports your history as CSV for Excel & co. or as a PDF doctor's report. Here is how these files are built, using a four-month example you can scroll through. All data is fictional and was generated with the app's real export code.
Drei Formate, drei ZweckeThree formats, three purposes
Im Verlauf tippst du oben auf das Teilen-Symbol und wählst das Format. Der Export ist ein Premium-Feature und enthält genau das, was du im Verlauf mit den aktuellen Filtern siehst.In History, tap the share icon at the top and pick a format. Export is a Premium feature and contains exactly what History shows with your current filters.
EreignislisteEvent list
Eine Zeile pro Einnahme, Notiz oder Ausschleich-Ereignis, mit geplanter und tatsächlicher Zeit. Ideal für eigene Auswertungen, Pivot-Tabellen oder Skripte.One row per intake, note or tapering event, with planned and actual time. Ideal for your own analysis, pivot tables or scripts.
capsplan_YYYYMMDD.csv
TagesmatrixDay matrix
Eine Zeile pro Kalendertag, eine Spalte pro Medikament mit ✓ / ✗ / ⏰. Auf einen Blick lesbar, sehr übersichtlich in Excel.One row per calendar day, one column per medication with ✓ / ✗ / ⏰. Readable at a glance, very clear in Excel.
capsplan_YYYYMMDD_matrix.csv
ArztberichtDoctor's report
Medikationsübersicht, Pünktlichkeit, Auffälligkeiten, Bedarfsmedikation, Soll und Ist pro Einnahme und deine Notizen. In der Sprache der App, zum Ausdrucken oder Mailen.Medication overview, punctuality, highlights, as-needed medication, planned vs actual per intake and your notes. In the app's language, for printing or emailing.
capsplan_bericht_YYYYMMDD.pdf
Das Beispiel: Anna und ihre TherapieThe example: Anna and her therapy
Anna (fiktiv, 38) hat seit drei Jahren eine Myasthenia gravis. Sie nimmt ihre Medikamente seit dem 1. Juni mit CapsPlan. Am 26. September exportiert sie alles für den Kontrolltermin beim Neurologen.Anna (fictional, 38) has had myasthenia gravis for three years. She has been logging her medication in CapsPlan since June 1. On September 26 she exports everything for her check-up with the neurologist.
Feste EinnahmenScheduled intakes
Bei BedarfAs needed
Was in diesen Monaten passiertWhat happens in these months
- Meist im Rhythmus, manchmal eine Stunde zu spät oder zu früh.Mostly on schedule, sometimes an hour late or early.
- Ein Städtetrip bringt die Routine durcheinander.A city trip disrupts the routine.
- Migräne-Tage, ein Infekt, eine Impfung.Migraine days, an infection, a vaccination.
- Notizen zu Symptomen und Arztterminen, dazu zwei Therapieänderungen: mehr Vitamin D, ein späterer Abendtermin für Mestinon.Notes on symptoms and doctor visits, plus two therapy changes: more vitamin D, a later evening slot for Mestinon.
Erleben: dein Verlauf als DateiExplore: your history as a file
Tippe auf einen Tag im Kalender oder folge der Führung. Die Tabelle darunter ist die echte Datei, nichts ist nachgebaut.Tap a day in the calendar or follow the guided tour. The table below is the real file, nothing is mocked up. The notes are in German, as the fictional user wrote them.
Pro Tag eine Zeile, pro Medikament eine Spalte. Mehrere Einnahmen am Tag stehen in einer Zelle, getrennt durch Semikolon.One row per day, one column per medication. Several intakes on a day share one cell, separated by semicolons.
Das PDF (26 Seiten in diesem Beispiel) beginnt mit dem Überblick, dann folgen Auffälligkeiten, Bedarfsmedikation, eine Tabelle pro Präparat und die Notizen. Hier fünf Seiten daraus. Tippe auf eine Seite, um sie groß zu sehen.The PDF (26 pages in this example) starts with the overview, followed by highlights, as-needed medication, one table per medication and the notes. Here are five pages. Tap a page to enlarge it.
Name und Geburtsdatum (optional), Zeitraum, Einnahmetreue, Pünktlichkeit, Medikationsübersicht und Wochenverlauf.Name and date of birth (optional), period, adherence, punctuality, medication overview and weekly trend.
Übersprungene und nie bestätigte Dosen mit der Notiz des Tages.Skipped and never-confirmed doses with that day's note.
Häufigkeit pro Monat und Woche, alle Zeitpunkte auf einen Blick.Frequency per month and week, every time taken at a glance.
Soll, Ist und Abweichung pro Einnahme. Abweichungen über 30 Minuten sind hervorgehoben.Planned, actual and deviation per intake. Deviations over 30 minutes are highlighted.
Notizen und Bedarfseinnahmen in einer Zeitleiste, neueste zuerst.Notes and as-needed intakes in one timeline, newest first.
⬇ Beispiel-Arztbericht (PDF, Deutsch)Example report (PDF, German) ⬇ Beispiel-Arztbericht (PDF, Englisch)Example report (PDF, English)
Dokumentation der FormateFormat documentation
Für alle, die die Dateien weiterverarbeiten wollen. Stand: CapsPlan 1.12.For anyone who wants to process the files further. As of CapsPlan 1.12.
Grundlagen (gilt für beide CSV-Dateien)
- Kodierung UTF-8, Trennzeichen Komma, Zeilenende
\n, Felder mit Komma, Anführungszeichen oder Zeilenumbruch stehen in"…"(RFC 4180). - Datum
YYYY-MM-DD, UhrzeitHH:mmin der lokalen Zeit des Geräts, ohne Zeitzone. Zahlen mit Punkt als Dezimaltrenner. - Die Spaltenüberschriften sind deutsch, die Werte in
TypundStatussind englische Schlüsselwörter und stabil. - Sortierung: neueste Einträge zuerst. Die Datei enthält, was im Verlauf mit den aktuellen Filtern angezeigt wird (Präparat, Status, Zeitraum).
Ereignisliste: Aufbau
Die Datei beginnt mit einem kurzen Zusammenfassungs-Block (eine Zeile pro Präparat), dann eine Leerzeile, dann die eigentliche Tabelle.
Präparat,Erste dokumentierte Einnahme,Letzte dokumentierte Einnahme,Ausschleichen gestartet,Ausschleichen abgeschlossen Mestinon,2026-06-01,2026-09-25,, Datum,Uhrzeit,Medikament,Typ,Dosis,Status,Notiz,Eingenommen um,Abweichung_Min,Einheit,Wirkstoff,Art,Stücke 2026-09-25,15:00,Mestinon,tablet,60,skipped,,,,mg,Pyridostigmin,geplant, 2026-09-25,19:00,Mestinon,tablet,60,confirmed,,18:51,-9,mg,Pyridostigmin,geplant, 2026-09-23,10:50,,,,note,"Migräne nach einem langen Arbeitstag. …",,,,,,
| Spalte | Bedeutung |
|---|---|
Datum, Uhrzeit | Bei geplanten Einnahmen die geplante Zeit (auch wenn später bestätigt wurde). Bei Bedarfsmedikation der Zeitpunkt der Einnahme. Bei Notizen die Erstellzeit. Bei Ausschleich-Ereignissen ist die Uhrzeit leer. |
Medikament | Name des Präparats. Leer bei Notizen. |
Typ | tablet, liquid, drops, capsule, injection, patch, inhaler, powder |
Dosis | Tatsächlich eingenommene Menge als Zahl, in der Einheit des Präparats (z. B. mg). Die Einheit steht nicht in der Datei. |
Status | confirmed (eingenommen), skipped (übersprungen), snoozed (verschoben und nicht mehr bestätigt), pending (offen), note (Notiz), therapy_change (Therapieänderung: Dosis, Zeiten, pausiert oder wieder aktiviert), tapering_started / tapering_completed (Ausschleichen gestartet / abgeschlossen) |
Notiz | Freitext der Verlaufsnotiz bei note. Bei therapy_change steht hier die Änderung, z. B. Dosis: 1000 IU → 2000 IU (+1000 IU) oder Einnahmezeiten: 07:00, 11:00 → 07:00, 12:00, pausiert, wieder aktiviert. Das Präparat steht in der Spalte Medikament. |
| Seit 1.10 hinten angehängt, damit bestehende Auswertungen weiter funktionieren: | |
Eingenommen um | Tatsächliche Uhrzeit der Bestätigung (HH:mm), nur bei geplanten, bestätigten Einnahmen. |
Abweichung_Min | Tatsächlich minus geplant in Minuten, mit Vorzeichen. Negativ = früher, positiv = später. Leer, wenn nicht bestätigt oder bei Bedarfsmedikation. |
Einheit | Einheit der Dosis, z. B. mg, µg, IU. |
Wirkstoff | Wirkstoff, falls im Präparat hinterlegt. |
Art | geplant (feste Einnahme) oder bei_bedarf. Leer bei Notizen und Ausschleich-Ereignissen. |
| Seit 1.12 hinten angehängt: | |
Stücke | Nur bei Präparaten mit mehreren Stärken: welche Tabletten und Teilstücke eingenommen wurden, z. B. 10 mg + ½ × 5 mg. Sonst leer. |
Tagesmatrix: Aufbau
Datum,Mestinon,Azathioprin,Vitamin D3 + K2,Thomapyrin,Ibuprofen,Vitamin C,Notizen 2026-06-02,19:00 ✓; 15:00 ✓; 11:00 ✓; 07:00 ✓,20:00 ✓; 08:00 ✓,08:00 ✓,,,,"Abends ab ca. 19 Uhr Doppelbilder…"
- Eine Zeile pro Kalendertag vom ersten bis zum letzten Eintrag, auch Tage ohne Eintrag.
- Pro Medikament eine Spalte. Zelle:
HH:mm ✓eingenommen,HH:mm ✗übersprungen,HH:mm ⏰verschoben,HH:mm …offen. Mehrere Einträge am Tag mit;getrennt. Zeiten sind die geplanten Zeiten. - Die Spalte
Notizenfasst alle Notizen des Tages mit|zusammen. Ausschleich-Ereignisse stehen als Text in der Zelle des Präparats.
Arztbericht (PDF): Aufbau
- Seite 1: Kopf mit Name und Geburtsdatum (nur wenn du sie beim Export angibst), Berichtszeitraum, Erstellungsdatum und angewendeten Filtern. Darunter Einnahmetreue, Pünktlichkeit (Anteil innerhalb ±30 Minuten), Anzahl eingenommen, übersprungen und Präparate, die Medikationsübersicht (Präparat, Wirkstoff, aktueller Einnahmeplan mit Dosis pro Uhrzeit, Treue, Pünktlichkeit), die Therapieänderungen und die Einnahmetreue pro Woche als Balkendiagramm.
- Auffälligkeiten: alle übersprungenen und nie bestätigten Dosen, mit der Notiz des jeweiligen Tages.
- Bedarfsmedikation: pro Präparat Anzahl, Durchschnitt pro Woche, Zählung pro Monat und alle Einnahmezeitpunkte.
- Pro Präparat eine Tabelle: Datum, Soll, Ist, Abweichung, Status, Dosis. Abweichungen über 30 Minuten sind hervorgehoben. Darüber Erste und letzte Einnahme, durchschnittliche Abweichung pro Uhrzeit und ein eventuelles Ausschleichen.
- Verlauf und Notizen: deine Notizen, die Therapieänderungen und die Bedarfseinnahmen in einer Zeitleiste, neueste zuerst.
- Jede Seite hat eine Seitenzahl und den Hinweis, dass der Bericht vom Patienten dokumentiert wurde und kein ärztlicher Befund ist.
- Der Bericht erscheint in der Sprache der App (Deutsch, Englisch, Spanisch, Italienisch, Türkisch) und enthält eine Schrift mit Sonderzeichen. Einnahmetreue = eingenommen ÷ (eingenommen + übersprungen), nur geplante Einnahmen.
Wichtige Hinweise und Grenzen
- Name und Geburtsdatum fragt CapsPlan beim PDF-Export optional ab. Du kannst überspringen. Gemerkt werden sie nur, wenn du „Für den nächsten Export merken“ ankreuzt, und nur auf deinem Gerät. Die CSV-Dateien enthalten sie nie.
- Notizen sind nur im Export, wenn im Verlauf weder ein Präparat noch ein Status gefiltert ist.
- Ausschleich-Zeilen fehlen, sobald ein Statusfilter aktiv ist.
- Die Tagesmatrix zeigt die geplanten Zeiten, nicht die tatsächlichen. Für tatsächliche Zeiten nutze die Ereignisliste oder das PDF.
- Die Spaltenüberschriften der CSV bleiben immer deutsch, damit Auswertungen stabil bleiben. Nur das PDF folgt der App-Sprache.
- Premium: Der Export ist Premium vorbehalten. Ohne Premium zeigt der Verlauf nur die letzten 30 Tage.
Therapieänderungen im Verlauf
- Bearbeitest du ein Präparat und änderst die Dosis oder die Einnahmezeiten (auch Wochentage oder Intervall), oder pausierst und aktivierst du es wieder, legt CapsPlan automatisch einen Eintrag im Verlauf an. Es steht das Datum und der Wert vorher und nachher darin, bei Dosen auch der Unterschied, z. B. „Dosis erhöht von 1000 IU auf 2000 IU (+1000 IU)“.
- Ein Ausschleichplan schreibt seine eigenen Markierungen (
tapering_started,tapering_completed). Dosisänderungen innerhalb eines Ausschleichplans erzeugen keinen zusätzlichen Eintrag. - Ein neu angelegtes Präparat erzeugt keinen Eintrag. Du kannst einen Eintrag im Verlauf lange drücken und löschen.
- In der Ereignisliste als Zeile mit Status
therapy_change, in der Tagesmatrix in der Zelle des Präparats als „Therapieänderung: …“, im PDF als Liste „Therapieänderungen“ auf Seite 1 und in der Zeitleiste „Verlauf und Notizen“. Im Verlauf erscheint er auch, wenn du nach diesem Präparat filterst.
CSV in Excel, Numbers oder Google Sheets öffnen
- Excel: nicht doppelklicken, sondern Daten → Aus Text/CSV, Dateiursprung 65001: Unicode (UTF-8), Trennzeichen Komma. Sonst werden Umlaute und ✓ ✗ ⏰ falsch angezeigt. Deutsche Excel-Versionen erwarten sonst Semikolon.
- Numbers / Google Sheets: öffnen und importieren, UTF-8 wird erkannt.
- Die Ereignisliste hat einen Zusammenfassungs-Block oben. Beim Import ab Zeile Datum,Uhrzeit,… beginnen (im Beispiel Zeile 9).
import pandas as pd
df = pd.read_csv("capsplan.csv", skiprows=8) # Zusammenfassung und Leerzeile überspringen
df = df[df["Status"] == "skipped"] # z. B. alle übersprungenen Dosen
print(df.groupby("Medikament").size())
Basics (both CSV files)
- UTF-8 encoding, comma separator, line ending
\n, fields containing a comma, quote or line break are wrapped in"…"(RFC 4180). - Date
YYYY-MM-DD, timeHH:mmin the device's local time, no time zone. Numbers use a dot as decimal separator. - Column headers are in German. The values in
Typ(type) andStatusare stable English keywords. - Sorted newest first. The file contains what History shows with your current filters (medication, status, period).
Event list: structure
The file starts with a short summary block (one row per medication), then a blank line, then the actual table.
Präparat,Erste dokumentierte Einnahme,Letzte dokumentierte Einnahme,Ausschleichen gestartet,Ausschleichen abgeschlossen Mestinon,2026-06-01,2026-09-25,, Datum,Uhrzeit,Medikament,Typ,Dosis,Status,Notiz,Eingenommen um,Abweichung_Min,Einheit,Wirkstoff,Art,Stücke 2026-09-25,15:00,Mestinon,tablet,60,skipped,,,,mg,Pyridostigmin,geplant, 2026-09-25,19:00,Mestinon,tablet,60,confirmed,,18:51,-9,mg,Pyridostigmin,geplant, 2026-09-23,10:50,,,,note,"Migraine after a long working day. …",,,,,,
| Column | Meaning |
|---|---|
Datum, Uhrzeit | For scheduled intakes the planned time (even if confirmed later). For as-needed medication the time it was taken. For notes the creation time. Empty time for tapering events. |
Medikament | Medication name. Empty for notes. |
Typ | tablet, liquid, drops, capsule, injection, patch, inhaler, powder |
Dosis | Amount actually taken as a number, in the medication's own unit (e.g. mg). The unit is not in the file. |
Status | confirmed, skipped, snoozed (postponed and never confirmed), pending (open), note, therapy_change (dose, times, paused or resumed), tapering_started / tapering_completed |
Notiz | Free text of the history note for note. For therapy_change it holds the change, e.g. Dosis: 1000 IU → 2000 IU (+1000 IU) or Einnahmezeiten: 07:00, 11:00 → 07:00, 12:00, pausiert (paused), wieder aktiviert (resumed). The medication is in the Medikament column. |
| Appended in 1.10 so existing analyses keep working: | |
Eingenommen um | Actual confirmation time (HH:mm), only for scheduled, confirmed intakes. |
Abweichung_Min | Actual minus planned in minutes, signed. Negative = earlier, positive = later. Empty when not confirmed or for as-needed medication. |
Einheit | Unit of the dose, e.g. mg, µg, IU. |
Wirkstoff | Active ingredient, if stored with the medication. |
Art | geplant (scheduled) or bei_bedarf (as needed). Empty for notes and tapering events. |
| Appended in 1.12: | |
Stücke | Only for medications with several strengths: which tablets and pieces were taken, e.g. 10 mg + ½ × 5 mg. Empty otherwise. |
Day matrix: structure
Datum,Mestinon,Azathioprin,Vitamin D3 + K2,Thomapyrin,Ibuprofen,Vitamin C,Notizen 2026-06-02,19:00 ✓; 15:00 ✓; 11:00 ✓; 07:00 ✓,20:00 ✓; 08:00 ✓,08:00 ✓,,,,"…"
- One row per calendar day from the first to the last entry, including days without entries.
- One column per medication. Cell:
HH:mm ✓taken,HH:mm ✗skipped,HH:mm ⏰snoozed,HH:mm …open. Several entries per day are joined with;. Times are the planned times. - The
Notizen(notes) column joins all notes of the day with|. Tapering events appear as text in the medication's cell.
Doctor's report (PDF): structure
- Page 1: header with name and date of birth (only if you enter them at export), report period, creation date and applied filters. Below: adherence, punctuality (share within ±30 minutes), counts of taken, skipped and medications, the medication overview (medication, active ingredient, current schedule with dose per time, adherence, punctuality), the therapy changes and weekly adherence as a bar chart.
- Highlights: every skipped and never-confirmed dose, with that day's note.
- As-needed medication: per medication the count, weekly average, monthly counts and every time taken.
- One table per medication: date, planned, actual, deviation, status, dose. Deviations over 30 minutes are highlighted. Above it: first and last intake, average deviation per time of day and any tapering.
- History and notes: your notes, the therapy changes and the as-needed intakes in one timeline, newest first.
- Every page has a page number and the note that the report was documented by the patient and is not a medical finding.
- The report appears in the app's language (German, English, Spanish, Italian, Turkish) and embeds a font with special characters. Adherence = taken ÷ (taken + skipped), scheduled intakes only.
Important notes and limits
- Name and date of birth are asked for, optionally, when you export the PDF. You can skip. They are only remembered if you tick "Remember for the next export", and only on your device. The CSV files never contain them.
- Notes are only exported when History is not filtered by medication or status.
- Tapering rows are omitted while a status filter is active.
- The day matrix shows planned times, not actual ones. For actual times use the event list or the PDF.
- CSV column headers always stay German so analyses remain stable. Only the PDF follows the app language.
- Premium: export requires Premium. Without it, History shows the last 30 days only.
Therapy changes in the history
- When you edit a medication and change its dose or intake times (including weekdays or interval), or pause and resume it, CapsPlan automatically adds a history entry. It contains the date and the value before and after, and for doses the difference, e.g. "dose increased from 1000 IU to 2000 IU (+1000 IU)".
- A tapering plan writes its own markers (
tapering_started,tapering_completed). Dose changes inside a tapering plan do not create an extra entry. - A newly added medication creates no entry. You can long-press an entry in History to delete it.
- In the event list it is a row with status
therapy_change, in the day matrix it appears in the medication's cell as "Therapieänderung: …", in the PDF as a "Therapy changes" list on page 1 and in the "History and notes" timeline. It also shows in History when you filter by that medication.
Opening the CSV in Excel, Numbers or Google Sheets
- Excel: don't double-click. Use Data → From Text/CSV, file origin 65001: Unicode (UTF-8), delimiter comma. Otherwise umlauts and ✓ ✗ ⏰ display wrongly. Some regional Excel versions expect semicolons.
- Numbers / Google Sheets: open and import, UTF-8 is detected.
- The event list starts with a summary block. When importing, start at the line Datum,Uhrzeit,… (line 9 in the example).
import pandas as pd
df = pd.read_csv("capsplan.csv", skiprows=8) # skip summary block and blank line
df = df[df["Status"] == "skipped"] # e.g. all skipped doses
print(df.groupby("Medikament").size())