Přeskočit na obsah
CodeDock
← Zpět na reference
Case Study3,5 měsíce · průběžný vývoj7 min čtení

ClinicDent — multitenantní SaaS pro zubní kliniky, od objednání pacienta po vykázání pojišťovně

ClinicDent je SaaS produkt pro zubní kliniky, který jsme navrhli a vyvíjíme a který běží v ostrém provozu. Pokrývá celý chod zubní kliniky — kalendář, kartu pacienta, dekurzy, vykazování zdravotním pojišťovnám, eRecept, platby, sklad i komunikaci s pacienty. Multitenantní .NET 10 backend, webová aplikace v Reactu 19, nativní iPhone appka a online rezervační portál v 5 jazycích.

Chci podobné řešení →ClinicDent ↗
18modulů ve 4 oblastechpodle produktového webu
70skupin API endpointů.NET 10 minimal API
5 jazykůrezervačního portáluCS · EN · SK · DE · UK
250commitů za 3,5 měsíceod června 2026
01 — Výchozí stav

Zubní klinika s více lékaři potřebuje víc než kartotéku

Klinika s několika lékaři a pobočkami řeší denně objednávání, dokumentaci, vykazování pojišťovnám, recepty, platby, laboratorní zakázky i sklad materiálu. Každá oblast má vlastní pravidla a často i vlastní software. Navíc platí přísné české předpisy pro zdravotnickou dokumentaci a data pacientů. Cílem byl jeden systém pro celou kliniku, nabízený klinikám jako SaaS — včetně přechodu ze stávajícího systému.

Vykazování pojišťovnámdávky VZP a číselníky
Recepty a neschopenkySÚKL eRecept, ČSSZ
Zdravotnická dokumentacevyhláška 98/2012 Sb.
Sterilizacevyhláška 306/2012 Sb.
Osobní údaje pacientůGDPR export a výmaz
Přechod z jiného systémuimport dat, číselné řady
Cíl
celá klinika v jednom systémuod objednání pacienta po vykázání pojišťovně
02 — Řešení

Multitenantní .NET 10 platforma s webem, iPhone appkou a portálem pro pacienty

Systém jsme navrhli jako SaaS od prvního dne: jedna databáze pro všechny kliniky, striktní oddělení dat a tajemství každé kliniky šifrovaná zvlášť. Nad jedním API běží aplikace pro personál, iPhone aplikace, rezervační portál a weby jednotlivých klinik.

01

Multitenantní backend na .NET 10

Minimal API se 70 skupinami endpointů nad PostgreSQL a EF Core. Každý záznam nese TenantId a globální query filtr ho vynucuje automaticky — při chybějícím kontextu kliniky systém data nevydá (fail-closed). Tajemství klinik jsou šifrovaná AES-GCM s klíčem v Azure Key Vault.

02

Webová aplikace pro personál

React 19 + MUI. Kalendář s termíny a zálohami, karta pacienta, zubní kříž s FDI lokalizací, parodontogram, léčebné plány, dekurzy s pravidly vykazování, laboratorní zakázky, sklad se šaržemi a čárovými kódy, manažerské reporty a přehled s widgety.

03

Napojení na český zdravotní systém

Dávky pro zdravotní pojišťovny (KDAVKA) a číselníky VZP, SÚKL eRecept a databáze léků, ČSSZ eNeschopenka. Pravidla vykazování hlídají kombinace výkonů a lokalizace na zuby.

04

AI asistent dekurzu a hlasové diktování

Asistent nad Claude API navrhuje text dekurzu z poznámek lékaře — pouze jako návrh, který lékař potvrdí. Klinika používá vlastní API klíč. Zubní kříž a parodontogram lze zadávat hlasem.

05

Rezervační portál a weby klinik

Pacienti se objednají online na stránce své kliniky, přihlásí se e-mailem a jednorázovým kódem a mohou zaplatit zálohu přes ComGate. Portál je v pěti jazycích (CS, EN, SK, DE, UK). Každá klinika může mít i vlastní web, jehož obsah spravuje přímo v ClinicDentu.

06

Nativní iPhone aplikace

SwiftUI aplikace pro lékaře a recepci: kalendář, karta pacienta, chairside zápis ošetření, komunikace s pacienty, push notifikace a widgety. Lokalizace CS, EN, SK. Ke stažení v App Storu.

App Store ↗
07

Platby, podpisy a účetnictví

ComGate brána i platební terminál, import bankovních výpisů (camt.053), elektronický podpis dokumentů SMS kódem a exporty do účetních systémů Pohoda a Money S3.

03 — Architektura

Architektura řešení

Kontejnery v Dockeru za Traefikem na Azure s daty v EU. .NET 10 API obsluhuje aplikaci pro personál, iPhone aplikaci, rezervační portál i weby klinik. PostgreSQL s přístupem přes Managed Identity bez hesel, přílohy pacientů v samostatném Blob Storage kontejneru pro každou kliniku, tajemství v Azure Key Vault. CI/CD v Azure DevOps s kontrolou úniku tajemství (gitleaks).

Architektura řešení
  1. 01Lékař zapíše ošetření do dekurzu.
  2. 02Požadavek projde přes Traefik.
  3. 03Aplikace pro personál odešle dekurz.
  4. 04API ohlídá pravidla vykazování a lokalizaci na zuby.
  5. 05Výkony se uloží ke kartě pacienta.
  6. 06Dávka KDAVKA odejde pojišťovně.
  1. Uživatelé: Personál kliniky (lékaři · recepce); Pacienti (online)
  2. Vstup: Traefik (reverse proxy · TLS)
  3. Aplikace: Aplikace pro personál (React 19 · MUI); iPhone (SwiftUI); Rezervační portál (5 jazyků · OTP); Weby klinik (Astro)
  4. Jádro: .NET 10 API (multitenant · TenantId · fail-closed)
  5. Data: PostgreSQL (Managed Identity); Blob Storage (kontejner / klinika); Key Vault (AES-GCM tajemství)
  6. Integrace: Zdravotnictví ČR (VZP dávky, SÚKL eRecept, ČSSZ eNeschopenka); Platby a komunikace (ComGate, SMS · e-mail · APNs, DS Core · DICOM); Účetnictví a AI (Pohoda · Money S3, Claude API, ARES)
  7. Nasazení: Azure DevOps → gitleaks → ACR → Docker · Traefik · Azure EU
04 — Výsledky

Výsledky

Celá klinika v jednom systému

Objednávání, dokumentace, vykazování, recepty, platby, laboratoř, sklad i komunikace s pacienty sdílejí jednu kartu pacienta — bez přepisování mezi programy.

Dokumentace podle předpisů

Audit přístupu ke zdravotnické dokumentaci (vyhláška 98/2012 Sb.), podepsaný dekurz už nelze přepsat, jen doplnit, a záznamy se po čase automaticky uzamknou. Sterilizační deník podle vyhlášky 306/2012 Sb.

Data klinik striktně oddělená

Globální filtr podle kliniky na každém dotazu, přílohy v samostatném úložišti pro každou kliniku a šifrovaná tajemství. Databáze bez hesel přes Managed Identity, hosting v EU.

AI pomáhá, lékař rozhoduje

Asistent dekurzu jen navrhuje, finální zápis vždy potvrzuje lékař. Hlasové diktování zubního kříže a parodontogramu šetří ruce u křesla.

Přechod ze starého systému

Import dat ze stávajícího systému (kalendář, dekurzy, vykázání) a pokračující číselné řady, aby klinika nezačínala od nuly.

V ostrém provozu

ClinicDent běží v produkci na Azure s daty v EU. Webová aplikace, rezervační portál i iPhone aplikace z App Storu sdílejí jedno API a jednu kartu pacienta.

Technologie

  • .NET 10
  • ASP.NET Core Minimal API
  • EF Core
  • C#
  • PostgreSQL
  • React 19
  • TypeScript
  • Material-UI
  • Vite
  • Swift · SwiftUI
  • Astro
  • Docker
  • Azure
  • Azure Key Vault
  • Azure Blob Storage
  • Managed Identity
  • Azure DevOps Pipelines
  • Traefik
  • Cloudflare Pages
  • Anthropic Claude API
  • ComGate
  • SÚKL eRecept
  • VZP dávky
  • ČSSZ eNeschopenka
  • WebAuthn (passkeys)

Další reference

Všechny reference

Magistra a.s.

Datový sklad na Microsoft Fabric pro síť 200+ lékáren

DataEnterpriseMicrosoft Fabric
Číst více

JUST CS spol. s r. o.

Kompletní náhrada systému pro správu prodejní sítě MLM za 3 měsíce

EnterpriseNáhrada systémuAzure
Číst více

Netigo s.r.o.

Aplikace pro sběr a reporting síťového provozu podporující protokoly NetFlow v5/v9 a IPFIX, s vysokovýkonným úložištěm na PostgreSQL + TimescaleDB.

High-performanceDataNetwork
Číst více

Související čtení

Hlubší technické poznámky k tématům této případové studie.

Architektura a konzultace · 6 min čtení

SaaS za 2 měsíce, který se neboří za půl roku: co škrtnout a co ne

Fotopast.cloud šla do produkce 60 dní od zahájení. Není to marketingový trik — je to série vědomých rozhodnutí o tom, co vejde a co se nechá na potom. Tady jsou pravidla, která používáme.

Číst článek
Enterprise integrace · 8 min čtení

Enterprise integrace: 5 věcí, které selhávají v produkci

Každá integrace vypadá v pohodě, dokud producent nemá špatný den. Pět selhávacích scénářů, které v enterprise systémech vidíme opakovaně — a nenápadné opravy, které každý z nich zastaví.

Číst článek
Architektura a konzultace · 9 min čtení

Krabicový vs. zakázkový software: kdy se která volba vyplatí

Vývoj software na zakázku má smysl, když krabicové řešení nesedí — ale ne vždy. Pět signálů, že potřebujete software na míru, plus rámec pro rozhodnutí, zda stavět, nebo kupovat.

Číst článek
Senior architekt na každém projektu · Kdo jsme →

Chcete podobné řešení?

Napište nám — odpovíme do jednoho pracovního dne a domluvíme úvodní hovor.
Nezávazně napsat