הבטחת תקני הבטיחות הגבוהים ביותר ומזעור הסיכון הקשור לכשל במכשיר רפואי הם שני עמודי התווך של פיתוח תוכנה למכשירים רפואיים. תחומים אלה מוסדרים על ידי שלושה תקנים: ISO 14971, ISO 13485 שבו נתמקד בפעם הבאה, ו-IEC 62304, שהוא נקודת המוקד של מאמר זה.

בלי הקדמות מיותרות, אני מעביר את הבמה ל-Krzysztof Minicki, מנהל תחום הבריאות ומדעי החיים שלנו, שידריך אתכם דרך דרישות IEC 62304 והיישום שלהן.

רוצים לדעת כיצד ליישם את IEC 62304 לביצוע ניתוח פערים בתוכנה קיימת? קראו את המאמר הזה >>> כיצד ליישם ניתוח פערים בתוכנה מדור קודם כנדרש על ידי IEC 62304-2015?

מהו IEC 62304?

IEC 62304 הוא תקן בינלאומי שמפרט דרישות לפיתוח ולמחזור החיים של תוכנה כמכשיר רפואי ותוכנה בתוך מכשירים רפואיים. המטרה של IEC 62304 היא להבטיח שתוכנה מיושמת בבטחה, פונקציונלית לחלוטין ומתוחזקת לאורך כל מחזור החיים שלה, גם לאחר שהוצבה בשוק. הוא מתאר סיווג בטיחות לתוכנה רפואית בהתאם לרמת הסיכון שהיא מהווה למשתמשי הקצה, לחולים ולאנשים שמפעילים את המכשיר.

IEC 62304 הוצא בשנת 2006, ולכן שמו המלא הוא IEC 62304:2006. התקן שונה קלות בשנת 2015 כדי להתאימו ל-MDD שהיה בתוקף באותה עת. נוסף נספח, המפרט את דרישות הבטיחות עבור תוכנה מדור קודם ששוחררה לפני שהתקנים והתקנות הנוכחיים היו בתוקף. IEC 62304 עם הנספח ידוע גם בשם IEC 62304:2006+AMD1:2015. נכון לעכשיו העבודה מתקדמת במהירות להתאמת התקן ל-EU MDR.

האם IEC 62304 הוא חובה?

IEC 62304 אינו מחייב, עם זאת מומלץ לארגונים המפתחים תוכנה למכשירים רפואיים לפעול לפי דרישותיו. IEC 62304, יחד עם ISO 13485 ו-ISO 14971, כוללים את הדרישות הבסיסיות שכל חברה לפיתוח תוכנה רפואית צריכה לעמוד בהן בכל הנוגע להבטחת תקני הבטיחות הגבוהים ביותר עבור מוצריה.

האם ה האם ה-FDA דורש IEC 62304?

IEC 62304 מיושם בהרמוניה על ידי ארה"ב ומוכר על ידי ה-FDA, ולכן חברות לפיתוח תוכנה רפואית יכולות, אך אינן חייבות, לפעול לפיו.

מהן סיווגי הבטיחות למערכות תוכנה לפי IEC 62304?

IEC 62304 מעניק לחברות פיתוח תוכנה סדרה של הנחיות כיצד לגשת לזיהוי ולניהול סיכונים הקשורים, לדוגמה, לכשל תוכנה, שעלול להשפיע על מטופל או על מפעיל מכשיר. בהתבסס על סיווג הסיכון של המכשיר הרפואי, התקן מציין אמצעי בקרת סיכונים מסוימים, אשר יש ליישם לאורך כל מחזור החיים של התוכנה.

IEC 62304 מתאר שלוש מחלקות בטיחות בסיסיות עבור תוכנה:

  • class A: אם התוכנה אינה יכולה לגרום לנזק,
  • class Bאם התוכנה עלולה לגרום לנזק קל או לפציעה, שאינה מובילה לנזק בריאותי מתמשך או קבוע,
  • class C: אם התוכנה עלולה לגרום לנזק בריאותי חמור, לפציעות קשות או אפילו למוות.

היקף זה מאפשר זיהוי מדויק והתאמה של תהליכים הקשורים לבטיחות פיתוח תוכנה רפואית בכל השלבים: מתכנון, דרך קידוד, ועד שחרור ותחזוקה.

יש לזכור, שהמחלקות הנ"ל קשורות באופן מובהק לתוכנה. מכשירים רפואיים מסווגים בהתאם ל-EU MDR באיחוד האירופי או לדרישות ספציפיות למדינה.

IEC 62304 קובע דרישות בטיחות החלות על כל מחלקה. מחלקה A מגיעה עם המעט דרישות מאחר שאינה מהווה סיכון לבריאות האדם או לחייו. הדרישות החלות על מחלקות B ו-C דומות מאוד. הפער בין מחלקה A למחלקות B ו-C עצום הן ביישום והן בעלות הכוללת.

עוד דבר חשוב שיש לזכור הוא שבעת ביצוע הסיווג, עלינו לקחת בחשבון גם תרחיש שבו התוכנה עשויה שלא לפעול כראוי, להיות בלתי זמינה או להיפרץ. האם הדבר יהווה סיכון כלשהו למשתמשי הקצה במקרה כזה?

כיצד לבצע סיווג בטיחותי בהתאם ל-IEC 62304?

בעת ביצוע הסיווג, עלינו תמיד להניח את תרחיש המקרה הגרוע ביותר שבו עלולה להתרחש מצב מסוכן.

הדבר הראשון שיש לקבוע הוא האם מצב מסוכן הוא תוצאה של כשל תוכנה. אם לא, אזי התוכנה עומדת בתנאים למחלקה A.

אם כן, נוכל לעבור לשלב הבא ולהעריך את האפקטיביות של אמצעי בקרת סיכונים חיצוניים לתוכנה. ייתכן שיתברר שאמצעים כאלה יכולים להפחית את ההסתברות שכשל תוכנה יגרום לנזק או להפחית את חומרת הנזק.

לאחר מכן, עלינו לקבוע אם כשל תוכנה מביא לסיכון בלתי מקובל. אם לא, אז התוכנה מזדכה על סיווג A. אם כן, נעריך את חומרת הפציעה האפשרית. אם מדובר בפציעה לא חמורה, אז התוכנה הרפואית שלנו מזדכה על סיווג B. אם כשל עלול לגרום לנזק חמור או אפילו למוות, אז היא בסיווג C.

אלגוריתם סיווג הבטיחות ניתן למצוא בסעיף 4.3 של IEC 62304.

פירוק תוכנה לפי IEC 62304

IEC 62304 מאפשר פירוק של רכיבי תוכנה, כך שניתן לסווגם למחלקות שונות, בתנאי שנשמרים הפרדה ובידוד נאותים.

לדוגמה, אם התוכנה שלך מסווגת בהגדרה כמחלקה C בסיכון גבוה, תוכל לנסות לפרק אותה לרכיבים נפרדים. יש לבודד אותם מבחינת ארכיטקטורה ופונקציונליות. כתוצאה מכך, ייתכן שיתברר שלרכיבים מסוימים יש מחלקת סיכון נמוכה יותר, וזה בתורו מפחית את העלויות הכוללות של פיתוח תוכנה רפואית. אם אינך יודע כיצד לבצע פירוק כזה או שיש לך ספקות, נוכל לגייס את הצוות שלנו ולסייע לך.

Software decomposition under IEC 62304

Agile לעומת IEC 62304

IEC 62304 אינו מכתיב מודל אסטרטגיית פיתוח ספציפי. למרות שהאופן שבו הוא נכתב עשוי לרמוז על מודל מפל, טבלה B.1 בנספח B מציגה דוגמאות לאסטרטגיות פיתוח שונות, כולל האסטרטגיה המצטברת וכן האסטרטגיה האבולוציונית, הידועה גם כאג'ייל. Spyrosoft יישמה גישה אג'ייל מלאה לאספקת תוכנת המכשור הרפואי שלנו. אנו יכולים לספק לך בפרק זמן קצר פתרון המקוצר את זמן ההגעה לשוק עם שקיפות מלאה במהלך הפיתוח.

Agile vs IEC 62304

במילים אחרות, המשמעות היא שניתן להשתמש בכל אסטרטגיית פיתוח כל עוד התיעוד הטכני עקבי עם תהליכי הפיתוח ותואם את IEC 62304.

כעת נעבור לשאלה כיצד צריכים להיראות תהליך פיתוח התוכנה והתיעוד שלו בהתאם לתקן IEC 62304.

מהן הדרישות לתהליך פיתוח התוכנה לפי IEC 62304?

ניתן לסכם את תהליך פיתוח התוכנה על פי IEC 62304 כהמרה של קלט תכנון לפלט תכנון. בפלט תכנון אנו מבינים דרישות עסקיות ופונקציונליות, יחד עם השימוש המיועד. פלט התכנון הוא מה שנוצר מקלט התכנון בהתאם לדרישות IEC 62304. אימות, במונחים פשוטים, הוא בדיקה אם הקלט תואם לפלט.

כדי להשיג פלט תכנון תקין, IEC 62304 מפרט דרישות מפורטות לכל שלב בתהליך פיתוח התוכנה:

תקן IEC 62304 מחייב יצרנים לקבוע תוכנית לפיתוח תוכנה בהתאם להיקף, לגודל ולסיווג הבטיחות של התוכנה שהם יפתחו. יש לעדכן את התוכנית באופן שוטף.

דרישות תוכנה צריכות לתעד את דרישות הפונקציונליות והיכולות, כגון מטרת התוכנה או שפת הקוד, אך גם את דרישות האבטחה, אמצעי בקרת הסיכונים, הממשקים בין מערכת התוכנה למערכות אחרות, ורבים נוספים המפורטים בסעיף 5.2.2 של IEC 62304.

תקן IEC 62304 מחייב יצרנים לתעד את ארכיטקטורת התוכנה בהתאם למחלקה שלה. כמו כן, יש לפרט את רכיבי ה-SOUP, שהוא השם הרגולטורי לתוכנת צד שלישי שהיא либо חלק מתוכנת המכשיר הרפואי שלנו либо תומכת בתהליך הפיתוח, יחד עם הדרישות שעליהן עליהם לעמוד ותוצאות האימות שלהם. הדבר חשוב במיוחד כאמצעי מנע לצמצום הסיכון ש� hackers או גורמים בלתי מורשים יגשו לתוכנה ויהוו סכנה למשתמשי הקצה.

על פי IEC 62304, יש לחלק את התוכנה ליחידות תוכנה, שעבורן יש לפתח תכנון מפורט, כך שניתן יהיה ליישמן כראוי.

יצרן נדרש להקים תהליך אימות יחידת תוכנה וקריטריוני קבלה עבור כל יחידת תוכנה.

תקן IEC 62304 מחייב יצרנים להחזיק בתוכנית אינטגרציה, שלפיה יש לבצע את האינטגרציה של יחידות מערכת לרכיבי תוכנה או למערכות תוכנה. כמו כן, על היצרנים לכלול את תיעוד הבדיקות והאימות.

על פי IEC 62304, על היצרנים לקבוע דרישות, נהלים וקריטריונים לבדיקות מערכות תוכנה. תוצאות בדיקות אלה צריכות להיכלל גם בתיעוד.

לפני שחרור התוכנה, נדרש היצרן לוודא שכל תהליכי האימות הושלמו ושתועדו כל הבעיות האפשריות. כמו כן, חובתו של היצרן לוודא שהתוכנה שוחררה ללא כל פגם או שינויים בלתי מורשים.

בנוסף, בהתאם לדרישת העקיבות של תקן IEC 62304, נדרשים היצרנים להוכיח כי כל דרישות המערכת והתוכנה, כמו גם אמצעי בקרת הסיכונים הכלולים בתיעוד, יושמו, נבדקו ואומתו כראוי. יש להקדיש תשומת לב מיוחדת להבטחת קיומם של אמצעי בקרת הסיכונים המתאימים לכל מחלקה לאורך כל מחזור חיי פיתוח התוכנה.

IEC 62304 כולל גם את הדרישות לתחזוקת תוכנה, ניהול סיכונים, ניהול תצורת תוכנה ותהליכי פתרון בעיות. נסקור אותם בסעיפים הבאים.

גלו את שירותי הבריאות המונעים על ידי AI שלנו!

קרא עוד

מהן הדרישות לתהליך תחזוקת התוכנה לפי IEC 62304?

התקן מחייב יצרנים להכין תוכנית תחזוקת תוכנה, לקבוע את התהליכים והנהלים לניתוח בעיות ושינויים וכן ליישום השינויים.

כמו כן, IEC 62304 מפרט דרישות נפרדות בנוגע לניטור, תיעוד והערכה של משוב משתמשים. בעיות שזוהו צריכות להיות מתועדות כדוחות בעיות, הכוללים הערכה של האופן שבו הן עשויות להשפיע על בטיחות תוכנת המכשיר הרפואי. יצרנים נדרשים גם להפעיל תהליך לפתרון בעיות כדי לטפל בכל בעיה כזו.

לרשימה מפורטת יותר של דרישות בנוגע לתהליך תחזוקת התוכנה, ראו סעיף 6 של IEC 62304.

מהן הדרישות לתהליך ניהול סיכונים לפי IEC 62304?

יצרנים צריכים לנתח תוכנה מבחינת תרומתה למצבים מסוכנים, לזהות פריטי תוכנה כאלה ולתעד גורמים אפשריים, כגון פגמי תוכנה, שימושים לרעה צפויים או פעולה לקויה ובלתי צפויה של SOUPs.

לכן, על היצרן לנתח באופן קבוע שינויים בתוכנת המכשיר הרפואי, כולל SOUPs, שעלולים לתרום למצבים מסוכנים, ולקבוע אם נדרשים אמצעי בקרת סיכונים נוספים.

בנוסף, עבור כל מקרה שבו רכיב תוכנה עלול לתרום למצב מסוכן, על היצרן לקבוע ולתעד אמצעי בקרת סיכונים מתאימים בהתאם ל-ISO 14971, לדוגמה, לעשות זאת כך שלא ניתן יהיה להשתמש בתכונות תוכנה מסוימות אם תנאי מסוים אינו מתקיים. יישום כל אמצעי בקרת סיכונים חדש יאומת והתוצאות יתועדו.

היצרן נדרש גם לתעד את ניתנות העקיבה של כל סיכון תוכנה שזוהה.

לרשימה מפורטת יותר של דרישות לתהליך ניהול הסיכונים, ראו סעיף 7 של IEC 62304.

מהן הדרישות לתהליך ניהול תצורת תוכנה תחת IEC 62304?

יצרני תוכנה רפואית נדרשים לקבוע אמצעים לזיהוי פריטי תצורה, או במילים אחרות, ליצור תוכנית תצורת תוכנה. התוכנית תכלול את הסוגים והגרסאות של פריטי התצורה, כאשר SOUPs מזוהים בנפרד. יש לתעד את כל פריטי התצורה והגרסאות שלהם המרכיבים את תצורת מערכת התוכנה.

תקן IEC 62304 כולל גם את הדרישות לגבי אופן האישור, היישום והאימות של שינויים בפריטי תצורה, וכן דורש שהיצרנים ישמרו רשומות לצורך עקיבות של כל שינוי.

לרשימה מפורטת יותר של דרישות בנוגע לתהליך ניהול תצורת התוכנה, ראו סעיף 8 של IEC 62304.

מהן הדרישות לתהליך פתרון בעיות תוכנה תחת IEC 62304?

על פי IEC 62304, יצרן חייב להכין דוח בעיה עבור כל בעיה שזוהתה בתוכנה הרפואית (בייצור). דוח כזה חייב לכלול מידע על האופן שבו בעיה השפיעה על הביצועים, הבטיחות או האבטחה של התוכנה (הצהרת קריטיות) וכן מידע נוסף שעשוי להיות שימושי בפתרון הבעיה.

כל בעיה תיחקר כדי למצוא את סיבתה ולזהות מגמות בעיה אפשריות. יצרן תוכנה רפואית יבחן גם את מידת הרלוונטיות של הבעיה לבטיחות התוכנה באמצעות תהליך ניהול הסיכונים. תוצאות החקירה חייבות להיות מתועדות, ויש ליצור בקשת שינוי עבור כל פעולה הנדרשת לתיקון הבעיה. לאחר שהבעיה נפתרה, על היצרן לאמת את הפתרון, לבדוק אם מגמות שליליות התהפכו ולסגור את דוח הבעיה אם רלוונטי.

אחת הדרישות האחרונות בסעיף זה מתייחסת לתוכן תיעוד הבדיקות, אשר אמור לכלול, בין היתר, את האנומליות שהתגלו, מידע על איזו גרסה נבדקה, כלי בדיקה וכן זיהוי הבודק.

נקודה חשובה נוספת שיש לציין היא שהיצרן מחויב לתקשר את הבעיה לכל הגורמים הרלוונטיים, כולל משתמשי הקצה וגופי סמכות, וכן לתחזק תיעוד של כל דיווח בעיה יחד עם פתרונה ואימותה לעיון עתידי.

מחפשים שותף לפיתוח תוכנה רפואית שעומד בסטנדרטים הגבוהים ביותר של בטיחות?

IEC 62304 הוא אחד מעמודי התווך של מערכת ניהול האיכות המשולבת שלנו, אשר נבדקה לאחרונה ותוסמך בקרוב.

צוות מהנדסי האיכות והרגולציה שלנו בעל ניסיון בפיתוח תוכנה בטוחה למכשירים רפואיים בהתאם לתקן IEC 62304, ויכול גם לסייע לכם בסיווג בטיחותי או בפירוק התוכנה שלכם.

השתמשו בטופס יצירת הקשר שלהלן כדי לקבוע פגישת ייעוץ או לדון בפרויקט התוכנה שלכם למכשירים רפואיים עם Krzysztof.

IEC 62304 הוא תקן בינלאומי המגדיר את דרישות מחזור החיים עבור תוכנה של מכשור רפואי ותוכנה כמכשור רפואי. מטרתו היא להבטיח שתוכנה מפותחת, משוחררת ומתוחזקת בבטחה לאורך כל מחזור החיים שלה. הוא מסייע לארגונים למזער סיכונים הקשורים לכשלים בתוכנה שעלולים להשפיע על מטופלים או על מפעילי המכשור.

IEC 62304 אינו מחייב מבחינה חוקית, אך הוא מומלץ בחום ומאומץ באופן נרחב. יחד עם ISO 14971 ו-ISO 13485, הוא מהווה את המסגרת הליבתית המשמשת חברות תוכנה רפואית לעמוד בציפיות בטיחות ודרישות רגולטוריות. עמידה בו משפרת באופן משמעותי את הסיכוי לעבור ביקורות וסקירות רגולטוריות.

התקן מגדיר שלושה סיווגים, A, B ו-C, בהתבסס על רמת הנזק הפוטנציאלי הנגרם מכשל בתוכנה. סיווג A אינו מהווה סיכון, סיווג B עלול לגרום לפציעה שאינה חמורה, וסיווג C עלול להוביל לנזק חמור או למוות. סיווג זה קובע את עומק התהליכים, התיעוד והבקרות שיש ליישם.

IEC 62304 אינו מכתיב מתודולוגיה ספציפית, אף שהוא עשוי להיראות תואם למודל מפל המים. אסטרטגיות אג'ייל, אינקרמנטליות ואבולוציוניות מקובלות לחלוטין, כל עוד התיעוד והתהליכים תואמים את דרישות התקן. Spyrosoft מיישמת בהצלחה אג'ייל תוך שמירה על עמידה מלאה בדרישות.

התקן דורש תהליך מובנה שהופך תשומות תכנון לתפוקות תכנון מאומתות. הוא מתווה ציפיות ברורות לתכנון, דרישות, ארכיטקטורה, תכנון יחידות, אינטגרציה, בדיקות, אימות ושחרור. יש לשמור על עקיבות ואמצעי בקרת סיכונים מתועדים לאורך כל מחזור החיים.