No description
Find a file
2026-05-25 20:25:11 +02:00
apps workflow adjustments 2026-05-25 20:25:11 +02:00
config workflow adjustments 2026-05-25 20:25:11 +02:00
docs first commit 2026-05-22 03:00:09 +02:00
Metropolis_Font_Family/Metropolis-master first commit 2026-05-22 03:00:09 +02:00
scan_service workflow adjustments 2026-05-25 20:25:11 +02:00
scripts workflow adjustments 2026-05-25 20:25:11 +02:00
static workflow adjustments 2026-05-25 20:25:11 +02:00
templates workflow adjustments 2026-05-25 20:25:11 +02:00
whisper_service first commit 2026-05-22 03:00:09 +02:00
.env.example workflow adjustments 2026-05-25 20:25:11 +02:00
base.html workflow adjustments 2026-05-25 20:25:11 +02:00
base_site.html workflow adjustments 2026-05-25 20:25:11 +02:00
docker-compose.yml first commit 2026-05-22 03:00:09 +02:00
Dockerfile first commit 2026-05-22 03:00:09 +02:00
form_mixin.py workflow adjustments 2026-05-25 20:25:11 +02:00
INSTALL.md first commit 2026-05-22 03:00:09 +02:00
LICENSE first commit 2026-05-22 03:00:09 +02:00
manage.py first commit 2026-05-22 03:00:09 +02:00
middleware.py workflow adjustments 2026-05-25 20:25:11 +02:00
nginx.conf first commit 2026-05-22 03:00:09 +02:00
README.md first commit 2026-05-22 03:00:09 +02:00
requirements.txt workflow adjustments 2026-05-25 20:25:11 +02:00
start_lokal.sh first commit 2026-05-22 03:00:09 +02:00
update_handbuch.py workflow adjustments 2026-05-25 20:25:11 +02:00

DJErgo

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