강현구

현업 사례 · ERP 기업

임상 데이터 웨어하우스

2024.05 – 2025.09

병원 10여 곳의 연구자가 카탈로그에서 쓸 수 있는 데이터를 확인하고, 테이블을 조인하고 필터로 걸러 연구용 데이터셋을 만들어 조회하는 플랫폼입니다. 병원의 정의서 반영 요청이 거의 매주 들어와 카탈로그를 최신으로 유지해야 했고, 분석 흐름 중간에서 데이터를 가공하는 클렌징 단계를 새로 넣어야 했습니다.

역할
백엔드 · 카탈로그 운영과 반영 자동화, 데이터 클렌징 고도화(서버 단독), 의료영상 조회, 권한 · 활동 기록
JavaSpring BootMyBatisPostgreSQLVBA 매크로SQL 스크립트
개념도 · 일반화
  1. 카탈로그병원별로 쓸 수 있는 데이터 목록
    • 병원 테이블 정의서(엑셀) → 반영 자동화
    • 권한 관리 · 수정·활동 기록
  2. 조인 · 필터분석 흐름으로 데이터셋 만들기
  3. 클렌징 단계칼럼 추가·삭제, 이상치 제거
    • API 20여 개 · 서버 단독 개발
  4. 데이터셋 조회환자의 의료영상(DICOM)까지 함께
    • 영상 조회 모듈 분리

어려웠던 점과 해결

카탈로그 반영 자동화

문제병원이 테이블 정의서를 엑셀로 보내면 사람이 카탈로그에 옮기고 있었습니다. 요청은 거의 매주 들어왔고, 테이블마다 손이 많이 가서 반영이 밀리기 쉬웠습니다.

해결매크로와 SQL 스크립트로 자동화해 여러 테이블을 한 번에, 짧은 시간 안에 반영하게 했습니다. 반복되는 수작업은 도구로 바꾸고, 반영 전에는 백업을 남기고, 결과는 원문과 직접 대조했습니다. 여러 병원의 표준 정의서가 한꺼번에 들어와도 당일에 반영할 수 있게 되었습니다.

연결된 단계 정리

문제클렌징은 분석 흐름 중간에 들어가는 단계라, 앞에서 칼럼을 지우면 그 칼럼을 참조하는 뒤쪽 조건과 새로 만든 칼럼까지 찾아 함께 정리해야 했습니다.

해결이 구조를 서버에서 단독으로 개발해(API 20여 개) 예정된 일정에 운영 배포했습니다.

기획 충돌 정리

문제기획서에 "가공 전에는 데이터를 볼 수 없다"는 규칙과 "클렌징 도구 안에서 데이터를 실시간으로 조회한다"는 요구가 함께 있었습니다.

해결개발 전에 충돌을 짚어 회의에서 "가공 전에는 칼럼 제목만 보여 준다"로 정리하고 개발했습니다.

의료영상 조회

문제연구자가 데이터셋에서 환자의 의료영상(DICOM)까지 함께 봐야 했습니다.

해결영상 조회를 기존 로직과 분리한 모듈로 설계해, 양쪽을 따로 고칠 수 있게 했습니다.

체험 · 연결된 단계 정리

예시 데이터

가상 데이터로 만든 클렌징 흐름입니다. 데이터셋 칼럼을 지우면 그 칼럼에 기대는 뒤 단계와 결과 칼럼이 함께 정리되어야 합니다. 결과 미리보기는 가공 전 규칙대로 칼럼 제목만 보여 줍니다.

데이터셋 칼럼 · 조인과 필터로 만든 결과
  1. 1
    칼럼 추가BMI = 체중 ÷ 키²
  2. 2
    이상치 제거BMI 10 미만 · 60 초과 제외
  3. 3
    조건나이 19세 이상
  4. 4
    칼럼 추가연령대 = 나이 10살 단위
결과 미리보기
가명ID나이키체중검사일BMI연령대

가공 전에는 칼럼 제목만 보여 줍니다

데이터셋 칼럼의 ✕를 눌러 지워 보세요. 예: 키

결과

현업 소스, 화면, 내부 문서는 싣지 않습니다. 개념도와 체험은 이해를 돕기 위해 새로 만든 예시입니다.