feat(hospital): 재부착 확인 단계 · 좌우 스트리밍 전체 기록 · 정렬 파형을 위로 (2026-09-29 임상 후속)
임상에서 정렬 → 위치 마킹 → 프로브 떼기 → 크래들로 다시 붙이기 사이에 CH2 가 사라진 채
18조합을 다 쟀다. 좌우는 실시간 판정만 하고 아무것도 남기지 않아 "그 전에는 있었나"를
대조할 수도 없었다. 세 가지를 넣는다.
1. 재부착 확인 (병원 화면 정렬 카드 아래, ReattachCheckCard)
· 부착 위치에서 정렬 조건(2.3MHz·c3·20 cycle)으로 재고, 정렬 확인 측정에서 잡힌
채널(AppState.anchorRefChannels ← 확인 측정의 walls)과 CH0~3 을 채널별로 대조
+ 탈착 감시. 판정은 ReattachCheck.judge (순수 함수, 시험 6건).
· 막지 않는다 — 측정 시작 아래 경고, 측정 중 한 줄 요약에 "재부착 ⚠", run 매니페스트
`anchor_reattach`, align_result.json `reattach`, 601 에 phase=reattach 로 파형·IMU.
· AppState.clearAnchor() — 부착 위치와 딸린 것(근거·기준 채널·재부착)을 한꺼번에 비운다.
2. 좌우 스트리밍 전체 기록 (HospitalRunStore.LateralStreamWriter)
· 프레임마다 6채널 + 그 프레임의 판정(u4·u5·imbalance·action·ch3)을
align_{n}cm_lateral_stream.csv 에 덧붙여 쓴다(앱이 죽어도 그때까지 남음).
`attempt` 열로 [처음부터 다시 정렬] 시도를 가른다 — 앞 시도의 비동기 업로드가 파일을
읽고 있을 수 있어 지우지 않는다. 601 에 phase=lateral_stream + `lateral{…}`.
3. 정렬 화면 파형 1차 개편 — 파형을 용적·접촉보다 위에 더 크게(170dp), 그 위에 채널별
벽 검출 띠(CH0~3 ✓/✗, CH4·5 는 좌우용 회색). "CH2 없음"이 파형보다 먼저 보인다.
시험 88건 통과(전체 174 · skipped 3 · failures 0). 실기(프로브 필요)는 다음 임상에서.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,26 @@ class AppState(private val context: Context) {
|
||||
*/
|
||||
var anchorBasis: com.medithings.vesiscan.managers.AnchorBasis? by mutableStateOf(null)
|
||||
|
||||
/**
|
||||
* 정렬 **확인 측정**에서 잡힌 채널(CH0~3). 재부착 확인([ReattachCheck])의 기준.
|
||||
* null = 기준 없음 — 사람이 고른 위치이거나 확인 측정 전에 진행했다.
|
||||
*/
|
||||
var anchorRefChannels: List<Boolean>? by mutableStateOf(null)
|
||||
|
||||
/** 재부착 확인 결과. null = 아직 안 했다. 부착 위치와 같이 비운다. */
|
||||
var anchorReattach: com.medithings.vesiscan.managers.ReattachCheck.Result? by mutableStateOf(null)
|
||||
|
||||
/**
|
||||
* 부착 위치와 딸린 것(근거·기준 채널·재부착 확인)을 **한꺼번에** 비운다.
|
||||
* 하나만 남으면 그 순간부터 서로 어긋난다 — 환자가 바뀌었는데 재부착 확인이 ✓ 로 남는 식.
|
||||
*/
|
||||
fun clearAnchor() {
|
||||
anchorCm = null
|
||||
anchorBasis = null
|
||||
anchorRefChannels = null
|
||||
anchorReattach = null
|
||||
}
|
||||
|
||||
/**
|
||||
* 병원 임상 자세. **정렬 화면과 병원 모드가 같은 값을 봐야 한다.**
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user