Linux i medicinsk utrustning
Linux är idag ett väl beprövat operativsystem också i medicinska tillämpningar, men det finns specialkrav som kan skapa extraarbete. Ken Herold, medicinteknisk specialist hos Wind River Systems tittar här på några av de kraven.
Linux är favoriten bland operativsystem för en mängd medicinsk utrustning, från livsviktig övervakning till informations- och underhållningssystem vid sängen på sjukhus till komplicerade medicinska bildsystem. Alla implementeringar av Linux är dock inte desamma. Eftersom det kan vara fara för patienternas liv måste programvara som används i medicinsk utrustning tillfredsställa föreskrivna regler som ser till att de har utlovade prestanda.
Försök att lappa ihop lösningar från ren Linux utan kommersiellt stöd lägger bördan av testning, validering, dokumentation och kompatibilitet på utrustningstillverkare och programvaruutvecklare – en betungande, tidskrävande och komplicerad process som kan förvandla ‘kostnadsfri’ Linux till ett dyrt alternativ.
Medicinsk utrustning som marknadsförs i USA regleras av en gren av myndigheten FDA (Food and Drug Administration)
Det finns förstås kommersiella försäljare av Linux som tillhandahåller stabiliserade mervärdesversioner av den öppna programvaran, tillsammans med stödpaket för kort. Nivån på service, stöd och dokumentation varierar dock kraftigt bland företagen, en del kretsföretag tillhandahåller programvara men inget egentligt stöd efter försäljningen.
För- och nackdelar med öppen källkod
Linux förekommer i olika medicinska utrustningar och är ett universellt operativsystem med alla fördelar förknippade med öppen källkod. Det distribueras kostnadsfritt och kan modifieras och sedan distribueras igen i enlighet med licensreglerna GNU General Public License (GPL).
Linux har fått bred användning och har synats och välkomnats av tusentals användare, inklusive många mycket erfarna utvecklare. Linux stöds också av samtliga hårdvarutillverkare och körs på praktiskt taget vilken processor som helst. Det har också ett stort ekosystem av kort- och programvaruföretag som använder beprövade verktygskedjor och applikationsprogrammeringsgränssnitt (APIer), och det har enastående grafiskt stöd, inkluderande populära ramverk som Qt och Android – som är viktiga för tydliga och läsbara utrustningsskärmar. Innovationen och mognaden hos Linux har gjort det till en stöttepelare inom utveckling av medicinsk utrustning. Användning av Linux i medicinsk utrustning ger dock även upphov till problem.
FDA-regler
Medicinsk utrustning som marknadsförs i USA regleras av en gren av myndigheten FDA (Food and Drug Administration). FDA är globalt känd för att ge den bästa vägledningen för medicinsk utrustning, som europeiska tillverkare måste följa för att sälja sina produkter i USA. Antingen utrustningstillverkare utlovar kompatibilitet med IEC 62304 för programvara till medicinsk utrustning eller ej, måste de följa flera vägledningsdokument från FDA. Ett operativsystem kan behandlas som programvara av okänt ursprung (SOUP, Software of Unknown Provenance) eller av standardtyp (OTS, off-the-shelf). FDA fastslår också att ansvaret för att tillse säkra och tillförlitliga prestanda inte upphör vid produktlanseringen. Så, vid värderingen av operativsystem är det nödvändigt att planera för reparation av buggar och säkerhetsuppdateringar för produktens hela livslängd.
Riskanalys och dokumentation
Medicinsk utrustning och deras komponenter måste genomgå en riskanalys, som normalt utförs av utrustningstillverkaren – inte för att försöka förutspå hur troligt det är att fel uppkommer, utan för att analysera hur eventuella fel kan påverka patienten. Det finns två nivåer av dokumentation för OTS-programvara: grundläggande (‘basic’) och speciell (‘special’). Vilken av dessa som krävs beror på riskanalysens resultat. FDA ger fullständiga uppgifter i skriften “Guidance for Industry, FDA Reviewers and Compliance on Off-The-Shelf Software Use in Medical Devices”.
Det är därför mycket viktigt att välja en kommersiell Linux-försäljare som kan hjälpa utrustningstillverkaren att tillfredsställa dessa krav, såsom att ha lämpliga metoder för produktutveckling, verifiering och validering, liksom en plan för underhåll.
Cybersäkerhet
Det blir allt vanligare att medicinsk utrustning ansluts till nätverk – och om Linux kopplas till ett nätverk gäller FDAs vägledning för cybersäkerhet: “Guidance for Industry – Cybersecurity for Networked Medical Devices Containing Off-the-Shelf (OTS) Software”.
I korta drag fastslår den att nätverk är sårbara för cyberattacker (kan hackas exempelvis) och att tillverkaren måste ha en plan för underhåll av programvara för att hantera riskerna i nätverk. Vägledningen specificerar att formella affärsförhållanden skall upprätthållas med försäljare av OTS-programvara för att tillse tidsenlig tillgång till information rörande kvalitetsproblem och de tillrättaläggande och förebyggande åtgärder som rekommenderas.
Om en kommersiell försäljare av Linux inte ingår ett formellt stödförhållande med sina kunder eller inte har i bruk en aktuell plan för cybersäkerhet, ligger ansvaret helt på utrustningstillverkaren att följa med inom Linux-världen, identifiera risker och vidta nödvändiga åtgärder – ett heltidsjobb som kräver ett speciellt och högt specialiserat arbetslag.
Om säkerhetsfunktioner inte är en kärnkompetens hos utrustningstillverkaren är det viktigt att anlita ett operativsystemföretag som kan hjälpa till att konfigurera säkerhetskomponenterna i nätverket. Tillverkare av medicinsk utrustning och deras programvarupartners måste vara särskilt försiktiga med tanke på det växande problemet med “malware”-attacker såsom Stuxnet. Användning av en kärnkonfigurator för att ta bort USB-komponenter från den slutliga kärnan är ett sätt som hjälper till att skydda mot en USB-buren infektion, men till priset av viss minskad funktionalitet.
Utrustningstillverkare måste bestämma vilken nivå av säkerhet som är lämplig. I utrustning där förebyggande av alla former av överträdelser är av kritisk vikt för uppgiften vill eventuellt tillverkaren ha säkerhetsfunktioner inbyggda i operativsystemet för garanterad säkerhet.
Stöd för implementering
Det finns även praktiska problem med att ta fram utrustning som har tillförlitliga prestanda och med framgång tillgodoser marknadens behov:
* Det är av största vikt att skaffa testverktyg av hög kvalitet och att kunna visa valideringsresultat för dessa verktyg är också ett krav. OTS-programvara måste inte bara utformas väl, de utvärderingsverktyg som används måste också vara validerade. Användning av ett automatiskt testsystem som automatiskt skapar dokumentation av utförda tester kan ge fördelar för marknadsledtiden jämfört med manuella system, samtidigt som de minskar risken för mänskliga fel och ger säkrare resultat.
* Det är också nödvändigt att tillgodose kraven enligt GPL och andra relevanta licenser för öppen källkod.
* Stödpaket för kort (BSPer) är nödvändiga vid implementering av inbyggda operativsystem, inkluderande Linux. Få tillverkare är utrustade att på egen hand utveckla BSPer och att skapa kundspecifika BSPer kan bli mycket dyrt.
Andra problem uppkommer vid utveckling av system med flera kärnor eftersom det gäller att förenkla systemets konstruktion och samtidigt fortfarande ta tillvara de prestandafördelar som flera processorer och operativsystem kan ge. Utvecklare som utnyttjar avancerade analysverktyg i en Linux-miljö kan stöta på problem som förstärks i en flerkärnig eller flertrådig miljö. Användning av verktyg från en kommersiell operativsystemleverantör, som erbjuder stöd på professionell nivå, ger mindre problem för utvecklare.
Utvecklare använder allt oftare inbyggda “hypervisorer” för att utnyttja virtualisering och möjliggöra för flera operativsystem att arbeta på ett enda kort. Genom att använda en inbyggd hypervisor för att konfigurera den flerkärniga miljön, starta flera kärnor, fördela hårdvaruresurser, ge tillgång till och skydda minne (i säkerhetssyfte) och övervaka systemets hälsotillstånd, kan utrustningstillverkaren inrikta sig på sin speciella tillämpning.
Ken Herold, medicinteknisk specialist, Wind River Systems
Två skrifter från FDA ger information om de krav som finns:
FDA: Guidance for Industry, FDA Reviewers and Compliance on Off-The-Shelf Software Use in Medical Devices: http://www.fda.gov/downloads/MedicalDevices/DeviceRegulationandGuidance/GuidanceDocuments/ucm073779.pdf
FDA: Guidance for Industry – Cybersecurity for Networked Medical Devices Containing Off-the-Shelf (OTS) Software http://www.fda.gov/downloads/MedicalDevices/DeviceRegulationandGuidance/GuidanceDocuments/ucm077823.pdf
Filed under: Embedded