我正在尝试制作一个Android应用来跟踪用户的药物使用情况。 问题是我服用药物的设置非常不同。 用户应该提供有关何时以及如何服药的信息。
一些额外的信息,如(吃饭前/吃完后)可以存储在药物描述的单独表格中(例如,可能没有必要将其与使用时间一起存储)。
此外,这不是包含有关用户何时实际使用它的信息的表。 (这里我有一个简单的medicine_Id和时间戳表)。
所以情况看起来像这样。用户将使用情况设置为:
我以为我会将这些数据存储在数据库中,但我不知道该怎么做。或者它可能更好地以不同的方式存储它(例如共享首选项,JSON / XML,文本文件)?
基本上似乎有以下类型的“用法”:
问题是:
在Android设备上保存这些数据的适当解决方案是什么? 并且(如果使用SQLite)您会对数据库方案提出什么建议?
-----编辑-----
只是为了说清楚。 我不需要用户的说明文字何时服药。 我需要的是根据给定设置设置闹钟的信息。所以最后我需要一个我以后可以匹配的值,比如
(if currentTime == breakfastTime)
...
或者
(if medicine.takeAtBreakfast)
...
这将呈现描述用户信息的字符串值无用。第一个想法是数据库的布尔列,用于早餐,午餐,晚餐以及相同的工作日。但这似乎浪费了很多空间。
答案 0 :(得分:3)
药物通常每天服用不超过几次。情况可能并非总是如此,但可以安全地假设大多数情况都是这种情况。在您的描述中,药物治疗时间相当好,例如每天两次,每8小时一次,但实际上该方案可能比这更复杂。一般来说,我们应该期望医生可以指导患者在当天的任何时间点进行几次药物治疗。
考虑到这些假设,我们可以考虑下表来服用药物:
regimen (id, subscription_id, medication_id, time_of_day, comment)
此表中的给定条目对应于一个处方,一个患者,一个药物和一天中的给定时间。对于白天需要超过一剂的处方,每次剂量都有记录。
处方表将记录给定Rx中的药物,以及每种药物的剂量:
prescriptions (id, date, doctor_id, patient_id, medication_id, dose)
这只是一个开始,你需要药物表,可能还有几个。此外,还可以为医生提供一个表格和相关的元数据。
修改强>
要处理每日一次的处方(即白天的任何时间),我们可以将time_of_day
设置为NULL
。每天两次,我们可以使用两个记录,每个记录代表一个剂量。我们可以使用注释列来指示第一剂量,第二剂量等,或者可能添加另一列。
答案 1 :(得分:1)