Skip to content

Commit

Permalink
Merge pull request #35 from 8400TheHealthNetwork/dev
Browse files Browse the repository at this point in the history
testing prod. v0.14.1 - first
  • Loading branch information
erezshalom authored Apr 21, 2024
2 parents 974eaf7 + 0571f1d commit 877c9c9
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 106 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/DeployEcsProd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,11 @@ jobs:
aws s3 sync s3://igpublisher-static-prod ./webroot --region eu-west-1
if [ -d "./webroot/html" ]; then
mv ./webroot/html ./webroot/core
latest=$(jq -r '.packages[].latest.version' ./webroot/package-registry.json)
echo "Creating latest version folder $latest"
mkdir ./webroot/$latest
versions=$(jq -r '.list[] | select( .version != "current" ) | .version' ./webroot/core/package-list.json)
for version in $versions; do
mkdir "./webroot/$version"
echo "Folder 'webroot/$version' created."
done
else
echo "First Version"
fi
Expand Down
57 changes: 0 additions & 57 deletions ILCore/input/ImplementationGuide-IsraelCorePatient.json

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
<div dir="rtl" markdown="1">

### כללי
Address הוא אינו משאב (resource) אלא סוג נתונים (data-type) כללי המשמש לתיעוד כתובות ולכן משתמשים בוresources רבים בהם נדרש תעוד של כתובות (למשל כתובת של מטופל, מטפל, ארגון וכו'). כתובת כוללת מס' אלמנטים כגון: מטרת שימוש (למשל עבודה או בית), סוג (למשל כתובת לדיוור בלבד או כתובת פיזית), המדינה, העיר והמחוז, פרטי הכתובת עצמה (שורות טקסט המכילות שם רחוב, מס' בית וכניסה, דירה וכו'), מיקוד והתקופה בה היתה הכתובת תקפה. בתצורתו הבסיסית Address מאפשר להגדיר כתובת באופן פתוח וללא אכיפת מגבלות כלשהם, כאשר הרכיבים המתארים את פרטי הכתובת עצמה (כלומר שם רחוב, מס' בית, מס' כניסה וכו') מוגדרים כולם באלמנט line כמערך של טקסט, דבר המקשה על התעוד והעברת הנתונים באופן מפורט וסטנדרטי (למשל, נדרש לחלץ את שם הרחוב מתוך טקסט פרטי הכתובת). כמו כן, Address בתצורתו הבסיסית אינו מאפשר לתעד קואורדינטות GIS.
Address הוא אינו משאב (resource) אלא סוג נתונים (data-type) כללי המשמש לתיעוד כתובות ולכן משתמשים בו ב-resources רבים בהם נדרש תעוד של כתובות (למשל כתובת של מטופל, מטפל, ארגון וכו'). כתובת כוללת מס' אלמנטים כגון: מטרת שימוש (למשל עבודה או בית), סוג (למשל כתובת לדיוור בלבד או כתובת פיזית), המדינה, העיר והמחוז, פרטי הכתובת עצמה (שורות טקסט המכילות שם רחוב, מס' בית וכניסה, דירה וכו'), מיקוד והתקופה בה היתה הכתובת תקפה. בתצורתו הבסיסית Address מאפשר להגדיר כתובת באופן פתוח וללא אכיפת מגבלות כלשהן, כאשר הרכיבים המתארים את פרטי הכתובת עצמה (כלומר שם רחוב, מס' בית, מס' כניסה וכו') מוגדרים כולם באלמנט line כמערך של שורות טקסט, דבר המקשה על הפרדת רכיבי הכתובת כפי שנהוג במערכות מידע רבות בישראל (למשל, אין דרך מוסדרת לחלץ את שם הרחוב מתוך הטקסט). כמו כן, Address בתצורתו הבסיסית אינו מאפשר לתעד קוד יישוב כפי שנהוג בישראל, אלא רק שם יישוב (באלמנט city).

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

עוד מידע על פרופיל זה ניתן למצוא
[ באתר הקהילה](https://www.fhir-il-community.org/projects/ilcore-address---%D7%A4%D7%A8%D7%95%D7%A4%D7%99%D7%9C-%D7%9B%D7%AA%D7%95%D7%91%D7%AA)
עוד מידע על פרופיל זה ניתן למצוא [באתר הקהילה](https://www.fhir-il-community.org/projects/ilcore-address---%D7%A4%D7%A8%D7%95%D7%A4%D7%99%D7%9C-%D7%9B%D7%AA%D7%95%D7%91%D7%AA)

### הרחבות
# הרחבות על line (שורות הכתובת)

כיוון שבתוצרתו הבסיסית Address אינו מכיל אלמנטים ייעודיים לכל אחד מרכיבי הבסיס של הכתובת (רחוב, מספר בית וכו') אלא רק מערך של שורות טקסט, הוחלט להוסיף מספר הרחבות ייעודיות לכך מ7HL, ע"מ לתעד כתובת באופן שלם ומפורט יותר. כך מרכיביהן של שורות במערך line, לדוגמא "רחוב פרג 7, כניסה ב, דירה 3" או "ת.ד. 1446"יכולים להיות מיוצגים באופן בדיד עם ההרחבות הבאות:
כיוון שבתוצרתו הבסיסית Address אינו מכיל אלמנטים ייעודיים לכל אחד מרכיבי הבסיס של הכתובת (רחוב, מספר בית וכו') אלא רק מערך של שורות טקסט, הוחלט להוסיף מספר הרחבות ייעודיות לכך מ-HL7, ע"מ להבהיר כיצד ניתן לתעד את רכיבי הכתובת באלמנטים נפרדים. כך מרכיביהן של שורות במערך line, לדוגמא "רחוב פרג 7, כניסה ב, דירה 3" או "ת.ד. 1446" יכולים להיות מיוצגים באופן בדיד עם ההרחבות הבאות:

- [streetName](http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName) – שם הרחוב (למשל, "פרג")
- [houseNumber](http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber)- מס' הבית (למשל, "7")
- [buildingNumberSuffix](http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix) – כניסה (למשל, "ב")
- [unitId](http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitID) – מס' דירה ( למשל "3")
- [postBox](http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox)- מס' תיבת דואר (למשל ,"1446")

כיוון שאלמנט line הוא מערך של שורות טקסט, רכיבי הכתובת עשויים להתפרס על יותר משורה אחת. למשל, ניתן לראות בדוגמא 1 כתובת שהטקסט המלא שלה (אלמנט Address.text) הוא "רחוב פרג 7,כניסה ב', דירה 3 גדרה" ובאלמנט line שלה ישנן שתי שורות, כך שבתא הראשון במערך (line[0]) תהיה השורה "פרג 7" ובתא השני (line[1]) יהיה הטקסט "כניסה ב". כיוון שההרחבות הנ"ל מוגדרות על אלמנט אשר יכול לחזור על עצמו (מערך), כל מופע של ההרחבה חייב להיות משויך לאיבר מסוים במערך, ויש לוודא שההרחבות מוגדרות על השורה הנכונה. ניתן לראות בדוגמא 1 שההרחבות streetName ו-houseNumber מוגדרות על התא הראשון ואילו buildingNumberSuffix ו -unitId על התא השני. כיוון שהרחבות אלו הן אופציונאליות, אין צורך להגדיר את כולן עבור כל תא, אלא רק את הרלוונטיות בהתאם לתוכן התא. כמו כן יש לשים לב שהשימוש בהרחבות רק יחדד את המידע הקיים בשורה או יוסיף עליו ולא יסתור אותו או ישנה אותו, אחרת יש להגדיר את ההרחבה כ-modifierExtention. כלומר, זה יהיה לא תקין להגדיר הרחבת כניסה עם הערך "ב" על שורה המכילה את הטקסט "כניסה ד'". על הערכים שבהרחבות להיות תואמים לתוכן שנמצא בשורה אליה הם מתייחסים (כמו הרחוב ומספר הבית בשורה 0 בדוגמא) או להכיל מידע נוסף שלא נכלל בטקסט עצמו (כמו הדירה בהרחבה על שורה 1).
כיוון שאלמנט line הוא מערך של שורות טקסט, רכיבי הכתובת עשויים להתפרס על יותר משורה אחת. למשל, ניתן לראות בדוגמא 1 כתובת שהטקסט המלא שלה (אלמנט Address.text) הוא "רחוב פרג 7,כניסה ב', דירה 3 גדרה" ובאלמנט line שלה ישנן שתי שורות, כך שבתא הראשון במערך (line[0]) תהיה השורה "פרג 7" ובתא השני (line[1]) יהיה הטקסט "כניסה ב". כיוון שההרחבות הנ"ל מוגדרות על אלמנט אשר יכול לחזור על עצמו (מערך), כל מופע של ההרחבה חייב להיות משויך לאיבר מסוים במערך, ויש לוודא שההרחבות מוגדרות על השורה הנכונה. ניתן לראות בדוגמא 1 שההרחבות streetName ו-houseNumber מוגדרות על התא הראשון ואילו buildingNumberSuffix ו-unitId על התא השני. כיוון שהרחבות אלו הן אופציונאליות, אין צורך להגדיר את כולן עבור כל תא, אלא רק את הרלוונטיות בהתאם לתוכן התא. כמו כן יש לשים לב שהשימוש בהרחבות רק יחדד את המידע הקיים בשורה או יוסיף עליו ולא יסתור אותו או ישנה אותו, אחרת יש להגדיר את ההרחבה כ-modifierExtention. כלומר, זה יהיה לא תקין להגדיר הרחבת כניסה עם הערך "ב" על שורה המכילה את הטקסט "כניסה ד'". על הערכים שבהרחבות להיות תואמים לתוכן שנמצא בשורה אליה הם מתייחסים (כמו הרחוב ומספר הבית בשורה 0 בדוגמא) או להכיל מידע נוסף שלא נכלל בטקסט עצמו (כמו הדירה בהרחבה על שורה 1).

דוגמא 1 – אלמנט line עם שני תאים לכתובת : **רחוב הרצל 7 ,כניסה ב, דירה 3 גדרה,ת.ד. 1446**

Expand All @@ -31,7 +30,7 @@ Address הוא אינו משאב (resource) אלא סוג נתונים (data-typ
| ב | |buildingNumberSuffix |
| 3 | |unitId |

בנוסף, כאשר מייצגים את המידע בפורמט JSON יש לשים לב שבמקרים שבהם נרצה להעביר את הכתובת עם ההרחבות אך ללא הטקסט בשורת הכתובת, יש לשים null כערך בתא המערך כמו בדוגמא 2. יש להקפיד לשים null בכל תא שעליו מעוניינים להעביר הרחבות, מאחר ושיוך של הרחבה לשורה נקבע לפי התאמה בין האינדקס שלה במערך line לבין האינדקס במערך extension.. כמו-כן, מאותה הסיבה, אם נרצה להרחיב רק את השורה השניה, יש "לתפוס" את התא הראשון במערך ה-extension עם הערך null, כדי שנוכל לשים את ההרחבות על התא הבא במערך.
בנוסף, כאשר מייצגים את המידע בפורמט JSON יש לשים לב שבמקרים שבהם נרצה להעביר את הכתובת עם ההרחבות אך ללא הטקסט בשורת הכתובת, יש לשים null כערך בתא המערך כמו בדוגמא 2. יש להקפיד לשים null בכל תא שעליו מעוניינים להעביר הרחבות, מאחר ושיוך של הרחבה לשורה נקבע לפי התאמה בין האינדקס שלה במערך line לבין האינדקס במערך extension. כמו-כן, מאותה הסיבה, אם נרצה להרחיב רק את השורה השניה, יש "לתפוס" את התא הראשון במערך ה-extension עם הערך null, כדי שנוכל לשים את ההרחבות על התא הבא במערך.

דוגמא 2 – אלמנט line עם תא אחד null

Expand All @@ -44,11 +43,11 @@ Address הוא אינו משאב (resource) אלא סוג נתונים (data-typ
ניתן לראות מימוש של הרחבה זו בדוגמא של מטופל עם שתי כתובות הנמצאת [פה](https://simplifier.net/ILCore/patient-with-two-addresses/~json)

# הרחבה על אלמנט city
- [citycode](http://fhir.health.gov.il/StructureDefinition/ext-city-code) – ע"מ לאפשר ייצוג מקודד של היישוב כפי שנהוג במערכות רבות בישראל, הוחלט להוסיף הרחבה חדשה ייעודית לכך. במסגרת ההגדרה של הרחבה זו בוצעה גם הגדרה של מערכת הקידוד "סמל ישוב" המהווה מערכת קידוד סטנדרטית ליישובים במדינת ישראל ונמצאת בשימוש נרחב ע"י ארגונים רבים, כולל משרד הפנים, רשות האוכלוסין וההגירה ודואר ישראל. . (ראה פרטים נוספים על הרחבה זו בדף שלה)
- [citycode](http://fhir.health.gov.il/StructureDefinition/ext-city-code) – ע"מ לאפשר ייצוג מקודד של היישוב כפי שנהוג במערכות רבות בישראל, הוחלט להוסיף הרחבה חדשה ייעודית לכך. במסגרת ההגדרה של הרחבה זו בוצעה גם הגדרה של מערכת הקידוד "סמל ישוב" המהווה מערכת קידוד סטנדרטית ליישובים במדינת ישראל ונמצאת בשימוש נרחב ע"י ארגונים רבים, כולל משרד הפנים, רשות האוכלוסין וההגירה ודואר ישראל (ראה פרטים נוספים על הרחבה זו בדף שלה).

### Must Support

בנוסף להרחבות שהוגדרו, הוחלט להגדיר חלק מהאלמנטים את התגית MS) Must Support) המציינת שכל מערכת חייבת לתמוך גם באלמנט זה במידה והוא קיים במופע ה- ILCoreAddress שהתקבל. להלן האלמנטים שהוגדו עם MS:
בנוסף להרחבות שהוגדרו, הוחלט להגדיר עבור חלק מהאלמנטים את התגית MS) Must Support) המציינת שכל מערכת חייבת לתמוך גם באלמנט זה במידה והוא קיים במופע ה-ILCoreAddress שהתקבל. להלן האלמנטים שהוגדו עם MS:

- line
- streetname
Expand Down
Loading

0 comments on commit 877c9c9

Please sign in to comment.