AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Schéma databázy FHIR

Ako ukladať FHIR zdroje: normalizované tabuľky verzus JSON s indexmi vyhľadávania verzus graf, schéma PostgreSQL, na ktorej Anpheros beží (zdroje, história, typové indexy, projekcie) a pravidlá, na ktorých záleží.

Databáza FHIR ukladá HL7 FHIR zdroje tak, aby ich bolo možné čítať, vyhľadávať a verzovať prostredníctvom FHIR API; najbežnejšie schéma udržiava každý zdroj ako JSON a vypĺňa samostatné indexové tabuľky pre vyhľadávacie parametre, namiesto rozširovania každého prvku naprieč normalizovanými relačnými tabuľkami. Táto stránka vysvetľuje tri bežné návrhy, schému, na ktorej Anpheros beží v PostgreSQL, a kedy by ste si nemali vytvárať vlastnú.

Tri spôsoby ukladania FHIR

Three ways to store FHIR data
Normalised tablesJSON + search indexesGraph database
Stores any valid resource unchanged—✓✓
Standard FHIR search on any parameter◐✓◐
New fields need a schema migration✓——
Easy SQL reporting✓◐—
Used by mainstream FHIR servers◐✓—

◐ = possible with extra work. HAPI FHIR and Anpheros both keep the resource as JSON and index search parameters separately.

Zdroje FHIR sú komplexné, voliteľné a rozšíriteľné: samotné Observation má desiatky prvkov, typy s voľbou (value[x]), opakujúce sa kódovania a rozšírenia. Normalizácia do relačných stĺpcov znamená migráciu vždy, keď profil pridá pole. Ukladanie zdroja ako JSON uchováva čokoľvek platné nezmenené; indexové tabuľky umožňujú vyhľadávanie.

Schéma Anpheros

How a FHIR database is laid out (the Anpheros design)
  1. APIFHIR R4 REST and the simpler /v1 REST API
  2. Current resourcesOne row per resource: type, id, patient, version, the full FHIR JSON (JSONB)
  3. Search indexesTyped tables filled on every write: token, string, date, reference, quantity
  4. HistoryEvery version of every resource, never overwritten
  5. ProjectionsFlat tables for the common REST views: observations, conditions, medications
  6. PostgreSQLOne database per environment; sandbox and production are separate
Tabuľka Jeden riadok pre Kľúčové stĺpce
fhir_resources aktuálna verzia zdroja resource_type, id, patient_id, version, json (celý zdroj), last_updated, deleted, plus stĺpce pre provenance
fhir_history každá verzia, ktorá kedy existovala resource_type, id, version, json, last_updated
idx_token kódovaná alebo identifikačná hodnota pre vyhľadávanie system, code — pre code, category, identifier, status
idx_string textová hodnota pre vyhľadávanie normalizovaný text — pre mená a voľný text
idx_date dátumová hodnota pre vyhľadávanie začiatok a koniec rozsahu — pre date, onset-date, birthdate
idx_reference referenčná hodnota pre vyhľadávanie cieľový typ a id — pre patient, subject, encounter
idx_quantity hodnota typu quantity pre vyhľadávanie value, system, unit — pre value-quantity
proj_observations, proj_conditions, proj_medications zdroj, zjednodušený stĺpce, na základe ktorých filtruje jednoduché REST API

Pri každom zápise platforma validuje zdroj, zapíše novú verziu do fhir_resources a fhir_history, nahradí jeho indexové riadky a projekcie a zaznamená Provenance. Vyhľadávanie ako Observation?patient=…&code=http://loinc.org|4548-4&date=ge2026-01-01 sa stane spojením (joins) na idx_reference, idx_token a idx_date; výsledok vráti uložený JSON tak, ako bol zapísaný.

Dôležité pravidlá návrhu

Často kladené otázky

Aká je najlepšia databáza pre FHIR?

Väčšina produkčných FHIR serverov používa relačnú databázu, napríklad PostgreSQL, pričom zdroje sú uložené ako JSON (JSONB) a vyhľadávacie parametre sú indexované v samostatných tabuľkách. Kombinuje to flexibilné ukladanie s rýchlym, štandardným vyhľadávaním.

Mám normalizovať FHIR zdroje do relačných tabuliek?

Zvyčajne nie pre primárne úložisko. Normalizované tabuľky sú vhodné na reportovanie; uchovávajte ich ako projekcie vytvorené z uložených zdrojov, ako to robí Anpheros pre svoje jednoduchšie REST API.

Ako HAPI FHIR ukladá zdroje?

JPA server HAPI FHIR tiež ukladá každú verziu zdroja ako serializovaný JSON a uchováva vyhľadávacie parametre v samostatných indexových tabuľkách. Dizajn Anpheros sa riadi rovnakým princípom.

Musím si sám vytvoriť FHIR databázu?

Iba ak potrebujete plnú kontrolu nad profilmi a typmi zdrojov. V opačnom prípade vám spravovaná FHIR platforma poskytne úložisko, vyhľadávanie, históriu, súhlas a audit bez nutnosti spúšťania schémy.

Súvisiace témy

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy