目前,我在数据库中有三个表,其中包含有关患者疾病,优先级和等待时间的数据。我想将患者优先级和疾病分配到预期的等待时间,例如:如果患者具有低优先级且非紧急,则预期_waiting_time = 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
答案 0 :(得分:0)
创建一个表格,将等待与疾病和优先级相关联。然后根据其他两个的值选择“等待”。
从wait_table中选择等待,其中疾病=< value>和priority =< value&gt ;;
该表格将疾病和优先级的所有独特组合分配给等待的适当值。
Here是一个小提琴。这很简单。
答案 1 :(得分: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
请注意,我已经使用了准备好的声明。如果您不知道这些是什么,那么您需要阅读它们here。
一旦您请求客户的详细信息,您就会优先考虑。接下来,你将继续他们的疾病。
SELECT * FROM Illness WHERE IllnessID = :IllnessID
再一次,使用简单的SQL语句,我们可以获得有关疾病的所有详细信息。
执行计算
在本节中,您需要对所获得的值执行某些操作,以计算分数。例如,假设10是患者优先级高,患者出现Critical
疾病,那么您可能会说他们得分为20分。
只需查询数据库,最近的值为20.如果您不确定如何执行此操作,请阅读this question以获取一些帮助。
瞧,你有等待时间。
答案 2 :(得分:0)
我的第一个观察是你的数据点似乎没有意义。如果有人是严重的,那么他们按照定义是高优先级,如果他们是非紧急的,那么他们将是低优先级。您的表似乎以不同的方式重复相同的信息。
此外,您无法从一组显示“60到90”分钟的数据中获得“3小时”的绝对等待时间。你必须得到一个范围。
但是,如果我们假设可能存在关键低优先级或非紧急高优先级,那么:
您需要一张将优先级和/或疾病与等待时间相关联的表格。您没有举例说明它们是否累积,或者它们是否基于配对而不同。如果前者只是在每个疾病和优先级表中添加时间列,您可以将这些值一起添加。如果后者然后构建一个具有疾病和优先级的所有可能组合的表并加入它。