AnpherosAnpheros PlatformDevelopers

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

FHIR対カスタム医療データベース

医療データのための独自テーブルかHL7 FHIR R4か:両方法で同じデータを読み取った場合の比較、トレードオフ、それぞれの適切な場面、そしてデータベースとFHIRレコードの一般的な分割について説明します。

ヘルスケア製品を開発するチームは、通常、早い段階で同じ選択に直面します。PostgreSQL やその他のデータベースで患者、測定値、診断のための独自のテーブルを設計するか、あるいは最初から HL7 FHIR R4 リソースとして医療データを保存するかです。カスタムスキーマは初日から迅速に実装でき、製品に正確に適合します。FHIR は初期段階でより多くの検討が必要ですが、データがシステム外に出る場合、監査される場合、同意を得て共有される場合、あるいは自分以外の誰かによって読み取られる場合に、その価値を発揮します。このページでは、同じデータを両方で保存した場合のトレードオフを正直に提示し、それぞれの選択が適切な場面について説明します。

これは、どの FHIR サーバーを使用するかという質問とは異なります。それについては、Anpheros と他の FHIR サーバーの比較 を参照してください。

同じ測定値を、2つの方法で

カスタムスキーマにおける血圧測定値:

CREATE TABLE bp_readings (
  id          uuid PRIMARY KEY,
  user_id     uuid REFERENCES users(id),
  systolic    int,
  diastolic   int,
  measured_at timestamptz,
  created_at  timestamptz DEFAULT now()
);

シンプルで、クエリが高速で、アプリケーションが必要とするものに正確に対応します。しかし、そのテーブルでは答えられない疑問が出てきます。

FHIR R4 における同じ測定値:

{"resourceType": "Observation", "status": "final",
 "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "vital-signs"}]}],
 "code": {"coding": [{"system": "http://loinc.org", "code": "85354-9", "display": "Blood pressure panel"}]},
 "subject": {"reference": "Patient/d09e3942-…"}, "effectiveDateTime": "2026-10-10T08:30:00Z",
 "component": [
   {"code": {"coding": [{"system": "http://loinc.org", "code": "8480-6"}]}, "valueQuantity": {"value": 138, "unit": "mmHg", "system": "http://unitsofmeasure.org", "code": "mm[Hg]"}},
   {"code": {"coding": [{"system": "http://loinc.org", "code": "8462-4"}]}, "valueQuantity": {"value": 88, "unit": "mmHg", "system": "http://unitsofmeasure.org", "code": "mm[Hg]"}}],
 "meta": {"versionId": "1"}}

より冗長ですが、各部分にはどのFHIRシステムでも共有できる意味があります。LOINC は何を測定したかを示し、UCUM は単位を示し、meta.versionId は履歴を開始し、同じ Observation の形状が他の200の測定値を保持します。Anpheros では、Provenance リソースは誰がそれを書いたかも記録します。FHIR R4 を使用して医療記録を保存する方法 で詳しく説明しています。

並列比較

カスタムスキーマ FHIR R4
最初の機能までの時間 数時間 リソースを学習するのに1日か2日
製品への適合性 完全一致 一般的。製品のビューはその上に配置されます。
新しい種類のデータの追加 種類ごとにマイグレーション 通常、既存のリソースに新しいコードを追加
システム外での意味 マッピングなしではなし 共有コード (LOINC, ICD-10, ATC, UCUM)
履歴と修正 設計が必要 バージョンと _history は設計による
誰が何を書いたか 設計が必要 Provenance (Anpheros では自動)
クリニック、ラボ、その他のアプリとの交換 その都度カスタム統合 FHIR R4 API, HL7 v2 インポート, International Patient Summary
アプリケーションごとの患者同意 設計が必要 SMART on FHIR スコープと OAuth
分析のためのクエリ プレーン SQL FHIR 検索、またはデータウェアハウスへのエクスポート
規制 (GDPR 第9条, EHDS) 全てのパートを文書化する必要がある 規制が参照する標準フォーマット

カスタムスキーマが適切な場合

FHIR が適切な場合

一般的な中間パス

ほとんどの製品は、データの種類によって両方を使い分けることになります。

your database                         FHIR record (Anpheros)
─────────────                         ──────────────────────
users, sessions, settings             Patient
subscriptions, billing                Observation, Condition, MedicationStatement
product content, feature flags        AllergyIntolerance, Immunization, DocumentReference
user id → patient id (one column)     Provenance, Consent, history
caches and analytics copies  ◄─────── webhooks

データベースは小さく、製品の形状に合ったままになります。医療記録は標準化され、バージョン管理され、共有可能であり、自分で構築する必要はありません。Medical app backend and database でこの分割について詳しく説明しており、How to build a healthcare API with TypeScript でそれを構築します。

FHIRを自社で構築するために必要なこと

FHIRを選択することは、FHIRサーバーを自分で開発することを意味しません。選択肢としては、自身で運用するオープンソースサーバー、クラウドプロバイダーのFHIRストア、オープンソースのヘルスケアプラットフォーム、またはAnpherosのようなマネージドヘルスケアデータベースがあります。これらの選択肢は、同意管理、監査、来歴、居住性、および統合の処理者が異なります。Anpherosと他のFHIRサーバーとの比較で詳しく説明しています。

よくある質問

FHIRはデータベースですか?

いいえ。FHIRは、ヘルスデータの構造と交換のための標準です。リソース、コード、およびREST APIが含まれます。FHIRサーバーまたはマネージドFHIRデータベースは、リソースを格納し、実際のデータベースの上にAPIを実装します。

FHIRリソースを自分でPostgreSQLに保存できますか?

はい、JSONカラムとして独自のインデックスを使用すれば可能です。いくつかのオープンソースサーバーがまさにそれを行っています。作業は、ストレージに関するすべてのこと、つまり検索パラメータ、バージョン管理、参照、検証、患者ごとのアクセス制御、および来歴(provenance)です。

カスタムスキーマから始めて、後でFHIRに移行できますか?

はい、可能です。多くのチームがそうしていますが、移行はマッピングプロジェクトになります。すべてのテーブルは、これまで記録したことのないコード、単位、および作成者が必要になります。最初の機能から医療データをFHIRとして保存する方が、後で変換するよりもコストがかかりません。

GDPRに準拠するためにFHIRが必要ですか?

いいえ。GDPRは特定のフォーマットを要求していません。FHIRは、いくつかの義務をより簡単に満たすことができます。ポータビリティ(レコードが標準フォーマットでエクスポートされる)、目的ごとのアクセス制御、および誰がどのデータを処理したかを示すことです。

関連情報

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