본문 바로가기

보이지 않는 더 넓은 세상💻/개발인지 개🐕발인지

보편적이지 않은 개발] 건강검진 추천 프로그램 #1


산부인과 건강검진을 할 때 초음파를 해야하는지, 피검사를 해야 하는지, 자궁경부암 검사를 해야하는지 물어보는 사람이 종종 있다. 검사 필요성은 담당하는 의사의 생각에 따라 달라질 수 있고, 진료를 보는 환자의 경제적으로 affordable 한가도 큰 영향을 미치게 된다. 하지만 진료실에서 그 모든 것을 감별하는 것은 쉽지 않다. "100만원 건강검진 세트" 하실래요? 아니면 "200만원 건강검진 세트"로 하실래요? 라고 물으면 되고, 코디네이터들이 충분히 상담해주면 좋지만, 코디네이터의 상담이 들어가는 순간 "꼭 필요한걸까?" 혹은 "빠진 건 없는 걸까?"라는 생각이 들게 된다. (물론, 상담을 전업으로 하는 코디네이터가 의사보다 빈틈없이 잘 챙겨준다는 의견에는 전혀 이견이 없다.)

환자가 본인이 예상하는 경비를 정하면, 예산 경비에 따라서 필요한 검사들이 딱딱 나와주는 그런 프로그램이 있으면 환자와 의사가 서로 얼굴 붉히지 않고 '의사- 환자'간의 관계를 '아름답게' 유지할 수 있지 않을까? 모두에게 필요하고 가장 우선적으로 생각해야할 'Money'에 대해서 진료실에서 이야기 안 할 수만 있다면 얼마나 더 아름답고 훈훈한 진료실이 될 수 있지 않을까?

몇 일 혹은 몇 달이 될 지도 모르지만 조금씩 조금씩 기능을 추가해가면서 만들어보려고 한다. 짧은 html 지식, 짧은 javascript 지식으로 프로토타입을 만들어보려고 한다.

기본적으로 만든 '폼'이다. 해당 내용을 기입하고 제출하면, 어떤 검사들이 꼭 필요하고, 어떤 검사들을 권장사항인지 알 수 있도록 하려고 한다.

원하는 검사 추천 결과

개발함에 있어 분명히 문제점이 많이 발생하리라 생각한다. 앱 개발(?)에 앞서 의공학과 선생님께 의견을 구했더니 "가중치를 부여하고 어떤 상태일지 판별하는 것이 매우 고심스러운 작업"이라고 말씀해주었다. 실제 근거가 잘 안나오는 경우도 많고, 가중치를 적절하게 잘 정해서 수치를 부여했다하더라도 이를 '수치의 양도 고려'할 것인지 아니면 '순서만 고려'할 것인지를 결정내리는 것이 쉽지 않다. 마지막으로 임상의사의 판단의 로직을 어디까지 옮길 수 있는지도 문제가 될 수 있다고 하였다.

미래를 생각해보면 하나도 틀리지 않고 다 맞는 말이었다. 하지만 일단 만들어보기로 하였다. 저런 고민을 할 수 있다는 것 또한 개발을 해놓았기 때문에 할 수 있는 것이 아닐까... 하고 말이다.

Reference를 찾아서 가중치를 주면 줄 수록 더 정확하고 의미가 있겠지만, 가중치는 'Choo's index'로 지정하기로 했다. 말인즉 내 마음대로 가중치를 매기겠다는 뜻이다.

환자의 정보를 넣었을 때 내가 추천결과값에 만족하는지를 확인하면서 Internal validation을 할 생각이다. External validation은 여러 환자 set를 입력해서 다른 선생님들이 어느 정도 공감하는지를 수치화해서 수정할 계획이다.

시작해보자...

사실 나에게 가장 어려운 단계는 개발 단계이다. form 을 짜본다.

Editor에서는 이렇게...

input type text, radio, date, checkbox 등을 이용해서 작성했다. javascript 를 입력할 때 몰랐던 것은 input type=submit 에 onclick을 넣었더니 계속 새로고침이 진행되어서 난항을 겪었다. 화면에 출력하는 것과 form에 채워서 보내는 것은 전혀 다른 이야기인가 보다.

<form>
    나이 : <input type="text" name="age"><br>
    생일 : <input type="date" name="birth-day" max="1960-01-01" min="1969-12-31"><br>
    출산 : <input type="radio" name="parity" value="0" checked> 0명
          <input type="radio" name="parity" value="1"> 1명,
          <input type="radio" name="parity" value="2"> 2명 이상
          <br>
    폐경 여부 : <input type="radio" name="menopause" value="1" checked> 예
            <input type="radio" name="menopause" value="0"> 아니오
            <br>
    폐경 나이 : <input type="text" name="menopause-age">
              <br>
    과거력 :
      <input type="checkbox" name="hypertension" value="1"> 고혈압
      <input type="checkbox" name="diabetes" value="1"> 당뇨
      <input type="checkbox" name="dyslipidemia" value="1"> 고지혈증
      <input type="checkbox" name="cancer" value="1"> 암 <br>
    음주 여부 : <input type="radio" name="alcohol" value="0" checked> 안 마신다
    <input type="radio" name="alcohol" value="1"> 1병/1달 미만
    <input type="radio" name="alcohol" value="2"> 1병/1달 이상 <br>

    암 과거력 :
    <input type="checkbox" name="자궁내막암" value="1"> 자궁내막암
    <input type="checkbox" name="자궁경부암" value="1"> 자궁경부암
    <input type="checkbox" name="난소암" value="1"> 난소암
    <input type="checkbox" name="유방암" value="1"> 유방암
      <br>


      <div id="submission-hc">
          <input type="button" value="제출" onclick="myFunction()">
          <input type="reset" value="취소">
      </div>
</form>

오늘 알게 된 점

submit input박스에 onclick을 사용하게 되면 새로 고침을 하면서 원하는 결과가 안 나올 수 있다. 왜냐면, form에 입력된 data를 기반으로 새로운 페이지로 이동하기 때문이다. (아마도... )

function javascript(){
    //이름을 이용해서 check의 크기를 알아내기
    console.log(document.getElementsByName("check").length);
 
    //check를 가진 값의 이름을 가져오기
    var size = document.getElementsByName("check").length;
    for(var i = 0; i < size; i++){
        console.log(document.getElementsByName("check")[i].value);
    }
 
    //check이름을 가진 check중에서 체크된 것만 값 가져오기
    var size = document.getElementsByName("check").length;
    for(var i = 0; i < size; i++){
        if(document.getElementsByName("check")[i].checked == true){
            console.log(document.getElementsByName("check")[i].value+"(체크)");
        }
    }
 
    //check중에 특별한 객체를 체크해주기
    document.getElementsByName("check")[2].checked = true;
}
</script>
</head>
<body>
<input type='button' onclick='javascript()' value='버튼'/>
<input type='checkbox' name='check' value='값1'/> 값1<br/>
<input type='checkbox' name='check' value='값2'/> 값2<br/>
<input type='checkbox' name='check' value='값3'/> 값3<br/>
<input type='checkbox' name='check' value='값4'/> 값4<br/>
</body>
</html>


출처: https://jdkblog.tistory.com/57 [JDK's blog]

♡를 눌러주시면 블로그를 작성하는데 큰 힘이 됩니다♪
로그인이 필요없어요.

이 블로그 인기글