2

私は、医療行為のために患者に関する情報を収集するデータベースを持っています。この情報は複数のテーブルに分散されています。

  1. 患者 - 連絡先情報について
  2. PatientMedicalHistory - 現在の問題とは無関係の病状について
  3. PatientEpisode - 現在の訪問の財務情報
  4. PatientEpisodeReason - 患者が今日ここにいる理由に関するもの

患者の詳細を表示するときにメッセージが表示されるように、フラグ システムを導入したいと考えています。たとえば、患者が以前に心臓発作を起こしたことがある場合は、フラグを立てる必要があります (その情報は、PatientMedicalHistory にあります)。

私の現在のアプローチは、フラグの種類、フラグが参照しているテーブル/列、およびそのフラグを立てるために値が何であるかを定義するフラグルックアップテーブルを設定することです:

CREATE TABLE FlagType
(
    ID INT PRIMARY KEY IDENTITY,
    TypeName NVARCHAR(300) NOT NULL,
    Colour NVARCHAR(100) NOT NULL,
    Urgency INT NOT NULL
)

CREATE TABLE Flag
(
    ID INT PRIMARY KEY IDENTITY,
    FlagTypeID INT NOT NULL REFERENCES FlagType(ID),
    TableName NVARCHAR(300) NOT NULL,
    FieldName NVARCHAR(300) NOT NULL,
    FlagValue NVARCHAR(300) NOT NULL
)

これはすべて非常にうまくいくように見えましたが、a) 混乱に似ていないストアド プロシージャ、または b) パフォーマンスを損なわない LINQ クエリのいずれかを作成しようとするのは難しいようです。

これに代わるものはありますか?問題は、上記の表のいずれかの列でフラグを定義できることです。これで合計約80列になります。

4

1 に答える 1

0

PatientMedicalHistory テーブルには、臓器、疾患、重要度の 3 つのフィールドを追加できます。

患者に問題が発生した場合、現在のエピソードで提示された同じ臓器または疾患に基づいて、重要度が特定のしきい値を満たしている患者の履歴を取得できます。ここで行っているのは、患者の病歴データを分類して、現在のエピソード データに関連付けることです。

于 2013-02-12T20:07:18.800 に答える