IEC 62304 standardı; Tıbbi cihaz olarak yazılım (SaMD - Software As Medical Device) veya tıbbi cihazda yazılım (SiMD Software In Medical Device) yaşam döngüsü süreçlerini tanımlamaktadır. Bu standard, yazılımların geliştirilmesi, test edilmesi ve bakımı için bir çerçeve sağlayan uluslararası kabul görmüş standarttır. Özellikle tıbbi cihaz dünyasındaki yeni yazılım tabanlı teknolojilerin gelişimi dikkate alındığında temel bir standarttır.
Bu standardın amacı; yazılımın güvenli bir şekilde uygulanmasını, tamamen işlevsel olmasını ve piyasaya arz edildikten sonra da yaşam döngüsü boyunca güvenlik ve performansının sürdürülmesini sağlamaktır.
Bu standard, yazılımları son kullanıcıya verebileceği zararı göz önüne alarak iç farklı sınıfa ayırmaktadır.
Yukarıdaki sınıfların, IEC 62304 standardı tarafından tanımlanan özel sınıflandırmalar olduğu ve MDRın ürün sınıfı ile alakası olmadığı unutulmamalıdır. (MDRa göre tıbbi cihazlar; Sınıf I, IIa, IIb ve III olarak sınıflandırılır.) Unutulmaması gereken diğer önemli nokta ise, güvenlik sınıflandırma yapılırken yazılımın düzgün çalışmayabileceği, kullanılamayacağı veya saldırıya uğrayabileceği bir senaryonun dikkate alınmasıdır.
Yazılıma ait uygun güvenlik sınıfı seçildikten sonra, IEC 62304 standardı içerisinde her sınıfa ait tanımlanmış süreçlerin üretici tarafında gerçekleştirilmesi gerekmektedir. Bu güvenlik sınıflandırması; yazılım geliştirme planlamasından, kodlamaya, yazılımın mimari yapısının özelliklerine ve test sürecine kadar tüm aşamaları etkilemektedir. A Sınıfı yazılımlar, insan sağlığı veya yaşamı için hiçbir risk oluşturmadığından en az gereksinimleri içermektedir. B ve C sınıfları için geçerli gereksinimler çok benzerdir fakat en riskli sınıf olan C sınıfı için gereksinimler için ekstra detaylar istenmektedir. A sınıfı ile B ve C sınıfı arasındaki fark uygulama açısından çok büyüktür.
IEC 62304'e göre yazılım geliştirme süreci, tasarım girdisinin tasarım çıktısına dönüştürülmesi olarak özetlenebilir. Uygun tasarım çıktısı elde etmek için IEC 62304, yazılım geliştirme sürecinin her aşaması için ayrıntılı gereksinimleri belirtilmektedir. Şu unutulmamalıdır ki, aşağıda listelenmiş olan süreçler her yazılım güvenlik sınıfı için geçerli değildir. Farklı yazılım güvenlik sınıfları için farklı gereksinimler standart tarafından belirtilmiştir;
IEC 62304, üreticilerin geliştirecekleri yazılımın kapsamına, karmaşıklığına ve yazılım güvenlik sınıflandırmasına göre bir yazılım geliştirme planı dokümante etmelidir. Plan güncel olarak sürekliliği sağlanmalıdır.
Yazılım gereksinimleri; yazılımın amacı gibi işlevsel ve yetenek gereksinimlerinin yanı sıra güvenlik gereksinimleri, risk kontrol önlemleri, yazılım sistemi ile diğer sistemler arasındaki arayüzler vb. birçok gereksinimi analiz etmelidir. (IEC 62304 bölüm 5.2.2)
Üreticiler, yazılım mimarisini seçtikleri yazılım güvenlik sınıfına uygun olarak dokümante etmelidir. Yazılım mimarisi; tüm farklı yazılım öğelerinin (ara bağlantıları dahil olmak üzere) tanımlanmasıdır. Yazılım öğelerinin Kaynağı Bilinmeyen Yazılım (SOUP - Software of Unknown Provenance) tarafından oluşturulması durumunda, SOUP'un işlevsel ve performans gereksinimlerinin tanımlanması gerekir.
Yazılım Detaylı Tasarımı
Ayrıntılı bir tasarımın geliştirilmesi için yazılım birimlerine bölünmelidir ve bu birimler tanımlanmalıdır.
Tanımlanmış her bir yazılım birimi için doğrulama süreci ve kabul kriterleri oluşturulması gerekir.
Doğrulanmış olan yazılım birimlerinin entegrasyonu gerçekleştirilirken, bu entegrasyonun efektif olduğu ve herhangi bir probleme yol açmadığı da testlerle kanıtlanmalıdır. (entegrasyon testi, regresyon testi vb.) Bu süreç öncelikle titiz bir şekilde planlanmalıdır.
Entegre edilmiş ve nihai şeklini almış yazılım test edilmelidir. Bu testler için; gereksinimler, prosedürler, kriterler oluşturmalı ve kayıt altına alınmalıdır.
Yazılım piyasaya sürülmeden önce bir üreticinin tüm doğrulama süreçlerinin tamamlandığından ve olası sorunların dokümante edildiğinden emin olması gerekmektedir. Ayrıca, yazılımın herhangi bir bozulma veya izinsiz değişiklik yapılmadan yayınlanmasını sağlamak da üreticinin görevidir.
Ek olarak, IEC 62304'ün izlenebilirlik gerekliliğine göre; üreticilerin tüm sistem ve yazılım gereksinimlerinin yanı sıra belgelerde yer alan risk kontrol önlemlerinin doğru bir şekilde uygulandığını, test edildiğini ve doğrulandığını kanıtlaması gerekir. Yazılım geliştirme yaşam döngüsünün tamamı boyunca her sınıf için uygun risk kontrol önlemlerinin yürürlükte olduğundan emin olmak için özel dikkat gösterilmelidir.
Yazılım piyasa sürüldükten sonra; tespit edilen hataları, güvenlik açıklarını ve performans sorunlarını gidermek için düzenli aralıkla yazılım bakımı gerekmektedir. Yazılımda yapılan herhangi bir değişiklik, uygun değişiklik kontrol süreçlerinden geçirilmeli ve gerekirse yeniden doğrulanmalıdır.
Tıbbi cihaz yazılımı piyasaya çıktığında; pazar sonrası gözetim performansının, güvenliğinin ve bildirilen sorunların izlenmesine yardımcı olmaktadır. Kullanıcılardan gelen geri bildirimler ve olumsuz olay raporlaması, gerekli yazılım güncellemelerini veya düzeltmelerini belirlemek için toplanmalı ve analiz edilmelidir.
IEC 62304'e göre tıbbi cihaz yazılım doğrulanması, tıbbi cihazların güvenli ve doğru bir şekilde çalışmasını sağlamak için oluşturulmuş karmaşık ve titiz bir süreçtir. Yönetmeliklere uyumu sağlamak ve kaliteli yazılım sunmak için yazılım mühendislerini, kalite güvence uzmanlarını, düzenleyici uzmanları ve alan uzmanlarını içeren çok disiplinli bir yaklaşım gerektirmektedir.
Infigen Consultancy bünyesinde bulunan yazılım mühendisleri, IEC 62304 standardının söz konusu yazılım için geçerli kılınması sürecinde görev almaktan mutluluk duyacaktır. Yazılımın doğru güvelik sınıfının seçilmesi ve bu sınıfa istinaden gerekli süreçlerin incelenmesi konusunda size yardımcı olabilir.