Skip to content

PBEM22/medihub

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MediHub

👩🏻‍💻 제1조1항 🧑🏻‍💻

박상현

연건창

윤지영

임광택

임서연

임채륜


🛠️ 기술 스택

Backend



Frontend


Database


외부 API

CI/CD


Tool


📜 목차

  1. 프로젝트 개요
  2. 주요 기능
  3. 기대 효과
  4. 프로젝트 설계 문서
  5. 백엔드 설계 및 구축
  6. 프론트엔드 설계 및 구축
  7. 시스템 통합


1. 프로젝트 개요

MediHub

MediHub는 병원 내 의료진과 의료 관계자들이 효율적으로 협업하고 지식 공유 및 축적을 통해 의료 서비스의 품질을 향상시키기 위한 지식 관리 시스템(KMS)입니다.

병원의 의료 수준은 개개인의 지식과 다수 의료진의 협업으로 결정되므로 지식의 효율적인 관리와 빠른 업데이트가 필수적입니다. 그러므로 병원 내에서 지식은 암묵적 지식에서 명시적 지식으로 변환되어야 합니다. 이를 통해 의료진과 직원들이 각자 보유한 업무 경험, 진료 지침(CP), 의료 논문 등을 조직적으로 공유하고 축적할 수 있습니다.

이를 위해 MediHub는 병원 내 정보의 일원화를 추진하고 실시간 정보 공유와 협업을 촉진하는 다양한 기능을 제공합니다.


2. 주요 기능

의료진 및 병원 직원들이 의료 케이스, CP 등 분산된 데이터를 검색 엔진을 통해 한 곳에서 통합적•효율적으로 조회할 수 있도록 지원합니다.
또한 자신의 의견을 자유롭게 개진할 수 있는 게시판과 실시간 채팅 기능은 직원 간 협업과 커뮤니케이션을 지원하여 사용자 편의성을 극대화합니다.

1. 지식 관리

  • CP(Clinical Pathway): 병원 내 치료 매뉴얼 문서(CP)를 병원 내 관계자들이 쉽게 접근하고 수정을 건의할 수 있는 기능 제공
  • Case Sharing(의료 케이스 공유): 희귀병 치료 등 다양한 의료 사례 공유 및 논의를 통한 의료 사고 예방 및 치료 성과 개선
  • ChatGPT + PubMed(논문): 최신 논문과 연구 결과를 효율적으로 검색할 수 있는 기능을 통해 의료진이 필요한 정보를 빠르게 찾을 수 있도록 지원
  • Medical Life(부서 게시판): 부서별 게시판을 통해 각 부서의 전문성을 바탕으로 정보 공유 및 효율적인 업무 처리 지원. 다양한 직군 간의 정보 교류를 통해 지식의 지속적인 축적과 확장 촉진

2. 정보 검색 및 접근

  • Elasticsearch: 대량의 의료 데이터를 신속하고 효율적으로 검색하고 분석할 수 있도록 지원
  • Newsapi: 최신 의료 뉴스를 검색하고 통합하여 관계자들이 정보에 쉽게 접근할 수 있도록 지원

3. 협업 및 커뮤니케이션

  • 익명 게시판(Anonymous Board) 병원 내 모든 관계자가 개인적인 의견이나 질문을 자유롭게 개진하고 정보를 공유할 수 있는 환경 제공
  • MediTalk(메신저): 응급 상황이나 신속한 의사 결정이 필요한 경우 직원 간 실시간으로 소통할 수 있는 메신저 기능 제공
  • 알림: 팔로우 한 의료진이 새로운 CP나 Case Sharing 등을 작성했을 때 실시간으로 알림 메시지를 전송하여 최신 정보를 신속하게 공유하고 협업을 촉진

4. 사용자 지원 및 자동화

  • ChatBot: 질문과 답변을 실시간으로 처리할 수 있어 정보 검색의 편의성 향상

3. 기대 효과

  • 의료 서비스 품질 향상: 업무 효율성•생산성•대응 능력 향상 등을 통한 성과 도출 및 의료 환경의 발전에 긍정적인 효과 기대
  • 환자의 만족도 제고: 최신 연구 결과와 치료 방법을 신속하게 공유함으로써 수준 높은 의료 서비스 제공하여 환자의 만족도 제고
  • 지식의 지속적인 축적과 확장: 병원 내 관계자들의 지식 공유성과 활용성을 강화하여 문제 해결 능력의 제고와 의사 결정 수준의 증진
  • 병원 내 협업 문화 확산

4. 프로젝트 설계 문서

4-1. 프로젝트 기획서

프로젝트 기획서

4-2. WBS

WBS

4-3. DDD 설계

DDD

4-4. 요구사항 명세서

요구사항명세서

4-5. Database 설계

ERD

MongoDB Schema

chat.messages Collection

// 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);

4-6. 화면 설계서

화면 설계서 (Figma)

4-7. 시스템 아키텍처

systemArchitecture


5. 백엔드 설계 및 구축

5-1. 프로그램 사양서

구성요소 사양
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개의 버킷(프론트엔드 프로젝트, 업로드 파일)

5-2. 단위 테스트 결과서

단위 테스트 결과서 (Sheet)


6. 프론트엔드 설계 및 구축

6-1. 기능 수행 테스트 결과

6-1-1. User (사용자)

내 정보 수정

내정보수정

팔로우

팔로우

나의 Case Sharing

MyCaseSharing

나의 Medical Life

MyMedicalLife

나의 익명게시판

MyAnonymousBoard }

나의 CP

MyCP

나의 논문

MyJournal


6-1-2. Admin (관리자)

로그인

Login

회원 조회 및 회원 등록

회원조회및등록

부서 등록

부서등록

파트 관리

파트관리

직급관리

직급관리

회원 정보 수정

회원정보수정

비밀번호 초기화

비밀번호초기화


6-1-3. Case Sharing (케이스 공유)

케이스 공유 작성 및 조회

케이스공유작성및조회

케이스 공유 새 버전 작성

케이스공유새버전작성

케이스 공유 댓글 작성

케이스공유댓글작성

케이스 공유 댓글 수정

케이스공유댓글수정

케이스 공유 알림 댓글 조회

케이스공유알림


6-1-4. CP (표준 진료 지침)

CP 목록 조회

CPList

CP 조회 (검색 카테고리 사용)

CPListByCategory

CP 상세 조회

CPDetail

CP 북마크 목록

CPBookmark


CP 의견 마커 표시

CPOpinion

CP 의견 생성

CP의견생성

CP 의견 목록 조회

CP 의견 목록 조회

CP 의견 상세 조회

CP 의견 상세 조회

CP 의견 수정

CP의견수정

CP 의견 삭제

CP의견삭제

CP 의견 투표 및 결과 확인

CP 의견 투표 및 결과 확인

북마크 (CP 상세기보 내부)

CP북마크

CP 다운로드

CP 다운로드


CP 검색 카테고리 생성

CP 검색 카테고리 수정

CP 검색 카테고리 삭제

CP 검색 카테고리 데이터 생성

CP 검색 카테고리 데이터 수정

CP 검색 카테고리 데이터 삭제


6-1-5. 논문

논문

Journal


6-1-6. Elasticsearch (엘라스틱서치)

추천 검색어

추천검색어

통합 검색

통합검색

Case Sharing 검색

케이스공유

Medical Life 검색

메디컬라이프

Anonymous Board 검색

익명게시판


6-1-7. Chatbot (챗봇)

챗봇

Chatbot


6-1-8. MediTalk (채팅)

조직도 조회 및 검색

Organization

1:1 채팅방 생성

단체 채팅방 생성

Chatroom

채팅방 목록 조회 및 검색

ChatroomList

채팅방 이름 수정, 대화상대 추가

OneToOneChatroom

메시지 및 첨부파일 전송

ChatMessage

메시지 삭제

DeleteMessage

채팅방 나가기

LeaveChatroom

파일함 조회 및 검색

FileBox


6-1-9. MedicalLife (부서별 게시판)

Medical Life

MedicalLife

Medical Life 댓글

MedicalLifeComment


6-1-10. Anonymous Board (익명 자유 게시판)

전체 조회

전체조회

상세조회-1

상세조회1

상세조회-2

상세조회2

게시글 작성

게시글작성

게시글 수정

게시글수정

게시글 삭제

게시글삭제

댓글 작성

댓글작성

댓글 수정

댓글수정

댓글 삭제

댓글삭제

검색

검색

좋아요, 북마크 -1

좋아요북마크1

좋아요, 북마크 -2

좋아요북마크2

Hot Contents

HotContents


7. 시스템 통합

7-1. CI/CD 계획서

CICDBackend CICDFront

7-2. CI/CD 결과서

7-2-1. Backend CI/CD 결과서

BackendCI BackendCD

7-2-2. Frontend CI/CD 결과서

FrontendCI FrontendCD

7-3. 통합 테스트 결과서

통합 테스트 결과서


About

🧬임서연🩺임채륜💉윤지영💊박상현🩹연건창🌡임광택

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors