Termíny a definice pro software zdravotnických prostředků – IEC 62304 & FDA (Část 1)
Tento článek je součástí série o normě IEC 62304, která se zaměřuje na pochopení normy a její správné implementace při vývoji softwaru pro zdravotnické prostředky.
Předchozí články:
V této první části se zaměříme na termíny a definice, které jsou často zdrojem diskusí a nesprávných interpretací, zejména pokud jde o softwarovou architekturu a dekompozici.
- Co je ANOMÁLIE?
- Co je KONFIGURAČNÍ POLOŽKA?
- Co je DODÁVANÝ VÝSTUP - DELIVERABLE?
- Co je SOFTWAROVÁ KOMPONENTA - SOFTWARE ITEM?
- Co je SOFTWAROVÁ JEDNOTKA - SOFTWARE UNIT?
Ujasnění terminologie pro lepší komunikaci
Stalo se vám někdy, že jste s kolegy diskutovali o problému, jen abyste zjistili, že se točíte v kruhu, protože používáte různé termíny nebo je interpretujete odlišně? To je běžná situace, se kterou se setkávám během klientských konzultací. Proto vždy doporučuji začít ujasněním terminologie a sladěním našeho porozumění.
Jasná interpretace termínů je pro práci s normou zásadní, protože následující kapitoly na tyto termíny odkazují bez dalšího vysvětlení.
Tento krok není o hledání “nejlepší” interpretace, ale o dosažení konsensu. Bez společného porozumění je obtížné efektivně popisovat a řešit problémy.
Sladění terminologie IEC 62304 s pokyny FDA
Často se setkávám se dvěma běžnými problémy:
- Různé interpretace sekce “Termíny a definice” v IEC 62304.
- Terminologické rozdíly mezi IEC 62304 a různými pokyny FDA týkajícími se průmyslu zdravotnických prostředků.
V tomto článku se budeme věnovat oběma. Začneme s termíny a definicemi z IEC 62304 a rozšíříme jejich interpretaci o poznatky z relevantních pokynů FDA.
Kde koupit normu IEC 62304
V první části této série, Jak začít s implementací normy IEC 62304, jsem doporučil alternativní zdroj pro nákup normy za nižší cenu než na oficiálních webových stránkách ISO nebo IEC. Najdete ji na webových stránkách EVS , Estonského centra pro normalizaci a akreditaci. Zde je přímý odkaz na IEC 62304, včetně dodatku z roku 2015.
Ještě jednou připomínám, abyste raději zakoupili vícelicenční verzi.
Klíčové termíny a definice pro software zdravotnických prostředků podle normy IEC 62304
Sekce Termíny a definice se nachází v Kapitole 3. Navzdory svému názvu ne vždy důkladně objasní každý termín. Často je nutné odkazovat na jiné normy pro úplné porozumění. Níže vysvětlím některé ze složitějších termínů jednoduchým jazykem, podobně jako o nich diskutuji s klienty. Zaměřím se na termíny, se kterými se při práci s normou a vývoji softwaru pro zdravotnické prostředky setkáte nejčastěji.
V této sérii úmyslně přeskočíme termíny související s řízením rizik, protože budou pokryty samostatně. Navíc vynecháme termíny, které jsou samozřejmé nebo méně kritické pro práci s normou.
Co je ANOMÁLIE v normě IEC 62304?
Definice: Anomálie je jakákoli odchylka od očekávaného nebo zamýšleného výsledku. Může zahrnovat funkční nesrovnalosti v softwaru zdravotnického prostředku, nekonzistence v dokumentaci nebo nedostatky v požadavcích na řízení kvality.
Anomálie nejsou jen softwarové chyby
Mnoho lidí interpretuje anomálii jako neúspěšný test. To je proto, že norma IEC 62304 primárně diskutuje anomálie v sekci 5.7, která se zaměřuje na testování softwarového systému. Nicméně anomálie mohou mít mnoho forem, například:
- Softwarový požadavek, který je definován nejednoznačně, což nejasně určuje, jak by se měl software chovat. Problémem není, že software nefunguje správně, ale že je popis vágní.
- Odezva systému, která je při specifických testovacích podmínkách pomalejší, než se očekávalo. Pokud je toto zpoždění způsobeno méně výkonným testovacím prostředím spíše než skutečným softwarovým problémem, nemusí to být problém pro konečný produkt.
Anomálie nemusí nutně zdržovat vydání softwaru
Uznání, že anomálie nejsou omezeny pouze na softwarové chyby, je klíčové, protože to umožňuje flexibilnější manipulaci. Přítomnost anomálie neznamená automaticky, že musí být zastaveno vydání softwaru.
Ačkoli byste neměli vydávat zdravotnický software se známými funkčními vadami, drobné nekonzistence, které neovlivňují funkčnost, nemusí být důvodem k odkladu nasazení.
Dokonce i samotná norma IEC 62304 povoluje vydání softwaru s anomáliemi po provedené analýze, jak uvádí sekce B.5.7.
Co je KONFIGURAČNÍ POLOŽKA v normě IEC 62304?
Minimální definice v normě
IEC 62304 poskytuje krátkou definici, uvádí, že konfigurační položka je “cokoli jednoznačně identifikované v daném čase”.
Lepší pochopení lze získat z IEC 12207, odkazované normy, která nabízí cenné poznatky o procesech životního cyklu systému a softwaru.
Co je konfigurační položka?
Konfigurační položka (CI) je jakýkoli prvek související s vaším softwarem zdravotnického prostředku, který musí být identifikován a aktualizován, aby byla zachována přehlednost při vývoji a údržbě.
Běžné konfigurační položky zahrnují:
- Specifikace softwarových požadavků
- Softwarová architektura
- Testovací specifikace
- Soubor řízení rizik nebo soubor kybernetické bezpečnosti
- Zdrojový kód (včetně kompilovaného kódu)
- Externí knihovny (SOUP nebo OTS)
- Nástroje pro vývoj a nasazení (např. IDE, kompilátory, konfigurace CI/CD jako GitHub, Dockerfiles, Kubernetes YAML, Jenkinsfiles)
- Testovací prostředí
- Uživatelské manuály
Pochopení tohoto termínu je důležité, protože Kapitola 8 normy IEC 62304, “Proces správy konfigurace softwaru”, je věnována správě konfiguračních položek.
Samostatná norma, IEEE 828-2012 - Configuration Management in Systems and Software Engineering, poskytuje další pokyny pro správu konfigurace.
Co je DODÁVANÝ VÝSTUP (DELIVERABLE) v normě IEC 62304?
Dodávaný výstup (Deliverable) je jakýkoli výstup vyplývající z konkrétní činnosti. Při vývoji softwaru zdravotnických prostředků to zahrnuje nejen zdrojový kód, ale i technickou dokumentaci.
Uvědomění si toho je důležité, protože IEC 62304 očekává, že dodávané výstupy budou sledovatelné a ověřitelné. To platí nejen pro zdrojový kód, ale i pro dokumenty, jako jsou:
- Specifikace softwarových požadavků (SRS)
- Softwarová architektura
- Soubor řízení rizik
Jak vidíte, dodávané výstupy se často překrývají s konfiguračními položkami.
Co je SOFTWAROVÁ KOMPONENTA (SOFTWARE ITEM) v normě IEC 62304?
Termín Softwarová komponenta (Software Item) v normě IEC 62304 je běžným zdrojem zmatku. Mnoho lidí klade nadměrný důraz na jeho definování, ačkoli samotná norma tento termín používá flexibilně.
Definice: Softwarová komponenta je jakýkoli softwarový prvek identifikovaný během dekompozice. Může to být cokoli, co z jakéhokoli důvodu považujete za nutné oddělit.
Namísto zbytečného komplikování definice definujte softwarové komponenty způsobem, který prospěje vašemu procesu vývoje softwaru. Dodržujte standardní architektonické principy.
Příklady softwarových komponent:
- Frontend aplikace
- Komunikace s backendem
- Notifikace a upozornění
- Zabezpečené zpracování vstupu
- Backend aplikace
- Databáze
- Autentizace uživatelů
- Auditní logování
- REST API
- Rozhraní HL7/FHIR
Co je SOFTWAROVÁ JEDNOTKA (SOFTWARE UNIT) v normě IEC 62304?
Softwarová jednotka (Software Unit) je nejmenší nedělitelná Softwarová komponenta (Software Item).
Například: Pokud je “Komunikace s backendem” Softwarová komponenta, ale není dále dělena, pak je to zároveň Softwarová jednotka.
Granularita softwarových jednotek je definována výrobcem na základě potřeb údržby, bezpečnosti, spolehlivosti a škálovatelnosti.
Softwarové komponenty a Softwarové jednotky jsou také považovány za Konfigurační položky.
Co bude dál?
V dalším článku se budeme věnovat dalším termínům a definicím z normy IEC 62304. Pokud objevíte jakékoli nesrovnalosti nebo máte jiný pohled, neváhejte nás kontaktovat – vítáme zpětnou vazbu a diskuzi!
