הצהרת תאימות ל-FHIR

מאגרי FHIR ב-Cloud Healthcare API תומכים בכמה גרסאות של המפרט Fast Healthcare Interoperability Resources ‏(FHIR) שפורסם על ידי Health Level 7 International ‏(HL7).

גרסה 1 של ה-API תומכת בגרסאות הבאות:

כשיוצרים מאגר FHIR, מציינים את גרסת FHIR כפרמטר לשיטה fhirStores.create. אי אפשר לשנות את גרסת FHIR אחרי שיוצרים את המאגר.

ממשק ה-API לכל חנות תואם לגרסת ה-FHIR של אותה חנות. לדוגמה, האינטראקציה עם DSTU2 conformance שונה מהאינטראקציה עם STU3 capabilities, אבל שתיהן חולקות את נתיב ה-REST‏ /fhir/metadata, כך שהנתיב הזה מחזיר תגובות שונות בהתאם לגרסת ה-FHIR של המאגר.

פונקציות שנוספו בגרסאות מאוחרות יותר של FHIR זמינות במאגרי נתונים שמשתמשים בגרסאות קודמות של FHIR, אם הן לא יוצרות חוסר תאימות. לדוגמה, האינטראקציה patch זמינה בחנות DSTU2, למרות שהיא מוגדרת רק מ-STU3 ואילך.

פרטים על הפונקציונליות הנתמכת ב-v1 API לפי גרסת FHIR

R5

הצהרת היכולות של השרת מציינת את החלקים במפרט שנתמכים.

  • אחסון ואחזור של כל המשאבים של R5, כולל תמיכה ברכיבי הרחבה. ה-API מקבל, מאחסן ומחזיר תוספים בכל רכיב נתונים.
  • כל השיטות ב-RESTful API שמשתמשות בסוג התוכן JSON נתמכות, למעט:
    • לא נתמכות אינטראקציות ברמת הסוג וברמת המערכת של היסטוריה שמאחזרות היסטוריה בכמה משאבים. אפשר לאחזר את היסטוריית המשאבים רק עבור משאב אחד בכל פעם.
    • האינטראקציה batch/transaction לא תומכת בפעולות חיפוש בתוך החבילה.
  • יש תמיכה באימות ובאכיפה של פרופילים.
  • פרמטרים של חיפוש שהוגדרו על ידי המשתמש, כולל חיפושים ברכיבי תוסף, נתמכים ב-API v1beta1.
  • כל הפונקציונליות של חיפוש נתמכת, מלבד:

    • פרמטרי החיפוש Group-characteristic-value,‏ Location-near,‏ Location-contains,‏ DocumentReference-relationship,‏ Bundle-composition,‏ Bundle-message,‏ Observation-component-value-canonical,‏ Observation-value-canonical,‏ QuestionnaireResponse-item-subject ו-Composition-section-text לא נתמכים.
    • אין תמיכה בפרמטרים של חיפוש שמבצעים התאמה פונטית.
    • הפרמטרים של תוצאות החיפוש _contained,‏ _containedType,‏ _summary=count ו-_summary=true לא נתמכים.
    • פרמטר החיפוש המיוחד _content מחפש בכל השדות של המשאב שאליו מתייחסים פרמטרים החיפוש. הוא לא כולל שדות שלא ניתן לחפש בהם. היא לא תומכת ב-AND (המונחים משולבים באופן מרומז עם AND) או בסוגריים.
    • לא ניתן להשתמש בפרמטרים המיוחדים לחיפוש Resource-query, Resource-filter, Resource-language, Resource-in ו-Resource-list.
    • הפרמטר _sort, כשמשתמשים בו בשדות עם רכיבים חוזרים, ממיין לפי הרכיב הראשון. זה שונה מהמפרט. הפרמטר _sort נתמך בפרמטרים של חיפוש מהסוגים number,‏ data,‏ string,‏ token ו-quantity.
    • לא ניתן להשתמש בשינוי האסימון לחיפוש :of-type, :code-text, text-advanced, ו-:text ובשינוי ההפניה לחיפוש :identifier, not-in, text-advanced ו-:code-text. אין תמיכה במחרוזת contains לשינוי חיפושים של URI.
    • אין תמיכה בחיפושים של הפניות קנוניות. הפניות קנוניות מטופלות כהפניות רגילות. אין תמיכה במגדירי הגישה above ו-below.
    • כשמשתמשים בפרמטר _type, אפשר להשתמש רק בפרמטרים הנפוצים (לכל המשאבים) של החיפוש, ולא בחיתוך של סוגי המשאבים שצוינו.
    • אפשר להשתמש בקבוצת המשנה הבאה של פרמטרים מורכבים לחיפוש:

      • Observation-code-value-concept
      • Observation-code-value-date
      • Observation-code-value-quantity
      • Observation-code-value-string
      • Observation-combo-code-value-concept
      • Observation-combo-code-value-quantity
      • Observation-component-code-value-concept
      • Observation-component-code-value-quantity

      אין תמיכה בפרמטרים המורכבים הנותרים של חיפוש.

    • השיטה POST לחיפוש לא מקבלת פרמטרים application/x-www-form-urlencoded בגוף הבקשה.

    • יש תמיכה בתו הכללי לחיפוש (*) בשדה _include, אבל אין תמיכה בו בשדה _revinclude.

אזורים שלא נתמכים כוללים:

  • אין תמיכה בסוג התוכן XML.
  • פעולת התיקון לא תומכת בתיקון XML או בתיקון FHIRPath.
  • אין תמיכה בבקשות HTTP HEAD.

היו היבטים מסוימים ב-API שסטו ממפרט FHIR בגלל תאימות לאחור בגרסאות קודמות של FHIR. הבעיות האלה תוקנו בגרסה R5:

  • כשאימות שדות חובה מופעל, שדות null ושדות ריקים (למשל, {}) נדחים עכשיו.
  • אין יותר תמיכה ב-UpperCamelCase בשדות של משאבים ב-JSON.
  • אסור להשתמש בהפניות urn:uuid בחבילות של קובצי נתונים, גם אם השלמות ההפנית מושבתת. חבילות של פעולות בחבילה אף פעם לא משכתבות הפניות.
  • חבילות של טרנזקציות מחמירות יותר בכתיבה מחדש של הפניות מאשר בעבר, ומוצגות שגיאות לגבי FullUrls לא תקינים ברשומות, כפי שמוגדר במפרט: https://www.hl7.org/fhir/bundle.html#references.
  • קובצי עזר שנראים כמו קובצי עזר של משאבים חייבים לכלול מזהים תקינים.
  • אימות פרופיל הבסיס מופעל לבקשות PATCH.

R4

הצהרת היכולות של השרת מציינת את החלקים במפרט שנתמכים.

  • אחסון ושליפה של כל משאבי R4, כולל תמיכה ברכיבי הרחבה. ה-API מקבל, מאחסן ומחזיר תוספים בכל רכיב נתונים.
  • כל השיטות ב-RESTful API שמשתמשות בסוג התוכן JSON נתמכות, למעט:
    • לא נתמכות אינטראקציות ברמת הסוג וברמת המערכת של היסטוריה שמאחזרות היסטוריה בכמה משאבים. אפשר לאחזר את היסטוריית המשאבים רק עבור משאב אחד בכל פעם.
    • האינטראקציה batch/transaction לא תומכת בפעולות חיפוש בתוך החבילה.
  • יש תמיכה באימות ובאכיפה של פרופילים.
  • פרמטרים של חיפוש שהוגדרו על ידי המשתמש, כולל חיפושים ברכיבי תוסף, נתמכים ב-API v1beta1.
  • כל הפונקציונליות של חיפוש נתמכת, מלבד:

    • אין תמיכה בפרמטרים של החיפוש Group-characteristic-value,‏ Location-near,‏ Bundle-composition ו-Bundle-message.
    • אין תמיכה בפרמטרים של חיפוש שמבצעים התאמה פונטית.
    • הפרמטרים של תוצאות החיפוש _contained,‏ _containedType,‏ _summary=count ו-_summary=true לא נתמכים.
    • פרמטר החיפוש המיוחד _content מחפש בכל השדות של המשאב שאליו מתייחסים פרמטרים החיפוש. הוא לא כולל שדות שלא ניתן לחפש בהם. היא לא תומכת ב-AND (המונחים משולבים באופן מרומז עם AND) או בסוגריים.
    • פרמטרי החיפוש המיוחדים _query, _filter ו-_list לא נתמכים.
    • הפרמטר _sort, כשמשתמשים בו בשדות עם רכיבים חוזרים, ממיין לפי הרכיב הראשון. זה שונה מהמפרט. הפרמטר _sort נתמך בפרמטרים של חיפוש מהסוגים number,‏ data,‏ string,‏ token ו-quantity.
    • אין תמיכה בתנאי החיפוש של הטוקן :of-type ובתנאי החיפוש של ההפניה :identifier.
    • אין תמיכה בחיפושים של הפניות קנוניות. הפניות קנוניות מטופלות כהפניות רגילות.
    • כשמשתמשים בפרמטר _type, אפשר להשתמש רק בפרמטרים של חיפוש משותף (לכל המשאבים), ולא בחיתוך של סוגי המשאבים שצוינו.
    • אפשר להשתמש בקבוצת המשנה הבאה של פרמטרים מורכבים לחיפוש:

      • DocumentReference-relationship
      • Observation-code-value-concept
      • Observation-code-value-date
      • Observation-code-value-quantity
      • Observation-code-value-string
      • Observation-combo-code-value-concept
      • Observation-combo-code-value-quantity
      • Observation-component-code-value-concept
      • Observation-component-code-value-quantity

      אין תמיכה בפרמטרים המורכבים הנותרים של חיפוש.

    • השיטה POST לחיפוש לא מקבלת פרמטרים application/x-www-form-urlencoded בגוף הבקשה.

    • יש תמיכה בתו הכללי לחיפוש (*) בשדה _include, אבל אין תמיכה בו בשדה _revinclude.

אזורים שלא נתמכים כוללים:

  • רוב הפעולות המורחבות לא מיושמות.
  • אין תמיכה בסוג התוכן XML.
  • פעולת התיקון לא תומכת בתיקון XML או בתיקון FHIRPath.
  • אין תמיכה בבקשות HTTP HEAD.

אזורים שבהם ה-API חורג ממפרט FHIR כדי לאפשר תאימות לדורות קודמים:

  • null מתקבל בשדות חובה
  • מערכת Google מקבלת קוד ריק בשדות חובה
  • אפשר להשתמש בהפניות urn:uuid בחבילות של פעולות בכמות גדולה כששלמות ההפניות מושבתת.

STU3

הצהרת היכולות של השרת מציינת את החלקים במפרט שנתמכים.

  • יש תמיכה באחסון ובאחזור של כל המשאבים של STU3, כולל תמיכה ברכיבי הרחבה. ה-API מקבל, מאחסן ומחזיר תוספים בכל רכיב נתונים.
  • כל השיטות ב-RESTful API שמשתמשות בסוג התוכן JSON נתמכות, למעט:

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

  • פרמטרים של חיפוש שהוגדרו על ידי המשתמש, כולל חיפושים ברכיבי תוסף, נתמכים ב-API v1beta1.

  • כל הפונקציונליות של חיפוש נתמכת, מלבד:

    • הפרמטרים של החיפוש Group-characteristic-value, Sequence-coordinate,‏ Location-near,‏ Location-near-distance, Bundle-composition ו-Bundle-message לא נתמכים.
    • אין תמיכה בפרמטרים של חיפוש שמבצעים התאמה פונטית.
    • הפרמטרים של תוצאות החיפוש _contained,‏ _containedType,‏ _summary=count ו-_summary=true לא נתמכים.
    • פרמטר החיפוש המיוחד _content מחפש בכל השדות של המשאב שאליו מתייחסים פרמטרים החיפוש. הוא לא כולל שדות שלא ניתן לחפש בהם. היא לא תומכת ב-AND מפורש (המונחים משולבים באופן מרומז עם AND) או בסוגריים.
    • פרמטרי החיפוש המיוחדים _query, _filter ו-_list לא נתמכים.
    • הפרמטר _sort, כשמשתמשים בו בשדות עם רכיבים חוזרים, ממיין לפי הרכיב הראשון. זה שונה מהמפרט. הפרמטר _sort נתמך בפרמטרים של חיפוש מהסוגים number,‏ data,‏ string,‏ token ו-quantity.
    • השיטה POST לחיפוש לא מקבלת פרמטרים application/x-www-form-urlencoded בגוף הבקשה.
    • יש תמיכה בתו הכללי לחיפוש (*) בשדה _include, אבל אין תמיכה בו בשדה _revinclude.

אזורים שלא נתמכים כוללים:

  • רוב הפעולות המורחבות לא מיושמות.
  • אין תמיכה בסוג התוכן XML.
  • פעולת התיקון לא תומכת בתיקון XML או בתיקון FHIRPath.

אזורים שבהם ה-API חורג ממפרט FHIR כדי לאפשר תאימות לדורות קודמים:

  • null מתקבל בשדות חובה
  • מערכת Google מקבלת קוד ריק בשדות חובה
  • אפשר להשתמש בהפניות urn:uuid בחבילות של פעולות בכמות גדולה כששלמות ההפניות מושבתת.

DSTU2

הצהרת התאימות של השרת מציינת את החלקים במפרט שנתמכים.

  • יש תמיכה באחסון ובאחזור של כל המשאבים של DSTU2, כולל תמיכה ברכיבי הרחבה. ה-API מקבל, מאחסן ומחזיר תוספים בכל רכיב נתונים.
  • כל השיטות ב-RESTful API שמשתמשות בסוג התוכן JSON נתמכות, למעט:
    • לא נתמכות אינטראקציות ברמת הסוג וברמת המערכת של היסטוריה שמאחזרות היסטוריה בכמה משאבים. אפשר לאחזר את היסטוריית המשאבים רק עבור משאב אחד בכל פעם.
    • האינטראקציה batch/transaction לא תומכת בפעולות חיפוש בתוך החבילה.
  • יש תמיכה באימות ובאכיפה של פרופילים.
  • יש תמיכה בכל הפונקציונליות של חיפוש, מלבד:
    • הפרמטרים לחיפוש Group-characteristic-value,‏ Location-near,‏ Location-near-distance,‏ Bundle-composition,‏ Bundle-message,‏ Coverage-dependent ו-Coverage-sequence לא נתמכים.
    • אין תמיכה בפרמטרים של חיפוש שמוגדרים באלמנטים של תוסף.
    • אין תמיכה בפרמטרים של חיפוש שמבצעים התאמה פונטית.
    • הפרמטרים של תוצאות החיפוש _contained,‏ _containedType,‏ _summary=count ו-_summary=true לא נתמכים.
    • פרמטר החיפוש המיוחד _content מחפש בכל השדות של המשאב שאליו מתייחסים פרמטרים החיפוש. הוא לא כולל שדות שלא ניתן לחפש בהם. היא לא תומכת ב-AND מפורש (המונחים משולבים באופן מרומז עם AND) או בסוגריים.
    • פרמטרי החיפוש המיוחדים _query, _filter ו-_list לא נתמכים.
    • הפרמטר _sort, כשמשתמשים בו בשדות עם רכיבים חוזרים, ממיין לפי הרכיב הראשון. זה שונה מהמפרט. הפרמטר _sort נתמך בפרמטרים של חיפוש מהסוגים number,‏ data,‏ string,‏ token ו-quantity.
    • השיטה POST לחיפוש לא מקבלת פרמטרים application/x-www-form-urlencoded בגוף הבקשה.
    • יש תמיכה בתו הכללי לחיפוש (*) בשדה _include, אבל אין תמיכה בו בשדה _revinclude.

אזורים שלא נתמכים כוללים:

  • רוב הפעולות המורחבות לא מיושמות.
  • אין תמיכה בפרמטרים של חיפוש שהוגדרו על ידי המשתמש ב-DSTU2.
  • אין תמיכה בסוג התוכן XML.

אזורים שבהם ה-API חורג ממפרט FHIR כדי לאפשר תאימות לדורות קודמים:

  • null מתקבל בשדות חובה
  • מערכת Google מקבלת קוד ריק בשדות חובה
  • אפשר להשתמש בהפניות urn:uuid בחבילות של פעולות בכמות גדולה כששלמות ההפניות מושבתת.

פרטים על פעולות שלא נכללות במפרט שפורסם

  • ההגדרה של מאגר FHIR כוללת אפשרות לשלוח התראה לנושא Pub/Sub שצוין על ידי המשתמש על כל השינויים במשאבים במאגר. מנגנון ההתראות הזה משותף לכל המאגרים של Cloud Healthcare API, והוא לא נועד להחליף את הפונקציונליות של FHIR Subscription (DSTU2,‏ STU3,‏ R4 ו-R5).
  • פעולת הייצוא של מאגר FHIR ליעדים ב-Cloud Storage מציעה רק ייצוא בכמות גדולה של המאגר כולו. הוא לא הטמעה של טיוטת המפרט של FHIR Bulk Data.
  • פעולת הייבוא של מאגר FHIR לא מוגדרת במפרט.
  • הפעולה Resource-purge שמסירה גרסאות היסטוריות של משאבים לא מוגדרת במפרט. יכול להיות שיהיו שינויים ב-API הזה בעתיד אם תהליך התקנים או יישומי FHIR אחרים יתכנסו לשיטת API שונה לתרחיש השימוש הזה.
  • נקודת הקצה ExecuteBundle מקבלת חבילות history בגרסה v1beta1 כדי ליצור גרסאות היסטוריות של משאבים.