123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.lemon.lifecenter.mapper.PatientMapper">
- <select id="selectPatientCount" parameterType="PatientDTO" resultType="int">
- <![CDATA[
- SELECT count(*) AS total
- FROM PATIENT_CARE
- WHERE 1 = 1
- AND USE_YN = 'Y'
- ]]>
- <if test='centerCode != "0"'>
- <![CDATA[
- AND CENTER_CODE = #{centerCode}
- ]]>
- </if>
- <if test='state != "ALL"'>
- <![CDATA[
- AND STATE = #{state}
- ]]>
- </if>
- <if test='patientName != null and patientName != ""'>
- <![CDATA[
- AND ( UPPER(PATIENT_NAME) LIKE CONCAT('%', UPPER(#{patientName}), '%')
- OR ROOM_NUMBER LIKE CONCAT('%', #{patientName}, '%')
- OR WARD_NUMBER LIKE CONCAT('%', #{patientName}, '%') )
- ]]>
- </if>
- <if test='state == "ALL"'>
- <![CDATA[
- AND (DATE_FORMAT(HOSPITALIZATION_DATE, '%Y-%m-%d') BETWEEN
- ]]>
-
- <choose>
- <when test='startDate != null and startDate != ""'>#{startDate}</when>
- <when test='startDate != null and startDate == ""'>'1900-01-01'</when>
- <otherwise>'1900-01-01'</otherwise>
- </choose>
-
- <![CDATA[
- AND
- ]]>
-
- <choose>
- <when test='endDate != null and endDate != ""'>#{endDate}</when>
- <when test='endDate != null and endDate == ""'>DATE_FORMAT( NOW(), '%Y-%m-%d' )</when>
- <otherwise>DATE_FORMAT( NOW(), '%Y-%m-%d' )</otherwise>
- </choose>
- <![CDATA[
- OR DATE_FORMAT(DISISOLATION_DATE, '%Y-%m-%d') BETWEEN
- ]]>
-
- <choose>
- <when test='startDate != null and startDate != ""'>#{startDate}</when>
- <when test='startDate != null and startDate == ""'>'1900-01-01'</when>
- <otherwise>'1900-01-01'</otherwise>
- </choose>
-
- <![CDATA[
- AND
- ]]>
-
- <choose>
- <when test='endDate != null and endDate != ""'>#{endDate}</when>
- <when test='endDate != null and endDate == ""'>DATE_FORMAT( NOW(), '%Y-%m-%d' )</when>
- <otherwise>DATE_FORMAT( NOW(), '%Y-%m-%d' )</otherwise>
- </choose>
- <![CDATA[)]]>
- </if>
- <if test='state =="H"'>
- <![CDATA[
- AND DATE_FORMAT(HOSPITALIZATION_DATE, '%Y-%m-%d') BETWEEN
- ]]>
-
- <choose>
- <when test='startDate != null and startDate != ""'>#{startDate}</when>
- <when test='startDate != null and startDate == ""'>'1900-01-01'</when>
- <otherwise>'1900-01-01'</otherwise>
- </choose>
-
- <![CDATA[
- AND
- ]]>
-
- <choose>
- <when test='endDate != null and endDate != ""'>#{endDate}</when>
- <when test='endDate != null and endDate == ""'>DATE_FORMAT( NOW(), '%Y-%m-%d' )</when>
- <otherwise>DATE_FORMAT( NOW(), '%Y-%m-%d' )</otherwise>
- </choose>
- </if>
- <if test='state != "H" and state != "ALL"'>
- <![CDATA[
- AND DATE_FORMAT(DISISOLATION_DATE, '%Y-%m-%d') BETWEEN
- ]]>
-
- <choose>
- <when test='startDate != null and startDate != ""'>#{startDate}</when>
- <when test='startDate != null and startDate == ""'>'1900-01-01'</when>
- <otherwise>'1900-01-01'</otherwise>
- </choose>
-
- <![CDATA[
- AND
- ]]>
-
- <choose>
- <when test='endDate != null and endDate != ""'>#{endDate}</when>
- <when test='endDate != null and endDate == ""'>DATE_FORMAT( NOW(), '%Y-%m-%d' )</when>
- <otherwise>DATE_FORMAT( NOW(), '%Y-%m-%d' )</otherwise>
- </choose>
- </if>
- </select>
-
- <select id="selectPatientList" parameterType="PatientDTO" resultType="PatientDTO">
- <![CDATA[
- SELECT pc.PATIENT_IDX AS patientIdx,
- PATIENT_NAME AS patientName,
- CASE WHEN GENDER = 'M' THEN '남'
- WHEN GENDER = 'F' THEN '여'
- ELSE ''
- END AS gender,
- (SELECT TRUNC((SYSDATE-TO_DATE(JUMIN, 'YYYYMMDD'))/365) + 1) AS age,
- DATE_FORMAT(JUMIN, '%Y-%m-%d') AS jumin,
- ward_number AS wardNumber,
- room_number AS roomNumber,
- DATE_FORMAT(FINAL_CLINIC_DATE, '%Y-%m-%d') AS finamClinicDate,
- DATE_FORMAT(HOSPITALIZATION_DATE, '%Y-%m-%d') AS hospitalizationDate,
- DATE_FORMAT(CONFIRMATION_DATE, '%Y-%m-%d') AS confirmationDate,
- DATE_FORMAT(EXPECTED_DISCHARGE_DATE, '%Y-%m-%d') AS expectedDischargeDate,
- DATE_FORMAT(DISISOLATION_DATE, '%Y-%m-%d') AS disisolationDate,
- CASE WHEN STATE = 'H' THEN '입소'
- WHEN STATE = 'D' THEN '퇴소'
- WHEN STATE = 'T' THEN '지정병원 이송'
- WHEN STATE = 'E' THEN '기타'
- ELSE ''
- END AS state,
- center_code AS centerCode,
- ( SELECT center_name
- FROM center_info
- WHERE center_code = pc.center_code ) AS centerName,
- CAST( temperature AS STRING ) AS temperature,
- DATE_FORMAT(temperature_create_date, '%Y-%m-%d %H:%i') AS temperatureCreateDate,
- CAST( oxygen_saturation AS STRING ) AS oxygenSaturation,
- DATE_FORMAT(oxygen_saturation_create_date, '%Y-%m-%d %H:%i') AS oxygenSaturationCreateDate,
- CAST( pulse_rate AS STRING ) AS pulseRate,
- DATE_FORMAT(pulse_rate_create_date, '%Y-%m-%d %H:%i') AS pulseRateCreateDate,
- CAST( systolic_blood_pressure AS STRING ) AS systolicBloodPressure,
- DATE_FORMAT(systolic_blood_pressure_create_date, '%Y-%m-%d %H:%i') AS systolicBloodPressureCreateDate,
- CAST( diastolic_blood_pressure AS STRING ) AS diastolicBloodPressure,
- DATE_FORMAT(diastolic_blood_pressure_create_date, '%Y-%m-%d %H:%i') AS diastolicBloodPressureCreateDate,
- CAST( blood_sugar AS STRING ) AS bloodSugar,
- DATE_FORMAT(blood_sugar_create_date, '%Y-%m-%d %H:%i') AS bloodSugarCreateDate,
-
- cough_check AS coughCheck,
- dyspnea_check AS dyspneaCheck,
- cold_fit_check AS coldFitCheck,
- muscle_pain_check AS musclePainCheck,
- headache_check AS headacheCheck,
- sore_throat_check AS soreThroatCheck,
- smell_palate_check AS smellPalateCheck,
- fatigue_check AS fatigueCheck,
- appetite_loss_check AS appetiteLossCheck,
- sputum_check AS sputumCheck,
- ocin_check AS ocinCheck,
- vomiting_check AS vomitingCheck,
- diarrhea_check AS diarrheaCheck,
- dizziness_check AS dizzinessCheck,
- nose_check AS noseCheck,
- etc_check AS etcCheckSymptom,
- etc_content AS etcContentSymptom,
- DATE_FORMAT(pss.create_date, '%Y-%m-%d %H:%i') AS createDate,
- pc.foreigner_yn AS foreignerYn,
- pc.manager_id AS managerId
- FROM PATIENT_CARE pc
- LEFT JOIN patient_phr_latest pl
- ON pl.patient_idx = pc.patient_idx
- LEFT JOIN ( SELECT *
- FROM patient_symptom_sim
- WHERE patient_idx = pc.patient_idx
- AND idx = ( SELECT MAX(idx)
- FROM patient_symptom_sim
- WHERE patient_idx = pc.patient_idx
- )
- ) AS pss
- ON pss.patient_idx = pc.patient_idx
- WHERE 1 = 1
- AND pc.use_yn = 'Y'
- ]]>
- <if test='centerCode != "0"'>
- <![CDATA[
- AND CENTER_CODE = #{centerCode}
- ]]>
- </if>
- <if test='state != "ALL"'>
- <![CDATA[
- AND STATE = #{state}
- ]]>
- </if>
- <if test='patientName != null and patientName != ""'>
- <![CDATA[
- AND ( UPPER(PATIENT_NAME) LIKE CONCAT('%', UPPER(#{patientName}), '%')
- OR ROOM_NUMBER LIKE CONCAT('%', #{patientName}, '%')
- OR WARD_NUMBER LIKE CONCAT('%', #{patientName}, '%') )
- ]]>
- </if>
- <if test='state == "ALL"'>
- <![CDATA[
- AND (DATE_FORMAT(HOSPITALIZATION_DATE, '%Y-%m-%d') BETWEEN
- ]]>
-
- <choose>
- <when test='startDate != null and startDate != ""'>#{startDate}</when>
- <when test='startDate != null and startDate == ""'>'1900-01-01'</when>
- <otherwise>'1900-01-01'</otherwise>
- </choose>
-
- <![CDATA[
- AND
- ]]>
-
- <choose>
- <when test='endDate != null and endDate != ""'>#{endDate}</when>
- <when test='endDate != null and endDate == ""'>DATE_FORMAT( NOW(), '%Y-%m-%d' )</when>
- <otherwise>DATE_FORMAT( NOW(), '%Y-%m-%d' )</otherwise>
- </choose>
- <![CDATA[
- OR DATE_FORMAT(DISISOLATION_DATE, '%Y-%m-%d') BETWEEN
- ]]>
-
- <choose>
- <when test='startDate != null and startDate != ""'>#{startDate}</when>
- <when test='startDate != null and startDate == ""'>'1900-01-01'</when>
- <otherwise>'1900-01-01'</otherwise>
- </choose>
-
- <![CDATA[
- AND
- ]]>
-
- <choose>
- <when test='endDate != null and endDate != ""'>#{endDate}</when>
- <when test='endDate != null and endDate == ""'>DATE_FORMAT( NOW(), '%Y-%m-%d' )</when>
- <otherwise>DATE_FORMAT( NOW(), '%Y-%m-%d' )</otherwise>
- </choose>
- <![CDATA[)]]>
- </if>
- <if test='state =="H"'>
- <![CDATA[
- AND DATE_FORMAT(HOSPITALIZATION_DATE, '%Y-%m-%d') BETWEEN
- ]]>
-
- <choose>
- <when test='startDate != null and startDate != ""'>#{startDate}</when>
- <when test='startDate != null and startDate == ""'>'1900-01-01'</when>
- <otherwise>'1900-01-01'</otherwise>
- </choose>
-
- <![CDATA[
- AND
- ]]>
-
- <choose>
- <when test='endDate != null and endDate != ""'>#{endDate}</when>
- <when test='endDate != null and endDate == ""'>DATE_FORMAT( NOW(), '%Y-%m-%d' )</when>
- <otherwise>DATE_FORMAT( NOW(), '%Y-%m-%d' )</otherwise>
- </choose>
- </if>
- <if test='state != "H" and state != "ALL"'>
- <![CDATA[
- AND DATE_FORMAT(DISISOLATION_DATE, '%Y-%m-%d') BETWEEN
- ]]>
-
- <choose>
- <when test='startDate != null and startDate != ""'>#{startDate}</when>
- <when test='startDate != null and startDate == ""'>'1900-01-01'</when>
- <otherwise>'1900-01-01'</otherwise>
- </choose>
-
- <![CDATA[
- AND
- ]]>
-
- <choose>
- <when test='endDate != null and endDate != ""'>#{endDate}</when>
- <when test='endDate != null and endDate == ""'>DATE_FORMAT( NOW(), '%Y-%m-%d' )</when>
- <otherwise>DATE_FORMAT( NOW(), '%Y-%m-%d' )</otherwise>
- </choose>
- </if>
- <![CDATA[
- ORDER BY
- ]]>
- <if test='sortType == ""'>
- <if test='centerCode != "0"'>
- <![CDATA[
- center_code,
- ]]>
- </if>
- <![CDATA[
- PATIENT_NAME ASC
- ]]>
- </if>
-
- <if test='sortType != null and sortType != ""'>
- <if test='sortType == "room_number"'>
- <![CDATA[
- ward_number, ${sortType}
- ]]>
- </if>
- <if test='sortType != "room_number"'>
- <![CDATA[
- ${sortType}
- ]]>
- </if>
- </if>
-
- <if test='sort != null and sort != ""'>
- <![CDATA[
- ${sort}
- ]]>
- </if>
- <![CDATA[
- LIMIT ${limit}, ${limitMax}
- ]]>
- </select>
-
-
- <insert id="insertPatientCare" parameterType="PatientDTO" useGeneratedKeys="true">
- <selectKey keyProperty="patientIdx" resultType="int" order="AFTER">
- <![CDATA[
- SELECT CURRENT_VAL AS patientIdx FROM db_serial WHERE NAME = 'patient_care_ai_patient_idx';
- ]]>
- </selectKey>
- <![CDATA[
- INSERT
- INTO patient_care
- ( patient_number, patient_name, gender, ward_number, room_number, hospitalization_date, state,
- center_code, jumin, patient_phone, guardian_phone, symptom_start_date, confirmation_date, disisolation_date,
- basal_disease_yn, drug_yn, drug_content, pregnancy_status, pregnancy_week, id, pw,
- create_date, create_by, update_by, servey_yn, foreigner_yn, manager_id, patient_etc,
- expected_discharge_date, use_yn )
-
- VALUES ( #{patientNumber}, #{patientName}, #{gender}, #{wardNumber}, #{roomNumber}, #{hospitalizationDate}, #{state},
- #{centerCode}, #{jumin}, #{patientPhone}, #{guardianPhone}, #{symptomStartDate}, #{confirmationDate}, #{disisolationDate},
- #{basalDiseaseYn}, #{drugYn}, #{drugContent}, #{pregnancyStatus}, #{pregnancyWeek}, #{id}, #{pw},
- NOW(), #{createBy}, '', #{serveyYn}, #{foreignerYn}, #{managerId}, #{patientEtc},
- #{expectedDischargeDate}, 'Y' )
- ]]>
- </insert>
-
- <insert id="insertPatientDisease" parameterType="PatientDTO" useGeneratedKeys="true">
- <![CDATA[
- INSERT
- INTO patient_disease
- ( patient_idx, high_blood_pressure_check, low_blood_pressure_check, organ_transplant_check, diabetes_check,
- respiratory_disease_check, heart_disease, liver_disease, `operation`, operation_content,
- allergy_check, kidney_disease, cancer_check, cancer_name, etc_check,
- etc_content )
- VALUES ( #{patientIdx}, #{highBloodPressureCheck}, #{lowBloodPressureCheck}, #{organTransplantCheck}, #{diabetesCheck},
- #{respiratoryDiseaseCheck}, #{heartDisease}, #{liverDisease}, #{operation}, #{operationContent},
- #{allergyCheck}, #{kidneyDisease}, #{cancerCheck}, #{cancerName}, #{etcCheck},
- #{etcContent} )
- ]]>
- </insert>
-
- <insert id="insertPatientSymptom" parameterType="PatientDTO" useGeneratedKeys="true">
- <![CDATA[
- INSERT
- INTO patient_symptom
- ( patient_idx, fever_check, cough_check, colic, cold_fit_check, sputum_check,
- ocin_check, fever_right, fever_left, fatigue_check, etc_check, etc_content,
- chest_pain, nose_check, vomiting_check, muscle_pain_check, sore_throat_check, diarrhea_check,
- headache_check, dyspnea_check, pulse_rate, respiration_rate, blood_pressure_level, oxygen_saturation )
-
- VALUES ( #{patientIdx}, #{feverCheck}, #{coughCheck}, #{colic}, #{coldFitCheck}, #{sputumCheck},
- #{ocinCheck}, #{feverRight}, #{feverLeft}, #{fatigueCheck}, #{etcCheck}, #{etcContent},
- #{chestPain}, #{noseCheck}, #{vomitingCheck}, #{musclePainCheck}, #{soreThroatCheck}, #{diarrheaCheck},
- #{headacheCheck}, #{dyspneaCheck}, #{pulseRate}, #{respirationRate}, #{bloodPressureLevel}, #{oxygenSaturation} )
- ]]>
- </insert>
-
- <select id="selectPatientOne" parameterType="PatientDTO" resultType="PatientDTO">
- <![CDATA[
- SELECT PC.PATIENT_IDX AS patientIdx,
- PC.PATIENT_NUMBER AS patientNumber,
- PC.PATIENT_NAME AS patientName,
- PC.GENDER AS gender,
- PC.WARD_NUMBER AS wardNumber,
- PC.ROOM_NUMBER AS roomNumber,
- PC.FINAL_CLINIC_DATE AS finalClinicDate,
- DATE_FORMAT(PC.HOSPITALIZATION_DATE, '%Y-%m-%d') AS hospitalizationDate,
- PC.STATE AS state,
- PC.CENTER_CODE AS centerCode,
- PC.JUMIN AS jumin,
- PC.PATIENT_PHONE AS patientPhone,
- PC.GUARDIAN_PHONE AS guardianPhone,
- DATE_FORMAT(PC.SYMPTOM_START_DATE, '%Y-%m-%d') AS symptomStartDate,
- DATE_FORMAT(PC.CONFIRMATION_DATE, '%Y-%m-%d') AS confirmationDate,
- DATE_FORMAT(PC.DISISOLATION_DATE, '%Y-%m-%d') AS disisolationDate,
- PC.BASAL_DISEASE_YN AS basalDiseaseYn,
- PC.DRUG_YN AS drugYn,
- PC.DRUG_CONTENT AS drugContent,
- PC.PREGNANCY_STATUS AS pregnancyStatus,
- PC.PREGNANCY_WEEK AS pregnancyWeek,
- PC.ID AS id,
- PC.PW AS pw,
- PC.CREATE_DATE AS createDate,
- PC.CREATE_BY AS createBy,
- PC.UPDATE_BY AS updateBy,
- PC.SERVEY_YN AS serveyYn,
- PC.FOREIGNER_YN AS foreignerYn,
- PC.MANAGER_ID AS managerId,
- PC.PATIENT_ETC AS patientEtc,
- DATE_FORMAT(PC.EXPECTED_DISCHARGE_DATE, '%Y-%m-%d') AS expectedDischargeDate,
-
- PS.FEVER_CHECK AS feverCheck,
- PS.COUGH_CHECK AS coughCheck,
- PS.COLIC AS colic,
- PS.COLD_FIT_CHECK AS coldFitCheck,
- PS.SPUTUM_CHECK AS sputumCheck,
- PS.OCIN_CHECK AS ocinCheck,
- PS.FEVER_RIGHT AS feverRight,
- PS.FEVER_LEFT AS feverLeft,
- PS.FATIGUE_CHECK AS fatigueCheck,
- PS.ETC_CHECK AS etcCheckSymptom,
- PS.ETC_CONTENT AS etcContentSymptom,
- PS.CHEST_PAIN AS chestPain,
- PS.NOSE_CHECK AS noseCheck,
- PS.VOMITING_CHECK AS vomitingCheck,
- PS.MUSCLE_PAIN_CHECK AS musclePainCheck,
- PS.SORE_THROAT_CHECK AS soreThroatCheck,
- PS.DIARRHEA_CHECK AS diarrheaCheck,
- PS.HEADACHE_CHECK AS headacheCheck,
- PS.DYSPNEA_CHECK AS dyspneaCheck,
- PS.PULSE_RATE AS pulseRate,
- PS.RESPIRATION_RATE AS respirationRate,
- PS.BLOOD_PRESSURE_LEVEL AS bloodPressureLevel,
- PS.OXYGEN_SATURATION AS oxygenSaturation,
-
- PD.HIGH_BLOOD_PRESSURE_CHECK AS highBloodPressureCheck,
- PD.LOW_BLOOD_PRESSURE_CHECK AS lowBloodPressureCheck,
- PD.ORGAN_TRANSPLANT_CHECK AS organTransplantCheck,
- PD.DIABETES_CHECK AS diabetesCheck,
- PD.RESPIRATORY_DISEASE_CHECK AS respiratoryDiseaseCheck,
- PD.HEART_DISEASE AS heartDisease,
- PD.LIVER_DISEASE AS liverDisease,
- PD.`OPERATION` AS `operation`,
- PD.OPERATION_CONTENT AS operationContent,
- PD.ALLERGY_CHECK AS allergyCheck,
- PD.KIDNEY_DISEASE AS kidneyDisease,
- PD.CANCER_CHECK AS cancerCheck,
- PD.CANCER_NAME AS cancerName,
- PD.ETC_CHECK AS etcCheckDisease,
- PD.ETC_CONTENT AS etcContentDisease,
- (SELECT CI.CENTER_NAME
- FROM CENTER_INFO CI
- WHERE CI.CENTER_CODE = PC.CENTER_CODE) AS centerName
- FROM PATIENT_CARE PC
- LEFT JOIN PATIENT_SYMPTOM PS
- ON PC.PATIENT_IDX = PS.PATIENT_IDX
- LEFT JOIN PATIENT_DISEASE PD
- ON PC.PATIENT_IDX = PD.PATIENT_IDX
- WHERE 1 = 1
- AND PC.USE_YN = 'Y'
- AND PC.PATIENT_IDX = #{patientIdx}
- ]]>
- </select>
-
- <update id="updatePatientCare" parameterType="PatientDTO" useGeneratedKeys="true">
- <![CDATA[
- UPDATE patient_care
- SET patient_number = #{patientNumber},
- patient_name = #{patientName},
- gender = #{gender},
- ward_number = #{wardNumber},
- room_number = #{roomNumber},
- hospitalization_date = #{hospitalizationDate},
- state = #{state},
- jumin = #{jumin},
- patient_phone = #{patientPhone},
- guardian_phone = #{guardianPhone},
- symptom_start_date = #{symptomStartDate},
- confirmation_date = #{confirmationDate},
- disisolation_date = #{disisolationDate},
- basal_disease_yn = #{basalDiseaseYn},
- drug_yn = #{drugYn},
- drug_content = #{drugContent},
- pregnancy_status = #{pregnancyStatus},
- pregnancy_week = #{pregnancyWeek},
- id = #{id},
- pw = #{pw},
- update_date = NOW(),
- update_by = #{updateBy},
- servey_yn = #{serveyYn},
- foreigner_yn = #{foreignerYn},
- manager_id = #{managerId},
- patient_etc = #{patientEtc}
- ]]>
-
- <if test='expectedDischargeDate != null and expectedDischargeDate != ""'>
- <![CDATA[
- , expected_discharge_date = #{expectedDischargeDate}
- ]]>
- </if>
- <![CDATA[
- WHERE patient_idx = #{patientIdx}
- ]]>
- </update>
-
- <update id="updatePatientCareServey" parameterType="PatientDTO" useGeneratedKeys="true">
- <![CDATA[
- UPDATE PATIENT_CARE
- SET UPDATE_DATE = NOW(),
- UPDATE_BY = #{updateBy},
- basal_disease_yn = #{basalDiseaseYn},
- SERVEY_YN = 'N'
- WHERE PATIENT_IDX = #{patientIdx}
- ]]>
- </update>
-
- <update id="updatePatientDisease" parameterType="PatientDTO" useGeneratedKeys="true">
- <![CDATA[
- UPDATE patient_disease
- SET high_blood_pressure_check = #{highBloodPressureCheck},
- low_blood_pressure_check = #{lowBloodPressureCheck},
- organ_transplant_check = #{organTransplantCheck},
- diabetes_check = #{diabetesCheck},
- respiratory_disease_check = #{respiratoryDiseaseCheck},
- heart_disease = #{heartDisease},
- liver_disease = #{liverDisease},
- `operation` = #{operation},
- operation_content = #{operationContent},
- allergy_check = #{allergyCheck},
- kidney_disease = #{kidneyDisease},
- cancer_check = #{cancerCheck},
- cancer_name = #{cancerName},
- etc_check = #{etcCheck},
- etc_content=#{etcContent}
- WHERE patient_idx = #{patientIdx}
- ]]>
- </update>
-
- <update id="updatePatientSymptom" parameterType="PatientDTO" useGeneratedKeys="true">
- <![CDATA[
- UPDATE patient_symptom
- SET fever_check = #{feverCheck},
- cough_check = #{coughCheck},
- colic = #{colic},
- cold_fit_check = #{coldFitCheck},
- sputum_check = #{sputumCheck},
- ocin_check = #{ocinCheck},
- fever_right = #{feverRight},
- fever_left = #{feverLeft},
- fatigue_check = #{fatigueCheck},
- etc_check = #{etcCheck},
- etc_content = #{etcContent},
- chest_pain = #{chestPain},
- nose_check = #{noseCheck},
- vomiting_check = #{vomitingCheck},
- muscle_pain_check = #{musclePainCheck},
- sore_throat_check = #{soreThroatCheck},
- diarrhea_check = #{diarrheaCheck},
- headache_check = #{headacheCheck},
- dyspnea_check = #{dyspneaCheck},
- pulse_rate = #{pulseRate},
- respiration_rate = #{respirationRate},
- blood_pressure_level = #{bloodPressureLevel},
- oxygen_saturation = #{oxygenSaturation}
- WHERE patient_idx = #{patientIdx}
- ]]>
- </update>
-
-
- <select id="selectPatientPhrHistoryTotal" parameterType="PatientHealthDTO" resultType="int">
- <![CDATA[
- SELECT COUNT(*) TOTAL
- FROM patient_phr_history
- WHERE patient_idx = #{patientIdx}
- AND DATE_FORMAT(create_date, '%Y-%m-%d') = #{createDate}
- ]]>
- </select>
-
- <select id="selectPatientPhrHistoryData" parameterType="PatientHealthDTO" resultType="PatientHealthDTO">
- <![CDATA[
- SELECT MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'temperature' THEN CONCAT( P.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amTemperature,
- MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'temperature' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmTemperature,
- MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'pulseRate' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amPulseRate,
- MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'pulseRate' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmPulseRate,
- MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'bloodPressure' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amSystolicBloodPressure,
- MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'bloodPressure' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmSystolicBloodPressure,
- MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'bloodPressure' THEN CONCAT( H.phr_value_2, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amDiastolicBloodPressure,
- MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'bloodPressure' THEN CONCAT( H.phr_value_2, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmDiastolicBloodPressure,
- MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'oxygenSaturation' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amOxygenSaturation,
- MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'oxygenSaturation' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmOxygenSaturation,
- MAX( CASE WHEN ampm = 'am' AND H.phr_type= 'bloodSugar' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS amBloodSugar,
- MAX( CASE WHEN ampm = 'pm' AND H.phr_type= 'bloodSugar' THEN CONCAT( H.phr_value, '/', DATE_FORMAT( H.create_date, '%Y-%m-%d %H:%i:%s' ) ) END ) AS pmBloodSugar
- FROM ( SELECT MAX( idx ) max_idx,
- CAST( phr_value AS STRING ) AS phr_value,
- CAST( phr_value_2 AS STRING ) AS phr_value_2,
- IF( DATE_FORMAT( create_date, '%H:%i') <= '12:00', 'am', 'pm' ) ampm
- FROM patient_phr_history
- WHERE patient_idx = #{patientIdx}
- AND DATE_FORMAT( create_date, '%Y-%m-%d' ) = #{createDate}
- GROUP BY ampm, phr_type
- ) P, patient_phr_history H
- WHERE P.max_idx = H.idx
- GROUP BY patient_idx
- ]]>
- </select>
-
- <select id="selectPatientSymptomSimTotal" parameterType="PatientHealthDTO" resultType="int">
- <![CDATA[
- SELECT COUNT(*) TOTAL
- FROM patient_symptom_sim
- WHERE patient_idx = #{patientIdx}
- AND DATE_FORMAT(create_date, '%Y-%m-%d') = #{createDate}
- ]]>
- </select>
-
- <select id="selectPatientSymptomSimData" parameterType="PatientHealthDTO" resultType="PatientDTO">
- <![CDATA[
- SELECT A.idx,
- ampm,
- patient_idx AS patientIdx,
- cough_check AS coughCheck,
- dyspnea_check AS dyspneaCheck,
- cold_fit_check AS coldFitCheck,
- muscle_pain_check AS musclePainCheck,
- headache_check AS headacheCheck,
- sore_throat_check AS soreThroatCheck,
- smell_palate_check AS smellPalateCheck,
- fatigue_check AS fatigueCheck,
- appetite_loss_check AS appetiteLossCheck,
- sputum_check AS sputumCheck,
- ocin_check AS ocinCheck,
- vomiting_check AS vomitingCheck,
- diarrhea_check AS diarrheaCheck,
- dizziness_check AS dizzinessCheck,
- nose_check AS noseCheck,
- etc_check AS etcCheck,
- etc_content AS etcContent,
- recorded_by_name AS recordedByName,
- recorded_by_id AS recordedById,
- DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) AS createDate
- FROM patient_symptom_sim P, ( SELECT MAX( idx ) idx,
- S.ampm
- FROM ( SELECT idx,
- IF( DATE_FORMAT( create_date, '%H:%i') <= '12:00', 'am', 'pm' ) ampm
- FROM patient_symptom_sim
- WHERE patient_idx = #{patientIdx}
- AND DATE_FORMAT(create_date, '%Y-%m-%d') = #{createDate}
- ) S
- GROUP BY ampm
- ) A
- WHERE A.idx = P.idx
- ]]>
- </select>
-
- <select id="selectPatientOneCount" parameterType="PatientDTO" resultType="int">
- <![CDATA[
- SELECT COUNT(*) CNT
- FROM patient_care
- WHERE patient_idx = #{patientIdx}
- AND USE_YN = 'Y'
- ]]>
- </select>
-
-
- <!-- 환자삭제 / 환자의 모든 기록을 삭제함 /생치 관리자만 삭제가 가능하다 -->
- <delete id="deletePatientCare" parameterType="PatientDTO">
- <![CDATA[
- DELETE FROM patient_care WHERE patient_idx = #{patientIdx}
- ]]>
- </delete>
-
- <!-- 환자삭제 / 플레그값 yn으로 설계변경 -->
- <update id="updatePatientCareUseYn" parameterType="PatientDTO">
- <![CDATA[
- UPDATE patient_care
- SET use_yn = #{useYn},
- delete_reason = #{deleteReason},
- update_date = NOW(),
- state = 'E'
- WHERE patient_idx = #{patientIdx}
- ]]>
- </update>
-
-
- <select id="selectMunJinCount" parameterType="PatientDTO" resultType="int">
- <![CDATA[
- SELECT COUNT(*) AS CNT
- FROM PATIENT_CARE
- WHERE 1 = 1
- AND USE_YN = 'Y'
- AND SERVEY_YN = 'N'
- AND PATIENT_IDX = #{patientIdx}
- ]]>
- </select>
-
-
- <update id="updatePatientCenterInfo" parameterType="PatientDTO">
- <![CDATA[
- UPDATE patient_care
- SET center_code = #{newCenterCode}
- WHERE patient_idx = #{patientIdx}
- AND center_code = #{oldCenterCode}
- ]]>
- </update>
-
- <insert id="insertCenterChangeLog" parameterType="PatientDTO">
- <![CDATA[
- INSERT
- INTO center_change_log
- ( patient_idx, old_center_code, new_center_code, change_date, update_by, comment )
- VALUES ( #{patientIdx}, #{oldCenterCode}, #{newCenterCode}, NOW(), #{updateBy}, #{comment} )
- ]]>
- </insert>
- </mapper>
|