您的数据库
让我们从头开始。您的表是成功计算和存储客户端等待时间所需的所有后端数据。
您的优先表
你有一张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 的值。如果您不确定如何执行此操作,请阅读此问题以获得一些帮助。
瞧,你有你的等待时间。