CMCIS - MDEC Protocol Gateway
프로젝트 개요
| 항목 |
내용 |
| 기간 |
2014.06 — 2016.12 (2년 7개월) |
| 역할 |
MDEC 임베디드 소프트웨어 개발 |
| 제품 |
의료장비 프로토콜 변환 게이트웨이 (MDEC) |
| 기술스택 |
C/C++, Linux, UART, USB, TCP/IP, 의료장비 통신 프로토콜 |
프로젝트 배경
CMCIS(Cardiology Monitoring and Central Information System)는 국책과제로 진행된 심장학 중앙 관제 시스템 프로젝트다. 여러 제조사의 심장학 의료장비에서 생성된 데이터를 하나의 시스템에서 통합 관리하는 것이 최종 목표였다.
이 과제에서 소속 회사가 담당한 부분은 MDEC(Medical Device Exchange Communication) 장비였다. MDEC은 각 장비 제조사의 고유 프로토콜로 되어 있는 생체 신호 정보를 CMCIS에서 정의한 표준 프로토콜로 변환하여 중계하는 게이트웨이 역할을 한다. 의료 현장에서는 여러 제조사의 장비(심전도, 혈압계, 맥박 산소포화도 측정기 등)가 혼용되고 있고, 각각 다른 통신 방식과 데이터 포맷을 사용하기 때문에, 이들을 CMCIS로 연결하기 위한 중계 장치가 필요했다.
담당 범위
- MDEC 장비의 임베디드 소프트웨어 개발
- Linux 포팅 및 디바이스 드라이버 연동
- UART 및 USB 물리 인터페이스를 통한 의료장비 데이터 수신
- 제조사별 장비 고유 통신 프로토콜 분석 및 파싱 모듈 구현
- 수집된 데이터를 CMCIS 표준 프로토콜로 변환하는 로직 구현
- TCP/IP를 통한 중계 데이터 전송 모듈 구현
- 하드웨어 및 시스템 레벨 테스트
- 장비별 통신 프로토콜 정합성 검증
- 시스템 퓨징 및 부트 테스트, USB 저장소 동작 검증
- NAND 속도, 네트워크 전송 속도 등 성능 테스트
- 국책과제 참여 기관 간 프로토콜 규격 협의
주요 기능
의료장비 데이터 수신 및 프로토콜 변환
MDEC은 최대 6종의 측정 장비로부터 데이터를 수신한다. 장비마다 물리 인터페이스(UART 또는 USB)는 물론, 자료 구조와 데이터 형식이 제각각이었다.
- 구조: 장비별 통신 프로토콜에 따른 수신 모듈을 분리하고, 공통된 내부 표현으로 변환한 뒤 CMCIS 표준 프로토콜로 직렬화하여 전송
- 처리 대상: 시간 동기화, 시스템 설정 및 알람 설정, 실시간 측정 데이터 등
- 프로토콜 단계: 시간 설정 프로토콜 → 시스템 설정 및 알람 프로토콜 → 데이터 전송 프로토콜 순으로 정의
CMCIS 표준 프로토콜 중계
MDEC이 CMCIS 표준으로 변환한 데이터는 유선 또는 무선 LAN을 통해 호스트 서버(CMCIS)로 전송된다. RS-232 시리얼 통신과 TCP/IP를 모두 지원하며, CMCIS 표준 규격에 정의된 패킷 구조에 따라 데이터를 구성한다.
설계 및 구현
MDEC 소프트웨어 아키텍처
MDEC 소프트웨어는 Linux 환경 위에서 동작한다. 크게 세 레이어로 구성된다.
- 통신 인터페이스 레이어: UART/USB 물리 포트를 통해 장비 데이터를 수신. 장비별 통신 설정(보드레이트, 패리티, 데이터 비트 등)을 관리
- 프로토콜 변환 레이어: 각 장비의 고유 데이터 포맷을 해석하고 CMCIS 표준 패킷 구조로 변환
- 전송 레이어: 변환된 데이터를 TCP/IP 스택을 통해 CMCIS 서버로 전송. 패킷 손실 시 재전송 처리
고려되었던 설계 요소
- 장비마다 통신 방식이 달라(UART vs USB), 물리 계층과 프로토콜 계층을 분리하여 장비 추가 시 변경 범위를 최소화
- 실시간 생체 데이터 특성상 패킷 손실 시 단순 재전송보다는 최신 데이터 위주로 전송하는 방식 선택 (지연된 과거 데이터보다 현재 상태 전송이 임상적으로 의미 있음)
- 제한된 임베디드 환경에서 여러 장비를 동시에 처리해야 하므로, 장비별 수신 버퍼 크기와 처리 주기 조정에 대한 트레이드오프 검토
개발 환경 및 운영
- OS: Linux (ARM 포팅)
- 언어: C/C++
- 통신: UART, USB, TCP/IP, RS-232
- 개발 도구: 크로스 컴파일 환경
- 협업: 국책과제 참여 기관(병원, 연구소, 타 장비 제조사) 간 인터페이스 규격 협의 및 연동 테스트
결과
- MDEC 장비 임베디드 소프트웨어 개발 완료
- 6종 의료장비 데이터 수신 및 CMCIS 표준 프로토콜 변환 기능 구현
- Linux 포팅 및 하드웨어 연동 검증 완료 (퓨징 테스트, 부트 테스트, 저장소/네트워크 성능 테스트 통과)
- 국책과제 수행 및 CMCIS 시스템 연동 완료
참고 자료
- 정현철, “MDEC 기반의 생체정보 모니터링을 위한 CMCIS 설계 및 구현”, 건국대학교 대학원 의학공학과 석사학위 논문, 2017. 2.
- https://kku.dcollection.net/public_resource/pdf/000002322429_20260526010703.pdf
- 동 논문은 국책과제의 CMCIS 전체 시스템(중앙 관제 뷰어, DB 등)을 다른 연구자가 서술한 자료로, 본 프로젝트(MDEC 게이트웨이)는 그 일부를 구성한다.
회고
MDEC은 그 자체로 완결된 제품이라기보다 CMCIS라는 큰 시스템의 구성 요소 중 하나였다. 프로젝트 전체 아키텍처를 설계하는 것이 아니라, 주어진 인터페이스 규격 안에서 게이트웨이 장비의 소프트웨어를 구현하는 데 집중했다.
프리랜서로 참여했기 때문에 단기간에 결과를 내야 하는 압박이 있었다. 여러 제조사의 장비를 직접 연결해보면서 예상치 못한 프로토콜 차이를 발견하고 대응하는 과정이 까다로웠지만, 다양한 의료장비의 통신 방식을 경험할 수 있었다.