HIS实施实习第二周

本文讨论了医疗系统测试的关键点,包括权限验证、用户界面设计、Oracle闪回功能的应用以及SQL查询优化。还涉及数据库表空间管理、事务处理、SQL性能提升和业务流程改进等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

低头拉车固然很重要,大家抬头看路也很重要。

测试时应注意的一些点

1.在测试系统时,应用不同的真实的医生账号进行测试,主任 副主任 医师 因为各自的权限不太相同。

例如一些处方(如毒麻)一些医生是不能开的,虽然有弹窗提示,但是会不会出现点击了确认的按钮后仍能继续提交处方。

2.候诊病人与回诊病人在显示屏应如何排列?回诊病人的排队顺序又应如何?直接优先?

3.对比旧系统来进行测试新系统,用同一账号来登录新旧系统。如在旧系统建档时所需填的必填信息与新系统的是否有缺失

学到的一些知识点

1.“双通道”是指通过定点医疗机构和定点零售药店两个渠道。

2.oracle闪回语法 flashback

是Oracle提供的能使数据库整体或局部回到“过去”的闪回功能的总称,主要用于对抗人为错误。

查询病人ID为 '000478290700' 在2023-5-19 14:50:00的处方明细表

select * from mz_detail as of timestamp timestamp'2023-5-19 14:50:00'
where p_id = '000478290700' and times = 58

查询hr.employees在2011-10-10 06:40:37时所有的行:

select * from hr.employees as of timestamp to_timestamp('2011-10-10 06:40:37','YYYY-MM-DD HH24:MI:SS');

3.--查看闪回默认分钟command windows窗口执行

show parameter undo_retention

4.--表空间占用oracle

select segment_name,sum(bytes)/1024/1024 as "size(M)" from dba_segments

where owner='HISDB'

and segment_type='TABLE'

group by segment_name

order by sum(bytes) desc



select a.TABLE_NAME,a.COLUMN_NAME,b.segment_name,round(b.BYTES/1024/1024) as "size(M)" from dba_lobs a,dba_segments b

where a.segment_name=b.segment_name

and a.owner='HISDB'

order by round(b.BYTES/1024/1024) desc

5.查询表被哪些存储使用过

select distinct object_name(id) from syscomments where id in



 (select object_id from sys.objects where type='P') and text like'%tablename%'

6.--事务死锁

--oracle

select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name, ao.object_name

from v$locked_object lo,dba_objects ao,v$session sess

where ao.object_id=lo.object_id and lo.session_id=sess.sid;

--alter system kill SESSION '2601,27909' 结束线程

--sql server

select

'事务中', getdate() as now, * from master.dbo.sysprocesses a(nolock)

where open_tran>0

--kill  sid



select 'kill',spid  from master.dbo.sysprocesses a(nolock)



where open_tran>0 and status='sleeping'



select b."SQL_TEXT",  a.* from v$session_longops a ,v$sql b where a.sql_id = b.sql_id(+)order by a.start_time

7.sql优化

1.建议少用‘*’代替所有列

2.用exists代替in

3.连表查询的时候尽量减少表的查询次数

4.用truncate代替delete(删除全表数据)

5.合理使用索引(详见索引)

6.sql语句尽量大写,Oracle会把所有语句转换成大写在执行

7.在保证语句完整的情况下,多使用commit(多用于begin…end中)

8.优化group by,将不需要的数据尽量在group by之前过滤掉,避免使用having

9.连表查询是尽量使用表的别名,减少解析时间

10.表连接在where之前,where条件能够过滤更多数据的条件放在最开始

8.条件执行顺序

1. mysql,其条件执行顺序从左往右,自上而下

2. oracle,其条件执行顺序从右往左,自下而上

9.门诊的业务流程图

PS:刚开始接触时不要觉得简单就不上心,操作系统起来是简单,但是要将流程熟记于心,背下来才属于自己的。

10.表空间收缩

--delete from ebill where createtime<to_date('2021-07-27','yyyy-mm-dd')

alter table ebill enable row movement;--打开行移动

alter table ebill shrink space cascade;--压缩表及相关数据段,并下调HWM

alter table ebill disable row movement;--关闭行移动

11.oracle 链接库语句

create database link dblk_hzsyreal

connect to hisdb identified by hqmz68001hzsy

using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 地址)(PORT = 1521)))

(CONNECT_DATA = (SERVICE_NAME = syhqdb)))'

12.oracle高耗时语句统计

select b.sql_text, b.sql_id, c.username, c.client_info, c.module, a.*

from gv$session_longops a

left join gv$sql b on a.sql_id = b.sql_id and a.inst_id = b.inst_id

left join gv$session c on a.sid = c.sid and a.inst_id = c.inst_id

order by a.start_time

13.

select * from wj_charge_item where name like '%呼吸%'  

不走索引Like语句优化改写

select * from wj_charge_item where charindex('呼吸',name)>0

revers

or 优化改写

union all

charindex是SQL函数,一个字符串函数,它返回子字符串在字符串中的位置,具有可选的搜索起点。

CHARINDEX(substring,string[,start])
参数
substring - 要在字符串中匹配的子字符串。
string - 作为子字符串搜索目标的字符串表达式。
start - 可选-子字符串搜索的起始点,指定为正整数。
从字符串开始的字符计数,从1开始计数。
若要从字符串的开头开始搜索,请忽略此参数或指定从0或1开始。
负数、空字符串、NULL或非数字值被视为0。
CHARINDEX返回INTEGER数据类型。
 

14.新增物价耗材流程

  1先把报表对应数据库字段弄一致

  2查看当前物价最大值是多少,并从最大值数目开始新增

  3从备份数据库新建表(表结构和目标表一致)且和报表顺序一致)

  4从SQL管理菜单中倒入数据到临时表中

  5通过临时表关联几个字典表将几个中文定义修改为对应的CODE --dic_charge_group ,dic_audit_code,dic_bill_code_zy,

  6执行脚本

  7修改最大的条目数

15.P.O.口服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值