Orvosi eszközök gyártmányfejlesztése Aktív orvosi eszköz szoftver verifikálása, validálása (V&V) Nagy Katinka Budapest, 2016-11-24
Bemutatkozás Nagy Katinka Villamosmérnök BSc (2012) Villamosmérnök MSc (2014) Rendszer tesztmérnök, B.Braun Medical Kft. (2014-) Kérdés esetén elérhetőség: katinka.nagy@bbraun.com agnes.dombai@bbraun.com 2
Tartalomjegyzék V&V (fogalmak) Orvosi eszköz szoftver-rendszer validálás SW validálás alapok SW validálás alapelvei Biztonságos orvosi eszköz szoftver feltételei (összegzés) Gyártási-, szerviz-, fejlesztői eszköz validálás 3
Validation Medical device system Computer UI Usability Medical system software Production -, service tool SOUP/OTS Development tool Electronic records, signature 4
Tervezés és fejlesztés (Design Control) folyamata (ISO 13485) Fejlesztési terv célok és tervezés Fejlesztés és verifikálás Műszaki terv átadása és validáció Termék kiadás és eladás Fejl. terv célok Fejlesztés tervezése Validáció Szoftver biztonsági osztályok meghatározása Fejlesztés bemenete Fejlesztés kimenete Hibakezelés (SW+HW probléma Megoldás) Konfiguráció menedzsment Kockázatirányítás Döntés a piacra vitelről A projekt lezárása Panasz kezelése 5
PEMS Fejlesztési ciklus (MSZ EN IEC 60601-1-4) 6
7
Szoftver V&V Szoftver Verifikáció A SW verifikáció (igazolás) objektív bizonyítékot szolgáltat arról, hogy a szoftver fejlesztési életciklus egy adott fázisában a fejlesztési lépés kimenetei (design output) megfelelnek az adott fázisra definiált követelményeknek (pl. fázisok: architektúra, kódolás, tesztelés ) Szoftver Validáció Vizsgálatokkal megerősítés (érvényesítés) és objektív bizonyíték szolgáltatása arról, hogy a szoftver specifikáció megfelel a vevő követelményeinek és a szándékolt alkalmazásnak, és azon követelmények, melyek szoftverrel lettek megvalósítva konzisztensen teljesítve vannak Validated computer software Az a következtetés, hogy a szoftver validált, nagyban függ attól, milyen teljeskörű volt a verifikációs tevékenység a szoftver fejlesztési életciklus során az egyes fázisokban 8
Szoftver fejlesztés a Rendszer tervezés része Vevői igény + alkalmazási cél SW validáció tárgya RS hardware Software (SRS) A SW validálást mindig a Rendszer validálás kontextusában kell megfontolni! 9
Medical System Software validation - regulations 10
Orvosi eszköz szoftver-rendszer validálás FDA 21CFR 820.30 Design controls (Law) (g) Design validation. Design validation shall include software validation and risk analysis, where appropriate. The results of the design validation, including identification of the design, method(s), the date, and the individual(s) performing the validation, shall be documented in the DHF. MDD 93/42/EEC amended by 2007/47/EC (Directive) Essential Requirements 12.1.a For devices which incorporate software or which are medical software in themselves, the software must be validated according to the state of the art taking into account the principles of development lifecycle, risk management, validation and verification. 11
Orvosi eszköz szoftver-rendszer validálás pl. dialízis gép szoftver HOL VAN A KÖVETELMÉNY?? Alapvető követelmények (EC-Directive:MDD) II. Tervezési és kialakítási követelmények 12. Energiaforráshoz kapcsolt vagy azzal ellátott eszközökre vonatkozó követelmények 12.1.2- A szoftvert modern módszerekkel kell validálni, figyelembe véve a fejlesztési életciklusra, a kockázatkezelésre, a validációra és az ellenőrzésre vonatkozó alapelveket. EN 62304:2006 SW Life-cycle for medical devices EN 62304:2006 Medical devices software Software life-cycle processes (MSZ EN 62304:2006 angol nyelvű) This standard does not cover validation and final release of the medical device, even when the medical device consists entirely of software There is no known method to guarantee 100% safety for any kind of software. (EN 62304 B.4) 12
Medical System Software validation - regulations 13
A Software Validation Guidance (útmutató) General Principles of Software Validation: Final Guidance for Industry & FDA Staff, January 11., 2002 (Csak angol nyelven) http://www.fda.gov/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm085281.htm Alkalmazható: a SW egy orvosi készülék komponense, része, vagy tartozéka ( medical device software) a SW önmagában egy orvostechnikai eszköz (medical device software) a SW az orvostechnikai eszköz gyártási folyamatában használt (automated processes) a SW a gyártó minőségügyi rendszerében használt (automated processes) *SW= szoftver 14
SW validálás - alapok (FDA Software Validation Guidance, 2002) A szoftver különbözik a hardvertől Cél: Teljeskörű validáció (comprehensive validation approach) SW problémák többsége visszavezethető a fejlesztési fázisra (HW esetén gyártás is beleszól! SW gyártás csak reprodukció, amit könnyen verifikálhatunk) SW egyik legfontosabb tulajdonsága elágazó utasítások különböző bemenetekre SW igen bonyolult lehet (komplexitás) SW nem egy fizikai egység nem használódik el, de folyamatosan frissül bevihetünk új hibákat SW hibák minden előjel nélkül történhetnek tesztelés során rejtve maradnak, de sokkal később a piacra kerülés után jelentkeznek SW fejlesztés sebessége gyorsabb, a hibák javítása könnyebb megtévesztő: azt hihetnénk, hogy a SW fejlesztési folyamatokat nem kell olyan szigorúan monitorozni téves. Valójában az ellenkezője az igaz!!! 15
SW validálás - alapok A szoftver fejlesztés különbözik a hardver fejlesztéstől A szoftver komplexitása miatt sokkal szigorúbban kontrollált fejlesztési folyamatot igényel mint a hardver, azért hogy megelőzzük a problémákat, amelyek csak nehezen észlelhetőek a fejlesztés későbbi szakaszában. Látszólag jelentéktelen változás a kódban, nem várt és komoly problémákat okozhat SW tesztelés önmagában nem tudja verifikálni a teljességet és a helyességet egyéb SW verifikációs technikák is szükségesek (mint a tesztelés) SW fejlesztési folyamat jól tervezett, kontrollált, dokumentált legyen Komponens alapú és objektum orientált SW fejlesztés nagyon körültekintő integráció Integráció előtt definiálni az újrahasznosított SW elemeket, és megérteni az OTS komponensek viselkedését *OTS = Off The Shelf ~ vásárolt 16
A SW validálás alapelvei (1) (FDA Software Validation Guidance, 2002) 1. Követelmények (Requirements) A dokumentált szoftver követelmény specifikáció (SW Requirement Spec., SRS) alap: verifikáláshoz validáláshoz A validációs folyamatot nem lehet befejezni megalapozott követelmények nélkül!!! 2. Hibamegelőzés (Defect prevention) Szoftver minőségbiztosítás fókusza: megelőzni a hibák bevitelét a SW fejlesztési folyamat során tesztelni a már megírt szoftver kódot A legtöbb esetben, a SW tesztelés önmagában nem elegendő a bizalom ( Level of Confidence ) megteremtéséhez, hogy a SW megfelel az alkalmazási céljának!!! 17
A SW validálás alapelvei (2) 3. Idő és erőfeszítés szükséges A SW validáció előkészítését a kezdeti fejlesztési fázisban el kell kezdeni: tervezéskor (design planning) fejlesztés bemenetének megfogalmazásakor (design input) Következtetés a szoftver validált: objektív bizonyítékokon alapuljon, amelyeket az előre eltervezett SW fejlesztési életciklus során gyűjtünk össze IEC 62304 4. SW életciklus A szoftver validáció egy kialakított szoftver fejlesztési életciklusban történjen, az alkalmazott életciklus modelltől függetlenül. 5.Tervek (Plans) A szoftver validáció egy terv alapján történjen, ami meghatározza, hogy mit kell megvalósítanunk a validációs erőfeszítéseink során. A validációs terv egy jelentős minőségbiztosítási eszköz. 18
A SW validálás alapelvei (3) 6. Eljárások (Procedures) A SW validációs folyamat eljárásokon (Standard Operating Procedure, SOP) keresztül valósul meg, amelyek azt írják le, hogyan vezessük le a validációs tevékenységeket. 7. SW validáció egy változás után Egy látszólag lokális változás egy jelentős globális kihatással lehet a SW rendszerre. Ezért a validációs statuszt mindig újra kell gondolni, nem csak a változás validálását, de a változás kihatását a teljes SW rendszerre regressziós tesztek (regression test) 8. Validáció lefedettségének/terjedelmének alapja a szoftver komplexitása kockázatok, a szoftver használatából és a szándékolt alkalmazásból Nem a cég mérete és az erőforrások korlátja határozza meg!!! 19
A SW validálás alapelvei (4) 9. Az átvizsgálás függetlensége (Independence of Review) Amikor lehetséges, a független átvizsgálást alkalmazzuk, főleg magasabb kockázatú SW alkalmazások esetén. Néhány cég külső szerződést köt egy harmadik féllel a V&V-ra, de ez nem mindig megvalósítható. Másik megoldás, saját fejlesztők által végzett V&V, akik nem vettek részt az adott rész fejlesztésében. 10. Rugalmasság és felelősség A fenti elvek alkalmazása nagyon változatos validációs struktúrákat adhat, ebben a gyártóknak szabadsága van, de a végleges felelősség, amellyel kijelenti, hogy a SZOFTVER VALIDÁLT, az mindig a gyártóé. A validálás menetét befolyásoló körülmények: SW komponensek forrásai: e.g. in-house developed software, off-the-shelf software, contract software, shareware. SW komponensek formái: e.g. application software, operating systems, compilers, debuggers, configuration management tools, etc. 20
Néhány szó az OTS szoftverekről OTS = Off The Shelf ~ vásárolt ma már egyre nagyobb arányban használt az orvosi eszköz gyártó is az alkalmazásokra koncentrálhat, melyek a speciális eszköz funkciók megvalósításához kell sok funkciója lehet, de az orvosi eszközben esetleg csak néhányat használunk az orvosi eszköz gyártó a felelős minden szoftverért, ami a készülékben van vásárlás előtt meggyőződni, hogy jó lesz az általunk kijelölt alkalmazási célra KOCKÁZAT (RISK) Az általános célra fejlesztett szoftverek nem biztos, hogy jók az orvosi eszközbe Az orvosi eszköz gyártó általánosságban feladja az OTS szoftverfejlesztési életciklus kontrollálását, de egyidejűleg felelőssége megmarad, hogy biztonságos (safe) és hatásos (effective performance) készüléket helyezzen ki a piacra OTS szoftverekre speciális, külön útmutató (FDA Guidance) (http://www.fda.gov/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm073778.htm ) 21
A SW validálás előnyei (Benefits of SW validation) Növeli használhatóságot megbízhatóságot Csökkenti Meghibásodási arányt Visszahívások számát A beteg és a felhasználó kockázatát A szoftver módosítás költségeit A változások újravalidálásának költségeit** ** a SW Maintenance igen nagy részét teszi ki a teljes költségnek a teljes SW élattartam alatt. Egy jól felépített validációs folyamat ezt a költséget csökkentheti! 22
A validációt alátámasztó tipikus feladatok Minőségügyi tervezés (Quality planning) Követelmények (Requirements) Tervezés (Design) Kódolás (Coding) Tesztelés a szoftver fejlesztő által (Testing by the SW developer) Tesztelés a felhasználó környezetében (User site testing) Karbantartás és szoftver változtatás (Maintenance and SW changes) Ezek életciklus folyamatok -> részletes követelmények: IEC 62304 23
Biztonságos orvosi eszköz szoftver feltételei (összegzés): Minőségügyi rendszer 1 A szabályozott folyamatok rendelkezésre állnak, a kapcsolódásuk meghatározott. A folyamatok mindegyikénél a tervezés (planning) rendszeres, megszokott tevékenység. Dokumetálunk, verziókezelünk, a folyamatokat rendszeresen átvizsgáljuk, stb. Kockázatirányítás 2 A kockázat szempontjából kritikus SW elemeknél több, különböző verifikációs módszert ill. tesztelési módszert választunk ajánlás a biztonság-kritikus rendszerekre SW fejlesztés 3 A különböző módszerek ismerete, gyakorlati használata 24
PÉLDA Logikai kapcsolat a folyamatok között (SOPs/Ops) 1 UE AMD DP System Engineering SDP (1)(2)(3) Software Development Risk M SW Dev. SW Maint. & Prob. Res SW Config. Man. (1)SW Risk Man. (2)SW Tool Valid. (3)SOU P (OTS) Item Valid. Medical SW Test DHF= Design History File Tool Test 25
PÉLDA A kockázat alapú V&V stratégia elősegíti az erőforrások hatékony kihasználását 2 Tools in the Toolbox (examples): Software Architecture Documentation & Review Code Review / Code Verification Static Code Analysis Traceability Matrix Vendor Audit Unit Test Integration Test / Interface Test Regression Test 26
PÉLDA A Software Engineering tudás testreszabása- konkrét feladatra (függ: fejl. környezet, alkalmazás, projekt mérete) 3 Formal software requirements review Design Specification Development/Design Review Vendor Supplied Regression Test Suite Unit test plan generation Integration test plan generation Software system test Normal Case Test Robustness Test (Stress Testing) Output Forcing Test Combination of Inputs Test Beta testing Performance testing Best mix of methods 27
Validation Medical device system Computer UI Usability Medical system software Production -, service tool SOUP/OTS Development tool Electronic records, signature 28
Automated processes- Regulations (Production/service tool + development tool validation) 29
Automatizált folyamatok- Szoftver Validálás (1) pl. gyártási folyamatban vagy a minőségirányítási rendszerben HOL VAN A KÖVETELMÉNY?? ISO 13485 7.5 Előállítás és szolgáltatás nyújtása 7.5.2 Az előállítás és szolgáltatás nyújtásának érvényestítése (validálása) A szervezetnek érvényesítést (validálást) kell végeznie minden olyan ~ folyamatra nézve, amelynek kimenete ellenőrzéssel nem igazolható (verifikálható) a folyamatot követően figyelemmel kísérés vagy mérés útján. Pl.: automated welding system, pick and place system, C/C++ language compiler, documentation database dokumentált eljárást kell kialakítani.. olyan számítógép szoftver (és módosításának) validálására, amely befolyásolja a terméknek azt a képességét, hogy kielégítse az előírt követelményeket. Az ilyen szoftver alkalmazások validálását az első alkalmazás előtt kell elvégezni. 30
Automatizált folyamatok- Szoftver Validálás (2) General Principles of Software Validation: Final Guidance for Industry & FDA Staff, January 11., 2002 (Csak angol nyelven) http://www.fda.gov/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm085281.htm Alkalmazható: a SW egy orvosi készülék komponense, része, vagy tartozéka ( medical device software) a SW önmagában egy orvostechnikai eszköz (medical device software) a SW az orvostechnikai eszköz gyártási folyamatában használt (automated processes) a SW a gyártó minőségügyi rendszerében használt (automated processes) *SW= szoftver 31
Automatizált folyamatok- Szoftver Validálás (3) VAN ÚTMUTATÓ A KÖVETELMÉNY TELJESÍTÉSÉHEZ?? AAMI TIR36:2007 Validation of software for regulated processes Alkalmazható: Bármely software esetén, amellyel automatizáljuk a: tesztelést, gyártást, címkézést, csomagolást, terjesztést (distribution) panasz kezelést, vagy bármely más részterületét a minőségügyi rendszernek, pl. az - Elektronikus rekordok és elektronikus aláírás készítése, módosítása, kezelése 32
Automatizált folyamatok- Szoftver Validálás (4) AAMI TIR36:2007 Validation of software for regulated processes Annex C Examples Example 1: PLC for manufacturing equipment... 47 Example 2: Automated welding system... 50 Example 3: Automated welding process control system... 52 Example 4: C/C++ language compiler... 58 Example 5: Automated Software Test System... 62 Example 6: A simple spreadsheet... 66..etc. 33
Automatizált folyamatok- Szoftver Validálás (5) Mit kell átgondolnunk? Hogyan illeszkedik a szoftver a teljes folyamatba? Mit csinál a szoftver? Hogyan lehet meghatározni, hogy a szoftver helyesen működik? Milyen lehetséges kockázatokat rejt magában az a folyamat amely a szoftverrel automatizálva van? Hogyan fogjuk ezeket a kockázatokat egy elfogadható szintre csökkenteni? 34
Köszönöm a figyelmet! Kérdések? 35