의료 소프트웨어

**의료 소프트웨어** (Medical Software)는 다음과 같은 의학적 맥락에서 사용되는 소프트웨어 항목 또는 시스템이다 :

* 진단 또는 치료 목적으로 사용되는 독립형 소프트웨어(SaMD=Software as Medical Device);
* 의료 기기에 내장 된 소프트웨어 (종종 "의료 기기 소프트웨어"라고 함; SiMD=Software in Medical Device);
* 의료 기기를 구동하거나 사용 방법을 결정하는 소프트웨어 (PC software);
* 의료 기기의 부속품으로 작동하는 소프트웨어(firmware, FPGA);
* 의료 기기의 설계, 생산 및 시험에 사용되는 소프트웨어; 또는
* 의료 기기의 품질 관리 관리를 제공하는 소프트웨어.

## 역사
의료 소프트웨어는 적어도 1960년대 이래로 사용되어 왔는데, 그당시는 병원 영역에서 최초로 전산화된 정보처리 시스템이 록히드에 의해 고려되고 있었다. 1970년대 후반과 1980년대에 컴퓨팅이 더욱 널리 보급되고 유용해짐에 따라, 의사 사무실을 비롯하여 의료 산업에서 데이터 및 운영 관리 도구로서의 "의료용 소프트웨어"라는 개념이 더 널리 보급되었다.

의료 소프트웨어는 1990년대 초까지 핵의학, 심장학, 의료로봇 등의 분야에서 의료기기에서 더욱 두드러지게 되었으며, 부분적으로 Therac-25 방사선 치료 장치 사고 스캔들에 의해 촉발된 연구 및 입법 커뮤니티에서 의료 소프트웨어의 "안전성에 중요한" 특성에 대한 추가적인 조사를 유발하였다. 1993년 유럽 의료 기기 지침 뿐만 아니라 ISO 9000-3 표준의 개발은 의료 기기 및 관련 소프트웨어와 기존 법률의 어느 정도 조화시키는데 도움이 되었으며, , 2006년 IEC 62304를 추가하여 의료기기 소프트웨어가 개발되고 시험되는 방법을 더욱 강화하였다. 미국 식품의약국 (FDA)은 특히 의료 기기에 내장되거나 의료기기로써 사용되는 의료 소프트웨어에 대한 지침과 주도적 규제를 제공하고 있다.
섬네일|375x375픽셀| 휴대용 심박수 가변성(HRV) 장치는 의료기기 소프트웨어를 포함하는 의료 기기의 한 예이다.

## 의료기기 소프트웨어
의료기기 소프트웨어의 소프트웨어 수명주기 프로세스에 대한 국제 IEC 62304 표준에서 의료기기 소프트웨어는 "개발중인 의료 기기에 통합되거나 자체 의료 기기로 사용하기 위한 목적으로 개발된 소프트웨어 시스템"이라고 명시되어 있다. 미국에서 FDA는 "[의료 기기]의 법적 정의를 충족시키는 모든 소프트웨어는 의료 기기 소프트웨어로 간주한다"라고 밝히고 있다. 이와 유사한 "소프트웨어만으로도 의료 기기가 될 수있다"는 해석은 2007년 유럽 연합이 "진단 및 / 또는 치료 목적으로 특별히 사용"했을 때 가능하다고, 유럽 의료 기기 지침 (European Medical Devices Directive)에 대한 업데이트를 통해 이루어졌다.

이러한 용어의 적용범위가 넓기 때문에, 다양한 의료 소프트웨어에 대해 다양한 분류를 제안할 수 있다. 예를 들어 기술적 특성(장치 또는 독립 실행 형에 포함)을 기반으로 하거나, 안전 수준 (가장 사소한 것에서부터 가장 안전 한 것에 이르기까지)을 기반으로 또는 주로 기능 (치료, 교육, 진단 및 / 또는 데이터 관리)을 기반으로 한다.

### 의료기기로서의 소프트웨어(SaMD; Software as Medical Device)
21 세기의 스마트 폰 사용이 급격하게 증가하면서 수천 개의 독립형 건강 및 의료 관련 소프트웨어 앱이 출현하게 되었고, 많은 앱들은 규제 측면에서 회색 또는 경계선 영역에 속하게 되었다.

의료 기기에 내장된 소프트웨어가 다루어지면서 IMDRF ( International Medical Device Regulators Forum )에서 "의료기기로서의 소프트웨어"또는 "SaMD"라고 부르는 의료 하드웨어와 분리된 의료 소프트웨어는 기존 규제 균열을 뚫고 생성되었다. 미국에서 FDA가 2011년 7월 "모바일 의료 응용 프로그램"에 대한 지침 초안을 발표했는데, Keith Barritt와 같은 법조계 구성원들은 "모바일 애플리케이션이 규제 모바일 '의료' 애플리케이션인지 여부를 결정하기 위한 테스트는 소프트웨어 규제 여부를 결정하기 위해 사용하는 테스트와 동일하기 때문에, 모든 소프트웨어에 적용 가능한 것으로" 읽어야 한다고 추측하고 있다. 이 지침에 포함될 가능성이 있는 모바일 앱의 예로는 설치된 맥박 조정기(페이스 메이커를 규제하는 장치 또는 암 병변, X- 레이 및 MRI에 대한 이미지를 분석하는 장치, EEG 파형과 같은 그래픽 데이터는 물론 침대 모니터, 소변 분석기, 혈당 측정기, 청진기, 폐활량계, BMI 계산기, 심박수 모니터 및 체지방 계산기등이 있다.

그러나 2013년 말에 최종 지침이 발표될 즈음에, 의회 의원은 지침이 미래에 어떻게 사용될 것인지, 특히 최근 도입된 SOFTWARE Act 법안에 어떤 의미가 있는지 염려하기 시작했다. 같은시기에 IMDRF는 2013년 12월에 핵심 정의가 발표되면서 "규제기관이 SaMD에 대한 규제 접근방식에 규제 체제에 대한 공통된 틀을 마련"하는 데 초점을 맞춘 SaMD에 대한 보다 글로벌 한 관점에서 연구하고 있었다. IMDRF는 "하드웨어 의료기기가 의도된 의료 목적을 달성하는 데 필요 조건은 아니다"는 것 외에도 SaMD는 의료 기기를 구동 할 수는 없지만 인터페이스 모듈이나 인터페이스로 사용할 수 있다는 사실(SaMD만으로도 의도된 목적을 달성하는 의료기기 기능을 한다)도 발견했다. 이 그룹은 2015년에 SaMD의 품질 경영 시스템 원칙을 더욱 발전시켰다.

## 국제 표준
IEC 62304는 EU 및 미국에서 독립형 소프트웨어이든 아니든간에 의료 기기 소프트웨어 개발을 위한 벤치 마크 표준이 되었다. 소프트웨어 기술 분야의 선도적인 산업 혁신으로 인해 주요 업계 리더 및 정부 규제 당국은 의료 기기로 작동하는 수많은 독립형 의료 소프트웨어 제품의 출현을 인식하게 되었다. 이것은 유럽 의료기기 지침 (European Medical Devices Directive)  및 미국 (다양한 FDA 지침 문서 )의 규정 변경에 반영되었다. 또한 모든 의료 기기의 경우처럼 소프트웨어 의료 기기 제조를 위한 품질 관리 시스템 요구 사항은 FDA의 미국 품질 시스템 규정과 ISO 13485 : 2003에도 설명되어 있다.

소프트웨어 의료 기기 영역 내에서 작동하는 소프트웨어 기술 제조업체는 이러한 요구 사항에 따라 제품의 개발을 의무화하고 있다. 또한, 의무사항은 아니지만, ISO 13485:2003과 같은 국제 표준에 기술된 품질 시스템 요건을 구현한 경우, 통지 기관(NB)으로부터 인증을 획득하기로 선택할 수 있다.

### IEC 62304
이 규격의 영문명은 Amendment 1 - Medical device software - Software life cycle processes으로 의료기기 소프트웨어 - 소프트웨어 수명주기 프로세스라는 규격이다.
이 규격의 초판은 2006년https://webstore.iec.ch/publication/6792에 나왔고 2015년에 1.1판https://webstore.iec.ch/publication/22794이 나왔다. 현재 2.0판을 2020년에 내놓기 위해 작업중이다.
이 표준은 소프트웨어를 위험정도에 따라 Class A, B, C로 나누고 (환자가 사망가능한 소프트웨어 Class C, 환자에게 거의 영향이 없는 소프트웨어는 Class A), 따져봐야할 일(task)을 2006년 버전에선 92개로 세분화하여 Class A는 40개, Class B는 86개, Class C는 92개 모두를 지켜라라고 요구하고 있다. (2015년 버전에선 91개, 2020년 버전엔 90개로 줄어들음)

의료기기를 설계할 때 IEC 60601-1 3.0판에선 IEC 62304라는 것이 있으니 소프트웨어 설계시 참조하라고 되어 있다가 IEC 60601-1 3.1판https://webstore.iec.ch/publication/2612에선 IEC 62304의 4.3항, 5/7/8/9절을 지켜라라고 언급하고 있다.

62304:2006의 목차 및 관련 일(task)수는 다음과 같다.
* 1장 범위
* 2장 참고 문헌
* 3장 용어 정의
* 4장 일반 요구사항
* 5장 소프트웨어 개발 프로세스 (53 개)
* 6장 소프트웨어 유지 보수 프로세스 (10 개)
* 7장 소프트웨어 위험관리 프로세스 (13 개)
* 8장 소프트웨어 형상관리 프로세스 (8 개)
* 9장 소프트웨어 문제해결 프로세스 (8 개)

### IMDRF의 SaMD
1993년 미국, 유럽연합, 캐나다, 일본의 의료기기 규제기관과 의료기기 피규제기관(GE, Siemens, Philips, ...)의 대표들이 모여 만든 협의체가 GHTF(Global Harmonization Task Force)인데, 여러 가지 규제에 대한 토의를 하여 주요규제기관들이 조화된 가이드라인을 만들었다. 2011년에 이를 확대하여 세계적인 의료기기 인허가 조화 및 수렴을 목표로 하는 조직으로 탄생했는데, 그것이 IMDRF(International Medical Device Regulation Forum; 전세계 의료기기 규제 포럼)http://www.imdrf.org/으로 호주, 브라질, 캐나다, 중국, 유럽연합, 일본, 미국, 러시아, 싱가포르 9개 나라가 가입되어 있다가 대한민국은 2017.12월에 10번째로 가입했다.
여기서 아래의 의료기기로서의 소프트웨어 두가지 문서를 개발했었다.

여기서 생성한 문서들은 다음과 같다.http://www.imdrf.org/documents/documents.asp
* 의료기기로서의 소프트웨어(SaMD) – 핵심 정의
* 의료기기로서의 소프트웨어(SaMD) – 위험 구분 및 관련 고려할 사항에 대해 이용 가능한 체계
* MDSAP 평가 및 심사 수행 기관의 인정을 위한 의사결정 절차
* IVD 의료기기의 출시 인정 내용 열람
* 비 IVD 의료기기의 출시 인정 내용 열람
* 규제 목적의 권한 인정을 위한 의료기기 심사 조직에 대한 요구사항
* 심사 조직에 대한 자격 및 교육 요구사항
* 의료기기 심사조직의 인정 및 사후 관리를 위한 규제 목적의 권한 평가 방법
* 규제목적의 권한 평가자 자격 및 교육 요구사항
* 의료기기 고유식별코드(UDI)

## 보안(Security)
의료 소프트웨어에서 보안의 중요성은 갈수록 커지고 있다. 보안이 잘못되면 환자가 죽거나 다치고, 개인정보가 누출이 될 수 있기 때문이다.
의료기기에서의 보안 정의는 IEC 62304에 나와 있다.
* 권한 없는자 또는 권한 없는 시스템이 정보 및 데이터를 읽거나 변경하지 못하게 정보와 데이터를 보호하고, 권한 있는자 또는 권한 있는 시스템이 정보 및 더이터에 접근하는 것이 거부되지 않도록 보호하는 것
2019년 현재 의료기기 허가를 위해 보안을 요구하는 정도는 다음과 같다. (IEC 60601-1 3.1판 기준)
* IEC 60601-1:2012(3.1판) 14.6.1에서 PEMS의 위험관리에서 데이터 비밀에 대한 영향을 포함한 데이터 보안의 부족, 특히 부당변경에 대한 취약성, 기타의 프로그램 및 바이러스에 의한 의도하지 않은 상호작용의 위해요인을 고려할 것
* IEC 60601-1:2012(3.1판) 14.13 IT-network 결합의 PEMS에서 보안 특성을 포함해, PEMS의 네트워크 연결에 대한 기술적 사양을 문서에 설명할 것
* IEC 62304:2006에선 60601-1:2012와 같게 (5.2.2항) 보안 관련 사항을 위해요인으로 고려하고, (9.1항) 문제 보고서에 보안에 대한 영향을 기술하게 되어 있다.
다만 미국에 수출할 경우 FDA에선 사이버 보안(cyber security)https://www.fda.gov/medical-devices/digital-health/cybersecurity에 대한 시판전 허가 사항, 시판후 관리사항을 요구하고 있다.
여기엔 기본적으로 미국 국가표준원(NIST)에서 공지한 사이버 보안 프레임워크https://www.nist.gov/cyberframework/framework의 5단계(식별/보호/탐지/대응/복구)에 따라 구별하여 구현하도록 되어 있다.

대한민국에선 2017.11월에 의료기기 사이버 보안 허가 심사 가이드라인http://board.wmit.or.kr/bbs/board.php?bo_table=cert_notice&wr_id=159&sfl=&stx=&sst=wr_datetime&sod=desc&sop=and&page=1의 안을 공지만 해두고 있는데 NIST의 5 프레임워크를 기초로 하고 있다.

의료기기에서 고려해야할 보안의 예는 다음과 같다.
* 허가 받지 않은자가 의료기기에 접근하여 조작하여 환자에게 위험을 가할 수 있다. (허가 받지 않은 자는 의료기기 작동이 안되도록)
* 허가 받지 않은자가 의료기기의 내부(예 HDD)에 접근하여 환자정보를 유출할 수 있다. (장치의 시건장치 필요)
* 권한 있는자 또는 권한 있는 시스템이 정보 및 더이터에 접근하는 것이 거부되지 않도록 보호해야 한다. (id, password)
* 외부에서 침투한 바이러스 등에 의해 의료기기를 사용하지 못하게 하면 환자가 위험해질 수 있다. (보호 프로그램)
* 해커 등이 의료기기에 침투하여 의료기기를 원격조작하여 환자에게 위험을 가할 수 있다. (허가받지 않은자는 원격 접근 금지)
* 해커 등이 의료기기에 침투하여 의료기기 내부의 환자정보를 유출할 수 있다. (암호화 필요)

## 추가 자료

* Babelotzky, W; Bohrt, C .; Choudhuri, J .; Handorn, B .; Heidenreich, G .; Neuder, K .; Neumann, G .; Prinz, T .; Rösch, A .; Spyra, G .; Stephan, S .; Wenner, H .; Wufka, M. (2018) ''의료 소프트웨어 개발 및 생산   : 의료 공학의 표준'' https://books.google.de/books?id=CKjPvQEACAAJ&dq=Development+and+Production+of+Medical+Software+:+Standards+in+Medical+Engineering . VDE 출판사 GMBH. pp. 1-207. 
*   
* 

## 같이 보기
* 의료정보학
* :분류:의학 소프트웨어
## 참조

* 건강 정보학
* 의공학

## 각주

분류:의료 소프트웨어