ncs_mdes 0.12.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ ##
4
+ # A script to generate disposition_codes.yml from the MDES 3.2
5
+ # spreadsheet's Dispositions tab.
6
+ #
7
+ # This script requires the 'roo' gem, which is not included in
8
+ # ncs_mdes's gemspec because it has a huge number of dependencies and
9
+ # is not needed at runtime.
10
+
11
+ require 'rubygems'
12
+ require 'roo'
13
+ require 'yaml'
14
+
15
+ MDES_XLSX = ARGV.first or fail 'Please provide the path to the MDES spreadsheet'
16
+ TARGET = File.expand_path('../disposition_codes.yml', __FILE__)
17
+ SHEET_NAME = 'Dispositions'
18
+
19
+ MAPPED_COLUMNS = {
20
+ 'A' => 'final_category',
21
+ 'B' => 'sub_category',
22
+ 'C' => 'disposition'
23
+ }
24
+
25
+ def normalize_whitespace(s)
26
+ s.strip.gsub(/\s+/, " ")
27
+ end
28
+
29
+ book = Excelx.new(MDES_XLSX)
30
+
31
+ # This is the array of hashes that will eventually be serialized to
32
+ # disposition_codes.yml.
33
+ dispositions = []
34
+
35
+ current_event = nil
36
+ current_category_code = nil
37
+ 1.upto(book.last_row(SHEET_NAME)) do |row_number|
38
+ a, b = %w(A B).collect { |col| book.cell(row_number, col, SHEET_NAME) }
39
+ if a =~ /Category\s+(\d)\s+\((.*?)\)\s+Disposition\s+Codes/
40
+ current_event = normalize_whitespace $2
41
+ current_category_code = $1.to_i
42
+ puts "Collecting for category #{current_event} (#{current_category_code})"
43
+ elsif b =~ /\S/ && a !~ /FINAL/
44
+ disposition_hash = MAPPED_COLUMNS.inject({}) do |h, (col, key)|
45
+ h[key] = normalize_whitespace(book.cell(row_number, col, SHEET_NAME)); h
46
+ end
47
+ disposition_hash['event'] = current_event
48
+ disposition_hash['category_code'] = current_category_code
49
+ disposition_hash['interim_code'], disposition_hash['final_code'] =
50
+ normalize_whitespace(book.cell(row_number, 'D', SHEET_NAME)).split('/')
51
+
52
+ dispositions << disposition_hash
53
+ end
54
+ end
55
+
56
+ File.open(TARGET, 'w') do |f|
57
+ f.write dispositions.sort_by { |h| [h['category_code'], h['final_code']] }.to_yaml
58
+ end
@@ -0,0 +1,736 @@
1
+ variable_type_references:
2
+ link_child_partic_org:
3
+ p_id: ncs:foreignKeyTypeRequired
4
+ organization_id: ncs:foreignKeyTypeRequired
5
+
6
+ foreign_keys:
7
+ birth_visit:
8
+ new_address_id: address
9
+ mail_address_id: address
10
+ new_address_b_id: address
11
+
12
+ birth_visit_2:
13
+ new_address_id: address
14
+ mail_address_id: address
15
+ new_address_b_id: address
16
+
17
+ birth_visit_3:
18
+ cwork_address_id: address
19
+ work_address_id: address
20
+
21
+ birth_visit_4:
22
+ cwork_address_id: address
23
+ work_address_id: address
24
+
25
+ birth_visit_baby_name:
26
+ bv_id: birth_visit
27
+
28
+ birth_visit_baby_name_2:
29
+ bv_id: birth_visit_2
30
+
31
+ birth_visit_decorate_room:
32
+ bv_id: birth_visit
33
+
34
+ birth_visit_decorate_room_2:
35
+ bv_id: birth_visit_2
36
+
37
+ birth_visit_li:
38
+ new_address_id: address
39
+ mail_address_id: address
40
+ new_address_b_id: address
41
+
42
+ birth_visit_li_2:
43
+ cwork_address_id: address
44
+ work_address_id: address
45
+
46
+ birth_visit_renovate_room:
47
+ bv_id: birth_visit
48
+
49
+ birth_visit_renovate_room_2:
50
+ bv_id: birth_visit_2
51
+
52
+ bitsea_saq:
53
+ r_p_id: participant
54
+
55
+ breast_milk_saq:
56
+ r_p_id: participant
57
+
58
+ bsi_saq:
59
+ r_p_id: participant
60
+
61
+ child_anthro:
62
+ r_p_id: participant
63
+
64
+ child_blood:
65
+ r_p_id: participant
66
+ # According to the corresponding instrument, equip_id is manually entered
67
+ # and not a reference to another table.
68
+ equip_id: false
69
+
70
+ child_bp:
71
+ r_p_id: participant
72
+
73
+ child_bp_2:
74
+ r_p_id: participant
75
+
76
+ child_saliva:
77
+ r_p_id: participant
78
+
79
+ child_saliva_saq:
80
+ r_p_id: participant
81
+
82
+ child_urine:
83
+ r_p_id: participant
84
+
85
+ core_quest:
86
+ r_p_id: participant
87
+
88
+ core_quest_2:
89
+ r_p_id: participant
90
+
91
+ core_quest_child_care:
92
+ r_p_id: participant
93
+ c_address_id: address
94
+
95
+ core_quest_child_care_2:
96
+ c_address_id: address
97
+
98
+ core_quest_occupation:
99
+ r_p_id: participant
100
+ work_address_id: address
101
+
102
+ core_quest_occupation_2:
103
+ work_address_id: address
104
+
105
+ drf_therm_verification:
106
+ equip_id: env_equipment
107
+
108
+ eighteen_mth_mother:
109
+ c_addr1_id: address
110
+ c_addr2_id: address
111
+ r_p_id: participant
112
+
113
+ eighteen_mth_mother_2:
114
+ c_addr1_id: address
115
+ c_addr2_id: address
116
+ r_p_id: participant
117
+
118
+ eighteen_mth_mother_3:
119
+ r_p_id: participant
120
+
121
+ eighteen_mth_mother_4:
122
+ r_p_id: participant
123
+
124
+ eighteen_mth_mother_cond:
125
+ eighteen_mth_habits_id: eighteen_mth_mother_habits
126
+
127
+ eighteen_mth_mother_lice_2:
128
+ eighteen_mth_mother_id: eighteen_mth_mother_2
129
+
130
+ eighteen_mth_mother_saq:
131
+ asq18_address_id: address
132
+ r_p_id: participant
133
+
134
+ eighteen_mth_mother_saq_2:
135
+ r_p_id: participant
136
+ asq18_address_id: address
137
+ home_phone_id: telephone
138
+
139
+ env_equipment_prob_log:
140
+ equip_id: env_equipment
141
+ staff_id_reviewer: staff
142
+
143
+ event:
144
+ participant_id: participant
145
+
146
+ fourteen_mth_asq_saq:
147
+ r_p_id: participant
148
+ asq14_address_id: address
149
+ home_phone_id: telephone
150
+
151
+ household_enumeration_hidden_du:
152
+ hdu_address_id: address
153
+
154
+ incident:
155
+ inc_staff_reporter_id: staff
156
+ inc_staff_supervisor_id: staff
157
+ inc_recip_is_participant: participant
158
+ inc_recip_is_du: dwelling_unit
159
+ inc_recip_is_staff: staff
160
+ inc_recip_is_family: person
161
+ inc_recip_is_acquaintance: person
162
+ inc_contact_person: person
163
+
164
+ itsp_saq:
165
+ r_p_id: participant
166
+
167
+ itsp_saq_2:
168
+ r_p_id: participant
169
+
170
+ link_child_partic_org:
171
+ last_update_staff_id: staff
172
+
173
+ m_chat_saq:
174
+ r_p_id: participant
175
+
176
+ multi_mode:
177
+ r_p_id: participant
178
+
179
+ nine_mth_mother:
180
+ r_p_id: participant
181
+
182
+ nine_mth_mother_2:
183
+ r_p_id: participant
184
+
185
+ nine_mth_mother_3:
186
+ r_p_id: participant
187
+
188
+ non_interview_respondent:
189
+ r_p_id: participant
190
+
191
+ non_interview_respondent_2:
192
+ r_p_id: participant
193
+
194
+ participant_consent:
195
+ person_who_consented_id: person
196
+ person_wthdrw_consent_id: person
197
+
198
+ participant_consent_reconsideration:
199
+ r_p_id: participant
200
+
201
+ participant_verif:
202
+ r_p_id: participant
203
+ c_address_id: address
204
+ pa_phone_id: telephone
205
+ s_address_id: address
206
+ sa_phone_id: telephone
207
+
208
+ participant_vis_consent:
209
+ vis_person_who_consented_id: person
210
+
211
+ participant_rvis:
212
+ rvis_person: person
213
+
214
+ pb_recruitment:
215
+ address_pb_id: address
216
+
217
+ pb_recruitment_2:
218
+ address_pb_id: address
219
+
220
+ pb_recruitment_info_source:
221
+ pb_recruitment_id: pb_recruitment
222
+
223
+ pb_recruitment_info_source_2:
224
+ pb_recruitment_id: pb_recruitment_2
225
+
226
+ pb_recruitment_prov_source:
227
+ pb_recruitment_id: pb_recruitment
228
+
229
+ pb_recruitment_prov_source_2:
230
+ pb_recruitment_id: pb_recruitment_2
231
+
232
+ pb_recruitment_prov_svc:
233
+ pb_recruitment_id: pb_recruitment
234
+
235
+ pb_recruitment_prov_svc_2:
236
+ pb_recruitment_id: pb_recruitment_2
237
+
238
+ pb_samp_frame:
239
+ practice_address_id: address
240
+ contact_address_id: address
241
+ contact_email_id: email
242
+ contact_phone_num_id: telephone
243
+ contact_address_larger_id: address
244
+ contact_email_larger_id: email
245
+ contact_phone_num_larger_id: telephone
246
+
247
+ pb_samp_frame_2:
248
+ practice_address_id: address
249
+ contact_address_id: address
250
+ contact_email_id: email
251
+ contact_phone_num_id: telephone
252
+ contact_address_larger_id: address
253
+ contact_email_larger_id: email
254
+ contact_phone_num_larger_id: telephone
255
+
256
+ pbs_elig_screener:
257
+ r_phone_1_id: telephone
258
+ r_phone_2_id: telephone
259
+ r_email_id: email
260
+
261
+ pbs_elig_screener_hosp:
262
+ r_p_id: participant
263
+ r_phone_1_id: telephone
264
+ r_phone_2_id: telephone
265
+ r_email_id: email
266
+
267
+ pbs_elig_screener_pr_office:
268
+ pr_address_id: address
269
+
270
+ pbs_elig_screener_hosp_pr_office:
271
+ pr_address_id: address
272
+
273
+ pbs_participant_verif:
274
+ r_p_id: participant
275
+
276
+ pbs_participant_verif_2:
277
+ r_p_id: participant
278
+
279
+ person:
280
+ new_address_id: address
281
+
282
+ person_special_considerations:
283
+ last_update_staff_id: staff
284
+
285
+ prec_therm_cert:
286
+ equip_id: env_equipment
287
+
288
+ pre_preg:
289
+ c_addr1_id: address
290
+ c_addr2_id: address
291
+
292
+ preg_screen_eh:
293
+ mail_address_id: address
294
+ new_address_id: address
295
+
296
+ preg_screen_eh_2:
297
+ mail_address_id: address
298
+ new_address_id: address
299
+
300
+ preg_screen_eh_know_ncs:
301
+ ps_eh_id: preg_screen_eh
302
+
303
+ preg_screen_eh_know_ncs_2:
304
+ ps_eh_id: preg_screen_eh_2
305
+
306
+ preg_screen_eh_race:
307
+ ps_eh_id: preg_screen_eh
308
+
309
+ preg_screen_eh_race_2:
310
+ ps_eh_id: preg_screen_eh_2
311
+
312
+ preg_screen_hi:
313
+ mail_address_id: address
314
+ new_address_id: address
315
+
316
+ preg_screen_hi_2:
317
+ mail_address_id: address
318
+ new_address_id: address
319
+
320
+ preg_screen_hi_know_ncs:
321
+ ps_hi_id: preg_screen_hi
322
+
323
+ preg_screen_hi_know_ncs_2:
324
+ ps_hi_id: preg_screen_hi_2
325
+
326
+ preg_screen_hi_race:
327
+ ps_hi_id: preg_screen_hi
328
+
329
+ preg_screen_hi_race_2:
330
+ ps_hi_id: preg_screen_hi_2
331
+
332
+ preg_screen_pb:
333
+ mail_address_id: address
334
+ new_address_id: address
335
+
336
+ preg_screen_pb_2:
337
+ mail_address_id: address
338
+ new_address_id: address
339
+
340
+ preg_screen_pb_know_ncs:
341
+ ps_pb_id: preg_screen_pb
342
+
343
+ preg_screen_pb_know_ncs_2:
344
+ ps_pb_id: preg_screen_pb_2
345
+
346
+ preg_screen_pb_race:
347
+ ps_pb_id: preg_screen_pb
348
+
349
+ preg_screen_pb_race_2:
350
+ ps_pb_id: preg_screen_pb_2
351
+
352
+ preg_visit_1:
353
+ b_address_id: address
354
+ c_addr1_id: address
355
+ c_addr2_id: address
356
+
357
+ preg_visit_1_2:
358
+ b_address_id: address
359
+ c_addr1_id: address
360
+ c_addr2_id: address
361
+
362
+ preg_visit_1_3:
363
+ b_address_id: address
364
+ work_address_id: address
365
+
366
+ preg_visit_1_commute:
367
+ pv1_id: preg_visit_1
368
+
369
+ preg_visit_1_commute_2:
370
+ pv1_id: preg_visit_1_2
371
+
372
+ preg_visit_1_cool:
373
+ pv1_id: preg_visit_1
374
+
375
+ preg_visit_1_cool_2:
376
+ pv1_id: preg_visit_1_2
377
+
378
+ preg_visit_1_diagnose_2:
379
+ pv1_id: preg_visit_1
380
+
381
+ preg_visit_1_diagnose_2_2:
382
+ pv1_id: preg_visit_1_2
383
+
384
+ preg_visit_1_heat2:
385
+ pv1_id: preg_visit_1
386
+
387
+ preg_visit_1_heat2_2:
388
+ pv1_id: preg_visit_1_2
389
+
390
+ preg_visit_1_local_trav:
391
+ pv1_id: preg_visit_1
392
+
393
+ preg_visit_1_local_trav_2:
394
+ pv1_id: preg_visit_1_2
395
+
396
+ preg_visit_1_nonenglish2_2:
397
+ pv1_id: preg_visit_1_2
398
+
399
+ preg_visit_1_pdecorate_room:
400
+ pv1_id: preg_visit_1
401
+
402
+ preg_visit_1_pdecorate_room_2:
403
+ pv1_id: preg_visit_1_2
404
+
405
+ preg_visit_1_pet_type:
406
+ pv1_id: preg_visit_1
407
+
408
+ preg_visit_1_pet_type_2:
409
+ pv1_id: preg_visit_1_2
410
+
411
+ preg_visit_1_prenovate2_room:
412
+ pv1_id: preg_visit_1
413
+
414
+ preg_visit_1_prenovate_room:
415
+ pv1_id: preg_visit_1
416
+
417
+ preg_visit_1_prenovate_room_2:
418
+ pv1_id: preg_visit_1_2
419
+
420
+ preg_visit_1_room_mold:
421
+ pv1_id: preg_visit_1
422
+
423
+ preg_visit_1_room_mold_2:
424
+ pv1_id: preg_visit_1_2
425
+
426
+ preg_visit_1_saq_2:
427
+ f_addr_id: address
428
+
429
+ preg_visit_1_saq_3:
430
+ f_addr_id: address
431
+
432
+ preg_visit_1_saq_4:
433
+ f_addr_id: address
434
+ f_phone_id: telephone
435
+
436
+ preg_visit_1_saq_5:
437
+ f_addr_id: address
438
+ f_phone_id: telephone
439
+
440
+ preg_visit_1_sp_race:
441
+ pv1_id: preg_visit_1
442
+
443
+ preg_visit_1_sp_race_2:
444
+ pv1_id: preg_visit_1_2
445
+
446
+ preg_visit_2:
447
+ b_address_id: address
448
+ c_addr1_id: address
449
+ c_addr2_id: address
450
+
451
+ preg_visit_2_2:
452
+ b_address_id: address
453
+ c_addr1_id: address
454
+ c_addr2_id: address
455
+
456
+ preg_visit_2_3:
457
+ b_address_id: address
458
+ work_address_id: address
459
+ cwork_address_id: address
460
+
461
+ preg_visit_2_cool:
462
+ pv2_id: preg_visit_2
463
+
464
+ preg_visit_2_cool_2:
465
+ pv2_id: preg_visit_2_2
466
+
467
+ preg_visit_2_diagnose_2:
468
+ pv2_id: preg_visit_2
469
+
470
+ preg_visit_2_diagnose_2_2:
471
+ pv2_id: preg_visit_2_2
472
+
473
+ preg_visit_2_heat2:
474
+ pv2_id: preg_visit_2
475
+
476
+ preg_visit_2_heat2_2:
477
+ pv2_id: preg_visit_2_2
478
+
479
+ preg_visit_2_pdecorate2_room:
480
+ pv2_id: preg_visit_2
481
+
482
+ preg_visit_2_pdecorate2_room_2:
483
+ pv2_id: preg_visit_2_2
484
+
485
+ preg_visit_2_prenovate_room:
486
+ pv2_id: preg_visit_2
487
+
488
+ preg_visit_2_prenovate_room_2:
489
+ pv2_id: preg_visit_2_2
490
+
491
+ preg_visit_2_room_mold:
492
+ pv2_id: preg_visit_2
493
+
494
+ preg_visit_2_room_mold_2:
495
+ pv2_id: preg_visit_2_2
496
+
497
+ preg_visit_li:
498
+ b_address_id: address
499
+
500
+ preg_visit_li_2:
501
+ b_address_id: address
502
+
503
+ preg_visit_li_cool:
504
+ pv_li_id: preg_visit_li
505
+
506
+ preg_visit_li_cool_2:
507
+ pv_li_id: preg_visit_li_2
508
+
509
+ reconsideration_ins:
510
+ r_p_id: participant
511
+
512
+ ref_freezer_verification:
513
+ equip_id: env_equipment
514
+
515
+ sample_receipt_store:
516
+ equip_id: env_equipment
517
+
518
+ sample_shipping:
519
+ staff_id_track: staff
520
+
521
+ six_mth_mother:
522
+ c_addr1_id: address
523
+ c_addr2_id: address
524
+ r_p_id: participant
525
+
526
+ six_mth_mother_2:
527
+ r_p_id: participant
528
+
529
+ six_mth_mother_3:
530
+ r_p_id: participant
531
+
532
+ six_mth_saq_formula_type:
533
+ six_mth_saq_id: six_mth_saq
534
+
535
+ six_mth_saq_2:
536
+ r_p_id: participant
537
+
538
+ six_mth_saq_3:
539
+ r_p_id: participant
540
+
541
+ six_mth_saq_4:
542
+ r_p_id: participant
543
+
544
+ six_mth_saq_formula_type_2:
545
+ six_mth_saq_id: six_mth_saq_2
546
+
547
+ six_mth_saq_supp:
548
+ six_mth_saq_id: six_mth_saq
549
+
550
+ six_mth_saq_supp_2:
551
+ six_mth_saq_id: six_mth_saq_2
552
+
553
+ six_mth_saq_water:
554
+ six_mth_saq_id: six_mth_saq
555
+
556
+ six_mth_saq_water_2:
557
+ six_mth_saq_id: six_mth_saq_2
558
+
559
+ sixteen_mth_asq_saq:
560
+ r_p_id: participant
561
+ asq16_address_id: address
562
+ home_phone_id: telephone
563
+
564
+ spec_blood:
565
+ # According to the corresponding instrument, equip_id is manually entered
566
+ # and not a reference to another table.
567
+ equip_id: false
568
+
569
+ spec_blood_2:
570
+ # According to the corresponding instrument, equip_id is manually entered
571
+ # and not a reference to another table.
572
+ equip_id: false
573
+
574
+ spec_cord_blood_specimen:
575
+ spec_cord_blood_id: spec_cord_blood
576
+
577
+ spec_cord_blood_specimen_2:
578
+ spec_cord_blood_id: spec_cord_blood_2
579
+
580
+ spec_receipt:
581
+ # Insufficient info to determine what this is supposed to link to
582
+ storage_container_id: false
583
+ equip_id: spec_equipment
584
+
585
+ spec_shipping:
586
+ # Insufficient info to determine what this is supposed to link to
587
+ shipper_id: false
588
+
589
+ spec_storage:
590
+ equip_id: spec_equipment
591
+
592
+ staff_exp_mngmnt_tasks:
593
+ staff_weekly_expense_id: staff_weekly_expense
594
+
595
+ staff_exp_data_cllctn_tasks:
596
+ staff_weekly_expense_id: staff_weekly_expense
597
+
598
+ thirty_month_interview:
599
+ r_p_id: participant
600
+
601
+ thirty_mth_asq_saq:
602
+ r_p_id: participant
603
+ asq30_address_id: address
604
+ home_phone_id: telephone
605
+
606
+ three_mth_mother:
607
+ r_p_id: participant
608
+
609
+ three_mth_mother_2:
610
+ r_p_id: participant
611
+
612
+ three_mth_mother_3:
613
+ r_p_id: participant
614
+
615
+ three_mth_mother_4:
616
+ r_p_id: participant
617
+
618
+ tracing_int:
619
+ r_p_id: participant
620
+ new_address_id: address
621
+ home_phone_id: telephone
622
+ cell_phone_id: telephone
623
+ c_addr1_id: address
624
+ contact_phone_id: telephone
625
+ contact_phone_2_1_id: telephone
626
+ c_addr2_id: address
627
+ contact_phone_2_id: telephone
628
+ contact_phone_2_2_id: telephone
629
+ c_addr3_id: address
630
+ contact_phone_3_id: telephone
631
+ contact_phone_2_3_id: telephone
632
+
633
+ trh_meter_calibration:
634
+ equip_id: spec_equipment
635
+
636
+ twelve_mth_mother:
637
+ c_addr1_id: address
638
+ c_addr2_id: address
639
+ r_p_id: participant
640
+
641
+ twelve_mth_mother_2:
642
+ r_p_id: participant
643
+ c_addr1_id: address
644
+ c_addr2_id: address
645
+
646
+ twelve_mth_mother_3:
647
+ r_p_id: participant
648
+
649
+ twelve_mth_saq_2:
650
+ r_p_id: participant
651
+
652
+ twelve_mth_saq_3:
653
+ r_p_id: participant
654
+
655
+ twelve_mth_saq_formula_brand:
656
+ twelve_mth_saq_id: twelve_mth_saq
657
+
658
+ twelve_mth_saq_formula_brand_2:
659
+ twelve_mth_saq_id: twelve_mth_saq_2
660
+
661
+ twelve_mth_saq_formula_type:
662
+ twelve_mth_saq_id: twelve_mth_saq
663
+
664
+ twelve_mth_saq_formula_type_2:
665
+ twelve_mth_saq_id: twelve_mth_saq_2
666
+
667
+ twelve_mth_saq_supplement:
668
+ twelve_mth_saq_id: twelve_mth_saq
669
+
670
+ twelve_mth_saq_supplement_2:
671
+ twelve_mth_saq_id: twelve_mth_saq_2
672
+
673
+ twelve_mth_saq_water:
674
+ twelve_mth_saq_id: twelve_mth_saq
675
+
676
+ twelve_mth_saq_water_2:
677
+ twelve_mth_saq_id: twelve_mth_saq_2
678
+
679
+ twenty_four_mth_mother:
680
+ c_addr1_id: address
681
+ c_addr2_id: address
682
+ r_p_id: participant
683
+
684
+ twenty_four_mth_mother_2:
685
+ c_addr1_id: address
686
+ c_addr2_id: address
687
+ r_p_id: participant
688
+
689
+ twenty_four_mth_mother_3:
690
+ r_p_id: participant
691
+ work_address_id: address
692
+ work_address_a_id: address
693
+
694
+ twenty_four_mth_mother_4:
695
+ r_p_id: participant
696
+
697
+ twenty_four_mth_mother_habits_4:
698
+ work_address_id: address
699
+ work_address_a_id: address
700
+
701
+ twenty_four_mth_mother_otc:
702
+ twenty_four_mth_mother_id: twenty_four_mth_mother
703
+
704
+ twenty_four_mth_mother_prescr:
705
+ twenty_four_mth_mother_id: twenty_four_mth_mother
706
+
707
+ twenty_four_mth_mother_suppl:
708
+ twenty_four_mth_mother_id: twenty_four_mth_mother
709
+
710
+ twenty_four_mth_saq:
711
+ asq24_address_id: address
712
+ r_p_id: participant
713
+
714
+ twenty_four_mth_saq_2:
715
+ r_p_id: participant
716
+ asq24_address_id: address
717
+ home_phone_id: telephone
718
+
719
+ twenty_mth_asq_saq:
720
+ r_p_id: participant
721
+ asq20_address_id: address
722
+ home_phone_id: telephone
723
+
724
+ twenty_seven_mth_asq_saq:
725
+ r_p_id: participant
726
+ asq27_address_id: address
727
+ home_phone_id: telephone
728
+
729
+ twenty_two_mth_asq_saq:
730
+ r_p_id: participant
731
+ asq22_address_id: address
732
+ home_phone_id: telephone
733
+
734
+ validation_ins_2:
735
+ r_p_id: participant
736
+ phone_nbr_id: telephone