![]() |
|||||
|---|---|---|---|---|---|
박상현 |
연건창 |
윤지영 |
임광택 |
임서연 |
임채륜 |
MediHub는 병원 내 의료진과 의료 관계자들이 효율적으로 협업하고 지식 공유 및 축적을 통해 의료 서비스의 품질을 향상시키기 위한 지식 관리 시스템(KMS)입니다.
병원의 의료 수준은 개개인의 지식과 다수 의료진의 협업으로 결정되므로 지식의 효율적인 관리와 빠른 업데이트가 필수적입니다. 그러므로 병원 내에서 지식은 암묵적 지식에서 명시적 지식으로 변환되어야 합니다. 이를 통해 의료진과 직원들이 각자 보유한 업무 경험, 진료 지침(CP), 의료 논문 등을 조직적으로 공유하고 축적할 수 있습니다.
이를 위해 MediHub는 병원 내 정보의 일원화를 추진하고 실시간 정보 공유와 협업을 촉진하는 다양한 기능을 제공합니다.
의료진 및 병원 직원들이 의료 케이스, CP 등 분산된 데이터를 검색 엔진을 통해 한 곳에서 통합적•효율적으로 조회할 수 있도록 지원합니다.
또한 자신의 의견을 자유롭게 개진할 수 있는 게시판과 실시간 채팅 기능은 직원 간 협업과 커뮤니케이션을 지원하여 사용자 편의성을 극대화합니다.
- CP(Clinical Pathway): 병원 내 치료 매뉴얼 문서(CP)를 병원 내 관계자들이 쉽게 접근하고 수정을 건의할 수 있는 기능 제공
- Case Sharing(의료 케이스 공유): 희귀병 치료 등 다양한 의료 사례 공유 및 논의를 통한 의료 사고 예방 및 치료 성과 개선
- ChatGPT + PubMed(논문): 최신 논문과 연구 결과를 효율적으로 검색할 수 있는 기능을 통해 의료진이 필요한 정보를 빠르게 찾을 수 있도록 지원
- Medical Life(부서 게시판): 부서별 게시판을 통해 각 부서의 전문성을 바탕으로 정보 공유 및 효율적인 업무 처리 지원. 다양한 직군 간의 정보 교류를 통해 지식의 지속적인 축적과 확장 촉진
- Elasticsearch: 대량의 의료 데이터를 신속하고 효율적으로 검색하고 분석할 수 있도록 지원
- Newsapi: 최신 의료 뉴스를 검색하고 통합하여 관계자들이 정보에 쉽게 접근할 수 있도록 지원
- 익명 게시판(Anonymous Board) 병원 내 모든 관계자가 개인적인 의견이나 질문을 자유롭게 개진하고 정보를 공유할 수 있는 환경 제공
- MediTalk(메신저): 응급 상황이나 신속한 의사 결정이 필요한 경우 직원 간 실시간으로 소통할 수 있는 메신저 기능 제공
- 알림: 팔로우 한 의료진이 새로운 CP나 Case Sharing 등을 작성했을 때 실시간으로 알림 메시지를 전송하여 최신 정보를 신속하게 공유하고 협업을 촉진
- ChatBot: 질문과 답변을 실시간으로 처리할 수 있어 정보 검색의 편의성 향상
- 의료 서비스 품질 향상: 업무 효율성•생산성•대응 능력 향상 등을 통한 성과 도출 및 의료 환경의 발전에 긍정적인 효과 기대
- 환자의 만족도 제고: 최신 연구 결과와 치료 방법을 신속하게 공유함으로써 수준 높은 의료 서비스 제공하여 환자의 만족도 제고
- 지식의 지속적인 축적과 확장: 병원 내 관계자들의 지식 공유성과 활용성을 강화하여 문제 해결 능력의 제고와 의사 결정 수준의 증진
- 병원 내 협업 문화 확산
MongoDB Schema
// chatMessageSchema.js
const mongoose = require('mongoose');
// 첨부파일(Attachment) 서브문서 스키마 정의
const attachmentSchema = new mongoose.Schema({
originName: { type: String, required: false }, // 원본 파일 이름
url: { type: String, required: false } // S3 URL
});
// ChatMessage 스키마 정의
const chatMessageSchema = new mongoose.Schema({
chatroomSeq: { type: Number, required: true }, // 채팅방 식별자
senderUserSeq: { type: Number, required: true }, // 발신자 사용자 식별자
type: { type: String, required: true }, // 메시지 타입 (예: text, file, image)
message: { type: String, required: false }, // 메시지 내용
createdAt: { type: Date, default: Date.now }, // 메시지 생성 시간 (기본값 현재 시간)
isDeleted: { type: Boolean, default: false }, // 메시지 삭제 여부
attachment: { type: attachmentSchema, required: false } // 첨부파일 서브문서
});
// 복합 인덱스 설정 (chatroomSeq, createdAt, isDeleted 기준으로 쿼리 최적화)
chatMessageSchema.index(
{ chatroomSeq: 1, createdAt: 1, isDeleted: 1 },
{ name: "chatroom_createdAt_isDeleted_idx" }
);
// 모델 내보내기
module.exports = mongoose.model('ChatMessage', chatMessageSchema);
| 구성요소 | 사양 |
|---|---|
| CloudFront(Frontend) | Vue.js, Vite |
| EKS | t3.large(2 vCPU, 8GB RAM), Nginx, Spring Boot |
| RDS | db.t3.medium(2 vCPU, 4GB RAM), MariaDB, MongoDB, redis |
| S3 | 5GB 표준 스토리지, 총 2개의 버킷(프론트엔드 프로젝트, 업로드 파일) |






















.gif)

.gif)







.gif)


























.gif)
.gif)







.gif)
.gif)






