Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Backend și bază de date pentru aplicații medicale
Ce trebuie să gestioneze un backend de aplicație medicală și baza sa de date, ce părți oferă Anpheros ca bază de date medicală gestionată, ce rămâne în backend-ul tău, trei moduri de conectare și cum să rămâi sincronizat cu webhooks.
Un backend de aplicație medicală este partea de server a unei aplicații de sănătate: stochează datele pacienților, impune cine le poate vedea, păstrează un istoric al modificărilor și comunică cu laboratoarele, clinicile și alte servicii. Cu Anpheros, partea medicală a acelui backend — baza de date medicală care deține dosarul fiecărui pacient, cu istoricul său, consimțământul, proveniența, auditul, importul de laborator și evenimentele — este furnizată de platformă printr-un API, iar propriul backend păstrează doar ceea ce este specific produsului dvs.
Ce trebuie să gestioneze un backend medical
| Responsabilitate | De ce este dificil în domeniul sănătății | Cu Anpheros |
|---|---|---|
| Un model de date medical | zeci de tipuri de date, fiecare cu coduri standard | HL7 FHIR R4, 26 tipuri de resurse, LOINC / ICD-10 / ATC / UCUM |
| Versionare | datele medicale sunt corectate, niciodată suprascrise silențios | fiecare actualizare este o versiune nouă; If-Match pentru actualizări condiționale |
| Documente | originalele trebuie să rămână neschimbate și trasabile | originale imuabile cu SHA-256, stocare UE criptată cu o cheie gestionată de client |
| Controlul accesului | per pacient, per aplicație, per tip de date | izolare proiect, ID-uri pereche, scopuri OAuth cu filtre de categorie |
| Consimțământ | pacientul decide și se poate răzgândi | granturi pentru 30–365 zile, revocabile, oglindite ca FHIR Consent |
| Audit | pacienții și autoritățile de reglementare întreabă cine a văzut ce | fiecare citire și scriere înregistrată și vizibilă pentru pacient |
| Proveniență | o valoare de la un laborator nu este o valoare introdusă de un pacient | tip autor, organizație, practician și sistem sursă la fiecare scriere |
| Integrări | laboratoarele trimit CSV, HL7 v2, JSON; aplicațiile necesită evenimente | import laborator, tranzacții FHIR, webhooks semnate |
| Reîncercări sigure | o medicație sau un rezultat duplicat este o eroare clinică | Idempotency-Key la fiecare creare |
| Date de test | pacienții reali nu trebuie să fie niciodată în dezvoltare | o bază de date sandbox cu pacienți sintetici |
Ce rămâne în backend-ul dvs.
- utilizatorii și conturile dvs., precum și maparea fiecărui utilizator la ID-ul pacientului Anpheros (ID-ul pereche pe care îl vede proiectul dvs.);
- datele produsului care nu sunt medicale: setări, abonamente, conținut, programări pentru memento-uri;
- reguli de afaceri — personalul dvs. care poate vedea ce pacient în produsul dvs.;
- cheia API, care nu trebuie trimisă niciodată într-o aplicație mobilă sau web.
Trei modalități de conectare
1. Backend-ul dvs. deține cheia API (cel mai comun). Aplicația dvs. apelează backend-ul dvs.; backend-ul dvs. apelează Anpheros cu o cheie sk_live_ și vede pacienții creați de proiectul dvs.
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. Aplicația acționează în numele pacientului cu OAuth. Pentru persoanele care au deja un cont Anpheros, o aplicație mobilă sau web este un client OAuth public cu PKCE: persoana își dă consimțământul pe pagina găzduită, iar aplicația primește un token de acces de 30 de minute și un token de reîmprospătare rotativ pentru acel cont. SDK-urile implementează fluxul (OAuthFlow).
3. Parteneri server-la-server. Un client confidențial (cu un secret, păstrat pe un server) poate utiliza fluxul authorization-code sau client_credentials, care se comportă ca o cheie API pentru acel proiect.
Păstrarea backend-ului sincronizat
Abonează-te la webhooks în loc să folosești polling. Livrările sunt semnate (Anpheros-Signature, HMAC-SHA256 peste timestamp și body), livrate cel puțin o dată și posibil în afara ordinii; deduplică după ID-ul evenimentului și ignoră versiunile învechite.
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();
});
Gestionarea erorilor și a limitelor
- Tratați
404ca "nu este vizibil pentru dumneavoastră", niciodată ca o dovadă că un înregistrare nu există. 403înseamnă că acreditarea există, dar s-ar putea să nu permită acest lucru — un scop lipsă sau o resursă scrisă de o altă organizație.429vine cuRetry-After; SDK-urile așteaptă și reîncearcă automat, așa cum fac și pentru5xx.- Păstrați
Anpheros-Request-Idapelurilor eșuate pentru suport.
Erori · Limite și limite de rată
Întrebări frecvente
Ce bază de date ar trebui să folosească o aplicație medicală?
Una care păstrează datele medicale într-o formă standardizată, versionată și controlează accesul per pacient. Anpheros este o bază de date gestionată pentru sănătate, construită pe HL7 FHIR R4: înregistrarea fiecărui pacient este versionată și căutabilă, fiecare scriere poartă proveniență, iar o aplicație vede un pacient doar dacă a creat înregistrarea sau pacientul și-a dat consimțământul. Baza dvs. de date proprie păstrează restul datelor produsului dvs. — conturi, facturare, conținut. Pentru compromisurile proiectării propriilor tabele în loc, consultați FHIR vs. o bază de date medicală personalizată.
Există o bază de date gratuită pentru aplicații medicale?
Da. Sandbox-ul Anpheros este gratuit: conectați-vă cu Google, obțineți o cheie cu un singur clic, iar proiectul dvs. primește proprii 30 de pacienți sintetici și până la 10.000 de scrieri pe zi. Producția începe de la 99 € pe lună pentru 2.500 de pacienți, cu prima lună gratuită; accesul la producție este pentru organizații verificate cu un acord de procesare a datelor semnat. Consultați Prețuri.
Pot păstra date reale ale pacienților în sandbox-ul gratuit?
Nu. Sandbox-ul este doar pentru date sintetice: fiecare proiect sandbox primește proprii pacienți sintetici, iar cheile sandbox nu pot accesa producția. Înregistrările reale ale pacienților aparțin unui proiect de producție.
Conexe
- FHIR vs. o bază de date medicală personalizată: când să proiectați propriile tabele și când să utilizați FHIR
- Cum să construiți un API pentru domeniul sănătății cu TypeScript: tutorial pas cu pas cu Express
- Cum să construiți o aplicație pentru domeniul sănătății cu Flutter: tutorial pas cu pas cu SDK-ul Dart
- Dezvoltare software pentru domeniul sănătății
- Construiți o aplicație pentru domeniul sănătății
- Arhitectură
- API pentru date medicale
- SDK-uri
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card