-
Notifications
You must be signed in to change notification settings - Fork 0
/
prs_complaint_interview.yml
522 lines (494 loc) · 17.4 KB
/
prs_complaint_interview.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
---
modules:
- docassemble.income.income
- .prs
- docassemble.ALToolbox.misc
- docassemble.AssemblyLine.al_general
- docassemble.AssemblyLine.al_document
- docassemble.AssemblyLine.al_courts
---
include:
- massachusetts_educational_evaluations_basic_information.yml
---
default screen parts:
post: |
% if not user_logged_in():
[:sign-in-alt: Sign-in](${url_of('login', next=interview_url())}) or [register](${url_of('register', next=interview_url())}) to save your progress.
% endif
Feedback, suggestions, or comments? [Complete this survey](${ interview_url(i=user_info().package + ":feedback.yml", github_repo="docassemble-StudentEvaluations", github_user='nonprofittechy', variable=user_info().variable, question_id=user_info().question_id, local=False,reset=1)} ){:target="_blank"}.
pre: |
% if get_config('debug'):
`Page id: ${ user_info().question_id }`
% endif
---
imports:
- pycountry
---
metadata:
title: |
MAC PRS Complaint (Language Access)
description: |
An interview to fill in MAC's Parent PRS Complaint Form: Language Access.
authors:
- name: Matt Brooks and Quinten Steenhuis
organization: LemmaLegal
revision_date: 2021-05-09
---
objects:
- translated_documents: PRSTranslatedDocuments.using(complete_attribute="complete")
- meetings: PRSMeetings.using(complete_attribute="complete")
- parent: ALIndividual
- school: ALIndividual
- student: ALIndividual
---
mandatory: True
id: mac prs language access complaint interview order block
code: |
prs_intro
student.name.first
parent.name.first
school.district_name
how_notified_school
student.language
parent.language
if not (translated_documents.there_are_any or meetings.there_are_any):
kickout_no_problems
explain_one_at_a_time
translated_documents.gather()
if len(translated_documents):
translated_documents_review
# TODO: can we have people upload images of the docs?
meetings.gather()
if len(meetings):
meetings_review
# TODO: give them an example of what it looks like at the beginning
# and end
# Is there someone you want to authorize to communicate with the state
# about this issue?
# You need to email a copy of this to both DESE and the superintendent
# of the school. Or mail it to "The office of the superintendent"
add_introduction
parent.signature
download_prs
---
code: |
translated_documents[i].name
translated_documents[i].complete = True
---
code: |
meetings[i].name
meetings[i].complete = True
---
id: prs_intro
continue button field: prs_intro
question: |
Tell the State about a problem with translations in your child's school
subquestion: |
This website will help you tell the State Department of Elementary
and Secondary Education about a problem with translations in your child's
school.
You can use this website if:
1. You are the parent of a child in a Massachusetts public school, and
1. you speak a language other than English as your first language.
fields:
- code: |
terms_of_use_field
---
id: background info about language needs
question: |
Your language
fields:
# TODO: this list is really way too long now
- What language do you speak best?: parent.language
input type: radio
choices:
- English: English
- Spanish: Spanish
- Arabic: Arabic
- Cantonese: Cantonese
- Cape Verdean: Cape Verdean Creole
- French: French
- Haitian Creole: Haitian Creole
- Mandarin: Mandarin
- Portuguese: Portuguese
- Other: Other
- Other Language: parent.language
show if:
variable: parent.language
is: Other
- How did you tell the school about your language needs?: how_notified_school
datatype: object_checkboxes
choices: how_notified_school_choices.values()
- Tell us more about how the school learned that you prefer a language other than English: how_notified_school_details
required: False
datatype: area
help: |
If there is more to say, add it here. For example, one parent might say
"The school knows that I speak Spanish because I notified a school
official by filling out a form. My preferred language is also included
on my child's IEP."
- List any accommodations that you need when communicating: parent.accommodations
datatype: area
required: False
---
variable name: how_notified_school_choices
use objects: True
data:
phone:
question: Phone
document: calling
letter:
question: Letter
document: writing a letter
email:
question: Email
document: writing an email
in person:
question: In person
document: speaking to them in-person
other verbal:
question: Other verbal notice
document: speaking to them
language survey:
question: School language survey
document: completing the school language survey
iep:
question: the student's IEP
document: the student's preferred language is included in their IEP
---
sets:
- student.name.first
- student.name.last
id: students name
question: |
What is the name of your child?
fields:
- code: |
student.name_fields()
---
sets:
- school.address.address
- school.address.city
id: school info
question: |
Where does ${ student } go to school?
fields:
- Name of school: school.name.first
- School district name: school.district_name
help: |
This is often the name of the city where you live.
- ${ student }'s classroom is: student.classroom_type
input type: radio
choices:
- General education: general education
- Special education: special education
- 504 plan: 504 plan
- Home school: home school
- code: |
school.address_fields()
---
sets:
- parent.name.first
- parent.name.last
id: parent name
question: |
What is your name?
subquestion: |
This should be the name of the parent or legal guardian of ${ student }.
fields:
- code: |
parent.name_fields()
---
id: translation problems
question: |
What kind of language access problems have you had?
subquestion: |
You have the right to have the school communicate with you in your
preferred language. That includes both spoken and written communication.
What kind of problems have you had with the school communicating in your
language?
fields:
- I have gotten emails, letters or documents that were not translated into my language or were poorly translated: translated_documents.there_are_any
datatype: yesnowide
- I have had meetings or phone calls with the school without an interpreter who speaks my language or which were poorly interpreted: meetings.there_are_any
datatype: yesnowide
---
id: explain how we ask details
question: |
Language access problems
subquestion: |
It can help the Department of Elementary and
Secondary Education to know about dates and times.
If you have letters or emails that show times
that you had language access problems, you may
want to look at them while you answer these
questions.
We will ask you for more information about
each time you had a language access problem,
one at a time.
continue button field: explain_one_at_a_time
---
id: kickout no problems
decoration: hand-paper
question: |
This website may not be for you
subquestion: |
This website is about language access problems.
You said that you have not had any problems with either written or spoken
language communication with ${ student }'s school district.
You can still download a template letter, but you will need to add your own
reasons for the complaint.
${ action_button_html(url_action('translated_documents.there_are_any'), label="Edit your answer") }
field: kickout_no_problems
buttons:
- Continue: continue
- Exit: leave
---
id: prs gather names of translated documents
question: |
Information about the ${ ordinal(i) } document
fields:
# TODO: make this an open text field for date
- Date document was sent: translated_documents[i].date
datatype: date
- Kind of document: translated_documents[i].name
input type: radio
code: |
evaluation_options
# TODO: make this flexible to let someone list multiple evaluations
- The school: translated_documents[i].translation_level
input type: radio
choices:
- Did not translate the document at all: no_translation
- Only translated part of the document: partial_translation
- Attempted to translate the document, but I could not understand the translation: poor_translation
- What kind of evaluation was it?: translated_documents[i].evaluation_type
show if:
variable: translated_documents[i].name
is: school_evaluation
- Describe the document and what happened (optional): translated_documents[i].description
datatype: area
required: False
help: |
Use your own words. For example, one parent might say: "I asked the
school to send me a copy
of my child’s IEP in Spanish at least two days before the team meeting,
but they told me that they would not be able to get a copy in Spanish
before then."
---
variable name: evaluation_options
data:
school_evaluation: School Evaluation
progress_reports: Special Education Progress Reports/Grade Reports
ieps: Individualized Education Programs (IEPs)
evaluation_consent: Evaluation Consent Forms
team_meeting: Team Meeting Invitations
discipline_notices: Notice of School Discipline Hearings and/or Discipline Hearing Decisions
letter_or_email: Letter or email
other: Other
---
id: prs is there another translated document
question: |
Is there another document with a translation problem?
yesno: translated_documents.there_is_another
---
id: prs gather names of meetings
question: |
What kind of meeting is the ${ ordinal(i) } meeting?
fields:
- What kind of meeting was this?: meetings[i].type
datatype: radio
choices:
- In-person meeting: in-person meeting
- Telephone call: telephone call
- Video meeting or Zoom: video meeting or Zoom meeting
- What was the meeting about?: meetings[i].name
- When was it?: meetings[i].date
datatype: date
hide if: meetings[i].inexact_date
- When was it?: meetings[i].date
hint: Write the best date that you know
show if: meetings[i].inexact_date
- I do not know the exact date: meetings[i].inexact_date
datatype: yesno
# TODO: note that someone did not need to ask for an interpreter
- note: |
The questions below ask about interpretation. You did **not** need
to ask for an interpreter at the meeting to have a language access
problem. Just do your best to explain what happened at the meeting.
- Did you ask for an interpreter at the meeting?: meetings[i].requested
datatype: yesnoradio
- Was there an interpreter at the meeting?: meetings[i].had_interpreter
datatype: yesnoradio
- Did the interpreter do a good job helping you understand what the school said and help the school understand what you said?: meetings[i].interpreter_was_successful
datatype: yesnoradio
show if: meetings[i].had_interpreter
- What else would you like to tell the State about this meeting? (optional): meetings[i].description
datatype: area
required: False
---
id: prs is there another meeting
question: |
Is there another meeting with an interpretation problem?
yesno: meetings.there_is_another
---
id: review translated documents
question: |
Here is what your letter will say so far
subquestion: |
Below is a draft of what your letter will tell the
Department of Elementary and Secondary Education about the problems
you have had with documents, letters and emails from your child's school.
Look at the draft below. Make any changes that you need.
Hit the enter key to add a new line any time you want a new paragraph in your
letter.
fields:
- Draft: translated_documents_review
datatype: area
rows: 5
default: |
% for document in translated_documents:
On ${ document.date }, ${ school } sent a ${ noun_singular(evaluation_options[document.name]).lower() } that was not translated into ${ parent.language }. ${ fix_punctuation(document.description) if document.description else '' }
% endfor
---
id: review conversations
question: |
Here is what your letter will say so far
subquestion: |
Below is a draft of what your letter will tell the
Department of Elementary and Secondary Education about the problems
you have had with phone calls, meetings, and video conferences from your
child's school.
Look at the draft below. Make any changes that you need.
Hit the enter key to add a new line any time you want a new paragraph in your
letter.
fields:
- Draft: meetings_review
datatype: area
rows: 5
default: |
% for meeting in meetings:
On ${ meeting.date }, I had a ${ meeting.type } meeting with ${ school } about ${ meeting.name }.\
% if meeting.requested:
I requested an interpreter who speaks ${ parent.language } at the meeting.\
% endif
% if not meeting.had_interpreter:
There was no interpreter at the meeting.\
% elif not meeting.interpreter_was_successful:
The interpretation was poor and I was not able to participate in the meeting.\
% endif
${ fix_punctuation(meeting.description) }
% endfor
---
id: intro paragraph
question: |
What would you like to tell the Department of Elementary and Secondary
Education?
subquestion: |
Your letter can include:
1. An introduction.
1. A list of facts about you, the language you speak, and your child.
1. The list of documents that you told us about that had translation
problems.
1. The list of meetings that you told us about that had interpretation
problems.
1. A paragraph that tells DESE about how the translation and interpretation
problems affected you.
Your letter should be in your own words. Take some time to think about
anything you want to tell DESE about.
fields:
- Do you want to include an introduction?: add_introduction
datatype: yesnoradio
- note: |
**This is how your letter will start:**
"I am filing this complaint because the ${ school.district_name }
school
district failed to provide me with adequate interpretation and/or
translation
for matters relating to my child ${ student }’s education in the
primary language of my home."
Finish the paragraph to explain why you are sending this letter.
If you are not sure what to say, it is okay to leave this blank.
show if: add_introduction
- Your introduction: letter_introduction
datatype: area
show if: add_introduction
help: |
For example, you could say:
I am sending this letter to receive past special education evaluation reports in English and in my home language and to make sure that in the future all communications from the school are in Spanish.
- How did it affect you that the school did not communicate with you in your own language? Use your own words.: letter_outro
datatype: area
rows: 5
required: False
help: |
For example, one parent might say:
"I felt powerless because I could not fully participate in making
important decisions about my child’s education without having the
IEP in Spanish."
- label: |
Are any of these concerns currently being addressed in the
Bureau of Special Education Appeals (BSEA), either in a mediation or
by a hearing?
field: hearing_in_bsea
datatype: yesnoradio
---
id: choices
question: |
What do you want the school district to do?
subquestion: |
Your letter can include any or all of the requests below that are common
when someone has had language access problems with their school.
# TODO: do we want to make all of the relief paragraphs optional?
---
id: applicable time period
question: |
What time period does this cover?
# NOTE: We can infer this from the earliest meeting or document date
---
depends on:
- meetings
- translated_documents
code: |
# School year runs from August-June. If meeting was before August,
# use the previous calendar year as the beginning calendar school year.
temp_year = today().year if today().month < 8 else today().year - 1
for event in meetings + translated_documents: # Take advantage of duck typing
if event.date.year < temp_year:
if event.date.month < 8:
temp_year = event.date.year -1
else:
temp_year = event.date.year
requested_school_year = f"{temp_year}-{temp_year+1}"
---
code: |
# TODO: when we have robust upload facility
translated_documents.attached = False
---
objects:
- prs_complaint: ALDocument.using(title="Language Access Complaint", filename="language_access_complaint", enabled=True)
---
objects:
- dese_bundle: ALDocumentBundle.using(elements=[prs_complaint], filename="prs_complaint")
- user_bundle: ALDocumentBundle.using(elements=[prs_complaint], filename="prs_complaint")
---
id: prs complaint form attachment block
attachment:
- name: prs_complaint_name
variable name: prs_complaint[i]
filename: prs_complaint
docx template file: prs_complaint_template_language_access.docx
---
id: download
event: download_prs
question: |
Your letter is ready
subquestion: |
${ user_bundle.download_list_html(format='docx') }
${ user_bundle.send_button_html() }
---
generic object: ALDocumentBundle
template: x.send_email_template
subject: |
Your "Language Access Complaint" document from Mass Advocates for Children is ready
content: |
Please find the document for ${ parent } attached.