ncs_mdes_warehouse 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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