Files
VesiscanClinicalAndroid/README.md
T
dw.jang 6f118f3ee4 feat(hospital): 정렬을 자세마다 — 부착 위치·재부착 확인·정렬 폴더·labdb 세션을 자세별로
임상 프로토콜은 자세마다 정렬을 처음부터 다시 한다(2026-10-01 확인): Supine 정렬 →
Supine 0~100% → Sitting 정렬 → Sitting 0~100% …. 앱은 환자당 한 번이었다 — Sitting 에서
다시 정렬하면 같은 `align/` 의 원시 파일이 덮이고 labdb 세션 ID 도 같아 섞였다.

  · AppState: 부착 위치·근거·기준 채널·재부착 결과를 자세별 맵(AnchorState)으로. 기존
    접근자(anchorCm 등)는 지금 자세의 항목을 읽고 쓴다. 환자·프로브가 바뀌면 전 자세를
    비운다(clearAllAnchors).
  · 저장: `align/` → `align_{자세}/`. 업로드 대상 탐색은 옛 `align` 과 `align_*` 전부.
    labdb 601 세션 이름에 자세 꼬리(`…_align_sitting_HHmm`), 요약에 `posture`.
  · 정렬 화면: 자세 칩은 첫 위치를 재고 나면 잠근다(폴더·세션의 조건이다). 바꾸려면
    [처음부터 다시 정렬].
  · 병원 화면: 환자명 → 자세 → 정렬 카드 순(자세가 정렬보다 위). 카드가 그 자세의 상태를
    보인다 — "Sitting 부착 위치 미정렬" / "✓ Sitting 부착 위치 3cm 확정".

시험: 자세별 폴더 대상 탐색 · 세션 이름 자세 꼬리. 전체 190건 · failures 0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-01 09:32:23 +09:00

29 lines
1.7 KiB
Markdown

# VesiscanClinicalAndroid
VesiScan **병원 임상 측정 앱** (Android · Kotlin · Compose). 정해진 프로토콜로 환자 데이터를
받아 폰에 저장하고 labdb 로 올리는 사내·병원 임상 전용 앱이다. 일반 사용자 앱이 아니다.
- applicationId `com.medithings.vesiscan.demo` · 플레이버 `demo`(임상) / `dev`
- 빌드 · 설치: `./gradlew :app:assembleDemoDebug` → `adb install -r app/build/outputs/apk/demo/debug/app-demo-debug.apk`
- 단위시험: `./gradlew :app:testDemoDebugUnitTest`
- `local.properties` 는 커밋하지 않는다(`local.properties.template` 참조)
## 어디서 왔나
구저장소 `medithings-rnd/VesiscanBasicAndroid` 의 `demo-final` 브랜치를 **히스토리째**
(2026-03-09 초기 커밋부터) 떼어 2026-10-01 에 이 저장소의 `main` 으로 옮겼다. 그 브랜치는
구저장소에 보관만 하고 더 쓰지 않는다. 일반 사용자 앱은 `vesiscan_pre_product/vesiscan_android_user`.
## 화면 흐름 (병원 임상)
연결 → labdb 등록 확인 → 환자명 · 자세 → **그 자세의** 정렬(치골 위 0~4cm 탐색 → N cm 확인 →
N+1cm 좌우) → 마킹·떼기·크래들 → **재부착 확인** → 채움 정도마다 측정 → 다음 자세는 정렬부터 다시. 자세한 것은
[`docs/CLINICAL_ALGORITHM.md`](docs/CLINICAL_ALGORITHM.md) §3.6, labdb 적재 모양은
[`docs/LABDB_DATATYPES.md`](docs/LABDB_DATATYPES.md) (600 측정 · 601 정렬).
## 데이터
폰 `Downloads/VesiScan_Hospital/{날짜}_{환자}/` 에 조합별 CSV + IMU, `align_{자세}/` 에 그 자세의
정렬 원시·요약(2026-10-01 이전은 `align/`). labdb 업로드 마커(`*.labdb.json`, `align_*/.labdb_align.json`)로
재시도 대상을 가린다.