DigitalTwin 기반 복약·위험 예측 시뮬레이션 플랫폼
실행 조건과 결과를 묶는 재현 가능한 실험 단위
현재·다음 날·3일 후 riskScore를 비교 가능한 방식으로 예측
관측 데이터로 숨겨진 페르소나와 위험 성향을 추정
실제 처방 대체가 아니라 후보 판단의 차이를 비교
질병, 약물, 복약 습관, 증상 변화가 시간에 따라 얽히며 위험도가 달라진다.
시간이 지나면서 환자의 위험은 어떻게 변하고, 그 변화를 보고 어떤 판단 후보를 만들 수 있을까?
실제 환자 데이터 없이도 반복 실험이 가능하도록 가상 환자와 복약 데이터를 생성한다.
시간이 흐르며 복약 기록, 자가진단, 처방, riskScore가 같은 실행 단위에 쌓인다.
시뮬레이션 결과를 기반으로 미래 위험을 예측하고 개인화된 판단 후보를 비교한다.
실험에 필요한 기본 도메인과 모의데이터 생성 구조를 먼저 확보했다.
시간에 따른 상태 변화를 만들고, 실행 조건을 추적 가능한 실험 단위로 정리했다.
ML 예측과 배포·자동화를 통해 프로젝트를 실제 서비스에 가까운 형태로 다뤘다.
가상 환자의 숨겨진 성향을 추정하고, 기존 판단과 다른 후보를 비교하는 단계로 확장했다.
Spring Boot
서비스 로직과 API
MySQL + Flyway
데이터와 변경 이력 관리
Tribuo
Java 기반 riskScore 예측
HTML / JS
시뮬레이션과 분석 결과 확인
Docker, Homelab, VPS
외부 접근 가능한 실행 환경
GitHub Actions
테스트와 배포 자동화
실제 시뮬레이션 결과와 ML 분석 결과를 같은 의미로 섞지 않음
Rule-Based, ML predicted, 재계산 score를 PolicyVersion / ModelVersion 기준으로 구분
Prescription은 실행 결과, PrescriptionCandidate는 비교용 분석 후보로 취급
SimulationRun을 기준으로 어떤 조건에서 생성된 데이터인지 추적
사용자, 기간, seed, 정책 조합을 하나의 실행 조건으로 묶음
status와 parameterSnapshot으로 실행 이력과 재현 조건을 보존
SelfDiagnosis, MedicationRecord, Prescription을 같은 run에 귀속
COMPLETED 실행만 ML 학습·평가 데이터셋으로 사용
같은 조건과 seed로 다시 실행해 결과 차이를 비교
RUNNING / COMPLETED / FAILED로 성공·실패 이력 보존
PolicyVersion을 통해 어떤 규칙으로 계산했는지 기록
완료된 실행만 학습 대상으로 사용해 데이터 오염 방지
복약 기록, 자가진단, 질병 상태, 기존 riskScore를 feature로 구성
복잡한 시뮬레이션 데이터에서 반복되는 위험 변화 경향을 학습
기존 Rule-Based 결과와 분리 저장하여 나란히 비교 가능한 구조로 유지
예측 시점 이후의 데이터를 feature로 사용하지 않음
같은 유저가 train/test에 동시에 들어가지 않도록 분리
기존 Rule-Based 판단은 유지하고 ML 예측만 별도 저장
Rule-Based score와 ML predicted score를 같은 기준으로 비교
시뮬레이션 안에는 정답 페르소나가 있지만, 추론 단계에서는 직접 사용하지 않는다.
DigitalTwin 실행 중 실제로 쌓이는 기록만 추정의 근거로 사용한다.
관측 데이터만으로 숨겨진 personaType과 위험 성향을 추정한다.
시뮬레이션과 ML 예측 결과를 같은 실행 단위 안에서 추적할 수 있는 상태
riskScore와 persona 추정을 분리해 Rule-Based와 ML 결과를 비교 가능한 형태로 정리
개인화 예측 결과가 기존 처방 판단과 어떤 차이를 만드는지 확인
높은 증상 변동성, 낮은 복약 순응도, 위험 상승 가능성이 함께 관측된 시나리오
현재 riskScore가 기준선을 넘지 않았기 때문에 유지 판단을 선택
3일 후 위험 상승 예측, 높은 변동성, 낮은 순응도를 근거로 보수적 후보 제안
이후 실제 riskScore 흐름이 상승 방향으로 움직이며 ML-assisted 후보의 우려와 같은 방향을 보임
위험 상승 조기 감지 비교
후보 판단 근거 비교
이후 riskScore 흐름 확인
실제 치료 효과 단정
실제 처방 대체
임상 검증 주장
로컬 실행을 넘어서 외부 접근 가능한 웹 서비스 형태로 배포했다.
기능 하나가 맞아도 전체 흐름에서는 실패할 수 있다는 점을 확인했다.
예측 결과를 더 설명 가능하고 검증 가능한 실험 구조로 확장한다.
모의데이터와 SimulationRun으로 가상 환자의 복약 기록, 자가진단, riskScore 흐름을 재현 가능하게 생성한다.
ML은 기존 Rule-Based 판단을 대체하지 않고, 미래 riskScore를 비교 가능한 보조 예측으로 저장한다.
DigitalTwin과 PersonaEstimation을 통해 기존 처방과 ML-assisted 후보가 어떻게 달라지는지 확인한다.