ncs_mdes_warehouse 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (317) hide show
  1. data/.gitignore +7 -0
  2. data/.rvmrc +1 -0
  3. data/.yardopts +7 -0
  4. data/CHANGELOG.md +8 -0
  5. data/Gemfile +13 -0
  6. data/README.md +154 -0
  7. data/Rakefile +45 -0
  8. data/bin/mdes-wh +21 -0
  9. data/ci-exec.sh +45 -0
  10. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/address.rb +101 -0
  11. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit.rb +365 -0
  12. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_2.rb +359 -0
  13. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_baby_name.rb +47 -0
  14. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_baby_name_2.rb +47 -0
  15. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_decorate_room.rb +29 -0
  16. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_decorate_room_2.rb +32 -0
  17. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_li.rb +374 -0
  18. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_li_baby_name.rb +47 -0
  19. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_li_decorate_room.rb +32 -0
  20. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_li_renovate_room.rb +32 -0
  21. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_renovate_room.rb +29 -0
  22. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/birth_visit_renovate_room_2.rb +32 -0
  23. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/contact.rb +77 -0
  24. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/drf_therm_verification.rb +50 -0
  25. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/dwelling_unit.rb +53 -0
  26. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother.rb +347 -0
  27. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_cond.rb +29 -0
  28. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_detail.rb +50 -0
  29. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_habits.rb +164 -0
  30. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_lice.rb +29 -0
  31. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_mold.rb +29 -0
  32. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_otc.rb +47 -0
  33. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_pet_type.rb +32 -0
  34. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_prescr.rb +47 -0
  35. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_renovate_room.rb +32 -0
  36. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_room_mold.rb +32 -0
  37. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_saq.rb +257 -0
  38. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/eighteen_mth_mother_suppl.rb +47 -0
  39. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/email.rb +74 -0
  40. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/env_equipment.rb +47 -0
  41. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/env_equipment_prob_log.rb +50 -0
  42. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/event.rb +68 -0
  43. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/father_pv1.rb +374 -0
  44. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/father_pv1_cancer.rb +29 -0
  45. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/father_pv1_educ.rb +29 -0
  46. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/father_pv1_race.rb +29 -0
  47. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/household_enumeration.rb +239 -0
  48. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/household_enumeration_age_elig.rb +38 -0
  49. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/household_enumeration_hidden_du.rb +50 -0
  50. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/household_enumeration_pregnant.rb +38 -0
  51. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/household_inventory.rb +203 -0
  52. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/household_inventory_age.rb +35 -0
  53. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/household_inventory_age_elig.rb +35 -0
  54. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/household_unit.rb +53 -0
  55. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/incident.rb +98 -0
  56. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/incident_media.rb +35 -0
  57. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/incident_unanticipated.rb +29 -0
  58. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/institution.rb +68 -0
  59. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/instrument.rb +74 -0
  60. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/internet_usage.rb +92 -0
  61. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/internet_usage_participate.rb +29 -0
  62. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/link_contact.rb +41 -0
  63. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/link_household_dwelling.rb +38 -0
  64. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/link_person_household.rb +38 -0
  65. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/link_person_institute.rb +32 -0
  66. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/link_person_participant.rb +38 -0
  67. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/link_person_provider.rb +38 -0
  68. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/listing_unit.rb +38 -0
  69. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/low_high_script.rb +119 -0
  70. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/nine_mth_mother.rb +62 -0
  71. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/nine_mth_mother_detail.rb +143 -0
  72. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/non_interview_rpt.rb +128 -0
  73. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/non_interview_rpt_dutype.rb +32 -0
  74. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/non_interview_rpt_noaccess.rb +32 -0
  75. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/non_interview_rpt_refusal.rb +32 -0
  76. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/non_interview_rpt_vacant.rb +32 -0
  77. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/outreach.rb +98 -0
  78. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/outreach_eval.rb +32 -0
  79. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/outreach_lang2.rb +29 -0
  80. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/outreach_race.rb +32 -0
  81. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/outreach_staff.rb +29 -0
  82. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/outreach_target.rb +32 -0
  83. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/participant.rb +62 -0
  84. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/participant_auth.rb +44 -0
  85. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/participant_consent.rb +86 -0
  86. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/participant_consent_sample.rb +35 -0
  87. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/participant_rvis.rb +74 -0
  88. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/participant_vis_consent.rb +53 -0
  89. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment.rb +275 -0
  90. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_2.rb +275 -0
  91. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_info_source.rb +32 -0
  92. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_info_source_2.rb +29 -0
  93. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_prov_source.rb +32 -0
  94. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_prov_source_2.rb +29 -0
  95. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_prov_svc.rb +32 -0
  96. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pb_recruitment_prov_svc_2.rb +32 -0
  97. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/person.rb +113 -0
  98. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/person_race.rb +32 -0
  99. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/ppg_cati.rb +95 -0
  100. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/ppg_details.rb +41 -0
  101. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/ppg_saq.rb +92 -0
  102. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/ppg_status_history.rb +47 -0
  103. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pre_preg.rb +422 -0
  104. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pre_preg_cool.rb +32 -0
  105. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pre_preg_heat2.rb +32 -0
  106. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pre_preg_pdecorate_room.rb +32 -0
  107. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pre_preg_prenovate_room.rb +32 -0
  108. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pre_preg_room_mold.rb +32 -0
  109. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pre_preg_saq.rb +116 -0
  110. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/pre_preg_sp_race.rb +32 -0
  111. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/prec_therm_cert.rb +41 -0
  112. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh.rb +350 -0
  113. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh_2.rb +362 -0
  114. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh_know_ncs.rb +29 -0
  115. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh_know_ncs_2.rb +32 -0
  116. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh_race.rb +29 -0
  117. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_eh_race_2.rb +32 -0
  118. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi.rb +371 -0
  119. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi_2.rb +380 -0
  120. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi_know_ncs.rb +29 -0
  121. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi_know_ncs_2.rb +32 -0
  122. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi_race.rb +29 -0
  123. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_hi_race_2.rb +32 -0
  124. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb.rb +371 -0
  125. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb_2.rb +380 -0
  126. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb_know_ncs.rb +29 -0
  127. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb_know_ncs_2.rb +32 -0
  128. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb_race.rb +29 -0
  129. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_screen_pb_race_2.rb +32 -0
  130. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1.rb +521 -0
  131. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_2.rb +497 -0
  132. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_commute.rb +29 -0
  133. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_commute_2.rb +32 -0
  134. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_cool.rb +29 -0
  135. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_cool_2.rb +32 -0
  136. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_diagnose_2.rb +29 -0
  137. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_diagnose_2_2.rb +29 -0
  138. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_heat2.rb +29 -0
  139. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_heat2_2.rb +32 -0
  140. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_local_trav.rb +29 -0
  141. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_local_trav_2.rb +32 -0
  142. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_nonenglish2_2.rb +32 -0
  143. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_pdecorate_room.rb +29 -0
  144. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_pdecorate_room_2.rb +32 -0
  145. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_pet_type.rb +29 -0
  146. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_pet_type_2.rb +32 -0
  147. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_prenovate2_room.rb +29 -0
  148. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_prenovate_room.rb +29 -0
  149. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_prenovate_room_2.rb +32 -0
  150. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_room_mold.rb +29 -0
  151. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_room_mold_2.rb +32 -0
  152. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_saq.rb +188 -0
  153. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_saq_2.rb +233 -0
  154. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_sp_race.rb +29 -0
  155. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_1_sp_race_2.rb +32 -0
  156. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2.rb +452 -0
  157. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_2.rb +440 -0
  158. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_cool.rb +29 -0
  159. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_cool_2.rb +32 -0
  160. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_diagnose_2.rb +29 -0
  161. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_diagnose_2_2.rb +32 -0
  162. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_heat2.rb +29 -0
  163. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_heat2_2.rb +32 -0
  164. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_pdecorate2_room.rb +29 -0
  165. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_pdecorate2_room_2.rb +32 -0
  166. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_prenovate_room.rb +29 -0
  167. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_prenovate_room_2.rb +32 -0
  168. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_room_mold.rb +29 -0
  169. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_room_mold_2.rb +32 -0
  170. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_saq.rb +116 -0
  171. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_2_saq_2.rb +116 -0
  172. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_li.rb +350 -0
  173. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_li_2.rb +350 -0
  174. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_li_cool.rb +29 -0
  175. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/preg_visit_li_cool_2.rb +32 -0
  176. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/provider.rb +62 -0
  177. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/provider_role.rb +32 -0
  178. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/psu.rb +29 -0
  179. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/ref_freezer_verification.rb +50 -0
  180. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/sample_receipt_confirm.rb +53 -0
  181. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/sample_receipt_store.rb +65 -0
  182. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/sample_shipping.rb +53 -0
  183. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_mother.rb +278 -0
  184. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_mother_detail.rb +263 -0
  185. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_mother_pet.rb +32 -0
  186. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq.rb +218 -0
  187. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_2.rb +218 -0
  188. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_formula_type.rb +29 -0
  189. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_formula_type_2.rb +29 -0
  190. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_supp.rb +32 -0
  191. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_supp_2.rb +32 -0
  192. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_water.rb +29 -0
  193. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/six_mth_saq_water_2.rb +29 -0
  194. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_blood.rb +194 -0
  195. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_blood_draw.rb +29 -0
  196. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_blood_hemolyze.rb +29 -0
  197. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_blood_tube.rb +38 -0
  198. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_blood_tube_comments.rb +29 -0
  199. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_cord_blood.rb +110 -0
  200. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_cord_blood_specimen.rb +29 -0
  201. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_equipment.rb +38 -0
  202. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_pickup.rb +47 -0
  203. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_receipt.rb +77 -0
  204. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_shipping.rb +56 -0
  205. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_spsc_info.rb +26 -0
  206. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_storage.rb +59 -0
  207. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/spec_urine.rb +110 -0
  208. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/srsc_info.rb +26 -0
  209. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/ssu.rb +29 -0
  210. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/staff.rb +59 -0
  211. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/staff_cert_training.rb +47 -0
  212. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/staff_exp_data_cllctn_tasks.rb +44 -0
  213. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/staff_exp_mngmnt_tasks.rb +38 -0
  214. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/staff_language.rb +32 -0
  215. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/staff_validation.rb +38 -0
  216. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/staff_weekly_expense.rb +44 -0
  217. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/study_center.rb +26 -0
  218. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/subsample_doc.rb +29 -0
  219. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf.rb +152 -0
  220. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf_blank_collected.rb +29 -0
  221. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf_dup_collected.rb +29 -0
  222. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf_dup_filled.rb +29 -0
  223. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf_n_collected.rb +29 -0
  224. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf_reason_filled.rb +29 -0
  225. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf_reason_filled2.rb +29 -0
  226. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf_sample.rb +32 -0
  227. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twf_subsamples.rb +29 -0
  228. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq.rb +143 -0
  229. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq_blank_collected.rb +29 -0
  230. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq_dup_collected.rb +29 -0
  231. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq_dup_filled.rb +29 -0
  232. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq_n_collected.rb +29 -0
  233. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq_reason_filled.rb +29 -0
  234. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq_reason_filled2.rb +29 -0
  235. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq_sample.rb +32 -0
  236. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tap_water_twq_subsamples.rb +29 -0
  237. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/telephone.rb +83 -0
  238. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/three_mth_mother.rb +89 -0
  239. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/three_mth_mother_child_detail.rb +59 -0
  240. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/three_mth_mother_child_habits.rb +185 -0
  241. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/three_mth_mother_race.rb +32 -0
  242. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/trh_meter_calibration.rb +77 -0
  243. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/tsu.rb +29 -0
  244. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_mother.rb +299 -0
  245. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_mother_detail.rb +302 -0
  246. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_mother_lice.rb +29 -0
  247. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_mother_renovate_room.rb +32 -0
  248. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_mother_room_mold.rb +32 -0
  249. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq.rb +293 -0
  250. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_2.rb +293 -0
  251. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_formula_brand.rb +32 -0
  252. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_formula_brand_2.rb +32 -0
  253. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_formula_type.rb +29 -0
  254. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_formula_type_2.rb +29 -0
  255. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_supplement.rb +32 -0
  256. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_supplement_2.rb +32 -0
  257. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_water.rb +29 -0
  258. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twelve_mth_saq_water_2.rb +32 -0
  259. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_mother.rb +347 -0
  260. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_mother_cond.rb +29 -0
  261. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_mother_detail.rb +50 -0
  262. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_mother_habits.rb +194 -0
  263. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_mother_mold.rb +29 -0
  264. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_mother_otc.rb +47 -0
  265. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_mother_prescr.rb +47 -0
  266. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_mother_suppl.rb +47 -0
  267. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_pet_type.rb +32 -0
  268. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_renovate_room.rb +32 -0
  269. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_room_mold.rb +32 -0
  270. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/twenty_four_mth_saq.rb +242 -0
  271. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/vacuum_bag.rb +131 -0
  272. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/vacuum_bag_outside.rb +32 -0
  273. data/generated_models/ncs_navigator/warehouse/models/two_point_zero/validation_ins.rb +233 -0
  274. data/generated_models/ncs_navigator/warehouse/models/two_point_zero.rb +551 -0
  275. data/init.rakefile +27 -0
  276. data/lib/ncs_navigator/warehouse/cli.rb +57 -0
  277. data/lib/ncs_navigator/warehouse/configuration/file_evaluator.rb +60 -0
  278. data/lib/ncs_navigator/warehouse/configuration.rb +315 -0
  279. data/lib/ncs_navigator/warehouse/data_mapper.rb +50 -0
  280. data/lib/ncs_navigator/warehouse/data_mapper_patches.rb +23 -0
  281. data/lib/ncs_navigator/warehouse/database_initializer.rb +100 -0
  282. data/lib/ncs_navigator/warehouse/models/mdes_model.rb +76 -0
  283. data/lib/ncs_navigator/warehouse/models/mdes_model_collection.rb +64 -0
  284. data/lib/ncs_navigator/warehouse/models.rb +11 -0
  285. data/lib/ncs_navigator/warehouse/table_modeler/mdes_ext.rb +141 -0
  286. data/lib/ncs_navigator/warehouse/table_modeler/model_template.rb.erb +31 -0
  287. data/lib/ncs_navigator/warehouse/table_modeler.rb +128 -0
  288. data/lib/ncs_navigator/warehouse/transformers/database.rb +236 -0
  289. data/lib/ncs_navigator/warehouse/transformers/enum_transformer.rb +58 -0
  290. data/lib/ncs_navigator/warehouse/transformers/transform_status.rb +23 -0
  291. data/lib/ncs_navigator/warehouse/transformers/vdr_xml/reader.rb +118 -0
  292. data/lib/ncs_navigator/warehouse/transformers/vdr_xml.rb +26 -0
  293. data/lib/ncs_navigator/warehouse/transformers.rb +19 -0
  294. data/lib/ncs_navigator/warehouse/updating_shell.rb +57 -0
  295. data/lib/ncs_navigator/warehouse/version.rb +5 -0
  296. data/lib/ncs_navigator/warehouse/xml_emitter.rb +138 -0
  297. data/lib/ncs_navigator/warehouse.rb +63 -0
  298. data/ncs_mdes_warehouse.gemspec +39 -0
  299. data/sample_configuration.rb +48 -0
  300. data/spec/bcdatabase/local_postgresql.yml +7 -0
  301. data/spec/bcdatabase/public_ci_postgresql9.yml +7 -0
  302. data/spec/bcdatabase/test_sqlite.yml +5 -0
  303. data/spec/global_state_helper.rb +116 -0
  304. data/spec/navigator.ini +12 -0
  305. data/spec/ncs_navigator/warehouse/configuration_spec.rb +409 -0
  306. data/spec/ncs_navigator/warehouse/models/mdes_model_spec.rb +170 -0
  307. data/spec/ncs_navigator/warehouse/table_modeler_spec.rb +562 -0
  308. data/spec/ncs_navigator/warehouse/transformers/database_spec.rb +194 -0
  309. data/spec/ncs_navigator/warehouse/transformers/enum_transformer_spec.rb +94 -0
  310. data/spec/ncs_navigator/warehouse/transformers/vdr_xml/made_up_vdr_xml.xml +87 -0
  311. data/spec/ncs_navigator/warehouse/transformers/vdr_xml/reader_spec.rb +43 -0
  312. data/spec/ncs_navigator/warehouse/transformers/vdr_xml_spec.rb +45 -0
  313. data/spec/ncs_navigator/warehouse/xml_emitter_spec.rb +108 -0
  314. data/spec/ncs_navigator/warehouse_spec.rb +35 -0
  315. data/spec/spec_helper.rb +84 -0
  316. data/spec/test_samples.csv +2 -0
  317. metadata +567 -0
data/.gitignore ADDED
@@ -0,0 +1,7 @@
1
+ tmp
2
+ Gemfile.lock
3
+ .yardoc
4
+ docs
5
+ reports
6
+ *.sqlite3
7
+ logs
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm ruby-1.9.2-p290@ncs_mdes_warehouse
data/.yardopts ADDED
@@ -0,0 +1,7 @@
1
+ --no-private
2
+ --markup markdown
3
+ --hide-void-return
4
+ --files CHANGELOG.md
5
+ --readme README.md
6
+ lib/**/*.rb
7
+ generated_models/**/*.rb
data/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ NCS Navigator MDES Warehouse History
2
+ ====================================
3
+
4
+ 0.0.1
5
+ -----
6
+
7
+ - Initial version. Includes models for MDES 2.0 Patch and most
8
+ peripheral functionality. Actual ETL still pending.
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ source :rubygems
2
+
3
+ gemspec
4
+
5
+ group :development do
6
+ # for YARD
7
+ gem 'rdiscount'
8
+ gem 'ci_reporter', :git => 'git://github.com/nicksieger/ci_reporter.git'
9
+ end
10
+
11
+ group :test do
12
+ gem 'dm-sqlite-adapter', '~> 1.2.0'
13
+ end
data/README.md ADDED
@@ -0,0 +1,154 @@
1
+ # NCS Navigator MDES Warehouse
2
+
3
+ MDES Warehouse is the central collation and reporting engine for the
4
+ NCS Navigator suite. It provides the infrastructure to support
5
+ transforming data from the operational and data-collection systems and
6
+ converting it into the format required for reporting to the National
7
+ Children's Study program office.
8
+
9
+ While it has been built for the NCS Navigator suite, it exposes
10
+ generic attachment points for transformers, potentially allowing it to
11
+ be used with other sets of transactional systems for the National
12
+ Children's Study.
13
+
14
+ ## System Requirements
15
+
16
+ MDES Warehouse is installed as a ruby gem. It's compatible with Ruby
17
+ 1.8.7 (including REE) and 1.9.2. It relies on [PostgreSQL][pgsql] 9
18
+ (or later).
19
+
20
+ [pgsql]: http://www.postgresql.org/
21
+
22
+ ## Set up
23
+
24
+ ### Install the gem
25
+
26
+ $ gem install ncs_mdes_warehouse
27
+
28
+ This will install the gem, all its dependencies, and the `mdes-wh`
29
+ executable.
30
+
31
+ ### Set the environment
32
+
33
+ The warehouse detects the kind of environment it's running in
34
+ (production, staging, or development) via the `NCS_NAVIGATOR_ENV`
35
+ environment variable. Arrange for this variable to be set to an
36
+ appropriate value for the server where you're deploying the warehouse:
37
+
38
+ # In, e.g., /etc/bashrc
39
+ export NCS_NAVIGATOR_ENV=staging
40
+
41
+ If you're deploying on a workstation (i.e., for development) you can
42
+ skip this step -- the default environment is development.
43
+
44
+ ### Configure the NCS Navigator suite
45
+
46
+ If you haven't already, create `/etc/nubic/ncs/navigator.ini` by
47
+ following the [example in the ncs_navigator_configuration
48
+ gem][confex].
49
+
50
+ [confex]: http://rubydoc.info/gems/ncs_navigator_configuration/file/sample_configuration.ini
51
+
52
+ ### Create the PostgreSQL databases
53
+
54
+ The warehouse requires two PostgreSQL databases. There are several
55
+ ways to create them. `createdb` is one:
56
+
57
+ $ createuser -e -h dbserver.my.org -PRSD mdes_warehouse
58
+ Enter password for new role:
59
+ Enter it again:
60
+ CREATE ROLE mdes_warehouse PASSWORD 'md5...' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;
61
+ $ createdb -e -O mdes_warehouse mdes_warehouse_working
62
+ CREATE DATABASE mdes_warehouse_working OWNER mdes_warehouse;
63
+ $ createdb -e -O mdes_warehouse mdes_warehouse_reporting
64
+ CREATE DATABASE mdes_warehouse_reporting OWNER mdes_warehouse;
65
+
66
+ ### Configure bcdatabase
67
+
68
+ Like the rest of the NCS Navigator suite, MDES Warehouse uses
69
+ [bcdatabase][] to locate database access parameters and
70
+ credentials. Bcdatabase looks for credentials under
71
+ `/etc/nubic/db`. The specific file that the warehouse looks in will
72
+ depend on the environment in which you're running:
73
+
74
+ * development: `local_postgresql.yml`
75
+ * staging: `ncsdb_staging.yml`
76
+ * production: `ncsdb_prod.yml`
77
+
78
+ Create or update the appropriate file with the warehouse configuration
79
+ for your environment. The below is an example; yours may differ. The
80
+ MDES Warehouse-specifc parts are the `datamapper_adapter`
81
+ configuration key and the two `mdes_warehouse_*` entries.
82
+
83
+ defaults:
84
+ host: ncsdb-staging.my.org
85
+ adapter: postgresql
86
+ datamapper_adapter: postgres
87
+ mdes_warehouse_working:
88
+ username: mdes_warehouse
89
+ password: whatever-i-entered-before
90
+ mdes_warehouse_reporting:
91
+ username: mdes_warehouse
92
+ password: whatever-i-entered-before
93
+
94
+ [bcdatabase]: http://rubydoc.info/gems/bcdatabase/frames
95
+
96
+ ### Configure warehouse
97
+
98
+ The warehouse takes its base configuration from a file under the
99
+ directory `/etc/nubic/ncs/warehouse`. The name of the file should be
100
+ `${NCS_NAVIGATOR_ENV}.rb`; e.g., for the production environment, the
101
+ full path would be `/etc/nubic/ncs/warehouse/production.rb`.
102
+
103
+ The minimum contents of this file is a list of transformers, which are
104
+ components that translate data from some source system or systems:
105
+
106
+ c.add_transformer VdrXml.from_most_recent_file(c, Dir['/var/lib/ncs/mdes/COOK*.xml'])
107
+ c.add_transformer StaffPortal.create_transformer(c)
108
+
109
+ The warehouse includes some transformers. Others are included with the
110
+ NCS Navigator suite applications themselves. See below for more
111
+ information (TODO).
112
+
113
+ The warehouse configuration file may optionally include other
114
+ overrides to MDES warehouse defaults. See the
115
+ {file:sample_configuration.rb} for details.
116
+
117
+ ### Verify your settings
118
+
119
+ You can verify most of these settings by running this command:
120
+
121
+ $ mdes-wh create-schema
122
+
123
+ It will connect to the working database and create a schema matching
124
+ the current MDES version.
125
+
126
+ TODO: a more complete verification utility.
127
+
128
+ ## Use
129
+
130
+ MDES Warehouse provides an executable named `mdes-wh` which has
131
+ several subcommands. To get a list of the commands, use `mdes-wh
132
+ help`.
133
+
134
+ ## Monitoring
135
+
136
+ The warehouse produces interactive monitoring output on standard error
137
+ for most of its actions. This output can be suppressed using the
138
+ `--quiet` command line option, or by setting `c.output_level = :quiet`
139
+ in the environment config file.
140
+
141
+ Separately, warehouse actions are more permanently logged in a log
142
+ file. The log file name defaults to
143
+ `/var/log/ncs/warehouse/{env_name}.log` and can be changed in the
144
+ environment configuration file. This log file is never cleaned out
145
+ automatically; consider using [logrotate][] or a similar tool to
146
+ rotate it on a daily or weekly basis.
147
+
148
+ [logrotate]: http://linuxcommand.org/man_pages/logrotate8.html
149
+
150
+ If a log can't be written to (e.g., because the directory doesn't
151
+ exist), the warehouse will dump warnings and errors to standard out
152
+ instead. The log file will contain more detail than the messages
153
+ dumped to standard out, so don't rely on this backup behavior in
154
+ production.
data/Rakefile ADDED
@@ -0,0 +1,45 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ require 'rspec/core/rake_task'
4
+ require 'ci/reporter/rake/rspec'
5
+
6
+ # require 'active_support/core_ext/string'
7
+ require 'ncs_navigator/mdes'
8
+
9
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
10
+ $LOAD_PATH.unshift File.expand_path('../generated_models', __FILE__)
11
+ require 'ncs_navigator/warehouse'
12
+
13
+ task :spec => 'spec:all'
14
+
15
+ namespace :spec do
16
+ RSpec::Core::RakeTask.new(:fast) do |t|
17
+ t.pattern = "spec/**/*_spec.rb"
18
+ t.rspec_opts = %q(--format nested --tag ~slow)
19
+ end
20
+
21
+ RSpec::Core::RakeTask.new(:all) do |t|
22
+ t.pattern = "spec/**/*_spec.rb"
23
+ t.rspec_opts = %q(--format nested)
24
+ end
25
+ end
26
+
27
+ namespace :generate do
28
+ task :models do
29
+ NcsNavigator::Warehouse::TableModeler.for_version(
30
+ '2.0',
31
+ :path => 'generated_models'
32
+ ).model!
33
+ end
34
+ end
35
+
36
+ namespace :ci do
37
+ task :all => :spec
38
+
39
+ task :spec_setup do
40
+ ENV['CI_REPORTS'] = 'reports/spec-xml'
41
+ ENV['SPEC_OPTS'] = "#{ENV['SPEC_OPTS']} --format nested"
42
+ end
43
+
44
+ task :spec => [:spec_setup, 'ci:setup:rspecbase', 'rake:spec']
45
+ end
data/bin/mdes-wh ADDED
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Allow this executable to be run directly from the source as well as
4
+ # from an installed gem.
5
+ begin
6
+ %w(lib generated_models).each do |p|
7
+ lib = File.expand_path("../../#{p}", __FILE__)
8
+ unless $LOAD_PATH.include?(lib)
9
+ $LOAD_PATH << lib
10
+ end
11
+ end
12
+ end
13
+
14
+ require 'ncs_navigator/warehouse'
15
+
16
+ begin
17
+ NcsNavigator::Warehouse::CLI.start
18
+ rescue Interrupt => e
19
+ $stderr.puts "Interrupted"
20
+ exit 1
21
+ end
data/ci-exec.sh ADDED
@@ -0,0 +1,45 @@
1
+ #!/bin/bash -xe
2
+
3
+ export NCS_NAVIGATOR_ENV=ci
4
+
5
+ BUNDLER_VERSION=1.1.rc
6
+ GEMSET=ncs_mdes_warehouse
7
+
8
+ if [ -z $CI_RUBY ]; then
9
+ echo "CI_RUBY must be set"
10
+ exit 1
11
+ fi
12
+
13
+ set +xe
14
+ echo "Initializing RVM"
15
+ source ~/.rvm/scripts/rvm
16
+ set -xe
17
+
18
+ # On the overnight build, reinstall all gems
19
+ if [ `date +%H` -lt 5 ]; then
20
+ set +xe
21
+ echo "Purging gemset to verify that all deps can still be installed"
22
+ rvm --force $CI_RUBY gemset delete $GEMSET
23
+ set -xe
24
+ fi
25
+
26
+ RVM_CONFIG="${CI_RUBY}@${GEMSET}"
27
+ set +xe
28
+ echo "Switching to ${RVM_CONFIG}"
29
+ rvm use $RVM_CONFIG
30
+ set -xe
31
+
32
+ which ruby
33
+ ruby -v
34
+
35
+ set +e
36
+ gem list -i bundler -v $BUNDLER_VERSION
37
+ if [ $? -ne 0 ]; then
38
+ set -e
39
+ gem install bundler -v $BUNDLER_VERSION
40
+ fi
41
+ set -e
42
+
43
+ bundle update
44
+
45
+ bundle exec rake ci:all --trace
@@ -0,0 +1,101 @@
1
+ require 'data_mapper'
2
+ require 'ncs_navigator/warehouse'
3
+
4
+ module NcsNavigator::Warehouse::Models::TwoPointZero
5
+ class Address
6
+ include DataMapper::Resource
7
+ include NcsNavigator::Warehouse::Models::MdesModel
8
+
9
+ storage_names[:default] = 'address'
10
+ storage_names[:mdes_warehouse_reporting] =
11
+ storage_names[:mdes_warehouse_working] = storage_names[:default]
12
+
13
+ property :psu_id,
14
+ NcsNavigator::Warehouse::DataMapper::NcsString,
15
+ { :required => true, :length => 2..8, :set => ["20000054", "20000032", "20000032", "20000032", "20000032", "20000016", "20000039", "20000200", "20000028", "20000063", "20000067", "20000201", "20000202", "20000203", "20000090", "20000083", "20000204", "20000205", "20000042", "20000037", "20000206", "20000040", "20000207", "20000208", "20000209", "20000091", "20000210", "20000069", "20000211", "20000094", "20000212", "20000213", "20000102", "20000214", "20000215", "20000044", "20000216", "20000216", "20000216", "20000030", "20000217", "20000218", "20000218", "20000218", "20000219", "20000220", "20000221", "20000092", "20000222", "20000223", "20000224", "20000225", "20000225", "20000088", "20000087", "20000226", "20000103", "20000227", "20000228", "20000229", "20000230", "20000231", "20000232", "20000025", "20000233", "20000233", "20000233", "20000048", "20000234", "20000235", "20000050", "20000236", "20000035", "20000237", "20000238", "20000239", "20000240", "20000052", "20000241", "20000243", "20000244", "20000245", "20000246", "20000247", "20000248", "20000113", "20000249", "20000250", "20000251", "20000086", "20000252", "20000253", "20000254", "20000255", "20000256", "20000018", "20000058", "20000014", "20000257", "20000258", "20000259", "20000259", "20000098", "20000060", "20000260", "20000260", "20000260", "20000260", "20000261", "20000262", "20000263", "20000097", "20000264", "20000264", "20000265", "20000062", "20000117", "20000266", "20000267", "20000268", "20000269", "20000270", "20000271", "20000272", "20000273", "-4", "20000000"] }
16
+ property :address_id,
17
+ NcsNavigator::Warehouse::DataMapper::NcsString,
18
+ { :key => true, :required => true, :length => 1..36 }
19
+ belongs_to :person,
20
+ 'NcsNavigator::Warehouse::Models::TwoPointZero::Person',
21
+ :child_key => [ :person_id ], :required => false
22
+ belongs_to :institute,
23
+ 'NcsNavigator::Warehouse::Models::TwoPointZero::Institution',
24
+ :child_key => [ :institute_id ], :required => false
25
+ belongs_to :provider,
26
+ 'NcsNavigator::Warehouse::Models::TwoPointZero::Provider',
27
+ :child_key => [ :provider_id ], :required => false
28
+ belongs_to :du,
29
+ 'NcsNavigator::Warehouse::Models::TwoPointZero::DwellingUnit',
30
+ :child_key => [ :du_id ], :required => false
31
+ property :address_rank,
32
+ NcsNavigator::Warehouse::DataMapper::NcsString,
33
+ { :required => true, :length => 1..2, :set => ["1", "2", "3", "4", "-5", "-4"] }
34
+ property :address_rank_oth,
35
+ NcsNavigator::Warehouse::DataMapper::NcsString,
36
+ { :pii => :possible, :length => 0..255 }
37
+ property :address_info_source,
38
+ NcsNavigator::Warehouse::DataMapper::NcsString,
39
+ { :required => true, :length => 1..2, :set => ["1", "2", "3", "4", "5", "6", "7", "8", "9", "-5", "-4"] }
40
+ property :address_info_source_oth,
41
+ NcsNavigator::Warehouse::DataMapper::NcsString,
42
+ { :pii => :possible, :length => 0..255 }
43
+ property :address_info_mode,
44
+ NcsNavigator::Warehouse::DataMapper::NcsString,
45
+ { :required => true, :length => 1..2, :set => ["1", "2", "3", "4", "5", "6", "-5", "-4"] }
46
+ property :address_info_mode_oth,
47
+ NcsNavigator::Warehouse::DataMapper::NcsString,
48
+ { :pii => :possible, :length => 0..255 }
49
+ property :address_info_date,
50
+ NcsNavigator::Warehouse::DataMapper::NcsString,
51
+ { :length => 0..10, :format => /^([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9])?$/ }
52
+ property :address_info_update,
53
+ NcsNavigator::Warehouse::DataMapper::NcsString,
54
+ { :length => 0..10, :format => /^([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9])?$/ }
55
+ property :address_start_date,
56
+ NcsNavigator::Warehouse::DataMapper::NcsString,
57
+ { :length => 0..10, :format => /^([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9])?$/ }
58
+ property :address_end_date,
59
+ NcsNavigator::Warehouse::DataMapper::NcsString,
60
+ { :length => 0..10, :format => /^([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9])?$/ }
61
+ property :address_type,
62
+ NcsNavigator::Warehouse::DataMapper::NcsString,
63
+ { :required => true, :length => 1..2, :set => ["1", "2", "3", "4", "5", "-5", "-6", "-4"] }
64
+ property :address_type_oth,
65
+ NcsNavigator::Warehouse::DataMapper::NcsString,
66
+ { :pii => :possible, :length => 0..255 }
67
+ property :address_description,
68
+ NcsNavigator::Warehouse::DataMapper::NcsString,
69
+ { :required => true, :length => 1..2, :set => ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "-6", "-5", "-4"] }
70
+ property :address_description_oth,
71
+ NcsNavigator::Warehouse::DataMapper::NcsString,
72
+ { :pii => :possible, :length => 0..255 }
73
+ property :address_1,
74
+ NcsNavigator::Warehouse::DataMapper::NcsString,
75
+ { :pii => true, :length => 0..100 }
76
+ property :address_2,
77
+ NcsNavigator::Warehouse::DataMapper::NcsString,
78
+ { :pii => true, :length => 0..100 }
79
+ property :unit,
80
+ NcsNavigator::Warehouse::DataMapper::NcsString,
81
+ { :pii => true, :length => 0..10 }
82
+ property :city,
83
+ NcsNavigator::Warehouse::DataMapper::NcsString,
84
+ { :pii => true, :length => 0..50 }
85
+ property :state,
86
+ NcsNavigator::Warehouse::DataMapper::NcsString,
87
+ { :required => true, :pii => true, :length => 1..2, :set => ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "-6", "-4"] }
88
+ property :zip,
89
+ NcsNavigator::Warehouse::DataMapper::NcsString,
90
+ { :pii => :possible, :length => 0..5 }
91
+ property :zip4,
92
+ NcsNavigator::Warehouse::DataMapper::NcsString,
93
+ { :pii => :possible, :length => 0..4 }
94
+ property :address_comment,
95
+ NcsNavigator::Warehouse::DataMapper::NcsText,
96
+ { :pii => true, :length => 0..8000 }
97
+
98
+ mdes_order :psu_id, :address_id, :person_id, :institute_id, :provider_id, :du_id, :address_rank, :address_rank_oth, :address_info_source, :address_info_source_oth, :address_info_mode, :address_info_mode_oth, :address_info_date, :address_info_update, :address_start_date, :address_end_date, :address_type, :address_type_oth, :address_description, :address_description_oth, :address_1, :address_2, :unit, :city, :state, :zip, :zip4, :address_comment
99
+
100
+ end # class
101
+ end # module NcsNavigator::Warehouse::Models::TwoPointZero