123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882 |
- <?xml version="1.0" encoding="utf-8" ?>
- <sqlMap namespace="CLIP.e-Form.Consent.Dfh" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
- <statements>
- <statement id="getInPatList" parameterClass="System.Collections.Hashtable" resultMap="PatListMap">
- <![CDATA[
- SELECT distinct ptbs.pid AS pid,
- substr(inpt.indd,1,4) || '/' || substr(inpt.indd,5,2) || '/' || substr(inpt.indd,7,2) AS indd,
- inpt.indd AS orddd,
- inpt.cretno AS cretno,
- inpt.seqno AS seqno,
- inpt.instcd AS instcd,
- ptbs.hngnm AS hngnm,
- (select code.cdnm
- from com.zbcmcode code
- where code.cdgrupid = 'P0021'
- and code.valifromdd <= inpt.indd
- and code.valitodd >= inpt.indd
- and code.cdid = inpt.fsexamflag) AS fsexamflag,
- /*+ index_desc(icdr IX_PMIHICDR_03) */ icdr.orddeptcd AS orddeptcd,
- icdr.medispclid AS doctorid,
- TO_DATE('$srchdd$') - TO_DATE(inpt.indd) AS hd,
- TRIM(ptbs.sex || '/' || LPAD(FLOOR(COM.FN_ZZ_GETAGE_EMR2('000000','0000000','$srchdd$', 'B', ptbs.brthdd) / 12), 2, 0) || 'y' || LPAD(MOD(COM.FN_ZZ_GETAGE_EMR2('000000','0000000','$srchdd$', 'B', ptbs.brthdd), 12), 2, 0) || 'm') AS sa,
- dept.depthngnm AS deptnm,
- dept.DEPTENGABBR AS deptengabbr,
- NVL((SELECT usernm
- FROM com.zsumusrb
- WHERE userid = icdr.medispclid
- AND userfromdd <= #srchdd#
- AND usertodd >= #srchdd#), '-') AS doctornm,
- (SELECT term.termengnm
- FROM emr.mmohdiag diag,
- emr.mrtmterm term
- WHERE diag.diagcd = term.termcd
- AND diag.instcd = term.instcd
- AND diag.diagdd >= term.termfromdd
- AND diag.diagdd <= term.termtodd
- AND diag.pid = inpt.pid
- AND diag.orddd = inpt.indd
- AND diag.cretno = inpt.cretno
- AND diag.orddeptcd = icdr.orddeptcd
- AND diag.instcd = inpt.instcd
- AND diag.diaghistcd = 'O'
- AND diag.diagtypecd = 'D'
- AND diag.diagkindcdflag = 'M'
- AND ROWNUM = 1) AS diagnm,
- CASE inpt.indschacptstat WHEN 'D'
- THEN '퇴원'
- WHEN 'T'
- THEN '가퇴원'
- ELSE (CASE inpt.dschnotiyn
- WHEN 'Y'
- THEN '퇴원통보'
- ELSE (CASE inpt.dschdclrtyn
- WHEN 'Y'
- THEN '퇴원예고'
- ELSE '-'
- END)
- END)
- END AS dschnoti,
- icdr.roomcd AS roomcd,
- CASE WHEN (SELECT COUNT(instcd)
- FROM emr.mmrhcnstinfo
- WHERE pid = inpt.pid
- AND orddd = inpt.indd
- AND cretno = inpt.cretno
- AND reqdd = #srchdd#
- AND chosflag IN ('I','E')
- AND cnstflag IN ('1','2')
- AND ROWNUM = 1) > 0
- THEN 'Y'
- ELSE 'N' END AS cnst,
- icdr.ordtype AS ordtype,
- (SELECT z.cdnm
- FROM com.zbcmcode z
- WHERE inpt.insukind = z.cdid
- AND z.cdgrupid = 'P0008'
- AND inpt.indd BETWEEN z.valifromdd AND z.valitodd) AS bostyle,
- 'N' AS elbulbodstat,
- 'N' AS ordtm
- FROM pam.pmihinpt inpt, pam.pmihicdr icdr, com.zsdddept dept, pam.pmcmptbs ptbs
- ]]>
- <isNotEmpty property="patstat">
- <isEqual property="patstat" compareValue="C">
- , cmr.consent_mst mst
- <isEqual property="nursyn" compareValue="Y">
- , (select doc.*
- from cmr.eform_document doc
- where doc.CATEGORY_RID in
- (select cate.category_rid
- from cmr.eform_category cate
- where cate.p_category_rid = '147')) docu
- </isEqual>
- <isEqual property="nursyn" compareValue="N">
- , (select doc.*
- from cmr.eform_document doc
- where doc.CATEGORY_RID in
- (select cate.category_rid
- from cmr.eform_category cate
- where cate.p_category_rid != '147')) docu
- </isEqual>
- </isEqual>
- </isNotEmpty>
- <![CDATA[
- WHERE inpt.histstat = 'Y'
- AND inpt.mskind = 'M'
- AND icdr.ordtype IN ('I', 'D')
- AND inpt.instcd = #instcd#
- AND inpt.pid = icdr.pid
- AND inpt.pid = icdr.pid
- AND inpt.indd = icdr.indd
- AND inpt.cretno = icdr.cretno
- AND inpt.instcd = icdr.instcd
- AND inpt.histstat = icdr.histstat
- AND icdr.fromdd <= #srchdd#
- AND icdr.todd >= #srchdd#
- AND icdr.pid = ptbs.pid
- AND icdr.instcd = ptbs.instcd
- AND icdr.instcd = dept.instcd
- AND icdr.orddeptcd = dept.deptcd
- AND dept.orddeptflag = 'D'
- AND dept.orduseyn = 'Y'
- AND dept.valifromdd <= #srchdd#
- AND dept.valitodd >= #srchdd#
- ]]>
- <isNotEmpty property="pid">
- AND icdr.pid = #pid#
- </isNotEmpty>
- <isNotEmpty property="doctorid">
- AND icdr.medispclid = #doctorid#
- </isNotEmpty>
- <isNotEmpty property="wardcd">
- AND icdr.wardcd = #wardcd#
- </isNotEmpty>
- <isNotEmpty property="orddeptcd">
- AND inpt.orddeptcd = #orddeptcd#
- </isNotEmpty>
- <isNotEmpty property="patstat">
- <isEqual property="patstat" compareValue="D">
- AND icdr.indschacptstat IN ('D', 'T')
- </isEqual>
- <isEqual property="patstat" compareValue="P">
- AND inpt.indd = #srchdd#
- </isEqual>
- <isEqual property="patstat" compareValue="F">
- AND inpt.careinrmtm != '-'
- </isEqual>
- <isEqual property="patstat" compareValue="C">
- and inpt.instcd = mst.hos_type
- and inpt.pid = mst.pid
- and inpt.cretno = mst.cretno
- and inpt.ordtype = mst.visit_type
- and mst.use_yn = 'Y'
- and mst.consent_state = 'UNFINISHED'
- and docu.FORM_RID = mst.form_rid
- </isEqual>
- </isNotEmpty>
- <isEmpty property="patstat">
- AND icdr.indschacptstat IN ('A', 'D', 'T')
- </isEmpty>
- order by roomcd,
- hngnm
- </statement>
- <statement id="getOutPatList" parameterClass="System.Collections.Hashtable" resultMap="PatListMap">
- <![CDATA[
- SELECT otpt.pid AS pid,
- substr(otpt.orddd,1,4) || '/' || substr(otpt.orddd,5,2) || '/' || substr(otpt.orddd,7,2) AS indd,
- otpt.cretno AS cretno,
- otpt.acptseqno AS seqno,
- otpt.instcd AS instcd,
- ptbs.hngnm AS hngnm,
- (select code.cdnm
- from com.zbcmcode code
- where code.cdgrupid = 'P0021'
- and code.valifromdd <= otpt.orddd
- and code.valitodd >= otpt.orddd
- and code.cdid = otpt.fsexamflag) AS fsexamflag,
- otpt.orddeptcd AS orddeptcd,
- otpt.orddrid AS doctorid,
- 1 AS hd,
- TRIM(ptbs.sex || '/' || LPAD(FLOOR(COM.FN_ZZ_GETAGE_EMR2('000000','0000000',otpt.orddd, 'B', ptbs.brthdd) / 12), 2, 0) || 'y' || LPAD(MOD(COM.FN_ZZ_GETAGE_EMR2('000000','0000000',otpt.orddd, 'B', ptbs.brthdd), 12), 2, 0) || 'm') AS sa,
- dept.depthngnm AS deptnm,
- dept.deptengabbr AS deptengabbr,
- usrb.usernm AS doctornm,
- (SELECT term.termengnm diagengnm
- FROM emr.mmohdiag diag,
- emr.mrtmterm term
- WHERE diag.pid = otpt.pid
- AND diag.orddd = otpt.orddd
- AND diag.cretno = otpt.cretno
- AND diag.orddeptcd = otpt.orddeptcd
- AND diag.instcd = otpt.instcd
- AND diag.diagcd = term.termcd
- AND diag.diagdd >= term.termfromdd
- AND diag.diagdd <= term.termtodd
- AND diag.instcd = term.instcd
- AND diag.diaghistcd = 'O'
- AND diag.diagtypecd = 'D'
- AND diag.diagkindcdflag = 'M'
- AND ROWNUM = 1) AS diagnm,
- 'N' AS dschnoti,
- 'N' AS roomcd,
- 'N' AS cnst,
- otpt.ordtype AS ordtype,
- (SELECT z.cdnm
- FROM com.zbcmcode z
- WHERE otpt.insukind = z.cdid
- AND z.cdgrupid = 'P0008'
- AND otpt.orddd BETWEEN z.valifromdd AND z.valitodd) AS bostyle,
- case when otpt.elbulbodstat='0' then '접수'
- when otpt.elbulbodstat = '1' then '대기'
- when otpt.elbulbodstat = '2' then '완료'
- when otpt.elbulbodstat = '3' then '보류'
- end AS elbulbodstat,
- substr(otpt.ordtm,1,2) || ':' || substr(otpt.ordtm,3,2) AS ordtm,
- otpt.centcd as centcd,
- cent.depthngnm as centnm,
- cent.deptengabbr as centengabbr,
- otpt.orddd
- FROM pam.pmohotpt otpt
- , pam.pmcmptbs ptbs
- , com.zsdddept dept
- , com.zsumusrb usrb
- , com.zsdddept cent
- WHERE otpt.histstat IN ('R', 'T')
- AND otpt.ordtype IN ('O', 'S')
- AND otpt.pid = ptbs.pid
- AND otpt.instcd = ptbs.instcd
- AND otpt.instcd = dept.instcd
- AND otpt.orddeptcd = dept.deptcd
- AND otpt.orddd >= dept.valifromdd
- AND otpt.orddd <= dept.valitodd
- AND otpt.orddrid = usrb.userid
- AND otpt.orddd >= usrb.userfromdd
- AND otpt.orddd <= usrb.usertodd
- AND otpt.instcd = cent.instcd(+)
- AND otpt.centcd = cent.deptcd(+)
- AND otpt.orddd >= cent.valifromdd(+)
- AND otpt.orddd <= cent.valitodd(+)
-
-
- ]]>
- AND otpt.orddd = #srchdd#
- AND otpt.instcd = #instcd#
- <isNotEmpty property="pid">
- AND otpt.pid = #pid#
- </isNotEmpty>
- <isNotEmpty property="patstat">
- <isEqual property="patstat" compareValue="C">
- and exists (select 1
- from cmr.consent_mst mst
- where mst.hos_type = otpt.instcd
- and mst.visit_type = otpt.ordtype
- and mst.pid = otpt.pid
- and mst.cln_date = otpt.orddd
- and mst.cretno = otpt.cretno
- and mst.consent_state in ('UNFINISHED')
- and mst.use_yn = 'Y')
- </isEqual>
- <isNotEqual property="patstat" compareValue="C">
- AND otpt.elbulbodstat = #patstat#
- </isNotEqual>
- </isNotEmpty>
- <isNotEmpty property="orddeptcd">
- <isEqual property="orddeptcd" compareValue="2040000000">
- AND otpt.orddeptcd in ('2040000000', '2040400000')
- </isEqual>
- <isEqual property="orddeptcd" compareValue="2040400000">
- AND otpt.orddeptcd in ('2040000000', '2040400000')
- </isEqual>
- <isNotEqual property="orddeptcd" compareValue="2040400000">
- <isNotEqual property="orddeptcd" compareValue="2040000000">
- AND otpt.orddeptcd = #orddeptcd#
- </isNotEqual>
- </isNotEqual>
- </isNotEmpty>
- <isNotEmpty property="orddrid">
- AND otpt.orddrid = #orddrid#
- </isNotEmpty>
- AND nvl(otpt.etcordflag,'-') NOT IN ('M','J') --2020.12.16 일자로 쿼리수정
- ORDER BY dept.deptengabbr, ptbs.hngnm, usrb.usernm, otpt.ordtm
- </statement>
- <statement id="getOpPatList" parameterClass="System.Collections.Hashtable" resultMap="OpPatListMap">
- <![CDATA[
- SELECT oprs.pid as pid,
- substr(inpt.indd,1,4) || '/' || substr(inpt.indd,5,2) || '/' || substr(inpt.indd,7,2) as indd,
- inpt.cretno as cretno,
- 0 as seqno,
- inpt.instcd as instcd,
- ptbs.hngnm as hngnm,
- 'N' as fsexamflag,
- case when oprs.oppatflagcd = 'E' then '2280000000' else oprs.perfdeptcd end as orddeptcd,
- oprs.perfdrid as doctorid,
- 0 as hd,
- TRIM(ptbs.sex || '/' || LPAD(FLOOR(COM.FN_ZZ_GETAGE_EMR2('000000',
- '0000000',
- #srchdd#,
- 'B',
- ptbs.brthdd) / 12),
- 2,
- 0) || 'y' ||
- LPAD(MOD(COM.FN_ZZ_GETAGE_EMR2('000000',
- '0000000',
- #srchdd#,
- 'B',
- ptbs.brthdd),
- 12),
- 2,
- 0) || 'm') AS sa,
- dept.indepthngnm as deptnm,
- 'N' as deptengabbr,
- usrb.usernm as doctornm,
- 'N' as diagnm,
- 'N' as dschnoti,
- COALESCE((SELECT roomcd
- FROM pam.pmihinpt inpt,
- pam.pmihiphs iphs
- WHERE inpt.pid = oprs.pid
- AND inpt.indd <= oprs.opcnfmdd
- AND inpt.instcd = oprs.instcd
- AND inpt.histstat = 'Y'
- AND inpt.pid = iphs.pid
- AND inpt.indd = iphs.indd
- AND inpt.cretno = iphs.cretno
- AND inpt.instcd = iphs.instcd
- AND oprs.opcnfmdd >= iphs.fromdd
- AND oprs.opcnfmdd <= iphs.todd
- AND iphs.histstat = 'Y'
- AND ROWNUM = 1),
- '없음') as roomcd,
- 'N' as cnst,
- (SELECT z.cdnm
- FROM com.zbcmcode z
- WHERE inpt.insukind = z.cdid
- AND z.cdgrupid = 'P0008'
- AND inpt.indd BETWEEN z.valifromdd AND z.valitodd) AS bostyle,
- 'N' as elbulbodstat,
-
- oprs.oppatflagcd as ordtype,
- case
- when oprs.oproomcd = '0000' then
- '방없음'
- when oprs.oproomcd = '0014' then
- 'Angio'
- when oprs.oproomcd = '0015' then
- 'ER'
- else
- substr(oprs.oproomcd, 3, 2)
- end as oproomnm,
- (select code.cdnm
- from com.zbcmcode code
- where code.cdgrupid = 'M0017'
- and code.cdid = oprs.anstmthdcd
- and code.valifromdd <= inpt.indd
- and code.valitodd >= inpt.indd) as anstreqflag
- ,
- (SELECT MAX(CASE opcnfmno
- WHEN 1 THEN
- RTRIM(usernm)
- ELSE
- ''
- END) || MAX(CASE opcnfmno
- WHEN 2 THEN
- concat(', ', RTRIM(usernm))
- ELSE
- ''
- END) || MAX(CASE opcnfmno
- WHEN 3 THEN
- concat(', ', RTRIM(usernm))
- ELSE
- ''
- END)
- FROM emr.mmodocad mmod,
- com.zsumusrb usrb
- WHERE mmod.anstdrid = usrb.userid
- AND oprs.rgstdd >= usrb.userfromdd
- AND oprs.rgstdd <= usrb.usertodd
- AND mmod.oprsrvno = oprs.oprsrvno
- AND mmod.instcd = oprs.instcd) as anstdrnm
- , oprs.opcnfmdd
- FROM emr.mmohoprs oprs
- LEFT OUTER JOIN com.zsumusrb usrb
- ON usrb.userid = oprs.perfdrid
- AND usrb.userfromdd <= oprs.opcnfmdd
- AND usrb.usertodd >= oprs.opcnfmdd
- LEFT OUTER JOIN com.zsdddept dept
- ON dept.deptcd = oprs.perfdeptcd
- AND dept.orddeptflag = 'D'
- AND dept.orduseyn = 'Y'
- AND dept.instcd = oprs.instcd
- AND dept.valifromdd <= oprs.opcnfmdd
- AND dept.valitodd >= oprs.opcnfmdd, pam.pmcmptbs ptbs,
- pam.pmihinpt inpt
- WHERE oprs.pid = ptbs.pid
- AND oprs.instcd = ptbs.instcd
- AND oprs.instcd = inpt.instcd
- AND oprs.pid = inpt.pid
- AND oprs.opcnfmdd between inpt.indd and inpt.dschdd
- AND inpt.histstat = 'Y'
- AND inpt.mskind = 'M'
- AND oprs.opcnfmdd = #srchdd#
- AND oprs.instcd = #instcd#
- AND oprs.ophistcd = 'O'
-
- ]]>
- <isNotEmpty property="orddeptcd">
- <isEqual property="orddeptcd" compareValue="2040000000">
- AND oprs.perfdeptcd in ('2040000000', '2040400000')
- </isEqual>
- <isEqual property="orddeptcd" compareValue="2040400000">
- AND oprs.perfdeptcd in ('2040000000', '2040400000')
- </isEqual>
- <isNotEqual property="orddeptcd" compareValue="2040400000">
- <isNotEqual property="orddeptcd" compareValue="2040000000">
- AND oprs.perfdeptcd = #orddeptcd#
- </isNotEqual>
- </isNotEqual>
- </isNotEmpty>
- <isNotEmpty property="orddrid">
- AND oprs.perfdrid = #orddrid#
- </isNotEmpty>
- <isNotEmpty property="pid">
- AND oprs.pid = #pid#
- </isNotEmpty>
- <isEqual property="opstatcd" compareValue="A">
- AND oprs.opstatcd IN ('10','20','30','40','50','60','70')
- </isEqual>
- <isEqual property="opstatcd" compareValue="M">
- AND oprs.opstatcd IN ('10','20')
- </isEqual>
- <isEqual property="opstatcd" compareValue="R">
- AND oprs.opstatcd = '30'
- </isEqual>
- <isEqual property="opstatcd" compareValue="I">
- AND oprs.opstatcd = '40'
- </isEqual>
- <isEqual property="opstatcd" compareValue="F">
- AND oprs.opstatcd IN ('50', '60', '70')
- </isEqual>
- ORDER BY oproomnm, oprs.opendtmcd
- </statement>
- <statement id="getErPatList" parameterClass="System.Collections.Hashtable" resultMap="ErPatListMap">
- <![CDATA[
- SELECT distinct inpt.pid as pid,
- substr(inpt.indd, 1, 4) || '/' || substr(inpt.indd, 5, 2) || '/' ||
- substr(inpt.indd, 7, 2) as indd,
- inpt.intm,
- inpt.cretno as cretno,
- inpt.seqno as seqno,
- inpt.instcd as instcd,
- ptbs.hngnm as hngnm,
- inpt.fsexamflag as fsexamflag,
- inpt.orddeptcd as orddeptcd,
- inpt.medispclid as doctorid,
- 0 as hd,
- TRIM(ptbs.sex || '/' || LPAD(FLOOR(COM.FN_ZZ_GETAGE_EMR2('000000',
- '0000000',
- #srchdd#,
- 'B',
- ptbs.brthdd) / 12),
- 2,
- 0) || 'y' ||
- LPAD(MOD(COM.FN_ZZ_GETAGE_EMR2('000000',
- '0000000',
- #srchdd#,
- 'B',
- ptbs.brthdd),
- 12),
- 2,
- 0) || 'm') AS sa,
- dept.depthngnm as deptnm,
- dept.deptengabbr as deptengabbr,
- usrb.usernm AS doctornm,
- dept1.depthngnm as erorddeptnm,
- usrb1.usernm AS ermedispclnm,
- inpt.erorddeptcd as erorddeptcd,
- inpt.ermedispclid as ermedispclid,
- 'N' as diagnm,
- 'N' as dschnoti,
- inpt.roomcd as roomcd,
- 'N' as cnst,
- inpt.ordtype as ordtype,
- (SELECT z.cdnm
- FROM com.zbcmcode z
- WHERE inpt.insukind = z.cdid
- AND z.cdgrupid = 'P0008'
- AND inpt.indd BETWEEN z.valifromdd AND z.valitodd) AS bostyle,
- inpt.badcd as badcd
-
- FROM pam.pmihinpt inpt
- LEFT OUTER JOIN com.zsumusrb usrb
- ON inpt.medispclid = usrb.userid
- AND #srchdd# >= usrb.userfromdd
- AND #srchdd# <= usrb.usertodd
- LEFT OUTER JOIN com.zsdddept dept
- ON inpt.orddeptcd = dept.deptcd
- AND #srchdd# >= dept.valifromdd
- AND #srchdd# <= dept.valitodd
- AND inpt.instcd = dept.instcd
- LEFT OUTER JOIN com.zsumusrb usrb1
- ON inpt.ermedispclid = usrb1.userid
- AND #srchdd# >= usrb1.userfromdd
- AND #srchdd# <= usrb1.usertodd
- LEFT OUTER JOIN com.zsdddept dept1
- ON inpt.erorddeptcd = dept1.deptcd
- AND #srchdd# >= dept1.valifromdd
- AND #srchdd# <= dept1.valitodd
- AND inpt.instcd = dept1.instcd, pam.pmihicdr icdr,
- pam.pmcmptbs ptbs
- ]]>
- <isNotEmpty property="patstat">
- <isEqual property="patstat" compareValue="C">
- , cmr.consent_mst mst
- <isEqual property="nursyn" compareValue="Y">
- , (select doc.*
- from cmr.eform_document doc
- where doc.CATEGORY_RID in
- (select cate.category_rid
- from cmr.eform_category cate
- where cate.p_category_rid = '147')) docu
- </isEqual>
- <isEqual property="nursyn" compareValue="N">
- , (select doc.*
- from cmr.eform_document doc
- where doc.CATEGORY_RID in
- (select cate.category_rid
- from cmr.eform_category cate
- where cate.p_category_rid != '147')) docu
- </isEqual>
- </isEqual>
- </isNotEmpty>
- <![CDATA[
- WHERE inpt.histstat = 'Y'
- AND inpt.mskind = 'M'
- AND inpt.indd <= #srchdd#
- AND inpt.instcd = '111'
- AND icdr.ordtype = 'E'
- AND inpt.pid = icdr.pid
- AND inpt.indd = icdr.indd
- AND inpt.cretno = icdr.cretno
- AND inpt.instcd = icdr.instcd
- AND inpt.histstat = icdr.histstat
- AND #srchdd# >= icdr.fromdd
- AND #srchdd# <= icdr.todd
- AND inpt.pid = ptbs.pid
- AND inpt.instcd = ptbs.instcd
- ]]>
- <isNotEmpty property="orddrid">
- AND inpt.ermedispclid = #orddrid#
- </isNotEmpty>
- <isNotEmpty property="orddeptcd">
- AND inpt.erorddeptcd = #orddeptcd#
- </isNotEmpty>
- <isNotEmpty property="patstat">
- <isEqual property="patstat" compareValue="1">
- <![CDATA[
- AND icdr.indschacptstat = 'A'
- AND (inpt.eroutdt = '-'
- OR inpt.eroutdt = '99991231235959')
- AND (inpt.dschdd = '99991231'
- OR inpt.dschdd >= #srchdd#)
- ]]>
- </isEqual>
- <isEqual property="patstat" compareValue="2">
- AND icdr.indschacptstat = 'A'
- AND inpt.eroutdt != '-'
- AND inpt.eroutdt != '99991231235959'
- AND inpt.dschdd = '99991231'
- </isEqual>
- <isEqual property="patstat" compareValue="3">
- AND icdr.indschacptstat IN ('A', 'D', 'T')
- AND inpt.dschdd = #srchdd#
- </isEqual>
- <isEqual property="patstat" compareValue="C">
- and inpt.instcd = mst.hos_type
- and inpt.pid = mst.pid
- and inpt.cretno = mst.cretno
- and inpt.ordtype = mst.visit_type
- and mst.use_yn = 'Y'
- and mst.consent_state = 'UNFINISHED'
- and inpt.indd = mst.cln_date
- and docu.FORM_RID = mst.form_rid
- </isEqual>
- </isNotEmpty>
- <isNotEmpty property="pid">
- AND inpt.pid = #pid#
- </isNotEmpty>
- order by indd desc,
- intm desc,
- hngnm asc
- </statement>
- <statement id="getSrchPatInfo" parameterClass="System.Collections.Hashtable" resultMap="PatInfoListMap">
- <![CDATA[
- SELECT a.pid,
- a.hngnm AS hngnm,
- a.rrgstno1,
- substr(a.rrgstno2,1,1) || '******' as rrgstno2,
- '55' AS age,
- a.mpphontel,
- a.zipcdaddr as addr,
- a.detladdr,
- ( select /*+ index_desc ( b PK_PMOHOTPT ) */ orddd
- from pam.pmohotpt b
- WHERE b. pid = a.pid
- AND instcd = '111'
- AND histstat = 'R'
- AND dracptyn = 'Y'
- AND rownum = 1
- ) lastorddd,
- ( SELECT /*+ index_desc ( mohotpt PK_PMOHOTPT ) */ (select dept.depthngnm
- from com.zsdddept dept
- where dept.instcd = mohotpt.instcd
- and dept.deptcd = mohotpt.orddeptcd
- and dept.valitodd = '99991231')
- FROM pam.pmohotpt mohotpt
- WHERE mohotpt.pid = a.pid
- AND mohotpt.instcd = '111'
- AND mohotpt.histstat = 'R'
- AND mohotpt.dracptyn = 'Y'
- AND rownum = 1
- ) lastorddept ,
- ( SELECT /*+ index_desc ( i PK_PMOHOTPT ) */
- (SELECT cdnm FROM com.zbcmcode
- where cdgrupid = 'P0008'
- AND cdid = i.insukind
- AND valifromdd <= TO_CHAR(SYSDATE, 'YYYYMMDD')
- AND valitodd >= TO_CHAR(SYSDATE, 'YYYYMMDD')
- AND ROWNUM = 1)
- FROM pam.pmohotpt i
- WHERE i.pid = a.pid
- AND i.instcd = '111'
- AND i.histstat = 'R'
- AND i.dracptyn = 'Y'
- AND rownum = 1
- ) lastinsukind
- FROM ( SELECT
- *
- FROM PAM.PMCMPTBS ptbs ]]>
- <isEqual property="srchcond" compareValue="1">
- <![CDATA[
- WHERE ptbs.pid like #pid# || '%'
- AND ptbs.instcd = #instcd#
- ]]>
- </isEqual>
- <isEqual property="srchcond" compareValue="2">
- <![CDATA[
- WHERE ptbs.hngnm like REPLACE(#hngnm#, '★', '') || '%'
- AND ptbs.instcd = #instcd#
- ]]>
- </isEqual>
- <isEqual property="srchcond" compareValue="3">
- <![CDATA[
- WHERE ( ptbs.rrgstno1 like #rrgstno1# || '%' AND ptbs.rrgstno2 like #rrgstno2# || '%' )
- AND ptbs.instcd = #instcd#
- ]]>
- </isEqual>
- <![CDATA[
- AND rownum < 2000
-
- ) a
- ORDER BY hngnm, rrgstno1, rrgstno2
- ]]>
- </statement>
- <!--
- <statement id="getSrchPatInfo" parameterClass="System.Collections.Hashtable" resultMap="PatInfoListMap">
- <![CDATA[
- SELECT a.pid,
- a.hngnm || CASE WHEN (
- SELECT COUNT(*)
- FROM PAM.PMCMVIPM
- WHERE instcd = a.instcd
- AND rrgstno1 = a.rrgstno1
- AND rrgstno2 = a.rrgstno2
- AND histstat = 'Y'
- AND vipaprvyn = 'Y'
- AND dispyn = 'Y'
- AND to_char(sysdate, 'YYYYMMDD') between fromdd and todd ) > 0 THEN '★'
- ELSE '' END AS hngnm,
- a.rrgstno1,
- substr(a.rrgstno2,1,1) || '******' as rrgstno2,
- COM.FN_ZZ_GETAGE('000000','0000000',TO_CHAR(SYSDATE, 'YYYYMMDD'),'B', a.brthdd) AS age,
- a.mpphontel,
- a.zipcdaddr as addr,
- a.detladdr,
- ( select /*+ index_desc ( b PK_PMOHOTPT ) */ orddd
- from pam.pmohotpt b
- WHERE b. pid = a.pid
- AND instcd = #instcd#
- AND histstat = 'R'
- AND dracptyn = 'Y'
- AND rownum = 1
- ) lastorddd,
- ( SELECT /*+ index_desc ( mohotpt PK_PMOHOTPT ) */ (select dept.depthngnm
- from com.zsdddept dept
- where dept.instcd = mohotpt.instcd
- and dept.deptcd = mohotpt.orddeptcd
- and dept.valitodd = '99991231')
- FROM pam.pmohotpt mohotpt
- WHERE mohotpt.pid = a.pid
- AND mohotpt.instcd = #instcd#
- AND mohotpt.histstat = 'R'
- AND mohotpt.dracptyn = 'Y'
- AND rownum = 1
- ) lastorddept ,
- ( SELECT /*+ index_desc ( i PK_PMOHOTPT ) */
- (SELECT cdnm FROM com.zbcmcode
- where cdgrupid = 'P0008'
- AND cdid = i.insukind
- AND valifromdd <= TO_CHAR(SYSDATE, 'YYYYMMDD')
- AND valitodd >= TO_CHAR(SYSDATE, 'YYYYMMDD')
- AND ROWNUM = 1)
- FROM pam.pmohotpt i
- WHERE i.pid = a.pid
- AND i.instcd = #instcd#
- AND i.histstat = 'R'
- AND i.dracptyn = 'Y'
- AND rownum = 1
- ) lastinsukind
- FROM ( SELECT ]]>
- <isEqual property="srchcond" compareValue="4">
- <isNotEmpty property="rrgstno1">
- <![CDATA[
- /*+ INDEX( ptbs IX_PMCMPTBS_02)*/ ]]>
- </isNotEmpty>
- </isEqual><![CDATA[
- *
- FROM PAM.PMCMPTBS ptbs ]]>
- <isEqual property="srchcond" compareValue="1">
- <![CDATA[
- WHERE ptbs.pid = #pid#
- AND ptbs.instcd = #instcd#
- ]]>
- </isEqual>
- <isEqual property="srchcond" compareValue="2">
- <![CDATA[
- WHERE ptbs.hngnm like REPLACE(#hngnm#, '★', '') || '%'
- AND ptbs.instcd = #instcd#
- ]]>
- </isEqual>
- <isEqual property="srchcond" compareValue="3">
- <![CDATA[
- WHERE ( ptbs.rrgstno1 like #rrgstno1# || '%' AND ptbs.rrgstno2 like #rrgstno2# || '%' )
- AND ptbs.instcd = #instcd#
- ]]>
- </isEqual>
- <isEqual property="srchcond" compareValue="4">
- <![CDATA[
- WHERE ptbs.hngnm like REPLACE(#hngnm#, '★', '') || '%'
- AND ptbs.instcd = #instcd#
- ]]>
- <isNotEmpty property="rrgstno1">
- <![CDATA[
- AND ptbs.rrgstno1 like #rrgstno1# || '%'
- ]]>
- </isNotEmpty>
- <isNotEmpty property="rrgstno2">
- <![CDATA[
- AND ptbs.rrgstno2 like #rrgstno2# || '%'
- ]]>
- </isNotEmpty>
- </isEqual>
- <![CDATA[
- AND rownum < 2000
-
- ) a
- ORDER BY hngnm, rrgstno1, rrgstno2
- ]]>
- </statement>
- -->
- <statement id="getDeptList" parameterClass="System.Collections.Hashtable" resultMap="DeptListMap">
- <![CDATA[
- SELECT ' ' as deptcd,
- '진료과' as deptnm,
- 0 as clincdeptdispseq,
- 0 as sort
- from dual
- ]]>
- <isNotEqual property="ordtype" compareValue="OP">
- UNION ALL
- SELECT '4120300000' as deptcd,
- '일반건강증진' as deptnm,
- 0 as clincdeptdispseq,
- 1 as sort
- from dual
- </isNotEqual>
- <![CDATA[
- UNION ALL
- SELECT deptcd,
- depthngnm as deptnm,
- clincdeptdispseq,
- 1 as sort
- FROM com.zsdddept
- WHERE instcd = #instcd#
- AND TO_CHAR(CURRENT_DATE,'YYYYMMDD')>=valifromdd AND TO_CHAR(CURRENT_DATE,'YYYYMMDD')<=valitodd
- ]]>
- <isEqual property="ordtype" compareValue="OP">
- AND orddeptflag = 'D'
- AND orduseyn = 'Y'
- ORDER BY sort, deptnm
- </isEqual>
- <isNotEqual property="ordtype" compareValue="OP">
- AND rcptuseyn = 'Y'
- ORDER BY clincdeptdispseq ASC
- </isNotEqual>
- </statement>
- <statement id="getDocList" parameterClass="System.Collections.Hashtable" resultMap="DocListMap">
- SELECT ' ' as doctorid,
- '진료의' as doctornm,
- 1 as sort
- from dual
- UNION ALL
- SELECT b.userid AS doctorid,
- b.usernm AS doctornm,
- 2 as sort
- FROM com.zsumusrd a
- INNER JOIN com.zsumusrb b ON a.userid = b.userid
- WHERE a.psnworkyn = 'N'
- AND a.dutplceinstcd = #instcd#
- AND a.jobkindcd LIKE '03%'
- <isNotEmpty property="orddeptcd">
- <isEqual property="orddeptcd" compareValue="2040000000">
- AND a.dutplcecd in ('2040000000', '2040400000')
- </isEqual>
- <isEqual property="orddeptcd" compareValue="2040400000">
- AND a.dutplcecd in ('2040000000', '2040400000')
- </isEqual>
- <isNotEqual property="orddeptcd" compareValue="2040400000">
- <isNotEqual property="orddeptcd" compareValue="2040000000">
- <isNotEqual property="orddeptcd" compareValue="4120300000">
- AND a.dutplcecd = #orddeptcd#
- </isNotEqual>
- <isEqual property="orddeptcd" compareValue="4120300000">
- and a.userid = '103043'
- </isEqual>
- </isNotEqual>
- </isNotEqual>
- </isNotEmpty>
- AND #srchdd# BETWEEN a.fromdd AND a.todd
- AND #srchdd# BETWEEN b.userfromdd AND b.usertodd
- ORDER BY sort, doctorid
- </statement>
- <statement id="getWardList" parameterClass="System.Collections.Hashtable" resultMap="DeptListMap">
- <![CDATA[
-
- SELECT ' ' as deptcd,
- '전체' as deptnm,
- 1 as sort
- from dual
- UNION ALL
- select dept.deptcd as deptcd,
- dept.depthngnm as deptnm,
- 2 as sort
- from com.zsdddept dept
- where dept.instcd = '111'
- and dept.orddeptflag = 'W'
- and dept.orduseyn = 'Y'
- and dept.valifromdd <= to_char(sysdate,'yyyymmdd')
- and dept.valitodd >= to_char(sysdate,'yyyymmdd')
-
- order by sort, deptnm asc
- ]]>
- </statement>
- </statements>
- </sqlMap>
|