renalware-core 2.0.0.pre.beta6 → 2.0.0.pre.beta7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -0
  3. data/lib/renalware/version.rb +1 -1
  4. data/spec/factories/accesses/patients.rb +3 -0
  5. data/spec/factories/accesses/plans.rb +11 -0
  6. data/spec/factories/accesses/plans_types.rb +5 -0
  7. data/spec/factories/accesses/procedures.rb +7 -0
  8. data/spec/factories/accesses/profiles.rb +14 -0
  9. data/spec/factories/accesses/sites.rb +6 -0
  10. data/spec/factories/accesses/types.rb +8 -0
  11. data/spec/factories/clinical/allergies.rb +7 -0
  12. data/spec/factories/clinical/body_compositions.rb +23 -0
  13. data/spec/factories/clinical/dry_weights.rb +11 -0
  14. data/spec/factories/clinical/patients.rb +3 -0
  15. data/spec/factories/clinics/appointments.rb +8 -0
  16. data/spec/factories/clinics/clinic_visits.rb +16 -0
  17. data/spec/factories/clinics/clinics.rb +6 -0
  18. data/spec/factories/deaths/cause.rb +6 -0
  19. data/spec/factories/deaths/modality_descriptions.rb +5 -0
  20. data/spec/factories/directory/people.rb +9 -0
  21. data/spec/factories/drugs/drug.rb +5 -0
  22. data/spec/factories/drugs/drug_types.rb +6 -0
  23. data/spec/factories/events/events.rb +26 -0
  24. data/spec/factories/events/events_types.rb +16 -0
  25. data/spec/factories/hd/cannulation_types.rb +5 -0
  26. data/spec/factories/hd/dialysers.rb +6 -0
  27. data/spec/factories/hd/hd_session_document.rb +69 -0
  28. data/spec/factories/hd/modality_descriptions.rb +5 -0
  29. data/spec/factories/hd/patient_statistics.rb +8 -0
  30. data/spec/factories/hd/patients.rb +3 -0
  31. data/spec/factories/hd/preference_sets.rb +10 -0
  32. data/spec/factories/hd/profiles.rb +18 -0
  33. data/spec/factories/hd/sessions.rb +34 -0
  34. data/spec/factories/hd/stations.rb +5 -0
  35. data/spec/factories/hospitals/centres.rb +6 -0
  36. data/spec/factories/hospitals/units.rb +15 -0
  37. data/spec/factories/letters/archives.rb +5 -0
  38. data/spec/factories/letters/contact_descriptions.rb +16 -0
  39. data/spec/factories/letters/contacts.rb +5 -0
  40. data/spec/factories/letters/descriptions.rb +5 -0
  41. data/spec/factories/letters/letterheads.rb +10 -0
  42. data/spec/factories/letters/letters.rb +25 -0
  43. data/spec/factories/letters/patients.rb +3 -0
  44. data/spec/factories/letters/primary_care_physicians.rb +5 -0
  45. data/spec/factories/letters/recipients.rb +11 -0
  46. data/spec/factories/medications/medication_route.rb +11 -0
  47. data/spec/factories/medications/prescription.rb +17 -0
  48. data/spec/factories/medications/prescription_terminations.rb +7 -0
  49. data/spec/factories/medications/prescription_version.rb +4 -0
  50. data/spec/factories/messaging/authors.rb +5 -0
  51. data/spec/factories/messaging/message.rb +11 -0
  52. data/spec/factories/messaging/patients.rb +5 -0
  53. data/spec/factories/messaging/receipt.rb +7 -0
  54. data/spec/factories/messaging/recipients.rb +5 -0
  55. data/spec/factories/modalities/modalities.rb +27 -0
  56. data/spec/factories/modalities/modality_descriptions.rb +34 -0
  57. data/spec/factories/modalities/modality_reasons.rb +20 -0
  58. data/spec/factories/pathology/consultant.rb +3 -0
  59. data/spec/factories/pathology/lab.rb +5 -0
  60. data/spec/factories/pathology/measurement_units.rb +8 -0
  61. data/spec/factories/pathology/observation_descriptions.rb +7 -0
  62. data/spec/factories/pathology/observation_requests.rb +8 -0
  63. data/spec/factories/pathology/observations.rb +8 -0
  64. data/spec/factories/pathology/patients.rb +3 -0
  65. data/spec/factories/pathology/request_descriptions.rb +6 -0
  66. data/spec/factories/pathology/requests/drug_category.rb +6 -0
  67. data/spec/factories/pathology/requests/global_rule.rb +7 -0
  68. data/spec/factories/pathology/requests/global_rule_set.rb +6 -0
  69. data/spec/factories/pathology/requests/patient_rule.rb +13 -0
  70. data/spec/factories/pathology/requests/request.rb +10 -0
  71. data/spec/factories/patients/alerts.rb +8 -0
  72. data/spec/factories/patients/bookmarks.rb +6 -0
  73. data/spec/factories/patients/ethnicities.rb +6 -0
  74. data/spec/factories/patients/languages.rb +5 -0
  75. data/spec/factories/patients/patients.rb +32 -0
  76. data/spec/factories/patients/practices.rb +17 -0
  77. data/spec/factories/patients/primary_care_physicians.rb +21 -0
  78. data/spec/factories/patients/religions.rb +5 -0
  79. data/spec/factories/patients/users.rb +3 -0
  80. data/spec/factories/pd/assessments.rb +22 -0
  81. data/spec/factories/pd/bag_types.rb +17 -0
  82. data/spec/factories/pd/episode_types.rb +6 -0
  83. data/spec/factories/pd/exit_site_infections.rb +9 -0
  84. data/spec/factories/pd/fluid_descriptions.rb +6 -0
  85. data/spec/factories/pd/infection_organisms.rb +10 -0
  86. data/spec/factories/pd/modality_descriptions.rb +5 -0
  87. data/spec/factories/pd/organism_codes.rb +6 -0
  88. data/spec/factories/pd/patients.rb +3 -0
  89. data/spec/factories/pd/pd_regimes.rb +36 -0
  90. data/spec/factories/pd/peritonitis_episode_type_descriptions.rb +8 -0
  91. data/spec/factories/pd/peritonitis_episodes.rb +20 -0
  92. data/spec/factories/pd/pet_adequacies.rb +38 -0
  93. data/spec/factories/pd/regime_bags.rb +44 -0
  94. data/spec/factories/pd/systems.rb +11 -0
  95. data/spec/factories/pd/training_sessions.rb +16 -0
  96. data/spec/factories/pd/training_sites.rb +6 -0
  97. data/spec/factories/pd/training_types.rb +5 -0
  98. data/spec/factories/problems/problems.rb +7 -0
  99. data/spec/factories/renal/patients.rb +3 -0
  100. data/spec/factories/renal/prd_description.rb +6 -0
  101. data/spec/factories/renal/profiles.rb +5 -0
  102. data/spec/factories/reporting/audits.rb +8 -0
  103. data/spec/factories/snippets/snippets.rb +6 -0
  104. data/spec/factories/snippets/users.rb +4 -0
  105. data/spec/factories/system/addresses.rb +11 -0
  106. data/spec/factories/system/roles.rb +27 -0
  107. data/spec/factories/system/templates.rb +15 -0
  108. data/spec/factories/system/users.rb +58 -0
  109. data/spec/factories/transplants/donations.rb +8 -0
  110. data/spec/factories/transplants/donor_stage.rb +12 -0
  111. data/spec/factories/transplants/donor_stage_position.rb +5 -0
  112. data/spec/factories/transplants/donor_stage_status.rb +5 -0
  113. data/spec/factories/transplants/live_donor_modality_description.rb +6 -0
  114. data/spec/factories/transplants/modality_descriptions.rb +10 -0
  115. data/spec/factories/transplants/patients.rb +3 -0
  116. data/spec/factories/transplants/recipient_followups.rb +4 -0
  117. data/spec/factories/transplants/recipient_operations.rb +15 -0
  118. data/spec/factories/transplants/registration_status_descriptions.rb +7 -0
  119. data/spec/factories/transplants/registration_statuses.rb +9 -0
  120. data/spec/factories/transplants/registrations.rb +46 -0
  121. data/spec/support/capybara_helper.rb +9 -0
  122. data/spec/support/database_cleaner.rb +18 -0
  123. data/spec/support/date_helpers.rb +9 -0
  124. data/spec/support/devise_spec_helper.rb +29 -0
  125. data/spec/support/drugs_spec_helper.rb +49 -0
  126. data/spec/support/factory_girl.rb +29 -0
  127. data/spec/support/json_helpers.rb +5 -0
  128. data/spec/support/letters_spec_helper.rb +36 -0
  129. data/spec/support/login_macros.rb +26 -0
  130. data/spec/support/matchers/document.rb +5 -0
  131. data/spec/support/matchers/validate_timeliness_of.rb +16 -0
  132. data/spec/support/pathology_spec_helper.rb +37 -0
  133. data/spec/support/patients_spec_helper.rb +16 -0
  134. data/spec/support/poltergeist.rb +2 -0
  135. data/spec/support/pundit_matcher.rb +13 -0
  136. data/spec/support/roles_spec_helper.rb +7 -0
  137. data/spec/support/select2_spec_helper.rb +13 -0
  138. data/spec/support/select_date_spec_helper.rb +11 -0
  139. data/spec/support/shared_contexts/a_global_rule_set.rb +19 -0
  140. data/spec/support/translations.rb +12 -0
  141. data/spec/support/travel.rb +7 -0
  142. data/spec/support/webmock.rb +3 -0
  143. metadata +142 -58
  144. data/vendor/xsd/ukrdc/README.md +0 -9
  145. data/vendor/xsd/ukrdc/Schema/Allergies/Allergy.xsd +0 -69
  146. data/vendor/xsd/ukrdc/Schema/ClinicalRelationships/ClinicalRelationship.xsd +0 -27
  147. data/vendor/xsd/ukrdc/Schema/Diagnoses/CauseOfDeath.xsd +0 -32
  148. data/vendor/xsd/ukrdc/Schema/Diagnoses/Diagnosis.xsd +0 -41
  149. data/vendor/xsd/ukrdc/Schema/Diagnoses/RenalDiagnosis.xsd +0 -41
  150. data/vendor/xsd/ukrdc/Schema/Documents/Document.xsd +0 -72
  151. data/vendor/xsd/ukrdc/Schema/Encounters/Encounter.xsd +0 -121
  152. data/vendor/xsd/ukrdc/Schema/Encounters/TransplantList.xsd +0 -108
  153. data/vendor/xsd/ukrdc/Schema/Encounters/Treatment.xsd +0 -207
  154. data/vendor/xsd/ukrdc/Schema/FamilyHistories/FamilyHistory.xsd +0 -42
  155. data/vendor/xsd/ukrdc/Schema/LabOrders/LabOrder.xsd +0 -181
  156. data/vendor/xsd/ukrdc/Schema/Medications/Medication.xsd +0 -88
  157. data/vendor/xsd/ukrdc/Schema/Observations/Observation.xsd +0 -65
  158. data/vendor/xsd/ukrdc/Schema/Patient.xsd +0 -87
  159. data/vendor/xsd/ukrdc/Schema/Procedures/DialysisSession.xsd +0 -61
  160. data/vendor/xsd/ukrdc/Schema/Procedures/Procedure.xsd +0 -38
  161. data/vendor/xsd/ukrdc/Schema/Procedures/Transplant.xsd +0 -160
  162. data/vendor/xsd/ukrdc/Schema/Procedures/VascularAccess.xsd +0 -49
  163. data/vendor/xsd/ukrdc/Schema/ProgramMemberships/ProgramMembership.xsd +0 -46
  164. data/vendor/xsd/ukrdc/Schema/README.md +0 -1
  165. data/vendor/xsd/ukrdc/Schema/SocialHistories/SocialHistory.xsd +0 -15
  166. data/vendor/xsd/ukrdc/Schema/Surveys/Survey.xsd +0 -143
  167. data/vendor/xsd/ukrdc/Schema/Types/ActionCode.xsd +0 -37
  168. data/vendor/xsd/ukrdc/Schema/Types/Address.xsd +0 -67
  169. data/vendor/xsd/ukrdc/Schema/Types/CF_DMD.xsd +0 -27
  170. data/vendor/xsd/ukrdc/Schema/Types/CF_EDTA_COD.xsd +0 -343
  171. data/vendor/xsd/ukrdc/Schema/Types/CF_EDTA_PRD.xsd +0 -356
  172. data/vendor/xsd/ukrdc/Schema/Types/CF_HL7_0004.xsd +0 -76
  173. data/vendor/xsd/ukrdc/Schema/Types/CF_HL7_00204.xsd +0 -46
  174. data/vendor/xsd/ukrdc/Schema/Types/CF_HL7_00206.xsd +0 -41
  175. data/vendor/xsd/ukrdc/Schema/Types/CF_RR1.xsd +0 -567
  176. data/vendor/xsd/ukrdc/Schema/Types/CF_RR23.xsd +0 -82
  177. data/vendor/xsd/ukrdc/Schema/Types/CF_RR7_Discharge.xsd +0 -80
  178. data/vendor/xsd/ukrdc/Schema/Types/CF_RR7_Treatment.xsd +0 -241
  179. data/vendor/xsd/ukrdc/Schema/Types/CF_SNOMED.xsd +0 -27
  180. data/vendor/xsd/ukrdc/Schema/Types/Clinician.xsd +0 -27
  181. data/vendor/xsd/ukrdc/Schema/Types/CodeTableDetail.xsd +0 -27
  182. data/vendor/xsd/ukrdc/Schema/Types/CodedField.xsd +0 -27
  183. data/vendor/xsd/ukrdc/Schema/Types/CommonMetadata.xsd +0 -23
  184. data/vendor/xsd/ukrdc/Schema/Types/ContactDetail.xsd +0 -55
  185. data/vendor/xsd/ukrdc/Schema/Types/DrugProduct.xsd +0 -41
  186. data/vendor/xsd/ukrdc/Schema/Types/EthnicGroup.xsd +0 -114
  187. data/vendor/xsd/ukrdc/Schema/Types/FamilyDoctor.xsd +0 -21
  188. data/vendor/xsd/ukrdc/Schema/Types/LabResultItem.xsd +0 -160
  189. data/vendor/xsd/ukrdc/Schema/Types/LabTestItem.xsd +0 -24
  190. data/vendor/xsd/ukrdc/Schema/Types/Language.xsd +0 -981
  191. data/vendor/xsd/ukrdc/Schema/Types/Location.xsd +0 -27
  192. data/vendor/xsd/ukrdc/Schema/Types/NV_RR14.xsd +0 -39
  193. data/vendor/xsd/ukrdc/Schema/Types/Name.xsd +0 -51
  194. data/vendor/xsd/ukrdc/Schema/Types/Occupation.xsd +0 -75
  195. data/vendor/xsd/ukrdc/Schema/Types/Order.xsd +0 -48
  196. data/vendor/xsd/ukrdc/Schema/Types/PatientNumber.xsd +0 -90
  197. data/vendor/xsd/ukrdc/Schema/Types/PersonalContactType.xsd +0 -11
  198. data/vendor/xsd/ukrdc/Schema/Types/Result.xsd +0 -178
  199. data/vendor/xsd/ukrdc/Schema/UKRDC.xsd +0 -148
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 362864430c3744de5445fa4f45b18ba9e7e043b8
4
- data.tar.gz: 258ae4d194690437f941bfaf5ed2da9e771fcf6c
3
+ metadata.gz: 45b6a3aae38e2bb5cf1f105577622755367bdabb
4
+ data.tar.gz: cf3152a078fcca9432a71205f8c6272499b42d8c
5
5
  SHA512:
6
- metadata.gz: 6bfac4cd331f79dc2f751210570e5671484fccc34aae57be74b099f5fb9cb0457e9a9bbd3ebc95fc006cffa887fe7f52658008cf63c4ea146cf3856492eea54d
7
- data.tar.gz: d7c493a16a9f28d0b3b799a3601526960e918b7087bfc2f63c562afc8f7ca9477250e250cc39211e8936420de5aa98d5b0654c7cd6934cacbe3617f407bf4fea
6
+ metadata.gz: 6bb61647bfbb4cf91c7e45138c165dc7a8d38c0205c2d4541dee5f32e8dc45663b9a8ac16e25e11ef73e33d2743674a1797f3914ddcf3e6bd1bed342de6151cd
7
+ data.tar.gz: f8a21c784e7394d2ae5fb9bbfa215bbe4a0d5e09a135b9012a522b258cf8418c0bc182a8c00a419fa27cae01f178f68d9d1865d0fc89edc860629d849e0650f8
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2016 Airslie Ltd
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,3 +1,3 @@
1
1
  module Renalware
2
- VERSION = "2.0.0.pre.beta6".freeze
2
+ VERSION = "2.0.0.pre.beta7".freeze
3
3
  end
@@ -0,0 +1,3 @@
1
+ FactoryGirl.define do
2
+ factory :accesses_patient, class: "Renalware::Accesses::Patient", parent: :patient
3
+ end
@@ -0,0 +1,11 @@
1
+ FactoryGirl.define do
2
+ factory :access_plan, class: Renalware::Accesses::Plan do
3
+ association :patient, factory: :accesses_patient
4
+ association :plan_type, factory: :access_plan_type
5
+ notes "Lorem ipsum dolor sit amet.."
6
+ created_by { Renalware::User.first || create(:user) }
7
+ updated_by { Renalware::User.first || create(:user) }
8
+ decided_by { Renalware::User.first || create(:user) }
9
+ terminated_at nil
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :access_plan_type, class: Renalware::Accesses::PlanType do
3
+ name "Continue"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :access_procedure, class: Renalware::Accesses::Procedure do
3
+ type { create(:access_type) }
4
+ side "R"
5
+ performed_on { Time.zone.today }
6
+ end
7
+ end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ factory :access_profile, class: Renalware::Accesses::Profile do
3
+ patient
4
+ type { create(:access_type) }
5
+ side :right
6
+ formed_on { Time.zone.today }
7
+ association :created_by, factory: :user
8
+ association :updated_by, factory: :user
9
+
10
+ trait :current do
11
+ started_on { 1.day.ago }
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :access_site, class: Renalware::Accesses::Site do
3
+ name "Femoral vein line"
4
+ code "12"
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :access_type, class: Renalware::Accesses::Type do
3
+ name "Tunnelled subclav"
4
+ abbreviation "TLN LS"
5
+ rr02_code "TLN"
6
+ rr41_code "LS"
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :allergy, class: "Renalware::Clinical::Allergy" do
3
+ patient
4
+ description { Faker::Lorem.sentence }
5
+ recorded_at { Time.zone.now }
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ FactoryGirl.define do
2
+ factory :body_composition, class: "Renalware::Clinical::BodyComposition" do
3
+ patient
4
+
5
+ assessed_on 1.week.ago
6
+ overhydration "19.1"
7
+ volume_of_distribution "52.1"
8
+ total_body_water "23.1"
9
+ extracellular_water "63.1"
10
+ intracellular_water "23.1"
11
+ lean_tissue_index "78.1"
12
+ fat_tissue_index "32.1"
13
+ lean_tissue_mass "32.1"
14
+ fat_tissue_mass "42.1"
15
+ adipose_tissue_mass "15.1"
16
+ body_cell_mass "53.1"
17
+ quality_of_reading "65.123"
18
+
19
+ association :assessor, factory: :user
20
+ association :created_by, factory: :user
21
+ association :updated_by, factory: :user
22
+ end
23
+ end
@@ -0,0 +1,11 @@
1
+ FactoryGirl.define do
2
+ factory :dry_weight, class: "Renalware::Clinical::DryWeight" do
3
+ patient
4
+
5
+ assessed_on 1.week.ago
6
+ weight 156.1
7
+ association :assessor, factory: :user
8
+ association :created_by, factory: :user
9
+ association :updated_by, factory: :user
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ FactoryGirl.define do
2
+ factory :clinical_patient, class: "Renalware::Clinical::Patient", parent: :patient
3
+ end
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :appointment, class: "Renalware::Clinics::Appointment" do
3
+ patient
4
+ clinic
5
+ starts_at Time.zone.now
6
+ association :user
7
+ end
8
+ end
@@ -0,0 +1,16 @@
1
+ FactoryGirl.define do
2
+ factory :clinic_visit, class: "Renalware::Clinics::ClinicVisit" do
3
+ patient
4
+ date Time.zone.today
5
+ time Time.zone.now
6
+ did_not_attend false
7
+ height 1725
8
+ weight 6985
9
+ pulse 100
10
+ systolic_bp 112
11
+ diastolic_bp 71
12
+ clinic
13
+ association :created_by, factory: :user
14
+ association :updated_by, factory: :user
15
+ end
16
+ end
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :clinic, class: "Renalware::Clinics::Clinic" do
3
+ name "Access"
4
+ association :consultant, factory: :user
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :cause, class: "Renalware::Deaths::Cause" do
3
+ code "12"
4
+ description "Hyperkalaemia"
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :death_modality_description, class: "Renalware::Deaths::ModalityDescription" do
3
+ name "Death"
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ FactoryGirl.define do
2
+ factory :directory_person, class: "Renalware::Directory::Person" do
3
+ given_name { Faker::Name.first_name }
4
+ family_name { Faker::Name.last_name }
5
+ title { Faker::Name.prefix }
6
+ association :created_by, factory: :user
7
+ association :updated_by, factory: :user
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :drug, class: "Renalware::Drugs::Drug" do
3
+ name "Blue Pill"
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :drug_type, class: "Renalware::Drugs::Type" do
3
+ code "immuno"
4
+ name "Immunosuppressant"
5
+ end
6
+ end
@@ -0,0 +1,26 @@
1
+ FactoryGirl.define do
2
+ factory :event, class: "Renalware::Events::Event" do
3
+ patient
4
+ event_type factory: :events_type
5
+ date_time Time.zone.now
6
+ description "Needs blood sample taken."
7
+ notes "Would like son to accompany them on clinic visit."
8
+ association :created_by, factory: :user
9
+ association :updated_by, factory: :user
10
+
11
+ factory :simple_event, class: "Renalware::Events::Simple" do
12
+
13
+ end
14
+
15
+ factory :swab, class: "Renalware::Events::Swab" do
16
+ event_type factory: :swab_event_type
17
+ document {
18
+ {
19
+ type: Renalware::Events::Swab::Document.type.values.first,
20
+ result: Renalware::Events::Swab::Document.result.values.first,
21
+ location: "The location"
22
+ }
23
+ }
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ FactoryGirl.define do
2
+ factory :events_type, class: "Renalware::Events::Type" do
3
+ name "Access--Clinic"
4
+
5
+ factory :swab_event_type do
6
+ name "Swab"
7
+ event_class_name "Renalware::Events::Swab"
8
+ slug "swabs"
9
+ end
10
+
11
+ factory :pd_line_change_event_type do
12
+ name "PD Line Change"
13
+ slug "pd_line_changes"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :hd_cannulation_type, class: "Renalware::HD::CannulationType" do
3
+ name "Buttonhole"
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ FactoryGirl.define do
2
+ factory :hd_dialyser, class: "Renalware::HD::Dialyser" do
3
+ group "FX"
4
+ name "FX80"
5
+ end
6
+ end
@@ -0,0 +1,69 @@
1
+ # A word about using FactoryGirl to build document (jsonb) objects:
2
+ #
3
+ # The best solution I can find is to use OpenStructs to build each
4
+ # nested part, compose these in the top level document (e.g. SessionDocument)
5
+ # using `strategy: :marshal_dump`.
6
+ # When consuming in an AR-based factory, uses an after_build callback for example
7
+ #
8
+ # Factory :hd_closed_session, class: "Renalware::HD::Session::Closed" do
9
+ # after(:build) do |session|
10
+ # session.document = build(:hd_session_document).marshal_dump
11
+ # end
12
+ # end
13
+ #
14
+ # The support/factory_girl.rb for the definition of MarshalDumpStrategy
15
+ #
16
+ FactoryGirl.define do
17
+ factory :blood_pressure, class: OpenStruct do
18
+ systolic 100
19
+ diastolic 80
20
+ end
21
+
22
+ factory :hd_session_document_info, class: OpenStruct do
23
+ hd_type "hd"
24
+ machine_no 222
25
+ access_side "right"
26
+ access_type "Arteriovenous graft (AVG)"
27
+ access_type_abbreviation "AVG"
28
+ access_confirmed true
29
+ single_needle "no"
30
+ lines_reversed "no"
31
+ fistula_plus_line "no"
32
+ dialysis_fluid_used "a10"
33
+ is_access_first_use "no"
34
+ end
35
+
36
+ factory :hd_session_document_dialysis, class: OpenStruct do
37
+ flow_rate 200
38
+ blood_flow 150
39
+ machine_ktv 1.0
40
+ machine_urr 1
41
+ fluid_removed 1.0
42
+ venous_pressure 1
43
+ litres_processed 1.0
44
+ arterial_pressure 1
45
+ end
46
+
47
+ factory :hd_session_document_observations_before, class: OpenStruct do
48
+ pulse 37
49
+ weight 100.0
50
+ bm_stix 1.0
51
+ temperature 36.0
52
+ blood_pressure factory: :blood_pressure, strategy: :marshal_dump
53
+ end
54
+
55
+ factory :hd_session_document_observations_after, class: OpenStruct do
56
+ pulse 36
57
+ weight 99.0
58
+ bm_stix 0.9
59
+ temperature 35.0
60
+ blood_pressure factory: :blood_pressure, strategy: :marshal_dump
61
+ end
62
+
63
+ factory :hd_session_document, class: OpenStruct do
64
+ info factory: :hd_session_document_info, strategy: :marshal_dump
65
+ dialysis factory: :hd_session_document_dialysis, strategy: :marshal_dump
66
+ observations_before factory: :hd_session_document_observations_before, strategy: :marshal_dump
67
+ observations_after factory: :hd_session_document_observations_after, strategy: :marshal_dump
68
+ end
69
+ end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :hd_modality_description, class: "Renalware::HD::ModalityDescription" do
3
+ initialize_with { Renalware::HD::ModalityDescription.find_or_create_by(name: "HD") }
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :hd_patient_statistics, class: "Renalware::HD::PatientStatistics" do
3
+ patient factory: :hd_patient
4
+ association :hospital_unit, factory: :hospital_unit
5
+ month 0 # rolling
6
+ year 0 # rolling
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ FactoryGirl.define do
2
+ factory :hd_patient, class: "Renalware::HD::Patient", parent: :patient
3
+ end
@@ -0,0 +1,10 @@
1
+ FactoryGirl.define do
2
+ factory :hd_preference_set, class: "Renalware::HD::PreferenceSet" do
3
+ patient
4
+ association :hospital_unit, factory: :hospital_unit
5
+ schedule :mon_wed_fri_pm
6
+ other_schedule ""
7
+ association :created_by, factory: :user
8
+ association :updated_by, factory: :user
9
+ end
10
+ end
@@ -0,0 +1,18 @@
1
+ FactoryGirl.define do
2
+ factory :hd_profile, class: "Renalware::HD::Profile" do
3
+ patient
4
+ active true
5
+ association :hospital_unit, factory: :hospital_unit
6
+ association :prescriber, factory: :user
7
+ association :created_by, factory: :user
8
+ association :updated_by, factory: :user
9
+
10
+ document {
11
+ {
12
+ dialysis: {
13
+ hd_type: :hd
14
+ }
15
+ }
16
+ }
17
+ end
18
+ end
@@ -0,0 +1,34 @@
1
+ FactoryGirl.define do
2
+ factory :hd_session, class: "Renalware::HD::Session::Open" do
3
+ association :patient, factory: :hd_patient
4
+ association :hospital_unit, factory: :hospital_unit
5
+ association :signed_on_by, factory: :user
6
+ association :created_by, factory: :user
7
+
8
+ performed_on 1.week.ago
9
+ notes "Some notes"
10
+
11
+ factory :hd_open_session do
12
+ start_time "11:00"
13
+ end
14
+
15
+ factory :hd_dna_session, class: "Renalware::HD::Session::DNA" do
16
+ document {
17
+ {
18
+ patient_on_holiday: "yes"
19
+ }
20
+ }
21
+ end
22
+
23
+ factory :hd_closed_session, class: "Renalware::HD::Session::Closed" do
24
+ start_time "11:00"
25
+ end_time "16:00"
26
+ signed_off_at { 1.day.ago }
27
+ association :signed_off_by, factory: :user
28
+
29
+ after(:build) do |session|
30
+ session.document = build(:hd_session_document).marshal_dump
31
+ end
32
+ end
33
+ end
34
+ end