fix(handoff,web,mobile): 핸드오프 리포트 환자명 마스킹·대시보드 PDF 인라인·OCR 대화반영·PII 재암호화 - #101
Merged
Merged
Conversation
의료진 대시보드/핸드오프 리포트 관련 로컬 수정 통합: - api(handoff.py): 다세션 F5 리포트가 vp_id에 원본 DB UUID를 실어 리포트·차트· FHIR에 UUID가 노출되던 것 수정 → 비가역 표시코드(VP-XXXXXX) + 복호화 실명을 persona_name으로 전달해 마스킹 표기(예: 조서현). (_display_vp/_patient_display_name) - web(HandoffReportView): 리포트를 raw markdown 텍스트로 뿌리던 것을 editorial PDF 인라인 렌더(<object>)로 전환, 원문 markdown은 접이식으로 강등. PDF 없는 리포트는 기존 markdown 폴백. - web(layout): 브라우저 확장 속성 주입으로 인한 최상위 하이드레이션 미스매치 억제 (suppressHydrationWarning on html/body). - mobile(OCR): 처방전 OCR 확인 완료 시 요약을 대화로 흘려보내 F1이 인지·응답하고 conversation_history(→리포트)에 남게 함(pendingInjection 큐 + chat 전송 훅). - scripts/reencrypt_pii.py: ENCRYPTION_KEY 불일치로 복호화 실패하는 환자 PII를 현재 키로 재암호화(레거시 키 env 주입, dry-run 기본). 대시보드 "복호화 실패" 정리용. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
의료진 대시보드/핸드오프 리포트 관련 로컬 수정 통합. DGX 배포에 반영 목적.
변경
handoff.py— 다세션 F5 리포트가vp_id에 원본 DB UUID를 실어 리포트 본문·F4 차트·FHIR에 UUID가 노출되던 것 수정. 비가역 표시코드(VP-XXXXXX) + AES 복호화 실명을persona_name으로 전달 → 마스킹 표기(예:조서현 (VP-E62705)). (_display_vp/_patient_display_name)HandoffReportView— 리포트를 raw markdown 텍스트로 출력하던 것을 **editorial PDF 인라인 렌더(<object>)**로 전환. 원문 markdown은 접이식(<details>)으로 강등. PDF 없는 리포트는 기존 markdown 폴백.layout— 브라우저 확장의 속성 주입으로 인한 최상위 하이드레이션 미스매치 억제(suppressHydrationWarning).conversation_history(→리포트)에 남게 함(pendingInjection큐 + chat 전송 훅).scripts/reencrypt_pii.py— ENCRYPTION_KEY 불일치로 복호화 실패하는 환자 PII(profile name/phone/emergency, message content)를 현재 키로 재암호화. 레거시 키는 env 주입, dry-run 기본. 대시보드 "복호화 실패" 정리용(운영자 수동 실행).배포
merge 후 DGX에서:
git pull && docker compose -f infra/deploy/docker-compose.dgx.yml up -d --build api web(ai-server 무변경).재암호화는 별도 수동 단계(운영자,
LEGACY_ENCRYPTION_KEYS주입).검증(로컬)
clinician/patients200 · 리포트 markdown/PDF/차트/FHIR 생성 · 환자행조서현 (VP-E62705)(UUID 미노출)<object>PDF 인라인 렌더 200🤖 Generated with Claude Code