内江市第一人民医院信息科工作记录
这个页面用来记录平时遇到的问题和解决方法,在后面再次遇到的时候可以作为参考。
软件
门诊
门诊和住院用两张卡,费用转到住院
先将门诊的登记号改为住院的登记号,也就是修改PA_Adm中的PAADM_PAPMI_DR字段。然后将需要修改的门诊发票在门诊收费-收费查询-门诊收据查询中用发票号查找,找到对应的导航号并用下面的查询将其修改为住院的登记号
// 门诊登记号
SELECT * FROM PA_PatMas WHERE PAPMI_No = "{门诊登记号}"
// 门诊登记号id
{门诊登记号id}
// 门诊就诊
SELECT * FROM PA_Adm WHERE PAADM_PAPMI_DR = {门诊登记号id}
// 通过住院号查出住院就诊号
SELECT * FROM DHCWMR_SS.ReceiptLog WHERE MrNo = "{住院号}"
// 住院就诊号id
SELECT * FROM PA_Adm WHERE PAADM_RowID = '8043532'
// 住院登记号id
70751
SELECT * FROM PA_PatMas WHERE PAPMI_RowId1 = 70751
SELECT * FROM PA_Adm WHERE PAADM_PAPMI_DR = 70751
// 更改发票
SELECT * FROM DHC_INVPRT WHERE PRT_Rowid = "发票号"
门诊转住院退费用
在一些情况下,门诊将错误的费用转入了住院,或是有其他异常情况导致门诊已经退费,但需要将住院的费用清除时,可以进行以下步骤:
第一步:
进terminal,使用dhc-app命名空间
// 此global的第一层是常量,第二层是就诊号,第三层是医嘱项ID
k ^DHCOPIPADMCON("OPADMORDER", {就诊号}, '{医嘱项ID}') //
zw ^DHCOPIPADMCON("OPADMORDER",8148017)
第二步:
SELECT OEORI_ItemStat_DR,oeori_billed,* FROM OE_OrdItem WHERE OEORI_RowId IN ("8117942||3")
^DHCOPIPADMCON("OPADMORDER",5205141,"5208331||2")
OEORI_ItemStat_DR是医嘱状态,改为4
oeori_billed是账单状态
第三步:
住院收费安全组中重新生成账单
添加门诊医生权限
- 首先为其添加对应门诊的登录科室
- 添加指定科室,指定到与登录科室相同的科室,并勾选权限
- 切换到demo group,进入挂号分诊-医生默认设置,输入科室和医生,设置其出诊级别,点击更新
- 进入医生号别对照,输入科室和医生,号别添加本人号别,如有特殊需求还可添加其他号别,点击增加
- 进入排班员权限,添加排班人员(一般为老区曹建,新区王信春),选择相应科室增加该医生
- 进入医生站安全组维护,在第九页找到门诊收费(电子票据),点击科室医生设置,选择相应科室增加该医生
住院
修改住院时间
实际上就是修改就诊表的就诊时间,使用这个查询通过住院号查出就诊号:
SELECT * FROM DHCWMR_SS.ReceiptLog WHERE MrNo = "{住院号}"
然后使用这个查询在就诊表中查出对应项目
SELECT * FROM PA_Adm WHERE PAADM_RowID = '{就诊号}'
然后将PAADM_AdmDate调整为指定时间
注意这里还要调整一下医保登记表的时间,以避免结算时出现一些问题
SELECT * FROM INSU_AdmInfo WHERE INADM_AdmDr = '{就诊号}'
如果医生反应有一些病历中的字段时间未发生变化,可以尝试修改这个表中的时间:
SELECT * FROM PA_AdmTransaction WHERE TRANS_ParRef = '{就诊号}'
修改医嘱时间
用下面的查询找到对应医嘱项
SELECT * FROM OE_OrdItem WHERE OEORI_OEORD_ParRef="{医嘱ID}"
OEORI_SttDat,OEORI_SttTim为开始时间,OEORI_Date为当前日期,OEORI_XDate和OEORI_XTime为停止时间
医嘱ID可以在长期或临时医嘱页面向右拉到最后找到
长期或临时医嘱页面卡住,加载不出来
用下面的查询找到对应医嘱项,第一个字段为备注,删除备注里的特殊字符
SELECT OEORI_DepProcNotes,* FROM OE_OrdItem WHERE OEORI_OEORD_ParRef IN (SELECT OEORD_RowId1 FROM OE_order WHERE OEORD_Adm_DR={就诊号})
撤销了已执行医嘱后,还在已处理列表中,仍然不能作废
SELECT OEORI_SeeUser_DR,OEORI_SeeType,OEORI_SeeRemark,OEORI_SeeDate,OEORI_SeeTime ,*FROM OE_OrdItemExt WHERE OEORI_RowId={医嘱项ID}
将前三项置空即可
住院账单异常,有多余的数据
先进入住院收费页面,用病人信息查找出病人的账单,找到有问题的账单,在条目右边找到账单号,然后运行下面的查询
SELECT * FROM DHC_PatientBill WHERE PB_RowId = { 账单号 }
将PB_Adm_Dr改为1即可
HIS
更改登录科室或安全组
登录信息科维护或更高的权限,点击首页,进入基础数据维护-系统管理-用户,在人事ID输入工号或是通过其他信息查询,双击或点击修改打开修改页面,在基本信息可修改登录科室,点击其他登录科室可以新增登录科室,也可在基本信息或其他登录科室设置对应科室的安全组
增删检查检验树
登录demo group安全组,进入基础数据维护-产品组配置-医生站配置-医生站-检查检验树目录维护
- 要删除的话,因为不能直接删除,可以把对应项目拖进测试文件夹里
- 要加入的话,先让医生制作对应的医嘱套(也可直接添加医嘱项目和标本)然后选中对应文件夹中,点击增加
医保
报错:请做HIS科室对照
运行下面的查询,把类似的科室的dicbill1和其他项找出来
先SELECT * FROM INSU_DicData WHERE INDID_DicCode LIKE "%{相同类型科室名称}%"
然后再运行下面的查询,并填入新增行的字段,其中INDID_DicCode和INDID_DicDesc匹配报错对话框中提示的两个值,其他字段则填入上面找到的类似科室的值
insert into INSU_DicData(INDID_DicType) values("")
报错:处方类别为内江二类门特,未在病种目录中,不能开具
首先找到不能开的药物的医嘱名称,找到对应的收费项,可以直接从demo group-基础数据维护-医嘱项与医嘱套-医嘱项维护里找
然后运行下面的查询收费项表中找出医保代码
SELECT TOP 10 * FROM dhc_taritem WHERE TARI_Code = "{收费项代码}" ORDER BY TARI_RowId desc
最后一个字段即为医保代码,然后运行下面的查询
SELECT TOP 10 * FROM INSU_DicData WHERE INDID_DicDesc LIKE "{医嘱名称}" ORDER BY INDID_Rowid DESC
找出这个医嘱以前添加的医保字典行作为对照,然后添加一个新行,dictype跟其他字段和原来的一样,并设置为新的代码即可
报错:共济交易没有回退时,不允许回退主交易
这是因为共济账户结算失败造成的。去log中找到共济失败的条目,进行冲正即可,交易编号即为对应的门诊/住院结算
医生审核医嘱时提示,医嘱未在......病种目录中
需要将其添加进对应的小目录,虽然现在这个小目录已经不再使用,但是如果在医嘱处没有勾选二类门特,则收费处需要手动选择特病,所以也可以添加一下。
- 先在基础数据维护中查出对应的医嘱项目,找到其医嘱代码,例如Y000427
- 使用这个查询:SELECT TARI_InsuCode, * FROM DHC_TarItem WHERE TARI_Code = "{医嘱代码}" ,找到其对应的医保代码,例如XA10ADJ136B002020278403
- 使用这个查询:SELECT * FROM INSU_DicData WHERE INDID_DicType = "NJATSB",可以查出所有二类门特目录,根据INDID_DicCode找到对应的小目录编号,例如慢性肾功能衰竭的编号为4
- 使用这个语句:INSERT INTO INSU_DicData(INDID_DicType) VALUES ("NJATSB+{小目录编号}"),插入新的一行
- 使用这个查询:SELECT TOP 10 * FROM INSU_DicData ORDER BY INDID_Rowid DESC,查出最近的记录,手动将刚刚增加的一行的最新记录修改,INDID_DicCode为刚刚查询的医保代码,INDID_DicDesc为其医保名称,可以通过SELECT * FROM INSU_DicData WHERE INDID_DicCode = '{医保代码}',查询在其他目录中出现的相同名称
门诊异常无法完成只能撤销,但是撤销时提示该笔结算之后有其他结算数据,退费之后的发票时又提示有未处理的异常发票请先处理后在退费
造成了一个循环,需要手动先打破一下,根据异常发票导航号在发票表中查询:
SELECT * FROM DHC_INVPRT WHERE PRT_Rowid = '{导航号}'
PRT_Flag会的值应该为TP,将其先改为N,然后进行其他发票的退费,退费完成后改回TP,然后进行门诊异常处理
物资
固定资产添加指定科室
先登录固定资产(物资管理)这个权限,然后进入代码维护-科室位置-设备科室类型,查询出需要设置的科室,将属性字段改为科室
在物资权限中查询科室,下拉框中没有相应的科室
OA
登录OA
可用管理员账户admin,密码admin2019登录OA,或者登录自己的OA,默认密码均为njdyrmyy8888
复原密码或解锁OA
进入系统管理-用户管理-组织和用户管理,点击查询使用工号或其他字段进行查询,找到所属部门,并从列表中进入相应的部门找到对应用户
勾选用户点击修改,点击复原密码或解锁
常用查询
通过住院号查就诊号
SELECT * FROM DHCWMR_SS.ReceiptLog WHERE MrNo = "{住院号}"
查询收入数据
// 分门诊和住院查询指定时间段的不包含耗材的收入数据,并分组统计
SELECT WorkLoad_TarItem_DR->TARI_Code 收费项编码,
WorkLoad_TarItem_DR->TARI_Desc 收费项名称,
WorkLoad_TarItem_DR->TARI_ChargeBasis 收费依据,
CASE WorkLoad_Type WHEN "I" THEN "住院"
ELSE "门诊" END
收费类型,
SUM(WorkLoad_Quantity) 数量,
WorkLoad_UnitPrice 单价,
SUM(WorkLoad_TotalPrice) 费用,
COUNT(*) 次数,
*
FROM DHC_WorkLoad WHERE WorkLoad_FlagDate>="{start_date}"
AND WorkLoad_FlagDate<="{end_date}"
AND WorkLoad_TarItem_DR->TARI_ChargeBasis IS NOT NULL
AND WorkLoad_TarItem_DR->TARI_Code IN (SELECT TARI_Code FROM DHC_TarItem WHERE TARI_SubCate NOT IN ("16","17","18","19") AND TARI_ActiveFlag ="Y" )
GROUP BY WorkLoad_TarItem_DR->TARI_ChargeBasis,WorkLoad_Type,WorkLoad_UnitPrice;
耗材科室入库数
// 查询各耗材的分科室(不包含库房)的入库数量
SELECT INC_Itm.INCI_Desc 物品名称, INC_Itm.INCI_Code 库存项编码, DHC_OrderLinkTar.OLT_Tariff_DR->TARI_Code 收费项目编码,
DHC_OrderLinkTar.OLT_Tariff_DR->TARI_Desc 收费项目名称, DHC_ItmAddionInfo.INFO_Spec 物品规格, DHC_INTRANS.INTR_INCLB_DR->INCLB_INCIL_ParRef->INCIL_CTLOC_DR->CTLOC_Desc, DHC_INTRANS.INTR_CTUOM_DR->CTUOM_Desc 出库最小单位,
DHC_OrderLinkTar.OLT_Tariff_DR->TARI_UOM->CTUOM_Desc 收费最小单位,
sum(INTR_Qty) 最小单位数量合计, sum(INTR_Amount) 金额合计, DHC_OrderLinkTar.OLT_Tariff_DR->TARI_Rowid
FROM INC_Itm, DHC_OrderLinkTar, DHC_ItmAddionInfo, DHC_INTRANS
WHERE INC_Itm.INCI_OriginalARCIM_DR IS NOT NULL AND INC_Itm.INCI_OriginalARCIM_DR = DHC_OrderLinkTar.OLT_ARCIM_DR
AND INC_Itm.INCI_INCSC_DR -> INCSC_StkType = "M"
AND DHC_ItmAddionInfo.INFO_INCI_DR = INC_Itm.INCI_RowId
AND DHC_INTRANS.INTR_INCI_DR = INC_Itm.INCI_RowId
AND DHC_INTRANS.INTR_Type IN ("G", "T", "K", "D", "A")
AND DHC_INTRANS.INTR_INCLB_DR->INCLB_INCIB_DR->INCIB_No <> 20190310
AND DHC_INTRANS.INTR_INCLB_DR->INCLB_INCIL_ParRef->INCIL_CTLOC_DR->CTLOC_Desc NOT LIKE "%库房%"
AND DHC_INTRANS.INTR_Date BETWEEN "2020-01-01" AND "2022-12-31"
GROUP BY DHC_OrderLinkTar.OLT_Tariff_DR->TARI_Code, DHC_INTRANS.INTR_INCLB_DR->INCLB_INCIL_ParRef->INCIL_CTLOC_DR
查询医疗救助病人
// 查询费用中有医保救助病人的多个医保相关字段
SELECT INSU_AdmInfo.INADM_UserDr, INSU_AdmInfo.INADM_XString5, INSU_AdmInfo.INADM_XString6, INSU_AdmInfo.INADM_InsuId, INSU_AdmInfo.INADM_Center, INSU_AdmInfo.INADM_XString8,
INSU_AdmInfo.INADM_AdmDate, INSU_AdmInfo.INADM_AdmTime, INSU_AdmInfo.INADM_OutDate, INSU_AdmInfo.INADM_OutTime, INSU_AdmInfo.INADM_XString4, INSU_Divide.INPAY_iDate, INSU_Divide.INPAY_bcbxf0, INSU_Divide.INPAY_grzfe0, INSU_Divide.INPAY_InsuPay1, INSU_Divide.INPAY_zhzfe0, INSU_Divide.INPAY_InsuPay2, INSU_Divide.INPAY_InsuPay3, INSU_Divide.INPAY_InsuPay4, INSU_Divide.INPAY_InsuPay5, INSU_Divide.INPAY_InsuPay6, INSU_Divide.INPAY_InsuPay7 FROM INSU_AdmInfo, INSU_Divide WHERE INSU_Divide.INPAY_AdmInfoDr = INSU_AdmInfo.INADM_Rowid AND INSU_Divide.INPAY_sfrq00
BETWEEN "2022-08-01" AND "2022-08-31" AND INPAY_InsuPay4 > 0 AND INPAY_Flag = "I";
查询科室单品结存数
SELECT a.INTR_INCLB_DR->INCLB_INCIL_ParRef->INCIL_CTLOC_DR->CTLOC_Desc 科室,
a.INTR_INCI_DR->INCI_Code 物资代码,
a.INTR_INCLB_DR->INCLB_INCIL_ParRef->INCIL_INCI_ParRef->INCI_Desc 物资名称,
a.INTR_CTUOM_DR->CTUOM_Code 单位,
a.INTR_AveragePrice 价格,
a.INTR_StkQty 结存数,
b.入库数量,
b.转移金额
FROM DHC_INTRANS a,(SELECT max(INTR_RowId) maxid,sum(INTR_Qty)入库数量,sum(INTR_Amount) 转移金额 FROM DHC_INTRANS WHERE INTR_INCLB_DR->INCLB_INCIL_ParRef->INCIL_CTLOC_DR not IN ("712","731""732","733""734","735""736","737") // 不包含库房
and INTR_Date BETWEEN {start_date} AND {end_date} GROUP BY INTR_INCI_DR->INCI_Code, INTR_INCLB_DR->INCLB_INCIL_ParRef->INCIL_CTLOC_DR->CTLOC_Desc)b WHERE a.INTR_RowId=b.maxid
查询病人就诊记录
登录信息科维护或更高的权限,在综合统计查询中点击就诊信息查询,可按身份证号或其他字段查询
查询结算方式
SELECT c.SSUSR_Initials,
b.INPAY_sfrxm0 结算人,
CASE $piece(b.INPAY_Zstr19,"|",2) WHEN "03" THEN "实体卡" ELSE "医保电子凭证" END 结算方式,
count(*),b.INPAY_sfrq00
FROM INSU_AdmInfo a,INSU_Divide b ,SS_User c WHERE a.INADM_Rowid=b.INPAY_AdmInfoDr AND c.SSUSR_RowId=b.INPAY_sUserDr
AND $piece(INADM_XString13,"|",1)!="" AND b.INPAY_Flag="I"
AND b.INPAY_iDate BETWEEN "2023-11-28" AND "2023-12-10" GROUP BY $piece(INADM_XString13,"|",1),b.INPAY_sUserDr,INADM_AdmDate