---●提取提纲:
replace(b_doc_base.f_Get_Content@emrinterface(c.actlog_id, '主诉', '入院记录'),'''','') as CHIEF_COMPLAINT,
b_doc_base.f_Get_Content@emrinterface(c.actlog_id, '个人史', '入院记录') as PERSONAL_HISTORY,
---●提取元素:
extractvalue(T.Content,'//zlxml//document//section//element[@sid="90CE1211D94C478182DFD353D6758D20" and @iid="C53C44DE3C314979BE66EBD5A9707626" and @title="手术日期"]') as aa,
extractvalue(T.Content,'//zlxml//document//section//element[@title="手术日期"]') as aa1
extractvalue(a.Content,'//zlxml//document//table//element[@title="跌倒坠床评估"]') As 跌倒坠床取值,
decode(extractvalue(a.content,'//item[@val="高危(≥5分)"]/@checked'),'1','1','0') as 跌倒坠床高危
decode(extractvalue(a.content,'//item[@val="2-跌倒"]/@checked'),'1','1','0') as 跌倒,
extractvalue(T.Content,'//zlxml//document//section//element[@title="家庭地址" ]') cc,
extractvalue(T.Content,'//zlxml//document//section//element[@title="家庭地址" ]/@value') cc1,
---●提取组句:
extractvalue(T.Content,'//zlxml//document//section//group//group[@title="疾病史"]//utext[@textstyleno="1"]')-组局名称
---●提取签名:
extractvalue(T.Content,'//zlxml//document//section//signature/@displayinfo')
---●提取签名时间:
extractvalue(T.Content,'//zlxml//document//section//signature/@signtime') ff,
extractvalue(T.Content,'//@signtime') ff1,
---●提取书写时间:
extractvalue(T.Content,'//zlxml//document//section//table//group//group//e_enum//element[@title="病史陈述者" ]/@showtext') as kk,
extractvalue(T.Content,'//element[@title="病史陈述者" ]/@showtext') as kk1
---●提取病程记录里面其他文档(如术前小结):
---●●●For Example例句: --- 病区:骨科一病房 住院号:839491 入院日期:2020-03-08 08:35
select T.content,
---★提取提纲
b_doc_base.f_Get_Content(t.actlog_id, '既往史', '入院记录') aa,
---★提取组句
extractvalue(T.Content,'//zlxml//document//section//group//group[@title="疾病史"]//utext[@textstyleno="1"]') bb,
---extractvalue(T.Content,'//zlxml//document//section//group//group[@title="疾病史"]/@utext') bb1,
---★提取元素
extractvalue(T.Content,'//zlxml//document//section//element[@title="家庭地址" ]') cc,
extractvalue(T.Content,'//zlxml//document//section//element[@title="家庭地址" ]/@value') cc1,
---★提取签名时间
extractvalue(T.Content,'//zlxml//document//section//signature/@signtime') ff,
extractvalue(T.Content,'//@signtime') ff1,
---★提取签名
extractvalue(T.Content,'//zlxml//document//section//signature/@displayinfo') gg,
---★病史陈述者
extractvalue(T.Content,'//zlxml//document//section//table//group//group//e_enum//element[@title="病史陈述者" ]/@showtext') as kk,
extractvalue(T.Content,'//element[@title="病史陈述者" ]/@showtext') as kk1
from BZ_DOC_LOG t
where actlog_id ='A44E3DF4CBDD47F2AA332F32F2EA0772' and title='入院记录';
---★★★病程记录------------------------------------------------------------
select * from bz_master_codes where code='831389'; --- BC816F9B31FB4630BD4F750680809CCF
Select ID, Master_Id, Basiclog_Id, Previous_Id, Action_Id, Title, t.Detail.Getclobval() Detail, Begin_Time, End_Time, Record_Time, Recorder,
Secret, Sealed, Extend_Tag
From Bz_Act_Log t where master_id='BC816F9B31FB4630BD4F750680809CCF'; --- E736885256984FDEAFA7E70F10364CEA
------只针组文档(如病程) 文档最初创建时间:creat_time 文档最后编辑时间:edit_time
select id, actlog_id, antetype_id, title, t.content.getclobval() content, t.anonym_data.getclobval() anonym_data, status, creat_time,
creator, edit_time, editor, locked, t.editlog.getclobval() editlog, after_log_id, secret, sealed, locked_cp, locked_ip, locked_ac, locked_se, contenttext from BZ_DOC_LOG t
where actlog_id='E736885256984FDEAFA7E70F10364CEA' and title='病程记录'; --- AE92657C536F4778848F6E678505387F
select
extractvalue(T.Content,'//zlxml//document//subdoc[@title="首次病程记录"]//element[@title="信息录入日期时间"]') as 首次病程录入时间,
extractvalue(T.Content,'//zlxml//document//subdoc[@title="首次病程记录"]//element[@title="信息录入日期时间"]/@value') as 首次病程录入时间1,
extractvalue(T.Content,'//zlxml//document//subdoc[@title="阶段小结"]//element[@title="信息录入日期时间"]') as 阶段小结录入时间,
extractvalue(T.Content,'//zlxml//document//subdoc[@title="阶段小结"]//element[@title="信息录入日期时间"]/@value') as 阶段小结录入时间1
from BZ_DOC_LOG t
where actlog_id='E736885256984FDEAFA7E70F10364CEA' and title='病程记录';
------前台创建时间:doc_create_time 前台完成时间:complete_time 前台编辑时间:last_edittime
select subdoc_title,doc_creator,doc_create_time,status,completor,complete_time,last_edittime,last_editor,dept_name
from BZ_DOC_TASKS t where actlog_id='E736885256984FDEAFA7E70F10364CEA' and real_doc_id='AE92657C536F4778848F6E678505387F' order by create_time;
select * from BZ_DOC_TASKS t where actlog_id='E736885256984FDEAFA7E70F10364CEA' and real_doc_id='AE92657C536F4778848F6E678505387F' order by create_time;
------入院入科时间:act_start 活动完成时间:act_end
select * from DOC_QC_OBJECT t where master_id='BC816F9B31FB4630BD4F750680809CCF'
---★★★知情同意书------------------------------------------------------------
select * from bz_master_codes where code='838991'; --- 9277DE7E3A4144A4A09FEB435AC2C540
Select ID, Master_Id, Basiclog_Id, Previous_Id, Action_Id, Title, t.Detail.Getclobval() Detail, Begin_Time, End_Time, Record_Time, Recorder,
Secret, Sealed, Extend_Tag
From Bz_Act_Log t where master_id='9277DE7E3A4144A4A09FEB435AC2C540'; --- E736885256984FDEAFA7E70F10364CEA
------
select id, actlog_id, antetype_id, title, t.content.getclobval() content, t.anonym_data.getclobval() anonym_data, status, creat_time,
creator, edit_time, editor, locked, t.editlog.getclobval() editlog, after_log_id, secret, sealed, locked_cp, locked_ip, locked_ac, locked_se, contenttext from BZ_DOC_LOG t
where actlog_id='BBA0DDD9275C4EB4AF4FD0776714251F' and title='手术知情同意书'; --- AE92657C536F4778848F6E678505387F
----------------------------------------------------------------------------------------------------------------------------------------
select T.Content,
b_doc_base.f_Get_Content(actlog_id, '术前诊断', '手术知情同意书'),
substr(b_doc_base.f_Get_Content(actlog_id, '术前诊断', '手术知情同意书'),1,instr(b_doc_base.f_Get_Content(actlog_id, '术前诊断', '手术知情同意书'),',')-1) as 诊断,
extractvalue(T.Content,'//zlxml//document//section//signature[@signplaceholder="[签名]"]/@displayinfo') as 签名,
extractvalue(T.Content,'//zlxml//document//section//signature[@signplaceholder="[签名]"]/@signtime') as 签名时间,
extractvalue(T.Content,'//zlxml//document//section//signature/@displayinfo') as 签名人,
extractvalue(T.Content,'//zlxml//document//section//element[@title="麻醉方式"]') as 麻醉方式, --- 信息录入日期时间
extractvalue(T.Content,'//zlxml//document//section//element[@title="手术/操作名称"]') as 手术名称,
extractvalue(T.Content,'//zlxml//document//section//element[@title="信息录入日期时间"]') as 信息录入日期时间,
-----------复选
extractvalue(T.Content,'//zlxml//document//section//e_enum//enumeration/@item') as 复选总,
extractvalue(T.Content,'//zlxml//document//section//e_enum//enumeration//item[@issymbol="1" and val="1"]/@checked') as 复选1,
extractvalue(T.Content,'//zlxml//document//section//e_enum//enumeration//item[sid="6DEACF2FB57545B0ABF82DE47DFC69B5" ]') as 复选11,
extractvalue(T.Content,'//zlxml//document//section//item[@sid="6DEACF2FB57545B0ABF82DE47DFC69B5"]') as 复选111
from BZ_DOC_LOG t
where actlog_id in ('BBA0DDD9275C4EB4AF4FD0776714251F','75A6264D7F0343D89228A6756256C324') and title='手术知情同意书';
---阜城入院护理病历
select actlog_id,
-- sum(decode(extract(Content,'//zlxml//document//e_enum//enumvalues//elemt//enumeration//item/@checked'),'高危(≧3) ',1,0)) qq,
extractvalue(a.content,'//item[@val="高危(≧3) "]/@checked') zz,--单选全部排列
extractvalue(a.Content,'//zlxml//document//e_enum//enumvalues//element[@title="报告卡编码" and @sid="54CEE26F5F1044A7AD581E6B04098143"]') as zz1 ---54CEE26F5F1044A7AD581E6B04098143
from bz_doc_log a
where title='入院护理病历'
and id='3E49062BF9344A6FA05983F97CB55D67'
--group by actlog_id
select
(select code from bz_master_codes where master_id=a.master_id and kind='病人ID') ROWKEY ,-- 主键
decode(a.kind,'住院号','02',null) IN_PATIENT_ID ,-- 住院患者标识
decode(a.kind,'门诊号','01',null) OUT_PATIENT_ID ,-- 门诊患者标识
null VISIT_ID ,-- 就诊次数
d.code FILE_NO ,-- 文件号
c.title FILE_NAME ,-- 文件名
c.title TOPIC ,-- 文书标题
null CREATOR_CODE ,-- 创建医师工号
c.creator CREATOR_NAME ,-- 创建医师姓名
c.creat_time CREATE_DATE_TIME ,-- 创建时间
c.edit_time LAST_MODIFY_DATE_TIME ,-- 最后修改时间
d.kind MR_CLASS_CODE ,-- 文书类别编码
decode(d.kind,'01','门诊','02','住院','05','知情同意书') MR_CLASS_NAME ,-- 文书类别名称
null PRINT_NUM ,-- 打印次数
d.code MR_CODE ,-- 文书编码
d.kind MR_CATALOG_CODE ,-- 文书类型编码
c.title MR_CATALOG_NAME ,-- 文书类型名称
null FILE_FLAG_CODE ,-- 文件标记编码
null FILE_FLAG_NAME ,-- 文件标记名称
null HOUSEMAN_CODE ,-- 实习医师工号
null HOUSEMAN_NAME ,-- 实习医师姓名
null ON_DUTY_FLAG ,-- 值班标记
c.creat_time CAPTION_DATE_TIME ,-- 病历标题时间
---null FILE_EDIT_APPLY_PRIORITY_CODE ,-- 申请开放修改权限编码
---null FILE_EDIT_APPLY_PRIORITY_NAME ,-- 申请开放修改权限名称
---null FILE_EDIT_APPLY_TIME_LIMIT_CODE ,-- 病历开放申请期限编码
---null FILE_EDIT_APPLY_TIME_LIMIT_NAME ,-- 病历开放申请期限名称
null CREATOR_DEPT_CODE ,-- 书写者所在的科室编码
null CREATOR_DEPT_NAME ,-- 书写者所在的科室名称
null TOPIC_DOCTOR_CODE ,-- 标题中的医生工号
c.creator TOPIC_DOCTOR_NAME ,-- 标题中的医生名称
null TOPIC_TITLE_CODE ,-- 标题中的医生职称编码
null TOPIC_TITLE_NAME ,-- 标题中的医生职称名称
null PHOTOCOPY_CODE ,-- 复印标记编码
null PHOTOCOPY_NAME ,-- 复印标记名称
null EDIT_DISABLE ,-- 不允许编辑
null HOSPITAL_CODE ,-- 医院编码
'郯城县第一人民医院' HOSPITAL_NAME ,-- 医院名称
null FILE_VISIT_TYPE ,-- 文档属性
d.id FILE_UNIQUE_ID ,-- 医疗机构内病历文件唯一标识
null FILE_V5_FLAG ,-- v5版本标志
null FILE_COMMENT ,-- 文件备注
null BABY_NO ,-- 子病人标识(产科新生儿)
null STAY_DEPT_CODE ,-- 患者当前所在科室编码
null STAY_DEPT_NAME ,-- 患者当前所在科室名称
null LAST_MODIFY_USER_CODE ,-- 最后修改人工号
c.editor LAST_MODIFY_USER_NAME ,-- 最后修改人姓名
c.creat_time FIRST_MR_SIGN_DATE_TIME ,-- 首次签名时间
null MODIFIY_TOPIC ,-- 修改标题
null MODIFIY_TOPIC_DOCTOR_CODE ,-- 修改标题医师工号
null MODIFIY_TOPIC_DOCTOR_NAME ,-- 修改标题医师姓名
null MODIFIY_TOPIC_TITLE_CODE ,-- 修改标题医师职称编码
null MODIFIY_TOPIC_TITLE_NAME ,-- 修改标题医师职称名称
null DEFAULT_DATE_TYPE ,-- 默认日期格式
null DEFAULT_TOPIC_VISIBLE ,-- 默认标题是否可见
null TOPIC_UNDERLINE_TYPE_CODE ,-- 标题下划线类别编码
null TOPIC_UNDERLINE_TYPE_NAME ,-- 标题下划线类别名称
null PRINT_NEED_FINISH ,-- 打印前需完成病历
null SING_NEED_DIAG ,-- 签名前需要下诊断
null CALL_BACK_FLAG ,-- 召回标记
null MONITOR_CODE ,-- 监控代码---★★★病程记录------------------------------------------------------------
select * from bz_master_codes where code='202006939'; --- BC816F9B31FB4630BD4F750680809CCF
Select ID, Master_Id, Basiclog_Id, Previous_Id, Action_Id, Title, t.Detail.Getclobval() Detail, Begin_Time, End_Time, Record_Time, Recorder,
Secret, Sealed, Extend_Tag
From Bz_Act_Log t where master_id='CEC8D9B96A13452395A3FFDB1F62699C'; --- E736885256984FDEAFA7E70F10364CEA
------只针组文档(如病程) 文档最初创建时间:creat_time 文档最后编辑时间:edit_time
select id, actlog_id, antetype_id, title, t.content.getclobval() content, t.anonym_data.getclobval() anonym_data, status, creat_time,
creator, edit_time, editor, locked, t.editlog.getclobval() editlog, after_log_id, secret, sealed, locked_cp, locked_ip, locked_ac, locked_se, contenttext from BZ_DOC_LOG t
where actlog_id='4BF72C544B9B46C8AAB84B18CBEC8D12'
and title='入院护理病历'; --- AE92657C536F4778848F6E678505387F
null NEW_PAGE_FLAG ,-- 新页标记
null NEED_CHANGE_TOPIC_FLAG ,-- 需要修改标题标记
null NEED_PARENT_SIGN_FLAG ,-- 需上级医师签名标记
null LAST_MODIFY_GUID ,-- 最后修改GUID
null DELETE_FLAG ,-- 删除标记
null SHARE_FILE ,-- 共享标志模板数据
null MR_CONTENT ,-- 文件内容
null MR_CONTENT_CDA ,-- 病历CDA内容
null MR_CONTENT_HTML ,-- 病历HTML内容
null MR_CONTENT_TEXT -- 病历文本内容
from bz_master_codes a,bz_act_log b,bz_doc_log c,antetype_list d ,病案主页@HISINTERFACE e,病人变动记录@HISINTERFACE f
where a.kind in ('住院号','门诊号') and a.master_id=b.master_id and b.id=c.actlog_id and c.antetype_id=d.id and a.code=831389
and a.kind=to_char(e.住院号) and e.病人id=f.病人id and e.主页id=f.主页id and substr(b.extend_tag,4)=to_char(f.id);
select id, actlog_id, antetype_id, title, t.content.getclobval() content, t.anonym_data.getclobval() anonym_data, status, creat_time, creator, edit_time, editor, locked,
t.editlog.getclobval() editlog, after_log_id, secret, sealed from BZ_DOC_LOG t
where t.actlog_id='B4D878798FF446F78042D8DB03D86FE4'
---提取电子病历文本内容 的语句
select
dbms_lob.substr(a.Contenttext,1400,1) As Contenttext
From Bz_Doc_Log a
------4.1.0电子病历 提取病程记录的语句
------入院记录签名不是有执业证书的医生给
select extract(T.Content,'//zlxml//document//subdoc//utext/text()') as 内容
from BZ_DOC_LOG t
where id ='83BEA254DDA6413BA79AF5A862E17B07'
Select
Decode(c.Status,2,decode(h.执业证号,null,1,0), 0) 分值,
c.Title || '签名不是执业医生' 描述, 3 对象类型,
c.Title 对象名称,Rawtohex(c.Id) 对象id
From Doc_Qc_Object@Emr_Unlock A, Bz_Act_Log@Emr_Unlock B, Bz_Doc_Log@Emr_Unlock C, Antetype_List@Emr_Unlock D,
(select distinct h.姓名,h.执业证号 from 人员表 h where (h.撤档时间>sysdate or h.撤档时间 is null)) h
Where
-- a.Id =''
--[OBJID]
-- And
(b.Id = a.Actlog_Id Or b.Basiclog_Id = a.Actlog_Id) And b.Id = c.Actlog_Id And c.Antetype_Id = d.Id And d.Kind = '02'
and c.title like '%入院%'
and c.editor=h.姓名
and c.id='0A62C2B8D26D43648222BFB4F3A35E37'
---------------输血病程记录
create or replace view 输血病程记录 as
select a.id, c.id as 病程ID,Substr(a.extend_tag,4) as 病人变动id,dbms_lob.substr(c.Contenttext,1400,1) As Contenttext
--dba_ c.contenttext as 内容
--a.id,Substr(a.extend_tag,4) as 病人变动id,a.begin_time as 书写时间,
--replace(b_doc_base.f_Get_Content/*@emrinterface*/(b.actlog_id, '主诉:', '新门诊病历'),'''','') as 主诉
from bz_act_log a,bz_doc_log b,BZ_DOC_TASKS c
where a.id=b.actlog_id
and a.title='住院入院'
and b.title='病程记录'
and c.antetype_id='50AE7F3E430C42DD9A56A7569004711C'
and b.actlog_id=c.actlog_id
-----提取病程记录里面产科手术病程里面的组句里面的元素。
extractvalue(d.Content,'//zlxml//document//subdoc[@title="产科术后首次病程记录"]//element[@title="DZ急症剖宫产"]//@showtext') as 急症