每条数据 条件 都不相同,一个或 多个,该怎么设计 数据库?
先说 一般的情况:
三碘甲状腺原氨酸; 1.6~3.0nmol/L;偏高:疾病 A;偏低:疾病B
这是 一条检查指标 数据, 有一个 数值范围,1.6-3.0,
当 用户 在前台 对 该指标 填 1,那么 就是说 小于 范围 的最低值,偏低,结果 可能是 疾病B;反之, 填了5,那么 就是 偏高,可能 是疾病A。
这时候 我可以在数据库 里 有4个字段,一个 最低值,一个 最高值,一个 大于时的疾病,一个 小于 时的疾病,然后 按照 数值判断 给出 疾病结果。
但 问题 是 并不是 所有 的指标 这么 清楚、明确的 。
比如 有年龄的、性别 条件 的,儿童 21~25mmol/L;成人 22~28mmol/L ,
是要 变成两条吗?儿童一条,成年一条。
就算 是 变成多条,要 用户 在 使用的 时候 必须选择一个条件 进行筛选,类似这样
可是 像 年龄、性别 还算 是统一 一些的条件,很多 条件只有 该指标 存在的,其他 并没有:
比如 有不同 的 统计方法的 范围 就不同:
1、酶速率法(37℃)健康成年人7.7-19.3U/L。 2、分光光度法<25U。 3、比色法健康成年人为5~25U/ml。
不同情况下 的 数值 不同:
血清果糖胺正常值为1.64~2.64mmol/L,血浆中果糖胺较血清低0.3mmol/L。
有的 还 有 两种 单位:
男0.43~1.28g/L(43~128mg/dl); 女0.42~1.12g/L(43~128mg/dl)。
不同 的时期 数值 也不同:
垂体泌乳素:妊娠中3个月<160μg/L(<160ng/ml)。 妊娠后3个月<400μg/L(400ng/ml)。 绝经期:<0.91nmol/L。
等等,情况多种,可以 说 不同的 检查 有 不同的 条件,不同的条件 下 数值 就不同。并不是 单一 的一个 数值 范围。
而且 条件 不是统一 都有,很多只是 这个 指标 才有的 ,其他 的没有。。。。
这时候 应该 怎么设计 数据库,或者 数据结构呢?
我大概 想到 不同的条件 就是 一条,比如 垂体泌乳素 有 3条, 分别 对应不同的 时期。。。
可是 这时候 怎么给用户展示条件呢?还没有 实际 操作,不确定 是否可行。。
该 怎么设计 数据库,或 数据结构呢?
分开两个表,每种疾病或者症状都有一个或者几个必备的条件,在一个表录入疾病的类型、对应男女、老幼等条件,每一个用户录入个人数据的时候,调用一堆固定的算法(可以在数据库写函数,也可以在程序里面写查询方法),获取到每个类目是否正常,还是有某种疾病,然后直接把值录入另一张用户表,到时显示的时候,直接查用户表就行了