요양원 관리 프로그램을 직접 개발해야 하나, 아니면 그냥 사서 써야 하나 고민하다가 결국 직접 만들어보기로 결정했다. 뭐, 요양원 업무가 그렇게 복잡하겠어? 싶었고, 특히 관리자 페이지 쪽은 내가 좀 아는 분야라 대수롭지 않게 생각했다. 크로스플랫폼으로 만들면 앱이랑 웹을 동시에 쓸 수 있으니 편할 거라고 생각했고.
처음에는 단순하게 시작했지
일단 기본적인 회원 관리, 입소자 정보 관리, 그리고 간단한 일정 관리 기능부터 넣었다. 데이터베이스 설계는 그냥 익숙한 관계형 데이터베이스로 하면 될 거라고 생각했다. 관리자 페이지는 누가 봐도 알아보기 쉽게, 딱 필요한 기능만 넣으려고 했다. 솔직히 처음엔 엑셀로 관리하는 것보다만 나으면 된다는 생각이었다. SI 회사들 보면 다들 이런 걸로 돈 버는 거 같아서, 이 정도면 나도 금방 하겠지 싶었다. 노코드 툴 같은 걸로 하면 더 빠르겠지만, 그래도 나중에 수정하려면 직접 코딩하는 게 낫다고 생각했다.
생각보다 복잡했던 환자 기록 관리
문제는 환자 기록 관리였다. 단순히 이름, 나이, 연락처만 넣는 게 아니었다. 건강 상태, 복용 약, 진료 이력, 활동 기록 등등… 이걸 어떻게 체계적으로 관리할까 하다가 결국 이건 좀 더 신경 써야겠다는 생각이 들었다. 처음에는 텍스트 필드로 다 넣으려고 했는데, 이건 아니다 싶었다. 날짜별로 기록이 쌓이니까 나중에 찾아보기도 힘들고, 특정 정보를 필터링하는 것도 거의 불가능했다. 그래서 결국에는 각 항목별로 별도의 테이블을 만들고 관계를 설정하는 식으로 데이터베이스를 좀 더 복잡하게 설계해야 했다. 이거 하면서 퍼블리싱 감각도 좀 동원해야 했고.
예상치 못한 기능 추가 요구사항
이제 어느 정도 기본적인 틀이 잡혔다고 생각했는데, 막상 주변에서 써본 사람들이 ‘이런 기능은 꼭 있어야 한다’, ‘저런 건 불편하다’는 의견을 내놓기 시작했다. 예를 들어, 가족들과 소통할 수 있는 간단한 메시징 기능이라든지, 외부 병원 진료 기록을 업로드할 수 있는 기능 같은 것들이었다. O2O 서비스처럼 외부랑 연결되는 부분도 필요하다고 하더라. 이게 다 들어갈 거라고는 전혀 생각 못 했다. ERP 시스템처럼 모든 걸 한 번에 해결하려고 했던 건 아니었는데, 자꾸 이것저것 붙이다 보니 점점 커지는 느낌이었다.
개발 기간과 비용이 늘어났다
처음에는 한두 달이면 뚝딱 끝날 거라고 생각했다. 근데 이것저것 건드리다 보니 벌써 반년이 다 되어간다. 물론 아직 완성된 건 아니다. 아직도 손볼 곳이 많다. 특히 모바일 환경에서의 UI/UX는 웹에이전시에서 만드는 것처럼 매끄럽게 만들기가 쉽지 않았다. 비용도 처음 예상했던 것보다 훨씬 많이 들었다. 직접 개발하더라도 시간과 노력이 드는 건 마찬가지였다. 차라리 그냥 상용 솔루션을 알아보는 게 나았을까 싶기도 하고.
아직도 풀리지 않는 몇 가지 의문
가장 큰 문제는 보안이었다. 환자 정보를 다루는 만큼, 보안에 신경 써야 하는데 이게 생각보다 어려운 일이었다. 혹시라도 데이터 유출이라도 되면 큰일이니까. 그리고 나중에 혹시라도 시스템을 확장하거나 다른 요양원과 연동해야 할 경우를 생각하면, 지금 설계가 최선인지도 잘 모르겠다. 일단 지금은 이대로 계속 개발하겠지만, 나중에 후회하지 않을까 하는 생각도 든다. 결국 사람 손이 많이 가는 일이었다.

관계형 데이터베이스로 시작하는 건 정말 현실적인 선택인 것 같아요. 나중에 확장 가능성을 고려하면 훨씬 더 유연한 설계가 필요할 텐데, 초기 단계에 이렇게 결정한 부분에선 잘하신 것 같습니다.