renalware-core 2.0.0.pre.beta8 → 2.0.0.pre.beta9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +19 -1
- data/app/assets/stylesheets/renalware/lib/_select2-foundation5-overrides.scss +2 -2
- data/app/controllers/renalware/directory/people_controller.rb +1 -1
- data/app/controllers/renalware/letters/contacts_controller.rb +1 -1
- data/app/controllers/renalware/letters/letters_controller.rb +1 -1
- data/app/controllers/renalware/patients/patients_controller.rb +3 -5
- data/app/controllers/renalware/patients/primary_care_physicians_controller.rb +1 -1
- data/app/controllers/renalware/renal/aki_alerts_controller.rb +44 -0
- data/app/controllers/renalware/renal/profiles_controller.rb +1 -1
- data/app/controllers/renalware/reporting/audits_controller.rb +9 -3
- data/app/documents/renalware/patient_document.rb +0 -13
- data/app/jobs/hl7_message_example.yml +1 -1
- data/app/jobs/renalware/reporting/refresh_audit_data_job.rb +7 -3
- data/app/models/renalware/clinical/create_allergy.rb +4 -2
- data/app/models/renalware/clinics/create_clinic_visit.rb +6 -2
- data/app/models/renalware/hd/session.rb +12 -0
- data/app/models/renalware/hospitals/unit.rb +4 -0
- data/app/models/renalware/hospitals/ward.rb +22 -0
- data/app/models/renalware/modalities/change_patient_modality.rb +4 -2
- data/app/models/renalware/patient.rb +1 -0
- data/app/models/renalware/patients/language.rb +1 -0
- data/app/models/renalware/pd/create_regime.rb +4 -2
- data/app/models/renalware/pd/revise_regime.rb +5 -3
- data/app/models/renalware/renal/aki_alert.rb +15 -0
- data/app/models/renalware/renal/aki_alert_action.rb +10 -0
- data/app/models/renalware/reporting/audit.rb +2 -3
- data/app/models/renalware/reporting/generate_audit_json.rb +21 -5
- data/app/models/renalware/system/country.rb +21 -0
- data/app/models/renalware/transplants/create_donor_stage.rb +4 -2
- data/app/policies/renalware/base_policy.rb +4 -0
- data/app/policies/renalware/renal/aki_alert_policy.rb +9 -0
- data/app/presenters/renalware/hd/patient_presenter.rb +5 -0
- data/app/presenters/renalware/reporting/audit_presenter.rb +1 -0
- data/app/presenters/renalware/transplants/patient_presenter.rb +2 -1
- data/app/presenters/renalware/ukrdc/patient_presenter.rb +27 -0
- data/app/values/renalware/address.rb +2 -13
- data/app/views/renalware/addresses/_form.html.slim +4 -2
- data/app/views/renalware/api/ukrdc/patients/_address.xml.builder +2 -2
- data/app/views/renalware/api/ukrdc/patients/_diagnoses.xml.builder +5 -2
- data/app/views/renalware/api/ukrdc/patients/_encounters.xml.builder +8 -1
- data/app/views/renalware/api/ukrdc/patients/_medications.xml.builder +30 -0
- data/app/views/renalware/api/ukrdc/patients/_patient.xml.builder +36 -4
- data/app/views/renalware/api/ukrdc/patients/_sending_facility.xml.builder +1 -0
- data/app/views/renalware/api/ukrdc/patients/diagnoses/_cause_of_death.xml.builder +10 -0
- data/app/views/renalware/api/ukrdc/patients/encounters/_hd_session.xml.builder +40 -0
- data/app/views/renalware/api/ukrdc/patients/show.xml.builder +1 -0
- data/app/views/renalware/directory/people/_address_form.html.slim +1 -1
- data/app/views/renalware/hd/sessions/_form.html.slim +43 -33
- data/app/views/renalware/letters/contacts/_person_form.html.slim +1 -1
- data/app/views/renalware/navigation/_renal.html.slim +1 -0
- data/app/views/renalware/patients/patients/_form.html.slim +5 -2
- data/app/views/renalware/patients/patients/show.html.slim +0 -5
- data/app/views/renalware/patients/patients/show/_patient_demographics.html.slim +3 -3
- data/app/views/renalware/patients/side_menu/_actions.html.slim +3 -0
- data/app/views/renalware/renal/aki_alerts/_filters.html.slim +0 -0
- data/app/views/renalware/renal/aki_alerts/edit.html.slim +17 -0
- data/app/views/renalware/renal/aki_alerts/index.html.slim +28 -0
- data/app/views/renalware/reporting/audits/edit.html.slim +1 -1
- data/app/views/renalware/reporting/audits/index.html.slim +11 -7
- data/app/views/renalware/reporting/audits/show.html.slim +2 -17
- data/app/views/renalware/shared/documents/_blood_pressure_input.html.slim +6 -7
- data/config/initializers/inflections.rb +3 -2
- data/config/locales/renalware/navigation/renal.en.yml +1 -0
- data/config/locales/renalware/renal/aki_alerts.en.yml +5 -0
- data/config/locales/renalware/renal/{profile.yml → profile.en.yml} +0 -0
- data/config/locales/renalware/reporting/audit.en.yml +1 -1
- data/config/routes.rb +1 -0
- data/db/migrate/20150312113937_create_drug_types_drugs.rb +2 -2
- data/db/migrate/20170925161033_add_code_to_patient_langauges.rb +6 -0
- data/db/migrate/20170925182738_add_rr_code_to_medication_routes.rb +5 -0
- data/db/migrate/20170926081426_create_countries.rb +14 -0
- data/db/migrate/20170926132845_add_country_of_birth_to_patients.rb +6 -0
- data/db/migrate/20171002175804_add_rr_columns_to_transplant_registration_status_descriptions.rb +12 -0
- data/db/migrate/20171003093347_create_hospital_wards.rb +17 -0
- data/db/migrate/20171003111228_create_aki_alert_actions.rb +10 -0
- data/db/migrate/20171003122425_create_renal_aki_alerts.rb +22 -0
- data/db/migrate/20171005081224_create_reporting_bone_audit.rb +5 -0
- data/db/migrate/20171005091202_reporting_audit_changes.rb +7 -0
- data/db/migrate/20171005130109_create_medication_current_prescriptions.rb +5 -0
- data/db/migrate/20171005144505_create_reporting_anaemia_audit.rb +5 -0
- data/db/migrate/20171009104106_add_legacy_patient_id_to_patients.rb +6 -0
- data/db/seeds/default/events/{event_types_required.csv → event_types.csv} +0 -0
- data/db/seeds/default/events/{event_types_required.rb → event_types.rb} +2 -2
- data/db/seeds/default/events/seeds.rb +1 -2
- data/db/seeds/default/medications/medication_routes.rb +23 -13
- data/db/seeds/default/patients/patients_languages.csv +192 -102
- data/db/seeds/default/patients/patients_languages.rb +1 -1
- data/db/seeds/default/patients/patients_religions.csv +2 -0
- data/db/seeds/default/reporting/audits.rb +4 -3
- data/db/seeds/default/reporting/audits.yml +47 -4
- data/db/seeds/default/system/countries.csv +250 -0
- data/db/seeds/default/system/countries.rb +12 -0
- data/db/seeds/default/system/seeds.rb +1 -0
- data/db/seeds/default/transplants/transplant_registration_statuses.rb +30 -19
- data/db/views/medication_current_prescriptions_v01.sql +28 -0
- data/db/views/reporting_anaemia_audit_v01.sql +41 -0
- data/db/views/reporting_bone_audit_v01.sql +32 -0
- data/lib/renalware/version.rb +1 -1
- data/spec/factories/deaths/cause.rb +1 -1
- data/spec/factories/drugs/drug.rb +6 -0
- data/spec/factories/drugs/drug_types.rb +5 -0
- data/spec/factories/hospitals/wards.rb +9 -0
- data/spec/factories/modalities/modality_descriptions.rb +10 -8
- data/spec/factories/patients/ethnicities.rb +3 -0
- data/spec/factories/patients/languages.rb +12 -1
- data/spec/factories/renal/aki_alert_actions.rb +5 -0
- data/spec/factories/renal/aki_alerts.rb +9 -0
- data/spec/factories/reporting/audits.rb +1 -1
- data/spec/factories/system/addresses.rb +1 -1
- data/spec/factories/system/countries.rb +15 -0
- metadata +42 -13
- data/app/values/renalware/country.rb +0 -19
- data/config/countries.csv +0 -250
- data/db/migrate/20170706120643_create_reporting_data_sources.rb +0 -5
- data/db/seeds/default/events/event_types_blt.csv +0 -109
- data/db/seeds/default/events/event_types_local.rb +0 -10
- data/db/views/reporting_data_sources_v01.sql +0 -17
@@ -4,7 +4,7 @@ module Renalware
|
|
4
4
|
file_path = File.join(File.dirname(__FILE__), "patients_languages.csv")
|
5
5
|
|
6
6
|
CSV.foreach(file_path, headers: true) do |row|
|
7
|
-
Patients::Language.find_or_create_by!(name: row["name"])
|
7
|
+
Patients::Language.find_or_create_by!(code: row["code"], name: row["name"])
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
@@ -1,15 +1,16 @@
|
|
1
1
|
module Renalware
|
2
|
-
|
2
|
+
log "Adding default audits" do
|
3
3
|
file_path = File.join(File.dirname(__FILE__), "audits.yml")
|
4
4
|
yml_audits = YAML.load_file(file_path)
|
5
5
|
yml_audits.each do |yml_audit|
|
6
6
|
yml_audit.symbolize_keys!
|
7
7
|
Reporting::Audit.find_or_create_by!(name: yml_audit[:name]) do |audit|
|
8
8
|
audit.description = yml_audit[:description]
|
9
|
-
audit.
|
9
|
+
audit.view_name = yml_audit[:view_name]
|
10
|
+
audit.materialized = yml_audit[:materialized]
|
10
11
|
audit.refresh_schedule = yml_audit[:refresh_schedule]
|
11
12
|
audit.display_configuration = yml_audit[:display_configuration]
|
12
13
|
end
|
13
14
|
end
|
14
|
-
|
15
|
+
end
|
15
16
|
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
-
|
2
2
|
name: Main Authors
|
3
3
|
description: A list of authors with their letter statistics.
|
4
|
-
|
4
|
+
view_name: reporting_main_authors_audit
|
5
|
+
materialized: true
|
5
6
|
refresh_schedule: "1 0 * * *"
|
6
7
|
display_configuration: >
|
7
8
|
{ "columnDefs": [
|
@@ -14,7 +15,8 @@
|
|
14
15
|
-
|
15
16
|
name: HD Blood Pressures
|
16
17
|
description:
|
17
|
-
|
18
|
+
view_name: reporting_hd_blood_pressures_audit
|
19
|
+
materialized: true
|
18
20
|
refresh_schedule: "1 0 * * *"
|
19
21
|
display_configuration: >
|
20
22
|
{
|
@@ -28,16 +30,57 @@
|
|
28
30
|
-
|
29
31
|
name: HD Overall
|
30
32
|
description: An overview of HD activity in the current month across all HD units.
|
31
|
-
|
33
|
+
view_name: reporting_hd_overall_audit
|
34
|
+
materialized: true
|
32
35
|
refresh_schedule: "1 0 * * *"
|
33
36
|
display_configuration: >
|
34
37
|
{ "columnDefs": [
|
35
38
|
{ "title": "Unit", "targets": 0, width: "300" },
|
36
39
|
{ "title": "No. patients", "targets": 1, width: "120" },
|
37
|
-
{ "title": "%
|
40
|
+
{ "title": "% HGB > 100", "targets": 2, width: "120" },
|
38
41
|
{ "title": "% URR > 65", "targets": 3, width: "120" },
|
39
42
|
{ "title": "% Phosphate < 1.8", "targets": 4, width: "200" },
|
40
43
|
{ "title": "% w/fistula or graft", "targets": 5, width: "200" },
|
41
44
|
{ "title": "Avg. missed HD time", "targets": 6, width: "200" }
|
42
45
|
{ "title": "% missing >5% HD time", "targets": 7, width: "200" }
|
43
46
|
]}
|
47
|
+
-
|
48
|
+
name: Bone
|
49
|
+
description: Bone audit
|
50
|
+
view_name: reporting_bone_audit
|
51
|
+
materialized: false
|
52
|
+
refresh_schedule:
|
53
|
+
display_configuration: >
|
54
|
+
{ "columnDefs": [
|
55
|
+
{ "title": "Modality", "targets": 0, width: "200" },
|
56
|
+
{ "title": "No. patients", "targets": 1, width: "100" },
|
57
|
+
{ "title": "Avg CCA", "targets": 2, width: "100" },
|
58
|
+
{ "title": "% CCA 2.1-2.4", "targets": 4, width: "110" },
|
59
|
+
{ "title": "% PTH > 300", "targets": 5, width: "100" },
|
60
|
+
{ "title": "% PTH > 800", "targets": 6, width: "100" },
|
61
|
+
{ "title": "Avg PHOS", "targets": 7, width: "100" },
|
62
|
+
{ "title": "Max PHOS", "targets": 8, width: "100" },
|
63
|
+
{ "title": "% PHOS < 1.8", "targets": 8, width: "110" }
|
64
|
+
]}
|
65
|
+
-
|
66
|
+
name: Anaemia
|
67
|
+
description: ESD/EPO audit
|
68
|
+
view_name: reporting_anaemia_audit
|
69
|
+
materialized: false
|
70
|
+
refresh_schedule:
|
71
|
+
display_configuration: >
|
72
|
+
{ "columnDefs": [
|
73
|
+
{ "title": "Modality", "targets": 0, width: "160" },
|
74
|
+
{ "title": "Patients", "targets": 1, width: "80" },
|
75
|
+
{ "title": "Avg HGB", "targets": 2, width: "90" },
|
76
|
+
{ "title": "% HGB ≥ 10", "targets": 4, width: "100" },
|
77
|
+
{ "title": "% HGB ≥ 11", "targets": 5, width: "100" },
|
78
|
+
{ "title": "% HGB ≥ 13", "targets": 6, width: "100" },
|
79
|
+
{ "title": "Avg FER", "targets": 7, width: "80" },
|
80
|
+
{ "title": "% FER ≥ 150", "targets": 8, width: "100" },
|
81
|
+
{ "title": "No on EPO", "targets": 9, width: "90" },
|
82
|
+
{ "title": "Count Mircer*", "targets": 9, width: "100" },
|
83
|
+
{ "title": "Count Neo*", "targets": 9, width: "90" },
|
84
|
+
{ "title": "Count Ara*", "targets": 9, width: "90" }
|
85
|
+
]}
|
86
|
+
|
@@ -0,0 +1,250 @@
|
|
1
|
+
name,alpha2,alpha3
|
2
|
+
United Kingdom,GB,GBR
|
3
|
+
Afghanistan,AF,AFG
|
4
|
+
Albania,AL,ALB
|
5
|
+
Algeria,DZ,DZA
|
6
|
+
American Samoa,AS,ASM
|
7
|
+
Andorra,AD,AND
|
8
|
+
Angola,AO,AGO
|
9
|
+
Anguilla,AI,AIA
|
10
|
+
Antarctica,AQ,ATA
|
11
|
+
Antigua & Barbuda,AG,ATG
|
12
|
+
Argentina,AR,ARG
|
13
|
+
Armenia,AM,ARM
|
14
|
+
Aruba,AW,ABW
|
15
|
+
Australia,AU,AUS
|
16
|
+
Austria,AT,AUT
|
17
|
+
Azerbaijan,AZ,AZE
|
18
|
+
Bahamas,BS,BHS
|
19
|
+
Bahrain,BH,BHR
|
20
|
+
Bangladesh,BD,BGD
|
21
|
+
Barbados,BB,BRB
|
22
|
+
Belarus,BY,BLR
|
23
|
+
Belgium,BE,BEL
|
24
|
+
Belize,BZ,BLZ
|
25
|
+
Benin,BJ,BEN
|
26
|
+
Bermuda,BM,BMU
|
27
|
+
Bhutan,BT,BTN
|
28
|
+
Bolivia,BO,BOL
|
29
|
+
Bosnia,BA,BIH
|
30
|
+
Botswana,BW,BWA
|
31
|
+
Bouvet Island,BV,BVT
|
32
|
+
Brazil,BR,BRA
|
33
|
+
British Indian Ocean Territory,IO,IOT
|
34
|
+
British Virgin Islands,VG,VGB
|
35
|
+
Brunei,BN,BRN
|
36
|
+
Bulgaria,BG,BGR
|
37
|
+
Burkina Faso,BF,BFA
|
38
|
+
Burundi,BI,BDI
|
39
|
+
Cambodia,KH,KHM
|
40
|
+
Cameroon,CM,CMR
|
41
|
+
Canada,CA,CAN
|
42
|
+
Cape Verde,CV,CPV
|
43
|
+
Caribbean Netherlands,BQ,BES
|
44
|
+
Cayman Islands,KY,CYM
|
45
|
+
Central African Republic,CF,CAF
|
46
|
+
Chad,TD,TCD
|
47
|
+
Chile,CL,CHL
|
48
|
+
China,CN,CHN
|
49
|
+
Christmas Island,CX,CXR
|
50
|
+
Cocos (Keeling) Islands,CC,CCK
|
51
|
+
Colombia,CO,COL
|
52
|
+
Comoros,KM,COM
|
53
|
+
Congo - Brazzaville,CG,COG
|
54
|
+
Congo - Kinshasa,CD,COD
|
55
|
+
Cook Islands,CK,COK
|
56
|
+
Costa Rica,CR,CRI
|
57
|
+
Croatia,HR,HRV
|
58
|
+
Cuba,CU,CUB
|
59
|
+
Cura̤ao,CW,CUW
|
60
|
+
Cyprus,CY,CYP
|
61
|
+
Czech Republic,CZ,CZE
|
62
|
+
Côte d'Ivoire,CI,CIV
|
63
|
+
Denmark,DK,DNK
|
64
|
+
Djibouti,DJ,DJI
|
65
|
+
Dominica,DM,DMA
|
66
|
+
Dominican Republic,DO,DOM
|
67
|
+
Ecuador,EC,ECU
|
68
|
+
Egypt,EG,EGY
|
69
|
+
El Salvador,SV,SLV
|
70
|
+
Equatorial Guinea,GQ,GNQ
|
71
|
+
Eritrea,ER,ERI
|
72
|
+
Estonia,EE,EST
|
73
|
+
Ethiopia,ET,ETH
|
74
|
+
Falkland Islands,FK,FLK
|
75
|
+
Faroe Islands,FO,FRO
|
76
|
+
Fiji,FJ,FJI
|
77
|
+
Finland,FI,FIN
|
78
|
+
France,FR,FRA
|
79
|
+
French Guiana,GF,GUF
|
80
|
+
French Polynesia,PF,PYF
|
81
|
+
French Southern Territories,TF,ATF
|
82
|
+
Gabon,GA,GAB
|
83
|
+
Gambia,GM,GMB
|
84
|
+
Georgia,GE,GEO
|
85
|
+
Germany,DE,DEU
|
86
|
+
Ghana,GH,GHA
|
87
|
+
Gibraltar,GI,GIB
|
88
|
+
Greece,GR,GRC
|
89
|
+
Greenland,GL,GRL
|
90
|
+
Grenada,GD,GRD
|
91
|
+
Guadeloupe,GP,GLP
|
92
|
+
Guam,GU,GUM
|
93
|
+
Guatemala,GT,GTM
|
94
|
+
Guernsey,GG,GGY
|
95
|
+
Guinea,GN,GIN
|
96
|
+
Guinea-Bissau,GW,GNB
|
97
|
+
Guyana,GY,GUY
|
98
|
+
Haiti,HT,HTI
|
99
|
+
Heard & McDonald Islands,HM,HMD
|
100
|
+
Honduras,HN,HND
|
101
|
+
Hong Kong,HK,HKG
|
102
|
+
Hungary,HU,HUN
|
103
|
+
Iceland,IS,ISL
|
104
|
+
India,IN,IND
|
105
|
+
Indonesia,ID,IDN
|
106
|
+
Iran,IR,IRN
|
107
|
+
Iraq,IQ,IRQ
|
108
|
+
Ireland,IE,IRL
|
109
|
+
Isle of Man,IM,IMN
|
110
|
+
Israel,IL,ISR
|
111
|
+
Italy,IT,ITA
|
112
|
+
Jamaica,JM,JAM
|
113
|
+
Japan,JP,JPN
|
114
|
+
Jersey,JE,JEY
|
115
|
+
Jordan,JO,JOR
|
116
|
+
Kazakhstan,KZ,KAZ
|
117
|
+
Kenya,KE,KEN
|
118
|
+
Kiribati,KI,KIR
|
119
|
+
Kuwait,KW,KWT
|
120
|
+
Kyrgyzstan,KG,KGZ
|
121
|
+
Laos,LA,LAO
|
122
|
+
Latvia,LV,LVA
|
123
|
+
Lebanon,LB,LBN
|
124
|
+
Lesotho,LS,LSO
|
125
|
+
Liberia,LR,LBR
|
126
|
+
Libya,LY,LBY
|
127
|
+
Liechtenstein,LI,LIE
|
128
|
+
Lithuania,LT,LTU
|
129
|
+
Luxembourg,LU,LUX
|
130
|
+
Macau,MO,MAC
|
131
|
+
Macedonia,MK,MKD
|
132
|
+
Madagascar,MG,MDG
|
133
|
+
Malawi,MW,MWI
|
134
|
+
Malaysia,MY,MYS
|
135
|
+
Maldives,MV,MDV
|
136
|
+
Mali,ML,MLI
|
137
|
+
Malta,MT,MLT
|
138
|
+
Marshall Islands,MH,MHL
|
139
|
+
Martinique,MQ,MTQ
|
140
|
+
Mauritania,MR,MRT
|
141
|
+
Mauritius,MU,MUS
|
142
|
+
Mayotte,YT,MYT
|
143
|
+
Mexico,MX,MEX
|
144
|
+
Micronesia,FM,FSM
|
145
|
+
Moldova,MD,MDA
|
146
|
+
Monaco,MC,MCO
|
147
|
+
Mongolia,MN,MNG
|
148
|
+
Montenegro,ME,MNE
|
149
|
+
Montserrat,MS,MSR
|
150
|
+
Morocco,MA,MAR
|
151
|
+
Mozambique,MZ,MOZ
|
152
|
+
Myanmar,MM,MMR
|
153
|
+
Namibia,NA,NAM
|
154
|
+
Nauru,NR,NRU
|
155
|
+
Nepal,NP,NPL
|
156
|
+
Netherlands,NL,NLD
|
157
|
+
New Caledonia,NC,NCL
|
158
|
+
New Zealand,NZ,NZL
|
159
|
+
Nicaragua,NI,NIC
|
160
|
+
Niger,NE,NER
|
161
|
+
Nigeria,NG,NGA
|
162
|
+
Niue,NU,NIU
|
163
|
+
Norfolk Island,NF,NFK
|
164
|
+
North Korea,KP,PRK
|
165
|
+
Northern Mariana Islands,MP,MNP
|
166
|
+
Norway,NO,NOR
|
167
|
+
Oman,OM,OMN
|
168
|
+
Pakistan,PK,PAK
|
169
|
+
Palau,PW,PLW
|
170
|
+
Palestine,PS,PSE
|
171
|
+
Panama,PA,PAN
|
172
|
+
Papua New Guinea,PG,PNG
|
173
|
+
Paraguay,PY,PRY
|
174
|
+
Peru,PE,PER
|
175
|
+
Philippines,PH,PHL
|
176
|
+
Pitcairn Islands,PN,PCN
|
177
|
+
Poland,PL,POL
|
178
|
+
Portugal,PT,PRT
|
179
|
+
Puerto Rico,PR,PRI
|
180
|
+
Qatar,QA,QAT
|
181
|
+
Romania,RO,ROU
|
182
|
+
Russia,RU,RUS
|
183
|
+
Rwanda,RW,RWA
|
184
|
+
R̩union,RE,REU
|
185
|
+
Samoa,WS,WSM
|
186
|
+
San Marino,SM,SMR
|
187
|
+
Sao Tome and Principe,ST,STP
|
188
|
+
Saudi Arabia,SA,SAU
|
189
|
+
Senegal,SN,SEN
|
190
|
+
Serbia,RS,SRB
|
191
|
+
Seychelles,SC,SYC
|
192
|
+
Sierra Leone,SL,SLE
|
193
|
+
Singapore,SG,SGP
|
194
|
+
Sint Maarten,SX,SXM
|
195
|
+
Slovakia,SK,SVK
|
196
|
+
Slovenia,SI,SVN
|
197
|
+
Solomon Islands,SB,SLB
|
198
|
+
Somalia,SO,SOM
|
199
|
+
South Africa,ZA,ZAF
|
200
|
+
South Georgia & South Sandwich Islands,GS,SGS
|
201
|
+
South Korea,KR,KOR
|
202
|
+
South Sudan,SS,SSD
|
203
|
+
Spain,ES,ESP
|
204
|
+
Sri Lanka,LK,LKA
|
205
|
+
St. Barth̩lemy,BL,BLM
|
206
|
+
St. Helena,SH,SHN
|
207
|
+
St. Kitts & Nevis,KN,KNA
|
208
|
+
St. Lucia,LC,LCA
|
209
|
+
St. Martin,MF,MAF
|
210
|
+
St. Pierre & Miquelon,PM,SPM
|
211
|
+
St. Vincent & Grenadines,VC,VCT
|
212
|
+
Sudan,SD,SDN
|
213
|
+
Suriname,SR,SUR
|
214
|
+
Svalbard & Jan Mayen,SJ,SJM
|
215
|
+
Swaziland,SZ,SWZ
|
216
|
+
Sweden,SE,SWE
|
217
|
+
Switzerland,CH,CHE
|
218
|
+
Syria,SY,SYR
|
219
|
+
Taiwan,TW,TWN
|
220
|
+
Tajikistan,TJ,TJK
|
221
|
+
Tanzania,TZ,TZA
|
222
|
+
Thailand,TH,THA
|
223
|
+
Timor-Leste,TL,TLS
|
224
|
+
Togo,TG,TGO
|
225
|
+
Tokelau,TK,TKL
|
226
|
+
Tonga,TO,TON
|
227
|
+
Trinidad & Tobago,TT,TTO
|
228
|
+
Tunisia,TN,TUN
|
229
|
+
Turkey,TR,TUR
|
230
|
+
Turkmenistan,TM,TKM
|
231
|
+
Turks & Caicos Islands,TC,TCA
|
232
|
+
Tuvalu,TV,TUV
|
233
|
+
U.S. Outlying Islands,UM,UMI
|
234
|
+
U.S. Virgin Islands,VI,VIR
|
235
|
+
Uganda,UG,UGA
|
236
|
+
Ukraine,UA,UKR
|
237
|
+
United Arab Emirates,AE,ARE
|
238
|
+
Uruguay,UY,URY
|
239
|
+
US,US,USA
|
240
|
+
Uzbekistan,UZ,UZB
|
241
|
+
Vanuatu,VU,VUT
|
242
|
+
Vatican City,VA,VAT
|
243
|
+
Venezuela,VE,VEN
|
244
|
+
Vietnam,VN,VNM
|
245
|
+
Wallis & Futuna,WF,WLF
|
246
|
+
Western Sahara,EH,ESH
|
247
|
+
Yemen,YE,YEM
|
248
|
+
Zambia,ZM,ZMB
|
249
|
+
Zimbabwe,ZW,ZWE
|
250
|
+
Åland Islands,AX,ALA
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Renalware
|
2
|
+
log "Adding Countries" do
|
3
|
+
file_path = File.join(File.dirname(__FILE__), "countries.csv")
|
4
|
+
CSV.foreach(file_path, headers: true) do |row, index|
|
5
|
+
System::Country.find_or_create_by!(
|
6
|
+
name: row["name"],
|
7
|
+
alpha2: row["alpha2"],
|
8
|
+
alpha3: row["alpha3"]
|
9
|
+
).tap{ |country| country.position = index }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -1,29 +1,40 @@
|
|
1
1
|
module Renalware
|
2
2
|
log "Adding Transplant Registration Statuses" do
|
3
3
|
|
4
|
+
# HC on #1664: The only difficulty is for patients who receive a pre-emptive transplant so
|
5
|
+
# their ESRF date is the date of their transplant. The RR list does not
|
6
|
+
# accommodate that but I would put them as On Transplant List (3)
|
7
|
+
#
|
8
|
+
# RR ESR61 codes:
|
9
|
+
# 1 Unsuitable
|
10
|
+
# 2 Working Up or under discussion
|
11
|
+
# 3 On Transplant List
|
12
|
+
# 4 Suspended on Transplant List
|
13
|
+
# 5 Not Assessed by Start of Dialysis
|
4
14
|
statuses = [
|
5
|
-
[:active, "Active"],
|
6
|
-
[:suspended, "Suspended"],
|
7
|
-
[:transplanted, "Transplanted"],
|
8
|
-
[:live_transplanted, "Live transplanted"],
|
9
|
-
[:off_by_patient, "Off by patient request"],
|
10
|
-
[:not_eligible, "Not eligible for NHS Tx"],
|
11
|
-
[:unfit_reconsider, "Unfit (not listed -- reconsider)"],
|
12
|
-
[:unfit_permanent, "Unfit (not listed -- permanent)"],
|
13
|
-
[:working_up, "X - working up"],
|
14
|
-
[:working_up_lrf, "X - working up LRF"],
|
15
|
-
[:not_for_work_up, "Not for work up - eGFR too high"],
|
16
|
-
[:workup_complete, "Workup complete - low creat"],
|
17
|
-
[:transfer_out, "Transfer Out"],
|
18
|
-
[:died, "Died"]
|
15
|
+
[:active, "Active", 3, "ESRF61: On Transplant List"],
|
16
|
+
[:suspended, "Suspended", 4, "ESRF61: Suspended on Transplant List"],
|
17
|
+
[:transplanted, "Transplanted", nil, "Not relevant for ESRF61"],
|
18
|
+
[:live_transplanted, "Live transplanted", nil, "Not relevant for ESRF61"],
|
19
|
+
[:off_by_patient, "Off by patient request", 1, "ERF61: Unsuitable"],
|
20
|
+
[:not_eligible, "Not eligible for NHS Tx", 1, "ERF61: Unsuitable"],
|
21
|
+
[:unfit_reconsider, "Unfit (not listed -- reconsider)", 1, "ERF61: Unsuitable"],
|
22
|
+
[:unfit_permanent, "Unfit (not listed -- permanent)", 1, "ERF61: Unsuitable"],
|
23
|
+
[:working_up, "X - working up", 2, "ERF61: Working Up or under discussion"],
|
24
|
+
[:working_up_lrf, "X - working up LRF", 2, "ERF61: Working Up or under discussion"],
|
25
|
+
[:not_for_work_up, "Not for work up - eGFR too high", 1, "ERF61: Unsuitable"],
|
26
|
+
[:workup_complete, "Workup complete - low creat", 2, "ERF61: Working Up or under discussion"],
|
27
|
+
[:transfer_out, "Transfer Out", nil, "Not relevant for ESRF61"],
|
28
|
+
[:died, "Died", nil, "Not relevant for ESRF61"]
|
19
29
|
]
|
20
30
|
|
21
31
|
statuses.each_with_index do |status, index|
|
22
|
-
Transplants::RegistrationStatusDescription.
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
32
|
+
Transplants::RegistrationStatusDescription.find_or_create_by(code: status[0]) do |desc|
|
33
|
+
desc.name = status[1]
|
34
|
+
desc.rr_code = status[2]
|
35
|
+
desc.rr_comment = status[3]
|
36
|
+
desc.position = index * 10
|
37
|
+
end
|
27
38
|
end
|
28
39
|
end
|
29
40
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
SELECT mp.id,
|
2
|
+
mp.patient_id,
|
3
|
+
mp.drug_id,
|
4
|
+
mp.treatable_type,
|
5
|
+
mp.treatable_id,
|
6
|
+
mp.dose_amount,
|
7
|
+
mp.dose_unit,
|
8
|
+
mp.medication_route_id,
|
9
|
+
mp.route_description,
|
10
|
+
mp.frequency,
|
11
|
+
mp.notes,
|
12
|
+
mp.prescribed_on,
|
13
|
+
mp.provider,
|
14
|
+
mp.created_at,
|
15
|
+
mp.updated_at,
|
16
|
+
mp.created_by_id,
|
17
|
+
mp.updated_by_id,
|
18
|
+
mp.administer_on_hd,
|
19
|
+
mp.last_delivery_date,
|
20
|
+
drugs.name as drug_name,
|
21
|
+
drug_types.code AS drug_type_code,
|
22
|
+
drug_types.name AS drug_type_name
|
23
|
+
FROM medication_prescriptions mp
|
24
|
+
FULL JOIN medication_prescription_terminations mpt ON mpt.prescription_id = mp.id
|
25
|
+
JOIN drugs ON drugs.id = mp.drug_id
|
26
|
+
FULL JOIN drug_types_drugs ON drug_types_drugs.drug_id = drugs.id
|
27
|
+
FULL JOIN drug_types ON drug_types_drugs.drug_type_id = drug_types.id
|
28
|
+
AND (mpt.terminated_on IS NULL OR mpt.terminated_on > now());
|