의료기기 소프트웨어 형태적 특성
소프트웨어는 본질적으로 하드웨어에 종속적인 특성을 가지고 있습니다. 그러나 의료기기의 관점에서는 소프트웨어를 하나의 독립적인 의료기기로도 인식할 수 있습니다. 또한, 의료기기 소프트웨어가 설치되는 환경이나 작동되는 형태 또는 작동에 필요한 조건 등을 고려하여 의료기기 소프트웨어를 ‘내장형 소프트웨어’와 ‘독립형소프트웨어’로 구분할 수 있습니다.
1. 내장형 소프트웨어
내장형 소프트웨어는 특정 하드웨어 내에 종속적으로 설치되어 사용되는 의료기기 소프트웨어를 말한다. 이러한 내장형 소프트웨어는 제한적인 하드웨어 내부의 자원을 고려하여 개발되어야 하는 특성을 가지고 있습니다. 따라서 내장형 소프트웨어의 특성을 정확히 이해하기 위해서는 소프트웨어가 설치되는 정확한 하드웨어 내부 환경 및 조건을 확인하여야 한다. 아래 그림은 환자감시장치로 이러한 유형의 의료기기에는 해당 기기에서만 작동 가능한 소프트웨어가 설치됩니다.
2. 독립형 소프트웨어
독립형 소프트웨어는 특정 하드웨어에 종속적이지 않으며 범용 하드웨어(예:데스크탑 PC 등) 환경에 설치되어 사용되는 의료기기 소프트웨어를 말합니다.일반적으로 독립형 소프트웨어는 운영체제에 의해 구동되는 컴퓨팅 환경에 적합하도록 설계, 개발됩니다. 독립형 소프트웨어는 범용적인 하드웨어 환경에서 구동되기 때문에 하드웨어적인 영향을 크게 받지 않습니다. 따라서 독립형 소프트웨어의 특성을 정확히 이해하기 위해서는 소프트웨어가 설치되어 사용되는 범용적인 하드웨어 환경 및 조건에 대한 범위를 확인하여야 합니다. 그리고 독립형 소프트웨어가 사용자에 의해 설치되는 경우 설치에 대한 정확한 정보가 제공되어야 합니다. 이러한 유형으로는 의료영상전송처리장치(PACS), 모바일 의료용 앱과 같은 형태의
의료기기 소프트웨어가 이에 해당할 수 있으며, 제품의 특성에 따라 설치, 삭제 및 변경 등이 용이합니다.
의료기기 소프트웨어 기능적 특성
1. 제어 기능
의료기기 소프트웨어의 제어 기능은 일반적으로 의료기기의 하드웨어 동작을 제어하는 기능과 환자의 치료 등을 위해 방사되는 에너지를 제어하는 기능으로 구분할 수 있습니다. 하드웨어 동작 제어의 경우 의료기기 자체의 작동을 제어하는 것을 포함하여 의료기기의 일부에 해당하는 특정 하드웨어 부분의 움직임을 정교하게 제어하는 기능까지 포함될 수 있습니다. 이 경우 동작 제어에 대한 정확성과 작동 시간의 적절성 등이 중요하게 고려되어야 합니다. 의료기기에서 인체에 적용되는 물리적 에너지에는 레이저 빔, 엑스선, 빛(적외선,가시광선, 자외선), 전기 자극, 압력, 진동, 열에너지 등이 포함될 수 있습니다. 에너지 제어 기능은 특정 에너지의 방사량(강도), 시간, 방사범위, 방사형태 등이 중요한 요소로 고려되어야 합니다. 이 경우에도 동작 제어에 대한 정확성과 작동 시간의 적절성 등이 중요하게 고려되어야 한다. 또한 해당 기능의 오작동, 실패 및 결함발생 시 작동 가능한 안전수단을 마련하는 것도 중요하게 고려되어야 할 것입니다.
2. 측정, 분석, 진단 기능
의료기기 소프트웨어의 측정, 분석, 진단 기능은 환자를 진단하는데 보편적으로사용되고 있습니다. 측정 기능의 경우 측정 항목, 측정 결과의 정확성과 신뢰성이 중요한 요소로 인식될 수 있습니다. 분석 기능의 경우 분석 지표, 분석에 적용된 원리와 분석 결과의 정확성 및 분석 시간 등이 중요한 소요로 인식될 수 있습니다. 그리고 진단 기능의 경우에는 반드시 임상적인 유효한 결과를 제공한다는 것을 보증해야 합니다.
3. 데이터 변환, 전송 및 수신 기능
의료기기 소프트웨어의 데이터 변환, 전송 및 수신 기능은 의료기기와 의료기기가 서로 연결되어 사용되거나 유·무선 네트워크 환경 하에서 작동하는 의료기기의 경우에 고려될 수 있는 기능입니다. 데이터 변환 기능의 경우 변환 전·후, 그리고 다시 데이터가 변환 전으로 복구되는데 있어서 데이터의 무결성이 중요하게 고려되어야 합니다. 즉 데이터의 손실 없이 유지되어야 하며 복원 가능해야 합니다. 그리고 데이터의 전송 및 수신 기능의 경우 전송, 수신되는 데이터 타입 및 데이터 송수신 방식 등이 고려되어야 합니다. 최근 데이터 송수신 방식으로는 유·무선 LAN, 블루투스(Bluetooth), 근거리통신(Near Field Communication) 등의 방식을 사용하고 있습니다. 이러한 경우 다른 의료기기 및 다른 시스템 등과 연결되기 때문에 보안 및 개인정보 보호 등에 대해서도 고려되어야 합니다. 의료기기와 의료기기 또는 다른 기기와 서로 물리적으로 연결되어 데이터가 변환, 전송 및 수신되는 경우에는 다른 기종간의 인터페이스 방식도 고려되어야 합니다.
4. 표시(Display) 기능
의료기기 소프트웨어의 표시기능은 측정된 환자 생체 신호나 영상 등을 모니터 등과 같은 출력 장치를 통해 필요한 정보를 보여주는 기능 입니다. 이 경우 출력 장치에 어떠한 정보가 표시되는지와 어떠한 형태로 표시되는지가 중요하게 고려되어야 합니다.
의료기기 소프트웨어 개발 및 위험관리
의료기기 소프트웨어의 개발 및 유지 활동은 「의료기기 제조 및 품질관리체계의기준」에 의한 의료기기 제조자(manufacturer)가 품질시스템에서 수립한 절차에 따라 이루어져야 하며, 동시에 위험관리 프로세스 내에서 개발 및 유지되어야 합니다. 즉, 의료기기 소프트웨어도 일반 의료기기와 마찬가지로 제조 및 품질관리체계의 기준과 위험관리 프로세스가 조화를 이루는 범위 내에서 개발 및 유지되어야 합니다. 일반적으로 위험관리 프로세스는 의료기기에서 발생할 수 있는 위험분석(risk analysis), 위험평가(risk evaluation), 위험통제(risk control), 잔여위험허용평가 (evaluation of overall residual risk acceptability), 위험관리보고서(risk management report), 생산 및 생산 후 정보(Production and post-production information)의 단계로 진행됩니다. 위험분석 단계는 의료기기의 의도된 사용목적 및 안전성에 관련된 특성들의 식별, 이미 알고 있거나 예측 가능한 위해요인(hazard)의 식별, 각 위해요인에 대한 위험산정을 통해 이루어집니다. 위험평가 단계에서는 식별된 각 위해요인에 대하여 제조자는 위험관리 계획서에 정의된 판단기준을 이용하여 산정된 위험이 위험감소를 하지 않아도 될 만큼 낮은지를 결정하여야 합니다. 위험통제 단계에서 제조자는 위험을 허용할 수 있는 수준으로 감소하기에 적합한 위험통제 대책들을 식별한 후 위험통제를 실행하여야 합니다. 그리고 위험통제 수단이 적용된 후 잔여위험들에 대하여 허용 평가를 하여야 합니다. 이러한 일련의 위험관리 프로세스 에서의 절차들은 위험관리 보고서에 기록되어야 한다. 제조자는 생산 및 생산 후 정보 단계에서 의료기기에 대한 정보를 검토하기 위한 체계적인 절차를 수립하고 유지하여야 합니다. 이상의 위험관리 프로세스는 의료기기 및 의료기기 소프트웨어 개발 시 필수적으로 적용되어야 합니다.