feat: LegalAssistance extension v1.0.0 — Direct Access Report

- DirectAccessReport entity (48 fields, status lifecycle, Case relationship)
- Case fields: cLegalAidType, cAppointmentDate, cAidType, cUrgencyLevel, cFilingDeadline
- Auto-tasks hook: creates 3 tasks when case set to Direct Access
- DOCX template with 72 placeholders (converted from original form)
- Shira plugin: generate_initial_report tool with structured conversation flow
- AfterInstall/AfterUninstall scripts for plugin deployment
- Hebrew + English translations

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-06 05:03:21 +00:00
commit e3dfd5f960
24 changed files with 1496 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
{
"casePromptAppend": "=== DIRECT ACCESS REPORT (דוח גישה ישירה) ===\nWhen the user asks to create a direct access report (\"דוח גישה ישירה\", \"דיווח ראשוני\", \"דוח דיווח ראשוני\"), follow this structured conversation flow:\n\nIMPORTANT: Do NOT call generate_initial_report until you have collected ALL required information through conversation.\n\nStep 1 — AUTO-FILL from context:\n- Pull from case: מספר תיק סיוע (cLegalAidNumber), בית הדין (cCourt), מספר הליך (cCourtCaseNumber)\n- Pull from contact: שם פרטי, שם משפחה\n- Tell the user what you already have and what's missing\n\nStep 2 — ASK about the appointment:\n- מתי קיבלת את המינוי? (appointmentDate)\n- מה מהות הסיוע? (הגשת ערעור / יעוץ / סיוע נוסף / אי מתן סיוע)\n- מה דחיפות ההליך? (רגיל / דחוף / בהול)\n- מועד אחרון להגשה?\n\nStep 3 — ASK about client contact:\n- מתי יצרת קשר ראשוני עם הלקוח?\n- If > 48 hours from appointment: מה סיבת העיכוב?\n- מתי נפגשתם? מי נכח בפגישה?\n- If > 10 days from appointment: מה סיבת העיכוב?\n- הקשר עם הלקוח תקין? (if not, ask for details)\n\nStep 4 — ASK about the proceeding:\n- עניין ההליך? (נכות כללית/מעבודה/איבה/ניידות/אי כושר/שירותים מיוחדים/סיעוד/etc.)\n- תמצית התביעה/הערעור?\n- טענות ההגנה (אם הוגשו)?\n\nStep 5 — ASK legal evaluation questions (BASED ON SUBJECT TYPE):\n\nIf נכות כללית/מעבודה/איבה/ניידות:\n- הוועדה התייחסה לכל המסמכים הרפואיים? פרט\n- ההחלטה מנומקת? ניתן להתחקות אחר הלך הרוח? פרט חוסרים\n- הרכב הוועדה תואם ליקויים? הרכב חסר?\n- התייחסו לכל תלונות הלקוח? פרט חוסרים\n- בדיקה קלינית נערכה? פער בין בדיקה למסמכים?\n\nIf אי כושר (in addition):\n- בחינת הלכת מוהרה (גיל, רקע תעסוקתי, השכלה)? נתונים חסרים?\n- פער בין פקיד שיקום לוועדה?\n\nIf שירותים מיוחדים/סיעוד:\n- פער ניקוד vs מצב ומסמכים?\n- התייחסות להיבטים ייחודיים (נפילות, מצב קוגנטיבי, השגחה)?\n\nStep 6 — ASK for recommendation:\n- מה ההמלצה? (ייעוץ חלף ייצוג / ויתור / החלפת ייצוג / לא נוצר קשר / לא התקיימה פגישה / עוד לא ניתן להחליט / נדרשים מסמכים / המלצה לסירוב)\n- Generate detailed justification based on the answers\n\nStep 7 — ASK about additional rights:\n- הלקוח צריך סיוע נוסף? (לא / בביטוח לאומי / תחום אחר)\n- If yes: פרטים, דחיפות, מועדים\n- הסיוע בתחום התמחותך? מעוניין לייצג?\n- הערות נוספות?\n\nStep 8 — GENERATE:\n- Summarize all collected data to the user\n- Ask for confirmation\n- Call generate_initial_report with ALL collected data\n\nNOTES:\n- Ask questions in natural conversation style, not as a form\n- Group related questions together (2-3 per message)\n- Use the case context to pre-fill what you can\n- For the legal analysis, formulate the answers based on the lawyer's explanations\n- The recommendationDetail should be a well-written legal justification\n"
}
+152
View File
@@ -0,0 +1,152 @@
{
"tools": {
"generate_initial_report": {
"description": "Generate Direct Access initial report (דוח דיווח ראשוני — גישה ישירה). Call ONLY after collecting ALL required data through conversation with the lawyer. This tool creates a DirectAccessReport entity and generates a DOCX document.",
"parameters": {
"type": "object",
"properties": {
"aidType": {
"type": "string",
"enum": ["הגשת ערעור", "יעוץ והדרכה", "סיוע נוסף ביטוח לאומי", "סיוע נוסף תחום אחר", "אי מתן סיוע"],
"description": "מהות הסיוע"
},
"urgencyLevel": {
"type": "string",
"enum": ["רגיל", "דחוף", "בהול"],
"description": "דחיפות ההליך"
},
"filingDeadline": {
"type": "string",
"description": "מועד אחרון להגשה (YYYY-MM-DD)"
},
"appointmentDate": {
"type": "string",
"description": "מועד קבלת המינוי (YYYY-MM-DD)"
},
"additionalUrgency": {
"type": "string",
"enum": ["רגיל", "דחוף", "בהול"],
"description": "דחיפות הליך נוסף (if applicable)"
},
"additionalDeadline": {
"type": "string",
"description": "מועדים להליך נוסף"
},
"firstContactDate": {
"type": "string",
"description": "תאריך יצירת קשר ראשוני (YYYY-MM-DD)"
},
"contactDelayReason": {
"type": "string",
"description": "סיבת עיכוב ביצירת קשר (if > 48 hours)"
},
"meetingDate": {
"type": "string",
"description": "תאריך פגישה עם הלקוח (YYYY-MM-DD)"
},
"meetingDelayReason": {
"type": "string",
"description": "סיבת עיכוב בפגישה (if > 10 days)"
},
"meetingAttendees": {
"type": "string",
"description": "נוכחים בפגישה (פרט לפונה)"
},
"contactStatus": {
"type": "string",
"enum": ["תקין", "לא תקין"],
"description": "מצב הקשר עם הלקוח"
},
"contactStatusDetail": {
"type": "string",
"description": "פירוט מצב קשר (if לא תקין)"
},
"proceedingNumber": {
"type": "string",
"description": "מספר ההליך בבית הדין"
},
"courtName": {
"type": "string",
"description": "בית הדין"
},
"proceedingSubject": {
"type": "string",
"enum": ["נכות כללית", "נכות מעבודה", "נכות איבה", "ניידות", "אי כושר", "שירותים מיוחדים", "סיעוד", "גמלת הבטחת הכנסה", "דמי אבטלה", "אחר"],
"description": "עניין ההליך"
},
"claimSummary": {
"type": "string",
"description": "תמצית התביעה/הערעור"
},
"defenseClaims": {
"type": "string",
"description": "טענות ההגנה (אם הוגשו)"
},
"legalAnalysis": {
"type": "object",
"description": "ניתוח הסיכוי המשפטי — מלא רק שדות רלוונטיים לסוג התביעה",
"properties": {
"q1DocsReviewed": { "type": "boolean" },
"q1DocsDetail": { "type": "string" },
"q2Reasoned": { "type": "boolean" },
"q2ReasonDetail": { "type": "string" },
"q3PanelMatch": { "type": "boolean" },
"q4PanelComposition": { "type": "string" },
"q5ComplaintsAddressed": { "type": "boolean" },
"q6ComplaintsDetail": { "type": "string" },
"q7ClinicalExam": { "type": "boolean" },
"q8ClinicalGap": { "type": "string" },
"q9MoharaApplied": { "type": "boolean" },
"q9MoharaDetail": { "type": "string" },
"q10RehabGap": { "type": "boolean" },
"q10RehabDetail": { "type": "string" },
"q11ScoreGap": { "type": "boolean" },
"q11ScoreDetail": { "type": "string" },
"q12UniqueAspects": { "type": "boolean" },
"q12UniqueDetail": { "type": "string" }
}
},
"recommendationType": {
"type": "string",
"enum": ["ייעוץ והדרכה חלף ייצוג", "ויתור הלקוח", "החלפת ייצוג", "לא נוצר קשר", "לא התקיימה פגישה", "עדיין לא ניתן להחליט", "נדרשים מסמכים נוספים", "המלצה לסירוב"],
"description": "סוג ההמלצה/ההודעה"
},
"recommendationDetail": {
"type": "string",
"description": "פירוט מנומק של ההמלצה"
},
"additionalAidNeeded": {
"type": "string",
"enum": ["לא נחוץ", "נחוץ בתחום ביטוח לאומי", "נחוץ בתחום אחר"],
"description": "צורך בסיוע נוסף"
},
"additionalAidNIDetail": {
"type": "string",
"description": "פירוט סיוע נוסף בתחום ביטוח לאומי"
},
"additionalAidOtherDetail": {
"type": "string",
"description": "פירוט סיוע נוסף בתחום אחר"
},
"additionalAidUrgency": {
"type": "string",
"enum": ["רגיל", "דחוף", "בהול"]
},
"additionalAidDeadlines": {
"type": "string",
"description": "מועדים לסיוע נוסף"
},
"willingToRepresent": {
"type": "boolean",
"description": "הסיוע הנוסף בתחום התמחותי ומעוניין לייצג?"
},
"notes": {
"type": "string",
"description": "הערות כלליות"
}
},
"required": ["aidType", "proceedingSubject", "recommendationType"]
}
}
}
}