Clinical: Step/Posture 마지막 선택 유지 + BV 단계 제거

회의 결정 2건:

1. Step/Posture 유지
   증상: 2cm 측정 후 돌아오면 Step이 0cm로 자동 reset되어 매번 다시 선택해야 함.
   원인: ClinicalHomeView가 매번 ALIGN_0CM/SUPINE으로 초기화.
   수정: ClinicalSessionStore.lastPosture / lastStep 추가, startMeasurement 시 저장.
        ClinicalHomeView 초기값을 store의 last 값으로.
   다른 입력값(examiner, notes, subject_type 등)과 동일한 패턴.

2. BV 단계 제거
   회의 결정: Step에서 BV는 불필요.
   ClinicalStep enum에서 BV 제거 — 5단계(ALIGN_0CM ~ ALIGN_4CM)만 유지.
   다른 직접 참조 없어 안전 (LabeledSegmented가 enum.values()로 자동 반영).
   step.isAlignment 필드는 유지 (JSON meta 호환) — 이제 모든 step이 true.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-09 10:47:20 +09:00
parent 1574d659cd
commit 35f9afbfdb
3 changed files with 12 additions and 6 deletions
@@ -55,6 +55,11 @@ object ClinicalSessionStore {
com.example.medilightv2android.models.SubjectType.PHANTOM
var lastTrueVolumeMl: String = "" // 문자열로 보관 (입력 폼과 동일 형식)
var lastAbdomenThicknessMm: String = ""
// 회의 결정: Step/Posture 마지막 선택 유지 — 매번 0cm로 리셋되는 불편 제거
var lastPosture: com.example.medilightv2android.models.ClinicalPosture =
com.example.medilightv2android.models.ClinicalPosture.SUPINE
var lastStep: com.example.medilightv2android.models.ClinicalStep =
com.example.medilightv2android.models.ClinicalStep.ALIGN_0CM
/** End 시점에 measurement.json 통합 생성용 — 측정 중 사이클 누적 */
private val cyclesBuffer = mutableListOf<MeasurementCycle>()
@@ -66,6 +71,8 @@ object ClinicalSessionStore {
lastSubjectType = session.subjectType
lastTrueVolumeMl = session.trueVolumeMl?.toString() ?: ""
lastAbdomenThicknessMm = session.abdomenThicknessMm?.toString() ?: ""
lastPosture = session.posture
lastStep = session.step
cyclesBuffer.clear()
currentLogDir()?.mkdirs()
writeMeta(context)