每条数据 条件 都不相同,该怎么设计 数据库?

Metro2033 发布于 2016/11/20 14:54
阅读 488
收藏 0

每条数据 条件 都不相同,一个或 多个,该怎么设计 数据库?

先说 一般的情况:

三碘甲状腺原氨酸; 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条, 分别 对应不同的 时期。。。

可是 这时候 怎么给用户展示条件呢?还没有 实际 操作,不确定 是否可行。。


该 怎么设计 数据库,或 数据结构呢?





加载中
0
月生无界
月生无界
分开两个表,每种疾病或者症状都有一个或者几个必备的条件,在一个表录入疾病的类型、对应男女、老幼等条件,每一个用户录入个人数据的时候,调用一堆固定的算法(可以在数据库写函数,也可以在程序里面写查询方法),获取到每个类目是否正常,还是有某种疾病,然后直接把值录入另一张用户表,到时显示的时候,直接查用户表就行了
Metro2033
Metro2033
嗯。。。跟我想的结构 差不多,但是 使用上 是 用户随时查询,而不是 存储起来。。。
0
enzozhong
enzozhong
是否可以训练一颗决策树,然后储存这一刻树
0
skhuhu
skhuhu
no no no 医疗类基本是放开权限 所有结论性的字段不是你去按逻辑或者定义的规则去限制··最好都是放开给医生写
Metro2033
Metro2033
那个业务的不管他,就算 不是 医疗的数据 也可能有这种情况啊
0
实力小黄毛
Metro2033
Metro2033
能否具体点。。。存成json怎么查
0
婕仪伟琪
婕仪伟琪
这个是智能诊断系统,不是简单的数据库查询可以做的,再立个项目吧.
Metro2033
Metro2033
不过最终 还 确实 有这个意思,就是说 对用户 输入 的 各项指标 汇总 后 推断 疾病
Metro2033
Metro2033
什么系统,都得考虑 数据结构啊,不限于 说数据库作为存储,查询,但结构 是 基本的啊
0
ihuotui
ihuotui

搜索引擎啊


0
Will_awokE
Metro2033
Metro2033
能稍微 具体点吗。。。
0
m
moosular
主表+分支表吧。主表录入所有只有单一指标而不需要根据年龄,性别等其他属性设置分支情况的。分支表负责根据预设的条件进行指标的判断。。。最后进行汇总吧。。。如果是个别科室或检查的结果这么弄应该还能走得通。。大一点的话就真的是楼上说的,按智能诊断系统立项吧
Metro2033
Metro2033
嗯。。了解了。。去了解下
0
eechen
eechen
根据症状筛选疾病(辅助诊断):

疾病(编号,名称,指标集合)
(1,'低血糖','101')
(2,'高血糖','103,104')

指标(编号,分类,条件,值,单位,区间)
(101,'血糖浓度','空腹','2.8','mmol/L','低于')
(103,'血糖浓度','空腹','6.1','mmol/L','高于')
(104,'血糖浓度','餐后','7.8','mmol/L','高于')

输入:血糖浓度+空腹+6.2+mmol/L
找到:指标103
找到:疾病2(高血糖)
返回顶部
顶部