전체 글21 [Smart SDV] CRF 입력 자동화, AI Redaction부터 Vision-LLM 기반 Auto-Fill까지 안녕하세요. CRScube 연구5팀 이태수입니다. 병원 내부 망분리 정책 및 법적·기술적 한계로 인해 EMR 데이터를 EDC로 연동하는 작업은 오랫동안 까다로운 영역이었습니다. 이러한 문제를 기술적으로 해결하기 위해 진행한 EMR to EDC PoC 결과 결과와 이를 바탕으로 완성한 Smart SDV(Smart Source Data Verification) 솔루션을 기술블로그를 통해 공유해 드리고자 합니다. 배경: PoC로 검증한 가능성임상 현장에서 EMR 데이터 연동의 가장 큰 걸림돌은 원외 망분리 규제와 병원별로 제각각인 시스템 환경이었습니다. 저희 팀은 이를 극복하기 위해 두 단계의 PoC를 진행했습니다.PoC-1 (EMR 데이터 캡처): EMR과의 직접적인 DB 연동 대신, 화면 공유 API 기.. 2026. 8. 14. Shared Font Glyph 출력 오류 해결과 Apache Contributor 1. 서론cubeCDMS 솔루션의 PDF 오류를 확인하던 중 일부 문자에서 입력한 문자와는 다른 문자(동일한 형태지만 다른 Unicode 코드)가 출력되는 현상을 발견하였습니다. 육안으로는 두 문자를 구분할 수 없지만, 텍스트를 복사하거나 검색하는 경우 잘못된 문자가 적용되는 문제가 발생했습니다.오류를 조사하는 과정에서 wkhtmltopdf, Firefox, Typst 등 여러 소프트웨어에서 동일한 현상이 발생하는 것을 확인하였습니다. 유사한 문제를 해결하려는 분들이 보다 쉽게 문제를 해결할 수 있도록 발생 원인과 해결 과정을 정리하였습니다.2. 원인 파악1) 패턴 분석사용한 폰트마다 오류가 발생하는 문자가 달랐습니다.Noto Sans CJK JP 를 사용한 경우CJK Unified Ideographs(.. 2026. 7. 29. 아이들의 웃음소리가 들리던 큐브 키즈데이 현장 스케치 생명수라 부르는 아이스커피 수혈, 쉼없이 울리는 다다다다 하는 키보드 소리, 딸깍딸깍 마우스 누르는 소리까지.평소와 다름 없는 사무실에 아주 특별한 일이 생겼습니다. 지난 4월 30일, 익숙한 소리 속에 엄마와 아빠를 부르는 맑은 목소리가 들렸는데요.임직원들의 자녀를 초대한 '큐브 키즈데이' 행사를 진행했기 때문입니다. 🎈 오늘은 색달랐던 키즈데이, 그날의 기록을 공유하고자 합니다. 큐브 키즈데이 | 오늘은 우리가 주인공 #1. 오늘부터 우리는 명예직원 | 사무실 투어미션 오늘의 주인공들이 사무실에 들어오면서 받은 것은 직원들이 패용하고 있는 사원증이었습니다. 입구에서 사원증을 전달해주고 잠깐의 환영식을 진행한 뒤, 본격적인 사무실 투어 미션을 시작했습니다. ** 미션 1. 엄마아빠의 팀원들과 하이파이.. 2026. 5. 8. Claude Code를 컨테이너로 격리하여 사용하기 — ccc(claude-code-container) 소개 들어가며안녕하세요. CRScube 연구7팀 TMF담당 김경재입니다.최근 Claude Code를 활용한 AI 코딩이 많이 주목받고 있는데요, 저도 업무에서 Claude Code를 자주 사용하면서 로컬 환경 격리의 필요성을 느끼게 되었습니다. 이번 글에서는 Claude Code를 Docker 컨테이너로 격리하여 사용하는 ccc(claude-code-container)를 소개하고자 합니다.왜 컨테이너에서 Claude Code를 실행하는가?Claude Code는 터미널 기반 AI 코딩 에이전트로, 단순히 코드를 제안하는 것을 넘어 파일을 직접 수정하고, 셸 명령을 실행하며, 테스트를 돌리는 등 실제 개발자처럼 동작합니다.Claude Code를 제대로 활용하려면 --dangerously-skip-permissio.. 2026. 4. 15. 로그 데이터 Parquet 전환기 1. 도입 배경외부 업체 데이터를 연동하는 과정에서는 요청·응답 로그가 중요합니다. 운영 중 문제가 생기면 가장 먼저 확인하는 데이터가 로그이기 때문입니다. 처음에는 이 로그를 AWS 환경의 Oracle DB에 그대로 적재했습니다. 구조가 단순하고, 장애가 발생했을 때 원본 데이터를 바로 조회할 수 있다는 점에서 현실적인 방식이었습니다. 하지만 로그가 계속 누적되면서 저장 공간과 관리 부담이 점점 커졌고, 운영 DB에 장기적으로 보관하는 방식에도 한계가 드러났습니다. 그래서 로그를 DB에 계속 쌓아두는 대신, 주기적으로 export해 Parquet으로 변환한 뒤 S3에 업로드하는 구조로 전환하게 되었습니다. Parquet은 컬럼 지향 포맷이라 대용량 데이터를 저장하고 조회하는 데 유리해, 이번 마이그레이.. 2026. 3. 17. PDF 오류 수정을 위한 오픈소스 기여 1. 서론CRScube의 개발팀은 CRScube 솔루션의 모든 PDF 출력 코어 기능을 전담하는 'CubePDF' 공통 라이브러리를 개발하고 있습니다.CubePDF는 OpenHtmlToPDF를 기반으로 PDF 생성을 위한 핵심 코어 기능을 통합하여 제공하며, 사내 jFrog에 배포되어 각 솔루션에서 pom.xml 의존성(Dependency)으로 추가해 호출하는 구조를 갖추고 있습니다.발생한 문제: 복잡한 커스텀 템플릿의 렌더링 오류특히 사내 솔루션 중 하나인 cubeCDMS는 사용자가 직접 HTML 템플릿을 커스텀할 수 있는 기능을 제공합니다. 이로 인해 엔진은 매우 복잡하고 다양한 스타일을 처리해야 하는데, 개발 과정에서 특정 레이아웃이 의도대로 렌더링되지 않는 현상이 발견되었습니다.대응 전략: 우회 .. 2026. 2. 25. 이전 1 2 3 4 다음