P06T.RUST · 명확한 사고기획Lv.2-3MVP 2-4주

EMR CSV 기반 대상자 추출기

EMR CSV Cohort Extractor

비식별 CSV를 기준으로 반복적인 대상자 추출 작업을 빠르게 자동화합니다.

문제 정의

의원 운영에서는 재내원, 검사, 추적관리 대상자를 반복적으로 추출해야 하는 경우가 많습니다. 하지만 수동 CSV 필터링은 느리고 기준이 흔들리기 쉬우며, 실제 환자 데이터가 섞이면 공개와 검토가 모두 위험해집니다.

openkiki.org는 이 프로젝트를 공개 가능한 위키와 빌드 로그로 먼저 정리하고, 실제 도구 구현은 별도 로컬 앱 또는 별도 프로젝트로 분리합니다.

MVP 범위

첫 버전은 작고, 검토 가능하며, 공개적으로 설명해도 안전한 범위로 유지합니다.

  • 실제 환자 식별자나 EMR 내보내기 파일 없이 합성 샘플 CSV만 사용합니다.
  • 데이터베이스 없이 frontend-only React MVP 또는 로컬 프로토타입에서 행을 파싱합니다.
  • 예약일 경과, 곧 도래하는 예약, 다음 예약 누락, HbA1c 검토 후보, 장기 미내원 샘플 행을 필터링합니다.
  • 사람이 업무 로직을 검토할 수 있도록 추출 사유를 명확히 표시합니다.

샘플 데이터 원칙

P06은 합성 데이터만 사용해 실제 환자 정보를 노출하지 않고도 업무 흐름을 설명할 수 있게 합니다.

  • 차트번호 대신 P06-SAMPLE-001 같은 합성 ID를 사용합니다.
  • 이름, 전화번호, 주소, 주민등록번호, 보험 정보, 처방, 실제 진단 기록은 제외합니다.
  • 진단명과 HbA1c 값은 임상 판단 데이터가 아니라 업무 흐름 테스트용 가짜 값으로만 다룹니다.

제외 범위

이 경계는 프로젝트를 임상 또는 운영 실사용 시스템이 아니라 워크플로 프로토타입으로 유지하기 위한 기준입니다.

  • 실제 EMR 연동은 포함하지 않습니다.
  • 실제 환자 CSV 업로드는 포함하지 않습니다.
  • 데이터베이스, 인증, 메시징, RAG, LLM 기반 판단은 포함하지 않습니다.
  • 의학적 판단 또는 치료 의사결정 지원은 포함하지 않습니다.

샘플 파일

P06은 이후 별도 추출기 프로토타입의 입력 계약으로 사용할 안정적인 가짜 CSV를 갖습니다.

공개용 샘플 파일

sample_patient.csv

이 CSV는 P06을 위한 첫 번째 재사용 가능 합성 데이터셋입니다. 실제 환자 데이터를 openkiki.org에 가져오지 않고도 이후 추출기 앱의 안정적인 입력 계약으로 사용할 수 있습니다.

합성 샘플 데이터 전용입니다. 실제 환자 데이터, 차트번호, 연락처, 보험 정보, EMR 내보내기 파일은 사용하지 않습니다.

행 수
20
인코딩
UTF-8
기준일
2026-06-08
가짜 CSV 다운로드

스키마 계약

첫 추출기 프로토타입에서는 아래 컬럼 구조를 안정적으로 유지합니다.

컬럼타입필수설명
patient_idstring실제 차트번호가 아닌 합성 샘플 ID입니다.
ageinteger필터와 테이블 테스트를 위한 가짜 나이 값입니다.
sexM | F | U샘플 행 다양성을 위한 가짜 성별 코드입니다.
diagnosiscategory실제 진단이 아닌 워크플로 테스트용 가짜 분류입니다.
hba1cfloat | empty아니오임상 데이터가 아닌 필터 연습용 가짜 숫자 값입니다.
last_visitYYYY-MM-DD장기 미내원 필터링을 위한 가짜 마지막 방문일입니다.
next_visitYYYY-MM-DD | empty아니오다음 예약 누락 테스트를 위한 가짜 예약일 또는 빈 값입니다.

예상 매칭: 4

다음 예약일 경과

next_visit < 2026-06-08

예정된 후속 방문일이 이미 지난 샘플 행을 찾습니다.

예상 매칭: 7

곧 도래하는 다음 예약

2026-06-08 <= next_visit <= 2026-06-22

기준일로부터 14일 안에 후속 방문일이 있는 샘플 행을 찾습니다.

예상 매칭: 3

다음 예약 누락

next_visit is empty

후속 방문일이 비어 있는 샘플 행을 찾습니다.

예상 매칭: 5

HbA1c 검토 후보

diagnosis = diabetes AND hba1c >= 8.0

임상 판단 없이 분류와 숫자 필터를 조합하는 연습용 조건입니다.

예상 매칭: 2

장기 미내원

last_visit <= 2025-12-08

기준일로부터 180일 이상 방문 공백이 있는 샘플 행을 찾습니다.

다음 단계

다음으로는 브리프를 작고 테스트 가능한 산출물로 바꾸는 것이 가장 유용합니다.

  • 저장소에 포함된 sample_patient.csv fixture를 첫 입력 계약으로 사용합니다.
  • 실제 추출기는 openkiki.org 내부가 아니라 별도 로컬 React 앱 또는 독립 프로젝트로 시작합니다.
  • 추가 자동화를 붙이기 전에 출력 사유를 사람이 검토할 수 있는 형태로 유지합니다.
프로젝트 목록으로