No description
| apps | ||
| config | ||
| docs | ||
| Metropolis_Font_Family/Metropolis-master | ||
| scan_service | ||
| scripts | ||
| static | ||
| templates | ||
| whisper_service | ||
| .env.example | ||
| base.html | ||
| base_site.html | ||
| docker-compose.yml | ||
| Dockerfile | ||
| form_mixin.py | ||
| INSTALL.md | ||
| LICENSE | ||
| manage.py | ||
| middleware.py | ||
| nginx.conf | ||
| README.md | ||
| requirements.txt | ||
| start_lokal.sh | ||
| update_handbuch.py | ||
Open-Source-Praxisverwaltung für Ergotherapie-Praxen in der Schweiz.
Was DJErgo kann
- Patientenverwaltung — Patienten, Ärzte, Verordnungen DSG-konform erfassen. AHV-Nummern-Validierung inklusive.
- Terminkalender — HTMX-basierter Kalender mit Drag & Drop, Serientermine und Farbkodierung nach Status.
- Abrechnung — Tarif 325 (KVG), Tarif 338 (UVG/MTK), Tardoc, Privat und IV. Inklusive 3-stufigem Mahnwesen mit Gebühren.
- QR-Rechnung — Swiss QR Bill nativ via
qrbill. Seit 01.10.2022 Pflicht, direkt integriert. - MediData XML 4.4 — Elektronische Einreichung an Krankenkassen, nativ in Python/lxml generiert.
- HIN Covercard — eGK-Abfrage für Patientendaten (optional).
- Diktat — Lokale Whisper-Spracherkennung, kein Audio verlässt den Server.
- Mehrsprachigkeit — DE / FR / IT, durchgängig in UI und Tarifdaten.
- Audit-Logging — VDSG-konformes Änderungsprotokoll aller patientenrelevanten Daten.
- Feldverschlüsselung — Sensible Daten (HIN-Token etc.) werden auf Model-Ebene verschlüsselt.
- Docker-fähig — Komplette Praxis-Installation in einem Compose-File, offline lauffähig.
Tech-Stack
Django 5.1 (LTS) – Backend, ORM, Auth, Admin
HTMX 2.x – Reaktive UI ohne JavaScript-Framework
Bootstrap 5.3 – UI-Komponenten, responsive
PostgreSQL / SQLite – Datenbank (SQLite für Einzelpraxis)
Gunicorn – WSGI-Server (Produktion)
qrbill – QR-Rechnung (Swiss Payment Standard)
lxml + requests – MediData XML 4.4
python-stdnum – AHV-Validierung, IBAN-Validierung
django-guardian – Row-Level-Security
django-axes – Brute-Force-Schutz
django-auditlog – Änderungsprotokoll (VDSG Art. 2)
encrypted-model-fields – Feldverschlüsselung (HIN-Token etc.)
weasyprint – HTML/SVG → PDF
Whisper – Sprach-zu-Text (Diktat, optional)
Projektstruktur
DJErgo/
├── config/ # Django-Konfiguration
│ ├── settings.py # .env-gesteuert (Dev + Prod)
│ ├── urls.py # URL-Routing
│ ├── context_processors.py # Praxis-Stammdaten global
│ └── security.py # Lockout-Handler (Axes)
├── apps/
│ ├── patienten/ # Patienten, Ärzte, Verordnungen
│ ├── termine/ # Kalender + Terminverwaltung (HTMX)
│ ├── abrechnung/ # Tarife 325/338/Tardoc/Privat/IV
│ │ ├── models.py # Tarifposition, Rechnung, Mahnung
│ │ ├── fixtures/ # Tarif-Stammdaten (alle Typen)
│ │ └── management/ # laden_tardoc_stammdaten
│ ├── medidata/ # MediData XML 4.4 Generator + Sender
│ ├── praxis/ # Praxis-Konfiguration, CSP-Middleware
│ ├── statistik/ # Dashboard, Umsatz-Statistiken
│ ├── dokumentation/ # Dokumentenablage
│ ├── korrespondenz/ # Brief- und E-Mail-Vorlagen
│ ├── kommunikation/ # SMS (Twilio), Termin-Erinnerungen
│ ├── hin/ # HIN Covercard-Integration
│ ├── diktat/ # Whisper-Diktat-UI
│ └── migel/ # MiGeL-Materialpositionen
├── templates/ # Bootstrap 5.3 + HTMX Templates
├── static/ # CSS, JS, Bilder
├── docker-compose.yml # Docker-Produktions-Setup
├── Dockerfile
├── nginx.conf
├── .env.example
├── requirements.txt
└── manage.py
Schnellstart
# 1. Repository klonen
git clone https://forge.618.ch/djergo/djergo.git
cd djergo
# 2. Virtualenv
python -m venv venv
source venv/bin/activate
# 3. Abhängigkeiten
pip install -r requirements.txt
# 4. Konfiguration
cp .env.example .env
# .env ausfüllen: SECRET_KEY, FIELD_ENCRYPTION_KEY, Praxis-Daten
# 5. Datenbank
python manage.py migrate
# 6. Stammdaten laden
python manage.py loaddata tarife_325 tarife_338 tarife_338_2026 tarife_privat krankenkassen_ch
python manage.py laden_tardoc_stammdaten
# 7. Superuser anlegen
python manage.py createsuperuser
# 8. Starten
python manage.py runserver
Docker (Produktion)
cp .env.example .env # .env mit echten Werten ausfüllen
docker compose --profile nginx up -d
# http://<praxis-ip>
Gesetzliche Grundlagen (Schweiz)
| Gesetz | Artikel | Status |
|---|---|---|
| KVG | Art. 42 Abs. 3bis | Rechnungskopie-Pflicht (seit 01.01.2022) |
| KLV | Art. 6 | Ärztlicher Auftrag vor Behandlung |
| DSG / VDSG | Art. 2 | Audit-Logging, Feldverschlüsselung |
| EVS | Tarifvertrag | Tarif 325 (KVG Ergotherapie) |
| MTK | Tarifvertrag | Tarif 338 (UVG Ergotherapie) |
| MTK/EVS/SRK | Tarifvertrag 2026 | Tarif 338 (gültig ab 01.03.2026) |
| FMH/BAG | Tardoc 1.4c | Tardoc-Tariftyp (ärztlicher Tarif, vorbereitet) |
Features
- Patientenverwaltung — DSG-konform, AHV-Validierung
- Terminkalender — HTMX-basiert, Drag & Drop, Serientermine
- Abrechnung — Tarif 325 (KVG), Tarif 338 (UVG/MTK), Tardoc, Privat, IV
- QR-Rechnung — Swiss QR Bill (seit 01.10.2022 Pflicht)
- MediData XML 4.4 — Elektronische KK-Einreichung
- HIN Covercard — eGK-Abfrage (optional)
- Mahnwesen — 3-stufig mit Gebühren (CHF 0/10/20)
- Diktat — Whisper-Spracherkennung (lokal, optional)
- Scanner/OCR — Dokumenten-Digitalisierung (optional)
- Mehrsprachigkeit — DE / FR / IT
- Audit-Logging — VDSG-konformes Änderungsprotokoll
- Caching — Redis-ready (LocMem-Fallback)
- Async-Tasks — Huey (E-Mail, SMS, QR-Generierung)
- Docker — Komplette Praxis-Installation in einem Compose-File
Lizenz
AGPL-3.0 — frei nutzbar, modifizierbar. Änderungen müssen als Open Source veröffentlicht werden.
Mitmachen
Issues und Pull Requests willkommen: https://forge.618.ch/djergo/djergo