123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992 |
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
- <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <jsp:include page="${data._INCLUDE}/header.jsp"></jsp:include>
- <script>
- function patientNewInit() {
- if( $( "#basalN" ).is( ":checked" ) ) {
- $( "td.basalDisease input" ).prop( "disabled", true );
- }
-
- $( "label.label-readonly-check" ).each( function( i, v ){
- var $this = $(v);
- var checkbox = $this.find( "input[type='checkbox']" );
- var textbox = $this.find( "input[type='text']" );
-
- if( !checkbox.is(":checked") ){
- textbox.prop( "readonly", true );
- }
- });
- };
- function setEventHandler(){
- //체크yes시 content입력 처리
- $( "label.label-readonly-check input[type='checkbox']" ).on( "click", function(){
- var $this = $( this );
-
- $this.closest( "label" ).find( "input[type='text']" ).prop( "readonly", $this.is( ":checked" ) === false );
-
- if( $this.is( ":checked" ) === false ) {
- $this.closest( "label" ).find( "input[type='text']" ).val( "" );
- } else {
- $this.closest( "label" ).find( "input[type='text']" ).focus();
- };
- });
-
-
- //기저질환유무 처리
- $( "input[name='basalDiseaseYn']" ).on( "click", function(){
- var $this = $( this );
-
- if( $this.val() == "Y" ){
- patientNewInit();
- $( ".basalDisease input" ).prop( "disabled", false );
- } else {
- $( "td.basalDisease input" ).prop( "disabled", true );
- $( "td.basalDisease input[type='checkbox']" ).prop( "checked", false );
- $( "td.basalDisease input[type='text']" ).val( "" );
- }
- });
- $( "input[name='pregnancyStatus']" ).on( "click", function(){
- var $this = $( this );
- if ($this.val() == "Y") {
- $("#pregnancyWeek").prop("disabled", false);
- } else {
- $("#pregnancyWeek").prop("disabled", true);
- $("#pregnancyWeek").val("");
- }
- });
-
- //입소일시
- // $( ".hospitalizationDate" ).on( "change", function(){
- // console.log("asdfasdf");
- // var ymd = $( "#hospitalizationDateYmd" ).val();
- // // var hour = $( "#hospitalizationDateHour" ).val();
- // // var min = $( "#hospitalizationDateMin" ).val();
-
- // // hour = Number(hour) < 10 ? "0" + hour : hour;
- // // min = Number(min) < 10 ? "0" + min : min;
-
- // // $( "#hospitalizationDate" ).val( ymd + " " + hour + ":" + min + ":00" );
- // $( "#hospitalizationDate" ).val( ymd );
- // });
-
- //성별 남선택시 임신유무 고정
- $( "input[name='gender']" ).on( "click", function(){
- var gender = $( this ).val();
- console.log( gender );
-
- if( gender == "M" ) {
- $( "input[name='pregnancyStatus']:input[value='N']" ).prop( "checked", true );
- $( "input[name='pregnancyStatus']:input[value='Y']" ).prop( "disabled", true );
- $( "#pregnancyWeek" ).val( "" ).prop( "disabled", true );
- } else {
- $( "input[name='pregnancyStatus']:input[value='N']" ).prop( "checked", false );
- $( "input[name='pregnancyStatus']:input[value='Y']" ).prop( "disabled", false );
- }
- });
-
- // //생년월일
- // $( ".select-date" ).on( "change", function(){
- // var $this = $( this );
- // var wrap = $this.closest( "div.date" );
-
- // var dateYear = wrap.find( ".date-year" ).val();
- // var dateMonth = wrap.find( ".date-month" ).val();
- // var dateDay = wrap.find( ".date-day" ).val();
-
- // dateMonth = Number(dateMonth) < 10 ? "0" + dateMonth : dateMonth;
- // dateDay = Number(dateDay) < 10 ? "0" + dateDay : dateDay;
-
- // wrap.find( "input.error-box" ).val( dateYear + "-" + dateMonth + "-" + dateDay );
- // });
-
- // 퇴소예정일 기본 +10일 오늘날짜기준
- // var expectedDischargeDate = moment().add(10, 'days').format("YYYY-MM-DD");
- // $( "input[name='expectedDischargeDate']" ).val( expectedDischargeDate );
-
- // // *확진일 변경시 + 10일 퇴소예정일 변경
- // $("input[name='confirmationDate']").on( "change", function(){
- // var ten = moment( $(this).val() ).add(10, 'days').format("YYYY-MM-DD");
- // $("input[name='expectedDischargeDate']").val( ten );
- // })
-
-
- $( "input.date" ).daterangepicker({
- singleDatePicker : true,
- showDropdowns : true,
- locale : {
- format : "YYYY-MM-DD"
- },
- maxDate : new Date(),
- minDate : "1900-01-01"
- });
-
- $( "input.date-no-req" ).daterangepicker({
- singleDatePicker : true,
- showDropdowns : true,
- locale : {
- format : "YYYY-MM-DD"
- },
- autoUpdateInput: false,
- maxDate : new Date(),
- minDate : "1900-01-01"
- }).on( "apply.daterangepicker", function( ev, picker ) {
- $(this).val(picker.startDate.format('YYYY-MM-DD'));
- });
- $( "input.date-no-req2" ).daterangepicker({
- singleDatePicker : true,
- showDropdowns : true,
- locale : {
- format : "YYYY-MM-DD"
- },
- autoUpdateInput: false,
- minDate : new Date()
- }).on( "apply.daterangepicker", function( ev, picker ) {
- $(this).val(picker.startDate.format('YYYY-MM-DD'));
- });
- }
- $( function(){
- patientNewInit();
- setEventHandler();
-
- $( "#patientForm" ).validate({
- rules: {
- hospitalizationDate : {
- minDate : true,
- date : true,
- maxDate : true
- },
- patientPhone : {
- phoneValid : true
- },
- guardianPhone : {
- phoneValid : true
- },
- jumin : {
- minDate : true,
- date : true,
- maxDate : true
- },
- symptomStartDate : {
- minDate : true,
- maxDate : true,
- date : true
- },
- disisolationDate : {
- minDate : true,
- date : true,
- maxDate : true
- },
- expectedDischargeDate : {
- date : true
- },
- bloodPressureLevelCon : {
- number : true
- },
- bloodPressureLevelRel : {
- number : true
- },
- patientNumber : {
- number : true
- },
- },
- messages : {
- // jumin : "생년월일을 모두 선택해주세요",
- gender: "성별을 선택해주세요",
- // wardNumber : "동을 입력해주세요",
- roomNumber : "호실을 입력해주세요",
- hospitalizationDate : {
- date:"입소일시를 선택해주세요"
- },
- // residentNumberFront: "주민등록번호 앞 6자리를 입력해주세요",
- // residentNumberLast: "주민등록번호 뒷자리를 입력해주세요"
- },
- onkeyup: function( element, event ) {
- $( element ).valid();
- },
- onfocusout: function (element) {
- $( element ).val( $.trim( $( element ).val() ) );
- $( element ).valid();
- },
- errorPlacement: function(error, element) {
- if (element.attr("type") == "radio") {
- error.insertBefore(element);
- } else {
- error.insertAfter(element);
- }
- if( element.attr("name") == "residentNumberFront" || element.attr("name") == "residentNumberLast" ) {
- element.after(error);
- }
- },
- submitHandler: function(form) {
- if( $( "input[name='bloodPressureLevelCon']" ).val() != "" ) {
- if( $( "input[name='bloodPressureLevelRel']" ).val() == "" ) {
- alert( '혈압을 모두입력하세요' );
- return false;
- }
- }
- if( $( "input[name='bloodPressureLevelRel']" ).val() != "" ) {
- if( $( "input[name='bloodPressureLevelCon']" ).val() == "" ) {
- alert( '혈압을 모두입력하세요' );
- return false;
- }
- }
- if( $( "input[name='foreignerYn']" ).is(":checked") ) {
- if( $( "#foreignNumberCheck" ).val() == "false" ) {
- // alertBox({ txt : '외국인인 경우 고유식별정보를 입력해주세요' });
-
- var ff = $( "#foreignNumberFront" ).val();
- var fl = $( "#foreignNumberLast" ).val();
- var pn = $( "#passportNumber" ).val();
- if( $.trim( ff||fl||pn ) != '' ) {
- $( "#fModal" ).modal('show');
- fModalCheck();
- return false;
- }
- }
- } else {
- var rf = $('input[name="residentNumberFront"]').val();
- var rl = $('input[name="residentNumberLast"]').val();
- if( $.trim( rf || rl ) != '' ) {
- var fVal = $('input[name="residentNumberLast"]').val().substr(0,1);
-
- if( fVal >= 5 && fVal <= 8 ) {
- alertBox({ txt : '올바른 주민등록번호를 입력해주세요' });
- return false;
- }
-
- if( validRegistrationNumber( rf, rl ) != true ) {
- alertBox({ txt : '올바른 주민등록번호를 입력해주세요' });
- return false;
- }
- }
- }
- if( $( "#residentNumberLast" ).val() != "" ) {
- $( "#residentNumberLast" ).val( btoa( $( "#residentNumberLast" ).val() ) );
- }
- if( $( "#foreignNumberLast" ).val() != "" ) {
- $( "#foreignNumberLast" ).val( btoa( $( "#foreignNumberLast" ).val() ) );
- }
- if( $( "#passportNumber" ).val() != "" ) {
- $( "#passportNumber" ).val( btoa( $( "#passportNumber" ).val() ) );
- }
- $( "#submitBtn" ).prop( "disabled", true );
- form.submit();
- }
- });
-
- // 외국인 체크버튼 클릭 이벤트
- $(document).on('click','input.check-foreigner',function(){
- var foreigner = $(this).prop('checked');
-
- if(foreigner){
- $( ".k-input" ).hide();
- $( ".f-input" ).show();
- $('#fModal').modal('show');
- $( "div.f-input .f-txt" ).show();
- $( "div.f-input .f-val" ).show().text("");
- $('input[name="residentNumberFront"]').val("");
- $('input[name="residentNumberLast"]').val("");
- $('input.check-foreigner').not(this).prop('checked', true);
- $('input[name="patientPhone"]').val('010-0000-0000');
- } else {
- $( ".k-input" ).show();
- $( ".f-input" ).hide();
- $('input[name="residentNumberFront"]').val("");
- $('input[name="residentNumberLast"]').val("");
- $('input.check-foreigner').not(this).prop('checked', false);
- $('input[name="patientPhone"]').val('').prop('readonly',false);
- }
- fModalReset();
- });
- // $("#fModal").on('hidden.bs.modal', function () {
- // $( "#foreignNumberFront, #foreignNumberLast, #passportNumber" ).val("").prop( "disabled", false );
- // });
-
-
- $( "#foreignNumberFront, #foreignNumberLast" ).on( "keyup", function() {
- if( $("#foreignNumberFront").val().length >= 6 ) {
- $("#foreignNumberLast").focus();
- }
- if( $( this ).val() != "" ){
- $( "#passportNumber" ).prop("disabled", true);
- } else {
- if( $( "#foreignNumberFront" ).val() == "" && $( "#foreignNumberFront" ).val() == $( "#foreignNumberLast" ).val() ) {
- $( "#passportNumber" ).prop("disabled", false);
- }
- }
- });
- $( "#passportNumber" ).on( "keyup", function() {
- if( $( this ).val() != "" ){
- $( "#foreignNumberFront, #foreignNumberLast" ).prop("disabled", true);
- } else {
- if( $( "#passportNumber" ).val() == "" ) {
- $( "#foreignNumberFront, #foreignNumberLast" ).prop("disabled", false);
- }
- }
- });
- });
- function fModalReset(){
- $( "#foreignNumberCheck" ).val( "false" );
- $( "#foreignNumberFront, #foreignNumberLast, #passportNumber" ).val( "" ).prop('readonly', false).prop( "disabled", false );
- $( "span.f-val" ).hide().val("");
- $( "span.f-txt" ).show();
- }
- function fModalCheck() {
- var ff = $( "#foreignNumberFront" ).val();
- var fl = $( "#foreignNumberLast" ).val();
- var pn = $( "#passportNumber" ).val();
- if( ff.length == 0 && fl.length == 0 && pn.length == 0 ) {
- alertBox({ txt : '외국인 등록번호 또는 여권번호 중 하나만을 선택하여 입력하시기 바랍니다' });
- return;
- } else if( pn.length == 0 && ( ff.length > 0 || fl.length > 0 ) ) {
- if( ff.length != 6 || fl.length != 7 ) {
- alertBox({ txt : '외국인 등록번호를 모두 입력하세요' });
- return;
- }
- if( ff.length == 6 && fl.length == 7 ) {
- var fVal = $( "#foreignNumberLast" ).val().substr(0,1);
- if( fVal >= 5 && fVal <= 8 ) {
- if( validRegistrationNumber( ff, fl ) ) {
- $( "div.f-input .f-txt" ).hide();
- $( "div.f-input .f-val" ).show().text( "외국인 등록번호 (" + ff + "-*******)" );
- $( "#foreignNumberCheck" ).val( "true" );
- $( "#foreignNumberFront, #foreignNumberLast" ).prop( "readonly", true );
- $("#fModal").modal("hide");
- } else {
- alertBox({ txt : '올바른 외국인 등록번호를 입력하세요 1' });
- fModalReset();
- }
- return;
- } else {
- alertBox({ txt : '올바른 외국인 등록번호를 입력하세요' });
- fModalReset();
- }
- }
- } else if( ff.length == 0 && fl.length == 0 && pn != "" ) {
- var newPn = pn.length > 3 ? pn.substr(0, pn.length - 3 ) + "***" : pn;
- $( "div.f-input .f-txt" ).hide();
- $( "div.f-input .f-val" ).show().text( "여권번호 (" + newPn + ")" );
- $( "#foreignNumberCheck" ).val( "true" );
- $( "#passportNumber" ).prop( "readonly", true );
- $("#fModal").modal("hide");
- return;
- }
- }
- function resetInput( t ) {
- if( $(t).siblings('input[type="text"]').val() != "" ) {
- $(t).siblings('input[type="text"]').val('').prop('readonly', false).trigger('keyup');
- $('#foreignNumberCheck').val( "false" );
- $( "span.f-val" ).hide().val("");
- $( "span.f-txt" ).show();
- }
- }
- function validRegistrationNumber( f, l ) {
- var rn = f + "" + l;
- rn = rn.split("-").join('');
- if( rn.length !== 13 ) return false;
-
- var checkSum = 0;
- for(var i=0; i<12; i++) checkSum += ((rn.substr(i,1)>>0)*((i%8)+2));
-
- var rrnMatch = (11-(checkSum%11))%10 == rn.substr(12,1);
- var frnMatch = (13-(checkSum%11))%10 == rn.substr(12,1);
- return rrnMatch || frnMatch;
- };
- function ssnCheck(_ssn1, _ssn2) {
- var ssn1 = _ssn1,
- ssn2 = _ssn2,
- ssn = ssn1+''+ssn2,
- arr_ssn = [],
- compare = [2,3,4,5,6,7,8,9,2,3,4,5],
- sum = 0;
- // 공식: M = (11 - ((2×A + 3×B + 4×C + 5×D + 6×E + 7×F + 8×G + 9×H + 2×I + 3×J + 4×K + 5×L) % 11)) % 10
- for (var i = 0; i<13; i++) {
- arr_ssn[i] = ssn.substring(i,i+1);
- }
-
- for (var i = 0; i<12; i++) {
- sum = sum + (arr_ssn[i] * compare[i]);
- }
-
- sum = (11 - (sum % 11)) % 10;
-
- if (sum != arr_ssn[12]) {
- return false;
- }
-
- return true;
- }
- </script>
- <style>
- .f-edit:hover{color:#47bac1;}
- .error {margin:0 5px;}
- @font-face
- {
- font-family:'dotsfont';
- src:url('dotsfont.eot');
- src:url('dotsfont.eot?#iefix') format('embedded-opentype'),
- url('dotsfont.svg#font') format('svg');
- font-weight:normal;
- font-style:normal;
- }
- input.type-password
- {-webkit-text-security:disc;font-family:dotsfont;}
- </style>
- </head>
- <body>
- <div class="wrapper">
- <jsp:include page="${data._INCLUDE}/sidebar.jsp"></jsp:include>
- <div class="main">
- <jsp:include page="${data._INCLUDE}/top.jsp"></jsp:include>
- <main class="content">
- <div class="container-fluid p-0">
- <!-- 환자관리 : 신규환자 등록 START -->
- <div class="row">
- <div class="col-12 col-lg-6">
- <h1 class="h3 mb-3">환자정보등록</h1>
- </div>
- <div class="col-12 col-lg-6 text-right">
- <nav aria-label="breadcrumb">
- <ol class="breadcrumb">
- <li class="breadcrumb-item"><a href="javscript:;">Home</a></li>
- <li class="breadcrumb-item">환자관리</li>
- <li class="breadcrumb-item active">환자정보 등록</li>
- </ol>
- </nav>
- </div>
- </div>
- <div class="row">
- <div class="col-12">
- <div class="card">
- <div class="card-body">
- <c:if test="${centerCount eq 0}">
- <table class="table mobile-table">
- <tr>
- <th>치료센터</th>
- <td class="text-danger">등록된 생활치료센터가 없거나<br/>환자 신규등록 권한이 없습니다. </td>
- </tr>
- </table>
- </c:if>
-
- <c:if test="${centerCount > 0}">
- <c:set var="now" value="<%=new java.util.Date()%>" />
- <c:set var="action" value="/patient/new/insert" />
-
- <form id="patientForm" action="${action}" method="post" onsubmit="return false">
- <table class="table mobile-table">
- <colgroup>
- <col style="width:15%">
- <col style="width:35%">
- <col style="width:15%">
- <col style="width:35%">
- </colgroup>
- <tr>
- <th>치료센터</th>
- <td><c:out value="${centerName}"/></td>
- <th><span class="fix">*</span>입소일시</th>
- <td colspan="2">
- <!-- 입소일시 -->
- <c:set var="sysYmd"><fmt:formatDate value="${now}" pattern="yyyy-MM-dd" /></c:set>
-
- <div class="form-group calendar-bar mb-xl-0">
- <input class="form-control date hospitalizationDate" type="text" value="${sysYmd}" onKeyup="inputYMDNumber(this);" name="hospitalizationDate" id="hospitalizationDateYmd" required>
- <i class="align-middle mr-2 fas fa-fw fa-calendar-alt"></i>
- </div>
- </td>
- </tr>
- <tr>
- <th>환자번호</th>
- <td>
- <input type="text" name="patientNumber" onkeypress="onlyNumber();" maxlength="15" class="form-control" placeholder="환자 번호를 입력해주세요.">
- </td>
- <th>주민등록번호
- <label class="form-check form-check-inline">(
- <input class="form-check-input check-foreigner" type="checkbox">
- <span class="form-check-label">외국인</span>)
- </label>
- </th>
- <td>
- <div class="form-check-inline k-input">
- <div>
- <input type="text" id="residentNumberFront" name="residentNumberFront" onkeypress="onlyNumber();" maxlength="6" class="form-control" placeholder="주민등록번호 앞 6자리" autocomplete="off" >
- </div>
- <div>
- <span class="ml-1 mr-1">-</span>
- </div>
- <div>
- <input type="text" id="residentNumberLast" name="residentNumberLast" onkeypress="onlyNumber();" maxlength="7" class="form-control type-password" placeholder="·······" autocomplete="off" >
- </div>
- </div>
- <div class="form-check-inline f-input mb-1" style="display: none;">
- <span class="f-txt">외국인 고유식별정보를 입력하세요 (선택)</span>
- <span class="f-val text-secondary ml-1"></span>
- <span class="f-edit" style="cursor:pointer;" onclick="$('#fModal').modal('show');">
- <i id="memoLinkIcon" class="align-middle ml-2 fas fa-fw fa-edit"></i>
- </span>
- </div>
- <!-- 외국인 고유식별 정보 입력 modal -->
- <div class="modal fade" id="fModal" tabindex="-1" role="dialog" aria-hidden="true" data-memoid="">
- <div class="modal-dialog modal-dialog-centered" role="document">
- <div class="modal-content" style="border-bottom-right-radius: 0; border-bottom-left-radius: 0;">
- <div class="modal-body m-3">
- <h2 class="text-center mb-3">외국인 고유식별정보 입력</h2>
- <hr/>
- <table class="table">
- <colgroup>
- <col style="width:15%">
- <col style="width:35%">
- </colgroup>
- <tr>
- <th>외국인 등록번호</th>
- <td>
- <div class="form-check-inline">
- <input type="hidden" id="foreignNumberCheck" value="false">
- <input type="text" id="foreignNumberFront" name="foreignNumberFront" onkeypress="onlyNumber();" maxlength="6" class="form-control" placeholder="외국인 등록번호 앞 6자리">
- <span class="ml-1 mr-1">-</span>
- <input type="text" id="foreignNumberLast" name="foreignNumberLast" onkeypress="onlyNumber();" maxlength="7" class="form-control type-password" placeholder="·······" autocomplete="new-password">
- <button type="button" class="btn btn-outline-danger ml-2" onclick="resetInput(this);">x</button>
- </div>
- </td>
- </tr>
- <tr>
- <th>여권번호</th>
- <td>
- <div class="form-check-inline">
- <input type="text" id="passportNumber" name="passportNumber" class="form-control jumin-check" placeholder="여권번호" maxlength="9">
- <button type="button" class="btn btn-outline-danger ml-2" onclick="resetInput(this);">x</button>
- </div>
- </td>
- </tr>
- </table>
- <p class="h4 mt-3 text-center">※ <span class="text-secondary">외국인 등록번호</span> 또는 <span class="text-secondary">여권번호</span> 중 하나만을 선택하여 입력하시기 바랍니다.</p>
- </div>
-
- <div class="modal-footer bg-white" style="justify-content: center !important;">
- <button type="button" class="btn btn-outline-primary" data-dismiss="modal">취소</button>
- <button type="button" class="btn btn-primary" onclick="fModalCheck();">입력 완료</button>
- </div>
- </div>
- </div>
- </div>
- </td>
- </tr>
- <tr>
- <th><span class="fix">*</span>병동 번호
- <c:if test="${centerType eq 'S'}" ><br/><span class="ml-2">(거주지 번호)</span></c:if>
- </th>
- <td>
- <div class="form-check-inline">
- <!-- 병동 번호 (동 /호실) -->
- <input type="text" class="form-control" name="wardNumber"> <span class="ml-1 mr-2">동</span>
- <input type="text" class="form-control" name="roomNumber" required> <span class="ml-1">호</span>
- </div>
- <c:if test="${centerType eq 'S'}">
- <div class="mt-1">
- <span class="text-danger">재택치료는 "호" 항목만 사용해 주세요.</span>
- </div>
- </c:if>
- </td>
- <th><span class="fix">*</span>이름</th>
- <td>
- <!-- 환자 이름 -->
- <input type="text" name="patientName" class="form-control" placeholder="이름을 입력해주세요" required>
- </td>
- </tr>
- <tr>
- <th><span class="fix">*</span>성별</th>
- <td>
- <!-- 성별 -->
- <label class="form-check form-check-inline mb-0">
- <input class="form-check-input" type="radio" name="gender" value="M" required>
- <span class="form-check-label">남</span>
- </label>
-
- <label class="form-check form-check-inline mb-0">
- <input class="form-check-input" type="radio" name="gender" value="F" required>
- <span class="form-check-label">여</span>
- </label>
- </td>
- <th><span class="fix">*</span>생년월일</th>
- <td>
- <!-- 생년월일 -->
- <div class="form-group calendar-bar mb-xl-0">
- <input type="text" class="form-control date jumin" onKeyup="inputYMDNumber(this);" id="jumin" name="jumin" autocomplete="off" placeholder="yyyy-mm-dd 형식으로 입력하세요" required>
- <i class="align-middle mr-2 fas fa-fw fa-calendar-alt"></i>
- </div>
- </td>
- </tr>
- <tr>
- <th><span class="fix">*</span>연락처</th>
- <td>
- <div class="form-check form-check-inline calendar-bar mb-xl-0">
- <input type="text" name="patientPhone" class="form-control" placeholder="연락처를 입력해주세요" required>
- </div>
- <label class="form-check form-check-inline">
- <input class="form-check-input check-foreigner" name="foreignerYn" type="checkbox" value="Y">
- <span class="form-check-label">외국인</span>
- </label>
- </td>
- <th>보호자 연락처</th>
- <td>
- <input type="text" name="guardianPhone" class="form-control" placeholder="보호자 연락처를 입력해주세요">
- </td>
- </tr>
- <tr>
- <th>증상시작일</th>
- <td>
- <div class="form-group calendar-bar mb-xl-0">
- <input class="form-control date-no-req" type="text" name="symptomStartDate" onKeyup="inputYMDNumber(this);" autocomplete="off">
- <i class="align-middle mr-2 fas fa-fw fa-calendar-alt"></i>
- </div>
- </td>
- <th><span class="fix">*</span>확진일</th>
- <td>
- <div class="form-group calendar-bar mb-xl-0">
- <input class="form-control date valid" type="text" name="confirmationDate" autocomplete="off" aria-invalid="false">
- <i class="align-middle mr-2 fas fa-fw fa-calendar-alt"></i>
- </div>
- </td>
-
-
- </tr>
-
- <!-- 안보이도록처리 (신규등록 환자 상태는 무조건 입소, 빈값으로 submit) -->
- <tr class="d-none">
- <!-- <th>격리해제 예정일</th> -->
- <th>상태 변경일</br>(퇴소, 지정병원이송, 기타)</th>
- <td colspan="3">
- <div class="form-group calendar-bar mb-xl-0">
- <input class="form-control date-no-req" type="text" name="disisolationDate" onKeyup="inputYMDNumber(this);" autocomplete="off">
- <i class="align-middle mr-2 fas fa-fw fa-calendar-alt"></i>
- </div>
- </td>
- </tr>
- <tr>
- <th>퇴소예정일</th>
- <td>
- <div class="form-group calendar-bar mb-xl-0">
- <input class="form-control date-no-req" type="text" name="expectedDischargeDate" onKeyup="inputYMDNumber(this);" autocomplete="off">
- </div>
- </td>
- <th>담당 의료진</th>
- <td>
- <select class="custom-select valid" name="managerId" aria-invalid="false">
- <option value="">의료진 선택</option>
- <c:forEach var="sl" items="${staffList}">
- <option value="${sl.id}"><c:out value="${sl.name} (${sl.id})"/></option>
- </c:forEach>
- </select>
- </td>
- </tr>
- <tr>
- <th>문진작성(환자용 앱)</th>
- <td colspan="3">
- <label class="form-check form-check-inline">
- <input class="form-check-input" type="radio" id="serveyY" name="serveyYn" value="Y">
- <span class="form-check-label">가능</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" type="radio" id="serveyN" name="serveyYn" value="N">
- <span class="form-check-label">불가능</span>
- </label>
- <span class="text-danger">(문진작성이 가능일 경우에만 환자용 앱에서 문진 작성이 가능합니다.)</span>
- </td>
- </tr>
- <tr>
- <th>최근약복용<br />(최근 24시간 이내)</th>
- <td>
- <label class="form-check form-check-inline">
- <input class="form-check-input" type="radio" value="N" name="drugYn" onclick="$('#drugContent').attr('readonly', true).val('');">
- <span class="form-check-label">미복용</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" type="radio" value="Y" name="drugYn" onclick="$('#drugContent').removeAttr('readonly');">
- <span class="form-check-label">복용</span>
- </label>
- <label class="form-check form-check-inline">
- <input type="text" id="drugContent" class="form-control" name="drugContent" placeholder="약명을 입력하세요." readonly>
- </label>
- </td>
- <th>임신</th>
- <td>
- <label class="form-check form-check-inline">
- <input class="form-check-input" type="radio" name="pregnancyStatus" value="N">
- <span class="form-check-label">무</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" type="radio" name="pregnancyStatus" value="Y">
- <span class="form-check-label">유</span>
- </label>
- <label class="form-check form-check-inline">
- <select class="custom-select" name="pregnancyWeek" id="pregnancyWeek" disabled>
- <option value="" selected="">임신 주차</option>
- <c:forEach var="p" begin="1" end="40" step="1">
- <option value="${p}">${p} 주</option>
- </c:forEach>
- </select>
- </label>
- </td>
- </tr>
- <tr>
- <th rowspan="4">기저질환 여부</th>
- <td colspan="3">
- <label class="form-check form-check-inline">
- <input class="form-check-input" type="radio" id="basalY" name="basalDiseaseYn" value="Y">
- <span class="form-check-label">예</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" type="radio" id="basalN" name="basalDiseaseYn" value="N">
- <span class="form-check-label">아니오</span>
- </label>
- (예인 경우 하단의 기저질환을 선택하세요)
- </td>
- </tr>
- <tr>
- <td colspan="3" class="basalDisease">
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="highBloodPressureCheck" type="checkbox" value="Y">
- <span class="form-check-label">고혈압</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="lowBloodPressureCheck" type="checkbox" value="Y">
- <span class="form-check-label">저혈압</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="organTransplantCheck" type="checkbox" value="Y">
- <span class="form-check-label">장기이식(신장, 간 등)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="diabetesCheck" type="checkbox" value="Y">
- <span class="form-check-label">당뇨병</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="respiratoryDiseaseCheck" type="checkbox" value="Y">
- <span class="form-check-label">호흡기 질환</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="immunologicalDiseaseCheck" type="checkbox" value="Y">
- <span class="form-check-label">면역질환(류마티스 등)</span>
- </label>
- </td>
- </tr>
-
- <tr>
- <td colspan="3" class="basalDisease">
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="heartDisease" type="checkbox" value="Y">
- <span class="form-check-label">심장질환</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="liverDisease" type="checkbox" value="Y">
- <span class="form-check-label">간질환</span>
- </label>
- <label class="form-check form-check-inline label-readonly-check">
- <input class="form-check-input" name="operation" type="checkbox" value="Y">
- <!-- ( <input type="text" id="operationContent" name="operationContent" class="form-control form-control-sm w150" name=""> ) -->
- <span class="form-check-label">수술</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="allergyCheck" type="checkbox" value="Y">
- <span class="form-check-label">알레르기</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="kidneyDisease" type="checkbox" value="Y">
- <span class="form-check-label">신장질환</span>
- </label>
- </td>
- </tr>
- <tr>
- <td colspan="3" class="basalDisease">
- <label class="form-check form-check-inline label-readonly-check">
- <input class="form-check-input" name="cancerCheck" type="checkbox" value="Y">
- <span class="form-check-label">암 ( <input type="text" name="cancerName" class="form-control form-control-sm w150"> )</span>
- </label>
- <label class="form-check form-check-inline label-readonly-check">
- <input class="form-check-input" name="etcCheckDisease" type="checkbox" value="Y">
- <span class="form-check-label">기타 ( <input type="text" name="etcContentDisease" class="form-control form-control-sm w150"> )</span>
- </label>
- </td>
- </tr>
-
-
- <!-- 현재 증상 (입소 당시) -->
- <tr>
- <th rowspan="3">현재 증상<br />(입소 당시)</th>
- <td colspan="3">
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="feverCheck" type="checkbox" value="Y">
- <span class="form-check-label">열감(열나는 느낌)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="coughCheck" type="checkbox" value="Y">
- <span class="form-check-label">기침</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="colic" type="checkbox" value="Y">
- <span class="form-check-label">복통(배아픔)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="coldFitCheck" type="checkbox" value="Y">
- <span class="form-check-label">오한(추운 느낌)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="sputumCheck" type="checkbox" value="Y">
- <span class="form-check-label">가래</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="ocinCheck" type="checkbox" value="Y">
- <span class="form-check-label">오심(구역질)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="chestPain" type="checkbox" value="Y">
- <span class="form-check-label">흉통(가슴 통증)</span>
- </label>
- </td>
- </tr>
- <tr>
- <td colspan="3">
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="noseCheck" type="checkbox" value="Y">
- <span class="form-check-label">콧물 또는 코 막힘</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="vomitingCheck" type="checkbox" value="Y">
- <span class="form-check-label">구토</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="musclePainCheck" type="checkbox" value="Y">
- <span class="form-check-label">근육통(몸살)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="soreThroatCheck" type="checkbox" value="Y">
- <span class="form-check-label">인후통(목 아픔)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="diarrheaCheck" type="checkbox" value="Y">
- <span class="form-check-label">설사</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="headacheCheck" type="checkbox" value="Y">
- <span class="form-check-label">두통(머리아픔)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="dyspneaCheck" type="checkbox" value="Y">
- <span class="form-check-label">호흡곤란(숨가쁨)</span>
- </label>
- <label class="form-check form-check-inline">
- <input class="form-check-input" name="fatigueCheck" type="checkbox" value="Y">
- <span class="form-check-label">권태감(피곤함)</span>
- </label>
- </td>
- </tr>
- <tr>
- <td colspan="3">
- <label class="form-check form-check-inline label-readonly-check">
- <input class="form-check-input" name="etcCheckSymptom" type="checkbox" value="Y">
- <span class="form-check-label">기타 ( <input type="text" name="etcContentSymptom" class="form-control form-control-sm w150"> )</span>
- </label>
- </td>
- </tr>
- <tr>
- <th>체온</th>
- <td>우측 (<input type="text" class="form-control form-control-sm w50" name="feverRight">)℃ / 좌측 (<input type="text" class="form-control form-control-sm w50" name="feverLeft">)℃</td>
-
- <th>맥박수</th>
- <td>
- (<input type="text" class="form-control form-control-sm w50" name="pulseRate">) 회/분
- </td>
- </tr>
- <tr>
- <th>호흡수</th>
- <td>
- (<input type="text" class="form-control form-control-sm w50" name="respirationRate">) 회/분
- </td>
- <th>혈압</th>
- <td>수축기 (
- <input type="text" class="form-control form-control-sm w50" name="bloodPressureLevelCon">)mmHg
- / 이완기 (
- <input type="text" class="form-control form-control-sm w50" name="bloodPressureLevelRel">)mmHg
- </td>
- </tr>
- <tr>
- <th>산소포화도</th>
- <td colspan="3">
- (<input type="text" class="form-control form-control-sm w50" name="oxygenSaturation">) %
- </td>
- </tr>
- <tr>
- <th>기타 환자 메모</th>
- <td colspan="3">
- <textarea class="form-control" name="patientEtc" rows="10" maxlength="2000" placeholder="2000자 까지 입력 가능합니다."></textarea>
- </td>
- </tr>
- </table>
- <div class="row mt-3">
- <div class="col-12">
- <div class="text-right">
- <button type="button" class="btn btn-outline-primary w100" onclick="history.back();">취소</button>
- <button type="submit" class="btn btn-primary w100" id="submitBtn">등록</button>
- </div>
- </div>
- </div>
- </form>
- </c:if>
- </div>
- </div>
- </div>
- </div>
- <!-- 환자관리 : 신규환자 등록 END -->
- </div>
- </main>
- <jsp:include page="${data._INCLUDE}/footer.jsp"></jsp:include>
- </div>
- </div>
- </body>
- </html>
|