0

私は自分のプロジェクトのために病院のデータベースに取り組んでいます。私は患者、ベッド、医者などのテーブルを持っています。患者テーブルとベッドテーブルには、それぞれ患者が入院し、ベッドが占有されているBeg_DateとEnd_Dateがあります。

bed_Noテーブルの列に空のベッド番号を入力したいpatient(つまり、ベッドが患者によって占有されていない場合)。私が抱えている問題は、500人の患者に対して300台のベッドしかないことです。したがって、患者のBeg_Dateとを比較してベッド数を埋める方法がまったくわかりません。また、この情報を、および列End_Dateの下のベッドテーブル内に保存する必要があります(つまり、どの患者がどの日付のどのベッドを占有したかに関する情報)。このベッドテーブルについては、「カスケードの挿入時」と「カスケードの削除時」があることだけを知っていますが、使用方法がわかりません。patientIDBeg_DateEnd_Date

4

2 に答える 2

3

私も病院勤務です。

ベッドデータを患者テーブルに入れたくはありません。ベッドデータは訪問の一部であり、個人の一部ではありません。第一に、患者は複数回の来院があるかもしれません。また、あなたの病院が私のようなものである場合、患者は訪問中にベッドを変更できます。クリティカルケアと通常の看護ユニット間の移動は一般的です。

あなたの病院が 500 人を 300 のベッドに配置している場合、それが実際にどのように行われているかを調べ、それに応じてデータベースを設計してください。

ここから編集開始

Jason のコメントに基づいて、ベッド占有テーブルとベッド テーブルを用意できます。次に、利用可能なベッドは次のようになります。

select bed_id
from bed
minus
select bed_id
from bed_occupancy
where enter_datetime is not null
and departure_datetime is null

その後、患者を空のベッドに割り当てるのはユーザー次第です。実際には、一部のベッドは外科病棟にあり、一部は救命救急病棟にあるなど、他の考慮事項があります。臨床スタッフは、患者の間で短い散歩をしているときに、より効果的です。

于 2013-03-19T02:32:51.893 に答える
2

bed_statusと呼ばれる追加の列を追加し、使用可能、使用中、予約済みなどの事前定義されたステータスをいくつか持ちます。

患者に関係なく、ベッド番号のみを一意の ID と見なします。

患者が入院または退院するたびに、またはいくつかの重大なケースで転送された場合でも、この特定のベッドテーブルを更新します。

注 - 可能であれば、患者番号をその特定のベッド番号に割り当てます。同様に、患者が退院または入院したときに両方を更新します。

ステータスに基づいてクエリを実行するだけで、使用中のベッド、利用可能なベッド、予約済みのベッドなどを見つけることができます。

SELECT COUNT(bed_status) AS availableBeds FROM bed_table WHERE bed_status = 'Available'

SELECT COUNT(bed_status) AS occupiedBeds FROM bed_table WHERE bed_status = 'Occupied'

SELECT COUNT(bed_status) AS reservedBeds FROM bed_table WHERE bed_status = 'Reserved'

于 2013-03-19T05:13:05.157 に答える