이상 운동증 정량화 앱 개발
#시작하며
프로젝트를 시작하는 데 있어서 가장 중요한 것은 무엇일까?
팀원, 프로젝트 주제, 담당 교수님 모두 중요하지만 내가 생각하는 최우선의 조건은 진행할 프로젝트에 대한 애정이다.
수많은 능력있는 팀원들과 교수님 아래에서 진행하는 프로젝트라고 하여도 좋은 결과물이 이에 비례해서 도출되지 않는다.
따라서 내가 진행하는 프로젝트를 진정으로 내 것으로 받아들이고, 이해하고, 목적성을 탐구하는 것이 제일 먼저 내디뎌야 하는 첫걸음이다.
#주제
나의 주제선정에 있어 가장 우선이 되는 것은 내가 할 수 있고 좋아하는 것으로 의미 있는 프로젝트를 진행하는 것이었다.
따라서 프로젝트 주제 목록을 보며 많은 고민의 시간을 가졌다. 결론적으로 내가 선택한 주제는 '이상 운동증 정량화 앱 개발'이라는 주제이다. 이상 운동증 정량화 앱이란, 주요 User는 의사이며, 실제 임상에서 의사가 해당 앱을 사용하며 파킨슨병 환자들을 진단하는 데 사용하는 것을 목적으로 하고 있다. 지난 학기 Flutter를 이용한 애플리케이션 개발을 진행하였고, 앱 개발뿐만 아니라 신호처리나 데이터 알고리즘 부분도 병행할 수 있는 주제라서 내가 시도해 볼 수 있는 부분이 많을 거라 생각되어 선택하게 되었다. 하지만 무엇보다도 이상 운동증이라는 병을 가진 환자들의 진단에 도움이 되고, 이에 많은 동기부여와 보람을 느끼며 재미있게 진행할 수 있을 것 같아서 해당 주제를 선택하게 되었다.
#이상 운동증이란?
이상 운동증이란, 의도적인 움직임이 감소되고 의도치 않은 떨림이 나타나는 현상이다. 대표적인 이상운동증 증상으로는, 고령층에 주로 발생하는 파킨슨 병과 전연령에 걸쳐 발생하는 본태성 진전증의 증상으로 나타난다. 이 중 파킨슨 병은, 주로 고령에게 발생하기 때문에, 대다수의 환자들이 초기 증상을 노화로 오인하여 치료의 적정시기를 놓치는 경우가 많다. 파킨슨 병은 초기에 발견하면 일상적인 생활이 가능하기 때문에 병을 일찍 발견하여 대처하는 것이 매우 중요하다. 하지만 현재 임상에서는, 환자의 증상, 병력, 검사 결과에 대한 반응을 종합하여 의사 주관으로 진단을 내리기 때문에 객관적인 진단의 어려움을 겪는다.
위 그래프에서 알 수 있듯이, 현재 매년 파킨슨병 환자의 수가 증가하고 있기 때문에, 본 프로젝트에서는, 파킨슨병 환자를 진단하는 척도인, UPDRS(Unified Parkinson's Disease Rating Scale)와 CRTS(Clinical Rating Scale for Tremor)를 이용하여 애플리케이션을 제작하고, 환자의 그리기 검사 데이터를 토대로, 신호처리 과정을 거쳐 떨림 성분을 측정하는 알고리즘을 개발하는 것을 목적으로 한다.
#접근방법
본 프로젝트는, 앞선 팀이 진행하던 것을 이어받아 진행하기 때문에, 초기에 문제 파악하는 것이 가장 중요하다고 생각하여 파킨슨병 진단에 필요한 것과 개발 중인 어플리케이션이 가지고 있는 문제점을 매칭하여 원인 분석하는 것을 우선적으로 진행하였다. 현재 어플리케이션은, 전체적인 틀과 UPDRS, CRTS 두가지 검사가 모두 포함되어 있고, 검사 결과가 데이터 베이스에 저장되는 방식이었다.
현재 개발중인 애플리케이션의 문제점은, 앱 자체가 너무 무겁다는 것과, 실제 환자 데이터를 사용했을 때 데이터 베이스에 저장된다면 개인정보 문제, 환자들의 그리기 검사 결과를 나타내는 알고리즘의 정확도 문제가 있었다.
이에 먼저 위에 발견한 문제점을 중심으로 개선하는 것을 주요 목표로 선정하였다. 또한 해당 개선이 모두 진행된 된다면 사용성 테스트를 통해 앱의 객관성과 정확도를 파악하고, 디자인 적인 UI/UX, Dynamic View 순서로 프로젝트 Flow를 결정하였다.
#개발
개발환경은 안드로이드 스튜디오(Android Studio)를 사용하였다.
안드로이드 스튜디오는 구글이 안드로이드 앱 개발을 위해 JetBrains 사의 IntelliJ IDEA를 기반으로 만든 통합 개발 환경이다. 14년도 이후부터 이클립스를 대체해 안드로이드의 공식 IDE가 되었고, Window, Mac, Linux 세 가지 OS를 지원하며 17년도부터 Kotlin 언어도 지원하고 있다. 현재는 Flutter 또한 지원하여, Xcode 등과 함께 IOS 앱도 개발이 가능하다.
본 프로젝트에서 개발에 사용한 언어는, JAVA와 Kotlin을 병행하여 사용하고 있다.
#마치며
앞으로 해당 프로젝트를 진행하며 당면했던 문제점과 개선방법, 해당 앱 개발에 대해 소개할 것이다. 또한 실제 유저 테스트 내용과 IRB 승인절차, 학부생 논문 투고 등 다양한 측면에서 프로젝트를 성장시키고 활용했던 내용들을 서술할 계획이다.
'Capstone' 카테고리의 다른 글
Way of Modeling (0) | 2021.10.17 |
---|---|
데이터 모델링 (0) | 2021.10.12 |
포스트 캡스톤의 시작 (0) | 2021.10.11 |
KCC 2021 학부생 논문 부분 우수상 수상 (1) | 2021.07.30 |
캡스톤 프로젝트 (0) | 2021.07.30 |