renalware-core 2.0.0.pre.beta8 → 2.0.0.pre.beta9

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -1
  3. data/app/assets/stylesheets/renalware/lib/_select2-foundation5-overrides.scss +2 -2
  4. data/app/controllers/renalware/directory/people_controller.rb +1 -1
  5. data/app/controllers/renalware/letters/contacts_controller.rb +1 -1
  6. data/app/controllers/renalware/letters/letters_controller.rb +1 -1
  7. data/app/controllers/renalware/patients/patients_controller.rb +3 -5
  8. data/app/controllers/renalware/patients/primary_care_physicians_controller.rb +1 -1
  9. data/app/controllers/renalware/renal/aki_alerts_controller.rb +44 -0
  10. data/app/controllers/renalware/renal/profiles_controller.rb +1 -1
  11. data/app/controllers/renalware/reporting/audits_controller.rb +9 -3
  12. data/app/documents/renalware/patient_document.rb +0 -13
  13. data/app/jobs/hl7_message_example.yml +1 -1
  14. data/app/jobs/renalware/reporting/refresh_audit_data_job.rb +7 -3
  15. data/app/models/renalware/clinical/create_allergy.rb +4 -2
  16. data/app/models/renalware/clinics/create_clinic_visit.rb +6 -2
  17. data/app/models/renalware/hd/session.rb +12 -0
  18. data/app/models/renalware/hospitals/unit.rb +4 -0
  19. data/app/models/renalware/hospitals/ward.rb +22 -0
  20. data/app/models/renalware/modalities/change_patient_modality.rb +4 -2
  21. data/app/models/renalware/patient.rb +1 -0
  22. data/app/models/renalware/patients/language.rb +1 -0
  23. data/app/models/renalware/pd/create_regime.rb +4 -2
  24. data/app/models/renalware/pd/revise_regime.rb +5 -3
  25. data/app/models/renalware/renal/aki_alert.rb +15 -0
  26. data/app/models/renalware/renal/aki_alert_action.rb +10 -0
  27. data/app/models/renalware/reporting/audit.rb +2 -3
  28. data/app/models/renalware/reporting/generate_audit_json.rb +21 -5
  29. data/app/models/renalware/system/country.rb +21 -0
  30. data/app/models/renalware/transplants/create_donor_stage.rb +4 -2
  31. data/app/policies/renalware/base_policy.rb +4 -0
  32. data/app/policies/renalware/renal/aki_alert_policy.rb +9 -0
  33. data/app/presenters/renalware/hd/patient_presenter.rb +5 -0
  34. data/app/presenters/renalware/reporting/audit_presenter.rb +1 -0
  35. data/app/presenters/renalware/transplants/patient_presenter.rb +2 -1
  36. data/app/presenters/renalware/ukrdc/patient_presenter.rb +27 -0
  37. data/app/values/renalware/address.rb +2 -13
  38. data/app/views/renalware/addresses/_form.html.slim +4 -2
  39. data/app/views/renalware/api/ukrdc/patients/_address.xml.builder +2 -2
  40. data/app/views/renalware/api/ukrdc/patients/_diagnoses.xml.builder +5 -2
  41. data/app/views/renalware/api/ukrdc/patients/_encounters.xml.builder +8 -1
  42. data/app/views/renalware/api/ukrdc/patients/_medications.xml.builder +30 -0
  43. data/app/views/renalware/api/ukrdc/patients/_patient.xml.builder +36 -4
  44. data/app/views/renalware/api/ukrdc/patients/_sending_facility.xml.builder +1 -0
  45. data/app/views/renalware/api/ukrdc/patients/diagnoses/_cause_of_death.xml.builder +10 -0
  46. data/app/views/renalware/api/ukrdc/patients/encounters/_hd_session.xml.builder +40 -0
  47. data/app/views/renalware/api/ukrdc/patients/show.xml.builder +1 -0
  48. data/app/views/renalware/directory/people/_address_form.html.slim +1 -1
  49. data/app/views/renalware/hd/sessions/_form.html.slim +43 -33
  50. data/app/views/renalware/letters/contacts/_person_form.html.slim +1 -1
  51. data/app/views/renalware/navigation/_renal.html.slim +1 -0
  52. data/app/views/renalware/patients/patients/_form.html.slim +5 -2
  53. data/app/views/renalware/patients/patients/show.html.slim +0 -5
  54. data/app/views/renalware/patients/patients/show/_patient_demographics.html.slim +3 -3
  55. data/app/views/renalware/patients/side_menu/_actions.html.slim +3 -0
  56. data/app/views/renalware/renal/aki_alerts/_filters.html.slim +0 -0
  57. data/app/views/renalware/renal/aki_alerts/edit.html.slim +17 -0
  58. data/app/views/renalware/renal/aki_alerts/index.html.slim +28 -0
  59. data/app/views/renalware/reporting/audits/edit.html.slim +1 -1
  60. data/app/views/renalware/reporting/audits/index.html.slim +11 -7
  61. data/app/views/renalware/reporting/audits/show.html.slim +2 -17
  62. data/app/views/renalware/shared/documents/_blood_pressure_input.html.slim +6 -7
  63. data/config/initializers/inflections.rb +3 -2
  64. data/config/locales/renalware/navigation/renal.en.yml +1 -0
  65. data/config/locales/renalware/renal/aki_alerts.en.yml +5 -0
  66. data/config/locales/renalware/renal/{profile.yml → profile.en.yml} +0 -0
  67. data/config/locales/renalware/reporting/audit.en.yml +1 -1
  68. data/config/routes.rb +1 -0
  69. data/db/migrate/20150312113937_create_drug_types_drugs.rb +2 -2
  70. data/db/migrate/20170925161033_add_code_to_patient_langauges.rb +6 -0
  71. data/db/migrate/20170925182738_add_rr_code_to_medication_routes.rb +5 -0
  72. data/db/migrate/20170926081426_create_countries.rb +14 -0
  73. data/db/migrate/20170926132845_add_country_of_birth_to_patients.rb +6 -0
  74. data/db/migrate/20171002175804_add_rr_columns_to_transplant_registration_status_descriptions.rb +12 -0
  75. data/db/migrate/20171003093347_create_hospital_wards.rb +17 -0
  76. data/db/migrate/20171003111228_create_aki_alert_actions.rb +10 -0
  77. data/db/migrate/20171003122425_create_renal_aki_alerts.rb +22 -0
  78. data/db/migrate/20171005081224_create_reporting_bone_audit.rb +5 -0
  79. data/db/migrate/20171005091202_reporting_audit_changes.rb +7 -0
  80. data/db/migrate/20171005130109_create_medication_current_prescriptions.rb +5 -0
  81. data/db/migrate/20171005144505_create_reporting_anaemia_audit.rb +5 -0
  82. data/db/migrate/20171009104106_add_legacy_patient_id_to_patients.rb +6 -0
  83. data/db/seeds/default/events/{event_types_required.csv → event_types.csv} +0 -0
  84. data/db/seeds/default/events/{event_types_required.rb → event_types.rb} +2 -2
  85. data/db/seeds/default/events/seeds.rb +1 -2
  86. data/db/seeds/default/medications/medication_routes.rb +23 -13
  87. data/db/seeds/default/patients/patients_languages.csv +192 -102
  88. data/db/seeds/default/patients/patients_languages.rb +1 -1
  89. data/db/seeds/default/patients/patients_religions.csv +2 -0
  90. data/db/seeds/default/reporting/audits.rb +4 -3
  91. data/db/seeds/default/reporting/audits.yml +47 -4
  92. data/db/seeds/default/system/countries.csv +250 -0
  93. data/db/seeds/default/system/countries.rb +12 -0
  94. data/db/seeds/default/system/seeds.rb +1 -0
  95. data/db/seeds/default/transplants/transplant_registration_statuses.rb +30 -19
  96. data/db/views/medication_current_prescriptions_v01.sql +28 -0
  97. data/db/views/reporting_anaemia_audit_v01.sql +41 -0
  98. data/db/views/reporting_bone_audit_v01.sql +32 -0
  99. data/lib/renalware/version.rb +1 -1
  100. data/spec/factories/deaths/cause.rb +1 -1
  101. data/spec/factories/drugs/drug.rb +6 -0
  102. data/spec/factories/drugs/drug_types.rb +5 -0
  103. data/spec/factories/hospitals/wards.rb +9 -0
  104. data/spec/factories/modalities/modality_descriptions.rb +10 -8
  105. data/spec/factories/patients/ethnicities.rb +3 -0
  106. data/spec/factories/patients/languages.rb +12 -1
  107. data/spec/factories/renal/aki_alert_actions.rb +5 -0
  108. data/spec/factories/renal/aki_alerts.rb +9 -0
  109. data/spec/factories/reporting/audits.rb +1 -1
  110. data/spec/factories/system/addresses.rb +1 -1
  111. data/spec/factories/system/countries.rb +15 -0
  112. metadata +42 -13
  113. data/app/values/renalware/country.rb +0 -19
  114. data/config/countries.csv +0 -250
  115. data/db/migrate/20170706120643_create_reporting_data_sources.rb +0 -5
  116. data/db/seeds/default/events/event_types_blt.csv +0 -109
  117. data/db/seeds/default/events/event_types_local.rb +0 -10
  118. data/db/views/reporting_data_sources_v01.sql +0 -17
@@ -0,0 +1,6 @@
1
+ class AddCodeToPatientLangauges < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :patient_languages, :code, :string
4
+ add_index :patient_languages, :code, unique: true
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddRrCodeToMedicationRoutes < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :medication_routes, :rr_code, :string
4
+ end
5
+ end
@@ -0,0 +1,14 @@
1
+ class CreateCountries < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :system_countries do |t|
4
+ t.string :name, null: false, index: :unique
5
+ t.string :alpha2, null: false, index: :unique
6
+ t.string :alpha3, null: false, index: :unique
7
+ t.integer :position, index: :true
8
+ end
9
+
10
+ remove_column :addresses, :country, :string
11
+ add_column :addresses, :country_id, :integer, index: true
12
+ add_foreign_key :addresses, :system_countries, column: :country_id
13
+ end
14
+ end
@@ -0,0 +1,6 @@
1
+ class AddCountryOfBirthToPatients < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :patients, :country_of_birth_id, :integer, index: true
4
+ add_foreign_key :patients, :system_countries, column: :country_of_birth_id
5
+ end
6
+ end
@@ -0,0 +1,12 @@
1
+ class AddRrColumnsToTransplantRegistrationStatusDescriptions < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :transplant_registration_status_descriptions,
4
+ :rr_code,
5
+ :integer,
6
+ index: true
7
+
8
+ add_column :transplant_registration_status_descriptions,
9
+ :rr_comment,
10
+ :text
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ class CreateHospitalWards < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :hospital_wards do |t|
4
+ t.string :name, null: false
5
+ t.references :hospital_unit, index: true, foreign_key: true, null: false
6
+ t.datetime :deleted_at
7
+ t.timestamps null: false
8
+ end
9
+
10
+ # This create a postgres partial index
11
+ # Name must be unique in for any unit, but only amongst un-deleted wards.
12
+ add_index :hospital_wards,
13
+ [:name, :hospital_unit_id],
14
+ unique: true,
15
+ where: "deleted_at IS NOT NULL"
16
+ end
17
+ end
@@ -0,0 +1,10 @@
1
+ class CreateAKIAlertActions < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :renal_aki_alert_actions do |t|
4
+ t.string :name, null: false, index: :unique
5
+ t.integer :position, null: false, default: 0
6
+
7
+ t.timestamps null: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,22 @@
1
+ class CreateRenalAKIAlerts < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :renal_aki_alerts do |t|
4
+ t.references :patient, null: false, foreign_key: true, index: true
5
+ t.references :action,
6
+ foreign_key: { to_table: :renal_aki_alert_actions },
7
+ index: true,
8
+ null: true
9
+ t.references :hospital_ward,
10
+ foreign_key: { to_table: :hospital_wards },
11
+ index: true,
12
+ null: true
13
+ t.boolean :hotlist, null: false, default: false, index: true
14
+ t.string :renal_aki_alerts, :action, :string, index: true
15
+ t.text :notes
16
+ t.references :updated_by, foreign_key: { to_table: :users }, index: true
17
+ t.references :created_by, foreign_key: { to_table: :users }, index: true
18
+
19
+ t.timestamps null: false
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,5 @@
1
+ class CreateReportingBoneAudit < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_view :reporting_bone_audit
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class ReportingAuditChanges < ActiveRecord::Migration[5.1]
2
+ def change
3
+ rename_column :reporting_audits, :materialized_view_name, :view_name
4
+ add_column :reporting_audits, :materialized, :boolean, null: false, default: true
5
+ change_column_null :reporting_audits, :refresh_schedule, true
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class CreateMedicationCurrentPrescriptions < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_view :medication_current_prescriptions
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class CreateReportingAnaemiaAudit < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_view :reporting_anaemia_audit
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddLegacyPatientIdToPatients < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :patients, :legacy_patient_id, :integer, null: true
4
+ add_index :patients, :legacy_patient_id, unique: true
5
+ end
6
+ end
@@ -1,7 +1,7 @@
1
1
  module Renalware
2
- log "Adding Biopsy and Swab Event Types" do
2
+ log "Adding Default Event Types e.g. Biopsy, Swabs" do
3
3
 
4
- file_path = File.join(File.dirname(__FILE__), "event_types_required.csv")
4
+ file_path = File.join(File.dirname(__FILE__), "event_types.csv")
5
5
 
6
6
  CSV.foreach(file_path, headers: true) do |row|
7
7
  Events::Type.find_or_create_by!(name: row["name"],
@@ -1,2 +1 @@
1
- require_relative "./event_types_required"
2
- require_relative "./event_types_local"
1
+ require_relative "./event_types"
@@ -1,19 +1,29 @@
1
1
  module Renalware
2
2
  log "Adding Medication Routes" do
3
3
 
4
- Medications::MedicationRoute.transaction do
5
- Medications::MedicationRoute.find_or_create_by!(code: "PO", name: "Per Oral")
6
- Medications::MedicationRoute.find_or_create_by!(code: "IV", name: "Intravenous")
7
- Medications::MedicationRoute.find_or_create_by!(code: "SC", name: "Subcutaneous")
8
- Medications::MedicationRoute.find_or_create_by!(code: "IM", name: "Intramuscular")
9
- Medications::MedicationRoute.find_or_create_by!(code: "IP", name: "Intraperitoneal")
10
- Medications::MedicationRoute.find_or_create_by!(code: "INH", name: "Inhaler")
11
- Medications::MedicationRoute.find_or_create_by!(code: "SL", name: "Sublingual")
12
- Medications::MedicationRoute.find_or_create_by!(code: "NG", name: "Nasogastric")
13
- Medications::MedicationRoute.find_or_create_by!(code: "PARENT", name: "Parenteral")
14
- Medications::MedicationRoute.find_or_create_by!(code: "PERCUT", name: "Percutaneous")
15
- Medications::MedicationRoute.find_or_create_by!(code: "TOP", name: "Topical")
16
- Medications::MedicationRoute.find_or_create_by!(code: "OTHER", name: "Other")
4
+ module RR
5
+ ORAL = 1
6
+ TOPICAL = 2
7
+ INHALATION = 3
8
+ INJECTION = 4
9
+ INTRAPERITONEAL = 5
10
+ OTHER = 9
11
+ end
12
+
13
+ MRoute = Medications::MedicationRoute
14
+ MRoute.transaction do
15
+ MRoute.find_or_create_by!(code: "PO", name: "Per Oral", rr_code: RR::ORAL)
16
+ MRoute.find_or_create_by!(code: "IV", name: "Intravenous", rr_code: RR::INJECTION)
17
+ MRoute.find_or_create_by!(code: "SC", name: "Subcutaneous", rr_code: RR::INJECTION)
18
+ MRoute.find_or_create_by!(code: "IM", name: "Intramuscular", rr_code: RR::INJECTION)
19
+ MRoute.find_or_create_by!(code: "IP", name: "Intraperitoneal", rr_code: RR::INTRAPERITONEAL)
20
+ MRoute.find_or_create_by!(code: "INH", name: "Inhaler", rr_code: RR::INHALATION)
21
+ MRoute.find_or_create_by!(code: "SL", name: "Sublingual", rr_code: RR::OTHER)
22
+ MRoute.find_or_create_by!(code: "NG", name: "Nasogastric", rr_code: RR::OTHER)
23
+ MRoute.find_or_create_by!(code: "PARENT", name: "Parenteral", rr_code: RR::INJECTION)
24
+ MRoute.find_or_create_by!(code: "PERCUT", name: "Percutaneous", rr_code: RR::OTHER)
25
+ MRoute.find_or_create_by!(code: "TOP", name: "Topical", rr_code: RR::TOPICAL)
26
+ MRoute.find_or_create_by!(code: "OTHER", name: "Other", rr_code: RR::OTHER)
17
27
  end
18
28
  end
19
29
  end
@@ -1,102 +1,192 @@
1
- "name"
2
- "English"
3
- "Other"
4
- "Akan"
5
- "Amharic"
6
- "Arabic"
7
- "Assamese"
8
- "Awadhi"
9
- "Azerbaijani"
10
- "Balochi"
11
- "Belarusian"
12
- "Bengali"
13
- "Bhojpuri"
14
- "Burmese"
15
- "Cebuano (Visayan)"
16
- "Chewa"
17
- "Chhattisgarhi"
18
- "Chittagonian"
19
- "Czech"
20
- "Deccan"
21
- "Dhundhari"
22
- "Dutch"
23
- "Eastern Min"
24
- "French"
25
- "Fula"
26
- "Gan Chinese"
27
- "German"
28
- "Greek"
29
- "Gujarati"
30
- "Haitian Creole"
31
- "Hakka"
32
- "Haryanvi"
33
- "Hausa"
34
- "Hiligaynon"
35
- "Hindi"
36
- "Hmong"
37
- "Hungarian"
38
- "Igbo"
39
- "Ilocano"
40
- "Italian"
41
- "Japanese"
42
- "Javanese"
43
- "Jin"
44
- "Kannada"
45
- "Kazakh"
46
- "Khmer"
47
- "Kinyarwanda"
48
- "Kirundi"
49
- "Konkani"
50
- "Korean"
51
- "Kurdish"
52
- "Madurese"
53
- "Magahi"
54
- "Maithili"
55
- "Malagasy"
56
- "Malay/Indonesian"
57
- "Malayalam"
58
- "Mandarin"
59
- "Marathi"
60
- "Marwari"
61
- "Mossi"
62
- "Nepali"
63
- "Northern Min"
64
- "Odia (Oriya)"
65
- "Oromo"
66
- "Pashto"
67
- "Persian"
68
- "Polish"
69
- "Portuguese"
70
- "Punjabi"
71
- "Quechua"
72
- "Romanian"
73
- "Russian"
74
- "Saraiki"
75
- "Serbo-Croatian"
76
- "Shona"
77
- "Sindhi"
78
- "Sinhalese"
79
- "Somali"
80
- "Southern Min"
81
- "Spanish"
82
- "Sundanese"
83
- "Swedish"
84
- "Sylheti"
85
- "Tagalog"
86
- "Tamil"
87
- "Telugu"
88
- "Thai"
89
- "Turkish"
90
- "Turkmen"
91
- "Ukrainian"
92
- "Urdu"
93
- "Uyghur"
94
- "Uzbek"
95
- "Vietnamese"
96
- "Wu (inc. Shanghainese)"
97
- "Xhosa"
98
- "Xiang (Hunnanese)"
99
- "Yoruba"
100
- "Yue (Cantonese)"
101
- "Zhuang"
102
- "Zulu"
1
+ code,name
2
+ en,English
3
+ ot,Other
4
+ aa,Afar
5
+ ab,Abkhazian
6
+ ae,Avestan
7
+ af,Afrikaans
8
+ ak,Akan
9
+ am,Amharic
10
+ an,Aragonese
11
+ ar,Arabic
12
+ as,Assamese
13
+ av,Avaric
14
+ ay,Aymara
15
+ az,Azerbaijani
16
+ ba,Bashkir
17
+ be,Belarusian
18
+ bg,Bulgarian
19
+ bh,Bihari languages
20
+ bi,Bislama
21
+ bm,Bambara
22
+ bn,Bengali
23
+ bo,Tibetan
24
+ br,Breton
25
+ bs,Bosnian
26
+ ca,Catalan; Valencian
27
+ ce,Chechen
28
+ ch,Chamorro
29
+ co,Corsican
30
+ cr,Cree
31
+ cs,Czech
32
+ cu,Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic
33
+ cv,Chuvash
34
+ cy,Welsh
35
+ da,Danish
36
+ de,German
37
+ dv,Divehi; Dhivehi; Maldivian
38
+ dz,Dzongkha
39
+ ee,Ewe
40
+ el,"Greek, Modern (1453-)"
41
+ eo,Esperanto
42
+ es,Spanish; Castilian
43
+ et,Estonian
44
+ eu,Basque
45
+ fa,Persian
46
+ ff,Fulah
47
+ fi,Finnish
48
+ fj,Fijian
49
+ fo,Faroese
50
+ fr,French
51
+ fy,Western Frisian
52
+ ga,Irish
53
+ gd,Gaelic; Scottish Gaelic
54
+ gl,Galician
55
+ gn,Guarani
56
+ gu,Gujarati
57
+ gv,Manx
58
+ ha,Hausa
59
+ he,Hebrew
60
+ hi,Hindi
61
+ ho,Hiri Motu
62
+ hr,Croatian
63
+ ht,Haitian; Haitian Creole
64
+ hu,Hungarian
65
+ hy,Armenian
66
+ hz,Herero
67
+ ia,Interlingua (International Auxiliary Language Association)
68
+ id,Indonesian
69
+ ie,Interlingue; Occidental
70
+ ig,Igbo
71
+ ii,Sichuan Yi; Nuosu
72
+ ik,Inupiaq
73
+ io,Ido
74
+ is,Icelandic
75
+ it,Italian
76
+ iu,Inuktitut
77
+ ja,Japanese
78
+ jv,Javanese
79
+ ka,Georgian
80
+ kg,Kongo
81
+ ki,Kikuyu; Gikuyu
82
+ kj,Kuanyama; Kwanyama
83
+ kk,Kazakh
84
+ kl,Kalaallisut; Greenlandic
85
+ km,Central Khmer
86
+ kn,Kannada
87
+ ko,Korean
88
+ kr,Kanuri
89
+ ks,Kashmiri
90
+ ku,Kurdish
91
+ kv,Komi
92
+ kw,Cornish
93
+ ky,Kirghiz; Kyrgyz
94
+ la,Latin
95
+ lb,Luxembourgish; Letzeburgesch
96
+ lg,Ganda
97
+ li,Limburgan; Limburger; Limburgish
98
+ ln,Lingala
99
+ lo,Lao
100
+ lt,Lithuanian
101
+ lu,Luba-Katanga
102
+ lv,Latvian
103
+ mg,Malagasy
104
+ mh,Marshallese
105
+ mi,Maori
106
+ mk,Macedonian
107
+ ml,Malayalam
108
+ mn,Mongolian
109
+ mr,Marathi
110
+ ms,Malay
111
+ mt,Maltese
112
+ my,Burmese
113
+ na,Nauru
114
+ nb,"Bokmål, Norwegian; Norwegian Bokmål"
115
+ nd,"Ndebele, North; North Ndebele"
116
+ ne,Nepali
117
+ ng,Ndonga
118
+ nl,Dutch; Flemish
119
+ nn,"Norwegian Nynorsk; Nynorsk, Norwegian"
120
+ no,Norwegian
121
+ nr,"Ndebele, South; South Ndebele"
122
+ nv,Navajo; Navaho
123
+ ny,Chichewa; Chewa; Nyanja
124
+ oc,Occitan (post 1500); Provençal
125
+ oj,Ojibwa
126
+ om,Oromo
127
+ or,Oriya
128
+ os,Ossetian; Ossetic
129
+ pa,Panjabi; Punjabi
130
+ pi,Pali
131
+ pl,Polish
132
+ ps,Pushto; Pashto
133
+ pt,Portuguese
134
+ qu,Quechua
135
+ rm,Romansh
136
+ rn,Rundi
137
+ ro,Romanian; Moldavian; Moldovan
138
+ ru,Russian
139
+ rw,Kinyarwanda
140
+ sa,Sanskrit
141
+ sc,Sardinian
142
+ sd,Sindhi
143
+ se,Northern Sami
144
+ sg,Sango
145
+ si,Sinhala; Sinhalese
146
+ sk,Slovak
147
+ sl,Slovenian
148
+ sm,Samoan
149
+ sn,Shona
150
+ so,Somali
151
+ sq,Albanian
152
+ sr,Serbian
153
+ ss,Swati
154
+ st,"Sotho, Southern"
155
+ su,Sundanese
156
+ sv,Swedish
157
+ sw,Swahili
158
+ ta,Tamil
159
+ te,Telugu
160
+ tg,Tajik
161
+ th,Thai
162
+ ti,Tigrinya
163
+ tk,Turkmen
164
+ tl,Tagalog
165
+ tn,Tswana
166
+ to,Tonga (Tonga Islands)
167
+ tr,Turkish
168
+ ts,Tsonga
169
+ tt,Tatar
170
+ tw,Twi
171
+ ty,Tahitian
172
+ ug,Uighur; Uyghur
173
+ uk,Ukrainian
174
+ ur,Urdu
175
+ uz,Uzbek
176
+ ve,Venda
177
+ vi,Vietnamese
178
+ vo,Volapük
179
+ wa,Walloon
180
+ wo,Wolof
181
+ xh,Xhosa
182
+ yi,Yiddish
183
+ yo,Yoruba
184
+ za,Zhuang; Chuang
185
+ zh,Chinese
186
+ zu,Zulu
187
+ q1,Braille - for people who are unable to see
188
+ q2,American Sign Language
189
+ q3,Australian Sign Language
190
+ q4,British Sign Language
191
+ q5,Makaton - devised for children and adults with a variety of communication and Learning Disabilities
192
+ un,Unknown