SaMD (소프트웨어 의료기기)

SaMD(소프트웨어 의료기기)란?

소프트웨어 의료기기, 즉, SaMD는 의료기기 하드웨어의 일부가 아니지만 의료 기능을 수행하는 소프트웨어입니다. SaMD를 사용하면 의학적 상태와 질병의 진단, 관리, 치료를 가속화할 수 있습니다. 의료의 품질을 향상하고 시간을 절약하는 동시에 진료의 일부 측면을 자동화합니다. 모바일 앱, 가상 네트워크, 병원 서버 및 기타 플랫폼 등에서 사용될 수 있습니다.

SaMD의 예

SaMD의 일반적인 활용 사례는 환자 데이터 데이터베이스와 데이터에서 패턴을 찾는 알고리즘에 의존하는 소프트웨어를 사용하여 의사의 진단을 돕는 것입니다. 이러한 패턴을 통해 의사들은 환자 기록에 대한 개인적 지식만을 바탕으로 할 때보다 더욱 표적화된 치료 권고를 내릴 수 있습니다.

SaMD의 다른 예들은 다음과 같습니다.

  • 모바일 기기에서 3축 가속도계를 사용하여 떨림과 같은 생리학적 파라미터를 측정하는 앱
  • 의학적 상태를 진단하기 위해 방사선학(X선, MRI 및 초음파 등)에 사용되는 데스크탑 소프트웨어
  • 환자의 활력 징후를 실시간으로 원격 모니터링하기 위한 클라우드 소프트웨어 (예: 수면 모니터링, 혈당 모니터링, 호흡 모니터링, 심장 모니터링 등)

MATLAB 및 Simulink를 사용한 SaMD

MATLAB® 및 Simulink®는 IEC 82304 및 IEC 62304와 같은 업계 규정과 표준을 준수하는 SaMD 응용 사례를 개발하기 위한 완전한 기능적 워크플로를 지원합니다. 환자 데이터 탐색 및 분석, 알고리즘 개발, 알고리즘 검증 및 확인, 이러한 알고리즘을 클라우드에서 모바일 기기용 응용 프로그램 또는 병원 시스템의 웹 대시보드로 직접 배포 및 통합하는 SaMD 개발의 각 단계에서 MATLAB 및 Simulink를 사용할 수 있습니다.

SaMD 알고리즘 통합 및 배포

SaMD에는 AI, 신호 처리, 컴퓨터 비전 및 무선 통신 등의 도메인에 대한 알고리즘이 종종 포함됩니다. MATLAB 및 Simulink를 통해 생물의학 신호, 의료 영상 및 의료 데이터를 사용하여 그러한 멀티도메인 SaMD 알고리즘을 개발할 수 있습니다. 이러한 알고리즘을 사용료 없는 독립 실행형 C, C++ 또는 CUDA® 코드로 자동 변환하거나 C/C++ 공유 라이브러리, .NET 어셈블리, Java® 클래스, Python® 패키지 및 Docker® 컨테이너 기반 마이크로서비스에 구축할 수 있습니다. 이러한 컴포넌트를 사용자 지정 응용 프로그램과 통합한 다음 데스크탑, 클라우드 및 엔터프라이즈 시스템에 배포할 수 있습니다.

SaMD 검증 및 확인

V&V(검증 및 확인) 활동은 개발 주기 전반에 걸쳐 수행됩니다. 알고리즘 개발 단계에서 만든 것과 동일한 V&V 프레임워크가 통합 및 배포 단계로 확장됩니다. 이를 통해 규제 준수에 필요한 대부분의 V&V 문서를 자동으로 생성할 수 있으므로 품질이나 안전성을 훼손하지 않고 제품 개발 주기를 단축할 수 있습니다.

MATLAB과 Hadoop 및 AWS EKS 등의 데이터 소스 간의 연결을 보여주는 SaMD 다이어그램.

DevOps 기술을 지원하는 MATLAB 기반 원격 환자 건강 모니터링 SaMD의 아키텍처.


참조: MATLAB Test, MATLAB Coder, MATLAB Compiler SDK, GPU Coder, MATLAB을 사용한 인공 지능, 클라우드에서의 MATLAB, 의료기기 설계, FDA 소프트웨어 검증, IEC 62304