Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Backend a databáza pre lekárske aplikácie
Čo musí zvládnuť backend lekárskej aplikácie a jeho databáza, ktoré časti Anpheros poskytuje ako spravovanú databázu pre zdravotníctvo, čo zostáva vo vašom backendu, tri spôsoby pripojenia a ako zostať synchronizovaný pomocou webových háčikov.
Backend lekárskej aplikácie je serverová časť zdravotníckej aplikácie: ukladá údaje o pacientoch, vynucuje, kto ich môže vidieť, uchováva históriu zmien a komunikuje s laboratóriami, klinikami a inými službami. S Anpheros je lekárska časť tohto backendu – zdravotnícka databáza, ktorá uchováva záznam každého pacienta s jeho históriou, súhlasom, pôvodom, auditom, importom laboratórnych výsledkov a udalosťami – poskytovaná platformou prostredníctvom API a váš vlastný backend uchováva iba to, čo je špecifické pre váš produkt.
Čo musí zvládnuť lekársky backend
| Zodpovednosť | Prečo je to v zdravotníctve náročné | S Anpheros |
|---|---|---|
| Lekársky dátový model | desiatky druhov údajov, každý so štandardnými kódmi | HL7 FHIR R4, 26 typov zdrojov, LOINC / ICD-10 / ATC / UCUM |
| Verzovanie | lekárske údaje sa korigujú, nikdy sa ticho neprepíšu | každá aktualizácia je nová verzia; If-Match pre podmienené aktualizácie |
| Dokumenty | originály musia zostať nezmenené a sledovateľné | nemenné originály s SHA-256, úložisko EÚ šifrované kľúčom spravovaným zákazníkom |
| Kontrola prístupu | na pacienta, na aplikáciu, na typ údajov | izolácia projektov, párové ID, rozsahy OAuth s filtrami kategórií |
| Súhlas | pacient rozhoduje a môže zmeniť názor | povolenia na 30–365 dní, odvolateľné, zrkadlené ako FHIR Consent |
| Audit | pacienti a regulátori sa pýtajú, kto čo videl | každé čítanie a zápis zaznamenané a viditeľné pre pacienta |
| Pôvod | hodnota z laboratória nie je hodnota zadaná pacientom | typ autora, organizácia, praktický lekár a zdrojový systém pri každom zápise |
| Integrácie | laboratóriá posielajú CSV, HL7 v2, JSON; aplikácie potrebujú udalosti | import laboratória, transakcie FHIR, podpísané webhooky |
| Bezpečné opakovanie | duplicitný liek alebo výsledok je klinická chyba | Idempotency-Key pri každom vytvorení |
| Testovacie údaje | skutoční pacienti nesmú byť nikdy vo vývoji | databáza sandboxu so syntetickými pacientmi |
Čo zostáva na vašom backend-e
- vaši používatelia a účty a mapovanie každého používateľa na ich Anpheros patient id (párové id, ktoré váš projekt vidí);
- produktové dáta, ktoré nie sú lekárske: nastavenia, predplatné, obsah, plány pripomienok;
- obchodné pravidlá – ktorí z vašich zamestnancov môžu vidieť ktorého pacienta vo vašom produkte;
- API kľúč, ktorý sa nikdy nesmie distribuovať v mobilnej alebo webovej aplikácii.
Tri spôsoby pripojenia
1. Váš backend drží API kľúč (najbežnejšie). Vaša aplikácia volá váš backend; váš backend volá Anpheros s kľúčom sk_live_ a vidí pacientov, ktorých váš projekt vytvoril.
import { Anpheros, apiKey } from '@anpheros/sdk';
const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });
// GET /api/me/vitals in your backend, after your own authentication
export async function myVitals(user: { anpherosPatientId: string }) {
const page = await anpheros.observations.list(user.anpherosPatientId, { category: 'vital-signs', limit: 50 });
return page.data;
}
2. Aplikácia koná v mene pacienta pomocou OAuth. Pre ľudí, ktorí už majú záznam v Anpheros, je mobilná alebo webová aplikácia verejným OAuth klientom s PKCE: osoba súhlasí na hostovanej stránke a aplikácia získa 30-minútový prístupový token a rotujúci obnovovací token pre tento jeden záznam. SDK implementujú tento tok (OAuthFlow).
3. Partneri typu server-na-server. Dôverný klient (s tajným kľúčom, uchovávaným na serveri) môže použiť tok autorizačného kódu, alebo client_credentials, ktorý sa správa ako API kľúč pre daný projekt.
Udržiavanie synchronizácie vášho backendu
Prihlasujte sa na odber webhookov namiesto opakovaného pýtania sa (polling). Dodávky sú podpísané (Anpheros-Signature, HMAC-SHA256 nad časovou značkou a telom), doručené aspoň raz a potenciálne v nesprávnom poradí; deduplikujte podľa ID udalosti a ignorujte zastarané verzie.
import { verifyWebhookSignature } from '@anpheros/sdk';
app.post('/anpheros/hook', express.raw({ type: 'application/json' }), async (req, res) => {
const ok = await verifyWebhookSignature({ secret: process.env.ANPHEROS_WEBHOOK_SECRET!, header: req.header('anpheros-signature'), body: req.body });
if (!ok) return res.status(400).end();
const event = JSON.parse(req.body.toString()); // ids and versions only — read the resource if you need it
res.status(204).end();
});
Spracovanie chýb a limitov
404považujte za „pre vás neviditeľné“, nikdy nie ako dôkaz, že záznam neexistuje.403znamená, že poverenie existuje, ale nemusí to umožňovať – chýbajúci rozsah (scope) alebo zdroj napísaný inou organizáciou.429prichádza sRetry-After; SDK čakajú a automaticky sa pokúšajú znova, rovnako ako pri5xx.- Uchovávajte
Anpheros-Request-Idneúspešných volaní pre podporu.
Chyby · Limity a obmedzenia rýchlosti
Často kladené otázky
Akú databázu by mala používať lekárska aplikácia?
Takú, ktorá uchováva lekárske údaje v štandardizovanej, verzii a riadi prístup na základe pacienta. Anpheros je spravovaná zdravotnícka databáza postavená na HL7 FHIR R4: záznam každého pacienta je verzovaný a vyhľadávateľný, každý zápis nesie pôvod a aplikácia vidí pacienta iba vtedy, ak vytvorila záznam alebo pacient súhlasil. Vaša vlastná databáza uchováva zvyšné údaje vášho produktu – účty, fakturáciu, obsah. O kompromisoch pri navrhovaní vlastných tabuliek namiesto toho si prečítajte FHIR vs. vlastná lekárska databáza.
Existuje bezplatná databáza pre lekárske aplikácie?
Áno. Sandbox Anpheros je bezplatný: prihláste sa pomocou Google, získajte kľúč jedným kliknutím a váš projekt získa vlastných 30 syntetických pacientov a až 10 000 zápisov denne. Produkcia začína od 99 € mesačne za 2 500 pacientov, s prvým mesiacom zdarma; prístup do produkcie je pre overené organizácie s podpísanou dohodou o spracovaní údajov. Pozrite si Cenník.
Môžem uchovávať reálne údaje pacientov v bezplatnom sandboxe?
Nie. Sandbox je určený len pre syntetické údaje: každý sandbox projekt získa svojich vlastných syntetických pacientov a sandbox kľúče sa nedostanú do produkcie. Záznamy reálnych pacientov patria do produkčného projektu.
Súvisiace
- FHIR vs. vlastná lekárska databáza: kedy navrhnúť vlastné tabuľky a kedy použiť FHIR
- Ako vytvoriť zdravotnícke API s TypeScript: podrobný návod s Express
- Ako vytvoriť zdravotnícku aplikáciu s Flutterom: podrobný návod s Dart SDK
- Vývoj zdravotníckeho softvéru
- Vytvorenie zdravotníckej aplikácie
- Architektúra
- API pre lekárske dáta
- SDK
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card