1. 버그 수정
1-1. 진료 기록 저장 오류 (Critical)
- 파일: app/routes/records.py
- 문제: 용어 저장 시 description 키 대신 easy 키를 참조해서 용어 설명이 항상 빈 문자열로 저장됨
- 수정: item.get("easy", "") → item.get("description", "") or item.get("easy", "")
- 영향: 저장 후 진료 기록 상세 조회 시 용어 설명이 정상적으로 표시됨
1-2. records.json 데이터 정리
- 중복 레코드 5개 제거
- description 없이 easy: ""만 있는 오염 레코드 정리
2. STT 인식 품질 개선
- 파일: app/stt_google_streaming.py
- 문제: language_code="ko-KR" 단일 언어 설정으로 인해 영어 의료 용어가 한국어 음성으로 인식됨 (예: CRP → 씨알피)
- 수정 1: alternative_language_codes=["en-US"] 추가 → 영어 단어는 영어로 인식
- 수정 2: phrase hints에서 한국어 음성 표기 제거 (씨알피, 씨비씨 등) → 해당 힌트가 오히려 한국어 음성 인식을 유도하고 있었음
3. 의료 용어 추출 개선
- 파일: app/services/term_extractor.py
- 문제: 4개 단어(CRP, 내시경, 염증, 검사)만 하드코딩되어 있어 대부분의 진료 텍스트에서 용어 추출 불가
- 수정: Gemini 기반 동적 추출로 전환
- 텍스트에 등장한 의료 용어를 자동 감지 및 설명 생성 (최대 6개)
- Gemini 실패 시 18개 단어 fallback 사전으로 대체
4. 신규 기능: 사전 질문 정리
스펙 기준 B안(MVP) 구현
추가 파일
파일내용
| app/services/question_analyzer.py |
Gemini 기반 질문 분류 서비스 |
| app/routes/questions.py |
질문 관련 API 라우터 |
| app/data/questions.json |
질문 데이터 저장소 |
추가 API
MethodEndpoint설명
| POST |
/questions/analyze |
질문 텍스트 분류 (저장 없음) |
| POST |
/questions |
분류 결과 저장 |
| GET |
/questions |
목록 조회 |
| GET |
/questions/{id} |
상세 조회 |
분류 기준
- general_info: 의학 기본 지식으로 설명 가능한 것 → 한두 줄 설명 제공
- ask_doctor: 담당 의사에게 직접 물어봐야 하는 것 → 질문 리스트로 정리
- caution: 응급/즉각 주의가 필요한 것
저장 시 record_id 연결 가능 (진료 기록과 연결, B안)
5. 환경 설정 개선
- 파일: app/main.py, server/.env
- Gemini API 키를 .env 파일에 저장하도록 변경
- 서버 시작 시 자동 로드 → 매번 환경변수 수동 설정 불필요
6. 주소 수정
- 파일: lib/main.dart, lib/api/app_config.dart
- WebSocket URL: ws://10.240.66.72:8000 → ws://127.0.0.1:8000
- API URL: http://10.240.66.72:8000 → http://127.0.0.1:8000
현재 미완성 항목
항목상태
| 사전 질문 정리 — Flutter UI |
미구현 (백엔드만 완료) |
| 진료 기록 상세화면에 질문 연결 표시 |
미구현 |