ncs_mdes_warehouse 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.rvmrc +1 -1
- data/.yardopts +0 -1
- data/CHANGELOG.md +26 -0
- data/Rakefile +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_one.rb +563 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/address.rb +101 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit.rb +365 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_2.rb +359 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_baby_name.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_baby_name_2.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_decorate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_decorate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_li.rb +374 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_li_baby_name.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_li_decorate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_li_renovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_renovate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/birth_visit_renovate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/contact.rb +77 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/drf_therm_verification.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/dwelling_unit.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother.rb +347 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_cond.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_detail.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_habits.rb +164 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_lice.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_otc.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_pet_type.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_prescr.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_renovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_room_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_saq.rb +257 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/eighteen_mth_mother_suppl.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/email.rb +74 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/env_equipment.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/env_equipment_prob_log.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/event.rb +68 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/father_pv1.rb +374 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/father_pv1_2.rb +380 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/father_pv1_cancer.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/father_pv1_cancer_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/father_pv1_educ.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/father_pv1_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/father_pv1_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/household_enumeration.rb +239 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/household_enumeration_age_elig.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/household_enumeration_hidden_du.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/household_enumeration_pregnant.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/household_inventory.rb +203 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/household_inventory_age.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/household_inventory_age_elig.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/household_unit.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/incident.rb +98 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/incident_media.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/incident_unanticipated.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/institution.rb +68 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/instrument.rb +74 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/internet_usage.rb +92 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/internet_usage_participate.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/link_contact.rb +41 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/link_household_dwelling.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/link_person_household.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/link_person_institute.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/link_person_participant.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/link_person_provider.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/listing_unit.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/low_high_script.rb +119 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/nine_mth_mother.rb +62 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/nine_mth_mother_detail.rb +143 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/non_interview_rpt.rb +128 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/non_interview_rpt_dutype.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/non_interview_rpt_noaccess.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/non_interview_rpt_refusal.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/non_interview_rpt_vacant.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/outreach.rb +98 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/outreach_eval.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/outreach_lang2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/outreach_race.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/outreach_staff.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/outreach_target.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/participant.rb +62 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/participant_auth.rb +44 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/participant_consent.rb +86 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/participant_consent_sample.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/participant_rvis.rb +74 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/participant_vis_consent.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pb_recruitment.rb +275 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pb_recruitment_2.rb +275 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pb_recruitment_info_source.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pb_recruitment_info_source_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pb_recruitment_prov_source.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pb_recruitment_prov_source_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pb_recruitment_prov_svc.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pb_recruitment_prov_svc_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/person.rb +113 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/person_race.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/ppg_cati.rb +98 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/ppg_details.rb +41 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/ppg_saq.rb +92 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/ppg_status_history.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pre_preg.rb +422 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pre_preg_cool.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pre_preg_heat2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pre_preg_pdecorate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pre_preg_prenovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pre_preg_room_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pre_preg_saq.rb +116 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/pre_preg_sp_race.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/prec_therm_cert.rb +41 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_eh.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_eh_2.rb +362 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_eh_know_ncs.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_eh_know_ncs_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_eh_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_eh_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_hi.rb +371 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_hi_2.rb +380 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_hi_know_ncs.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_hi_know_ncs_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_hi_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_hi_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_pb.rb +371 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_pb_2.rb +380 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_pb_know_ncs.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_pb_know_ncs_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_pb_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_screen_pb_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1.rb +521 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_2.rb +497 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_commute.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_commute_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_cool.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_cool_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_diagnose_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_diagnose_2_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_heat2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_heat2_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_local_trav.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_local_trav_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_nonenglish2_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_pdecorate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_pdecorate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_pet_type.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_pet_type_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_prenovate2_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_prenovate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_prenovate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_room_mold.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_room_mold_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_saq.rb +188 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_saq_2.rb +233 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_saq_3.rb +236 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_sp_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_1_sp_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2.rb +452 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_2.rb +440 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_cool.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_cool_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_diagnose_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_diagnose_2_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_heat2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_heat2_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_pdecorate2_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_pdecorate2_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_prenovate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_prenovate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_room_mold.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_room_mold_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_saq.rb +116 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_2_saq_2.rb +116 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_li.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_li_2.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_li_cool.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/preg_visit_li_cool_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/provider.rb +62 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/provider_role.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/psu.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/ref_freezer_verification.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/sample_receipt_confirm.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/sample_receipt_store.rb +65 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/sample_shipping.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_mother.rb +278 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_mother_detail.rb +266 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_mother_pet.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_saq.rb +218 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_saq_2.rb +218 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_saq_formula_type.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_saq_formula_type_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_saq_supp.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_saq_supp_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_saq_water.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/six_mth_saq_water_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_blood.rb +194 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_blood_draw.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_blood_hemolyze.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_blood_tube.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_blood_tube_comments.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_cord_blood.rb +110 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_cord_blood_2.rb +110 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_cord_blood_specimen.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_cord_blood_specimen_2.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_equipment.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_pickup.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_receipt.rb +80 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_shipping.rb +56 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_spsc_info.rb +26 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_storage.rb +62 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/spec_urine.rb +110 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/srsc_info.rb +26 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/ssu.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/staff.rb +65 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/staff_cert_training.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/staff_exp_data_cllctn_tasks.rb +44 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/staff_exp_mngmnt_tasks.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/staff_language.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/staff_validation.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/staff_weekly_expense.rb +44 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/study_center.rb +26 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/subsample_doc.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf.rb +152 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf_blank_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf_dup_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf_dup_filled.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf_n_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf_reason_filled.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf_reason_filled2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf_sample.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twf_subsamples.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq.rb +143 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq_blank_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq_dup_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq_dup_filled.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq_n_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq_reason_filled.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq_reason_filled2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq_sample.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tap_water_twq_subsamples.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/telephone.rb +83 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/three_mth_mother.rb +89 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/three_mth_mother_child_detail.rb +59 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/three_mth_mother_child_habits.rb +185 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/three_mth_mother_race.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/trh_meter_calibration.rb +77 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/tsu.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_mother.rb +299 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_mother_detail.rb +302 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_mother_lice.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_mother_renovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_mother_room_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq.rb +293 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_2.rb +293 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_formula_brand.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_formula_brand_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_formula_type.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_formula_type_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_supplement.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_supplement_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_water.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twelve_mth_saq_water_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_mother.rb +347 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_mother_cond.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_mother_detail.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_mother_habits.rb +194 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_mother_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_mother_otc.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_mother_prescr.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_mother_suppl.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_pet_type.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_renovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_room_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/twenty_four_mth_saq.rb +242 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/vacuum_bag.rb +131 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/vacuum_bag_outside.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_one/validation_ins.rb +233 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two.rb +681 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/address.rb +101 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit.rb +365 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_2.rb +359 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_baby_name.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_baby_name_2.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_decorate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_decorate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_li.rb +374 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_li_baby_name.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_li_decorate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_li_renovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_renovate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/birth_visit_renovate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/contact.rb +77 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/drf_therm_verification.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/dwelling_unit.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_2.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_cond.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_detail.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_detail_2.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_habits.rb +164 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_habits_2.rb +173 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_lice.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_lice_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_mold_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_otc.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_otc_2.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_pet_type.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_pet_type_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_prescr.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_prescr_2.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_renovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_renovate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_room_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_room_mold_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_saq.rb +260 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_suppl.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/eighteen_mth_mother_suppl_2.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/email.rb +74 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/env_equipment.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/env_equipment_prob_log.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/event.rb +68 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/father_pv1.rb +374 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/father_pv1_2.rb +380 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/father_pv1_cancer.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/father_pv1_cancer_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/father_pv1_educ.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/father_pv1_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/father_pv1_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/household_enumeration.rb +239 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/household_enumeration_age_elig.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/household_enumeration_hidden_du.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/household_enumeration_pregnant.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/household_inventory.rb +203 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/household_inventory_age.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/household_inventory_age_elig.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/household_unit.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/incident.rb +98 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/incident_media.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/incident_unanticipated.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/institution.rb +68 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/instrument.rb +74 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/internet_usage.rb +92 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/internet_usage_participate.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/link_contact.rb +41 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/link_household_dwelling.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/link_person_household.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/link_person_institute.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/link_person_participant.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/link_person_provider.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/listing_unit.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/low_high_script.rb +119 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/nine_mth_mother.rb +65 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/nine_mth_mother_detail.rb +143 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/non_interview_rpt.rb +128 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/non_interview_rpt_dutype.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/non_interview_rpt_noaccess.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/non_interview_rpt_refusal.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/non_interview_rpt_vacant.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/outreach.rb +98 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/outreach_eval.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/outreach_lang2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/outreach_race.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/outreach_staff.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/outreach_target.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/participant.rb +62 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/participant_auth.rb +44 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/participant_consent.rb +86 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/participant_consent_sample.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/participant_rvis.rb +74 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/participant_vis_consent.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pb_recruitment.rb +275 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pb_recruitment_2.rb +275 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pb_recruitment_info_source.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pb_recruitment_info_source_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pb_recruitment_prov_source.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pb_recruitment_prov_source_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pb_recruitment_prov_svc.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pb_recruitment_prov_svc_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/person.rb +113 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/person_race.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/ppg_cati.rb +98 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/ppg_details.rb +41 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/ppg_saq.rb +92 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/ppg_status_history.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pre_preg.rb +422 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pre_preg_cool.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pre_preg_heat2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pre_preg_pdecorate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pre_preg_prenovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pre_preg_room_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pre_preg_saq.rb +116 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/pre_preg_sp_race.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/prec_therm_cert.rb +41 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_eh.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_eh_2.rb +362 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_eh_know_ncs.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_eh_know_ncs_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_eh_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_eh_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_hi.rb +371 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_hi_2.rb +380 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_hi_know_ncs.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_hi_know_ncs_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_hi_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_hi_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_pb.rb +371 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_pb_2.rb +380 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_pb_know_ncs.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_pb_know_ncs_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_pb_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_screen_pb_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1.rb +521 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_2.rb +497 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_commute.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_commute_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_cool.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_cool_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_diagnose_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_diagnose_2_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_heat2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_heat2_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_local_trav.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_local_trav_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_nonenglish2_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_pdecorate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_pdecorate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_pet_type.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_pet_type_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_prenovate2_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_prenovate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_prenovate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_room_mold.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_room_mold_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_saq.rb +188 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_saq_2.rb +233 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_saq_3.rb +236 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_sp_race.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_1_sp_race_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2.rb +452 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_2.rb +440 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_cool.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_cool_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_diagnose_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_diagnose_2_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_heat2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_heat2_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_pdecorate2_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_pdecorate2_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_prenovate_room.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_prenovate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_room_mold.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_room_mold_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_saq.rb +116 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_saq_2.rb +116 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_2_saq_3.rb +116 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_li.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_li_2.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_li_cool.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/preg_visit_li_cool_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/provider.rb +62 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/provider_role.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/psu.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/ref_freezer_verification.rb +62 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/sample_dist.rb +74 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/sample_dist_samp.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/sample_receipt_confirm.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/sample_receipt_store.rb +65 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/sample_shipping.rb +53 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_mother.rb +281 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_mother_detail.rb +266 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_mother_pet.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_saq.rb +218 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_saq_2.rb +221 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_saq_formula_type.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_saq_formula_type_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_saq_supp.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_saq_supp_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_saq_water.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/six_mth_saq_water_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood.rb +194 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_2.rb +197 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_draw.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_draw_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_hemolyze.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_hemolyze_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_tube.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_tube_2.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_tube_comments.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_blood_tube_comments_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_cord_blood.rb +110 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_cord_blood_2.rb +110 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_cord_blood_3.rb +122 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_cord_blood_specimen.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_cord_blood_specimen_2.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_cord_blood_specimen_3.rb +35 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_equipment.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_pickup.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_receipt.rb +80 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_shipping.rb +56 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_spsc_info.rb +26 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_storage.rb +62 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/spec_urine.rb +110 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/srsc_info.rb +26 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/ssu.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/staff.rb +65 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/staff_cert_training.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/staff_exp_data_cllctn_tasks.rb +44 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/staff_exp_mngmnt_tasks.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/staff_language.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/staff_validation.rb +38 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/staff_weekly_expense.rb +44 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/study_center.rb +26 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/subsample_doc.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf.rb +152 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_2.rb +155 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_blank_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_blank_collected_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_dup_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_dup_collected_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_dup_filled.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_dup_filled_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_n_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_n_collected_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_reason_filled.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_reason_filled2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_reason_filled2_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_reason_filled_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_sample.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_sample_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_saq.rb +98 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_saq_eat.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_saq_prob.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_subsamples.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twf_subsamples_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq.rb +143 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_2.rb +146 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_blank_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_blank_collected_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_dup_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_dup_collected_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_dup_filled.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_dup_filled_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_n_collected.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_n_collected_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_reason_filled.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_reason_filled2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_reason_filled2_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_reason_filled_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_sample.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_sample_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_saq.rb +98 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_saq_prob.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_subsamples.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tap_water_twq_subsamples_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/telephone.rb +83 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/three_mth_mother.rb +92 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/three_mth_mother_child_detail.rb +59 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/three_mth_mother_child_habits.rb +185 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/three_mth_mother_race.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/trh_meter_calibration.rb +77 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/tsu.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_mother.rb +302 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_mother_detail.rb +302 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_mother_lice.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_mother_renovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_mother_room_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq.rb +293 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_2.rb +296 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_formula_brand.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_formula_brand_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_formula_type.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_formula_type_2.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_supplement.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_supplement_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_water.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twelve_mth_saq_water_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother.rb +350 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_2.rb +353 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_cond.rb +29 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_detail.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_detail_2.rb +50 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_habits.rb +194 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_habits_2.rb +200 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_mold_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_otc.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_otc_2.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_prescr.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_prescr_2.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_suppl.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_mother_suppl_2.rb +47 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_pet_type.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_pet_type_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_renovate_room.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_renovate_room_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_room_mold.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_room_mold_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/twenty_four_mth_saq.rb +245 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/vacuum_bag.rb +131 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/vacuum_bag_2.rb +137 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/vacuum_bag_outside.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/vacuum_bag_outside_2.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/vacuum_bag_saq.rb +89 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/vacuum_bag_saq_outside.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/vacuum_bag_saq_prob.rb +32 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_two/validation_ins.rb +233 -0
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero.rb +53 -53
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_baby_name_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_decorate_room_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_renovate_room_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_info_source_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_prov_source_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_prov_svc_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh_know_ncs_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh_race_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi_know_ncs_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi_race_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb_know_ncs_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb_race_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_commute.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_commute_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_cool.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_cool_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_diagnose_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_diagnose_2_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_heat2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_heat2_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_local_trav.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_local_trav_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_nonenglish2_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_pdecorate_room.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_pdecorate_room_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_pet_type.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_pet_type_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_prenovate2_room.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_prenovate_room.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_prenovate_room_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_room_mold.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_room_mold_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_saq_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_sp_race.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_sp_race_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_cool.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_cool_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_diagnose_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_diagnose_2_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_heat2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_heat2_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_pdecorate2_room.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_pdecorate2_room_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_prenovate_room.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_prenovate_room_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_room_mold.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_room_mold_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_saq_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_li_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_li_cool_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_formula_type_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_supp_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_water_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_2.rb +1 -1
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_formula_brand_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_formula_type_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_supplement_2.rb +2 -2
- data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_water_2.rb +2 -2
- data/lib/ncs_navigator/warehouse/cli.rb +33 -0
- data/lib/ncs_navigator/warehouse/configuration/file_evaluator.rb +9 -0
- data/lib/ncs_navigator/warehouse/table_modeler/mdes_ext.rb +6 -1
- data/lib/ncs_navigator/warehouse/transform_load.rb +6 -0
- data/lib/ncs_navigator/warehouse/transformers.rb +11 -5
- data/lib/ncs_navigator/warehouse/transformers/apply_global_values_filter.rb +63 -0
- data/lib/ncs_navigator/warehouse/transformers/coded_as_missing_filter.rb +91 -0
- data/lib/ncs_navigator/warehouse/transformers/database.rb +1 -1
- data/lib/ncs_navigator/warehouse/transformers/enum_transformer.rb +34 -15
- data/lib/ncs_navigator/warehouse/transformers/filters.rb +66 -0
- data/lib/ncs_navigator/warehouse/transformers/no_blank_foreign_keys_filter.rb +29 -0
- data/lib/ncs_navigator/warehouse/transformers/no_ssu_outreach_all_ssus_filter.rb +102 -0
- data/lib/ncs_navigator/warehouse/transformers/no_ssu_outreach_placeholder_filter.rb +61 -0
- data/lib/ncs_navigator/warehouse/transformers/vdr_xml.rb +7 -4
- data/lib/ncs_navigator/warehouse/transformers/vdr_xml/reader.rb +1 -13
- data/lib/ncs_navigator/warehouse/version.rb +1 -1
- data/ncs_mdes_warehouse.gemspec +1 -1
- data/spec/ncs_navigator/warehouse/configuration_spec.rb +16 -0
- data/spec/ncs_navigator/warehouse/models_spec.rb +13 -0
- data/spec/ncs_navigator/warehouse/table_modeler_spec.rb +7 -1
- data/spec/ncs_navigator/warehouse/transformers/apply_global_values_filter_spec.rb +44 -0
- data/spec/ncs_navigator/warehouse/transformers/coded_as_missing_filter_spec.rb +68 -0
- data/spec/ncs_navigator/warehouse/transformers/database_spec.rb +9 -1
- data/spec/ncs_navigator/warehouse/transformers/enum_transformer_spec.rb +72 -27
- data/spec/ncs_navigator/warehouse/transformers/filters_spec.rb +97 -0
- data/spec/ncs_navigator/warehouse/transformers/no_blank_foreign_keys_filter_spec.rb +29 -0
- data/spec/ncs_navigator/warehouse/transformers/no_ssu_outreach_all_ssus_filter_spec.rb +166 -0
- data/spec/ncs_navigator/warehouse/transformers/no_ssu_outreach_placeholder_filter_spec.rb +60 -0
- data/spec/ncs_navigator/warehouse/transformers/sampling_units_spec.rb +5 -4
- data/spec/ncs_navigator/warehouse/transformers/vdr_xml/reader_spec.rb +2 -32
- data/spec/ncs_navigator/warehouse/transformers/vdr_xml_spec.rb +7 -2
- data/spec/spec_helper.rb +18 -4
- data/spec/test_samples.csv +1 -0
- metadata +918 -293
@@ -0,0 +1,91 @@
|
|
1
|
+
require 'ncs_navigator/warehouse'
|
2
|
+
|
3
|
+
module NcsNavigator::Warehouse::Transformers
|
4
|
+
##
|
5
|
+
# Some source data sets include unnecessary placeholder records and
|
6
|
+
# values. This filter excludes the following variables and records:
|
7
|
+
#
|
8
|
+
# * Entire records whose ID is one of the common MDES error codes
|
9
|
+
# (-3, -4, -6, -7).
|
10
|
+
#
|
11
|
+
# * Foreign key values whose ID is one of those same MDES error
|
12
|
+
# codes.
|
13
|
+
#
|
14
|
+
# * Variable values which are not required and not coded whose value
|
15
|
+
# is one of these error codes (e.g., a comments field whose value
|
16
|
+
# is '-7').
|
17
|
+
#
|
18
|
+
# If the `:additional_codes` option is passed to the constructor,
|
19
|
+
# those codes will be used in addition to the default list (i.e.,
|
20
|
+
# -3, -4, -6, -7).
|
21
|
+
#
|
22
|
+
# This filter may be used with or without instantiation.
|
23
|
+
class CodedAsMissingFilter
|
24
|
+
DEFAULT_MISSING_CODES = %w(-3 -4 -6 -7)
|
25
|
+
|
26
|
+
class << self
|
27
|
+
def call(records)
|
28
|
+
singleton.call(records)
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def singleton
|
34
|
+
@singleton ||= CodedAsMissingFilter.new
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
attr_reader :missing_codes
|
39
|
+
|
40
|
+
##
|
41
|
+
# @param configuration [Configuration]
|
42
|
+
# @param options [Hash<Symbol, Object>]
|
43
|
+
# @option options [Array<String>] :additional_codes a list of
|
44
|
+
# other codes (beyond the defaults) which will also be treated
|
45
|
+
# as "missing" for the purposes of this filter.
|
46
|
+
def initialize(configuration=nil, options={})
|
47
|
+
@missing_codes = DEFAULT_MISSING_CODES.dup
|
48
|
+
if options[:additional_codes]
|
49
|
+
@missing_codes += options[:additional_codes]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def call(records)
|
54
|
+
records.collect { |r| process(r) }.compact
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def process(record)
|
60
|
+
return nil if missing_codes.include?(record.key.first)
|
61
|
+
|
62
|
+
remove_missing_foreign_keys(record)
|
63
|
+
remove_missing_noncoded_values(record)
|
64
|
+
|
65
|
+
record
|
66
|
+
end
|
67
|
+
|
68
|
+
def remove_missing_foreign_keys(record)
|
69
|
+
record.class.relationships.each do |rel|
|
70
|
+
reference_key = rel.child_key.first.name
|
71
|
+
reference_value = record.send(reference_key)
|
72
|
+
|
73
|
+
if reference_value && missing_codes.include?(reference_value)
|
74
|
+
record.send("#{reference_key}=", nil)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
def remove_missing_noncoded_values(record)
|
80
|
+
record.class.properties.each do |prop|
|
81
|
+
unless prop.required? || prop.options[:set]
|
82
|
+
prop_value = record.send(prop.name)
|
83
|
+
if missing_codes.include?(prop_value)
|
84
|
+
record.send("#{prop.name}=", nil)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
end
|
@@ -406,7 +406,7 @@ module NcsNavigator::Warehouse::Transformers
|
|
406
406
|
# enumerable.
|
407
407
|
# @see EnumTransformer
|
408
408
|
def create_transformer(configuration, options={})
|
409
|
-
EnumTransformer.new(configuration, new(configuration, options))
|
409
|
+
EnumTransformer.new(configuration, new(configuration, options), options)
|
410
410
|
end
|
411
411
|
end
|
412
412
|
|
@@ -31,16 +31,31 @@ module NcsNavigator::Warehouse::Transformers
|
|
31
31
|
# @return [Enumerable] the enumeration that will be transformed.
|
32
32
|
attr_reader :enum
|
33
33
|
|
34
|
+
##
|
35
|
+
# @return [Filters] the filters in use on this transformer.
|
36
|
+
attr_reader :filters
|
37
|
+
|
34
38
|
def_delegators :@configuration, :log, :shell
|
35
39
|
|
36
40
|
##
|
37
41
|
# @param [Configuration] configuration
|
38
42
|
# @param [Enumerable] enum
|
39
|
-
|
43
|
+
# @param [Hash<Symbol, Object>] options
|
44
|
+
# @option options [Array<#call>,#call] :filters a list of
|
45
|
+
# filters to use for this transformer
|
46
|
+
#
|
47
|
+
# @see Filters
|
48
|
+
def initialize(configuration, enum, options={})
|
40
49
|
@configuration = configuration
|
41
50
|
@enum = enum
|
51
|
+
filter_list = options.delete(:filters)
|
52
|
+
@filters = Filters.new(filter_list ? [*filter_list].compact : [])
|
42
53
|
end
|
43
54
|
|
55
|
+
##
|
56
|
+
# A human-readable name for this transformer.
|
57
|
+
#
|
58
|
+
# @return [String]
|
44
59
|
def name
|
45
60
|
enum_name = if enum.respond_to?(:name)
|
46
61
|
enum.name
|
@@ -74,14 +89,19 @@ module NcsNavigator::Warehouse::Transformers
|
|
74
89
|
when NcsNavigator::Warehouse::TransformError
|
75
90
|
receive_transform_error(record, status)
|
76
91
|
else
|
77
|
-
|
92
|
+
filters.call([record]).each do |filtered_record|
|
93
|
+
save_model_instance(filtered_record, status)
|
94
|
+
end
|
78
95
|
end
|
79
96
|
end
|
80
97
|
end
|
81
98
|
|
82
99
|
def save_model_instance(record, status)
|
83
|
-
|
84
|
-
|
100
|
+
if !has_valid_psu?(record)
|
101
|
+
msg = "Invalid PSU ID #{record.psu_id.inspect}. The list of valid PSU IDs for this Study Center is #{@configuration.navigator.psus.collect(&:id).inspect}."
|
102
|
+
log.error "#{record_ident record}: #{msg}"
|
103
|
+
status.unsuccessful_record(record, msg)
|
104
|
+
elsif record.valid?
|
85
105
|
log.debug("Saving valid record #{record_ident record}.")
|
86
106
|
begin
|
87
107
|
unless record.save
|
@@ -122,17 +142,16 @@ module NcsNavigator::Warehouse::Transformers
|
|
122
142
|
}.flatten
|
123
143
|
end
|
124
144
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
end
|
145
|
+
##
|
146
|
+
# Has valid PSU is true if:
|
147
|
+
# * The record has no PSU reference, or
|
148
|
+
# * The record's PSU ID is one of those configured for the
|
149
|
+
# study center
|
150
|
+
def has_valid_psu?(record)
|
151
|
+
if record.respond_to?(:psu_id)
|
152
|
+
@configuration.navigator.psus.collect(&:id).include?(record.psu_id)
|
153
|
+
else
|
154
|
+
true
|
136
155
|
end
|
137
156
|
end
|
138
157
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'forwardable'
|
2
|
+
|
3
|
+
module NcsNavigator::Warehouse::Transformers
|
4
|
+
##
|
5
|
+
# Encapsulates an ordered list of filters that can be applied to a
|
6
|
+
# record coming out of an enumeration in {EnumTransformer}.
|
7
|
+
#
|
8
|
+
# Each filter is an object with an `call` method. The `call`
|
9
|
+
# method takes an array of zero or more records as input and returns
|
10
|
+
# an array of zero or more records. The input and output arrays may
|
11
|
+
# be the same or different. A filter may add, remove, or mutate
|
12
|
+
# records (or all three).
|
13
|
+
#
|
14
|
+
# A filter will be called multiple times for a single transform run,
|
15
|
+
# but it will never see the same record twice. To put it another
|
16
|
+
# way, the first filter will be invoked exactly once per record
|
17
|
+
# yielded from an {EnumTransformer}'s enumeration. Subsequent
|
18
|
+
# filters are invoked on return value from the previous filter.
|
19
|
+
#
|
20
|
+
# Depending on the filter order, a particular filter may never see
|
21
|
+
# some of the eventually transformed records. This will happen if
|
22
|
+
# records are created by a filter lower in the filter chain.
|
23
|
+
class Filters
|
24
|
+
include Enumerable
|
25
|
+
extend Forwardable
|
26
|
+
|
27
|
+
def_delegators :@filters, :each
|
28
|
+
|
29
|
+
attr_accessor :filters
|
30
|
+
|
31
|
+
def initialize(filter_objects)
|
32
|
+
check_filters(filter_objects)
|
33
|
+
|
34
|
+
@filters = filter_objects
|
35
|
+
end
|
36
|
+
|
37
|
+
##
|
38
|
+
# @param records [Array] zero or more records to filter.
|
39
|
+
# @return [Array] the filtered records.
|
40
|
+
def call(records)
|
41
|
+
filters.inject(ensure_array(records)) { |result, filter| ensure_array(filter.call(result)) }
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def check_filters(candidates)
|
47
|
+
candidates.each_with_index do |f, i|
|
48
|
+
unless f.respond_to?(:call)
|
49
|
+
fail "Filter #{i} (#{f.class}) does not have a call method"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def ensure_array(records)
|
55
|
+
case records
|
56
|
+
when nil
|
57
|
+
[]
|
58
|
+
when Enumerable
|
59
|
+
records.to_a
|
60
|
+
else
|
61
|
+
[records]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'ncs_navigator/warehouse'
|
2
|
+
|
3
|
+
module NcsNavigator::Warehouse::Transformers
|
4
|
+
##
|
5
|
+
# This filter transforms any blank foreign keys into nil. Blank
|
6
|
+
# foreign keys are a common issue in source XML data.
|
7
|
+
#
|
8
|
+
# This filter is stateless and so should not be instantiated when
|
9
|
+
# added to a warehouse's configuration.
|
10
|
+
class NoBlankForeignKeysFilter
|
11
|
+
def self.call(records)
|
12
|
+
records.each do |record|
|
13
|
+
remove_missing_foreign_keys(record)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def self.remove_missing_foreign_keys(record)
|
20
|
+
record.class.relationships.each do |rel|
|
21
|
+
reference_key = rel.child_key.first.name
|
22
|
+
reference_value = record.send(reference_key)
|
23
|
+
if reference_value && reference_value.strip.empty?
|
24
|
+
record.send("#{reference_key}=", nil)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'ncs_navigator/warehouse'
|
2
|
+
|
3
|
+
module NcsNavigator::Warehouse::Transformers
|
4
|
+
##
|
5
|
+
# A filter which duplicates outreach event records that don't have
|
6
|
+
# an SSU ID across all of a center's SSUs.
|
7
|
+
#
|
8
|
+
# This filter is intended for use when reading a center's VDR XML
|
9
|
+
# into the warehouse for eventual import into a new NCS Navigator
|
10
|
+
# instance. Some centers have outreach events which are not
|
11
|
+
# associated with any SSUs in their XML. They intend this in
|
12
|
+
# indicate that the outreach events are associated with all the
|
13
|
+
# center's SSUs. This filter makes that happen.
|
14
|
+
#
|
15
|
+
# This filter is stateful and so needs to be instantiated when being
|
16
|
+
# added to the warehouse configuration.
|
17
|
+
class NoSsuOutreachAllSsusFilter
|
18
|
+
attr_reader :ssu_ids
|
19
|
+
|
20
|
+
##
|
21
|
+
# @param configuration [Configuration] the warehouse
|
22
|
+
# configuration.
|
23
|
+
# @param options [Hash<Symbol, Object>]
|
24
|
+
# @option options [Array<String>] :ssu_ids by default, full set of
|
25
|
+
# SSU IDs is derived from the navigator suite configuration. It
|
26
|
+
# can be overridden with this option.
|
27
|
+
def initialize(configuration, options={})
|
28
|
+
@configuration = configuration
|
29
|
+
@ssu_ids = options[:ssu_ids] || default_ssu_ids
|
30
|
+
|
31
|
+
@outreach_model = configuration.models_module.const_get(:Outreach)
|
32
|
+
@outreach_associated_models = configuration.models_module.mdes_order.select { |model|
|
33
|
+
model.relationships.detect { |rel| rel.parent_model == @outreach_model }
|
34
|
+
}
|
35
|
+
|
36
|
+
@replicated_outreach_event_ids = {}
|
37
|
+
end
|
38
|
+
|
39
|
+
def call(records)
|
40
|
+
[].tap do |result|
|
41
|
+
records.each do |rec|
|
42
|
+
if is_no_ssu_outreach?(rec)
|
43
|
+
result.concat replicate_outreach_across_ssus(rec)
|
44
|
+
elsif is_replicated_oe_associate?(rec)
|
45
|
+
result.concat replicate_associated_record(rec)
|
46
|
+
else
|
47
|
+
result << rec
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def default_ssu_ids
|
56
|
+
@configuration.navigator.ssus.collect(&:id)
|
57
|
+
end
|
58
|
+
|
59
|
+
def is_no_ssu_outreach?(record)
|
60
|
+
record.class == @outreach_model && record.ssu_id.nil?
|
61
|
+
end
|
62
|
+
|
63
|
+
def is_replicated_oe_associate?(record)
|
64
|
+
@outreach_associated_models.include?(record.class) &&
|
65
|
+
@replicated_outreach_event_ids.keys.include?(record.outreach_event_id)
|
66
|
+
end
|
67
|
+
|
68
|
+
def replicate_outreach_across_ssus(outreach_event)
|
69
|
+
oe_id = outreach_event.outreach_event_id
|
70
|
+
|
71
|
+
replica_ids = ssu_ids.collect { |ssu_id| [ssu_id, create_replica_id(oe_id, ssu_id)] }
|
72
|
+
|
73
|
+
@replicated_outreach_event_ids[oe_id] = replica_ids
|
74
|
+
|
75
|
+
replica_ids.collect { |ssu_id, replica_oe_id|
|
76
|
+
outreach_event.class.new(
|
77
|
+
outreach_event.attributes.
|
78
|
+
merge(:ssu_id => ssu_id, :outreach_event_id => replica_oe_id)
|
79
|
+
)
|
80
|
+
}
|
81
|
+
end
|
82
|
+
|
83
|
+
def create_replica_id(base_id, ssu_id)
|
84
|
+
[base_id, ssu_id].join('-')
|
85
|
+
end
|
86
|
+
|
87
|
+
def replicate_associated_record(record)
|
88
|
+
replica_oe_ids = @replicated_outreach_event_ids[record.outreach_event_id]
|
89
|
+
|
90
|
+
associated_key_name = record.class.key.first.name
|
91
|
+
|
92
|
+
replica_oe_ids.collect { |ssu_id, replica_oe_id|
|
93
|
+
record.class.new(
|
94
|
+
record.attributes.merge(
|
95
|
+
:outreach_event_id => replica_oe_id,
|
96
|
+
associated_key_name => create_replica_id(record.key.first, ssu_id)
|
97
|
+
)
|
98
|
+
)
|
99
|
+
}
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'ncs_navigator/warehouse'
|
2
|
+
|
3
|
+
module NcsNavigator::Warehouse::Transformers
|
4
|
+
##
|
5
|
+
# A filter which associates outreach event records that don't have
|
6
|
+
# an SSU ID with an automatically-created placeholder SSU.
|
7
|
+
#
|
8
|
+
# This filter is intended for use when reading a center's VDR XML
|
9
|
+
# into the warehouse for eventual import into a new NCS Navigator
|
10
|
+
# instance. Some centers have outreach events which are not
|
11
|
+
# logically associated with any SSUs. This scenario is permitted in
|
12
|
+
# MDES 2.1+, but not in MDES 2.0. This filter provides a shim to
|
13
|
+
# allow their data to be loaded, both into the warehouse and
|
14
|
+
# eventually into Staff Portal. The shim will be removed after they
|
15
|
+
# are upgraded to MDES 2.1.
|
16
|
+
#
|
17
|
+
# This filter is stateful and so needs to be instantiated when being
|
18
|
+
# added to the warehouse configuration.
|
19
|
+
class NoSsuOutreachPlaceholderFilter
|
20
|
+
PLACEHOLDER_SSU_ID = 'NO_SSU_PLACEHOLDER_PRE_MDES_2_1'
|
21
|
+
|
22
|
+
def initialize(configuration)
|
23
|
+
@configuration = configuration
|
24
|
+
@outreach_model = configuration.models_module.const_get(:Outreach)
|
25
|
+
end
|
26
|
+
|
27
|
+
def call(records)
|
28
|
+
return records unless has_any_no_ssu_outreach?(records)
|
29
|
+
|
30
|
+
unless @placeholder_ssu_created
|
31
|
+
records.unshift(create_placeholder_ssu)
|
32
|
+
@placeholder_ssu_created = true
|
33
|
+
end
|
34
|
+
|
35
|
+
records.each do |rec|
|
36
|
+
rec.ssu_id = PLACEHOLDER_SSU_ID if is_no_ssu_outreach?(rec)
|
37
|
+
end
|
38
|
+
|
39
|
+
records
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def has_any_no_ssu_outreach?(records)
|
45
|
+
records.detect { |r| is_no_ssu_outreach?(r) }
|
46
|
+
end
|
47
|
+
|
48
|
+
def is_no_ssu_outreach?(record)
|
49
|
+
record.class == @outreach_model && record.ssu_id.nil?
|
50
|
+
end
|
51
|
+
|
52
|
+
def create_placeholder_ssu
|
53
|
+
@configuration.models_module.const_get(:Ssu).new(
|
54
|
+
:ssu_id => PLACEHOLDER_SSU_ID,
|
55
|
+
:ssu_name => 'Placeholder SSU for no-SSU outreach events until upgraded to MDES 2.0',
|
56
|
+
:psu_id => @configuration.navigator.psus.first.id,
|
57
|
+
:sc_id => @configuration.navigator.study_center_id
|
58
|
+
)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|