0

目前我在数据库中有三个表,其中包含有关患者疾病、优先级和等待时间的数据。我想将患者优先级和疾病分配给预期的等待时间,例如:如果患者的优先级低且不紧急,则预期等待时间 = 3 小时。

以下表格包含有关优先级、疾病和等待时间的信息。

Priority Table
High
Moderate 
Low 

Illness Table
Critical 
Immediate 
Non-urgent

Expected_Waiting_time
0 - 10 (mins)
30 - 60
60 - 90
etc 

编辑:

输出示例

PatientID  Illness      Priority   Expected waiting time 
 1         non-urgent    Low        3 hours 
 2         non-urgent     Low       3 hours 
 3         Critical       High      0
 4         Immediate      Moderate  1-2 hours
4

3 回答 3

0

创建一个表,将等待疾病优先级联系起来。然后只需根据其他两个的值选择“等待”。

从 wait_table 中选择等待,其中疾病 = <值> 和优先级 = <值>;

该表会将疾病优先级的所有唯一组合分配给适当的wait值。

是一个小提琴。这很简单。

于 2013-03-09T13:47:06.157 回答
0

您的数据库


让我们从头开始。您的表是成功计算和存储客户端等待时间所需的所有后端数据。

您的优先表

你有一张priority表,里面有一个值。这是第一个警报。如果它只有一个值,作为另一个表的字段不是更好吗?也许将其与患者的详细信息结合起来,意味着仅使用客户的详细信息,您就可以访问他们的所有信息。也许是这样的:

Client Table
ClientID    ClientName    ClientPriority

这意味着,通过客户的姓名,您可以推断出他们的优先级。

疾病表

Illness Table  
IllnessID    IllnessName     IllnessLevel

这意味着随着客户的疾病,您可以达到他们的疾病等级。

您的等候时间表

我想这很好。将等待时间放在不同的表中意味着您可以在需要时更改它们。不过,我会推荐的是改变它,所以它看起来更像这样。这些数字是任意的,您可以根据需要更改它们,具体取决于您用于优先级和疾病严重程度的值。

Expected_Waiting_time
Waiting_Time    PatientScore
0 - 10 (mins)   10
30 - 60         5
60 - 90         1

你的编程逻辑


获取必要的信息

现在,您需要了解患者的详细信息及其状况。因此,假设客户给您他们的姓名或 ID。通常,在医生那里,您提供某种会员卡,他们会从中获取您的详细信息,因此请求身份证是一种完全正常的做法。

Client Inputs: ID 1
Client Illness: A Cold

从客户端的 ID 调用数据库,使用一些 SQL:

SELECT * FROM Clients WHERE ClientID=:ID

注意这里我使用了一个准备好的语句。如果您不知道这些是什么,那么您需要在此处阅读它们。

一旦您请求了客户的详细信息,您就有了他们的优先权。接下来,您将讨论他们的疾病。

SELECT * FROM Illness WHERE IllnessID = :IllnessID

再一次,使用一个简单的 SQL 语句,我们就获得了有关疾病的所有详细信息。

执行计算

在本节中,您需要对已有的值做一些事情来计算分数。例如,假设 10 是患者的高优先级,并且患者出现Critical疾病,那么您可能会说他们的得分为 20。

只需查询数据库,获取最接近 20 的值。如果您不确定如何执行此操作,请阅读此问题以获得一些帮助。

瞧,你有你的等待时间。

于 2013-03-09T13:50:24.677 回答
0

我的第一个观察是您的数据点似乎没有意义。如果某人是关键的,那么根据定义,他们是高优先级的,如果他们是非紧急的,那么他们将是低优先级的。您的表格似乎以不同的方式重复相同的信息。

此外,您无法从“60 到 90”分钟的一组数据中获得“3 小时”的绝对等待时间。你最终必须得到一个范围。

但是,如果我们假设可能存在临界低优先级或非紧急高优先级,那么:

您需要一张将优先级和/或疾病与等待时间联系起来的表格。您没有给出示例来说明它们是累积的还是基于配对而不同的。如果是前者,那么只需在每个 Illness 和 Priority 表中添加一个时间列,您就可以将这些值相加。如果是后者,则构建一个包含所有可能的疾病和优先级组合的表并加入它。

于 2013-03-09T13:51:23.673 回答