云端电子病历管理上增加医疗机构信息的问题

        单机版电子病历在使用时,由于所在的医疗机构不变,不需要考虑医疗机构信息的问题,但是当在云端使用电子病历时,各个医疗机构的数据保存在相同的数据库中,如果没有医疗机构的信息,则无法分辨数据的来源,给存储和查询带来混乱,因此必须加以处理。

        原则上,给每个医疗机构创建一个数据表,可以保证数据的不混淆,但是随着用户的增加,数据库需要增加大量的数据表,数据表的维护也比较麻烦,增加了许多工作量。考虑到云端使用的医疗机构一般都是相对较小的医疗机构,产生的数据量并不是很大,单独建表一方面占用数据库资源,另一方面给维护带来许多困难,因此最后决定采用增加医疗机构ID字段的方式来区分数据的来源。

        由于初期设计电子病历过程中,大量的基础数据表已经创建完毕,一个一个的人工修改非常繁琐,所有找了一个将所有表增加同一个字段的方法,如下:

    use mydatabase

    declare @sql varchar(200),@name varchar(40)

    declare my_cursor scroll cursor for select name from sysobjects where type='u' 

    open my_cursor

    fetch next from my_cursor into @name

    while(@@fetch_status==0)

    begin

          print 'processing' + @name

          set @sql=N'alter table' +@name +' add hospitalId bigint'

          exec(@sql)

          print 'finished'

         fetch next from my_cursor into @name

    end

    close my_cursor

    deallocate my_cursor

你可能感兴趣的:(云端电子病历管理上增加医疗机构信息的问题)