合并数据记录的问题
在开发的一个HIS(医院信息系统)系统中,遇到了这样一个需求:
系统可以将多次注册的病人记录合并为一条,如果发现有误还可以再分开。
这是因为理想化下同一个病人在系统中只能有一个全局病人ID存在,但是由于实际操作和其它原因可能会造成一个病人多次来医院看病多次注册而产生多个全局病人ID的现象出现,这种情况会对将来病人的病史统计以及医院的信息管理带来麻烦,因此系统要提供合并记录的功能,实际上是合并ID的功能。如果发现合并有误仍然可以再分开。
解决这个问题,我们提出了两个初步设想:
1.在病人信息表除"病人ID"外再加入"病人ID别名"字段,当两个记录合并时,将一个记录的"病人ID"记入
另一条记录的"病人ID别名"中,但是如果面对多条记录的合并就会有些局限。
2.在病人信息表中加入记录状态字段,当遇到两条记录合并操作时,将两条记录的状态设为不可用,再建一条新的病人记录,这条记录的内容除了ID是新产生的以外其它来自被合并的记录,当需要分开时再将这条记录设成不可用并恢复原来的记录为可用(需要另一个表记录合并的操作)
另外在合并时还要考虑合并记录的主次,遇到矛盾的内容使用主记录替换次记录的。在实际使用时由于病人ID是系统非常重要的ID,在系统多个表中都会出现,合并后肯定会有一些问题出现。