IEC 62304 Yazılım Validasyonu

IEC 62304 Uluslararası Yazılım Doğrulama Gerekliliklerini Karşılayan Yazılım Validasyon Dosyası Hazırlanması

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.

  • SINIF A – Yazılımın; yaralanma veya sağlığa zarar getirmesi mümkün değildir (hata oluştuğunda)
  • SINIF B – Yazılım, uzun süreli veya kalıcı sağlık hasarına yol açmayan küçük hasar veya yaralanmalara neden olabilir (hata oluştuğunda)
  • SINIF C – Yazılım; ciddi sağlık sorunlarına, ağır yaralanmalara ve hatta ölüme neden olabilir (hata oluştuğunda)

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;

  1. Yazılım Geliştirme Planlaması 

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.  

  1. Yazılım Gereksinimleri Analizi 

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)

  1. Yazılım Mimarisi Tasarımı 

Ü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.

  1. Yazılım Uygulaması ve Birim Testi

Tanımlanmış her bir yazılım birimi için doğrulama süreci ve kabul kriterleri oluşturulması gerekir.  

  1. Yazılım Entegrasyonu ve Entegrasyon Testi 

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.

  1. Yazılım Sistemi Testi 

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. 

  1. Yazılım Sürümü 

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.  

  1. Yazılım Bakımı

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.

  1. Pazar Sonrası Gözetim:

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.

Tıbbi cihaz sektörü yalnızca sektör deneyimi olanların anlayabileceği ve çözebileceği karmaşık ve zor bir sektördür. Profesyonel danışmanlardan oluşan ekibimiz bu zorlukları derinlemesine ele alarak ürüne özgü çözümler için gerekli beceri ve yeteneğe sahiptir.
Infigen Blog