Zum Inhalt

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.

CSV

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

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

PDF

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

Mestinon 60 mg · 07 / 11 / 15 / 19 Azathioprin 100 mg 08:00 · 50 mg 20:00 Vitamin D3 + K2 · 08:00

Bei BedarfAs needed

Thomapyrin (Migräne) Ibuprofen 400 mg Vitamin C 1000 mg
Fiktives Beispiel zur Veranschaulichung des Formats. Es ist keine medizinische Empfehlung und zeigt keine Therapieentscheidung. Die Dosierung legt immer dein Arzt fest.Fictional example to illustrate the format. It is not medical advice and shows no therapy decision. Dosage is always set by your doctor.
117Tage dokumentiertdays documented
840Einnahme-Einträgeintake entries
19Dosen übersprungendoses skipped
24Notizen und Therapieänderungennotes and therapy changes

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.

alles im Rhythmuson schedule zu früh/spät oder verschobenearly/late or snoozed Dosis übersprungendose skipped ⚪ Notiznote ▲ Bedarfsmedikationas-needed

⬇ capsplan_beispiel_ereignisliste.csv

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, Uhrzeit HH:mm in der lokalen Zeit des Geräts, ohne Zeitzone. Zahlen mit Punkt als Dezimaltrenner.
  • Die Spaltenüberschriften sind deutsch, die Werte in Typ und Status sind 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. …",,,,,,
SpalteBedeutung
Datum, UhrzeitBei 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.
MedikamentName des Präparats. Leer bei Notizen.
Typtablet, liquid, drops, capsule, injection, patch, inhaler, powder
DosisTatsächlich eingenommene Menge als Zahl, in der Einheit des Präparats (z. B. mg). Die Einheit steht nicht in der Datei.
Statusconfirmed (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)
NotizFreitext 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 umTatsächliche Uhrzeit der Bestätigung (HH:mm), nur bei geplanten, bestätigten Einnahmen.
Abweichung_MinTatsächlich minus geplant in Minuten, mit Vorzeichen. Negativ = früher, positiv = später. Leer, wenn nicht bestätigt oder bei Bedarfsmedikation.
EinheitEinheit der Dosis, z. B. mg, µg, IU.
WirkstoffWirkstoff, falls im Präparat hinterlegt.
Artgeplant (feste Einnahme) oder bei_bedarf. Leer bei Notizen und Ausschleich-Ereignissen.
Seit 1.12 hinten angehängt:
StückeNur 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 Notizen fasst 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.
Bei sehr langen Zeiträumen zeigt das PDF pro Präparat die 800 neuesten Einnahmen einzeln. Ältere Einträge fasst es als Wochenübersicht zusammen (eingenommen, übersprungen, durchschnittliche Abweichung). Nichts wird weggelassen. Die CSV enthält immer jede einzelne Zeile.
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, time HH:mm in 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) and Status are 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. …",,,,,,
ColumnMeaning
Datum, UhrzeitFor 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.
MedikamentMedication name. Empty for notes.
Typtablet, liquid, drops, capsule, injection, patch, inhaler, powder
DosisAmount actually taken as a number, in the medication's own unit (e.g. mg). The unit is not in the file.
Statusconfirmed, skipped, snoozed (postponed and never confirmed), pending (open), note, therapy_change (dose, times, paused or resumed), tapering_started / tapering_completed
NotizFree 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 umActual confirmation time (HH:mm), only for scheduled, confirmed intakes.
Abweichung_MinActual minus planned in minutes, signed. Negative = earlier, positive = later. Empty when not confirmed or for as-needed medication.
EinheitUnit of the dose, e.g. mg, µg, IU.
WirkstoffActive ingredient, if stored with the medication.
Artgeplant (scheduled) or bei_bedarf (as needed). Empty for notes and tapering events.
Appended in 1.12:
StückeOnly 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.
For very long periods the PDF lists the 800 newest intakes per medication individually. Older entries are rolled up per week (taken, skipped, average deviation). Nothing is left out. The CSV always contains every single row.
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())