From f12f2765b9faa968d29a435f5793e13170267567 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 17 Jun 2024 17:27:26 +0300 Subject: [PATCH 01/20] Ignore IntelliJ IDEA IDE files --- .gitignore | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index c0d91a27..f88be844 100644 --- a/.gitignore +++ b/.gitignore @@ -174,6 +174,14 @@ fabric.properties # CodeStream plugin # https://plugins.jetbrains.com/plugin/12206-codestream .idea/codestream.xml +.idea/compiler.xml +.idea/encodings.xml +.idea/jarRepositories.xml +.idea/jsLibraryMappings.xml +.idea/material_theme_project_new.xml +.idea/palantir-java-format.xml +.idea/vcs.xml +.idea/misc.xml ### macOS ### # General @@ -386,4 +394,4 @@ dist # SvelteKit build / generate output .svelte-kit -# End of https://www.toptal.com/developers/gitignore/api/node \ No newline at end of file +# End of https://www.toptal.com/developers/gitignore/api/node From f02a3adec3765b1ce0c7c6bc5a02e4aa00f3209a Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 17 Jun 2024 17:31:19 +0300 Subject: [PATCH 02/20] KH-527: Add CCS HC raw data report --- .../assets/charts/ccs_hc_raw_data_chart.yaml | 133 ++ .../dashboards/ccs_hc_raw_data_dashboard.yaml | 182 ++ .../PostgreSQL/ccs_hc_raw_data_dataset.yaml | 1614 +++++++++++++++++ 3 files changed, 1929 insertions(+) create mode 100644 base/configs/superset/assets/charts/ccs_hc_raw_data_chart.yaml create mode 100644 base/configs/superset/assets/dashboards/ccs_hc_raw_data_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/ccs_hc_raw_data_dataset.yaml diff --git a/base/configs/superset/assets/charts/ccs_hc_raw_data_chart.yaml b/base/configs/superset/assets/charts/ccs_hc_raw_data_chart.yaml new file mode 100644 index 00000000..4c91cd74 --- /dev/null +++ b/base/configs/superset/assets/charts/ccs_hc_raw_data_chart.yaml @@ -0,0 +1,133 @@ +slice_name: Cervical Cancer Screening HC Raw Data +description: null +certified_by: null +certification_details: null +viz_type: table +params: + datasource: 14__table + viz_type: table + slice_id: 32 + granularity_sqla: visit_date + time_grain_sqla: P1D + time_range: Last year + query_mode: raw + groupby: [] + all_columns: + - client_id + - client_name + - gender + - age + - birthdate + - id_poor + - national_id + - pmrs_id + - covid_vaccination_id + - nssf + - ssn + - passport_no + - other_identifiers + - province + - district + - commune + - village + - occupation + - place_of_birth + - ethnicity + - marital_status + - visit_start_date + - visit_start_time_text + - education + - visit_end_date + - visit_end_time + - referred_from + - has_referral_letter + - payment_type + - visit_district + - visit_hf_code + - visit_hf_name + - is_screen_for_css + - visit_province + - hpv_test_result + - cytology_test_result + - address_zone + - sex_debut + - test_type + - previous_pregnant + - number_of_pregnancies + - number_of_deliveries + - number_of_miscarriages + - treatment + - smoked + - corticosteroid_use + - corticosteroid_use_duration + - via_test_result + - has_multiple_sex_partners + - partner_has_multiple_sex_partners + - history_stis + - has_history_stis + - current_stis + - has_hiv + - has_current_stis + - hiv_treatment + - coc_use_for_more_than_5_yrs + - type_of_cancer + - vulva_exam + - vagina_exam + - cervix_exam + - family_history_cancer + - bleeding_after_sex + - other_physical_exam + - cervix_text + - uterus_text + - vaginal_rectal_text + - is_educated_for_css + - hpv_result + - vulva_text + - scj_visibility + - hpv_virus_type + - number_of_quadrants + - rectum_text + - via_test_results + - cc_reason_for_referral + - aceto_white_ecto_cervix + - cc_treatment_options + - cc_appointment_date + - is_educated_for_bs + - cc_reason_for_appointment + - sign_of_breast + - bc_treatment + - bc_reason_for_referral + - bc_appointment_date + - bc_reason_for_appointment + - rf_hf_code + - rf_hf_province + - rf_hf_district + - rf_hf_name + - fallopian_text + percent_metrics: [] + adhoc_filters: [] + order_by_cols: + - '["visit_date", false]' + row_limit: 5000 + server_page_length: 10 + order_desc: true + table_timestamp_format: smart_date + page_length: 200 + show_cell_bars: false + color_pn: true + allow_rearrange_columns: true + column_config: + visit_start_time: + d3TimeFormat: '%H:%M:%S' + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 8 +query_context: '{"datasource":{"id":14,"type":"table"},"force":false,"queries":[{"time_range":"Last + year","granularity":"visit_date","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["client_id","client_name","gender","age","birthdate","id_poor","national_id","pmrs_id","covid_vaccination_id","nssf","ssn","passport_no","other_identifiers","province","district","commune","village","occupation","place_of_birth","ethnicity","marital_status","visit_start_date","visit_start_time_text","education","visit_end_date","visit_end_time","referred_from","has_referral_letter","payment_type","visit_district","visit_hf_code","visit_hf_name","is_screen_for_css","visit_province","hpv_test_result","cytology_test_result","address_zone","sex_debut","test_type","previous_pregnant","number_of_pregnancies","number_of_deliveries","number_of_miscarriages","treatment","smoked","corticosteroid_use","corticosteroid_use_duration","via_test_result","has_multiple_sex_partners","partner_has_multiple_sex_partners","history_stis","has_history_stis","current_stis","has_hiv","has_current_stis","hiv_treatment","coc_use_for_more_than_5_yrs","type_of_cancer","vulva_exam","vagina_exam","cervix_exam","family_history_cancer","bleeding_after_sex","other_physical_exam","cervix_text","uterus_text","vaginal_rectal_text","is_educated_for_css","hpv_result","vulva_text","scj_visibility","hpv_virus_type","number_of_quadrants","rectum_text","via_test_results","cc_reason_for_referral","aceto_white_ecto_cervix","cc_treatment_options","cc_appointment_date","is_educated_for_bs","cc_reason_for_appointment","sign_of_breast","bc_treatment","bc_reason_for_referral","bc_appointment_date","bc_reason_for_appointment","rf_hf_code","rf_hf_province","rf_hf_district","rf_hf_name","fallopian_text"],"orderby":[["visit_date",false]],"annotation_layers":[],"row_limit":5000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"14__table","viz_type":"table","slice_id":32,"granularity_sqla":"visit_date","time_grain_sqla":"P1D","time_range":"Last + year","query_mode":"raw","groupby":[],"all_columns":["client_id","client_name","gender","age","birthdate","id_poor","national_id","pmrs_id","covid_vaccination_id","nssf","ssn","passport_no","other_identifiers","province","district","commune","village","occupation","place_of_birth","ethnicity","marital_status","visit_start_date","visit_start_time_text","education","visit_end_date","visit_end_time","referred_from","has_referral_letter","payment_type","visit_district","visit_hf_code","visit_hf_name","is_screen_for_css","visit_province","hpv_test_result","cytology_test_result","address_zone","sex_debut","test_type","previous_pregnant","number_of_pregnancies","number_of_deliveries","number_of_miscarriages","treatment","smoked","corticosteroid_use","corticosteroid_use_duration","via_test_result","has_multiple_sex_partners","partner_has_multiple_sex_partners","history_stis","has_history_stis","current_stis","has_hiv","has_current_stis","hiv_treatment","coc_use_for_more_than_5_yrs","type_of_cancer","vulva_exam","vagina_exam","cervix_exam","family_history_cancer","bleeding_after_sex","other_physical_exam","cervix_text","uterus_text","vaginal_rectal_text","is_educated_for_css","hpv_result","vulva_text","scj_visibility","hpv_virus_type","number_of_quadrants","rectum_text","via_test_results","cc_reason_for_referral","aceto_white_ecto_cervix","cc_treatment_options","cc_appointment_date","is_educated_for_bs","cc_reason_for_appointment","sign_of_breast","bc_treatment","bc_reason_for_referral","bc_appointment_date","bc_reason_for_appointment","rf_hf_code","rf_hf_province","rf_hf_district","rf_hf_name","fallopian_text"],"percent_metrics":[],"adhoc_filters":[],"order_by_cols":["[\"visit_date\", + false]"],"row_limit":5000,"server_page_length":10,"include_time":false,"order_desc":true,"table_timestamp_format":"smart_date","page_length":200,"show_cell_bars":false,"color_pn":true,"allow_rearrange_columns":true,"column_config":{"visit_start_time":{"d3TimeFormat":"%H:%M:%S"}},"conditional_formatting":[],"extra_form_data":{},"dashboards":[8],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: a133510d-1fd5-405c-8db9-0ad187e7c73c +version: 1.0.0 +dataset_uuid: 5457e2a2-5943-4b14-8a0e-878c7ba4bc8f diff --git a/base/configs/superset/assets/dashboards/ccs_hc_raw_data_dashboard.yaml b/base/configs/superset/assets/dashboards/ccs_hc_raw_data_dashboard.yaml new file mode 100644 index 00000000..8ff1ea06 --- /dev/null +++ b/base/configs/superset/assets/dashboards/ccs_hc_raw_data_dashboard.yaml @@ -0,0 +1,182 @@ +dashboard_title: Cervical Cancer Screening HC Raw Data +description: null +css: '' +slug: ccs-hc-raw-data +uuid: 09b98e8e-4a65-494a-8378-b78faf16fe25 +position: + CHART-explore-32-1: + children: [] + id: CHART-explore-32-1 + meta: + chartId: 32 + height: 101 + sliceName: HC Raw Data + sliceNameOverride: Cervical Cancer Screening HC Raw Data + uuid: a133510d-1fd5-405c-8db9-0ad187e7c73c + width: 12 + parents: + - ROOT_ID + - GRID_ID + - ROW-oSjDcrv5vE + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-oSjDcrv5vE + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: Cervical Cancer Screening HC Raw Data + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-oSjDcrv5vE: + children: + - CHART-explore-32-1 + id: ROW-oSjDcrv5vE + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-yG0sftpoN + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: true + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: visit_province + datasetUuid: 5457e2a2-5943-4b14-8a0e-878c7ba4bc8f + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-OhmPrHMDt + - NATIVE_FILTER-afAlHXca9 + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 32 + tabsInScope: [] + - id: NATIVE_FILTER-afAlHXca9 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: true + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: visit_district + datasetUuid: 5457e2a2-5943-4b14-8a0e-878c7ba4bc8f + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-OhmPrHMDt + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 32 + tabsInScope: [] + - id: NATIVE_FILTER-OhmPrHMDt + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: true + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: visit_hf_name + datasetUuid: 5457e2a2-5943-4b14-8a0e-878c7ba4bc8f + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 32 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-Wgo1hNZdF + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + chartsInScope: [] + tabsInScope: [] + - id: NATIVE_FILTER-kt_radbAb + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 32 + tabsInScope: [] + shared_label_colors: {} + color_scheme_domain: [] +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ccs_hc_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/ccs_hc_raw_data_dataset.yaml new file mode 100644 index 00000000..f5245bea --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/ccs_hc_raw_data_dataset.yaml @@ -0,0 +1,1614 @@ +table_name: Cervical Cancer Screening HC Raw Data +main_dttm_col: null +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n MAX(p.openmrs_id) AS client_id,\n MAX(p.patient_name) AS client_name,\n\ + \ MAX(p.gender) AS gender,\n MAX(\n DATE_PART ('year', age (v.date_started,\ + \ p.birthdate))\n ) AS age,\n MAX(p.birthdate) AS birthdate,\n MAX(p.id_poor)\ + \ AS id_poor,\n MAX(p.national_id) AS national_id,\n MAX(p.covid_vaccination_id)\ + \ AS covid_vaccination_id,\n MAX(p.pmrs_id) AS pmrs_id,\n MAX(p.nssf) AS nssf,\n\ + \ MAX(p.ssn) AS ssn,\n MAX(p.passport_no) AS passport_no,\n MAX(p.other_identifiers)\ + \ AS other_identifiers,\n MAX(p.province) AS province,\n MAX(p.district) AS district,\n\ + \ MAX(p.commune) AS commune,\n MAX(p.village) AS village,\n MAX(p.occupation)\ + \ AS occupation,\n MAX(p.place_of_birth) AS place_of_birth,\n MAX(p.ethnicity)\ + \ AS ethnicity,\n MAX(p.marital_status) AS marital_status,\n MAX(p.education)\ + \ AS education,\n MAX(v.date_started) AS visit_date,\n MAX(DATE (v.date_started))\ + \ AS visit_start_date,\n MAX(CAST(v.date_started AS TIME)) AS visit_start_time,\n\ + \ MAX(DATE (v.date_stopped)) AS visit_end_date,\n MAX(CAST(v.date_stopped AS TIME))\ + \ AS visit_end_time,\n MAX(v.type) AS visit_type,\n -- Referred from: Referral\ + \ Hospital / Has a referral letter ?: No / Address Zone: Zone A / Insurance Type:\ + \ HEF_Poor\n MAX(\n SUBSTRING(\n v.visit_attributes\n FROM\n \ + \ 'Insurance Type: ([^/]*)'\n )\n ) AS payment_type,\n MAX(\n SUBSTRING(\n\ + \ v.visit_attributes\n FROM\n 'Referred from: ([^/]*)'\n )\n\ + \ ) AS referred_from,\n MAX(\n SUBSTRING(\n v.visit_attributes\n \ + \ FROM\n 'Has a referral letter ?: ([^/]*)'\n )\n ) AS has_referral_letter,\n\ + \ MAX(\n SUBSTRING(\n v.visit_attributes\n FROM\n 'Address\ + \ Zone: ([^/]*)'\n )\n ) AS address_zone,\n MAX(l.state_province) AS visit_province,\n\ + \ MAX(l.county_district) AS visit_district,\n MAX(l.postal_code) AS visit_hf_code,\n\ + \ MAX(l.name) AS visit_hf_name,\n MAX(l.location_tags) AS location_tags,\n --\ + \ History Cervical Cancer Screening\n -- Is screen for cervical cancer\n MAX(\n\ + \ CASE\n WHEN o.question_uuid='75681e39-683c-4de9-9ca7-5b55b736bfa7'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS is_screen_for_css,\n -- Test type\n MAX(\n CASE\n WHEN o.question_uuid='baf42703-65ed-4ea3-9d3f-e5cf0305d2fd'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS test_type,\n -- HPV test result\n MAX(\n CASE\n WHEN o.question_uuid='d2a2849a-5b21-452c-8967-b9d31dc82b14'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hpv_test_result,\n -- VIA test result\n MAX(\n CASE\n WHEN o.question_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS via_test_result,\n -- Cytology test result\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='0c35f74a-5927-4bc6-824c-1f7876f2c932'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS cytology_test_result,\n\ + \ -- treatment\n MAX(\n CASE\n WHEN o.question_uuid='6027bf55-5288-4ace-bc7f-b75d2291f8e0'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS treatment,\n -- Sex debut\n MAX(\n CASE\n WHEN o.question_uuid='cd9d1cab-5a14-41e4-bf4b-e9425bc53958'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS sex_debut,\n -- Previous Pregnant\n MAX(\n CASE\n WHEN o.question_uuid='9186111c-9df6-467f-8479-cb950b7fb252'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS previous_pregnant,\n -- Number of pregnancies\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='b5913f28-31f5-4634-8970-316fba5f0eaf'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n ) AS number_of_pregnancies,\n\ + \ -- Number of deliveries\n MAX(\n CASE\n WHEN o.question_uuid='ac127f70-514c-4f42-aa46-a13bb0d26a79'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS number_of_deliveries,\n -- Number of miscarriages\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='e83196b4-793a-40dc-b30f-3a0ddac746bc'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n ) AS number_of_miscarriages,\n\ + \ -- Bleeding after sex\n MAX(\n CASE\n WHEN o.question_uuid='abcf6140-5cc9-42a7-86c3-60528cfc9d4e'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS bleeding_after_sex,\n -- Does patient smoke?\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='7533aa7e-04cb-4cfd-9c97-6ac36f114bab'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS smoked,\n -- Corticosteroid\ + \ use\n MAX(\n CASE\n WHEN o.question_uuid='76464977-5175-4593-9a59-82cd445c76b0'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS corticosteroid_use,\n -- Corticosteroid use duration\n MAX(\n CASE\n\ + \ WHEN o.question_uuid='e5c015db-9c06-45da-aaba-bf3fee26a4c7'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n ) AS corticosteroid_use_duration,\n\ + \ -- COC use For More Than 5 years\n MAX(\n CASE\n WHEN o.question_uuid='9e34db11-fd5c-4ccc-8595-ace8d7d98373'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS coc_use_for_more_than_5_yrs,\n -- Has multiple partners\n MAX(\n CASE\n\ + \ WHEN o.question_uuid='b6f6dc57-f3a3-4bf9-94a5-5db24d96ed1d'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS has_multiple_sex_partners,\n\ + \ -- Partner has multiple partners\n MAX(\n CASE\n WHEN o.question_uuid='194da4ae-74fd-48c0-9d25-78c70e9fb21f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS partner_has_multiple_sex_partners,\n -- Has history of STIs\n MAX(\n \ + \ CASE\n WHEN o.question_uuid='a47c165a-2c06-4b6d-b127-d1edba82604a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n \ + \ ) AS has_history_stis,\n -- History of STIs\n MAX(\n CASE\n WHEN o.question_uuid='aab5fe68-16dc-484f-b3a5-88deba3d2c72'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS history_stis,\n -- Current status of STIs\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='f6da3f1d-2b98-40a3-af57-7e30ce44ed90'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS has_current_stis,\n\ + \ -- Current STIs\n MAX(\n CASE\n WHEN o.question_uuid='aab5fe68-16dc-484f-b3a5-88deba3d2c72'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS current_stis,\n -- HIV/AIDs status\n MAX(\n CASE\n WHEN o.question_uuid='42235bf6-dac7-4d7d-b2a0-c8a33a7fb547'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS has_hiv,\n -- HIV treatment\n MAX(\n CASE\n WHEN o.question_uuid='ee809067-15e7-4c5e-9cbd-3629b034850d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hiv_treatment,\n -- Family history of Cancer\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='026e7cdb-2609-480e-ae8f-c21ca092e79a'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS family_history_cancer,\n\ + \ -- Type of Cancer\n MAX(\n CASE\n WHEN o.question_uuid='541b8a94-ff7a-474c-b5b0-8c2a2135c684'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS type_of_cancer,\n -- Vulva exam\n MAX(\n CASE\n WHEN o.question_uuid='20c37ce2-6db6-4c78-b956-79a629d6c5b6'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS vulva_exam,\n -- Vagina exam\n MAX(\n CASE\n WHEN o.question_uuid='b88d4e86-5324-4fe7-ac6a-9437f91d4988'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS vagina_exam,\n -- Cervix exam\n MAX(\n CASE\n WHEN o.question_uuid='288feadf-eb58-4b0a-9fa7-a57a2aea4dc6'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS cervix_exam,\n -- Other Physical exam\n MAX(\n CASE\n WHEN o.question_uuid='697b84b3-0a5e-4d90-9820-f5e359414cac'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS other_physical_exam,\n -- Cervix text\n MAX(\n CASE\n WHEN o.question_uuid='fc049f25-978b-4938-aaaa-cf80dafdc789'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS cervix_text,\n -- Uterus text\n MAX(\n CASE\n WHEN o.question_uuid='ad789cf7-ffb6-447c-9dbe-5b989c8e9359'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS uterus_text,\n -- Fallopian text\n MAX(\n CASE\n WHEN o.question_uuid='a617d0d6-85f7-4609-bcc1-dbb0930f471'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS fallopian_text,\n -- Vagina rectal text\n MAX(\n CASE\n WHEN o.question_uuid='f2d2e6ef-1277-4dd3-8374-396de070a858'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS vaginal_rectal_text,\n -- Vulva text\n MAX(\n CASE\n WHEN o.question_uuid='0a80e4ad-c144-4439-868b-f32b6b63816d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS vulva_text,\n -- Rectum text\n MAX(\n CASE\n WHEN o.question_uuid='57ea911d-dcfa-45a3-96f7-1d768dcc6013'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS rectum_text,\n -- Educated for CCS\n MAX(\n CASE\n WHEN o.question_uuid='4066c646-40c3-48ac-99fa-91a2f5f57e3c'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS is_educated_for_css,\n -- HPV result\n MAX(\n CASE\n WHEN o.question_uuid='b643325d-0d63-4ba0-9c0d-e1c0a1c9f3ce'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hpv_result,\n -- HPV type (If +ve)\n MAX(\n CASE\n WHEN o.question_uuid='5f27683c-e4ab-4a10-922d-e34bbb560884'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hpv_virus_type,\n -- SCJ visibility\n MAX(\n CASE\n WHEN o.question_uuid='d2ec630a-a223-492a-89f2-597266b36571'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS scj_visibility,\n -- VIA Test results\n MAX(\n CASE\n WHEN o.question_uuid='27912a31-4b1e-40d4-a3a0-947e0eb2e588'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS via_test_results,\n -- No. of quadrants\n MAX(\n CASE\n WHEN o.question_uuid='0dd61510-1ddd-49e8-838b-b4ec7fdaf95f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS number_of_quadrants,\n -- What area of ectocervix does the acetowhite area\ + \ occupy?\n MAX(\n CASE\n WHEN o.question_uuid='a84a070a-172f-43f7-96f3-67574d42ba1b'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS aceto_white_ecto_cervix,\n -- Colposcopy\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='c0027068-fe1b-4401-aad5-d70e4437362c'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS colposcopy,\n \ + \ -- Cervical Biopsy\n MAX(\n CASE\n WHEN o.question_uuid='df802805-a937-4031-928d-8ce7b69aefc7'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS cervical_biopsy,\n -- Pap Smear\n MAX(\n CASE\n WHEN o.question_uuid='863d4bf3-310d-472a-990d-8467e543ebab'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS pap_smear,\n -- CC reason for referral\n MAX(\n CASE\n WHEN o.question_uuid='c158e3b2-edf9-4e0e-9e95-d36de1a51527'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS cc_reason_for_referral,\n -- CC other reason for referral\n MAX(\n \ + \ CASE\n WHEN o.question_uuid='12f61ec2-e0b1-420d-be7b-43a95bce6e4a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n ) AS\ + \ cc_other_reason_for_referral,\n -- CC treatment options\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='1ca7d712-f7d7-4e09-8184-048bc4173902'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS cc_treatment_options,\n\ + \ -- CC Other treatment options\n MAX(\n CASE\n WHEN o.question_uuid='e6d18ff5-9d52-4e47-b2b2-762d9aa30604'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n\ + \ ) AS cc_other_treatment_options,\n -- CC appointment date\n MAX(\n CASE\n\ + \ WHEN v.visit_uuid IS NOT NULL THEN NULL\n ELSE NULL\n END\n ) AS\ + \ cc_appointment_date,\n -- CC reason for appointment\n MAX(\n CASE\n \ + \ WHEN v.visit_uuid IS NOT NULL THEN NULL\n ELSE NULL\n END\n ) AS cc_reason_for_appointment,\n\ + \ -- Educated for Breast cancer\n MAX(\n CASE\n WHEN o.question_uuid='c208aa27-9790-4dbf-84eb-2ffc321a1230'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS is_educated_for_bs,\n -- Sign of Breast cancer\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='d1fd20ef-6363-4065-98d6-f36b8f1dc27e'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS sign_of_breast,\n\ + \ -- Other breast exam details\n MAX(\n CASE\n WHEN o.question_uuid='f984b718-d674-40c4-9ac4-8d22963e1933'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS other_sign_of_breast,\n -- BC reason for referral\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='e676ab7f-13b0-4251-84fd-9874c80133b5'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS bc_reason_for_referral,\n\ + \ -- BC other reason for referral\n MAX(\n CASE\n WHEN o.question_uuid='d7e7f0b4-94c8-4bd9-a6ef-a38e1d3efcc8'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n\ + \ ) AS bc_other_reason_for_referral,\n -- BC treatment\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='ed4d2e2f-1ebf-4ab6-b4ee-6dc6d24fca12'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS bc_treatment,\n\ + \ -- BC appointment date\n MAX(\n CASE\n WHEN v.visit_uuid IS NOT NULL\ + \ THEN NULL\n ELSE NULL\n END\n ) AS bc_appointment_date,\n -- BC reason\ + \ for appointment\n MAX(\n CASE\n WHEN v.visit_uuid IS NOT NULL THEN NULL\n\ + \ ELSE NULL\n END\n ) AS bc_reason_for_appointment,\n -- Referral center\n\ + \ MAX(\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS referral_center,\n MAX(\n split_part (\n split_part (\n \ + \ (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 3\n ),\n '.',\n \ + \ 1\n )\n ) AS rf_hf_code,\n MAX(\n split_part (\n split_part (\n\ + \ (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 3\n ),\n '.',\n \ + \ 2\n )\n ) AS rf_hf_name,\n MAX(\n split_part (\n (\n CASE\n\ + \ WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n \ + \ END\n ),\n '>',\n 2\n )\n ) AS rf_hf_district,\n MAX(\n \ + \ split_part (\n (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 1\n )\n ) AS rf_hf_province\nFROM\n\ + \ visits v\n LEFT JOIN observations o ON (\n v.visit_uuid=o.visit_uuid\n \ + \ AND o.visit_uuid IS NOT NULL\n )\n LEFT JOIN locations l ON (\n l.uuid=v.location_uuid\n\ + \ AND l.uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n patient_uuid,\n\ + \ CONCAT_WS (' ', given_name, middle_name, family_name) AS patient_name,\n\ + \ gender,\n birthdate,\n -- Identifiers\n SUBSTRING(\n \ + \ identifiers\n FROM\n 'IDPoor: ([^,]*)'\n ) AS id_poor,\n\ + \ SUBSTRING(\n identifiers\n FROM\n 'OpenMRS ID: ([^,]*)'\n\ + \ ) AS openmrs_id,\n SUBSTRING(\n identifiers\n FROM\n \ + \ 'National ID: ([^,]*)'\n ) AS national_id,\n SUBSTRING(\n \ + \ identifiers\n FROM\n 'COVID vaccination ID: ([^,]*)'\n \ + \ ) AS covid_vaccination_id,\n SUBSTRING(\n identifiers\n \ + \ FROM\n 'PMRS ID: ([^,]*)'\n ) AS pmrs_id,\n SUBSTRING(\n \ + \ identifiers\n FROM\n 'NSSF: ([^,]*)'\n ) AS nssf,\n\ + \ SUBSTRING(\n identifiers\n FROM\n 'SSN: ([^,]*)'\n\ + \ ) AS ssn,\n SUBSTRING(\n identifiers\n FROM\n \ + \ 'Passport No: ([^,]*)'\n ) AS passport_no,\n COALESCE(\n REGEXP_REPLACE\ + \ (\n REGEXP_REPLACE (\n identifiers,\n '(?:OpenMRS\ + \ ID|National ID|IDPoor|PMRS ID|COVID vaccination ID): [^,]*,?\\s?',\n \ + \ '',\n 'g'\n ),\n '^, |, $',\n ''\n \ + \ ),\n NULL\n ) AS other_identifiers,\n -- Addresses\n \ + \ address_country AS country,\n address_state_province AS province,\n \ + \ address_county_district AS district,\n address_city AS commune,\n address_1\ + \ AS village,\n -- Attributes\n SUBSTRING(\n attributes\n \ + \ FROM\n 'Occupation: ([^/]*)'\n ) AS occupation,\n SUBSTRING(\n\ + \ attributes\n FROM\n 'Place of Birth: ([^/]*)'\n )\ + \ AS place_of_birth,\n SUBSTRING(\n attributes\n FROM\n \ + \ 'Ethnicity: ([^/]*)'\n ) AS ethnicity,\n SUBSTRING(\n attributes\n\ + \ FROM\n 'Marital Status: ([^/]*)'\n ) AS marital_status,\n\ + \ SUBSTRING(\n attributes\n FROM\n 'Education: ([^/]*)'\n\ + \ ) AS education\n FROM\n patients\n WHERE\n person_voided\ + \ IS FALSE\n ) p ON (p.patient_uuid=v.patient_uuid)\nWHERE\n o.obs_voided IS FALSE\n\ + \ AND v.visit_voided IS FALSE\n -- Cervical Cancer New Visit & Cervical Cancer\ + \ Follow-up Visit\n AND v.visit_type_uuid IN (\n 'cad25c07-4657-4167-8b57-8ea1a3830e9b',\n\ + \ 'd2bf1776-671d-4e0f-a850-f7fef7aa4044'\n )\n -- Health Center (HC)\n AND\ + \ l.location_tags ILIKE '%Health Center%'\nGROUP BY\n v.visit_uuid,\n p.patient_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 5457e2a2-5943-4b14-8a0e-878c7ba4bc8f +metrics: +- metric_name: count + verbose_name: null + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: treatment + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B (Treatment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: The value here is based on which test type. It can be either VIA treatment + or HPV treatment or Cytology treatment + python_date_format: null + extra: {} +- column_name: coc_use_for_more_than_5_yrs + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1794\ + \u17B6\u1793\u1794\u17D2\u179A\u17BE\u1790\u17D2\u1793\u17B6\u17C6\u1782\u17D2\ + \u179A\u17B6\u1794\u17CB\u1796\u1793\u17D2\u1799\u17B6\u179A\u1780\u17C6\u178E\ + \u17BE\u178F \u17A2\u179F\u17CB\u179A\u1799\u17C8\u1796\u17C1\u179B\u1785\u17B6\ + \u1794\u17CB\u1796\u17B8\u17E5\u1786\u17D2\u1793\u17B6\u17C6\u17A1\u17BE\u1784\ + \u178A\u17C2\u179A\u17AC\u1791\u17C1? (Has patient used combined oral contraceptives\ + \ for more than 5 years?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: via_test_result + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F \u179C\u17B8 \u17A2\u17B6\u1799 \u17A2\ + \u17C1 \u179B\u1791\u17D2\u1792\u1795\u179B (VIA Result)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: History of cervical cancer screening + python_date_format: null + extra: {} +- column_name: is_educated_for_bs + verbose_name: "\u178F\u17BE\u1794\u17B6\u1793\u17A2\u1794\u17CB\u179A\u17C6 \u1793\ + \u17B7\u1784\u1794\u1784\u17D2\u179A\u17C0\u1793\u179F\u17D2\u178F\u17D2\u179A\ + \u17B8\u17A2\u17C6\u1796\u17B8\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\ + \u17D2\u1799\u178A\u17C4\u17C7\u178A\u17C4\u1799\u1781\u17D2\u179B\u17BD\u1793\ + \u17AF\u1784\u178A\u17C2\u179A\u17AC\u1791\u17C1? (Have you been educated about\ + \ on self-breast checking?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: aceto_white_ecto_cervix + verbose_name: "\u178F\u17C6\u1794\u1793\u17CB\u1795\u17D2\u1791\u17C3\u1793\u17C3\ + \u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793\u1781\u17B6\u1784\u1780\ + \u17D2\u179A\u17C5\u1798\u17B6\u1793\u1780\u17C4\u179F\u17B7\u1780\u17B6\u1785\ + \u17B6\u1794\u17CB\u1796\u178E\u17CC\u179F (What area of ectocervix does the acetowhite\ + \ area occupy?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: hpv_virus_type + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u179C\u17B8\u179A\u17BB\u179F\ + \ HPV (\u1780\u179A\u178E\u17B8 HPV+) (HPV Type (If HPV +))" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bleeding_after_sex + verbose_name: "\u1780\u17B6\u179A\u17A0\u17BC\u179A\u1788\u17B6\u1798\u1780\u17D2\ + \u179A\u17C4\u1799\u1780\u17B6\u179A\u179A\u17BD\u1798\u1797\u17C1\u1791 (Have\ + \ patient ever had blood during/after sexual intercourse?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: partner_has_multiple_sex_partners + verbose_name: "\u178F\u17BE\u178A\u17C3\u1782\u17BC\u179A\u1794\u179F\u17CB\u17A2\ + \u17D2\u1793\u1780\u1798\u17B6\u1793\u178A\u17C3\u1782\u17BC\u179A\u17BD\u1798\ + \u1797\u17C1\u1791\u1785\u17D2\u179A\u17BE\u1793\u17AC\u1791\u17C1? (Does patient's\ + \ partner have many sexual partners?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_reason_for_referral + verbose_name: "\u1780\u17B6\u179A\u1794\u1789\u17D2\u1787\u17BC\u1793\u1794\u1789\ + \u17D2\u17A0\u17B6\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793: \u1798\ + \u17BC\u179B\u17A0\u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\u179A\u1794\u1789\ + \u17D2\u1787\u17BC\u1793 (Cervix Problem Referral: Reason of refer)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_reason_for_referral + verbose_name: "\u1780\u17B6\u179A\u1794\u1789\u17D2\u1787\u17BC\u1793\u1794\u1789\ + \u17D2\u17A0\u17B6\u178A\u17C4\u17C7 \u1798\u17BC\u179B\u17A0\u17C1\u178F\u17BB\ + \u1793\u17C3\u1780\u17B6\u179A\u1794\u1789\u17D2\u1787\u17BC\u1793 (Breast Problem\ + \ Referral: Reason of refer)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: is_screen_for_css + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1792\u17D2\u179B\u17B6\u1794\ + \u17CB\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179F\u17BB\u1781\u1797\u17B6\ + \u1796\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793\u179A\u1780\u1798\ + \u17A0\u17B6\u179A\u17B8\u1780? (Have you ever screened for cervical cancer?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: via_test_results + verbose_name: "\u179B\u1791\u17D2\u1792\u1795\u179B \u178F\u17C1\u179F\u17D2\u178F\ + \ \u179C\u17B8 \u17A2\u17B6\u1799 \u17A2\u17C1 (VIA test results)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: corticosteroid_use + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1794\ + \u17D2\u179A\u17BE\u1796\u1796\u17BD\u1780\u1790\u17D2\u1793\u17B6\u17C6\u1782\ + \u17D0\u179A\u1791\u17B8\u1780\u17BC\u17A2\u17CA\u17B8\u178A (corticosteroids)\ + \ \u178A\u17C2\u179A\u17AC\u1791\u17C1? (Does patient use corticosteroids?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_reason_for_appointment + verbose_name: "\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794\u1796\ + \u17B8\u1794\u1789\u17D2\u17A0\u17B6\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\ + \u17BC\u1793: \u1798\u17BC\u179B\u17A0\u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\ + \u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794 (Cervical Appointment: Reason\ + \ for Appointment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_appointment_date + verbose_name: "\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794\u1796\ + \u17B8\u1794\u1789\u17D2\u17A0\u17B6\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\ + \u17BC\u1793: \u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794 (Cervical Appointment: Appointment\ + \ date)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_reason_for_appointment + verbose_name: "\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794\u1796\ + \u17B8\u1794\u1789\u17D2\u17A0\u17B6\u178A\u17C4\u17C7 \u1798\u17BC\u179B\u17A0\ + \u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\ + \u17BD\u1794 (Breast Appointment: Reason of Appointment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: has_multiple_sex_partners + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1798\u17B6\u1793\u178A\u17C3\ + \u1782\u17BC\u179A\u17BD\u1798\u1797\u17C1\u1791\u1785\u17D2\u179A\u17BE\u1793\ + \u17AC\u1791\u17C1? (Does patient have many sexual partners?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: hpv_test_result + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F \u17A2\u17C1\u1785 \u1797\u17B8 \u179C\ + \u17B8 \u179B\u1791\u17D2\u1792\u1795\u179B (HPV Result)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: hpv_result + verbose_name: "\u179B\u1791\u17D2\u1792\u1795\u179B \u178F\u17C1\u179F\u17D2\u178F\ + \ \u17A2\u17C1\u1785 \u1797\u17B8 \u179C\u17B8 (HPV result)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: number_of_quadrants + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793 quadrants \u178A\u17C2\u179B\u1796\ + \u17B6\u1780\u17CB\u1796\u17D0\u1793\u17D2\u1792 (Number of quadrants involved)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: corticosteroid_use_duration + verbose_name: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u1793\u17C3\u1780\u17B6\u179A\ + \u1794\u17D2\u179A\u17BE\u1790\u17D2\u1793\u17B6\u17C6\u1796\u1796\u17BD\u1780\ + \u1782\u17D0\u179A\u1791\u17B8\u1780\u17BC\u17A2\u17CA\u17B8\u178A (\u1782\u17B7\ + \u178F\u1787\u17B6\u1786\u17D2\u1793\u17B6\u17C6) (Corticosteroids use duration\ + \ (Year(s)))" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: current_stis + verbose_name: "\u1787\u17C6\u1784\u17BA\u1780\u17B6\u1798\u179A\u17C4\u1782 (Current\ + \ Sexually transmitted infection(s)) " + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_appointment_date + verbose_name: "\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794\u1796\ + \u17B8\u1794\u1789\u17D2\u17A0\u17B6\u178A\u17C4\u17C7 \u1780\u17B6\u179B\u1794\ + \u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\u178E\u17B6\u178F\u17CB\u1787\u17BD\ + \u1794 (Breat Appointment: Appointment date)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: previous_pregnant + verbose_name: "\u178F\u17BE\u179F\u17D2\u178F\u17D2\u179A\u17B8\u1798\u17B6\u1793\ + \u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7\u1796\u17B8\u1798\u17BB\u1793\u1791\ + \u17C1? (Has patient been pregnant before?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: birthdate + verbose_name: "\u1790\u17D2\u1784\u17C3 \u1781\u17C2 \u1786\u17D2\u1793\u17B6\u17C6\ + \u1780\u17C6\u178E\u17BE\u178F (Date of Birth)" + is_dttm: true + is_active: true + type: DATE + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: sex_debut + verbose_name: "\u17A2\u17B6\u1799\u17BB\u1793\u17C3\u1780\u17B6\u179A\u179A\u17BD\ + \u1798\u1797\u17C1\u1791\u179B\u17BE\u1780\u178A\u17C6\u1794\u17BC\u1784 (Age\ + \ of First Sexual Intercourse)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: vaginal_rectal_text + verbose_name: "\u1791\u17D2\u179C\u17B6\u179A\u1798\u17B6\u179F \u1793\u17B7\u1784\ + \u179A\u1793\u17D2\u1792\u179B\u17B6\u1798\u1780 (Vaginal and rectum exam)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_end_time + verbose_name: "\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u1794\u1789\u17D2\u1785\ + \u1794\u17CB\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1787\ + \u17C6\u1784\u17BA (End Time)" + is_dttm: true + is_active: true + type: TIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Visit's end time + python_date_format: null + extra: {} +- column_name: visit_start_time_text + verbose_name: "\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u1785\u17B6\u1794\u17CB\ + \u1795\u17D2\u178F\u17BE\u1798\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1787\ + \u17C6\u1784\u17BA (Start Time)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: visit_start_time + description: Visit's Start Time + python_date_format: null + extra: {} +- column_name: has_current_stis + verbose_name: "\u1794\u17B6\u1793\u1786\u17D2\u179B\u1784\u1787\u17C6\u1784\u17BA\ + \u1780\u17B6\u1798\u179A\u17C4\u1782\u1780\u17D2\u1793\u17BB\u1784\u1796\u17C1\ + \u179B\u1790\u17D2\u1798\u17B8\u17D7\u1793\u17C1\u17C7 (Currently contracted with\ + \ STI(s))" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: history_stis + verbose_name: "\u1787\u17C6\u1784\u17BA\u1780\u17B6\u1798\u179A\u17C4\u1782 (Sexually\ + \ transmitted infection(s)) " + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: has_hiv + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1798\u17B6\u1793\u1795\u17D2\ + \u1791\u17BB\u1780\u1798\u17C1\u179A\u17C4\u1782\u17A2\u17C1\u178A\u179F\u17CD\ + /\u1787\u17C6\u1784\u17BA\u17A2\u17C1\u178A\u179F\u17CD\u178A\u17C2\u179A\u17AC\ + \u1791\u17C1? (Does patient have HIV/AIDS?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: smoked + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1787\ + \u1780\u17CB\u1794\u17B6\u179A\u17B8\u1791\u17C1? (Does the patient smoke?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: has_referral_letter + verbose_name: "\u179B\u17B7\u1781\u17B7\u178F\u1794\u1789\u17D2\u1787\u17BC\u1793\ + \ (Has a referral letter?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: number_of_deliveries + verbose_name: " \u1785\u17C6\u1793\u17BD\u1793\u178A\u1784\u1793\u17C3\u1780\u17B6\ + \u179A\u179F\u1798\u17D2\u179A\u17B6\u179B\u1780\u17BC\u1793 (Number of Deliveries)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: number_of_miscarriages + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u178A\u1784\u1793\u17C3\u1780\u17B6\ + \u179A\u179A\u179B\u17BC\u178F \u1793\u17B7\u1784\u179A\u17C6\u179B\u17BC\u178F\ + \u1780\u17BC\u1793 (Number of miscarriages)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: scj_visibility + verbose_name: "\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1781\u17D2\u179F\u17C2\ + \ SCJ (Visibility of SCJ)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cytology_test_result + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F\u1782\u17C6\u1793\u17C0\u179A\u1798\ + \u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 \u179B\u1791\u17D2\u1792\u1795\ + \u179B (Cytology Test Result)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: is_educated_for_css + verbose_name: "\u1780\u17B6\u179A\u17A2\u1794\u17CB\u179A\u17C6\u179F\u17BB\u1781\ + \u1797\u17B6\u1796\u17A2\u17C6\u1796\u17B8\u1787\u17C6\u1784\u17BA\u1798\u17A0\ + \u17B6\u179A\u17B8\u1780\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793\ + \ (Cervical cancer health education)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_treatment_options + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1798\ + \u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Cervical cancer treatment options)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: family_history_cancer + verbose_name: "\u1794\u17D2\u179A\u179C\u178F\u17D2\u178F\u17B7\u1782\u17D2\u179A\ + \u17BD\u179F\u17B6\u179A\u1791\u17B6\u1780\u17CB\u1791\u1784\u1793\u17B9\u1784\ + \u1787\u17C6\u1784\u17BA\u1798\u17A0\u17B6\u179A\u17B8\u1780 (Family history of\ + \ cancer)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: test_type + verbose_name: History of CSS Test Type + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_code + verbose_name: "\u179B\u17C1\u1781\u1780\u17BC\u178A\u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (Referral\ + \ HF's Code)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17C7\u1798\u17BC\u179B\u178A\u17D2\u178B\ + \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (Referral HF's\ + \ Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: has_history_stis + verbose_name: "\u1794\u17D2\u179A\u179C\u178F\u17D2\u178F\u17B7\u1791\u17B6\u1780\ + \u17CB\u1791\u1784\u1793\u17B9\u1784\u1787\u17C6\u1784\u17BA\u1780\u17B6\u1798\ + \u179A\u17C4\u1782 (History of STI(s))" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: number_of_pregnancies + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u178A\u1784\u1793\u17C3\u1780\u17B6\ + \u179A\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7 (Number of\ + \ Pregnancies)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: place_of_birth + verbose_name: "\u1791\u17B8\u1780\u1793\u17D2\u179B\u17C2\u1784\u1780\u17C6\u178E\ + \u17BE\u178F (Place of Birth)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_treatment + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u178A\ + \u17C4\u17C7 (Breast cancer treatment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: pmrs_id + verbose_name: "\u179B\u17C1\u1781\u179F\u1798\u17D2\u1782\u17B6\u179B\u17CB PMRS\ + \ (PMRS ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: other_physical_exam + verbose_name: "\u1795\u17D2\u179F\u17C1\u1784\u1791\u17C0\u178F (Other physical\ + \ examinations)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: sign_of_breast + verbose_name: "\u179F\u1789\u17D2\u1789\u17B6\u178E\u1794\u1789\u17D2\u17A0\u17B6\ + \u179A\u1794\u179F\u17CB\u178A\u17C4\u17C7 (Sign of breast)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: type_of_cancer + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1793\u17C3\u1787\u17C6\u1784\ + \u17BA\u1798\u17A0\u17B6\u179A\u17B8\u1780 (Type of cancer)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_end_date + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1794\u1789\u17D2\u1785\u1794\u17CB\u1793\u17C3\u1780\u17B6\u179A\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799 (End Visit EndDate)" + is_dttm: true + is_active: true + type: DATE + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: covid_vaccination_id + verbose_name: "\u179C\u17C9\u17B6\u1780\u17CB\u179F\u17B6\u17C6\u1784\u1780\u17BC\ + \u179C\u17B8\u178F\u17E1\u17E9 (Covid Vaccination ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_province + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F/\u1780\u17D2\u179A\u17BB\u1784 (Province/city)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Visit's province + python_date_format: null + extra: {} +- column_name: visit_district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\ + \u178F\u17D2\u178F\u17B7 (OD)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Visit's district + python_date_format: null + extra: {} +- column_name: province + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Patient's province + python_date_format: null + extra: {} +- column_name: visit_hf_code + verbose_name: "\u179B\u17C1\u1781\u1780\u17BC\u178A\u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (HF's\ + \ Code)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: client_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17A2\u178F\u17B7\u1790\u17B7\u1787\u1793\ + \ (Client's Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_hf_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17C7\u1798\u17BC\u179B\u178A\u17D2\u178B\ + \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (HF's Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: hiv_treatment + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1798\ + \u17C1\u179A\u17C4\u1782\u17A2\u17C1\u178A\u179F\u17CD/\u1787\u17C6\u1784\u17BA\ + \u17A2\u17C1\u178A\u179F\u17CD (HIV/AIDS treatment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_province + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F/\u1780\u17D2\u179A\u17BB\u1784 (Referral\ + \ Province/City)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cervix_exam + verbose_name: "\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793/\u1780\u179F\ + \u17D2\u1794\u17BC\u1793 (Cervix examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_start_date + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u1796\u17B7\u1793\u17B7\ + \u178F\u17D2\u1799\u1787\u17C6\u1784\u17BA (Start Date)" + is_dttm: true + is_active: true + type: DATE + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: address_zone + verbose_name: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u178F\u17C6\ + \u1794\u1793\u17CB (Address zone)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: client_id + verbose_name: "\u179B\u17C1\u1781\u179F\u1798\u17D2\u1782\u17B6\u179B\u17CB\u17A2\ + \u178F\u17B7\u1790\u17B7\u1787\u1793 (Client ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cervical_biopsy + verbose_name: "\u1785\u17D2\u179A\u17B9\u1794\u179F\u17B6\u1785\u17CB\u1798\u17B6\ + \u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Cervical biopsy)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: national_id + verbose_name: "\u179B\u17C1\u1781\u17A2\u178F\u17D2\u178F\u179F\u1789\u17D2\u1789\ + \u17B6\u178E\u1794\u178E\u17D2\u178E\u1787\u17B6\u178F\u17B7 (National ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: id_poor + verbose_name: "\u179B\u17C1\u1781\u1794\u178E\u17D2\u178E\u1780\u17D2\u179A\u17B8\ + \u1780\u17D2\u179A (ID Poor)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\ + \u178F\u17D2\u178F\u17B7 (Referral OD)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_start_time + verbose_name: "\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u1785\u17B6\u1794\u17CB\ + \u1795\u17D2\u178F\u17BE\u1798\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1787\ + \u17C6\u1784\u17BA (Start Time)" + is_dttm: true + is_active: true + type: TIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: fallopian_text + verbose_name: "\u178A\u17C3\u179F\u17D2\u1794\u17BC\u1793 (Fallopian tube)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: other_identifiers + verbose_name: "\u1795\u17D2\u179F\u17C1\u1784\u17D7 (Other Identifiers)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: marital_status + verbose_name: "\u179F\u17D2\u1790\u17B6\u1793\u1797\u17B6\u1796\u1782\u17D2\u179A\ + \u17BD\u179F\u17B6\u179A (Marital status)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: passport_no + verbose_name: "\u179B\u17C1\u1781\u179B\u17B7\u1781\u17B7\u178F\u1786\u17D2\u179B\ + \u1784\u178A\u17C2\u1793 (Passport No)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: pap_smear + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F\u1782\u17C6\u1793\u17C0\u179A\u1798\ + \u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Pap Smear)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: payment_type + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1780\u17B6\u179A\u1785\u17C6\ + \u178E\u17B6\u1799 (Payment Type)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: referred_from + verbose_name: "\u1794\u1789\u17D2\u1787\u17BC\u1793\u1798\u1780\u1796\u17B8 (Referred\ + \ from)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: vagina_exam + verbose_name: "\u1791\u17D2\u179C\u17B6\u179A\u1798\u17B6\u179F (Vagina examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: vulva_exam + verbose_name: "\u1799\u17C4\u1793\u17B8 (Vulva examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cervix_text + verbose_name: "\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793/\u1780\u179F\ + \u17D2\u1794\u17BC\u1793 (Cervix)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: "\u17A2\u17B6\u1799\u17BB (Age)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: colposcopy + verbose_name: "\u1780\u17B6\u179A\u1790\u178F\u1786\u17D2\u179B\u17BB\u17C7\u1798\ + \u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Colposcopy)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: commune + verbose_name: "\u1783\u17BB\u17C6 (Commune)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780 (District)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: education + verbose_name: "\u1780\u1798\u17D2\u179A\u17B7\u178F\u179C\u1794\u17D2\u1794\u1792\ + \u1798\u17CC (Education)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: ethnicity + verbose_name: "\u1787\u1793\u1787\u17B6\u178F\u17B7 (Ethnicity)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: nssf + verbose_name: "\u1794\u17C1\u17A1\u17B6\u1787\u17B6\u178F\u17B7\u179F\u1793\u17D2\ + \u178F\u17B7\u179F\u17BB\u1781\u179F\u1784\u17D2\u1782\u1798 (NSSF)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: "\u1797\u17C1\u1791 (Gender)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: ssn + verbose_name: "\u179B\u17C1\u1781\u179F\u1798\u17D2\u1782\u17B6\u179B\u17CB\u179F\ + \u1793\u17D2\u178F\u17B7\u179F\u17BB\u1781\u179F\u1784\u17D2\u1782\u1798 (SSN)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: occupation + verbose_name: "\u1798\u17BB\u1781\u179A\u1794\u179A (Occupation)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rectum_text + verbose_name: "\u1785\u17BB\u1784\u1796\u17C4\u17C7\u179C\u17C0\u1793\u1792\u17C6\ + \ (Rectum)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: uterus_text + verbose_name: "\u178F\u17BD\u179F\u17D2\u1794\u17BC\u1793 (Uterus)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: vulva_text + verbose_name: "\u1799\u17C4\u1793\u17B8 (Vulva)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: village + verbose_name: "\u1797\u17BC\u1798\u17B7 (Village)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_date + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_other_reason_for_referral + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_other_reason_for_referral + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: other_sign_of_breast + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_other_treatment_options + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: location_tags + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: referral_center + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 From 6ca04c0c1c94e1f6cfb8320fa5b8dff2ad17c43b Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 17 Jun 2024 18:04:16 +0300 Subject: [PATCH 03/20] KH-526: Add CCS report on RH Raw Data --- .../assets/charts/ccs_rh_raw_data_chart.yaml | 134 ++ .../dashboards/ccs_rh_raw_data_dashboard.yaml | 182 ++ .../PostgreSQL/ccs_rh_raw_data_dataset.yaml | 1601 +++++++++++++++++ 3 files changed, 1917 insertions(+) create mode 100644 base/configs/superset/assets/charts/ccs_rh_raw_data_chart.yaml create mode 100644 base/configs/superset/assets/dashboards/ccs_rh_raw_data_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/ccs_rh_raw_data_dataset.yaml diff --git a/base/configs/superset/assets/charts/ccs_rh_raw_data_chart.yaml b/base/configs/superset/assets/charts/ccs_rh_raw_data_chart.yaml new file mode 100644 index 00000000..0fb58aa1 --- /dev/null +++ b/base/configs/superset/assets/charts/ccs_rh_raw_data_chart.yaml @@ -0,0 +1,134 @@ +slice_name: Cervical Cancer Screening RH Raw Data +description: null +certified_by: null +certification_details: null +viz_type: table +params: + datasource: 13__table + viz_type: table + slice_id: 31 + granularity_sqla: visit_date + time_grain_sqla: P1D + time_range: Last year + query_mode: raw + groupby: [] + all_columns: + - client_id + - client_name + - gender + - age + - birthdate + - id_poor + - national_id + - covid_vacination_id + - pmrs_id + - nssf + - ssn + - passport_no + - other_identifiers + - province + - district + - commune + - village + - occupation + - place_of_birth + - ethnicity + - marital_status + - education + - visit_start_date + - visit_start_time + - vist_end_date + - visit_end_time + - payment_type + - referred_from + - has_referral_letter + - address_zone + - visit_province + - visit_district + - visit_hf_code + - visit_hf_name + - is_screen_for_css + - test_type + - hpv_test_result + - via_test_result + - cytology_test_result + - treatment + - sex_debut + - previous_pregnant + - number_of_pregnancies + - number_of_deliveries + - number_of_miscarriages + - bleeding_after_sex + - smoked + - corticosteroid_use + - corticosteroid_use_duration + - coc_use_for_more_than_5_yrs + - has_multiple_sex_partners + - partner_has_multiple_sex_partners + - has_history_stis + - history_stis + - has_current_stis + - current_stis + - has_hiv + - hiv_treatment + - family_history_cancer + - type_of_cancer + - vulva_exam + - vagina_exam + - cervix_exam + - other_physical_exam + - cervix_text + - uterus_text + - fallopian_text + - vaginal_rectal_text + - vulva_text + - rectum_text + - is_educated_for_css + - hpv_result + - hpv_virus_type + - scj_visibility + - via_test_results + - number_of_quadrants + - aceto_white_ecto_cervix + - colposcopy + - cervical_biopsy + - pap_smear + - cc_reason_for_referral + - cc_treatment_options + - cc_appointment_date + - cc_reason_for_appointment + - is_educated_for_bs + - sign_of_breast + - bc_reason_for_referral + - bc_treatment + - bc_appointment_date + - bc_reason_for_appointment + - rf_hf_code + - rf_hf_name + - rf_hf_district + - rf_hf_province + percent_metrics: [] + adhoc_filters: [] + order_by_cols: + - '["visit_date", false]' + server_pagination: false + row_limit: 10000 + server_page_length: 10 + order_desc: true + table_timestamp_format: smart_date + page_length: 200 + show_cell_bars: false + color_pn: true + allow_rearrange_columns: true + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 9 +query_context: '{"datasource":{"id":13,"type":"table"},"force":false,"queries":[{"time_range":"Last + year","granularity":"visit_date","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["client_id","client_name","gender","age","birthdate","id_poor","national_id","covid_vacination_id","pmrs_id","nssf","ssn","passport_no","other_identifiers","province","district","commune","village","occupation","place_of_birth","ethnicity","marital_status","education","visit_start_date","visit_start_time","vist_end_date","visit_end_time","payment_type","referred_from","has_referral_letter","address_zone","visit_province","visit_district","visit_hf_code","visit_hf_name","is_screen_for_css","test_type","hpv_test_result","via_test_result","cytology_test_result","treatment","sex_debut","previous_pregnant","number_of_pregnancies","number_of_deliveries","number_of_miscarriages","bleeding_after_sex","smoked","corticosteroid_use","corticosteroid_use_duration","coc_use_for_more_than_5_yrs","has_multiple_sex_partners","partner_has_multiple_sex_partners","has_history_stis","history_stis","has_current_stis","current_stis","has_hiv","hiv_treatment","family_history_cancer","type_of_cancer","vulva_exam","vagina_exam","cervix_exam","other_physical_exam","cervix_text","uterus_text","fallopian_text","vaginal_rectal_text","vulva_text","rectum_text","is_educated_for_css","hpv_result","hpv_virus_type","scj_visibility","via_test_results","number_of_quadrants","aceto_white_ecto_cervix","colposcopy","cervical_biopsy","pap_smear","cc_reason_for_referral","cc_treatment_options","cc_appointment_date","cc_reason_for_appointment","is_educated_for_bs","sign_of_breast","bc_reason_for_referral","bc_treatment","bc_appointment_date","bc_reason_for_appointment","rf_hf_code","rf_hf_name","rf_hf_district","rf_hf_province"],"orderby":[["visit_date",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"13__table","viz_type":"table","slice_id":31,"granularity_sqla":"visit_date","time_grain_sqla":"P1D","time_range":"Last + year","query_mode":"raw","groupby":[],"all_columns":["client_id","client_name","gender","age","birthdate","id_poor","national_id","covid_vacination_id","pmrs_id","nssf","ssn","passport_no","other_identifiers","province","district","commune","village","occupation","place_of_birth","ethnicity","marital_status","education","visit_start_date","visit_start_time","vist_end_date","visit_end_time","payment_type","referred_from","has_referral_letter","address_zone","visit_province","visit_district","visit_hf_code","visit_hf_name","is_screen_for_css","test_type","hpv_test_result","via_test_result","cytology_test_result","treatment","sex_debut","previous_pregnant","number_of_pregnancies","number_of_deliveries","number_of_miscarriages","bleeding_after_sex","smoked","corticosteroid_use","corticosteroid_use_duration","coc_use_for_more_than_5_yrs","has_multiple_sex_partners","partner_has_multiple_sex_partners","has_history_stis","history_stis","has_current_stis","current_stis","has_hiv","hiv_treatment","family_history_cancer","type_of_cancer","vulva_exam","vagina_exam","cervix_exam","other_physical_exam","cervix_text","uterus_text","fallopian_text","vaginal_rectal_text","vulva_text","rectum_text","is_educated_for_css","hpv_result","hpv_virus_type","scj_visibility","via_test_results","number_of_quadrants","aceto_white_ecto_cervix","colposcopy","cervical_biopsy","pap_smear","cc_reason_for_referral","cc_treatment_options","cc_appointment_date","cc_reason_for_appointment","is_educated_for_bs","sign_of_breast","bc_reason_for_referral","bc_treatment","bc_appointment_date","bc_reason_for_appointment","rf_hf_code","rf_hf_name","rf_hf_district","rf_hf_province"],"percent_metrics":[],"adhoc_filters":[],"order_by_cols":["[\"visit_date\", + false]"],"server_pagination":false,"row_limit":10000,"server_page_length":10,"include_time":false,"order_desc":true,"table_timestamp_format":"smart_date","page_length":200,"show_cell_bars":false,"color_pn":true,"allow_rearrange_columns":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[9],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: bd742ed6-04eb-4a99-bdee-fd11809efa9d +version: 1.0.0 +dataset_uuid: 2a5e581b-ad24-4018-8c33-4a5b33b3eb02 diff --git a/base/configs/superset/assets/dashboards/ccs_rh_raw_data_dashboard.yaml b/base/configs/superset/assets/dashboards/ccs_rh_raw_data_dashboard.yaml new file mode 100644 index 00000000..7c8d0d5e --- /dev/null +++ b/base/configs/superset/assets/dashboards/ccs_rh_raw_data_dashboard.yaml @@ -0,0 +1,182 @@ +dashboard_title: Cervical Cancer Screening RH Raw Data +description: null +css: '' +slug: ccs-rh-raw-data +uuid: 80f09cd1-7f95-4e68-8633-39f50bd5b4be +position: + CHART-explore-31-1: + children: [] + id: CHART-explore-31-1 + meta: + chartId: 31 + height: 102 + sliceName: Cervical Cancer Screening RH Raw Data + sliceNameOverride: Cervical Cancer Screening RH Raw Data + uuid: bd742ed6-04eb-4a99-bdee-fd11809efa9d + width: 12 + parents: + - ROOT_ID + - GRID_ID + - ROW-FBkhnGsLdw + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-FBkhnGsLdw + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: Cervical Cancer Screening RH Raw Data + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-FBkhnGsLdw: + children: + - CHART-explore-31-1 + id: ROW-FBkhnGsLdw + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-PD0hPBsQB + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: visit_province + datasetUuid: 2a5e581b-ad24-4018-8c33-4a5b33b3eb02 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 31 + tabsInScope: [] + - id: NATIVE_FILTER-hDeXIpbUX + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: visit_district + datasetUuid: 2a5e581b-ad24-4018-8c33-4a5b33b3eb02 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-PD0hPBsQB + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 31 + tabsInScope: [] + - id: NATIVE_FILTER-wYk1RROkY + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: visit_hf_name + datasetUuid: 2a5e581b-ad24-4018-8c33-4a5b33b3eb02 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-PD0hPBsQB + - NATIVE_FILTER-hDeXIpbUX + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 31 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-VgQCSoq11 + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + chartsInScope: [] + tabsInScope: [] + - id: NATIVE_FILTER-lERYHXfKD + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 31 + tabsInScope: [] + shared_label_colors: {} + color_scheme_domain: [] +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ccs_rh_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/ccs_rh_raw_data_dataset.yaml new file mode 100644 index 00000000..ecb87422 --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/ccs_rh_raw_data_dataset.yaml @@ -0,0 +1,1601 @@ +table_name: Cervical Cancer Screening RH Raw Data +main_dttm_col: null +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n MAX(p.openmrs_id) AS client_id,\n MAX(p.patient_name) AS client_name,\n\ + \ MAX(p.gender) AS gender,\n MAX(\n DATE_PART ('year', age (v.date_started,\ + \ p.birthdate))\n ) AS age,\n MAX(p.birthdate) AS birthdate,\n MAX(p.id_poor)\ + \ AS id_poor,\n MAX(p.national_id) AS national_id,\n MAX(p.covid_vacination_id)\ + \ AS covid_vacination_id,\n MAX(p.pmrs_id) AS pmrs_id,\n MAX(p.nssf) AS nssf,\n\ + \ MAX(p.ssn) AS ssn,\n MAX(p.passport_no) AS passport_no,\n MAX(p.other_identifiers)\ + \ AS other_identifiers,\n MAX(p.province) AS province,\n MAX(p.district) AS district,\n\ + \ MAX(p.commune) AS commune,\n MAX(p.village) AS village,\n MAX(p.occupation)\ + \ AS occupation,\n MAX(p.place_of_birth) AS place_of_birth,\n MAX(p.ethnicity)\ + \ AS ethnicity,\n MAX(p.marital_status) AS marital_status,\n MAX(p.education)\ + \ AS education,\n MAX(v.date_started) AS visit_date,\n MAX(DATE (v.date_started))\ + \ AS visit_start_date,\n MAX(CAST(v.date_started AS TIME)) AS visit_start_time,\n\ + \ MAX(DATE (v.date_stopped)) AS vist_end_date,\n MAX(CAST(v.date_stopped AS TIME))\ + \ AS visit_end_time,\n MAX(v.type) AS visit_type,\n -- Referred from: Referral\ + \ Hospital / Has a referral letter ?: No / Address Zone: Zone A / Insurance Type:\ + \ HEF_Poor\n MAX(\n SUBSTRING(\n v.visit_attributes\n FROM\n \ + \ 'Insurance Type: ([^/]*)'\n )\n ) AS payment_type,\n MAX(\n SUBSTRING(\n\ + \ v.visit_attributes\n FROM\n 'Referred from: ([^/]*)'\n )\n\ + \ ) AS referred_from,\n MAX(\n SUBSTRING(\n v.visit_attributes\n \ + \ FROM\n 'Has a referral letter ?: ([^/]*)'\n )\n ) AS has_referral_letter,\n\ + \ MAX(\n SUBSTRING(\n v.visit_attributes\n FROM\n 'Address\ + \ Zone: ([^/]*)'\n )\n ) AS address_zone,\n MAX(l.state_province) AS visit_province,\n\ + \ MAX(l.county_district) AS visit_district,\n MAX(l.postal_code) AS visit_hf_code,\n\ + \ MAX(l.name) AS visit_hf_name,\n MAX(l.location_tags) AS location_tags,\n --\ + \ History Cervical Cancer Screening\n -- Is screen for cervical cancer\n MAX(\n\ + \ CASE\n WHEN o.question_uuid='75681e39-683c-4de9-9ca7-5b55b736bfa7'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS is_screen_for_css,\n -- Test type\n MAX(\n CASE\n WHEN o.question_uuid='baf42703-65ed-4ea3-9d3f-e5cf0305d2fd'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS test_type,\n -- HPV test result\n MAX(\n CASE\n WHEN o.question_uuid='d2a2849a-5b21-452c-8967-b9d31dc82b14'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hpv_test_result,\n -- VIA test result\n MAX(\n CASE\n WHEN o.question_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS via_test_result,\n -- Cytology test result\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='0c35f74a-5927-4bc6-824c-1f7876f2c932'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS cytology_test_result,\n\ + \ -- treatment\n MAX(\n CASE\n WHEN o.question_uuid='6027bf55-5288-4ace-bc7f-b75d2291f8e0'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS treatment,\n -- Sex debut\n MAX(\n CASE\n WHEN o.question_uuid='cd9d1cab-5a14-41e4-bf4b-e9425bc53958'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS sex_debut,\n -- Previous Pregnant\n MAX(\n CASE\n WHEN o.question_uuid='9186111c-9df6-467f-8479-cb950b7fb252'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS previous_pregnant,\n -- Number of pregnancies\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='b5913f28-31f5-4634-8970-316fba5f0eaf'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n ) AS number_of_pregnancies,\n\ + \ -- Number of deliveries\n MAX(\n CASE\n WHEN o.question_uuid='ac127f70-514c-4f42-aa46-a13bb0d26a79'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS number_of_deliveries,\n -- Number of miscarriages\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='e83196b4-793a-40dc-b30f-3a0ddac746bc'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n ) AS number_of_miscarriages,\n\ + \ -- Bleeding after sex\n MAX(\n CASE\n WHEN o.question_uuid='abcf6140-5cc9-42a7-86c3-60528cfc9d4e'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS bleeding_after_sex,\n -- Does patient smoke?\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='7533aa7e-04cb-4cfd-9c97-6ac36f114bab'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS smoked,\n -- Corticosteroid\ + \ use\n MAX(\n CASE\n WHEN o.question_uuid='76464977-5175-4593-9a59-82cd445c76b0'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS corticosteroid_use,\n -- Corticosteroid use duration\n MAX(\n CASE\n\ + \ WHEN o.question_uuid='e5c015db-9c06-45da-aaba-bf3fee26a4c7'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n ) AS corticosteroid_use_duration,\n\ + \ -- COC use For More Than 5 years\n MAX(\n CASE\n WHEN o.question_uuid='9e34db11-fd5c-4ccc-8595-ace8d7d98373'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS coc_use_for_more_than_5_yrs,\n -- Has multiple partners\n MAX(\n CASE\n\ + \ WHEN o.question_uuid='b6f6dc57-f3a3-4bf9-94a5-5db24d96ed1d'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS has_multiple_sex_partners,\n\ + \ -- Partner has multiple partners\n MAX(\n CASE\n WHEN o.question_uuid='194da4ae-74fd-48c0-9d25-78c70e9fb21f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS partner_has_multiple_sex_partners,\n -- Has history of STIs\n MAX(\n \ + \ CASE\n WHEN o.question_uuid='a47c165a-2c06-4b6d-b127-d1edba82604a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n \ + \ ) AS has_history_stis,\n -- History of STIs\n MAX(\n CASE\n WHEN o.question_uuid='aab5fe68-16dc-484f-b3a5-88deba3d2c72'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS history_stis,\n -- Current status of STIs\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='f6da3f1d-2b98-40a3-af57-7e30ce44ed90'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS has_current_stis,\n\ + \ -- Current STIs\n MAX(\n CASE\n WHEN o.question_uuid='aab5fe68-16dc-484f-b3a5-88deba3d2c72'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS current_stis,\n -- HIV/AIDs status\n MAX(\n CASE\n WHEN o.question_uuid='42235bf6-dac7-4d7d-b2a0-c8a33a7fb547'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS has_hiv,\n -- HIV treatment\n MAX(\n CASE\n WHEN o.question_uuid='ee809067-15e7-4c5e-9cbd-3629b034850d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hiv_treatment,\n -- Family history of Cancer\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='026e7cdb-2609-480e-ae8f-c21ca092e79a'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS family_history_cancer,\n\ + \ -- Type of Cancer\n MAX(\n CASE\n WHEN o.question_uuid='541b8a94-ff7a-474c-b5b0-8c2a2135c684'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS type_of_cancer,\n -- Vulva exam\n MAX(\n CASE\n WHEN o.question_uuid='20c37ce2-6db6-4c78-b956-79a629d6c5b6'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS vulva_exam,\n -- Vagina exam\n MAX(\n CASE\n WHEN o.question_uuid='b88d4e86-5324-4fe7-ac6a-9437f91d4988'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS vagina_exam,\n -- Cervix exam\n MAX(\n CASE\n WHEN o.question_uuid='288feadf-eb58-4b0a-9fa7-a57a2aea4dc6'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS cervix_exam,\n -- Other Physical exam\n MAX(\n CASE\n WHEN o.question_uuid='697b84b3-0a5e-4d90-9820-f5e359414cac'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS other_physical_exam,\n -- Cervix text\n MAX(\n CASE\n WHEN o.question_uuid='fc049f25-978b-4938-aaaa-cf80dafdc789'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS cervix_text,\n -- Uterus text\n MAX(\n CASE\n WHEN o.question_uuid='ad789cf7-ffb6-447c-9dbe-5b989c8e9359'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS uterus_text,\n -- Fallopian text\n MAX(\n CASE\n WHEN o.question_uuid='a617d0d6-85f7-4609-bcc1-dbb0930f471'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS fallopian_text,\n -- Vagina rectal text\n MAX(\n CASE\n WHEN o.question_uuid='f2d2e6ef-1277-4dd3-8374-396de070a858'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS vaginal_rectal_text,\n -- Vulva text\n MAX(\n CASE\n WHEN o.question_uuid='0a80e4ad-c144-4439-868b-f32b6b63816d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS vulva_text,\n -- Rectum text\n MAX(\n CASE\n WHEN o.question_uuid='57ea911d-dcfa-45a3-96f7-1d768dcc6013'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS rectum_text,\n -- Educated for CCS\n MAX(\n CASE\n WHEN o.question_uuid='4066c646-40c3-48ac-99fa-91a2f5f57e3c'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS is_educated_for_css,\n -- HPV result\n MAX(\n CASE\n WHEN o.question_uuid='b643325d-0d63-4ba0-9c0d-e1c0a1c9f3ce'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hpv_result,\n -- HPV type (If +ve)\n MAX(\n CASE\n WHEN o.question_uuid='5f27683c-e4ab-4a10-922d-e34bbb560884'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hpv_virus_type,\n -- SCJ visibility\n MAX(\n CASE\n WHEN o.question_uuid='d2ec630a-a223-492a-89f2-597266b36571'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS scj_visibility,\n -- VIA Test results\n MAX(\n CASE\n WHEN o.question_uuid='27912a31-4b1e-40d4-a3a0-947e0eb2e588'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS via_test_results,\n -- No. of quadrants\n MAX(\n CASE\n WHEN o.question_uuid='0dd61510-1ddd-49e8-838b-b4ec7fdaf95f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS number_of_quadrants,\n -- What area of ectocervix does the acetowhite area\ + \ occupy?\n MAX(\n CASE\n WHEN o.question_uuid='a84a070a-172f-43f7-96f3-67574d42ba1b'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS aceto_white_ecto_cervix,\n -- Colposcopy\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='c0027068-fe1b-4401-aad5-d70e4437362c'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS colposcopy,\n \ + \ -- Cervical Biopsy\n MAX(\n CASE\n WHEN o.question_uuid='df802805-a937-4031-928d-8ce7b69aefc7'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS cervical_biopsy,\n -- Pap Smear\n MAX(\n CASE\n WHEN o.question_uuid='863d4bf3-310d-472a-990d-8467e543ebab'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS pap_smear,\n -- CC reason for referral\n MAX(\n CASE\n WHEN o.question_uuid='c158e3b2-edf9-4e0e-9e95-d36de1a51527'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS cc_reason_for_referral,\n -- CC other reason for referral\n MAX(\n \ + \ CASE\n WHEN o.question_uuid='12f61ec2-e0b1-420d-be7b-43a95bce6e4a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n ) AS\ + \ cc_other_reason_for_referral,\n -- CC treatment options\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='1ca7d712-f7d7-4e09-8184-048bc4173902'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS cc_treatment_options,\n\ + \ -- CC Other treatment options\n MAX(\n CASE\n WHEN o.question_uuid='e6d18ff5-9d52-4e47-b2b2-762d9aa30604'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n\ + \ ) AS cc_other_treatment_options,\n -- CC appointment date\n MAX(\n CASE\n\ + \ WHEN v.visit_uuid IS NOT NULL THEN NULL\n ELSE NULL\n END\n ) AS\ + \ cc_appointment_date,\n -- CC reason for appointment\n MAX(\n CASE\n \ + \ WHEN v.visit_uuid IS NOT NULL THEN NULL\n ELSE NULL\n END\n ) AS cc_reason_for_appointment,\n\ + \ -- Educated for Breast cancer\n MAX(\n CASE\n WHEN o.question_uuid='c208aa27-9790-4dbf-84eb-2ffc321a1230'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS is_educated_for_bs,\n -- Sign of Breast cancer\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='d1fd20ef-6363-4065-98d6-f36b8f1dc27e'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS sign_of_breast,\n\ + \ -- Other breast exam details\n MAX(\n CASE\n WHEN o.question_uuid='f984b718-d674-40c4-9ac4-8d22963e1933'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS other_sign_of_breast,\n -- BC reason for referral\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='e676ab7f-13b0-4251-84fd-9874c80133b5'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS bc_reason_for_referral,\n\ + \ -- BC other reason for referral\n MAX(\n CASE\n WHEN o.question_uuid='d7e7f0b4-94c8-4bd9-a6ef-a38e1d3efcc8'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n\ + \ ) AS bc_other_reason_for_referral,\n -- BC treatment\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='ed4d2e2f-1ebf-4ab6-b4ee-6dc6d24fca12'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS bc_treatment,\n\ + \ -- BC appointment date\n MAX(\n CASE\n WHEN v.visit_uuid IS NOT NULL\ + \ THEN NULL\n ELSE NULL\n END\n ) AS bc_appointment_date,\n -- BC reason\ + \ for appointment\n MAX(\n CASE\n WHEN v.visit_uuid IS NOT NULL THEN NULL\n\ + \ ELSE NULL\n END\n ) AS bc_reason_for_appointment,\n -- Referral center\n\ + \ MAX(\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS referral_center,\n MAX(\n split_part (\n split_part (\n \ + \ (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 3\n ),\n '.',\n \ + \ 1\n )\n ) AS rf_hf_code,\n MAX(\n split_part (\n split_part (\n\ + \ (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 3\n ),\n '.',\n \ + \ 2\n )\n ) AS rf_hf_name,\n MAX(\n split_part (\n (\n CASE\n\ + \ WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n \ + \ END\n ),\n '>',\n 2\n )\n ) AS rf_hf_district,\n MAX(\n \ + \ split_part (\n (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 1\n )\n ) AS rf_hf_province\nFROM\n\ + \ visits v\n LEFT JOIN observations o ON (\n v.visit_uuid=o.visit_uuid\n \ + \ AND o.visit_uuid IS NOT NULL\n )\n LEFT JOIN locations l ON (\n l.uuid=v.location_uuid\n\ + \ AND l.uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n patient_uuid,\n\ + \ CONCAT_WS (' ', given_name, middle_name, family_name) AS patient_name,\n\ + \ gender,\n birthdate,\n -- Identifiers\n SUBSTRING(\n \ + \ identifiers\n FROM\n 'IDPoor: ([^,]*)'\n ) AS id_poor,\n\ + \ SUBSTRING(\n identifiers\n FROM\n 'OpenMRS ID: ([^,]*)'\n\ + \ ) AS openmrs_id,\n SUBSTRING(\n identifiers\n FROM\n \ + \ 'National ID: ([^,]*)'\n ) AS national_id,\n SUBSTRING(\n \ + \ identifiers\n FROM\n 'COVID vaccination ID: ([^,]*)'\n \ + \ ) AS covid_vacination_id,\n SUBSTRING(\n identifiers\n FROM\n\ + \ 'PMRS ID: ([^,]*)'\n ) AS pmrs_id,\n SUBSTRING(\n identifiers\n\ + \ FROM\n 'NSSF: ([^,]*)'\n ) AS nssf,\n SUBSTRING(\n \ + \ identifiers\n FROM\n 'SSN: ([^,]*)'\n ) AS ssn,\n \ + \ SUBSTRING(\n identifiers\n FROM\n 'Passport No: ([^,]*)'\n\ + \ ) AS passport_no,\n COALESCE(\n REGEXP_REPLACE (\n REGEXP_REPLACE\ + \ (\n identifiers,\n '(?:OpenMRS ID|National ID|IDPoor|PMRS\ + \ ID|COVID vaccination ID): [^,]*,?\\s?',\n '',\n 'g'\n \ + \ ),\n '^, |, $',\n ''\n ),\n NULL\n \ + \ ) AS other_identifiers,\n -- Addresses\n address_country AS country,\n\ + \ address_state_province AS province,\n address_county_district AS district,\n\ + \ address_city AS commune,\n address_1 AS village,\n -- Attributes\n\ + \ SUBSTRING(\n attributes\n FROM\n 'Occupation: ([^/]*)'\n\ + \ ) AS occupation,\n SUBSTRING(\n attributes\n FROM\n \ + \ 'Place of Birth: ([^/]*)'\n ) AS place_of_birth,\n SUBSTRING(\n\ + \ attributes\n FROM\n 'Ethnicity: ([^/]*)'\n ) AS ethnicity,\n\ + \ SUBSTRING(\n attributes\n FROM\n 'Marital Status:\ + \ ([^/]*)'\n ) AS marital_status,\n SUBSTRING(\n attributes\n \ + \ FROM\n 'Education: ([^/]*)'\n ) AS education\n FROM\n \ + \ patients\n WHERE\n person_voided IS FALSE\n ) p ON (p.patient_uuid=v.patient_uuid)\n\ + WHERE\n o.obs_voided IS FALSE\n AND v.visit_voided IS FALSE\n -- Cervical Cancer\ + \ New Visit & Cervical Cancer Follow-up Visit\n AND v.visit_type_uuid IN (\n \ + \ 'cad25c07-4657-4167-8b57-8ea1a3830e9b',\n 'd2bf1776-671d-4e0f-a850-f7fef7aa4044'\n\ + \ )\n -- Referral Hospital (RH)\n AND l.location_tags LIKE '%Referral Hospital%'\n\ + GROUP BY\n v.visit_uuid,\n p.patient_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 2a5e581b-ad24-4018-8c33-4a5b33b3eb02 +metrics: +- metric_name: count + verbose_name: null + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: treatment + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B (Treatment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: The value here is based on which test type. It can be either VIA treatment + or HPV treatment or Cytology treatment + python_date_format: null + extra: {} +- column_name: coc_use_for_more_than_5_yrs + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1794\ + \u17B6\u1793\u1794\u17D2\u179A\u17BE\u1790\u17D2\u1793\u17B6\u17C6\u1782\u17D2\ + \u179A\u17B6\u1794\u17CB\u1796\u1793\u17D2\u1799\u17B6\u179A\u1780\u17C6\u178E\ + \u17BE\u178F \u17A2\u179F\u17CB\u179A\u1799\u17C8\u1796\u17C1\u179B\u1785\u17B6\ + \u1794\u17CB\u1796\u17B8\u17E5\u1786\u17D2\u1793\u17B6\u17C6\u17A1\u17BE\u1784\ + \u178A\u17C2\u179A\u17AC\u1791\u17C1? (Has patient used combined oral contraceptives\ + \ for more than 5 years?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: via_test_result + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F \u179C\u17B8 \u17A2\u17B6\u1799 \u17A2\ + \u17C1 \u179B\u1791\u17D2\u1792\u1795\u179B (VIA Result)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: History of cervical cancer screening + python_date_format: null + extra: {} +- column_name: is_educated_for_bs + verbose_name: "\u178F\u17BE\u1794\u17B6\u1793\u17A2\u1794\u17CB\u179A\u17C6 \u1793\ + \u17B7\u1784\u1794\u1784\u17D2\u179A\u17C0\u1793\u179F\u17D2\u178F\u17D2\u179A\ + \u17B8\u17A2\u17C6\u1796\u17B8\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\ + \u17D2\u1799\u178A\u17C4\u17C7\u178A\u17C4\u1799\u1781\u17D2\u179B\u17BD\u1793\ + \u17AF\u1784\u178A\u17C2\u179A\u17AC\u1791\u17C1? (Have you been educated about\ + \ on self-breast checking?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: aceto_white_ecto_cervix + verbose_name: "\u178F\u17C6\u1794\u1793\u17CB\u1795\u17D2\u1791\u17C3\u1793\u17C3\ + \u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793\u1781\u17B6\u1784\u1780\ + \u17D2\u179A\u17C5\u1798\u17B6\u1793\u1780\u17C4\u179F\u17B7\u1780\u17B6\u1785\ + \u17B6\u1794\u17CB\u1796\u178E\u17CC\u179F (What area of ectocervix does the acetowhite\ + \ area occupy?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: hpv_virus_type + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u179C\u17B8\u179A\u17BB\u179F\ + \ HPV (\u1780\u179A\u178E\u17B8 HPV+) (HPV Type (If HPV +))" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bleeding_after_sex + verbose_name: "\u1780\u17B6\u179A\u17A0\u17BC\u179A\u1788\u17B6\u1798\u1780\u17D2\ + \u179A\u17C4\u1799\u1780\u17B6\u179A\u179A\u17BD\u1798\u1797\u17C1\u1791 (Have\ + \ patient ever had blood during/after sexual intercourse?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: partner_has_multiple_sex_partners + verbose_name: "\u178F\u17BE\u178A\u17C3\u1782\u17BC\u179A\u1794\u179F\u17CB\u17A2\ + \u17D2\u1793\u1780\u1798\u17B6\u1793\u178A\u17C3\u1782\u17BC\u179A\u17BD\u1798\ + \u1797\u17C1\u1791\u1785\u17D2\u179A\u17BE\u1793\u17AC\u1791\u17C1? (Does patient's\ + \ partner have many sexual partners?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_reason_for_referral + verbose_name: "\u1780\u17B6\u179A\u1794\u1789\u17D2\u1787\u17BC\u1793\u1794\u1789\ + \u17D2\u17A0\u17B6\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793: \u1798\ + \u17BC\u179B\u17A0\u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\u179A\u1794\u1789\ + \u17D2\u1787\u17BC\u1793 (Cervix Problem Referral: Reason of refer)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_reason_for_referral + verbose_name: "\u1780\u17B6\u179A\u1794\u1789\u17D2\u1787\u17BC\u1793\u1794\u1789\ + \u17D2\u17A0\u17B6\u178A\u17C4\u17C7 \u1798\u17BC\u179B\u17A0\u17C1\u178F\u17BB\ + \u1793\u17C3\u1780\u17B6\u179A\u1794\u1789\u17D2\u1787\u17BC\u1793 (Breast Problem\ + \ Referral: Reason of refer)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: is_screen_for_css + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1792\u17D2\u179B\u17B6\u1794\ + \u17CB\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179F\u17BB\u1781\u1797\u17B6\ + \u1796\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793\u179A\u1780\u1798\ + \u17A0\u17B6\u179A\u17B8\u1780? (Have you ever screened for cervical cancer?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: via_test_results + verbose_name: "\u179B\u1791\u17D2\u1792\u1795\u179B \u178F\u17C1\u179F\u17D2\u178F\ + \ \u179C\u17B8 \u17A2\u17B6\u1799 \u17A2\u17C1 (VIA test results)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: corticosteroid_use + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1794\ + \u17D2\u179A\u17BE\u1796\u1796\u17BD\u1780\u1790\u17D2\u1793\u17B6\u17C6\u1782\ + \u17D0\u179A\u1791\u17B8\u1780\u17BC\u17A2\u17CA\u17B8\u178A (corticosteroids)\ + \ \u178A\u17C2\u179A\u17AC\u1791\u17C1? (Does patient use corticosteroids?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_reason_for_appointment + verbose_name: "\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794\u1796\ + \u17B8\u1794\u1789\u17D2\u17A0\u17B6\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\ + \u17BC\u1793: \u1798\u17BC\u179B\u17A0\u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\ + \u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794 (Cervical Appointment: Reason\ + \ for Appointment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_appointment_date + verbose_name: "\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794\u1796\ + \u17B8\u1794\u1789\u17D2\u17A0\u17B6\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\ + \u17BC\u1793: \u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794 (Cervical Appointment: Appointment\ + \ date)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_reason_for_appointment + verbose_name: "\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794\u1796\ + \u17B8\u1794\u1789\u17D2\u17A0\u17B6\u178A\u17C4\u17C7 \u1798\u17BC\u179B\u17A0\ + \u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\ + \u17BD\u1794 (Breast Appointment: Reason of Appointment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: has_multiple_sex_partners + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1798\u17B6\u1793\u178A\u17C3\ + \u1782\u17BC\u179A\u17BD\u1798\u1797\u17C1\u1791\u1785\u17D2\u179A\u17BE\u1793\ + \u17AC\u1791\u17C1? (Does patient have many sexual partners?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: covid_vacination_id + verbose_name: "\u179B\u17C1\u1781\u179F\u1798\u17D2\u1782\u17B6\u179B\u17CB\u1780\ + \u17B6\u178F\u1785\u17B6\u1780\u17CB \u179C\u17C9\u17B6\u1780\u17CB\u179F\u17B6\ + \u17C6\u1784 COVID (Covid Vaccination ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: hpv_test_result + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F \u17A2\u17C1\u1785 \u1797\u17B8 \u179C\ + \u17B8 \u179B\u1791\u17D2\u1792\u1795\u179B (HPV Result)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: hpv_result + verbose_name: "\u179B\u1791\u17D2\u1792\u1795\u179B \u178F\u17C1\u179F\u17D2\u178F\ + \ \u17A2\u17C1\u1785 \u1797\u17B8 \u179C\u17B8 (HPV result)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: number_of_quadrants + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793 quadrants \u178A\u17C2\u179B\u1796\ + \u17B6\u1780\u17CB\u1796\u17D0\u1793\u17D2\u1792 (Number of quadrants involved)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: corticosteroid_use_duration + verbose_name: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u1793\u17C3\u1780\u17B6\u179A\ + \u1794\u17D2\u179A\u17BE\u1790\u17D2\u1793\u17B6\u17C6\u1796\u1796\u17BD\u1780\ + \u1782\u17D0\u179A\u1791\u17B8\u1780\u17BC\u17A2\u17CA\u17B8\u178A (\u1782\u17B7\ + \u178F\u1787\u17B6\u1786\u17D2\u1793\u17B6\u17C6) (Corticosteroids use duration\ + \ (Year(s)))" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: current_stis + verbose_name: "\u1787\u17C6\u1784\u17BA\u1780\u17B6\u1798\u179A\u17C4\u1782 (Current\ + \ Sexually transmitted infection(s)) " + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_appointment_date + verbose_name: "\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794\u1796\ + \u17B8\u1794\u1789\u17D2\u17A0\u17B6\u178A\u17C4\u17C7 \u1780\u17B6\u179B\u1794\ + \u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\u178E\u17B6\u178F\u17CB\u1787\u17BD\ + \u1794 (Breat Appointment: Appointment date)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: previous_pregnant + verbose_name: "\u178F\u17BE\u179F\u17D2\u178F\u17D2\u179A\u17B8\u1798\u17B6\u1793\ + \u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7\u1796\u17B8\u1798\u17BB\u1793\u1791\ + \u17C1? (Has patient been pregnant before?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: birthdate + verbose_name: "\u1790\u17D2\u1784\u17C3 \u1781\u17C2 \u1786\u17D2\u1793\u17B6\u17C6\ + \u1780\u17C6\u178E\u17BE\u178F (Date of Birth)" + is_dttm: true + is_active: true + type: DATE + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: sex_debut + verbose_name: "\u17A2\u17B6\u1799\u17BB\u1793\u17C3\u1780\u17B6\u179A\u179A\u17BD\ + \u1798\u1797\u17C1\u1791\u179B\u17BE\u1780\u178A\u17C6\u1794\u17BC\u1784 (Age\ + \ of First Sexual Intercourse)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: vaginal_rectal_text + verbose_name: "\u1791\u17D2\u179C\u17B6\u179A\u1798\u17B6\u179F \u1793\u17B7\u1784\ + \u179A\u1793\u17D2\u1792\u179B\u17B6\u1798\u1780 (Vaginal and rectum exam)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_end_time + verbose_name: "\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u1794\u1789\u17D2\u1785\ + \u1794\u17CB\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1787\ + \u17C6\u1784\u17BA (End Time)" + is_dttm: false + is_active: true + type: TIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Visit's end time + python_date_format: null + extra: {} +- column_name: vist_end_date + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1794\u1789\u17D2\u1785\u1794\u17CB\u1780\u17B6\u179A\u1798\u1780\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799\u1787\u17C6\u1784\u17BA (End Date)" + is_dttm: true + is_active: true + type: DATE + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Visit End Date + python_date_format: null + extra: {} +- column_name: has_current_stis + verbose_name: "\u1794\u17B6\u1793\u1786\u17D2\u179B\u1784\u1787\u17C6\u1784\u17BA\ + \u1780\u17B6\u1798\u179A\u17C4\u1782\u1780\u17D2\u1793\u17BB\u1784\u1796\u17C1\ + \u179B\u1790\u17D2\u1798\u17B8\u17D7\u1793\u17C1\u17C7 (Currently contracted with\ + \ STI(s))" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: history_stis + verbose_name: "\u1787\u17C6\u1784\u17BA\u1780\u17B6\u1798\u179A\u17C4\u1782 (Sexually\ + \ transmitted infection(s)) " + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: has_hiv + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1798\u17B6\u1793\u1795\u17D2\ + \u1791\u17BB\u1780\u1798\u17C1\u179A\u17C4\u1782\u17A2\u17C1\u178A\u179F\u17CD\ + /\u1787\u17C6\u1784\u17BA\u17A2\u17C1\u178A\u179F\u17CD\u178A\u17C2\u179A\u17AC\ + \u1791\u17C1? (Does patient have HIV/AIDS?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: smoked + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1787\ + \u1780\u17CB\u1794\u17B6\u179A\u17B8\u1791\u17C1? (Does the patient smoke?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: has_referral_letter + verbose_name: "\u179B\u17B7\u1781\u17B7\u178F\u1794\u1789\u17D2\u1787\u17BC\u1793\ + \ (Has a referral letter?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: number_of_deliveries + verbose_name: " \u1785\u17C6\u1793\u17BD\u1793\u178A\u1784\u1793\u17C3\u1780\u17B6\ + \u179A\u179F\u1798\u17D2\u179A\u17B6\u179B\u1780\u17BC\u1793 (Number of Deliveries)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: number_of_miscarriages + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u178A\u1784\u1793\u17C3\u1780\u17B6\ + \u179A\u179A\u179B\u17BC\u178F \u1793\u17B7\u1784\u179A\u17C6\u179B\u17BC\u178F\ + \u1780\u17BC\u1793 (Number of miscarriages)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: scj_visibility + verbose_name: "\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1781\u17D2\u179F\u17C2\ + \ SCJ (Visibility of SCJ)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cytology_test_result + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F\u1782\u17C6\u1793\u17C0\u179A\u1798\ + \u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 \u179B\u1791\u17D2\u1792\u1795\ + \u179B (Cytology Test Result)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: is_educated_for_css + verbose_name: "\u1780\u17B6\u179A\u17A2\u1794\u17CB\u179A\u17C6\u179F\u17BB\u1781\ + \u1797\u17B6\u1796\u17A2\u17C6\u1796\u17B8\u1787\u17C6\u1784\u17BA\u1798\u17A0\ + \u17B6\u179A\u17B8\u1780\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793\ + \ (Cervical cancer health education)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_treatment_options + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1798\ + \u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Cervical cancer treatment options)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: family_history_cancer + verbose_name: "\u1794\u17D2\u179A\u179C\u178F\u17D2\u178F\u17B7\u1782\u17D2\u179A\ + \u17BD\u179F\u17B6\u179A\u1791\u17B6\u1780\u17CB\u1791\u1784\u1793\u17B9\u1784\ + \u1787\u17C6\u1784\u17BA\u1798\u17A0\u17B6\u179A\u17B8\u1780 (Family history of\ + \ cancer)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: test_type + verbose_name: History of CSS Test Type + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_code + verbose_name: "\u179B\u17C1\u1781\u1780\u17BC\u178A\u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (*Referral\ + \ HF's Code)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17C7\u1798\u17BC\u179B\u178A\u17D2\u178B\ + \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (*Referral\ + \ HF's Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: has_history_stis + verbose_name: "\u1794\u17D2\u179A\u179C\u178F\u17D2\u178F\u17B7\u1791\u17B6\u1780\ + \u17CB\u1791\u1784\u1793\u17B9\u1784\u1787\u17C6\u1784\u17BA\u1780\u17B6\u1798\ + \u179A\u17C4\u1782 (History of STI(s))" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: number_of_pregnancies + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u178A\u1784\u1793\u17C3\u1780\u17B6\ + \u179A\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7 (Number of\ + \ Pregnancies)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: place_of_birth + verbose_name: "\u1791\u17B8\u1780\u1793\u17D2\u179B\u17C2\u1784\u1780\u17C6\u178E\ + \u17BE\u178F (Place of Birth)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_treatment + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u178A\ + \u17C4\u17C7 (Breast cancer treatment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: pmrs_id + verbose_name: "\u179B\u17C1\u1781\u179F\u1798\u17D2\u1782\u17B6\u179B\u17CB PMRS\ + \ (PMRS ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: other_physical_exam + verbose_name: "\u1795\u17D2\u179F\u17C1\u1784\u1791\u17C0\u178F (Other physical\ + \ examinations)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: sign_of_breast + verbose_name: "\u179F\u1789\u17D2\u1789\u17B6\u178E\u1794\u1789\u17D2\u17A0\u17B6\ + \u179A\u1794\u179F\u17CB\u178A\u17C4\u17C7 (Sign of breast)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: type_of_cancer + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1793\u17C3\u1787\u17C6\u1784\ + \u17BA\u1798\u17A0\u17B6\u179A\u17B8\u1780 (Type of cancer)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_province + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F/\u1780\u17D2\u179A\u17BB\u1784 (Province/city)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Visit's province + python_date_format: null + extra: {} +- column_name: visit_district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\ + \u178F\u17D2\u178F\u17B7 (OD)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Visit's district + python_date_format: null + extra: {} +- column_name: province + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: Patient's province + python_date_format: null + extra: {} +- column_name: visit_hf_code + verbose_name: "\u179B\u17C1\u1781\u1780\u17BC\u178A\u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (HF's\ + \ Code)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: client_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17A2\u178F\u17B7\u1790\u17B7\u1787\u1793\ + \ (Client's Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_hf_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17C7\u1798\u17BC\u179B\u178A\u17D2\u178B\ + \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (HF's Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_province + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F/\u1780\u17D2\u179A\u17BB\u1784 (*Referral\ + \ Province/City)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\ + \u178F\u17D2\u178F\u17B7 (*Referral OD)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: hiv_treatment + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1798\ + \u17C1\u179A\u17C4\u1782\u17A2\u17C1\u178A\u179F\u17CD/\u1787\u17C6\u1784\u17BA\ + \u17A2\u17C1\u178A\u179F\u17CD (HIV/AIDS treatment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cervix_exam + verbose_name: "\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793/\u1780\u179F\ + \u17D2\u1794\u17BC\u1793 (Cervix examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_start_date + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u1796\u17B7\u1793\u17B7\ + \u178F\u17D2\u1799\u1787\u17C6\u1784\u17BA (Start Date)" + is_dttm: true + is_active: true + type: DATE + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: address_zone + verbose_name: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u178F\u17C6\ + \u1794\u1793\u17CB (Address zone)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: client_id + verbose_name: "\u179B\u17C1\u1781\u179F\u1798\u17D2\u1782\u17B6\u179B\u17CB\u17A2\ + \u178F\u17B7\u1790\u17B7\u1787\u1793 (Client ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cervical_biopsy + verbose_name: "\u1785\u17D2\u179A\u17B9\u1794\u179F\u17B6\u1785\u17CB\u1798\u17B6\ + \u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Cervical biopsy)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: national_id + verbose_name: "\u179B\u17C1\u1781\u17A2\u178F\u17D2\u178F\u179F\u1789\u17D2\u1789\ + \u17B6\u178E\u1794\u178E\u17D2\u178E\u1787\u17B6\u178F\u17B7 (National ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: id_poor + verbose_name: "\u179B\u17C1\u1781\u1794\u178E\u17D2\u178E\u1780\u17D2\u179A\u17B8\ + \u1780\u17D2\u179A (ID Poor)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_start_time + verbose_name: "\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u1785\u17B6\u1794\u17CB\ + \u1795\u17D2\u178F\u17BE\u1798\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1787\ + \u17C6\u1784\u17BA (Start Time)" + is_dttm: false + is_active: true + type: TIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: fallopian_text + verbose_name: "\u178A\u17C3\u179F\u17D2\u1794\u17BC\u1793 (Fallopian tube)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: other_identifiers + verbose_name: "\u1795\u17D2\u179F\u17C1\u1784\u17D7 (Other Identifiers)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: marital_status + verbose_name: "\u179F\u17D2\u1790\u17B6\u1793\u1797\u17B6\u1796\u1782\u17D2\u179A\ + \u17BD\u179F\u17B6\u179A (Marital status)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: passport_no + verbose_name: "\u179B\u17C1\u1781\u179B\u17B7\u1781\u17B7\u178F\u1786\u17D2\u179B\ + \u1784\u178A\u17C2\u1793 (Passport No)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: pap_smear + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F\u1782\u17C6\u1793\u17C0\u179A\u1798\ + \u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Pap Smear)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: payment_type + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1780\u17B6\u179A\u1785\u17C6\ + \u178E\u17B6\u1799 (Payment Type)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: referred_from + verbose_name: "\u1794\u1789\u17D2\u1787\u17BC\u1793\u1798\u1780\u1796\u17B8 (Referred\ + \ from)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: vagina_exam + verbose_name: "\u1791\u17D2\u179C\u17B6\u179A\u1798\u17B6\u179F (Vagina examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: vulva_exam + verbose_name: "\u1799\u17C4\u1793\u17B8 (Vulva examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cervix_text + verbose_name: "\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793/\u1780\u179F\ + \u17D2\u1794\u17BC\u1793 (Cervix)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: "\u17A2\u17B6\u1799\u17BB (Age)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: colposcopy + verbose_name: "\u1780\u17B6\u179A\u1790\u178F\u1786\u17D2\u179B\u17BB\u17C7\u1798\ + \u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Colposcopy)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: commune + verbose_name: "\u1783\u17BB\u17C6 (Commune)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780 (District)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: education + verbose_name: "\u1780\u1798\u17D2\u179A\u17B7\u178F\u179C\u1794\u17D2\u1794\u1792\ + \u1798\u17CC (Education)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: ethnicity + verbose_name: "\u1787\u1793\u1787\u17B6\u178F\u17B7 (Ethnicity)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: nssf + verbose_name: "\u1794\u17C1\u17A1\u17B6\u1787\u17B6\u178F\u17B7\u179F\u1793\u17D2\ + \u178F\u17B7\u179F\u17BB\u1781\u179F\u1784\u17D2\u1782\u1798 (NSSF)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: "\u1797\u17C1\u1791 (Gender)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: ssn + verbose_name: "\u179B\u17C1\u1781\u179F\u1798\u17D2\u1782\u17B6\u179B\u17CB\u179F\ + \u1793\u17D2\u178F\u17B7\u179F\u17BB\u1781\u179F\u1784\u17D2\u1782\u1798 (SSN)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: occupation + verbose_name: "\u1798\u17BB\u1781\u179A\u1794\u179A (Occupation)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: rectum_text + verbose_name: "\u1785\u17BB\u1784\u1796\u17C4\u17C7\u179C\u17C0\u1793\u1792\u17C6\ + \ (Rectum)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: uterus_text + verbose_name: "\u178F\u17BD\u179F\u17D2\u1794\u17BC\u1793 (Uterus)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: vulva_text + verbose_name: "\u1799\u17C4\u1793\u17B8 (Vulva)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: village + verbose_name: "\u1797\u17BC\u1798\u17B7 (Village)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_date + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: bc_other_reason_for_referral + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_other_reason_for_referral + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: other_sign_of_breast + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cc_other_treatment_options + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: location_tags + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: referral_center + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 From ca356b5f8f8578037074772155bb923c1b20f220 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 17 Jun 2024 18:58:49 +0300 Subject: [PATCH 04/20] KH-524: Add self-breast educated and examined women report --- ...men_educated_and_examined_pivot_table.yaml | 41 ++ ...r_of_women_per_management_pivot_table.yaml | 42 ++ ...ult_of_breast_examination_pivot_table.yaml | 57 ++ ...r_of_women_per_visit_type_pivot_table.yaml | 56 ++ ...educated_and_examined_women_dashboard.yaml | 280 ++++++++++ ...t_educated_and_examined_women_dataset.yaml | 526 ++++++++++++++++++ 6 files changed, 1002 insertions(+) create mode 100644 base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_educated_and_examined_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_management_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_result_of_breast_examination_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_visit_type_pivot_table.yaml create mode 100644 base/configs/superset/assets/dashboards/self_breast_educated_and_examined_women_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/self_breast_educated_and_examined_women_dataset.yaml diff --git a/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_educated_and_examined_pivot_table.yaml b/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_educated_and_examined_pivot_table.yaml new file mode 100644 index 00000000..d97d845f --- /dev/null +++ b/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_educated_and_examined_pivot_table.yaml @@ -0,0 +1,41 @@ +slice_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\u1794\ + \u17B6\u1793\u17A2\u1794\u17CB\u179A\u17C6\u1793\u17B7\u1784\u1796\u17B7\u1793\u17B7\ + \u178F\u17D2\u1799\u178A\u17C4\u17C7 (# of Women Educated with Breast Examination)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 2__table + viz_type: pivot_table_v2 + slice_id: 5 + granularity_sqla: date_started + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: [] + metrics: + - sum is educated + metricsLayout: COLUMNS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + colTotals: true + transposePivot: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 2 +query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":["age_group"],"metrics":["sum + is educated"],"orderby":[["sum is educated",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"2__table","viz_type":"pivot_table_v2","slice_id":5,"granularity_sqla":"date_started","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":[],"metrics":["sum is educated"],"metricsLayout":"COLUMNS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","colTotals":true,"transposePivot":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[2],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 411a83c9-d9d1-40a1-abd6-fe56e1169388 +version: 1.0.0 +dataset_uuid: ae55d2c5-1889-45e0-899e-a54beba3e234 diff --git a/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_management_pivot_table.yaml b/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_management_pivot_table.yaml new file mode 100644 index 00000000..88403648 --- /dev/null +++ b/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_management_pivot_table.yaml @@ -0,0 +1,42 @@ +slice_name: "\u1780\u17B6\u179A\u1782\u17D2\u179A\u1794\u17CB\u1782\u17D2\u179A\u1784\ + \ (Management)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 2__table + viz_type: pivot_table_v2 + slice_id: 7 + granularity_sqla: date_started + time_range: No filter + groupbyColumns: [] + groupbyRows: + - age_group + metrics: + - count per treated + - sum referred + metricsLayout: COLUMNS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + colTotals: true + transposePivot: false + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 2 +query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":["age_group"],"metrics":["count + per treated","sum referred"],"orderby":[["count per treated",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"2__table","viz_type":"pivot_table_v2","slice_id":7,"granularity_sqla":"date_started","time_range":"No + filter","groupbyColumns":[],"groupbyRows":["age_group"],"metrics":["count per treated","sum + referred"],"metricsLayout":"COLUMNS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","colTotals":true,"transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[2],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 8263131a-e7cf-414a-a89d-e742a454f032 +version: 1.0.0 +dataset_uuid: ae55d2c5-1889-45e0-899e-a54beba3e234 diff --git a/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_result_of_breast_examination_pivot_table.yaml b/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_result_of_breast_examination_pivot_table.yaml new file mode 100644 index 00000000..2a75b870 --- /dev/null +++ b/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_result_of_breast_examination_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u179B\u1791\u17D2\u1792\u1795\u179B\u1780\u17B6\u179A\u1796\u17B7\u1793\ + \u17B7\u178F\u17D2\u1799\u179F\u17D2\u1791\u17B6\u1794\u178A\u17C4\u17C7\u178A\u17C4\ + \u1799\u1798\u1793\u17D2\u178F\u17D2\u179A\u17B8\u179F\u17BB\u1781\u17B6\u1797\u17B7\ + \u1794\u17B6\u179B (Result of Breast Examination by Health Staff)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 2__table + viz_type: pivot_table_v2 + slice_id: 8 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - breast_exam_grouping + metrics: + - count per breast examination + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: breast_exam_grouping + operator: '!=' + operatorId: NOT_EQUALS + comparator: N/A + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_o5tvwyo211r_t72psdsxq1 + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + transposePivot: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 2 +query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"breast_exam_grouping","op":"!=","val":"N/A"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","breast_exam_grouping"],"metrics":["count + per breast examination"],"orderby":[["count per breast examination",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"2__table","viz_type":"pivot_table_v2","slice_id":8,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["breast_exam_grouping"],"metrics":["count + per breast examination"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"breast_exam_grouping","operator":"!=","operatorId":"NOT_EQUALS","comparator":"N/A","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_o5tvwyo211r_t72psdsxq1"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"transposePivot":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[2],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 70116224-991f-4856-9a6a-3c625f0ad796 +version: 1.0.0 +dataset_uuid: ae55d2c5-1889-45e0-899e-a54beba3e234 diff --git a/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_visit_type_pivot_table.yaml b/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_visit_type_pivot_table.yaml new file mode 100644 index 00000000..223a2237 --- /dev/null +++ b/base/configs/superset/assets/charts/self-breast_educated_and_examined_women/number_of_women_per_visit_type_pivot_table.yaml @@ -0,0 +1,56 @@ +slice_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\u1780\ + \u17D2\u1793\u17BB\u1784\u1798\u17BD\u1799\u1794\u17D2\u179A\u1797\u17C1\u1791\u1793\ + \u17C3\u1780\u17B6\u179A\u1798\u1780\u179B\u17C1\u1784 (# of Women per Visit Type)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 2__table + viz_type: pivot_table_v2 + slice_id: 6 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - referred_from_grouping + metrics: + - count per visit type + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: referred_from_grouping + operator: '!=' + operatorId: NOT_EQUALS + comparator: N/A + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_hi45tjqvk3o_h1gz189xbgr + row_limit: 1000 + order_desc: false + aggregateFunction: Sum + rowTotals: true + colTotals: true + transposePivot: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 2 +query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"referred_from_grouping","op":"!=","val":"N/A"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","referred_from_grouping"],"metrics":["count + per visit type"],"orderby":[["count per visit type",true]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":false,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"2__table","viz_type":"pivot_table_v2","slice_id":6,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["referred_from_grouping"],"metrics":["count + per visit type"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"referred_from_grouping","operator":"!=","operatorId":"NOT_EQUALS","comparator":"N/A","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_hi45tjqvk3o_h1gz189xbgr"}],"row_limit":1000,"order_desc":false,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"transposePivot":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[2],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 8a137f25-14a7-4a3e-a740-0cbd17ca1de1 +version: 1.0.0 +dataset_uuid: ae55d2c5-1889-45e0-899e-a54beba3e234 diff --git a/base/configs/superset/assets/dashboards/self_breast_educated_and_examined_women_dashboard.yaml b/base/configs/superset/assets/dashboards/self_breast_educated_and_examined_women_dashboard.yaml new file mode 100644 index 00000000..cf81fb4f --- /dev/null +++ b/base/configs/superset/assets/dashboards/self_breast_educated_and_examined_women_dashboard.yaml @@ -0,0 +1,280 @@ +dashboard_title: "\u1780\u17B6\u179A\u17A2\u1794\u17CB\u179A\u17C6\u179F\u17D2\u178F\ + \u17D2\u179A\u17B8\u17B1\u17D2\u1799\u1785\u17C1\u17C7\u1796\u17B7\u1793\u17B7\u178F\ + \u17D2\u1799 \u1793\u17B7\u1784\u179F\u17D2\u1791\u17B6\u1794\u178A\u17C4\u17C7\u178A\ + \u17C4\u1799\u1781\u17D2\u179B\u17BD\u1793\u17AF\u1784 (Self-breast Educated and\ + \ Examinated Women)" +description: null +css: '' +slug: null +uuid: 6e8f6cf5-6b61-4dbc-ad28-2d6b7d2a13e8 +position: + CHART-explore-5-1: + children: [] + id: CHART-explore-5-1 + meta: + chartId: 5 + height: 50 + sliceName: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u1794\u17B6\u1793\u17A2\u1794\u17CB\u179A\u17C6\u1793\u17B7\u1784\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799\u178A\u17C4\u17C7 (# of Women Educated with\ + \ Breast Examination)" + uuid: 411a83c9-d9d1-40a1-abd6-fe56e1169388 + width: 5 + parents: + - ROOT_ID + - GRID_ID + - ROW-aQB7JBxYgL + type: CHART + CHART-explore-6-1: + children: [] + id: CHART-explore-6-1 + meta: + chartId: 6 + height: 50 + sliceName: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u1780\u17D2\u1793\u17BB\u1784\u1798\u17BD\u1799\u1794\u17D2\u179A\u1797\u17C1\ + \u1791\u1793\u17C3\u1780\u17B6\u179A\u1798\u1780\u179B\u17C1\u1784 (# of Women\ + \ per Visit Type)" + sliceNameOverride: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\ + \u17B8\u1780\u17D2\u1793\u17BB\u1784\u1798\u17BD\u1799\u1794\u17D2\u179A\u1797\ + \u17C1\u1791\u1793\u17C3\u1780\u17B6\u179A\u1798\u1780\u179B\u17C1\u1784 (Visit\ + \ Type)" + uuid: 8a137f25-14a7-4a3e-a740-0cbd17ca1de1 + width: 7 + parents: + - ROOT_ID + - GRID_ID + - ROW-aQB7JBxYgL + type: CHART + CHART-explore-7-1: + children: [] + id: CHART-explore-7-1 + meta: + chartId: 7 + height: 50 + sliceName: "\u1780\u17B6\u179A\u1782\u17D2\u179A\u1794\u17CB\u1782\u17D2\u179A\ + \u1784 (Management)" + uuid: 8263131a-e7cf-414a-a89d-e742a454f032 + width: 5 + parents: + - ROOT_ID + - GRID_ID + - ROW-rxvWan3wgG + type: CHART + CHART-explore-8-1: + children: [] + id: CHART-explore-8-1 + meta: + chartId: 8 + height: 50 + sliceName: "\u179B\u1791\u17D2\u1792\u1795\u179B\u1780\u17B6\u179A\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799\u179F\u17D2\u1791\u17B6\u1794\u178A\u17C4\u17C7\ + \u178A\u17C4\u1799\u1798\u1793\u17D2\u178F\u17D2\u179A\u17B8\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B (Result of Breast Examination by Health\ + \ Staff)" + uuid: 70116224-991f-4856-9a6a-3c625f0ad796 + width: 7 + parents: + - ROOT_ID + - GRID_ID + - ROW-rxvWan3wgG + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-aQB7JBxYgL + - ROW-rxvWan3wgG + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: "\u1780\u17B6\u179A\u17A2\u1794\u17CB\u179A\u17C6\u179F\u17D2\u178F\u17D2\ + \u179A\u17B8\u17B1\u17D2\u1799\u1785\u17C1\u17C7\u1796\u17B7\u1793\u17B7\u178F\ + \u17D2\u1799 \u1793\u17B7\u1784\u179F\u17D2\u1791\u17B6\u1794\u178A\u17C4\u17C7\ + \u178A\u17C4\u1799\u1781\u17D2\u179B\u17BD\u1793\u17AF\u1784 (Self-breast\ + \ Educated and Examinated Women)" + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-aQB7JBxYgL: + children: + - CHART-explore-5-1 + - CHART-explore-6-1 + id: ROW-aQB7JBxYgL + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW + ROW-rxvWan3wgG: + children: + - CHART-explore-8-1 + - CHART-explore-7-1 + id: ROW-rxvWan3wgG + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: bnbColors + refresh_frequency: 0 + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + shared_label_colors: {} + color_scheme_domain: + - '#ff5a5f' + - '#7b0051' + - '#007A87' + - '#00d1c1' + - '#8ce071' + - '#ffb400' + - '#b4a76c' + - '#ff8083' + - '#cc0086' + - '#00a1b3' + - '#00ffeb' + - '#bbedab' + - '#ffd266' + - '#cbc29a' + - '#ff3339' + - '#ff1ab1' + - '#005c66' + - '#00b3a5' + - '#55d12e' + - '#b37e00' + - '#988b4e' + native_filter_configuration: + - id: NATIVE_FILTER-piRuw2c25 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: HF Province + filterType: filter_select + targets: + - column: + name: health_facility_province + datasetUuid: ae55d2c5-1889-45e0-899e-a54beba3e234 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 5 + - 6 + - 7 + - 8 + tabsInScope: [] + - id: NATIVE_FILTER-IimrPcVhk + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: true + name: HF District + filterType: filter_select + targets: + - column: + name: health_facility_district + datasetUuid: ae55d2c5-1889-45e0-899e-a54beba3e234 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-piRuw2c25 + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 5 + - 6 + - 7 + - 8 + tabsInScope: [] + - id: NATIVE_FILTER-mQnv_2Xkn + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: true + name: HF Name + filterType: filter_select + targets: + - column: + name: health_facility_name + datasetUuid: ae55d2c5-1889-45e0-899e-a54beba3e234 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-piRuw2c25 + - NATIVE_FILTER-IimrPcVhk + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 5 + - 6 + - 7 + - 8 + tabsInScope: [] + - id: NATIVE_FILTER-kKOen3AX_ + controlValues: + enableEmptyFilter: false + name: Reporting Period + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 5 + - 6 + - 7 + - 8 + tabsInScope: [] +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/self_breast_educated_and_examined_women_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/self_breast_educated_and_examined_women_dataset.yaml new file mode 100644 index 00000000..1f4a9b00 --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/self_breast_educated_and_examined_women_dataset.yaml @@ -0,0 +1,526 @@ +table_name: self-breast-educated-and-examinated-women +main_dttm_col: null +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS health_facility_code,\n\ + \ MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district) AS health_facility_district,\n\ + \ MAX(t3.state_province) AS health_facility_province,\n MAX(t2.patient_uuid) AS\ + \ patient_uuid,\n MAX(\n DATE_PART ('year', age (t1.date_started, t2.birthdate))\n\ + \ ) AS age,\n MAX(t2.gender) AS gender,\n MAX(\n SUBSTRING(\n t1.visit_attributes\n\ + \ FROM\n 'Referred from: ([^/]*)'\n )\n ) AS referred_from,\n MAX(sbc.self_breast_checking_educated)\ + \ AS self_breast_checking_educated,\n MAX(\n CASE\n WHEN sbc.self_breast_checking_educated_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\ + \ THEN 1\n ELSE 0\n END\n ) AS is_educated_on_self_breast_checking,\n \ + \ MAX(obs2.breast_exam) breast_exam,\n MAX(obs3.tumor) AS tumor,\n -- Referred\ + \ from: Groupings\n MAX(\n CASE\n WHEN (\n t1.visit_attributes LIKE\ + \ '%Referred from: Other%'\n OR t1.visit_attributes LIKE '%Referred from:\ + \ Health Centre%'\n OR t1.visit_attributes LIKE '%Referred from: VHSG (village\ + \ health support group)%'\n ) THEN '\u1794\u1789\u17D2\u1787\u17BC\u1793\u1798\ + \u1780\u1796\u17B8 VHSG/HC \u1793\u17B7\u1784\u1795\u17D2\u179F\u17C1\u1784\u17D7\ + \ (VHSG/Health Care/Other)'\n WHEN t1.visit_attributes LIKE '%Referred from:\ + \ Self presented%' THEN '\u1798\u1780\u1781\u17D2\u179B\u17BD\u1793\u17AF\u1784\ + \ (Self-Presented)'\n ELSE 'N/A'\n END\n ) AS referred_from_grouping,\n\ + \ MAX(\n CASE\n WHEN obs2.breast_exam_uuid='1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\ + \ THEN '\u1792\u1798\u17D2\u1798\u178F\u17B6 (Normal)'\n WHEN obs2.breast_exam_uuid='8d11e8c4-5031-4755-a8b3-cc7ebf9bd915'\ + \ THEN '\u179A\u179B\u17B6\u1780 (Abscesses)'\n WHEN obs2.breast_exam_uuid='8028de40-18d0-412c-8f7a-68cef81de52b'\ + \ THEN '\u1794\u17BC\u179F (Mastitis)'\n WHEN obs2.breast_exam_uuid='4103d60b-ec8b-4197-8290-7cc4132139ca'\n\ + \ AND obs3.tumor_uuid='ebd85cb3-32a4-4438-addf-1c7d954cbe3c' THEN '\u1798\u17B6\ + \u1793\u1785\u179B\u1793\u17B6 \u178A\u17BB\u17C6\u179F\u17B6\u1785\u17CB(Mobile\ + \ Tumor)'\n WHEN obs2.breast_exam_uuid='4103d60b-ec8b-4197-8290-7cc4132139ca'\n\ + \ AND obs3.tumor_uuid='d9ef9bbe-4408-4b9e-9787-a1bde6e87786' THEN '\u1798\u17B7\ + \u1793\u1798\u17B6\u1793\u1785\u179B\u1793\u17B6 \u178A\u17BB\u17C6\u179F\u17B6\u1785\ + \u17CB(Immobile Tumor)'\n WHEN obs2.breast_exam_uuid='d4879fb5-5ad5-435f-8881-d0523e706ae5'\ + \ THEN '\u179F\u1784\u17D2\u179F\u17D0\u1799\u1798\u17A0\u17B6\u179A\u17B8\u1780\ + \ (Suspected breast cancer)'\n WHEN obs2.breast_exam_uuid='5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\ + \ THEN '\u1794\u1789\u17D2\u17A0\u17B6\u1795\u17D2\u179F\u17C1\u1784\u17D7 (Other)'\n\ + \ ELSE 'N/A'\n END\n ) AS breast_exam_grouping,\n -- Age Band\n MAX(\n\ + \ CASE\n WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))<30\ + \ THEN '<30'\n WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))>=30\n\ + \ AND DATE_PART ('year', age (t1.date_started, t2.birthdate))<50 THEN '30-49'\n\ + \ WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))>=50 THEN '>50'\n\ + \ END\n ) AS age_group,\n MAX(obs4.treated) AS treated,\n MAX(\n CASE\n\ + \ WHEN obs4.treated IS NOT NULL THEN 1\n ELSE 0\n END\n ) AS is_treated,\n\ + \ MAX(\n CASE\n WHEN obs2.breast_exam_uuid='1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\ + \ THEN 1\n ELSE 0\n END\n ) AS normal,\n MAX(\n CASE\n WHEN obs2.breast_exam_uuid='8d11e8c4-5031-4755-a8b3-cc7ebf9bd915'\ + \ THEN 1\n ELSE 0\n END\n ) AS abscesses,\n MAX(\n CASE\n WHEN\ + \ obs2.breast_exam_uuid='8028de40-18d0-412c-8f7a-68cef81de52b' THEN 1\n ELSE\ + \ 0\n END\n ) AS mastitis,\n MAX(\n CASE\n WHEN obs2.breast_exam_uuid='4103d60b-ec8b-4197-8290-7cc4132139ca'\n\ + \ AND obs3.tumor_uuid='ebd85cb3-32a4-4438-addf-1c7d954cbe3c' THEN 1\n \ + \ ELSE 0\n END\n ) AS mobile_tumor,\n MAX(\n CASE\n WHEN obs2.breast_exam_uuid='4103d60b-ec8b-4197-8290-7cc4132139ca'\n\ + \ AND obs3.tumor_uuid='d9ef9bbe-4408-4b9e-9787-a1bde6e87786' THEN 1\n \ + \ ELSE 0\n END\n ) AS immobile_tumor,\n MAX(\n CASE\n WHEN obs2.breast_exam_uuid='d4879fb5-5ad5-435f-8881-d0523e706ae5'\ + \ THEN 1\n ELSE 0\n END\n ) AS suspected_breast_cancer,\n MAX(\n CASE\n\ + \ WHEN obs2.breast_exam_uuid='5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' THEN 1\n\ + \ ELSE 0\n END\n ) AS other,\n MAX(obs5.cervical_cancer_referred) AS cervical_cancer_referred,\n\ + \ MAX(obs6.breast_cancer_referred) AS breast_cancer_referred,\n MAX(\n CASE\n\ + \ WHEN (\n obs5.cervical_cancer_referred IS NOT NULL\n OR obs6.breast_cancer_referred\ + \ IS NOT NULL\n ) THEN 1\n ELSE 0\n END\n ) AS referred\nFROM\n visits\ + \ t1\n LEFT JOIN patients t2 ON (t1.patient_uuid=t2.patient_uuid)\n LEFT JOIN\ + \ locations t3 ON (t1.location_uuid=t3.uuid)\n -- Breast Cancer Education\n LEFT\ + \ JOIN (\n SELECT\n MAX(date_created) AS date_created,\n encounter_uuid,\n\ + \ visit_uuid,\n answer_coded AS self_breast_checking_educated,\n \ + \ answer_coded_uuid AS self_breast_checking_educated_uuid\n FROM\n observations\n\ + \ WHERE\n question_uuid IN ('c208aa27-9790-4dbf-84eb-2ffc321a1230')\n \ + \ AND obs_voided IS FALSE\n GROUP BY\n encounter_uuid,\n visit_uuid,\n\ + \ question_uuid,\n self_breast_checking_educated,\n self_breast_checking_educated_uuid\n\ + \ ) sbc ON (\n sbc.visit_uuid=t1.visit_uuid\n AND sbc.visit_uuid IS NOT NULL\n\ + \ )\n -- Breast Exam\n LEFT JOIN (\n SELECT\n MAX(date_created) AS date_created,\n\ + \ encounter_uuid,\n visit_uuid,\n answer_coded AS breast_exam,\n\ + \ answer_coded_uuid AS breast_exam_uuid\n FROM\n observations\n \ + \ WHERE\n question_uuid IN ('d1fd20ef-6363-4065-98d6-f36b8f1dc27e')\n \ + \ AND obs_voided IS FALSE\n GROUP BY\n encounter_uuid,\n visit_uuid,\n\ + \ question_uuid,\n breast_exam,\n breast_exam_uuid\n ) obs2 ON (\n\ + \ obs2.visit_uuid=t1.visit_uuid\n AND obs2.visit_uuid IS NOT NULL\n AND\ + \ t1.visit_uuid IS NOT NULL\n )\n -- Tumor\n LEFT JOIN (\n SELECT\n MAX(date_created)\ + \ AS date_created,\n question_uuid,\n answer_coded AS tumor,\n answer_coded_uuid\ + \ AS tumor_uuid\n FROM\n observations\n WHERE\n question_uuid IN\ + \ ('4103d60b-ec8b-4197-8290-7cc4132139ca')\n AND obs_voided IS FALSE\n GROUP\ + \ BY\n question_uuid,\n tumor,\n tumor_uuid\n ) obs3 ON (obs2.breast_exam_uuid=obs3.question_uuid)\n\ + \ -- Treatment Options\n LEFT JOIN (\n SELECT\n MAX(date_created) AS date_created,\n\ + \ encounter_uuid,\n visit_uuid,\n answer_coded AS treated\n FROM\n\ + \ observations\n WHERE\n question_uuid IN ('ed4d2e2f-1ebf-4ab6-b4ee-6dc6d24fca12')\n\ + \ AND obs_voided IS FALSE\n GROUP BY\n encounter_uuid,\n visit_uuid,\n\ + \ question_uuid,\n treated\n ) obs4 ON (\n obs4.visit_uuid=t1.visit_uuid\n\ + \ AND t1.visit_uuid IS NOT NULL\n )\n -- Cervical Referred\n LEFT JOIN (\n\ + \ SELECT\n MAX(date_created) AS date_created,\n encounter_uuid,\n \ + \ visit_uuid,\n answer_coded AS cervical_cancer_referred,\n answer_coded_uuid\ + \ AS cervical_cancer_referred_uuid\n FROM\n observations\n WHERE\n \ + \ -- Cervical Cancer reason for referral\n question_uuid IN ('c158e3b2-edf9-4e0e-9e95-d36de1a51527')\n\ + \ AND obs_voided IS FALSE\n GROUP BY\n encounter_uuid,\n visit_uuid,\n\ + \ question_uuid,\n cervical_cancer_referred,\n cervical_cancer_referred_uuid\n\ + \ ) obs5 ON (\n obs5.visit_uuid=t1.visit_uuid\n AND t1.visit_uuid IS NOT\ + \ NULL\n )\n -- Breast Referred\n LEFT JOIN (\n SELECT\n MAX(date_created)\ + \ AS date_created,\n encounter_uuid,\n visit_uuid,\n answer_coded\ + \ AS breast_cancer_referred,\n answer_coded_uuid AS breast_cancer_referred_uuid\n\ + \ FROM\n observations\n WHERE\n -- Breast Cancer reason for referral\n\ + \ question_uuid IN ('e676ab7f-13b0-4251-84fd-9874c80133b5')\n AND obs_voided\ + \ IS FALSE\n GROUP BY\n encounter_uuid,\n visit_uuid,\n question_uuid,\n\ + \ breast_cancer_referred,\n breast_cancer_referred_uuid\n ) obs6 ON (\n\ + \ obs6.visit_uuid=t1.visit_uuid\n AND t1.visit_uuid IS NOT NULL\n )\nWHERE\n\ + \ -- Cervical Cancer New Visit & Cervical Cancer Follow-up Visit\n t1.visit_type_uuid\ + \ IN (\n 'cad25c07-4657-4167-8b57-8ea1a3830e9b',\n 'd2bf1776-671d-4e0f-a850-f7fef7aa4044'\n\ + \ )\n AND t1.visit_voided IS FALSE\n AND t2.person_voided IS FALSE\n AND t2.patient_uuid\ + \ IS NOT NULL\n AND t2.gender='F'\nGROUP BY\n t2.patient_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: ae55d2c5-1889-45e0-899e-a54beba3e234 +metrics: +- metric_name: sum is educated + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u1794\u17B6\u1793\u17A2\u1794\u17CB\u179A\u17C6\u1793\u17B7\u1784\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799\u178A\u17C4\u17C7 (# of Women Educated with Breast\ + \ Examination)" + metric_type: null + expression: SUM(is_educated_on_self_breast_checking) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count per breast examination + verbose_name: "\u179B\u1791\u17D2\u1792\u1795\u179B\u1780\u17B6\u179A\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799\u179F\u17D2\u1791\u17B6\u1794\u178A\u17C4\u17C7\ + \u178A\u17C4\u1799\u1798\u1793\u17D2\u178F\u17D2\u179A\u17B8\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B (Result of Breast Examination)" + metric_type: null + expression: count(breast_exam_grouping) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count per visit type + verbose_name: "\u1780\u17B6\u179A\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\u17D2\ + \u1799 (Visit Type)" + metric_type: null + expression: count(referred_from_grouping) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count per treated + verbose_name: "\u1794\u17B6\u1793\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B (Treated)" + metric_type: null + expression: count(treated) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum referred + verbose_name: "\u1794\u1789\u17D2\u1787\u17BC\u1793 (Referred)" + metric_type: null + expression: SUM(referred) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum treated + verbose_name: "\u1794\u17B6\u1793\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B (Treated)" + metric_type: null + expression: SUM(is_treated) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count + verbose_name: null + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: age_group + verbose_name: "\u17A2\u17B6\u1799\u17BB\u179F\u17D2\u178F\u17D2\u179A\u17B8 (\u1786\ + \u17D2\u1793\u17B6\u17C6) (Age in Years)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: breast_exam_grouping + verbose_name: "\u179B\u1791\u17D2\u1792\u1795\u179B\u1780\u17B6\u179A\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799\u179F\u17D2\u1791\u17B6\u1794\u178A\u17C4\u17C7\ + \u178A\u17C4\u1799\u1798\u1793\u17D2\u178F\u17D2\u179A\u17B8\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B (Result of Breast Examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred_from_grouping + verbose_name: "\u1780\u17B6\u179A\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\u17D2\ + \u1799 (Visit Type)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: treated + verbose_name: " \u1794\u17B6\u1793\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B (Treated)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: date_started + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: is_educated_on_self_breast_checking + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: suspected_breast_cancer + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: is_treated + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: immobile_tumor + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: mobile_tumor + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: abscesses + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: mastitis + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: normal + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: other + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: self_breast_checking_educated + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_name + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: breast_cancer_referred + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cervical_cancer_referred + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_code + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_district + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_province + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: breast_exam + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: patient_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred_from + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: tumor + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 From 748841daf3284ae3ee844b62d772bacb5a4325ed Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 17 Jun 2024 19:15:43 +0300 Subject: [PATCH 05/20] KH-524: Add CCS for women report --- .../ccs_for_women_management_pivot_table.yaml | 43 ++ ..._for_women_per_visit_type_pivot_table.yaml | 56 +++ ...r_of_women_per_via_result_pivot_table.yaml | 55 +++ ..._of_women_with_via_tested_pivot_table.yaml | 56 +++ .../dashboards/ccs_for_women_dashboard.yaml | 268 +++++++++++++ .../PostgreSQL/ccs_for_women_dataset.yaml | 378 ++++++++++++++++++ ..._educated_and_examined_women_dataset.yaml} | 2 +- 7 files changed, 857 insertions(+), 1 deletion(-) create mode 100644 base/configs/superset/assets/charts/ccs_for_women/ccs_for_women_management_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ccs_for_women/ccs_for_women_per_visit_type_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ccs_for_women/number_of_women_per_via_result_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ccs_for_women/number_of_women_with_via_tested_pivot_table.yaml create mode 100644 base/configs/superset/assets/dashboards/ccs_for_women_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/ccs_for_women_dataset.yaml rename base/configs/superset/assets/datasets/PostgreSQL/{self_breast_educated_and_examined_women_dataset.yaml => self-breast_educated_and_examined_women_dataset.yaml} (99%) diff --git a/base/configs/superset/assets/charts/ccs_for_women/ccs_for_women_management_pivot_table.yaml b/base/configs/superset/assets/charts/ccs_for_women/ccs_for_women_management_pivot_table.yaml new file mode 100644 index 00000000..4acc6824 --- /dev/null +++ b/base/configs/superset/assets/charts/ccs_for_women/ccs_for_women_management_pivot_table.yaml @@ -0,0 +1,43 @@ +slice_name: "\u1780\u17B6\u179A\u1782\u17D2\u179A\u1794\u17CB\u1782\u17D2\u179A\u1784\ + \ (Management)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 1__table + viz_type: pivot_table_v2 + slice_id: 3 + granularity_sqla: date_started + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: [] + metrics: + - sum treated + - sum referred + metricsLayout: COLUMNS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: false + colTotals: true + transposePivot: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 1 +query_context: '{"datasource":{"id":1,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":["age_group"],"metrics":["sum + treated","sum referred"],"orderby":[["sum treated",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"1__table","viz_type":"pivot_table_v2","slice_id":3,"granularity_sqla":"date_started","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":[],"metrics":["sum treated","sum + referred"],"metricsLayout":"COLUMNS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":false,"colTotals":true,"transposePivot":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 87838d2c-ca56-44f1-a3a7-ec7648dddcc3 +version: 1.0.0 +dataset_uuid: 105ff668-0cd3-4674-82d2-bcecc6813280 diff --git a/base/configs/superset/assets/charts/ccs_for_women/ccs_for_women_per_visit_type_pivot_table.yaml b/base/configs/superset/assets/charts/ccs_for_women/ccs_for_women_per_visit_type_pivot_table.yaml new file mode 100644 index 00000000..e7b3edfb --- /dev/null +++ b/base/configs/superset/assets/charts/ccs_for_women/ccs_for_women_per_visit_type_pivot_table.yaml @@ -0,0 +1,56 @@ +slice_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\u1780\ + \u17D2\u1793\u17BB\u1784\u1798\u17BD\u1799\u1794\u17D2\u179A\u1797\u17C1\u1791\u1793\ + \u17C3\u1780\u17B6\u179A\u1798\u1780\u179B\u17C1\u1784 (# of women per visit type)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 1__table + viz_type: pivot_table_v2 + slice_id: 2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - referred_from_grouping + metrics: + - count per visit type + metricsLayout: COLUMNS + adhoc_filters: + - clause: WHERE + comparator: N/A + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_24vo20jrrtl_gqcm97kdcra + isExtra: false + isNew: false + operator: '!=' + operatorId: NOT_EQUALS + sqlExpression: null + subject: referred_from_grouping + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + transposePivot: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 1 +query_context: '{"datasource":{"id":1,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"referred_from_grouping","op":"!=","val":"N/A"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","referred_from_grouping"],"metrics":["count + per visit type"],"orderby":[["count per visit type",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"1__table","viz_type":"pivot_table_v2","slice_id":2,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["referred_from_grouping"],"metrics":["count + per visit type"],"metricsLayout":"COLUMNS","adhoc_filters":[{"clause":"WHERE","comparator":"N/A","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_24vo20jrrtl_gqcm97kdcra","isExtra":false,"isNew":false,"operator":"!=","operatorId":"NOT_EQUALS","sqlExpression":null,"subject":"referred_from_grouping"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"transposePivot":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: ae4b7d1d-1bae-4a6f-bec4-71826613e857 +version: 1.0.0 +dataset_uuid: 105ff668-0cd3-4674-82d2-bcecc6813280 diff --git a/base/configs/superset/assets/charts/ccs_for_women/number_of_women_per_via_result_pivot_table.yaml b/base/configs/superset/assets/charts/ccs_for_women/number_of_women_per_via_result_pivot_table.yaml new file mode 100644 index 00000000..b584461e --- /dev/null +++ b/base/configs/superset/assets/charts/ccs_for_women/number_of_women_per_via_result_pivot_table.yaml @@ -0,0 +1,55 @@ +slice_name: "\u179B\u1791\u17D2\u1792\u1795\u179B\u178F\u17C1\u179F\u17D2\u178F VIA\ + \ (# of women per VIA result)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 1__table + viz_type: pivot_table_v2 + slice_id: 4 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - via_test_result_grouping + metrics: + - count per via test result + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: via_test_result_grouping + operator: '!=' + operatorId: NOT_EQUALS + comparator: N/A + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_wb6zuz83qde_1nmcjy79ejy + row_limit: 1000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + transposePivot: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 1 +query_context: '{"datasource":{"id":1,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"via_test_result_grouping","op":"!=","val":"N/A"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","via_test_result_grouping"],"metrics":["count + per via test result"],"orderby":[["count per via test result",false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"1__table","viz_type":"pivot_table_v2","slice_id":4,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["via_test_result_grouping"],"metrics":["count + per via test result"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"via_test_result_grouping","operator":"!=","operatorId":"NOT_EQUALS","comparator":"N/A","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_wb6zuz83qde_1nmcjy79ejy"}],"row_limit":1000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"transposePivot":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: bc93b773-a54f-4070-9624-681d4940207e +version: 1.0.0 +dataset_uuid: 105ff668-0cd3-4674-82d2-bcecc6813280 diff --git a/base/configs/superset/assets/charts/ccs_for_women/number_of_women_with_via_tested_pivot_table.yaml b/base/configs/superset/assets/charts/ccs_for_women/number_of_women_with_via_tested_pivot_table.yaml new file mode 100644 index 00000000..4275b816 --- /dev/null +++ b/base/configs/superset/assets/charts/ccs_for_women/number_of_women_with_via_tested_pivot_table.yaml @@ -0,0 +1,56 @@ +slice_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\u1794\ + \u17B6\u1793 \u1792\u17D2\u179C\u17BE\u178F\u17C1\u179F\u17D2\u178F VIA (# of women\ + \ with VIA tested)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 1__table + viz_type: pivot_table_v2 + slice_id: 1 + granularity_sqla: date_started + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: [] + metrics: + - count has via test result + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: age_group + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_34jgyf68k4e_7xz6k799l7k + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: false + colTotals: true + transposePivot: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 1 +query_context: '{"datasource":{"id":1,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"age_group","op":"IS NOT + NULL"}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":["age_group"],"metrics":["count + has via test result"],"orderby":[["count has via test result",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"1__table","viz_type":"pivot_table_v2","slice_id":1,"granularity_sqla":"date_started","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":[],"metrics":["count has via + test result"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"age_group","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_34jgyf68k4e_7xz6k799l7k"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":false,"colTotals":true,"transposePivot":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: a57aa88b-eb68-4d6f-9061-107c47d6b76d +version: 1.0.0 +dataset_uuid: 105ff668-0cd3-4674-82d2-bcecc6813280 diff --git a/base/configs/superset/assets/dashboards/ccs_for_women_dashboard.yaml b/base/configs/superset/assets/dashboards/ccs_for_women_dashboard.yaml new file mode 100644 index 00000000..f48f4925 --- /dev/null +++ b/base/configs/superset/assets/dashboards/ccs_for_women_dashboard.yaml @@ -0,0 +1,268 @@ +dashboard_title: "\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179F\ + \u17BB\u1781\u1797\u17B6\u1796\u179A\u1780\u1787\u17C6\u1784\u17BA\u1798\u17A0\u17B6\ + \u179A\u17B8\u1780\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Cervical\ + \ Cancer Screening for Women)" +description: null +css: '' +slug: null +uuid: 598a8f33-de25-4a18-91b5-a87652c0b1de +position: + CHART-explore-1-1: + children: [] + id: CHART-explore-1-1 + meta: + chartId: 1 + height: 39 + sliceName: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u1794\u17B6\u1793 \u1792\u17D2\u179C\u17BE\u178F\u17C1\u179F\u17D2\u178F\ + \ VIA (# of women with VIA tested)" + uuid: a57aa88b-eb68-4d6f-9061-107c47d6b76d + width: 5 + parents: + - ROOT_ID + - GRID_ID + - ROW-SynNTx6Wta + type: CHART + CHART-explore-2-1: + children: [] + id: CHART-explore-2-1 + meta: + chartId: 2 + height: 39 + sliceName: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u1780\u17D2\u1793\u17BB\u1784\u1798\u17BD\u1799\u1794\u17D2\u179A\u1797\u17C1\ + \u1791\u1793\u17C3\u1780\u17B6\u179A\u1798\u1780\u179B\u17C1\u1784 (# of women\ + \ per visit type)" + sliceNameOverride: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\ + \u17B8\u1780\u17D2\u1793\u17BB\u1784\u1798\u17BD\u1799\u1794\u17D2\u179A\u1797\ + \u17C1\u1791\u1793\u17C3\u1780\u17B6\u179A\u1798\u1780\u179B\u17C1\u1784 (Visit\ + \ Type)" + uuid: ae4b7d1d-1bae-4a6f-bec4-71826613e857 + width: 7 + parents: + - ROOT_ID + - GRID_ID + - ROW-SynNTx6Wta + type: CHART + CHART-explore-3-1: + children: [] + id: CHART-explore-3-1 + meta: + chartId: 3 + height: 43 + sliceName: "\u1780\u17B6\u179A\u1782\u17D2\u179A\u1794\u17CB\u1782\u17D2\u179A\ + \u1784 (Management)" + uuid: 87838d2c-ca56-44f1-a3a7-ec7648dddcc3 + width: 5 + parents: + - ROOT_ID + - GRID_ID + - ROW-heF7YIV8Fy + type: CHART + CHART-explore-4-1: + children: [] + id: CHART-explore-4-1 + meta: + chartId: 4 + height: 43 + sliceName: "\u179B\u1791\u17D2\u1792\u1795\u179B\u178F\u17C1\u179F\u17D2\u178F\ + \ VIA (# of women per VIA result)" + sliceNameOverride: "\u179B\u1791\u17D2\u1792\u1795\u179B\u178F\u17C1\u179F\u17D2\ + \u178F VIA (VIA result)" + uuid: bc93b773-a54f-4070-9624-681d4940207e + width: 7 + parents: + - ROOT_ID + - GRID_ID + - ROW-heF7YIV8Fy + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-SynNTx6Wta + - ROW-heF7YIV8Fy + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: "\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179F\u17BB\ + \u1781\u1797\u17B6\u1796\u179A\u1780\u1787\u17C6\u1784\u17BA\u1798\u17A0\u17B6\ + \u179A\u17B8\u1780\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793 (Cervical\ + \ Cancer Screening for Women)" + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-SynNTx6Wta: + children: + - CHART-explore-1-1 + - CHART-explore-2-1 + id: ROW-SynNTx6Wta + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW + ROW-heF7YIV8Fy: + children: + - CHART-explore-4-1 + - CHART-explore-3-1 + id: ROW-heF7YIV8Fy + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + shared_label_colors: {} + color_scheme_domain: [] + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-_SzMBkp3w + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: health_facility_province + datasetUuid: 105ff668-0cd3-4674-82d2-bcecc6813280 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 1 + - 2 + - 3 + - 4 + tabsInScope: [] + - id: NATIVE_FILTER-eW0aXRxZ9 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: health_facility_district + datasetUuid: 105ff668-0cd3-4674-82d2-bcecc6813280 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-_SzMBkp3w + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 1 + - 2 + - 3 + - 4 + tabsInScope: [] + - id: NATIVE_FILTER-NjorMjb0S + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: health_facility_name + datasetUuid: 105ff668-0cd3-4674-82d2-bcecc6813280 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-_SzMBkp3w + - NATIVE_FILTER-eW0aXRxZ9 + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 1 + - 2 + - 3 + - 4 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-50wsyy1r2 + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + chartsInScope: [] + tabsInScope: [] + - id: NATIVE_FILTER-3I-WO1dDu + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 1 + - 2 + - 3 + - 4 + tabsInScope: [] +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ccs_for_women_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/ccs_for_women_dataset.yaml new file mode 100644 index 00000000..75418feb --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/ccs_for_women_dataset.yaml @@ -0,0 +1,378 @@ +table_name: Cervical Cancer Screening for Women +main_dttm_col: null +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS health_facility_code,\n\ + \ MAX(t3.name) AS health_facility_name,\n MAX(t3.state_province) AS health_facility_province,\n\ + \ MAX(t3.county_district) AS health_facility_district,\n MAX(t2.patient_uuid)\ + \ AS patient_uuid,\n MAX(\n DATE_PART ('year', age (t1.date_started, t2.birthdate))\n\ + \ ) AS age,\n MAX(t2.gender) AS gender,\n MAX(\n SUBSTRING(\n t1.visit_attributes\n\ + \ FROM\n 'Referred from: ([^/]*)'\n )\n ) AS referred_from,\n MAX(via.via_test)\ + \ AS via_test,\n MAX(via_res.via_test_result) AS via_test_result,\n MAX(\n \ + \ CASE\n WHEN via.via_test IS NOT NULL THEN 1\n ELSE 0\n END\n ) AS\ + \ has_via_test,\n -- VIA Test Results Groupings\n MAX(\n CASE\n WHEN via_res.via_test_result_uuid='703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\ + \ THEN 'VIA (+)'\n WHEN via_res.via_test_result_uuid='664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\ + \ THEN 'VIA (-)'\n WHEN via_res.via_test_result_uuid='da15c40f-e24b-4771-9986-d3ce5ca56b94'\ + \ THEN 'Unclear Result'\n WHEN via_res.via_test_result_uuid='7d469a03-a56b-4c51-a421-0e5787556630'\ + \ THEN 'Suspected Cancer'\n ELSE 'N/A'\n END\n ) AS via_test_result_grouping,\n\ + \ -- Referred from: Groupings\n MAX(\n CASE\n WHEN (\n t1.visit_attributes\ + \ LIKE '%Referred from: Other%'\n OR t1.visit_attributes LIKE '%Referred\ + \ from: Health Centre%'\n OR t1.visit_attributes LIKE '%Referred from: VHSG\ + \ (village health support group)%'\n ) THEN '\u1794\u1789\u17D2\u1787\u17BC\ + \u1793\u1798\u1780\u1796\u17B8 VHSG/HC \u1793\u17B7\u1784\u1795\u17D2\u179F\u17C1\ + \u1784\u17D7 (VHSG/Health Care/Other)'\n WHEN t1.visit_attributes LIKE '%Referred\ + \ from: Self presented%' THEN '\u1798\u1780\u1781\u17D2\u179B\u17BD\u1793\u17AF\u1784\ + \ (Self-Presented)'\n ELSE 'N/A'\n END\n ) AS referred_from_grouping,\n\ + \ MAX(obs4.treated) AS treated,\n MAX(\n CASE\n WHEN obs4.treated IS NOT\ + \ NULL THEN 1\n ELSE 0\n END\n ) AS is_treated,\n -- Age Group\n MAX(\n\ + \ CASE\n WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))<30\ + \ THEN '<30'\n WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))>=30\n\ + \ AND DATE_PART ('year', age (t1.date_started, t2.birthdate))<50 THEN '30-49'\n\ + \ WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))>=50 THEN '>50'\n\ + \ END\n ) AS age_group,\n MAX(obs5.cervical_cancer_referred) AS cervical_cancer_referred,\n\ + \ MAX(obs6.breast_cancer_referred) AS breast_cancer_referred,\n MAX(\n CASE\n\ + \ WHEN (\n obs5.cervical_cancer_referred IS NOT NULL\n OR obs6.breast_cancer_referred\ + \ IS NOT NULL\n ) THEN 1\n ELSE 0\n END\n ) AS referred\nFROM\n visits\ + \ t1\n LEFT JOIN patients t2 ON (t1.patient_uuid=t2.patient_uuid)\n LEFT JOIN\ + \ locations t3 ON (t1.location_uuid=t3.uuid)\n LEFT JOIN (\n SELECT\n MAX(date_created)\ + \ AS date_created,\n encounter_uuid,\n visit_uuid,\n answer_coded\ + \ AS via_test\n FROM\n observations\n WHERE\n question_uuid IN ('d2ec630a-a223-492a-89f2-597266b36571')\n\ + \ AND obs_voided IS FALSE\n GROUP BY\n encounter_uuid,\n visit_uuid,\n\ + \ question_uuid,\n via_test\n ) via ON (\n via.visit_uuid=t1.visit_uuid\n\ + \ AND via.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(date_created)\ + \ AS date_created,\n encounter_uuid,\n answer_coded AS via_test_result,\n\ + \ answer_coded_uuid AS via_test_result_uuid\n FROM\n observations\n\ + \ WHERE\n question_uuid IN ('27912a31-4b1e-40d4-a3a0-947e0eb2e588')\n \ + \ AND obs_voided IS FALSE\n GROUP BY\n encounter_uuid,\n question_uuid,\n\ + \ via_test_result,\n via_test_result_uuid\n ) via_res ON (\n via_res.encounter_uuid=via.encounter_uuid\n\ + \ AND via_res.encounter_uuid IS NOT NULL\n )\n -- Treatment Options\n LEFT\ + \ JOIN (\n SELECT\n MAX(date_created) AS date_created,\n encounter_uuid,\n\ + \ visit_uuid,\n answer_coded AS treated\n FROM\n observations\n\ + \ WHERE\n question_uuid IN ('1ca7d712-f7d7-4e09-8184-048bc4173902')\n \ + \ AND obs_voided IS FALSE\n GROUP BY\n encounter_uuid,\n visit_uuid,\n\ + \ question_uuid,\n treated\n ) obs4 ON (\n obs4.visit_uuid=t1.visit_uuid\n\ + \ AND obs4.visit_uuid IS NOT NULL\n AND t1.visit_uuid IS NOT NULL\n )\n \ + \ -- Cervical Referred\n LEFT JOIN (\n SELECT\n MAX(date_created) AS date_created,\n\ + \ encounter_uuid,\n visit_uuid,\n answer_coded AS cervical_cancer_referred,\n\ + \ answer_coded_uuid AS cervical_cancer_referred_uuid\n FROM\n observations\n\ + \ WHERE\n -- Cervical Cancer reason for referral\n question_uuid IN\ + \ ('c158e3b2-edf9-4e0e-9e95-d36de1a51527')\n AND obs_voided IS FALSE\n GROUP\ + \ BY\n encounter_uuid,\n visit_uuid,\n question_uuid,\n cervical_cancer_referred,\n\ + \ cervical_cancer_referred_uuid\n ) obs5 ON (\n obs5.visit_uuid=t1.visit_uuid\n\ + \ AND t1.visit_uuid IS NOT NULL\n )\n -- Breast Referred\n LEFT JOIN (\n \ + \ SELECT\n MAX(date_created) AS date_created,\n encounter_uuid,\n \ + \ visit_uuid,\n answer_coded AS breast_cancer_referred,\n answer_coded_uuid\ + \ AS breast_cancer_referred_uuid\n FROM\n observations\n WHERE\n \ + \ -- Breast Cancer reason for referral\n question_uuid IN ('e676ab7f-13b0-4251-84fd-9874c80133b5')\n\ + \ AND obs_voided IS FALSE\n GROUP BY\n encounter_uuid,\n visit_uuid,\n\ + \ question_uuid,\n breast_cancer_referred,\n breast_cancer_referred_uuid\n\ + \ ) obs6 ON (\n obs6.visit_uuid=t1.visit_uuid\n AND t1.visit_uuid IS NOT\ + \ NULL\n )\nWHERE\n -- Cervical Cancer New Visit & Cervical Cancer Follow-up Visit\n\ + \ t1.visit_type_uuid IN (\n 'cad25c07-4657-4167-8b57-8ea1a3830e9b',\n 'd2bf1776-671d-4e0f-a850-f7fef7aa4044'\n\ + \ )\n AND t1.visit_voided IS FALSE\n AND t2.person_voided IS FALSE\n AND t2.patient_uuid\ + \ IS NOT NULL\n AND t2.gender='F'\nGROUP BY\n t2.patient_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 105ff668-0cd3-4674-82d2-bcecc6813280 +metrics: +- metric_name: count has via test result + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u1794\u17B6\u1793 \u1792\u17D2\u179C\u17BE\u178F\u17C1\u179F\u17D2\u178F VIA\ + \ (# of women with VIA tested)" + metric_type: null + expression: SUM(has_via_test) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count per via test result + verbose_name: "\u179B\u1791\u17D2\u1792\u1795\u179B\u178F\u17C1\u179F\u17D2\u178F\ + \ VIA (VIA Result)" + metric_type: null + expression: COUNT(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count per visit type + verbose_name: "\u1780\u17B6\u179A\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\u17D2\ + \u1799 (Visit Type)" + metric_type: null + expression: COUNT(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum referred + verbose_name: "\u1794\u1789\u17D2\u1787\u17BC\u1793 (Referred)" + metric_type: null + expression: SUM(referred) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum treated + verbose_name: "\u1794\u17B6\u1793\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B (Treated)" + metric_type: null + expression: SUM(is_treated) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: referred_from_grouping + verbose_name: "\u1780\u17B6\u179A\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\u17D2\ + \u1799 (Visit Type)" + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: Referred from + python_date_format: null + extra: {} +- column_name: age_group + verbose_name: "\u17A2\u17B6\u1799\u17BB\u179F\u17D2\u178F\u17D2\u179A\u17B8 (\u1786\ + \u17D2\u1793\u17B6\u17C6) (Age (Years))" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: via_test_result_grouping + verbose_name: "\u179B\u1791\u17D2\u1792\u1795\u179B\u178F\u17C1\u179F\u17D2\u178F\ + \ VIA (VIA Result)" + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: date_started + verbose_name: null + is_dttm: true + is_active: null + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: null + is_dttm: false + is_active: null + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: has_via_test + verbose_name: null + is_dttm: false + is_active: null + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: is_treated + verbose_name: null + is_dttm: false + is_active: null + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_name + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_code + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_district + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_province + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: via_test_result + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: via_test + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred_from + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: treated + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: null + is_dttm: false + is_active: null + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: breast_cancer_referred + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cervical_cancer_referred + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: patient_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/self_breast_educated_and_examined_women_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/self-breast_educated_and_examined_women_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/self_breast_educated_and_examined_women_dataset.yaml rename to base/configs/superset/assets/datasets/PostgreSQL/self-breast_educated_and_examined_women_dataset.yaml index 1f4a9b00..626e057e 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/self_breast_educated_and_examined_women_dataset.yaml +++ b/base/configs/superset/assets/datasets/PostgreSQL/self-breast_educated_and_examined_women_dataset.yaml @@ -1,4 +1,4 @@ -table_name: self-breast-educated-and-examinated-women +table_name: Self-Breast Educated and Examined Women main_dttm_col: null description: null default_endpoint: null From 6fa3194a1834a2f26c2c5be91fdadcfe5233e22a Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 17 Jun 2024 19:36:20 +0300 Subject: [PATCH 06/20] KH-523: Add CCS report on appointment status tracking --- .../appointment_status_tracking_table.yaml | 53 ++++ ...appointment_status_tracking_dashboard.yaml | 149 +++++++++++ ...s_appointment_status_tracking_dataset.yaml | 249 ++++++++++++++++++ 3 files changed, 451 insertions(+) create mode 100644 base/configs/superset/assets/charts/appointment_status_tracking_table.yaml create mode 100644 base/configs/superset/assets/dashboards/ccs_appointment_status_tracking_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/ccs_appointment_status_tracking_dataset.yaml diff --git a/base/configs/superset/assets/charts/appointment_status_tracking_table.yaml b/base/configs/superset/assets/charts/appointment_status_tracking_table.yaml new file mode 100644 index 00000000..f4f9165f --- /dev/null +++ b/base/configs/superset/assets/charts/appointment_status_tracking_table.yaml @@ -0,0 +1,53 @@ +slice_name: Appointment status tracking +description: 'A table showing the appointment status tracking of cervical cancer screening patients.' +certified_by: null +certification_details: null +viz_type: table +params: + datasource: 5__table + viz_type: table + time_grain_sqla: P1D + time_range: No filter + query_mode: raw + groupby: [] + metrics: [] + all_columns: + - hf_name + - hf_district + - hf_province + - patient_id + - patient_name + - age + - phone_number + - country + - province + - district + - commune + - village + - css_appointment_date + - css_appointment_reason + - bcs_appointment_date + - bcs_appointment_reason + percent_metrics: [] + adhoc_filters: [] + order_by_cols: [] + row_limit: 1000 + server_page_length: 10 + order_desc: true + table_timestamp_format: smart_date + show_cell_bars: true + color_pn: true + column_config: + age: + showCellBars: false + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 5 +query_context: '{"datasource":{"id":5,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["hf_name","hf_district","hf_province","patient_id","patient_name","age","phone_number","country","province","district","commune","village","css_appointment_date","css_appointment_reason","bcs_appointment_date","bcs_appointment_reason"],"orderby":[],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"5__table","viz_type":"table","time_grain_sqla":"P1D","time_range":"No + filter","query_mode":"raw","groupby":[],"metrics":[],"all_columns":["hf_name","hf_district","hf_province","patient_id","patient_name","age","phone_number","country","province","district","commune","village","css_appointment_date","css_appointment_reason","bcs_appointment_date","bcs_appointment_reason"],"percent_metrics":[],"adhoc_filters":[],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"include_time":false,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"column_config":{"age":{"showCellBars":false}},"conditional_formatting":[],"extra_form_data":{},"dashboards":[5],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 127c71e6-af8a-4d9a-ba10-c56e534d9956 +version: 1.0.0 +dataset_uuid: 5279e6d6-998b-4e05-9a47-811df81cd533 diff --git a/base/configs/superset/assets/dashboards/ccs_appointment_status_tracking_dashboard.yaml b/base/configs/superset/assets/dashboards/ccs_appointment_status_tracking_dashboard.yaml new file mode 100644 index 00000000..5361dab3 --- /dev/null +++ b/base/configs/superset/assets/dashboards/ccs_appointment_status_tracking_dashboard.yaml @@ -0,0 +1,149 @@ +dashboard_title: Cervical Cancer Screening Appointment Status Tracking +description: 'A dashboard showing the appointment status tracking of cervical cancer screening patients.' +css: '' +slug: ccs-appointment-status-tracking +uuid: bd5d5e2c-eb3e-482f-979a-db65e89ac760 +position: + CHART-explore-17-1: + children: [] + id: CHART-explore-17-1 + meta: + chartId: 17 + height: 100 + sliceName: Appointment status tracking + uuid: 127c71e6-af8a-4d9a-ba10-c56e534d9956 + width: 12 + parents: + - ROOT_ID + - GRID_ID + - ROW-001cuASlG3 + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-001cuASlG3 + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: CCS Appointment Status Tracking + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-001cuASlG3: + children: + - CHART-explore-17-1 + id: ROW-001cuASlG3 + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-EumcJiApY + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: hf_province + datasetUuid: 5279e6d6-998b-4e05-9a47-811df81cd533 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 17 + tabsInScope: [] + - id: NATIVE_FILTER-uTQNiHhdj + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: hf_district + datasetUuid: 5279e6d6-998b-4e05-9a47-811df81cd533 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-EumcJiApY + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 17 + tabsInScope: [] + - id: NATIVE_FILTER-78Q-prkY0 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: hf_name + datasetUuid: 5279e6d6-998b-4e05-9a47-811df81cd533 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-EumcJiApY + - NATIVE_FILTER-uTQNiHhdj + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 17 + tabsInScope: [] + shared_label_colors: {} + color_scheme_domain: [] +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ccs_appointment_status_tracking_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/ccs_appointment_status_tracking_dataset.yaml new file mode 100644 index 00000000..3f4c5b9d --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/ccs_appointment_status_tracking_dataset.yaml @@ -0,0 +1,249 @@ +table_name: CCS Appointment Status Tracking +main_dttm_col: null +description: 'A subset of the visits table that shows the appointment status tracking of cervical cancer screening patients.' +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT \n t1.date_started,\n\tt3.name AS hf_name,\n\tt3.county_district AS hf_district,\n\ + \ t3.state_province AS hf_province,\n\tSUBSTRING(\n t2.identifiers\n FROM\n\ + \ 'OpenMRS ID: ([^,]*)'\n ) AS patient_id,\n\tCONCAT_WS(' ', given_name, middle_name,\ + \ family_name) AS patient_name,\n DATE_PART('year', age(t1.date_started, birthdate))\ + \ AS age,\n\tCASE \n WHEN attributes ~ '.*Telephone Number: (.*?)(\\/|$).*'\ + \ THEN REGEXP_REPLACE(attributes, '.*Telephone Number: (.*?)(\\/|$).*', '\\1', 'g')\n\ + \ ELSE ''\n END AS phone_number,\n\tt2.address_country AS country,\n \ + \ t2.address_state_province AS province,\n t2.address_county_district AS district,\n\ + \ t2.address_city AS commune,\n t2.address_1 AS village,\n -- Form changes required.\n\ + \ -- ccs short for cervical cancer screening\n -- bcs short for breast cancer\ + \ screening\n\tCASE \n WHEN t1.visit_uuid is not null THEN NULL\n END\ + \ AS css_appointment_date,\n\tCASE \n WHEN t1.visit_uuid is not null THEN\ + \ NULL\n END AS css_appointment_reason,\n\tCASE \n WHEN t1.visit_uuid\ + \ is not null THEN NULL\n END AS bcs_appointment_date,\n\tCASE \n WHEN\ + \ t1.visit_uuid is not null THEN NULL\n END AS bcs_appointment_reason\n\tFROM\ + \ \n\tvisits t1 \n\tLEFT JOIN patients t2 ON (t1.patient_uuid = t2.patient_uuid)\n\ + \tLEFT JOIN locations t3 ON (t1.location_uuid = t3.uuid)\n\t-- Cervical Cancer New\ + \ Visit & Cervical Cancer Follow-up Visit\n\tWHERE t1.visit_type_uuid IN (\n \ + \ 'cad25c07-4657-4167-8b57-8ea1a3830e9b',\n 'd2bf1776-671d-4e0f-a850-f7fef7aa4044')\ + \ \n AND t1.visit_voided is false \n AND t2.person_voided is false \n AND t2.patient_uuid\ + \ is not null" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 5279e6d6-998b-4e05-9a47-811df81cd533 +metrics: +- metric_name: count + verbose_name: null + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: patient_id + verbose_name: "ID \u17A2\u178F\u17B7\u1790\u17B7\u1787\u1793 (EMR) (Patient ID EMR)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: bcs_appointment_date + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \ \u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794 (Breast Cancer Appointment Date)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: bcs_appointment_reason + verbose_name: "\u1798\u17BC\u179B\u17A0\u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\ + \u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794 (Breast Cancer Reason for Appointment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: css_appointment_date + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \ \u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794 (Cervical Cancer Appointment Date)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: css_appointment_reason + verbose_name: "\u1798\u17BC\u179B\u17A0\u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\ + \u179A\u178E\u17B6\u178F\u17CB\u1787\u17BD\u1794 (Cervical Cancer Reason for Appointment)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: patient_name + verbose_name: "\u1782\u17C4\u178F\u17D2\u178F\u1793\u17B6\u1798 -\u1793\u17B6\u1798\ + \ \u17A2\u178F\u17B7\u1790\u17B7\u1787\u1793 (Client's Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: "\u17A2\u17B6\u1799\u17BB (\u1786\u17D2\u1793\u17B6\u17C6) (Age in\ + \ Years)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hf_name + verbose_name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B (\u1780\u17BC\u178A_\u1788\u17D2\u1798\u17C4\ + \u17C7) (Health Facility)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: phone_number + verbose_name: "\u179B\u17C1\u1781\u1791\u17BC\u179A\u179F\u17D0\u1796\u17D2\u1791\ + \ (Phone Number)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hf_province + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F/\u1780\u17D2\u179A\u17BB\u1784 (Province)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: commune + verbose_name: "\u1783\u17BB\u17C6 (Commune)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hf_district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\ + \u178F\u17D2\u178F\u17B7 (OD)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780 (District)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: province + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: village + verbose_name: "\u1797\u17BC\u1798\u17B7 (Village)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: country + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 From 955b798dff6a2ce375bc2f330675012e807fffba Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Tue, 18 Jun 2024 08:10:06 +0300 Subject: [PATCH 07/20] KH-525: Add Indicators for monitoring CCS management program report --- ...cators_for_monitoring_ccs_pivot_table.yaml | 83 ++++ ...dicators_for_monitoring_ccs_dashboard.yaml | 185 ++++++++ ...indicators_for_monitoring_ccs_dataset.yaml | 394 ++++++++++++++++++ 3 files changed, 662 insertions(+) create mode 100644 base/configs/superset/assets/charts/indicators_for_monitoring_ccs_pivot_table.yaml create mode 100644 base/configs/superset/assets/dashboards/indicators_for_monitoring_ccs_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/indicators_for_monitoring_ccs_dataset.yaml diff --git a/base/configs/superset/assets/charts/indicators_for_monitoring_ccs_pivot_table.yaml b/base/configs/superset/assets/charts/indicators_for_monitoring_ccs_pivot_table.yaml new file mode 100644 index 00000000..d942096f --- /dev/null +++ b/base/configs/superset/assets/charts/indicators_for_monitoring_ccs_pivot_table.yaml @@ -0,0 +1,83 @@ +slice_name: Cervical Cancer Screening Indicators +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 15__table + viz_type: pivot_table_v2 + slice_id: 33 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: [] + groupbyRows: [] + metrics: + - screen ccs + - percentage screen + - screen ccs positive + - percentage screen ccs positive + - screen ccs positive received treatment + - percentage screen ccs positive received treatment + metricsLayout: ROWS + adhoc_filters: + - expressionType: SIMPLE + subject: women_aged_30_49 + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_ca6zjx4c3c_fputwptq5t6 + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + transposePivot: false + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: + - colorScheme: '#ACE1C4' + column: screen ccs + operator: None + - colorScheme: '#ACE1C4' + column: screen ccs positive + operator: None + - colorScheme: '#FDE380' + column: percentage screen ccs positive + operator: None + - colorScheme: '#FDE380' + column: screen ccs positive received treatment + operator: None + - colorScheme: '#ACE1C4' + column: screen ccs positive received treatment + operator: None + - colorScheme: '#FDE380' + column: percentage screen ccs positive received treatment + operator: None + extra_form_data: {} + dashboards: + - 3 +query_context: '{"datasource":{"id":15,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"women_aged_30_49","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":["screen + ccs","percentage screen","screen ccs positive","percentage screen ccs positive","screen + ccs positive received treatment","percentage screen ccs positive received treatment"],"orderby":[["screen + ccs",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"15__table","viz_type":"pivot_table_v2","slice_id":33,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":[],"groupbyRows":[],"metrics":["screen ccs","percentage + screen","screen ccs positive","percentage screen ccs positive","screen ccs positive + received treatment","percentage screen ccs positive received treatment"],"metricsLayout":"ROWS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"women_aged_30_49","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_ca6zjx4c3c_fputwptq5t6"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[{"colorScheme":"#ACE1C4","column":"screen + ccs","operator":"None"},{"colorScheme":"#ACE1C4","column":"screen ccs positive","operator":"None"},{"colorScheme":"#FDE380","column":"percentage + screen ccs positive","operator":"None"},{"colorScheme":"#FDE380","column":"screen + ccs positive received treatment","operator":"None"},{"colorScheme":"#ACE1C4","column":"screen + ccs positive received treatment","operator":"None"},{"colorScheme":"#FDE380","column":"percentage + screen ccs positive received treatment","operator":"None"}],"extra_form_data":{},"dashboards":[3],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 283c79b5-3b29-4e3a-9f4d-03a8b9afe1d9 +version: 1.0.0 +dataset_uuid: 21edab6c-4a53-4161-9f2c-f9cd1f305b13 diff --git a/base/configs/superset/assets/dashboards/indicators_for_monitoring_ccs_dashboard.yaml b/base/configs/superset/assets/dashboards/indicators_for_monitoring_ccs_dashboard.yaml new file mode 100644 index 00000000..821cc30a --- /dev/null +++ b/base/configs/superset/assets/dashboards/indicators_for_monitoring_ccs_dashboard.yaml @@ -0,0 +1,185 @@ +dashboard_title: "\u179F\u17BC\u1785\u1793\u17B6\u1780\u179A\u179F\u1798\u17D2\u179A\ + \u17B6\u1794\u17CB\u178F\u17B6\u1798\u178A\u17B6\u1793 \u1793\u17B7\u1784\u179C\u17B6\ + \u1799\u178F\u1798\u17D2\u179B\u17C3 \u1780\u1798\u17D2\u1798\u179C\u17B7\u1792\u17B8\ + \u1798\u17A0\u17B6\u179A\u17B8\u1780\u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\ + \u1793 (Indicators for Monitoring CCS & Management Program)" +description: null +css: '' +slug: null +uuid: 1e29a573-45ba-4ead-b544-fb555138efb7 +position: + CHART-explore-33-1: + children: [] + id: CHART-explore-33-1 + meta: + chartId: 33 + height: 52 + sliceName: Cervical Cancer Screen Indicators + sliceNameOverride: Indicators for Cervical Cancer Screening & Management Program + uuid: 283c79b5-3b29-4e3a-9f4d-03a8b9afe1d9 + width: 12 + parents: + - ROOT_ID + - GRID_ID + - ROW-UH7B0_KaVQ + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-UH7B0_KaVQ + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: "\u179F\u17BC\u1785\u1793\u17B6\u1780\u179A\u179F\u1798\u17D2\u179A\u17B6\ + \u1794\u17CB\u178F\u17B6\u1798\u178A\u17B6\u1793 \u1793\u17B7\u1784\u179C\u17B6\ + \u1799\u178F\u1798\u17D2\u179B\u17C3 \u1780\u1798\u17D2\u1798\u179C\u17B7\u1792\ + \u17B8\u1798\u17A0\u17B6\u179A\u17B8\u1780\u1798\u17B6\u178F\u17CB\u179F\u17D2\ + \u1794\u17BC\u1793 (Indicators for Monitoring CCS & Management Program)" + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-UH7B0_KaVQ: + children: + - CHART-explore-33-1 + id: ROW-UH7B0_KaVQ + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + shared_label_colors: {} + color_scheme_domain: [] + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-jaw_unswl + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: health_facility_province + datasetUuid: 21edab6c-4a53-4161-9f2c-f9cd1f305b13 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 33 + tabsInScope: [] + - id: NATIVE_FILTER-5bE4xrqnn + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: health_facility_district + datasetUuid: 21edab6c-4a53-4161-9f2c-f9cd1f305b13 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-jaw_unswl + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 33 + tabsInScope: [] + - id: NATIVE_FILTER-qGPG35Zp1 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: health_facility_name + datasetUuid: 21edab6c-4a53-4161-9f2c-f9cd1f305b13 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-jaw_unswl + - NATIVE_FILTER-5bE4xrqnn + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 33 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-CjYpa69pL + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + - id: NATIVE_FILTER-ImsFdJ9jV + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: A selected period in time. +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/indicators_for_monitoring_ccs_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/indicators_for_monitoring_ccs_dataset.yaml new file mode 100644 index 00000000..55a31b2a --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/indicators_for_monitoring_ccs_dataset.yaml @@ -0,0 +1,394 @@ +table_name: Indicators for Monitoring CCS Management Program +main_dttm_col: date_started +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n t1.date_started,\n t1.patient_uuid,\n t3.postal_code AS health_facility_code,\n\ + \ t3.name AS health_facility_name,\n t3.county_district AS health_facility_district,\n\ + \ t3.state_province AS health_facility_province,\n DATE_PART ('year', age (t1.date_started,\ + \ t2.birthdate)) AS age,\n t2.gender,\n via.is_screen_cc,\n via.is_screen_cc_uuid,\n\ + \ via.test_type,\n via.via_test_result,\n via.via_test_result_uuid,\n via.via_treatment,\n\ + \ CASE\n WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate)) BETWEEN\ + \ 30 AND 49 THEN 'count/(%)'\n ELSE NULL\n END AS women_aged_30_49,\nCASE\n\ + \ WHEN is_screen_cc_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' THEN 1\n ELSE\ + \ 0\n END AS screen_for_ccs,\n CASE\n WHEN is_screen_cc_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND via_test_result_uuid='703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' THEN 1\n \ + \ ELSE 0\n END AS screen_cc_and_positive,\n CASE -- \n WHEN is_screen_cc_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND via.via_treatment_uuid='4070623e-945b-499f-8b62-316e699a3cc7'\n AND\ + \ via.via_test_result_uuid='703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\tAND via.ca_treatment_uuid\ + \ ='d534da3e-7b59-40ca-a415-d2f5eb94f4a3' THEN 1\n ELSE 0\n END AS screen_cc_and_positive_received_treatment\n\ + FROM\n visits t1\n LEFT JOIN patients t2 ON (t1.patient_uuid=t2.patient_uuid)\n\ + \ LEFT JOIN locations t3 ON (t1.location_uuid=t3.uuid)\n -- Screen for CS VIA\ + \ test, result and treatment\n LEFT JOIN (\n SELECT\n o.encounter_uuid,\n\ + \ o.visit_uuid,\n MAX(o.date_created),\n o.answer_coded AS is_screen_cc,\n\ + \ o.answer_coded_uuid AS is_screen_cc_uuid,\n obs1.answer_coded AS test_type,\n\ + \ obs3.answer_coded AS via_test_result,\n obs3.answer_coded_uuid AS via_test_result_uuid,\n\ + \ obs6.answer_coded AS via_treatment,\n obs6.answer_coded_uuid AS via_treatment_uuid,\n\ + \t obs7.answer_coded AS ca_treatment,\n obs7.answer_coded_uuid AS ca_treatment_uuid\n\ + \ FROM\n observations o\n -- Test Type\n LEFT JOIN observations\ + \ obs1 ON (\n o.encounter_uuid=obs1.encounter_uuid\n AND o.answer_coded_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND obs1.question_uuid='baf42703-65ed-4ea3-9d3f-e5cf0305d2fd'\n )\n\ + \ -- VIA Test Result\n LEFT JOIN observations obs3 ON (\n o.encounter_uuid=obs3.encounter_uuid\n\ + \ AND obs1.answer_coded_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n \ + \ AND obs3.question_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n )\n \ + \ -- VIA Treatment\n LEFT JOIN observations obs6 ON (\n o.encounter_uuid=obs6.encounter_uuid\n\ + \ AND obs1.answer_coded_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n \ + \ AND obs6.question_uuid='6027bf55-5288-4ace-bc7f-b75d2291f8e0'\n )\n\t\ + -- Cervical Cancer Treatment\n LEFT JOIN observations obs7 ON (\n o.encounter_uuid=obs7.encounter_uuid\n\ + \ AND obs1.answer_coded_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n \ + \ AND obs7.question_uuid='1ca7d712-f7d7-4e09-8184-048bc4173902'\n )\n \ + \ WHERE\n o.question_uuid='75681e39-683c-4de9-9ca7-5b55b736bfa7' -- screen\ + \ for ccs\n AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n\ + \ o.visit_uuid,\n o.answer_coded,\n o.answer_coded_uuid,\n obs1.answer_coded,\n\ + \ obs3.answer_coded,\n obs3.answer_coded_uuid,\n obs6.answer_coded,\n\ + \ obs6.answer_coded_uuid,\n obs1.question_uuid,\n obs3.question_uuid,\n\ + \ obs6.question_uuid,\n\t obs7.answer_coded,\n obs7.answer_coded_uuid,\n\ + \t obs7.question_uuid\n ) via ON (\n via.visit_uuid=t1.visit_uuid\n AND\ + \ via.visit_uuid IS NOT NULL\n )\nWHERE\n -- Cervical Cancer New Visit\n t1.visit_type_uuid\ + \ IN ('cad25c07-4657-4167-8b57-8ea1a3830e9b')\n AND t1.visit_voided IS FALSE\n\ + \ AND t2.person_voided IS FALSE\n AND t2.patient_uuid IS NOT NULL\n -- Women\ + \ aged between 30 and 49\n AND t2.gender='F'\n AND DATE_PART ('year', age (now\ + \ (), t2.birthdate)) BETWEEN 30 AND 49\n -- Last 12 months\n AND t1.date_started>=(NOW\ + \ ()-INTERVAL '1 year')" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 21edab6c-4a53-4161-9f2c-f9cd1f305b13 +metrics: +- metric_name: percentage screen ccs positive + verbose_name: " \u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u179F\u17D2\u178F\u17D2\ + \u179A\u17B8\u17A2\u17B6\u1799\u17BB\u1796\u17B8 \u17E3\u17E0 \u178A\u179B\u17CB\ + \ \u17E4\u17E9\u1786\u17D2\u1793\u17B6\u17C6 \u178A\u17C2\u179B\u1794\u17B6\u1793\ + \u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179F\u17BB\u1781\u1797\u17B6\u1796\ + \u1798\u17B6\u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793\u179A\u1780\u178A\u17C6\ + \u1794\u17C5\u1798\u17BB\u1793\u1780\u17D2\u179B\u17B6\u1799\u1787\u17B6\u1798\ + \u17A0\u17B6\u179A\u17B8\u1780 \u1793\u17B7\u1784\u1798\u17B6\u1793\u179B\u1791\ + \u17D2\u1792\u1795\u179B\u179C\u17B7\u1787\u17D2\u1787\u1798\u17B6\u1793 \u1780\ + \u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2 \u1781\ + \u17C2\u1798\u17BB\u1793\u17D4 (Percentage of women aged 30 - 49 who had a cervical\ + \ cancer screening to detect the pre-cancerous lesion and had positive result\ + \ in the last 12 months)" + metric_type: null + expression: ROUND((SUM(screen_cc_and_positive)::decimal / NULLIF(COUNT(DISTINCT + patient_uuid), 0)) * 100, 2) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage screen ccs positive received treatment + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u179F\u17D2\u178F\u17D2\ + \u179A\u17B8\u17A2\u17B6\u1799\u17BB\u1796\u17B8 \u17E3\u17E0 \u178A\u179B\u17CB\ + \ \u17E4\u17E9\u1786\u17D2\u1793\u17B6\u17C6 \u178A\u17C2\u179B\u1798\u17B6\u1793\ + \u179B\u1791\u17D2\u1792\u1795\u179B\u178F\u17C1\u179F\u17D2\u178F\u179C\u17B7\ + \u1787\u17D2\u1787\u1798\u17B6\u1793 \u1793\u17B7\u1784\u1794\u17B6\u1793\u1791\ + \u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\ + \u179F\u1798\u179F\u17D2\u179A\u1794 \u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ + \u17C8\u1796\u17C1\u179B \u17E1\u17E2 \u1781\u17C2\u1798\u17BB\u1793\u17D4 (Percentage\ + \ of women aged 30\u200B - \u200B\u200B49 who had positive result and received\ + \ appropriate cervical cancer lesion treatment in the last 12 months)" + metric_type: null + expression: ROUND((SUM(screen_cc_and_positive_received_treatment)::decimal / NULLIF(SUM(screen_cc_and_positive), + 0)) * 100, 2) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: screen ccs + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u17A2\u17B6\u1799\u17BB\u1796\u17B8 \u17E3\u17E0 \u178A\u179B\u17CB \u17E4\u17E9\ + \u1786\u17D2\u1793\u17B6\u17C6 \u1794\u17B6\u1793\u1796\u17B7\u1793\u17B7\u178F\ + \u17D2\u1799\u179F\u17BB\u1781\u1797\u17B6\u1796\u1798\u17B6\u178F\u17CB\u179F\ + \u17D2\u1794\u17BC\u1793\u179A\u1780\u178A\u17C6\u1794\u17C5\u1798\u17BB\u1793\ + \u1780\u17D2\u179B\u17B6\u1799\u1787\u17B6\u1798\u17A0\u17B6\u179A\u17B8\u1780\ + \u179B\u17BE\u1780\u178A\u17C6\u1794\u17BC\u1784 \u1780\u17D2\u1793\u17BB\u1784\ + \u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2 \u1781\u17C2\u1798\u17BB\u1793\ + \u17D4 (Number of women aged 30 - 49 who have had cervical cancer screening for\ + \ the first time to detect the pre-cancerous lesion in the last 12 months)" + metric_type: null + expression: COUNT(DISTINCT patient_uuid) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: screen ccs positive + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u17A2\u17B6\u1799\u17BB\u1796\u17B8 \u17E3\u17E0 \u178A\u179B\u17CB \u17E4\u17E9\ + \u1786\u17D2\u1793\u17B6\u17C6 \u178A\u17C2\u179B\u1794\u17B6\u1793\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799\u179F\u17BB\u1781\u1797\u17B6\u1796\u1798\u17B6\ + \u178F\u17CB\u179F\u17D2\u1794\u17BC\u1793\u179A\u1780\u178A\u17C6\u1794\u17C5\ + \u1798\u17BB\u1793\u1780\u17D2\u179B\u17B6\u1799\u1787\u17B6\u1798\u17A0\u17B6\ + \u179A\u17B8\u1780 \u1793\u17B7\u1784\u1798\u17B6\u1793\u179B\u1791\u17D2\u1792\ + \u1795\u179B\u179C\u17B7\u1787\u17D2\u1787\u1798\u17B6\u1793 \u1780\u17D2\u1793\ + \u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2 \u1781\u17C2\u1798\ + \u17BB\u1793\u17D4 (Number of women aged 30 - 49 who had a cervical cancer screening\ + \ to detect the pre-cancerous lesion and had positive result in the last 12 months)" + metric_type: null + expression: SUM(screen_cc_and_positive) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage screen + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u179F\u17D2\u178F\u17D2\ + \u179A\u17B8\u17A2\u17B6\u1799\u17BB\u1796\u17B8 \u17E3\u17E0 \u178A\u179B\u17CB\ + \ \u17E4\u17E9\u1786\u17D2\u1793\u17B6\u17C6 \u1794\u17B6\u1793\u1796\u17B7\u1793\ + \u17B7\u178F\u17D2\u1799\u179F\u17BB\u1781\u1797\u17B6\u1796\u1798\u17B6\u178F\ + \u17CB\u179F\u17D2\u1794\u17BC\u1793\u179A\u1780\u178A\u17C6\u1794\u17C5\u1798\ + \u17BB\u1793\u1780\u17D2\u179B\u17B6\u1799\u1787\u17B6\u1798\u17A0\u17B6\u179A\ + \u17B8\u1780\u179B\u17BE\u1780\u178A\u17C6\u1794\u17BC\u1784 \u1780\u17D2\u1793\ + \u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2 \u1781\u17C2\u1798\ + \u17BB\u1793\u17D4 (Percentage of women aged 30 - 49 who have had cervical cancer\ + \ screening for the first time to detect the pre-cancerous lesion in the last\ + \ 12 months)" + metric_type: null + expression: '''N/A''' + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: screen ccs positive received treatment + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u17D2\u178F\u17D2\u179A\u17B8\ + \u17A2\u17B6\u1799\u17BB\u1796\u17B8 \u17E3\u17E0 \u178A\u179B\u17CB \u17E4\u17E9\ + \u1786\u17D2\u1793\u17B6\u17C6 \u178A\u17C2\u179B\u1798\u17B6\u1793\u179B\u1791\ + \u17D2\u1792\u1795\u179B\u178F\u17C1\u179F\u17D2\u178F\u179C\u17B7\u1787\u17D2\ + \u1787\u1798\u17B6\u1793 \u1793\u17B7\u1784\u1794\u17B6\u1793\u1791\u1791\u17BD\ + \u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u179F\u1798\ + \u179F\u17D2\u179A\u1794 \u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\ + \u17C1\u179B \u17E1\u17E2 \u1781\u17C2\u1798\u17BB\u1793\u17D4 (Number of women\ + \ aged 30\u200B - \u200B\u200B49 who had positive result and received appropriate\ + \ cervical cancer lesion treatment in the last 12 months)" + metric_type: null + expression: SUM(screen_cc_and_positive_received_treatment) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: women_aged_30_49 + verbose_name: Indicators + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: date_started + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: screen_cc_and_positive_received_treatment + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: screen_cc_and_positive + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: screen_for_ccs + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: via_test_result_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: is_screen_cc_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_name + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_code + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_district + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_province + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: via_test_result + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: is_screen_cc + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: via_treatment + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: patient_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: test_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 From 6a097eb7676737c84228f17d231b6e07374ae6b7 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Tue, 18 Jun 2024 11:01:09 +0300 Subject: [PATCH 08/20] KH-533: Add NCD RH EMR Report --- ..._of_dm_and_hbp_cumulative_pivot_table.yaml | 48 + ...mplications_of_dm_and_hbp_pivot_table.yaml | 47 + .../death_cumulative_pivot_table.yaml | 45 + .../ncd_rh_emr_report/death_pivot_table.yaml | 45 + .../diagnosis_cumulative_pivot_table.yaml | 49 + .../diagnosis_pivot_table.yaml | 48 + .../follow_up_cumulative_pivot_table.yaml | 48 + .../follow_up_pivot_table.yaml | 47 + ...loss_follow_up_cumulative_pivot_table.yaml | 50 + .../loss_follow_up_pivot_table.yaml | 50 + .../register_cumulative_pivot_table.yaml | 44 + .../register_pivot_table.yaml | 44 + .../ncd_rh_emr_report_dashboard.yaml | 655 ++++++++++++ .../PostgreSQL/ncd_rh_emr_dataset.yaml | 929 ++++++++++++++++++ 14 files changed, 2149 insertions(+) create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/complications_of_dm_and_hbp_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/complications_of_dm_and_hbp_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/death_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/death_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/diagnosis_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/diagnosis_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/follow_up_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/follow_up_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/loss_follow_up_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/loss_follow_up_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/register_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_report/register_pivot_table.yaml create mode 100644 base/configs/superset/assets/dashboards/ncd_rh_emr_report_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_dataset.yaml diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/complications_of_dm_and_hbp_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/complications_of_dm_and_hbp_cumulative_pivot_table.yaml new file mode 100644 index 00000000..543279c0 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/complications_of_dm_and_hbp_cumulative_pivot_table.yaml @@ -0,0 +1,48 @@ +slice_name: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (Complication of DM & HBP) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + slice_id: 50 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count cvd + - count neuropathy + - count nephropathy + - count retinopathy + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + cvd","count neuropathy","count nephropathy","count retinopathy"],"orderby":[["count + cvd",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","slice_id":50,"granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + cvd","count neuropathy","count nephropathy","count retinopathy"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 6356cb61-ae01-4230-8202-f5732c399321 +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/complications_of_dm_and_hbp_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/complications_of_dm_and_hbp_pivot_table.yaml new file mode 100644 index 00000000..9cccb58b --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/complications_of_dm_and_hbp_pivot_table.yaml @@ -0,0 +1,47 @@ +slice_name: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (Complication of DM & HBP)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count cvd + - count neuropathy + - count nephropathy + - count retinopathy + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + cvd","count neuropathy","count nephropathy","count retinopathy"],"orderby":[["count + cvd",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + cvd","count neuropathy","count nephropathy","count retinopathy"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: ab6c2c38-fe3f-427d-ac31-d6f402f736ac +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/death_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/death_cumulative_pivot_table.yaml new file mode 100644 index 00000000..19b1f460 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/death_cumulative_pivot_table.yaml @@ -0,0 +1,45 @@ +slice_name: "\u1780\u17B6\u179A\u179F\u17D2\u179B\u17B6\u1794\u17CB (Death) NCD EMR\ + \ Report - Cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + slice_id: 59 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count dead dm + - count dead hbp + - count dead dm with hbp + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + dead dm","count dead hbp","count dead dm with hbp"],"orderby":[["count dead dm",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","slice_id":59,"granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + dead dm","count dead hbp","count dead dm with hbp"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: a65e0f00-d26a-40cf-bbe0-b75ee2b11f8e +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/death_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/death_pivot_table.yaml new file mode 100644 index 00000000..27753da1 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/death_pivot_table.yaml @@ -0,0 +1,45 @@ +slice_name: "\u1780\u17B6\u179A\u179F\u17D2\u179B\u17B6\u1794\u17CB (Death) NCD EMR\ + \ Report" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + slice_id: 58 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count dead dm + - count dead hbp + - count dead dm with hbp + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + dead dm","count dead hbp","count dead dm with hbp"],"orderby":[["count dead dm",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","slice_id":58,"granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + dead dm","count dead hbp","count dead dm with hbp"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: b35accf2-4cc0-43f5-9b5f-51b433a91fd7 +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/diagnosis_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/diagnosis_cumulative_pivot_table.yaml new file mode 100644 index 00000000..db2539e7 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/diagnosis_cumulative_pivot_table.yaml @@ -0,0 +1,49 @@ +slice_name: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\ + \ (Diagnosis) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + slice_id: 52 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count t1d new visit + - count t2d new visit + - count gdm new visit + - count dm & hbp new visit + - count hbp new visit + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + t1d new visit","count t2d new visit","count gdm new visit","count dm & hbp new visit","count + hbp new visit"],"orderby":[["count t1d new visit",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","slice_id":52,"granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + t1d new visit","count t2d new visit","count gdm new visit","count dm & hbp new visit","count + hbp new visit"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: a8e6f0e2-c0b6-405c-9c55-57ef211086c7 +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/diagnosis_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/diagnosis_pivot_table.yaml new file mode 100644 index 00000000..5836256c --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/diagnosis_pivot_table.yaml @@ -0,0 +1,48 @@ +slice_name: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\ + \ (Diagnosis)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count t1d new visit + - count t2d new visit + - count gdm new visit + - count dm & hbp new visit + - count hbp new visit + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + t1d new visit","count t2d new visit","count gdm new visit","count dm & hbp new visit","count + hbp new visit"],"orderby":[["count t1d new visit",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + t1d new visit","count t2d new visit","count gdm new visit","count dm & hbp new visit","count + hbp new visit"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 2ed8d185-b2e6-4e66-bb45-313bf3911fe2 +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/follow_up_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/follow_up_cumulative_pivot_table.yaml new file mode 100644 index 00000000..7583b823 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/follow_up_cumulative_pivot_table.yaml @@ -0,0 +1,48 @@ +slice_name: "\u178F\u17B6\u1798\u178A\u17B6\u1793 (Follow-up) NCD EMR Report - Cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + slice_id: 55 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count t1d follow-up + - count t2d follow-up + - count gdm follow-up + - count dm + hbp follow-up + - count hbp follow-up + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + t1d follow-up","count t2d follow-up","count gdm follow-up","count dm + hbp follow-up","count + hbp follow-up"],"orderby":[["count t1d follow-up",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","slice_id":55,"granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + t1d follow-up","count t2d follow-up","count gdm follow-up","count dm + hbp follow-up","count + hbp follow-up"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 3bfd15fa-fbc4-479b-976e-e61eaeefbdd9 +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/follow_up_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/follow_up_pivot_table.yaml new file mode 100644 index 00000000..1123912f --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/follow_up_pivot_table.yaml @@ -0,0 +1,47 @@ +slice_name: "\u178F\u17B6\u1798\u178A\u17B6\u1793 (Follow-up) NCD EMR Report" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count t1d follow-up + - count t2d follow-up + - count gdm follow-up + - count dm + hbp follow-up + - count hbp follow-up + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + t1d follow-up","count t2d follow-up","count gdm follow-up","count dm + hbp follow-up","count + hbp follow-up"],"orderby":[["count t1d follow-up",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + t1d follow-up","count t2d follow-up","count gdm follow-up","count dm + hbp follow-up","count + hbp follow-up"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 7648711f-75a4-4fef-abc6-9d6e57790026 +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/loss_follow_up_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/loss_follow_up_cumulative_pivot_table.yaml new file mode 100644 index 00000000..e15d936a --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/loss_follow_up_cumulative_pivot_table.yaml @@ -0,0 +1,50 @@ +slice_name: "\u1794\u17C4\u17C7\u1794\u1784\u17CB\u1780\u17B6\u179A\u178F\u17B6\u1798\ + \u178A\u17B6\u1793 (Loss Follow-up) NCD EMR Report - Cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + slice_id: 56 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count t1d loss follow-up + - count t2d loss follow-up + - count gdm loss follow-up + - count dm with hbp loss follow-up + - count hbp loss follow-up + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + t1d loss follow-up","count t2d loss follow-up","count gdm loss follow-up","count + dm with hbp loss follow-up","count hbp loss follow-up"],"orderby":[["count t1d loss + follow-up",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","slice_id":56,"granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + t1d loss follow-up","count t2d loss follow-up","count gdm loss follow-up","count + dm with hbp loss follow-up","count hbp loss follow-up"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 2d725ccf-093f-46de-b796-bd48a002bee9 +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/loss_follow_up_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/loss_follow_up_pivot_table.yaml new file mode 100644 index 00000000..a7e1ae5d --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/loss_follow_up_pivot_table.yaml @@ -0,0 +1,50 @@ +slice_name: "\u1794\u17C4\u17C7\u1794\u1784\u17CB\u1780\u17B6\u179A\u178F\u17B6\u1798\ + \u178A\u17B6\u1793 (Loss Follow-up) NCD EMR Report" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + slice_id: 57 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count t1d loss follow-up + - count t2d loss follow-up + - count gdm loss follow-up + - count dm with hbp loss follow-up + - count hbp loss follow-up + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + t1d loss follow-up","count t2d loss follow-up","count gdm loss follow-up","count + dm with hbp loss follow-up","count hbp loss follow-up"],"orderby":[["count t1d loss + follow-up",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","slice_id":57,"granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + t1d loss follow-up","count t2d loss follow-up","count gdm loss follow-up","count + dm with hbp loss follow-up","count hbp loss follow-up"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: f2b70004-3553-4cfa-8e14-5f6b4ac9cd2c +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/register_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/register_cumulative_pivot_table.yaml new file mode 100644 index 00000000..c62a2606 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/register_cumulative_pivot_table.yaml @@ -0,0 +1,44 @@ +slice_name: "\u1785\u17BB\u17C7\u1794\u1789\u17D2\u1787\u17B8\u1780\u17B6\u179A (Register)\ + \ - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + granularity_sqla: visit_date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count dm + - count dm with hbp + - count hbp + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + dm","count dm with hbp","count hbp"],"orderby":[["count dm",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","granularity_sqla":"visit_date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + dm","count dm with hbp","count hbp"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: bd0cdd2c-1acd-462d-b600-016431c5172d +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_report/register_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_report/register_pivot_table.yaml new file mode 100644 index 00000000..996d127c --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_report/register_pivot_table.yaml @@ -0,0 +1,44 @@ +slice_name: "\u1785\u17BB\u17C7\u1794\u1789\u17D2\u1787\u17B8\u1780\u17B6\u179A (Register)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 9__table + viz_type: pivot_table_v2 + slice_id: 29 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count dm + - count dm with hbp + - count hbp + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 1000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 7 +query_context: '{"datasource":{"id":9,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + dm","count dm with hbp","count hbp"],"orderby":[["count dm",false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"9__table","viz_type":"pivot_table_v2","slice_id":29,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + dm","count dm with hbp","count hbp"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":1000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 42834407-4570-4111-8bf6-4f7080413333 +version: 1.0.0 +dataset_uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 diff --git a/base/configs/superset/assets/dashboards/ncd_rh_emr_report_dashboard.yaml b/base/configs/superset/assets/dashboards/ncd_rh_emr_report_dashboard.yaml new file mode 100644 index 00000000..ea7d6236 --- /dev/null +++ b/base/configs/superset/assets/dashboards/ncd_rh_emr_report_dashboard.yaml @@ -0,0 +1,655 @@ +dashboard_title: NCD RH EMR Report +description: null +css: '' +slug: ncd-rh-emr-report +uuid: afd9bc68-256c-46c0-ac1e-52cb03d3a708 +position: + CHART-V1PWfx4x3x: + children: [] + id: CHART-V1PWfx4x3x + meta: + chartId: 28 + height: 65 + sliceName: "\u17B1\u179F\u1790\u178A\u17C2\u179B\u1794\u17B6\u1793\u1794\u17D2\ + \u179A\u17BE (Medicine)" + uuid: dcdf7222-3e11-4ba1-8dfc-d4d4589122d6 + width: 12 + parents: + - ROOT_ID + - GRID_ID + - ROW-MBfp3q2Ol + type: CHART + CHART-explore-29-1: + children: [] + id: CHART-explore-29-1 + meta: + chartId: 29 + height: 57 + sliceName: "\u1785\u17BB\u17C7\u1794\u1789\u17D2\u1787\u17B8\u1780\u17B6\u179A\ + \ (Register)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 42834407-4570-4111-8bf6-4f7080413333 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-jiRkAUezF + type: CHART + CHART-explore-50-1: + children: [] + id: CHART-explore-50-1 + meta: + chartId: 50 + height: 66 + sliceName: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1787\u17C6\u1784\u17BA\ + \u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u179B\u17BE\ + \u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (Complication\ + \ of DM & HBP)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: ab6c2c38-fe3f-427d-ac31-d6f402f736ac + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-oTViO0e1FI + type: CHART + CHART-explore-51-1: + children: [] + id: CHART-explore-51-1 + meta: + chartId: 51 + height: 57 + sliceName: "\u1785\u17BB\u17C7\u1794\u1789\u17D2\u1787\u17B8\u1780\u17B6\u179A\ + \ (Register) - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: bd0cdd2c-1acd-462d-b600-016431c5172d + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-jiRkAUezF + type: CHART + CHART-explore-52-1: + children: [] + id: CHART-explore-52-1 + meta: + chartId: 52 + height: 77 + sliceName: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\ + \u1799 (Diagnosis)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 2ed8d185-b2e6-4e66-bb45-313bf3911fe2 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-6OgOenQMy6 + type: CHART + CHART-explore-53-1: + children: [] + id: CHART-explore-53-1 + meta: + chartId: 53 + height: 77 + sliceName: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\ + \u1799 (Diagnosis) - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: a8e6f0e2-c0b6-405c-9c55-57ef211086c7 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-6OgOenQMy6 + type: CHART + CHART-explore-54-1: + children: [] + id: CHART-explore-54-1 + meta: + chartId: 54 + height: 66 + sliceName: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1787\u17C6\u1784\u17BA\ + \u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u179B\u17BE\ + \u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (Complication\ + \ of DM & HBP) - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 6356cb61-ae01-4230-8202-f5732c399321 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-oTViO0e1FI + type: CHART + CHART-explore-55-1: + children: [] + id: CHART-explore-55-1 + meta: + chartId: 55 + height: 77 + sliceName: "\u178F\u17B6\u1798\u178A\u17B6\u1793 (Follow-up) NCD EMR Report" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 7648711f-75a4-4fef-abc6-9d6e57790026 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-EneaTAMA_a + type: CHART + CHART-explore-56-1: + children: [] + id: CHART-explore-56-1 + meta: + chartId: 56 + height: 77 + sliceName: "\u178F\u17B6\u1798\u178A\u17B6\u1793 (Follow-up) NCD EMR Report\ + \ - Cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 3bfd15fa-fbc4-479b-976e-e61eaeefbdd9 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-EneaTAMA_a + type: CHART + CHART-explore-57-1: + children: [] + id: CHART-explore-57-1 + meta: + chartId: 57 + height: 76 + sliceName: "\u1794\u17C4\u17C7\u1794\u1784\u17CB\u1780\u17B6\u179A\u178F\u17B6\ + \u1798\u178A\u17B6\u1793 (Loss Follow-up) NCD EMR Report - Cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 2d725ccf-093f-46de-b796-bd48a002bee9 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-ZO159XRL9C + type: CHART + CHART-explore-58-1: + children: [] + id: CHART-explore-58-1 + meta: + chartId: 58 + height: 76 + sliceName: "\u1794\u17C4\u17C7\u1794\u1784\u17CB\u1780\u17B6\u179A\u178F\u17B6\ + \u1798\u178A\u17B6\u1793 (Loss Follow-up) NCD EMR Report" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: f2b70004-3553-4cfa-8e14-5f6b4ac9cd2c + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-ZO159XRL9C + type: CHART + CHART-explore-59-1: + children: [] + id: CHART-explore-59-1 + meta: + chartId: 59 + height: 57 + sliceName: "\u1780\u17B6\u179A\u179F\u17D2\u179B\u17B6\u1794\u17CB (Death) NCD\ + \ EMR Report" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: b35accf2-4cc0-43f5-9b5f-51b433a91fd7 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-gwN21gZa1h + type: CHART + CHART-explore-60-1: + children: [] + id: CHART-explore-60-1 + meta: + chartId: 60 + height: 57 + sliceName: "\u1780\u17B6\u179A\u179F\u17D2\u179B\u17B6\u1794\u17CB (Death) NCD\ + \ EMR Report - Cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: a65e0f00-d26a-40cf-bbe0-b75ee2b11f8e + width: 6 + parents: + - ROOT_ID + - GRID_ID + - ROW-gwN21gZa1h + type: CHART + DASHBOARD_VERSION_KEY: v2 + DIVIDER-7xK3sKTtCc: + children: [] + id: DIVIDER-7xK3sKTtCc + meta: {} + parents: + - ROOT_ID + - GRID_ID + type: DIVIDER + GRID_ID: + children: + - HEADER-4YYWJ6SX1M + - ROW-jiRkAUezF + - HEADER-0uaw99cYZ2 + - ROW-6OgOenQMy6 + - HEADER-4KYCPFVDAp + - ROW-EneaTAMA_a + - HEADER-_p8iQ2JdOR + - ROW-ZO159XRL9C + - HEADER-iQJaPdXbXt + - ROW-oTViO0e1FI + - HEADER-QoPiXWbxj8 + - ROW-gwN21gZa1h + - DIVIDER-7xK3sKTtCc + - ROW-MBfp3q2Ol + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER-0uaw99cYZ2: + children: [] + id: HEADER-0uaw99cYZ2 + meta: + background: BACKGROUND_TRANSPARENT + headerSize: MEDIUM_HEADER + text: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\ + \ (Diagnosis)" + parents: + - ROOT_ID + - GRID_ID + type: HEADER + HEADER-4KYCPFVDAp: + children: [] + id: HEADER-4KYCPFVDAp + meta: + background: BACKGROUND_TRANSPARENT + headerSize: MEDIUM_HEADER + text: "\u178F\u17B6\u1798\u178A\u17B6\u1793 (Follow-up)" + parents: + - ROOT_ID + - GRID_ID + type: HEADER + HEADER-4YYWJ6SX1M: + children: [] + id: HEADER-4YYWJ6SX1M + meta: + background: BACKGROUND_TRANSPARENT + headerSize: MEDIUM_HEADER + text: "\u1785\u17BB\u17C7\u1794\u1789\u17D2\u1787\u17B8\u1780\u17B6\u179A (Register)" + parents: + - ROOT_ID + - GRID_ID + type: HEADER + HEADER-QoPiXWbxj8: + children: [] + id: HEADER-QoPiXWbxj8 + meta: + background: BACKGROUND_TRANSPARENT + headerSize: MEDIUM_HEADER + text: "\u1780\u17B6\u179A\u179F\u17D2\u179B\u17B6\u1794\u17CB (Death)" + parents: + - ROOT_ID + - GRID_ID + type: HEADER + HEADER-_p8iQ2JdOR: + children: [] + id: HEADER-_p8iQ2JdOR + meta: + background: BACKGROUND_TRANSPARENT + headerSize: MEDIUM_HEADER + text: "\u1794\u17C4\u17C7\u1794\u1784\u17CB\u1780\u17B6\u179A\u178F\u17B6\u1798\ + \u178A\u17B6\u1793 (\u1799\u17C9\u17B6\u1784\u178F\u17B7\u1785\u17E9\u17E0\ + \u1790\u17D2\u1784\u17C3 \u1785\u17B6\u1794\u17CB\u1796\u17B8\u1780\u17B6\u179A\ + \u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\ + \u17B6\u179B\u1785\u17BB\u1784\u1780\u17D2\u179A\u17C4\u1799) (Loss follow-up\ + \ (More than 90days after the last follow-up))" + parents: + - ROOT_ID + - GRID_ID + type: HEADER + HEADER-iQJaPdXbXt: + children: [] + id: HEADER-iQJaPdXbXt + meta: + background: BACKGROUND_TRANSPARENT + headerSize: MEDIUM_HEADER + text: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (Complication of DM\ + \ & HBP)" + parents: + - ROOT_ID + - GRID_ID + type: HEADER + HEADER_ID: + id: HEADER_ID + meta: + text: NCD RH EMR Report + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-6OgOenQMy6: + children: + - CHART-explore-52-1 + - CHART-explore-53-1 + id: ROW-6OgOenQMy6 + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW + ROW-EneaTAMA_a: + children: + - CHART-explore-55-1 + - CHART-explore-56-1 + id: ROW-EneaTAMA_a + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW + ROW-MBfp3q2Ol: + children: + - CHART-V1PWfx4x3x + id: ROW-MBfp3q2Ol + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW + ROW-ZO159XRL9C: + children: + - CHART-explore-58-1 + - CHART-explore-57-1 + id: ROW-ZO159XRL9C + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW + ROW-gwN21gZa1h: + children: + - CHART-explore-59-1 + - CHART-explore-60-1 + id: ROW-gwN21gZa1h + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW + ROW-jiRkAUezF: + children: + - CHART-explore-29-1 + - CHART-explore-51-1 + id: ROW-jiRkAUezF + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW + ROW-oTViO0e1FI: + children: + - CHART-explore-50-1 + - CHART-explore-54-1 + id: ROW-oTViO0e1FI + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-wMqKSbxzh + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: health_facility_province + datasetUuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 28 + - 29 + - 50 + - 51 + - 52 + - 53 + - 54 + - 55 + - 56 + - 57 + - 58 + - 59 + - 60 + tabsInScope: [] + - id: NATIVE_FILTER-xHyq6wpu5 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: health_facility_district + datasetUuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-wMqKSbxzh + scope: + rootPath: + - ROOT_ID + excluded: + - 28 + type: NATIVE_FILTER + description: '' + chartsInScope: + - 29 + - 50 + - 51 + - 52 + - 53 + - 54 + - 55 + - 56 + - 57 + - 58 + - 59 + - 60 + tabsInScope: [] + - id: NATIVE_FILTER-Lfcch5ts7 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: health_facility_name + datasetUuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-wMqKSbxzh + - NATIVE_FILTER-xHyq6wpu5 + scope: + rootPath: + - ROOT_ID + excluded: + - 28 + type: NATIVE_FILTER + description: '' + chartsInScope: + - 29 + - 50 + - 51 + - 52 + - 53 + - 54 + - 55 + - 56 + - 57 + - 58 + - 59 + - 60 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-C856VIePA + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + chartsInScope: [] + tabsInScope: [] + - id: NATIVE_FILTER-EAL-Cybhi + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: + - 28 + - 51 + - 53 + - 54 + - 56 + - 57 + - 60 + type: NATIVE_FILTER + description: '' + chartsInScope: + - 29 + - 50 + - 52 + - 55 + - 58 + - 59 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-1quD4F_EJ + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u1794\u17D2\u179A\u1798\ + \u17BC\u179B\u1795\u17D2\u178A\u17BB\u17C6 (Cumulative Period)" + description: '' + chartsInScope: [] + tabsInScope: [] + - id: NATIVE_FILTER-DCNSoS0dJ + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: + - 28 + - 29 + - 50 + - 52 + - 55 + - 58 + - 59 + type: NATIVE_FILTER + description: '' + chartsInScope: + - 51 + - 53 + - 54 + - 56 + - 57 + - 60 + tabsInScope: [] + shared_label_colors: {} + color_scheme_domain: [] +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_dataset.yaml new file mode 100644 index 00000000..e540d964 --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_dataset.yaml @@ -0,0 +1,929 @@ +table_name: NCD RH EMR Report +main_dttm_col: null +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n MAX(t1.date_started) AS visit_date_started,\n MAX(t3.postal_code)\ + \ AS health_facility_code,\n MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district)\ + \ AS health_facility_district,\n MAX(t3.state_province) AS health_facility_province,\n\ + \ MAX(\n DATE_PART ('year', age (t1.date_started, t2.birthdate))\n ) AS age,\n\ + \ MAX(t2.gender) AS gender,\n MAX(t1.type) AS visit_type,\n MAX(obs2.diagnosis_one)\ + \ AS diagnosis_one,\n MAX(obs3.diagnosis_two) AS diagnosis_two,\n MAX(obs7.follow_up_date)\ + \ AS follow_up_date,\n -- Diagnosis\n MAX(\n CASE\n WHEN (\n (\n\ + \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\ + \u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 (DM)'\n END\n ) AS dm,\n MAX(\n\ + \ CASE\n WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798 (HBP)'\n END\n ) AS hbp,\n MAX(\n CASE\n WHEN\ + \ (\n obs2.diagnosis_one_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n \ + \ OR obs2.diagnosis_one_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n \ + \ OR obs3.diagnosis_two_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n OR\ + \ obs3.diagnosis_two_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n \ + \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\ + \u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)'\n END\n ) AS dm_with_hbp,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n\ + \ OR obs3.diagnosis_two_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n \ + \ )\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E1 (T1D)'\n END\n ) AS t1d_new_visit,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ OR obs3.diagnosis_two_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n \ + \ )\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E2 (T2D)'\n END\n ) AS t2d_new_visit,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='932d395c-d509-4d42-bac4-5a3281efe149'\n\ + \ OR obs3.diagnosis_two_uuid='932d395c-d509-4d42-bac4-5a3281efe149'\n \ + \ )\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u1796\u17C1\u179B\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7\ + \ (GDM)'\n END\n ) AS gdm_new_visit,\n MAX(\n CASE\n WHEN (\n \ + \ obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ )\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\u1792\ + \u1788\u17B6\u1798 (HBP)'\n END\n ) AS hbp_new_visit,\n MAX(\n CASE\n \ + \ WHEN (\n obs2.diagnosis_one_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n\ + \ OR obs2.diagnosis_one_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n \ + \ OR obs3.diagnosis_two_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n \ + \ OR obs3.diagnosis_two_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n\ + \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\ + \u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)'\n END\n ) AS dm_with_hbp_new_visit,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n\ + \ OR obs3.diagnosis_two_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n \ + \ )\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E1 (T1D)'\n END\n ) AS t1d_follow_up_visit,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ OR obs3.diagnosis_two_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n \ + \ )\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E2 (T2D)'\n END\n ) AS t2d_follow_up_visit,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='932d395c-d509-4d42-bac4-5a3281efe149'\n\ + \ OR obs3.diagnosis_two_uuid='932d395c-d509-4d42-bac4-5a3281efe149'\n \ + \ )\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u1796\u17C1\u179B\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7\ + \ (GDM)'\n END\n ) AS gdm_follow_up_visit,\n MAX(\n CASE\n WHEN (\n\ + \ obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n )\n\ + \ AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594' THEN '\u1787\ + \u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ + \u1798 (HBP)'\n END\n ) AS hbp_follow_up_visit,\n MAX(\n CASE\n WHEN\ + \ (\n obs2.diagnosis_one_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n \ + \ OR obs2.diagnosis_one_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n \ + \ OR obs3.diagnosis_two_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n OR\ + \ obs3.diagnosis_two_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n \ + \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\ + \u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)'\n END\n ) AS dm_with_hbp_follow_up_visit,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n\ + \ OR obs3.diagnosis_two_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n \ + \ )\n AND (\n CURRENT_DATE-obs7.follow_up_date>INTERVAL '90 days'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E1 (T1D)'\n END\n\ + \ ) AS t1d_loss_follow_up,\n MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ OR obs3.diagnosis_two_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n \ + \ )\n AND (\n CURRENT_DATE-obs7.follow_up_date>INTERVAL '90 days'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E2 (T2D)'\n END\n\ + \ ) AS t2d_loss_follow_up,\n MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='932d395c-d509-4d42-bac4-5a3281efe149'\n\ + \ OR obs3.diagnosis_two_uuid='932d395c-d509-4d42-bac4-5a3281efe149'\n \ + \ )\n AND (\n CURRENT_DATE-obs7.follow_up_date>INTERVAL '90 days'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1796\u17C1\u179B\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\u1796\ + \u17C4\u17C7 (GDM)'\n END\n ) AS gdm_loss_follow_up,\n MAX(\n CASE\n \ + \ WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND (\n CURRENT_DATE-obs7.follow_up_date>INTERVAL '90 days'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP)'\n END\n ) AS hbp_loss_follow_up,\n MAX(\n\ + \ CASE\n WHEN (\n obs2.diagnosis_one_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n\ + \ OR obs2.diagnosis_one_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n \ + \ OR obs3.diagnosis_two_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n \ + \ OR obs3.diagnosis_two_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n\ + \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND (\n CURRENT_DATE-obs7.follow_up_date>INTERVAL '90 days'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)'\n END\n ) AS\ + \ dm_with_hbp_loss_follow_up,\n -- Complications of DM & HBP\n MAX(\n CASE\n\ + \ WHEN obs4.complications_uuid='0c61b26b-c242-4e36-94b6-97328586bee4' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u179F\u179A\u179F\ + \u17C3\u1788\u17B6\u1798 (CVD)'\n ELSE NULL\n END\n ) AS cvd,\n MAX(\n\ + \ CASE\n WHEN obs4.complications_uuid='43c557a0-6e35-40e2-90f8-862a07377152'\ + \ THEN '\u1787\u17C6\u1784\u17BA\u1794\u17D2\u179A\u1796\u17D0\u1793\u17D2\u1792\ + \u178F\u17C6\u179A\u1784\u1793\u17C4\u1798 (Nephropathy)'\n ELSE NULL\n \ + \ END\n ) AS nephropathy,\n MAX(\n CASE\n WHEN obs4.complications_uuid='375325ae-dddf-480f-827a-1bfcf581c97b'\ + \ THEN '\u1787\u17C6\u1784\u17BA\u1797\u17D2\u1793\u17C2\u1780 (Retinopathy)'\n\ + \ ELSE NULL\n END\n ) AS retinopathy,\n MAX(\n CASE\n WHEN obs5.left_foot_exam_uuid\ + \ IN (\n '81318009-e9fb-4b8a-9bf6-17082cefd19e',\n 'be0c7342-12da-48c1-a247-89379f80e18d',\n\ + \ '4ff6c3ea-2be8-4aac-b371-faa3bb450255',\n '8c001d6a-9525-4008-8d06-eebc713f5d8c'\n\ + \ )\n OR obs6.right_foot_exam_uuid IN (\n '81318009-e9fb-4b8a-9bf6-17082cefd19e',\n\ + \ 'be0c7342-12da-48c1-a247-89379f80e18d',\n '4ff6c3ea-2be8-4aac-b371-faa3bb450255',\n\ + \ '8c001d6a-9525-4008-8d06-eebc713f5d8c'\n ) THEN '\u1787\u17C6\u1784\ + \u17BA\u1794\u17D2\u179A\u1796\u17D0\u1793\u17D2\u1792\u1794\u17D2\u179A\u179F\u17B6\ + \u1791 (Neuropathy)'\n ELSE NULL\n END\n ) AS neuropathy,\n -- Diagnosis\ + \ + Dead\n MAX(\n CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ + \ )\n AND t2.dead IS TRUE THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\ + \u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 (DM)'\n END\n ) AS dm_dead,\n MAX(\n\ + \ CASE\n WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND t2.dead IS TRUE THEN '\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \ \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (HBP)'\n END\n ) AS\ + \ hbp_dead,\n MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n\ + \ OR obs2.diagnosis_one_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n \ + \ OR obs3.diagnosis_two_uuid='105903f4-7b6d-496a-b613-37ab9d0f5450'\n \ + \ OR obs3.diagnosis_two_uuid='8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n\ + \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND t2.dead IS TRUE THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\ + \u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\ + \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with\ + \ HBP)'\n END\n ) AS dm_with_hbp_dead,\n -- Age Group\n MAX(\n CASE\n \ + \ WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))<18 THEN '< 18\u1786\ + \u17D2\u1793\u17B6\u17C6 (< 18 yrs)'\n WHEN DATE_PART ('year', age (t1.date_started,\ + \ t2.birthdate))>=18\n AND DATE_PART ('year', age (t1.date_started, t2.birthdate))<=24\ + \ THEN '18 to 24\u1786\u17D2\u1793\u17B6\u17C6 (18 to 24yrs)'\n WHEN DATE_PART\ + \ ('year', age (t1.date_started, t2.birthdate))>=25\n AND DATE_PART ('year',\ + \ age (t1.date_started, t2.birthdate))<=39 THEN '25 to 39\u1786\u17D2\u1793\u17B6\ + \u17C6 (25 to 39yrs)'\n WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))>=40\n\ + \ AND DATE_PART ('year', age (t1.date_started, t2.birthdate))<=69 THEN '40\ + \ to 69\u1786\u17D2\u1793\u17B6\u17C6 (40 to 69yrs)'\n WHEN DATE_PART ('year',\ + \ age (t1.date_started, t2.birthdate))>=70 THEN '\u2265 70\u1786\u17D2\u1793\u17B6\ + \u17C6 (\u2265 70yrs)'\n END\n ) AS age_group\nFROM\n visits t1\n LEFT JOIN\ + \ patients t2 ON (t1.patient_uuid=t2.patient_uuid)\n LEFT JOIN locations t3 ON\ + \ (t1.location_uuid=t3.uuid)\n LEFT JOIN encounters t4 ON (\n t1.visit_uuid=t4.visit_uuid\n\ + \ AND t4.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_numeric AS cvd_score\n\ + \ FROM\n observations o\n WHERE\n o.question_uuid='dff491e3-b14c-4b32-ab64-63b96966d72d'\n\ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_numeric\n ) obs1 ON (\n obs1.visit_uuid=t1.visit_uuid\n AND\ + \ obs1.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_one,\n\ + \ o.answer_coded_uuid AS diagnosis_one_uuid\n FROM\n observations o\n\ + \ WHERE\n o.question_uuid='45583478-f703-46e3-b63a-54b0a95c25f0'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs2 ON (\n obs2.visit_uuid=t1.visit_uuid\n\ + \ AND obs2.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_two,\n\ + \ o.answer_coded_uuid AS diagnosis_two_uuid\n FROM\n observations o\n\ + \ WHERE\n o.question_uuid='76ca08a5-2128-4b53-afba-74227b015924'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs3 ON (\n obs3.visit_uuid=t1.visit_uuid\n\ + \ AND obs3.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS complications,\n\ + \ o.answer_coded_uuid AS complications_uuid\n FROM\n observations o\n\ + \ WHERE\n o.question_uuid='3f36a039-eac3-46bd-8798-102c55639d49'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs4 ON (\n obs4.visit_uuid=t1.visit_uuid\n\ + \ AND obs4.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS left_foot_exam,\n\ + \ o.answer_coded_uuid AS left_foot_exam_uuid\n FROM\n observations\ + \ o\n WHERE\n o.question_uuid='dd16ec73-fa62-431b-bbd5-4e3a04d93cfc'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs5 ON (\n obs5.visit_uuid=t1.visit_uuid\n\ + \ AND obs5.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS right_foot_exam,\n\ + \ o.answer_coded_uuid AS right_foot_exam_uuid\n FROM\n observations\ + \ o\n WHERE\n o.question_uuid='d6f32f81-6d85-49bb-b4c5-cef725bb7616'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs6 ON (\n obs6.visit_uuid=t1.visit_uuid\n\ + \ AND obs6.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_datetime AS follow_up_date\n\ + \ FROM\n observations o\n WHERE\n o.question_uuid='e9c145c1-f4e9-4c34-b237-da069939dc38'\n\ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_datetime\n ) obs7 ON (\n obs7.visit_uuid=t1.visit_uuid\n \ + \ AND obs7.visit_uuid IS NOT NULL\n )\nWHERE\n -- NCD New Visit & Follow-up Visit\n\ + \ t1.visit_type_uuid IN (\n '5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab',\n '54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ )\n -- NCD Consultation\n -- NCD Medical History f9fdbe63-12b4-479f-b8fd-dcbfde6aa944\n\ + \ AND t4.encounter_type_uuid='b870b6bb-9441-4664-9087-3d3477174213'\n AND t1.visit_voided\ + \ IS FALSE\n AND t2.person_voided IS FALSE\n AND t2.patient_uuid IS NOT NULL\n\ + \ -- Referral Hospital (RH)\n AND t3.location_tags LIKE '%Referral Hospital%'\n\ + GROUP BY\n t1.visit_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 6f823383-6b22-4ea2-a2db-b4aea6019242 +metrics: +- metric_name: count dm & hbp new visit + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM & HBP)" + metric_type: null + expression: COUNT((dm_with_hbp_new_visit)) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count dm with hbp loss follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM & HBP)" + metric_type: null + expression: COUNT(dm_with_hbp_loss_follow_up) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count dm + hbp follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM & HBP)" + metric_type: null + expression: COUNT(dm_with_hbp_follow_up_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count dead dm with hbp + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM & HBP)" + metric_type: null + expression: COUNT(dm_with_hbp_dead) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count dm with hbp + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM & HBP)" + metric_type: null + expression: COUNT(dm_with_hbp) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count t1d loss follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E1 (T1D)" + metric_type: null + expression: COUNT(t1d_loss_follow_up) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count t2d loss follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E2 (T2D)" + metric_type: null + expression: COUNT(t2d_loss_follow_up) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count hbp loss follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP)" + metric_type: null + expression: COUNT(hbp_loss_follow_up) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count gdm loss follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1796\u17C1\u179B\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\ + \u1796\u17C4\u17C7 (GDM)" + metric_type: null + expression: COUNT(gdm_loss_follow_up) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count t1d new visit + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E1 (T1D)" + metric_type: null + expression: COUNT(t1d_new_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count t2d new visit + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E2 (T2D)" + metric_type: null + expression: COUNT(t2d_new_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count hbp new visit + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP)" + metric_type: null + expression: COUNT(hbp_new_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count gdm new visit + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1796\u17C1\u179B\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\ + \u1796\u17C4\u17C7 (GDM)" + metric_type: null + expression: COUNT(gdm_new_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count t1d follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E1 (T1D)" + metric_type: null + expression: COUNT(t1d_follow_up_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count t2d follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1794\u17D2\u179A\u1797\u17C1\u1791\u17E2 (T2D)" + metric_type: null + expression: COUNT(t2d_follow_up_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count hbp follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP)" + metric_type: null + expression: COUNT(hbp_follow_up_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count gdm follow-up + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1796\u17C1\u179B\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\ + \u1796\u17C4\u17C7 (GDM)" + metric_type: null + expression: COUNT(gdm_follow_up_visit) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count dead hbp + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP)" + metric_type: null + expression: COUNT(hbp_dead) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count cvd + verbose_name: "\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u179F\ + \u179A\u179F\u17C3\u1788\u17B6\u1798 (CVD)" + metric_type: null + expression: COUNT(cvd) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count hbp + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP)" + metric_type: null + expression: COUNT(hbp) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count dead dm + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM)" + metric_type: null + expression: COUNT(dm_dead) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count dm + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM)" + metric_type: null + expression: COUNT(dm) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count nephropathy + verbose_name: "\u1787\u17C6\u1784\u17BA\u1794\u17D2\u179A\u1796\u17D0\u1793\u17D2\ + \u1792\u178F\u17C6\u179A\u1784\u1793\u17C4\u1798 (Nephropathy)" + metric_type: null + expression: COUNT(nephropathy) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count neuropathy + verbose_name: "\u1787\u17C6\u1784\u17BA\u1794\u17D2\u179A\u1796\u17D0\u1793\u17D2\ + \u1792\u1794\u17D2\u179A\u179F\u17B6\u1791 (Neuropathy)" + metric_type: null + expression: COUNT(neuropathy) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count retinopathy + verbose_name: "\u1787\u17C6\u1784\u17BA\u1797\u17D2\u1793\u17C2\u1780 (Retinopathy)" + metric_type: null + expression: COUNT(retinopathy) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count + verbose_name: Count + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: age_group + verbose_name: "\u1780\u17D2\u179A\u17BB\u1798\u17A2\u17B6\u1799\u17BB (Age Group)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: "\u1797\u17C1\u1791 (Gender)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: t1d_follow_up_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: t1d_loss_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: t1d_new_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: t2d_follow_up_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: t2d_loss_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: t2d_new_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_date_started + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_with_hbp_follow_up_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_with_hbp_loss_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_with_hbp_new_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_with_hbp_dead + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_follow_up_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_loss_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gdm_follow_up_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gdm_loss_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_name + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_code + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_district + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_province + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_with_hbp + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_new_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gdm_new_visit + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_dead + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_dead + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_one + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_two + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: nephropathy + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: retinopathy + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: neuropathy + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cvd + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 From 1a8fc204b32449bb5c262c548843baa58df46ef8 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Tue, 18 Jun 2024 15:16:40 +0300 Subject: [PATCH 09/20] KH-532: Add NCD HC EMR Report --- .../ccs_screening_cumulative_pivot_table.yaml | 42 + .../ccs_screening_pivot_table.yaml | 42 + ...k_factor_level_cumulative_pivot_table.yaml | 57 + .../cvd_risk_factor_level_pivot_table.yaml | 58 + .../diagnosis_dm_cumulative.yaml | 55 + .../diagnosis_dm_pivot_table.yaml | 55 + ...is_dm_with_hbp_cumulative_pivot_table.yaml | 57 + .../diagnosis_dm_with_hbp_pivot_table.yaml | 58 + .../diagnosis_hbp_cumulative_pivot_table.yaml | 55 + .../diagnosis_hbp_pivot_table.yaml | 57 + .../dm_follow_up_cumulative_pivot_table.yaml | 56 + .../dm_follow_up_pivot_table.yaml | 57 + ..._hbp_follow_up_cumulative_pivot_table.yaml | 57 + .../dm_with_hbp_follow_up_pivot_table.yaml | 57 + .../dropout_cumulative_pivot_table.yaml | 45 + .../dropout_pivot_table.yaml | 44 + ...vd_risk_factor_cumulative_pivot_table.yaml | 57 + ...follow_up_cvd_risk_factor_pivot_table.yaml | 57 + .../hbp_follow_up_cumulative.yaml | 56 + .../hbp_follow_up_pivot_table.yaml | 56 + .../payment_type_cumulative_pivot_table.yaml | 56 + .../payment_type_pivot_table.yaml | 57 + .../vhsg_cumulative_pivot_table.yaml | 60 + .../ncd_hc_emr_report/vhsg_pivot_table.yaml | 60 + .../ncd_hc_emr_report_dashboard.yaml | 1289 +++++++++++++++++ .../PostgreSQL/ncd_hc_emr_dataset.yaml | 708 +++++++++ 26 files changed, 3308 insertions(+) create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/ccs_screening_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/ccs_screening_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/cvd_risk_factor_level_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/cvd_risk_factor_level_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_cumulative.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_with_hbp_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_with_hbp_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_hbp_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_hbp_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/dm_follow_up_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/dm_follow_up_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/dm_with_hbp_follow_up_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/dm_with_hbp_follow_up_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/dropout_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/dropout_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/follow_up_cvd_risk_factor_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/follow_up_cvd_risk_factor_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/hbp_follow_up_cumulative.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/hbp_follow_up_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/payment_type_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/payment_type_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/vhsg_cumulative_pivot_table.yaml create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_report/vhsg_pivot_table.yaml create mode 100644 base/configs/superset/assets/dashboards/ncd_hc_emr_report_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_dataset.yaml diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/ccs_screening_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/ccs_screening_cumulative_pivot_table.yaml new file mode 100644 index 00000000..5d041288 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/ccs_screening_cumulative_pivot_table.yaml @@ -0,0 +1,42 @@ +slice_name: Number of CCS Screening - Cumulative +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 61 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count screen for ccs + metricsLayout: COLUMNS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + screen for ccs"],"orderby":[["count screen for ccs",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":61,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + screen for ccs"],"metricsLayout":"COLUMNS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: de5915e1-b9aa-4a83-aa0f-a3b85b8f3403 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/ccs_screening_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/ccs_screening_pivot_table.yaml new file mode 100644 index 00000000..fc4cea9e --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/ccs_screening_pivot_table.yaml @@ -0,0 +1,42 @@ +slice_name: Number of CCS Screening +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 62 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - count screen for ccs + metricsLayout: COLUMNS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["count + screen for ccs"],"orderby":[["count screen for ccs",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":62,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["count + screen for ccs"],"metricsLayout":"COLUMNS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: be3ea1c8-f0c0-4513-9576-720baca50cb3 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/cvd_risk_factor_level_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/cvd_risk_factor_level_cumulative_pivot_table.yaml new file mode 100644 index 00000000..f125f97c --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/cvd_risk_factor_level_cumulative_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u1780\u1798\u17D2\u179A\u17B7\u178F\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ + \u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u179F\ + \u179A\u179F\u17C3\u1788\u17B6\u1798 (CVD risk factor level) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - cvd_score_groupings + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: cvd_score_groupings + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_jd9ef44eflo_wrd126a8eym + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"cvd_score_groupings","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","cvd_score_groupings","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["cvd_score_groupings","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"cvd_score_groupings","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_jd9ef44eflo_wrd126a8eym"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 88ad0424-53ee-4eef-9c1d-821a72833bd0 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/cvd_risk_factor_level_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/cvd_risk_factor_level_pivot_table.yaml new file mode 100644 index 00000000..1e11c7ad --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/cvd_risk_factor_level_pivot_table.yaml @@ -0,0 +1,58 @@ +slice_name: "\u1780\u1798\u17D2\u179A\u17B7\u178F\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ + \u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u179F\ + \u179A\u179F\u17C3\u1788\u17B6\u1798 (CVD risk factor level)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 20 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - cvd_score_groupings + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_86e20xiy00o_xvingfgvtcs + isExtra: false + isNew: false + operator: IS NOT NULL + operatorId: IS_NOT_NULL + sqlExpression: null + subject: cvd_score_groupings + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"cvd_score_groupings","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","cvd_score_groupings","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":20,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["cvd_score_groupings","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_86e20xiy00o_xvingfgvtcs","isExtra":false,"isNew":false,"operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","sqlExpression":null,"subject":"cvd_score_groupings"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 0ae383d3-1b95-41f3-b78a-4ac9b160bee2 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_cumulative.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_cumulative.yaml new file mode 100644 index 00000000..418a7bce --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_cumulative.yaml @@ -0,0 +1,55 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 (DM) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - dm + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: dm + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_xdw1ur1ihys_eutl18q2pjt + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"dm","op":"IS NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","dm","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["dm","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"dm","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_xdw1ur1ihys_eutl18q2pjt"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 4a29f29d-e943-4fa1-ace2-2cea02666d96 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_pivot_table.yaml new file mode 100644 index 00000000..40a33c69 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_pivot_table.yaml @@ -0,0 +1,55 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 (DM)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - dm + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: dm + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_r8xv2thiceb_iznpcgfkz7c + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"dm","op":"IS NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","dm","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["dm","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"dm","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_r8xv2thiceb_iznpcgfkz7c"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 844249e1-801c-47af-9828-f35e89b1bf91 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_with_hbp_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_with_hbp_cumulative_pivot_table.yaml new file mode 100644 index 00000000..d740e5ce --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_with_hbp_cumulative_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\ + \u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - dm_with_hbp + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: dm_with_hbp + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_o969wvi9sep_4fl6douujh + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"dm_with_hbp","op":"IS NOT + NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","dm_with_hbp","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["dm_with_hbp","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"dm_with_hbp","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_o969wvi9sep_4fl6douujh"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 410417e0-3968-42b3-8934-db8bb38f8d35 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_with_hbp_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_with_hbp_pivot_table.yaml new file mode 100644 index 00000000..44186507 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_dm_with_hbp_pivot_table.yaml @@ -0,0 +1,58 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\ + \u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 22 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - dm_with_hbp + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_aezl89rohx_oel91p4nx3b + isExtra: false + isNew: false + operator: IS NOT NULL + operatorId: IS_NOT_NULL + sqlExpression: null + subject: dm_with_hbp + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"dm_with_hbp","op":"IS NOT + NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","dm_with_hbp","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":22,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["dm_with_hbp","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_aezl89rohx_oel91p4nx3b","isExtra":false,"isNew":false,"operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","sqlExpression":null,"subject":"dm_with_hbp"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 41aaa8d4-2166-4b62-8415-c3509ead4aaa +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_hbp_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_hbp_cumulative_pivot_table.yaml new file mode 100644 index 00000000..7e0d70e3 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_hbp_cumulative_pivot_table.yaml @@ -0,0 +1,55 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798 (HBP) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - hbp + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: hbp + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_5wexojq9z37_0i0466tn4bbj + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"hbp","op":"IS NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","hbp","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["hbp","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"hbp","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_5wexojq9z37_0i0466tn4bbj"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 388bb151-2871-4825-8740-58a18a5a74dc +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_hbp_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_hbp_pivot_table.yaml new file mode 100644 index 00000000..2a6fe1bc --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/diagnosis_hbp_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798 (HBP)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 21 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - hbp + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: hbp + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_xiljsnfdegc_ocsog9x9xij + row_limit: 1000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 + - 7 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"hbp","op":"IS NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","hbp","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":21,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["hbp","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"hbp","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_xiljsnfdegc_ocsog9x9xij"}],"row_limit":1000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6,7],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 06787e7c-840b-469c-8e42-b9000f8d50aa +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_follow_up_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_follow_up_cumulative_pivot_table.yaml new file mode 100644 index 00000000..6f78d044 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_follow_up_cumulative_pivot_table.yaml @@ -0,0 +1,56 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 (DM Follow-up) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - dm_follow_up + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: dm_follow_up + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_pdqrm2bnh0c_59vmsh20y5l + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"dm_follow_up","op":"IS NOT + NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","dm_follow_up","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["dm_follow_up","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"dm_follow_up","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_pdqrm2bnh0c_59vmsh20y5l"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 6512c70d-ad0f-4ae3-bca0-4aa236bc14bb +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_follow_up_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_follow_up_pivot_table.yaml new file mode 100644 index 00000000..faaa36ea --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_follow_up_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 (DM Follow-up)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 25 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - dm_follow_up + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: dm_follow_up + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_r4hjoq07ys_sygzkgha15o + row_limit: 10000 + order_desc: false + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"dm_follow_up","op":"IS NOT + NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","dm_follow_up","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",true]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":false,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":25,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["dm_follow_up","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"dm_follow_up","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_r4hjoq07ys_sygzkgha15o"}],"row_limit":10000,"order_desc":false,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: e745bbfc-8292-443a-8ad2-892c020e8b3d +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_with_hbp_follow_up_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_with_hbp_follow_up_cumulative_pivot_table.yaml new file mode 100644 index 00000000..883a5f1b --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_with_hbp_follow_up_cumulative_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\ + \u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP Follow-up) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - dm_with_hbp_follow_up + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: dm_with_hbp_follow_up + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_96l3qdupmzn_iydtz9whzp + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"dm_with_hbp_follow_up","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","dm_with_hbp_follow_up","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["dm_with_hbp_follow_up","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"dm_with_hbp_follow_up","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_96l3qdupmzn_iydtz9whzp"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 24b593a0-f6c0-4ea5-8778-f9bec36ffd19 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_with_hbp_follow_up_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_with_hbp_follow_up_pivot_table.yaml new file mode 100644 index 00000000..1aeb3f68 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/dm_with_hbp_follow_up_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\ + \u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP Follow-up)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - dm_with_hbp_follow_up + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: dm_with_hbp_follow_up + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_kjbf3e4fzke_iyfr0mf7ap + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"dm_with_hbp_follow_up","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","dm_with_hbp_follow_up","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["dm_with_hbp_follow_up","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"dm_with_hbp_follow_up","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_kjbf3e4fzke_iyfr0mf7ap"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: a710b433-804d-4843-b4a1-591f20ee0f64 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/dropout_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/dropout_cumulative_pivot_table.yaml new file mode 100644 index 00000000..e4834dca --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/dropout_cumulative_pivot_table.yaml @@ -0,0 +1,45 @@ +slice_name: Dropout - cumulative +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 63 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - sum dm with hbp drop out + - sum dm dropout + - sum hbp dropout + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["sum + dm with hbp drop out","sum dm dropout","sum hbp dropout"],"orderby":[["sum dm with + hbp drop out",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":63,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["sum + dm with hbp drop out","sum dm dropout","sum hbp dropout"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: d4eaf680-9d0f-4271-995f-737c41b1607a +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/dropout_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/dropout_pivot_table.yaml new file mode 100644 index 00000000..ebdf6728 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/dropout_pivot_table.yaml @@ -0,0 +1,44 @@ +slice_name: Dropout +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - gender + metrics: + - sum dm with hbp drop out + - sum dm dropout + - sum hbp dropout + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","gender"],"metrics":["sum + dm with hbp drop out","sum dm dropout","sum hbp dropout"],"orderby":[["sum dm with + hbp drop out",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["gender"],"metrics":["sum + dm with hbp drop out","sum dm dropout","sum hbp dropout"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: bb6a9f95-951c-4b31-b03d-a9c53fa34904 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/follow_up_cvd_risk_factor_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/follow_up_cvd_risk_factor_cumulative_pivot_table.yaml new file mode 100644 index 00000000..bd3e4dcd --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/follow_up_cvd_risk_factor_cumulative_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u178F\u17B6\u1798\u178A\u17B6\u1793\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ + \u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u179F\ + \u179A\u179F\u17C3\u1788\u17B6\u1798 (Follow up CVD risk factor) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - cvd_score_groupings_follow_up + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: cvd_score_groupings_follow_up + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_vz423eu0px_tjp5obmnir + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"cvd_score_groupings_follow_up","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","cvd_score_groupings_follow_up","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["cvd_score_groupings_follow_up","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"cvd_score_groupings_follow_up","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_vz423eu0px_tjp5obmnir"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 9e92dce2-6041-4497-953a-b6a27d5160aa +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/follow_up_cvd_risk_factor_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/follow_up_cvd_risk_factor_pivot_table.yaml new file mode 100644 index 00000000..304e035b --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/follow_up_cvd_risk_factor_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u178F\u17B6\u1798\u178A\u17B6\u1793\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ + \u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u179F\ + \u179A\u179F\u17C3\u1788\u17B6\u1798 (Follow up CVD risk factor)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - cvd_score_groupings_follow_up + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: cvd_score_groupings_follow_up + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_i2lz4q3ez4a_rhxjuzmu5zr + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"cvd_score_groupings_follow_up","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","cvd_score_groupings_follow_up","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["cvd_score_groupings_follow_up","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"cvd_score_groupings_follow_up","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_i2lz4q3ez4a_rhxjuzmu5zr"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: a508c620-3168-4fb4-9ee3-92f7bb36a92e +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/hbp_follow_up_cumulative.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/hbp_follow_up_cumulative.yaml new file mode 100644 index 00000000..64f6725c --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/hbp_follow_up_cumulative.yaml @@ -0,0 +1,56 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798 (HBP Follow-up) - cumulative" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - hbp_follow_up + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: hbp_follow_up + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_yqmsrryqiba_efpzrnfp3ck + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"hbp_follow_up","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","hbp_follow_up","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["hbp_follow_up","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"hbp_follow_up","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_yqmsrryqiba_efpzrnfp3ck"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: b3b45ce7-ce7b-49ba-a644-eb641ceb597a +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/hbp_follow_up_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/hbp_follow_up_pivot_table.yaml new file mode 100644 index 00000000..eac161d6 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/hbp_follow_up_pivot_table.yaml @@ -0,0 +1,56 @@ +slice_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798 (HBP Follow-up)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - hbp_follow_up + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: hbp_follow_up + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_z6qm9q25t89_alyopnqzq0t + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"hbp_follow_up","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","hbp_follow_up","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["hbp_follow_up","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"hbp_follow_up","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_z6qm9q25t89_alyopnqzq0t"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 30250f36-e5b9-4d8b-9248-48c50c0e6e28 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/payment_type_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/payment_type_cumulative_pivot_table.yaml new file mode 100644 index 00000000..eb0af9c7 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/payment_type_cumulative_pivot_table.yaml @@ -0,0 +1,56 @@ +slice_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1794\u1784\u17CB\u1794\u17D2\u179A\ + \u17B6\u1780\u17CB (Payment type from the start to the end of the selected)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - payment_type_grouping + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: payment_type_grouping + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_ht96pz7zfc_ksl1qphnre + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"payment_type_grouping","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","payment_type_grouping","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["payment_type_grouping","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"payment_type_grouping","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_ht96pz7zfc_ksl1qphnre"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 37e46fe7-a11b-4529-9953-f5f4412f8fea +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/payment_type_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/payment_type_pivot_table.yaml new file mode 100644 index 00000000..cd8bddfb --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/payment_type_pivot_table.yaml @@ -0,0 +1,57 @@ +slice_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1794\u1784\u17CB\u1794\u17D2\u179A\ + \u17B6\u1780\u17CB (Payment type)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 19 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - payment_type_grouping + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_jzoc0c5o39_qdm01wxrnvm + isExtra: false + isNew: false + operator: IS NOT NULL + operatorId: IS_NOT_NULL + sqlExpression: null + subject: payment_type_grouping + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"payment_type_grouping","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","payment_type_grouping","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":19,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["payment_type_grouping","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_jzoc0c5o39_qdm01wxrnvm","isExtra":false,"isNew":false,"operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","sqlExpression":null,"subject":"payment_type_grouping"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 46e7d221-e119-48b7-829f-e1e5eb2c5b67 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/vhsg_cumulative_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/vhsg_cumulative_pivot_table.yaml new file mode 100644 index 00000000..aa6185d3 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/vhsg_cumulative_pivot_table.yaml @@ -0,0 +1,60 @@ +slice_name: "\u17A2\u17D2\u1793\u1780\u1791\u17D2\u179A\u1791\u1784\u17CB\u179F\u17BB\ + \u1781\u1797\u17B6\u1796\u1797\u17BC\u1798\u17B7 \u1796\u17B8\u1790\u17D2\u1784\u17C3\ + \u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u179A\u17A0\u17BC\u178F\u178A\ + \u179B\u17CB\u1790\u17D2\u1784\u17C3\u1785\u1794\u17CB\u1793\u17C3\u1780\u17B6\u179A\ + \u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (VHSG From the start to the end\ + \ of the selected)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - referred_from_grouping + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - expressionType: SIMPLE + subject: referred_from_grouping + operator: IS NOT NULL + operatorId: IS_NOT_NULL + comparator: null + clause: WHERE + sqlExpression: null + isExtra: false + isNew: false + datasourceWarning: false + filterOptionName: filter_rfgvcf3ppwq_uhytm24wye + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"referred_from_grouping","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","referred_from_grouping","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["referred_from_grouping","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"referred_from_grouping","operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_rfgvcf3ppwq_uhytm24wye"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: f0b92d7f-3030-4b9c-ba0b-288bffcce6d1 +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_report/vhsg_pivot_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_report/vhsg_pivot_table.yaml new file mode 100644 index 00000000..d9f9deb6 --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_report/vhsg_pivot_table.yaml @@ -0,0 +1,60 @@ +slice_name: "\u17A2\u17D2\u1793\u1780\u1791\u17D2\u179A\u1791\u1784\u17CB\u179F\u17BB\ + \u1781\u1797\u17B6\u1796\u1797\u17BC\u1798\u17B7 \u179A\u1799\u17C8\u1796\u17C1\u179B\ + \u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1787\u17D2\u179A\u17BE\u179F\u179A\ + \u17BE\u179F (VHSG selected period)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 6__table + viz_type: pivot_table_v2 + slice_id: 18 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: + - age_group + groupbyRows: + - referred_from_grouping + - gender + metrics: + - count per age group + metricsLayout: COLUMNS + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_6ligwprivux_5sulfmbqz33 + isExtra: false + isNew: false + operator: IS NOT NULL + operatorId: IS_NOT_NULL + sqlExpression: null + subject: referred_from_grouping + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + rowTotals: true + colTotals: true + transposePivot: false + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 6 +query_context: '{"datasource":{"id":6,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_started","filters":[{"col":"referred_from_grouping","op":"IS + NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["age_group","referred_from_grouping","gender"],"metrics":["count + per age group"],"orderby":[["count per age group",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"6__table","viz_type":"pivot_table_v2","slice_id":18,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":["age_group"],"groupbyRows":["referred_from_grouping","gender"],"metrics":["count + per age group"],"metricsLayout":"COLUMNS","adhoc_filters":[{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_6ligwprivux_5sulfmbqz33","isExtra":false,"isNew":false,"operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","sqlExpression":null,"subject":"referred_from_grouping"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","rowTotals":true,"colTotals":true,"transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[6],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: fcdead1b-d063-462f-80f7-3bebfe4ef55c +version: 1.0.0 +dataset_uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 diff --git a/base/configs/superset/assets/dashboards/ncd_hc_emr_report_dashboard.yaml b/base/configs/superset/assets/dashboards/ncd_hc_emr_report_dashboard.yaml new file mode 100644 index 00000000..b4562126 --- /dev/null +++ b/base/configs/superset/assets/dashboards/ncd_hc_emr_report_dashboard.yaml @@ -0,0 +1,1289 @@ +dashboard_title: NCD HC EMR report +description: null +css: '' +slug: ncd-hc-emr-report +uuid: 0314b4b4-1837-450c-b573-0108943dbec0 +position: + CHART-KyPQi9RSjS: + children: [] + id: CHART-KyPQi9RSjS + meta: + chartId: 46 + height: 69 + sliceName: "\u178F\u17B6\u1798\u178A\u17B6\u1793\u17A0\u17B6\u1793\u17B7\u1797\ + \u17D0\u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\ + \u1784 \u179F\u179A\u179F\u17C3\u1788\u17B6\u1798 (Follow up CVD risk factor)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: a508c620-3168-4fb4-9ee3-92f7bb36a92e + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-t8HkMsMlC3 + - TAB-zoBCIgFfYB + - ROW-7-icvuPZW_ + type: CHART + CHART-explore-18-1: + children: [] + id: CHART-explore-18-1 + meta: + chartId: 18 + height: 54 + sliceName: "\u17A2\u17D2\u1793\u1780\u1791\u17D2\u179A\u1791\u1784\u17CB\u179F\ + \u17BB\u1781\u1797\u17B6\u1796\u1797\u17BC\u1798\u17B7 \u179A\u1799\u17C8\u1796\ + \u17C1\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1787\u17D2\u179A\ + \u17BE\u179F\u179A\u17BE\u179F (VHSG selected period)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: fcdead1b-d063-462f-80f7-3bebfe4ef55c + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-R0gpBrwwQo + - ROW-wwg-YupzB + type: CHART + CHART-explore-19-1: + children: [] + id: CHART-explore-19-1 + meta: + chartId: 19 + height: 64 + sliceName: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1794\u1784\u17CB\u1794\u17D2\ + \u179A\u17B6\u1780\u17CB (Payment type)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 46e7d221-e119-48b7-829f-e1e5eb2c5b67 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-io837OTCW + - ROW-ArK_OgZ8E + type: CHART + CHART-explore-20-1: + children: [] + id: CHART-explore-20-1 + meta: + chartId: 20 + height: 78 + sliceName: "\u1780\u1798\u17D2\u179A\u17B7\u178F\u17A0\u17B6\u1793\u17B7\u1797\ + \u17D0\u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\ + \u1784 \u179F\u179A\u179F\u17C3\u1788\u17B6\u1798 (CVD risk factor level)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 0ae383d3-1b95-41f3-b78a-4ac9b160bee2 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-9_2m5C8oB + - ROW-p6c_q9JNM + type: CHART + CHART-explore-21-1: + children: [] + id: CHART-explore-21-1 + meta: + chartId: 21 + height: 39 + sliceName: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 06787e7c-840b-469c-8e42-b9000f8d50aa + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-pcP09KpAD + - ROW-FKw8C0BGL + type: CHART + CHART-explore-22-1: + children: [] + id: CHART-explore-22-1 + meta: + chartId: 22 + height: 43 + sliceName: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 41aaa8d4-2166-4b62-8415-c3509ead4aaa + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-XnkhQFKvv_ + - ROW-xtN1SNCoV + type: CHART + CHART-explore-25-1: + children: [] + id: CHART-explore-25-1 + meta: + chartId: 25 + height: 39 + sliceName: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM Follow-up)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: e745bbfc-8292-443a-8ad2-892c020e8b3d + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-sQCz_04w59 + - ROW-1B0vzZhfL + type: CHART + CHART-explore-34-1: + children: [] + id: CHART-explore-34-1 + meta: + chartId: 34 + height: 54 + sliceName: "\u17A2\u17D2\u1793\u1780\u1791\u17D2\u179A\u1791\u1784\u17CB\u179F\ + \u17BB\u1781\u1797\u17B6\u1796\u1797\u17BC\u1798\u17B7 \u1796\u17B8\u1790\u17D2\ + \u1784\u17C3\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u179A\u17A0\ + \u17BC\u178F\u178A\u179B\u17CB\u1790\u17D2\u1784\u17C3\u1785\u1794\u17CB\u1793\ + \u17C3\u1780\u17B6\u179A\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (VHSG\ + \ From the start to the end of the selected)" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: f0b92d7f-3030-4b9c-ba0b-288bffcce6d1 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-R0gpBrwwQo + - ROW-wwg-YupzB + type: CHART + CHART-explore-35-1: + children: [] + id: CHART-explore-35-1 + meta: + chartId: 35 + height: 64 + sliceName: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1794\u1784\u17CB\u1794\u17D2\ + \u179A\u17B6\u1780\u17CB (Payment type from the start to the end of the selected)" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 37e46fe7-a11b-4529-9953-f5f4412f8fea + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-io837OTCW + - ROW-ArK_OgZ8E + type: CHART + CHART-explore-36-1: + children: [] + id: CHART-explore-36-1 + meta: + chartId: 36 + height: 78 + sliceName: "\u1780\u1798\u17D2\u179A\u17B7\u178F\u17A0\u17B6\u1793\u17B7\u1797\ + \u17D0\u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\ + \u1784 \u179F\u179A\u179F\u17C3\u1788\u17B6\u1798 (CVD risk factor level)\ + \ - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 88ad0424-53ee-4eef-9c1d-821a72833bd0 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-9_2m5C8oB + - ROW-p6c_q9JNM + type: CHART + CHART-explore-37-1: + children: [] + id: CHART-explore-37-1 + meta: + chartId: 37 + height: 39 + sliceName: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP) - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 388bb151-2871-4825-8740-58a18a5a74dc + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-pcP09KpAD + - ROW-FKw8C0BGL + type: CHART + CHART-explore-38-1: + children: [] + id: CHART-explore-38-1 + meta: + chartId: 38 + height: 43 + sliceName: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP) - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 410417e0-3968-42b3-8934-db8bb38f8d35 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-XnkhQFKvv_ + - ROW-xtN1SNCoV + type: CHART + CHART-explore-39-1: + children: [] + id: CHART-explore-39-1 + meta: + chartId: 39 + height: 41 + sliceName: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 844249e1-801c-47af-9828-f35e89b1bf91 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-JOFPEZFAW + - ROW-buFzbN_56 + type: CHART + CHART-explore-40-1: + children: [] + id: CHART-explore-40-1 + meta: + chartId: 40 + height: 41 + sliceName: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM) - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 4a29f29d-e943-4fa1-ace2-2cea02666d96 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-JOFPEZFAW + - ROW-buFzbN_56 + type: CHART + CHART-explore-41-1: + children: [] + id: CHART-explore-41-1 + meta: + chartId: 41 + height: 39 + sliceName: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM Follow-up) - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 6512c70d-ad0f-4ae3-bca0-4aa236bc14bb + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-sQCz_04w59 + - ROW-1B0vzZhfL + type: CHART + CHART-explore-42-1: + children: [] + id: CHART-explore-42-1 + meta: + chartId: 42 + height: 42 + sliceName: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP Follow-up)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: 30250f36-e5b9-4d8b-9248-48c50c0e6e28 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-2LT2K0nMK + - ROW-1MSGXSFk2 + type: CHART + CHART-explore-43-1: + children: [] + id: CHART-explore-43-1 + meta: + chartId: 43 + height: 41 + sliceName: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP Follow-up) - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: b3b45ce7-ce7b-49ba-a644-eb641ceb597a + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-2LT2K0nMK + - ROW-1MSGXSFk2 + type: CHART + CHART-explore-44-1: + children: [] + id: CHART-explore-44-1 + meta: + chartId: 44 + height: 44 + sliceName: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP Follow-up)" + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: a710b433-804d-4843-b4a1-591f20ee0f64 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-XJJS4ijVq + - ROW-AEShWRGl- + type: CHART + CHART-explore-45-1: + children: [] + id: CHART-explore-45-1 + meta: + chartId: 45 + height: 50 + sliceName: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP Follow-up)\ + \ - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 24b593a0-f6c0-4ea5-8778-f9bec36ffd19 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-XJJS4ijVq + - ROW-AEShWRGl- + type: CHART + CHART-explore-61-1: + children: [] + id: CHART-explore-61-1 + meta: + chartId: 61 + height: 36 + sliceName: Number of CCS Screening - Cumulative + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: de5915e1-b9aa-4a83-aa0f-a3b85b8f3403 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB--mZklkexa + - ROW-tRZOS4pi- + type: CHART + CHART-explore-62-1: + children: [] + id: CHART-explore-62-1 + meta: + chartId: 62 + height: 36 + sliceName: Number of CCS Screening + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: be3ea1c8-f0c0-4513-9576-720baca50cb3 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB--mZklkexa + - ROW-tRZOS4pi- + type: CHART + CHART-explore-63-1: + children: [] + id: CHART-explore-63-1 + meta: + chartId: 63 + height: 54 + sliceName: Dropout + sliceNameOverride: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u178A\u17C2\u179B\u1794\ + \u17B6\u1793\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F (The selected\ + \ period)" + uuid: bb6a9f95-951c-4b31-b03d-a9c53fa34904 + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-t8HkMsMlC3 + - TAB-od4wsrTQX + - ROW-4umzUlQx9 + type: CHART + CHART-explore-64-1: + children: [] + id: CHART-explore-64-1 + meta: + chartId: 64 + height: 54 + sliceName: Dropout - cumulative + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: d4eaf680-9d0f-4271-995f-737c41b1607a + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-t8HkMsMlC3 + - TAB-od4wsrTQX + - ROW-4umzUlQx9 + type: CHART + CHART-f3e66JQ-IW: + children: [] + id: CHART-f3e66JQ-IW + meta: + chartId: 47 + height: 69 + sliceName: "\u178F\u17B6\u1798\u178A\u17B6\u1793\u17A0\u17B6\u1793\u17B7\u1797\ + \u17D0\u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\ + \u1784 \u179F\u179A\u179F\u17C3\u1788\u17B6\u1798 (Follow up CVD risk factor)\ + \ - cumulative" + sliceNameOverride: "\u1794\u17D2\u179A\u1798\u17BC\u179B\u1795\u17D2\u178F\u17BB\ + \u17C6\u178F\u17B6\u17C6\u1784\u1796\u17B8\u178A\u17BE\u1798\u1798\u1780 (Cumulative\ + \ from the beginning)" + uuid: 9e92dce2-6041-4497-953a-b6a27d5160aa + width: 6 + parents: + - ROOT_ID + - GRID_ID + - TABS-t8HkMsMlC3 + - TAB-zoBCIgFfYB + - ROW-7-icvuPZW_ + type: CHART + DASHBOARD_VERSION_KEY: v2 + DIVIDER-OKka-nj4sZ: + children: [] + id: DIVIDER-OKka-nj4sZ + meta: {} + parents: + - ROOT_ID + - GRID_ID + type: DIVIDER + GRID_ID: + children: + - TABS-i19I_NKfun + - HEADER-95UgrDMIEC + - TABS-U-dXbZaCDh + - HEADER-4S7-dIRqk_ + - TABS-K1lxPABCza + - TABS-t8HkMsMlC3 + - DIVIDER-OKka-nj4sZ + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER-4S7-dIRqk_: + children: [] + id: HEADER-4S7-dIRqk_ + meta: + background: BACKGROUND_TRANSPARENT + headerSize: MEDIUM_HEADER + text: "\u178F\u17B6\u1798\u178A\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ + \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u1793\u17B7\u1784\ + \ \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\ + \ (Follow-up DM & HBP)" + parents: + - ROOT_ID + - GRID_ID + type: HEADER + HEADER-95UgrDMIEC: + children: [] + id: HEADER-95UgrDMIEC + meta: + background: BACKGROUND_TRANSPARENT + headerSize: MEDIUM_HEADER + text: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\ + \ (Diagnosis)" + parents: + - ROOT_ID + - GRID_ID + type: HEADER + HEADER_ID: + id: HEADER_ID + meta: + text: NCD HC EMR report + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-1B0vzZhfL: + children: + - CHART-explore-25-1 + - CHART-explore-41-1 + id: ROW-1B0vzZhfL + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-sQCz_04w59 + type: ROW + ROW-1MSGXSFk2: + children: + - CHART-explore-42-1 + - CHART-explore-43-1 + id: ROW-1MSGXSFk2 + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-2LT2K0nMK + type: ROW + ROW-4umzUlQx9: + children: + - CHART-explore-63-1 + - CHART-explore-64-1 + id: ROW-4umzUlQx9 + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-t8HkMsMlC3 + - TAB-od4wsrTQX + type: ROW + ROW-7-icvuPZW_: + children: + - CHART-KyPQi9RSjS + - CHART-f3e66JQ-IW + id: ROW-7-icvuPZW_ + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-t8HkMsMlC3 + - TAB-zoBCIgFfYB + type: ROW + ROW-AEShWRGl-: + children: + - CHART-explore-44-1 + - CHART-explore-45-1 + id: ROW-AEShWRGl- + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + - TAB-XJJS4ijVq + type: ROW + ROW-ArK_OgZ8E: + children: + - CHART-explore-19-1 + - CHART-explore-35-1 + id: ROW-ArK_OgZ8E + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-io837OTCW + type: ROW + ROW-FKw8C0BGL: + children: + - CHART-explore-21-1 + - CHART-explore-37-1 + id: ROW-FKw8C0BGL + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-pcP09KpAD + type: ROW + ROW-buFzbN_56: + children: + - CHART-explore-39-1 + - CHART-explore-40-1 + id: ROW-buFzbN_56 + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-JOFPEZFAW + type: ROW + ROW-p6c_q9JNM: + children: + - CHART-explore-20-1 + - CHART-explore-36-1 + id: ROW-p6c_q9JNM + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-9_2m5C8oB + type: ROW + ROW-tRZOS4pi-: + children: + - CHART-explore-62-1 + - CHART-explore-61-1 + id: ROW-tRZOS4pi- + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB--mZklkexa + type: ROW + ROW-wwg-YupzB: + children: + - CHART-explore-18-1 + - CHART-explore-34-1 + id: ROW-wwg-YupzB + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + - TAB-R0gpBrwwQo + type: ROW + ROW-xtN1SNCoV: + children: + - CHART-explore-22-1 + - CHART-explore-38-1 + id: ROW-xtN1SNCoV + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + - TAB-XnkhQFKvv_ + type: ROW + TAB--mZklkexa: + children: + - ROW-tRZOS4pi- + id: TAB--mZklkexa + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u179F\u1780\u1798\u17D2\u1798\u1797\u17B6\u1796\u1796\u17B7\u1793\u17B7\ + \u178F\u17D2\u1799 (Screening Activity)" + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + type: TAB + TAB-2LT2K0nMK: + children: + - ROW-1MSGXSFk2 + id: TAB-2LT2K0nMK + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798 (HBP)" + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + type: TAB + TAB-9_2m5C8oB: + children: + - ROW-p6c_q9JNM + id: TAB-9_2m5C8oB + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u1780\u1798\u17D2\u179A\u17B7\u178F\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ + \u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784\ + \ \u179F\u179A\u179F\u17C3\u1788\u17B6\u1798 (CVD risk factor level)" + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + type: TAB + TAB-JOFPEZFAW: + children: + - ROW-buFzbN_56 + id: TAB-JOFPEZFAW + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 (DM)" + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + type: TAB + TAB-R0gpBrwwQo: + children: + - ROW-wwg-YupzB + id: TAB-R0gpBrwwQo + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u17A2\u17D2\u1793\u1780\u1791\u17D2\u179A\u1791\u1784\u17CB\u179F\u17BB\ + \u1781\u1797\u17B6\u1796\u1797\u17BC\u1798\u17B7 (VHSG)" + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + type: TAB + TAB-XJJS4ijVq: + children: + - ROW-AEShWRGl- + id: TAB-XJJS4ijVq + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)" + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + type: TAB + TAB-XnkhQFKvv_: + children: + - ROW-xtN1SNCoV + id: TAB-XnkhQFKvv_ + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)" + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + type: TAB + TAB-io837OTCW: + children: + - ROW-ArK_OgZ8E + id: TAB-io837OTCW + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1794\u1784\u17CB\u1794\u17D2\u179A\ + \u17B6\u1780\u17CB (Payment type)" + parents: + - ROOT_ID + - GRID_ID + - TABS-i19I_NKfun + type: TAB + TAB-od4wsrTQX: + children: + - ROW-4umzUlQx9 + id: TAB-od4wsrTQX + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u17A2\u17D2\u1793\u1780\u1794\u17C4\u17C7\u1794\u1784\u17CB (\u1799\u17C9\ + \u17B6\u1784\u178F\u17B7\u1785\u17E9\u17E0\u1790\u17D2\u1784\u17C3 \u1785\u17B6\ + \u1794\u17CB\u1796\u17B8\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\ + \u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1785\u17BB\u1784\u1780\ + \u17D2\u179A\u17C4\u1799) (Drop out (More than 90 days after the last follow-up))" + parents: + - ROOT_ID + - GRID_ID + - TABS-t8HkMsMlC3 + type: TAB + TAB-pcP09KpAD: + children: + - ROW-FKw8C0BGL + id: TAB-pcP09KpAD + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798 (HBP)" + parents: + - ROOT_ID + - GRID_ID + - TABS-U-dXbZaCDh + type: TAB + TAB-sQCz_04w59: + children: + - ROW-1B0vzZhfL + id: TAB-sQCz_04w59 + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 (DM)" + parents: + - ROOT_ID + - GRID_ID + - TABS-K1lxPABCza + type: TAB + TAB-zoBCIgFfYB: + children: + - ROW-7-icvuPZW_ + id: TAB-zoBCIgFfYB + meta: + defaultText: Tab title + placeholder: Tab title + text: "\u178F\u17B6\u1798\u178A\u17B6\u1793\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ + \u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784\ + \ \u179F\u179A\u179F\u17C3\u1788\u17B6\u1798 (Follow up CVD risk factor)" + parents: + - ROOT_ID + - GRID_ID + - TABS-t8HkMsMlC3 + type: TAB + TABS-K1lxPABCza: + children: + - TAB-sQCz_04w59 + - TAB-2LT2K0nMK + - TAB-XJJS4ijVq + id: TABS-K1lxPABCza + meta: {} + parents: + - ROOT_ID + - GRID_ID + type: TABS + TABS-U-dXbZaCDh: + children: + - TAB-JOFPEZFAW + - TAB-pcP09KpAD + - TAB-XnkhQFKvv_ + id: TABS-U-dXbZaCDh + meta: {} + parents: + - ROOT_ID + - GRID_ID + type: TABS + TABS-i19I_NKfun: + children: + - TAB--mZklkexa + - TAB-R0gpBrwwQo + - TAB-io837OTCW + - TAB-9_2m5C8oB + id: TABS-i19I_NKfun + meta: {} + parents: + - ROOT_ID + - GRID_ID + type: TABS + TABS-t8HkMsMlC3: + children: + - TAB-zoBCIgFfYB + - TAB-od4wsrTQX + id: TABS-t8HkMsMlC3 + meta: {} + parents: + - ROOT_ID + - GRID_ID + type: TABS +metadata: + show_native_filters: true + color_scheme: bnbColors + refresh_frequency: 0 + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-YemSl5IA_ + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: health_facility_province + datasetUuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 18 + - 19 + - 20 + - 21 + - 22 + - 25 + - 34 + - 35 + - 36 + - 37 + - 38 + - 39 + - 40 + - 41 + - 42 + - 43 + - 44 + - 45 + - 46 + - 47 + tabsInScope: + - TAB-2LT2K0nMK + - TAB-9_2m5C8oB + - TAB-JOFPEZFAW + - TAB-R0gpBrwwQo + - TAB-XJJS4ijVq + - TAB-XnkhQFKvv_ + - TAB-io837OTCW + - TAB-pcP09KpAD + - TAB-sQCz_04w59 + - TAB-zoBCIgFfYB + - id: NATIVE_FILTER-IS1XclB_8 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: health_facility_district + datasetUuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-YemSl5IA_ + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 18 + - 19 + - 20 + - 21 + - 22 + - 25 + - 34 + - 35 + - 36 + - 37 + - 38 + - 39 + - 40 + - 41 + - 42 + - 43 + - 44 + - 45 + - 46 + - 47 + tabsInScope: + - TAB-2LT2K0nMK + - TAB-9_2m5C8oB + - TAB-JOFPEZFAW + - TAB-R0gpBrwwQo + - TAB-XJJS4ijVq + - TAB-XnkhQFKvv_ + - TAB-io837OTCW + - TAB-pcP09KpAD + - TAB-sQCz_04w59 + - TAB-zoBCIgFfYB + - id: NATIVE_FILTER-MGvZPcFpt + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: health_facility_name + datasetUuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-YemSl5IA_ + - NATIVE_FILTER-IS1XclB_8 + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 18 + - 19 + - 20 + - 21 + - 22 + - 25 + - 34 + - 35 + - 36 + - 37 + - 38 + - 39 + - 40 + - 41 + - 42 + - 43 + - 44 + - 45 + - 46 + - 47 + tabsInScope: + - TAB-2LT2K0nMK + - TAB-9_2m5C8oB + - TAB-JOFPEZFAW + - TAB-R0gpBrwwQo + - TAB-XJJS4ijVq + - TAB-XnkhQFKvv_ + - TAB-io837OTCW + - TAB-pcP09KpAD + - TAB-sQCz_04w59 + - TAB-zoBCIgFfYB + - id: NATIVE_FILTER_DIVIDER-P3gNMa5RR + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + chartsInScope: [] + tabsInScope: [] + - id: NATIVE_FILTER-xuWhB5b4k + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - TAB-R0gpBrwwQo + - TAB-io837OTCW + - TAB-9_2m5C8oB + - TAB-JOFPEZFAW + - TAB-pcP09KpAD + - TAB-XnkhQFKvv_ + - TAB-sQCz_04w59 + - TAB-2LT2K0nMK + - TAB-XJJS4ijVq + - TAB-zoBCIgFfYB + - TAB--mZklkexa + - TAB-od4wsrTQX + excluded: + - 34 + - 35 + - 36 + - 37 + - 38 + - 40 + - 41 + - 43 + - 45 + - 61 + - 47 + - 64 + type: NATIVE_FILTER + description: This filter applies to the left table. + chartsInScope: + - 18 + - 19 + - 20 + - 21 + - 22 + - 25 + - 39 + - 42 + - 44 + - 46 + tabsInScope: + - TAB-2LT2K0nMK + - TAB-9_2m5C8oB + - TAB-JOFPEZFAW + - TAB-R0gpBrwwQo + - TAB-XJJS4ijVq + - TAB-XnkhQFKvv_ + - TAB-io837OTCW + - TAB-pcP09KpAD + - TAB-sQCz_04w59 + - TAB-zoBCIgFfYB + - id: NATIVE_FILTER_DIVIDER-61cBGALq6 + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u1794\u17D2\u179A\u1798\ + \u17BC\u179B\u1795\u17D2\u178A\u17BB\u17C6 (Cumulative Period)" + description: '' + chartsInScope: [] + tabsInScope: [] + - id: NATIVE_FILTER-Uwzthn5Vs + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - TAB-R0gpBrwwQo + - TAB-io837OTCW + - TAB-9_2m5C8oB + - TAB-JOFPEZFAW + - TAB-pcP09KpAD + - TAB-XnkhQFKvv_ + - TAB-sQCz_04w59 + - TAB-2LT2K0nMK + - TAB-XJJS4ijVq + - TAB-zoBCIgFfYB + - TAB--mZklkexa + - TAB-od4wsrTQX + excluded: + - 46 + - 18 + - 19 + - 20 + - 21 + - 22 + - 25 + - 39 + - 42 + - 44 + - 62 + - 63 + type: NATIVE_FILTER + description: This applies to the right table. From the beginning to the end of + selected period. + chartsInScope: + - 34 + - 35 + - 36 + - 37 + - 38 + - 40 + - 41 + - 43 + - 45 + - 47 + tabsInScope: + - TAB-2LT2K0nMK + - TAB-9_2m5C8oB + - TAB-JOFPEZFAW + - TAB-R0gpBrwwQo + - TAB-XJJS4ijVq + - TAB-XnkhQFKvv_ + - TAB-io837OTCW + - TAB-pcP09KpAD + - TAB-sQCz_04w59 + - TAB-zoBCIgFfYB + shared_label_colors: {} + color_scheme_domain: + - '#ff5a5f' + - '#7b0051' + - '#007A87' + - '#00d1c1' + - '#8ce071' + - '#ffb400' + - '#b4a76c' + - '#ff8083' + - '#cc0086' + - '#00a1b3' + - '#00ffeb' + - '#bbedab' + - '#ffd266' + - '#cbc29a' + - '#ff3339' + - '#ff1ab1' + - '#005c66' + - '#00b3a5' + - '#55d12e' + - '#b37e00' + - '#988b4e' +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_dataset.yaml new file mode 100644 index 00000000..e8b322bd --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_dataset.yaml @@ -0,0 +1,708 @@ +table_name: NCD HC EMR Report +main_dttm_col: date_started +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS health_facility_code,\n\ + \ MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district) AS health_facility_district,\n\ + \ MAX(t3.state_province) AS health_facility_province,\n MAX(t2.patient_uuid) AS\ + \ patient_uuid,\n MAX(\n DATE_PART ('year', age (t1.date_started, t2.birthdate))\n\ + \ ) AS age,\n MAX(t2.gender) AS gender,\n MAX(t3.location_tags) AS location_tags,\n\ + \ MAX(t1.type) AS type,\n MAX(t1.visit_type_uuid) AS visit_type_uuid,\n MAX(t4.encounter_type)\ + \ AS encounter_type,\n MAX(t4.encounter_type_uuid) AS encounter_type_uuid,\n MAX(obs4.follow_up_date)\ + \ AS follow_up_date,\n MAX(\n SUBSTRING(\n t1.visit_attributes\n FROM\n\ + \ 'Referred from: ([^/]*)'\n )\n ) AS referred_from,\n MAX(\n SUBSTRING(\n\ + \ t1.visit_attributes\n FROM\n 'Insurance Type: ([^/]*)'\n )\n\ + \ ) AS payment_type,\n MAX(obs1.cvd_score) AS cvd_score,\n MAX(t1.type) AS visit_type,\n\ + \ MAX(obs2.diagnosis_one) AS diagnosis_one,\n MAX(obs3.diagnosis_two) AS diagnosis_two,\n\ + \ -- 5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab - NCD New Visit\n -- 54da8fbc-b92f-4251-b53a-feedc8e8c594\ + \ - NCD Follow-up Visit\n -- Referred from: Groupings\n MAX(\n CASE\n \ + \ WHEN (\n t1.visit_attributes LIKE '%Referred from: VHSG (village health\ + \ support group)%'\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '\u1794\u1789\u17D2\u1787\u17BC\u1793\u178A\u17C4\u1799\u17A2\u17D2\ + \u1793\u1780\u1791\u17D2\u179A\u1791\u1784\u17CB\u179F\u17BB\u1781\u1797\u17B6\u1796\ + \u1797\u17BC\u1798\u17B7 (VHSG/Health Care/Other)'\n WHEN (\n t1.visit_attributes\ + \ LIKE '%Referred from: Self presented%'\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '\u1798\u1780\u1781\u17D2\u179B\u17BD\u1793\u17AF\u1784 (Self-Presented)'\n\ + \ END\n ) AS referred_from_grouping,\n MAX(\n CASE\n WHEN (\n \ + \ t1.visit_attributes LIKE '%Referred from: VHSG (village health support group)%'\n\ + \ AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n )\ + \ THEN '\u1794\u1789\u17D2\u1787\u17BC\u1793\u178A\u17C4\u1799\u17A2\u17D2\u1793\ + \u1780\u1791\u17D2\u179A\u1791\u1784\u17CB\u179F\u17BB\u1781\u1797\u17B6\u1796\u1797\ + \u17BC\u1798\u17B7 (VHSG/Health Care/Other)'\n WHEN (\n t1.visit_attributes\ + \ LIKE '%Referred from: Self presented%'\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '\u1798\u1780\u1781\u17D2\u179B\u17BD\u1793\u17AF\u1784 (Self-Presented)'\n\ + \ END\n ) AS referred_from_grouping_follow_up,\n -- Payment type groupings\n\ + \ MAX(\n CASE\n WHEN (\n (\n t1.visit_attributes LIKE '%Insurance\ + \ Type: HEF_Poor%'\n OR t1.visit_attributes LIKE '%Insurance Type: HEF_Informal%'\n\ + \ )\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '\u1798\u17BC\u179B\u1793\u17B7\u1792\u17B7\u179F\u1798\u1792\u1798\ + \u17CC (HEF)'\n WHEN (\n t1.visit_attributes LIKE '%Insurance Type:\ + \ NSSF%'\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '\u1794\u179F\u179F (NSSF)'\n WHEN (\n t1.visit_attributes\ + \ LIKE '%Insurance Type: Other%'\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '\u1795\u17D2\u179F\u17C1\u1784\u17D7 (Other)'\n END\n ) AS payment_type_grouping,\n\ + \ MAX(\n CASE\n WHEN (\n (\n t1.visit_attributes LIKE '%Insurance\ + \ Type: HEF_Poor%'\n OR t1.visit_attributes LIKE '%Insurance Type: HEF_Informal%'\n\ + \ )\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '\u1798\u17BC\u179B\u1793\u17B7\u1792\u17B7\u179F\u1798\u1792\u1798\ + \u17CC (HEF)'\n WHEN (\n t1.visit_attributes LIKE '%Insurance Type:\ + \ NSSF%'\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '\u1794\u179F\u179F (NSSF)'\n WHEN (\n t1.visit_attributes\ + \ LIKE '%Insurance Type: Other%'\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '\u1795\u17D2\u179F\u17C1\u1784\u17D7 (Other)'\n END\n ) AS payment_type_grouping_follow_up,\n\ + \ -- CVD Score groupings\n MAX(\n CASE\n WHEN (\n obs1.cvd_score<5\n\ + \ AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n )\ + \ THEN '<5%'\n WHEN (\n obs1.cvd_score>=5\n AND obs1.cvd_score<10\n\ + \ AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n )\ + \ THEN '5 \u1791\u17C5 <10% (5 to <10%)'\n WHEN (\n obs1.cvd_score>=10\n\ + \ AND obs1.cvd_score<20\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '10 \u1791\u17C5 <20% (10 to <20%)'\n WHEN (\n obs1.cvd_score>=20\n\ + \ AND obs1.cvd_score<30\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '20% \u1791\u17C5 <30% (20% to <30%)'\n WHEN (\n obs1.cvd_score>=30\n\ + \ AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n )\ + \ THEN '\u226530%'\n END\n ) AS cvd_score_groupings,\n MAX(\n CASE\n \ + \ WHEN (\n obs1.cvd_score<5\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '<5%'\n WHEN (\n obs1.cvd_score>=5\n AND obs1.cvd_score<10\n\ + \ AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n )\ + \ THEN '5 \u1791\u17C5 <10% (5 to <10%)'\n WHEN (\n obs1.cvd_score>=10\n\ + \ AND obs1.cvd_score<20\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '10 \u1791\u17C5 <20% (10 to <20%)'\n WHEN (\n obs1.cvd_score>=20\n\ + \ AND obs1.cvd_score<30\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '20% \u1791\u17C5 <30% (20% to <30%)'\n WHEN (\n obs1.cvd_score>=30\n\ + \ AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n )\ + \ THEN '\u226530%'\n END\n ) AS cvd_score_groupings_follow_up,\n -- Diagnosis\n\ + \ MAX(\n CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid IN\ + \ (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ + \ AND (\n obs2.diagnosis_one_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ + \ OR obs3.diagnosis_two_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ + \ )\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM)'\n END\n ) AS dm,\n MAX(\n CASE\n WHEN (\n\ + \ obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n )\n\ + \ AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab' THEN '\u1787\ + \u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ + \u1798 (HBP)'\n END\n ) AS hbp,\n MAX(\n CASE\n WHEN (\n (\n\ + \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND t1.visit_type_uuid='5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)'\n END\n ) AS\ + \ dm_with_hbp,\n MAX(\n CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ + \ AND (\n obs2.diagnosis_one_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ + \ OR obs3.diagnosis_two_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ + \ )\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM)'\n END\n ) AS dm_follow_up,\n MAX(\n CASE\n \ + \ WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594' THEN\ + \ '\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\u17B6\u1792\ + \u1788\u17B6\u1798 (HBP)'\n END\n ) AS hbp_follow_up,\n MAX(\n CASE\n \ + \ WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND t1.visit_type_uuid='54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ ) THEN '\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)'\n END\n ) AS\ + \ dm_with_hbp_follow_up,\n -- Drop out\n MAX(\n CASE\n WHEN (\n \ + \ (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid NOT IN\ + \ ('3cd50188-26fe-102b-80cb-0017a47871b2')\n OR obs3.diagnosis_two_uuid\ + \ NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n )\n AND (\n \ + \ CURRENT_DATE-obs4.follow_up_date>INTERVAL '90 days'\n AND obs4.follow_up_date>t1.date_started\n\ + \ )\n ) THEN 1\n ELSE 0\n END\n ) AS dm_drop_out,\n MAX(\n\ + \ CASE\n WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND (\n CURRENT_DATE-obs4.follow_up_date>INTERVAL '90 days'\n\ + \ AND obs4.follow_up_date>t1.date_started\n ) THEN 1\n ELSE 0\n\ + \ END\n ) AS hbp_drop_out,\n MAX(\n CASE\n WHEN (\n (\n \ + \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND (\n CURRENT_DATE-obs4.follow_up_date>INTERVAL '90\ + \ days'\n AND obs4.follow_up_date>t1.date_started\n )\n ) THEN\ + \ 1\n ELSE 0\n END\n ) AS dm_with_hbp_drop_out,\n MAX(t5.drugs) AS drugs,\n\ + \ MAX(t5.total_quantity) AS total_quantity,\n -- Age Group\n MAX(\n CASE\n\ + \ WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))<18 THEN '< 18\u1786\ + \u17D2\u1793\u17B6\u17C6 (< 18 yrs)'\n WHEN DATE_PART ('year', age (t1.date_started,\ + \ t2.birthdate))>=18\n AND DATE_PART ('year', age (t1.date_started, t2.birthdate))<=24\ + \ THEN '18 to 24\u1786\u17D2\u1793\u17B6\u17C6 (18 to 24yrs)'\n WHEN DATE_PART\ + \ ('year', age (t1.date_started, t2.birthdate))>=25\n AND DATE_PART ('year',\ + \ age (t1.date_started, t2.birthdate))<=39 THEN '25 to 39\u1786\u17D2\u1793\u17B6\ + \u17C6 (25 to 39yrs)'\n WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate))>=40\n\ + \ AND DATE_PART ('year', age (t1.date_started, t2.birthdate))<=69 THEN '40\ + \ to 69\u1786\u17D2\u1793\u17B6\u17C6 (40 to 69yrs)'\n WHEN DATE_PART ('year',\ + \ age (t1.date_started, t2.birthdate))>=70 THEN '\u2265 70\u1786\u17D2\u1793\u17B6\ + \u17C6 (\u2265 70yrs)'\n END\n ) AS age_group\nFROM\n visits t1\n LEFT JOIN\ + \ patients t2 ON (t1.patient_uuid=t2.patient_uuid)\n LEFT JOIN locations t3 ON\ + \ (t1.location_uuid=t3.uuid)\n LEFT JOIN encounters t4 ON (\n t1.visit_uuid=t4.visit_uuid\n\ + \ AND t4.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n ord.encounter_uuid,\n\ + \ STRING_AGG (\n CONCAT (drug_name, '|', quantity, '|', quantity_unit_name),\n\ + \ ', '\n ) AS drugs,\n SUM(quantity) AS total_quantity\n FROM\n\ + \ orders ord\n WHERE\n ord.voided IS FALSE\n -- Drug Order Type\n\ + \ AND ord.order_type_uuid='131168f4-15f5-102d-96e4-000c29c2a5d7'\n GROUP\ + \ BY\n ord.encounter_uuid\n ) t5 ON (\n t4.encounter_uuid=t5.encounter_uuid\n\ + \ AND t4.encounter_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_numeric AS cvd_score\n\ + \ FROM\n observations o\n WHERE\n o.question_uuid='dff491e3-b14c-4b32-ab64-63b96966d72d'\n\ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_numeric\n ) obs1 ON (\n obs1.visit_uuid=t1.visit_uuid\n AND\ + \ obs1.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_one,\n\ + \ o.answer_coded_uuid AS diagnosis_one_uuid\n FROM\n observations o\n\ + \ WHERE\n o.question_uuid='45583478-f703-46e3-b63a-54b0a95c25f0'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs2 ON (\n obs2.visit_uuid=t1.visit_uuid\n\ + \ AND obs2.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_two,\n\ + \ o.answer_coded_uuid AS diagnosis_two_uuid\n FROM\n observations o\n\ + \ WHERE\n o.question_uuid='76ca08a5-2128-4b53-afba-74227b015924'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs3 ON (\n obs3.visit_uuid=t1.visit_uuid\n\ + \ AND obs3.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_datetime AS follow_up_date\n\ + \ FROM\n observations o\n WHERE\n o.question_uuid='e9c145c1-f4e9-4c34-b237-da069939dc38'\n\ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_datetime\n ) obs4 ON (\n obs4.visit_uuid=t1.visit_uuid\n \ + \ AND obs4.visit_uuid IS NOT NULL\n )\nWHERE\n -- NCD New Visit & Follow-up Visit\n\ + \ t1.visit_type_uuid IN (\n '5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab',\n '54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ )\n -- NCD Screening\n AND t4.encounter_type_uuid='422b7e0c-b8f3-4748-8e60-d6684315f141'\n\ + \ AND t1.visit_voided IS FALSE\n AND t2.person_voided IS FALSE\n AND t2.patient_uuid\ + \ IS NOT NULL\n -- Health Center\n AND t3.location_tags ILIKE '%Health Center%'\n\ + GROUP BY\n t4.visit_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 6fa56ea7-aa49-46cd-8ae8-f8c5d141e0c9 +metrics: +- metric_name: sum dm with hbp drop out + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)" + metric_type: null + expression: SUM(dm_with_hbp_drop_out) + description: null + d3format: null + extra: {} + warning_text: null +- metric_name: count screen for ccs + verbose_name: Number of Screening + metric_type: null + expression: COUNT(DISTINCT patient_uuid) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count per age group + verbose_name: Age Group + metric_type: null + expression: COUNT(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum hbp dropout + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F \u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 (HBP)" + metric_type: null + expression: SUM(hbp_drop_out) + description: null + d3format: null + extra: {} + warning_text: null +- metric_name: sum dm dropout + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 (DM)" + metric_type: null + expression: SUM(dm_drop_out) + description: null + d3format: null + extra: {} + warning_text: null +columns: +- column_name: dm_with_hbp + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1793\u17C4\u1798\u1795\u17D2\ + \u17A2\u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (DM with HBP)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cvd_score_groupings + verbose_name: CVD risk factor level + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: payment_type_grouping + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1794\u1784\u17CB\u1794\u17D2\ + \u179A\u17B6\u1780\u17CB (Payment type)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: referred_from_grouping + verbose_name: "\u17A2\u17D2\u1793\u1780\u1791\u17D2\u179A\u1791\u1784\u17CB\u179F\ + \u17BB\u1781\u1797\u17B6\u1796\u1797\u17BC\u1798\u17B7 (VHSG)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: age_group + verbose_name: Age group + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: date_started + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: cvd_score + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_name + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_code + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_district + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_province + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: location_tags + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_one + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_two + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: payment_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: referred_from + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: visit_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: follow_up_date + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: total_quantity + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_with_hbp_drop_out + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_drop_out + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_drop_out + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: payment_type_grouping_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_with_hbp_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cvd_score_groupings_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred_from_grouping_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: encounter_type_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_type_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: patient_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: encounter_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: drugs + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: 63fa63d4-59cb-4bb1-92ef-20e99088de7b From c17a07ae4700cef160cbdfb900fd66e4471e0fe1 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Tue, 18 Jun 2024 18:09:23 +0300 Subject: [PATCH 10/20] KH-535: Added NCD HC Raw Data Report --- .../charts/ncd_hc_emr_raw_data_table.yaml | 137 ++ .../ncd_hc_emr_raw_data_dashboard.yaml | 176 ++ .../ncd_hc_emr_raw_data_dataset.yaml | 1662 +++++++++++++++++ 3 files changed, 1975 insertions(+) create mode 100644 base/configs/superset/assets/charts/ncd_hc_emr_raw_data_table.yaml create mode 100644 base/configs/superset/assets/dashboards/ncd_hc_emr_raw_data_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_raw_data_dataset.yaml diff --git a/base/configs/superset/assets/charts/ncd_hc_emr_raw_data_table.yaml b/base/configs/superset/assets/charts/ncd_hc_emr_raw_data_table.yaml new file mode 100644 index 00000000..810b5e2c --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_hc_emr_raw_data_table.yaml @@ -0,0 +1,137 @@ +slice_name: NCD HC EMR Raw Data +description: null +certified_by: null +certification_details: null +viz_type: table +params: + datasource: 17__table + viz_type: table + slice_id: 49 + granularity_sqla: visit_date_time + time_grain_sqla: P1D + time_range: No filter + query_mode: raw + groupby: [] + metrics: [] + all_columns: + - client_id + - client_name + - gender + - age + - id_poor + - national_id + - covid_vacination_id + - pmrs_id + - nssf + - ssn + - passport_no + - other_identifiers + - village + - commune + - district + - province + - country + - phone_number + - occupation + - place_of_birth + - ethnicity + - marital_status + - education + - visit_date_time + - hf_code + - hf_name + - visit_type + - visit_province + - visit_district + - payment_type + - referred_from + - address_zone + - has_referral_letter + - screened_dm_hbp + - known_hypertensive + - known_hypertensive_meds_use + - known_diabetic + - diabetic_meds_use + - current_therapy + - hx_diabetes_and_heart_disease + - hx_heart_disease + - previous_medical_complications + - other_health_complications + - presence_of_allergies + - allergies_details + - waist_circumference + - weight + - height + - bmi + - systolic + - diastolic + - pulse_rate + - temperature + - fasting_blood_sugar + - random_blood_sugar + - ogtt + - hb1ac + - albumin + - ketones + - cholesterol + - smoking + - quit_smoking + - physical_activity + - alcohol + - consultation_by + - tele_consultation + - foot_exam + - foot_problem + - tb_presence + - tb_symptions + - tb_referred + - left_eye_exam + - left_visual_acuity + - left_eye_lids_eye_lashes + - left_conjunctiva + - left_cornea + - left_pupil + - left_lens + - right_eye_exam + - right_visual_acuity + - right_eye_lids_eye_lashes + - right_conjunctiva + - right_cornea + - right_pupil + - right_lens + - cvd_score + - diagnosis_one + - diagnosis_two + - other_health_conditions + - for_referral_criteria + - referral_criteria + - referred_to + - hypertension_diagnosis + - rf_hf_name + - follow_up_cvd_score_risk_factors + - follow_up_date + - recommendations + - started_on_medicine + - visit_end_date_time + - drugs + percent_metrics: [] + adhoc_filters: [] + order_by_cols: [] + server_pagination: false + row_limit: 1000 + server_page_length: 10 + order_desc: true + table_timestamp_format: smart_date + show_cell_bars: false + color_pn: true + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 11 +query_context: '{"datasource":{"id":17,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_time","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["client_id","client_name","gender","age","id_poor","national_id","covid_vacination_id","pmrs_id","nssf","ssn","passport_no","other_identifiers","village","commune","district","province","country","phone_number","occupation","place_of_birth","ethnicity","marital_status","education","visit_date_time","hf_code","hf_name","visit_type","visit_province","visit_district","payment_type","referred_from","address_zone","has_referral_letter","screened_dm_hbp","known_hypertensive","known_hypertensive_meds_use","known_diabetic","diabetic_meds_use","current_therapy","hx_diabetes_and_heart_disease","hx_heart_disease","previous_medical_complications","other_health_complications","presence_of_allergies","allergies_details","waist_circumference","weight","height","bmi","systolic","diastolic","pulse_rate","temperature","fasting_blood_sugar","random_blood_sugar","ogtt","hb1ac","albumin","ketones","cholesterol","smoking","quit_smoking","physical_activity","alcohol","consultation_by","tele_consultation","foot_exam","foot_problem","tb_presence","tb_symptions","tb_referred","left_eye_exam","left_visual_acuity","left_eye_lids_eye_lashes","left_conjunctiva","left_cornea","left_pupil","left_lens","right_eye_exam","right_visual_acuity","right_eye_lids_eye_lashes","right_conjunctiva","right_cornea","right_pupil","right_lens","cvd_score","diagnosis_one","diagnosis_two","other_health_conditions","for_referral_criteria","referral_criteria","referred_to","hypertension_diagnosis","rf_hf_name","follow_up_cvd_score_risk_factors","follow_up_date","recommendations","started_on_medicine","visit_end_date_time","drugs"],"orderby":[],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"17__table","viz_type":"table","slice_id":49,"granularity_sqla":"visit_date_time","time_grain_sqla":"P1D","time_range":"No + filter","query_mode":"raw","groupby":[],"metrics":[],"all_columns":["client_id","client_name","gender","age","id_poor","national_id","covid_vacination_id","pmrs_id","nssf","ssn","passport_no","other_identifiers","village","commune","district","province","country","phone_number","occupation","place_of_birth","ethnicity","marital_status","education","visit_date_time","hf_code","hf_name","visit_type","visit_province","visit_district","payment_type","referred_from","address_zone","has_referral_letter","screened_dm_hbp","known_hypertensive","known_hypertensive_meds_use","known_diabetic","diabetic_meds_use","current_therapy","hx_diabetes_and_heart_disease","hx_heart_disease","previous_medical_complications","other_health_complications","presence_of_allergies","allergies_details","waist_circumference","weight","height","bmi","systolic","diastolic","pulse_rate","temperature","fasting_blood_sugar","random_blood_sugar","ogtt","hb1ac","albumin","ketones","cholesterol","smoking","quit_smoking","physical_activity","alcohol","consultation_by","tele_consultation","foot_exam","foot_problem","tb_presence","tb_symptions","tb_referred","left_eye_exam","left_visual_acuity","left_eye_lids_eye_lashes","left_conjunctiva","left_cornea","left_pupil","left_lens","right_eye_exam","right_visual_acuity","right_eye_lids_eye_lashes","right_conjunctiva","right_cornea","right_pupil","right_lens","cvd_score","diagnosis_one","diagnosis_two","other_health_conditions","for_referral_criteria","referral_criteria","referred_to","hypertension_diagnosis","rf_hf_name","follow_up_cvd_score_risk_factors","follow_up_date","recommendations","started_on_medicine","visit_end_date_time","drugs"],"percent_metrics":[],"adhoc_filters":[],"order_by_cols":[],"server_pagination":false,"row_limit":1000,"server_page_length":10,"include_time":false,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":false,"color_pn":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[11],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 43fdf069-6fb1-436f-bfbb-43cd28a650d4 +version: 1.0.0 +dataset_uuid: 6ce6fc9b-68dd-41b9-bc50-488d1285923e diff --git a/base/configs/superset/assets/dashboards/ncd_hc_emr_raw_data_dashboard.yaml b/base/configs/superset/assets/dashboards/ncd_hc_emr_raw_data_dashboard.yaml new file mode 100644 index 00000000..b6eedbbb --- /dev/null +++ b/base/configs/superset/assets/dashboards/ncd_hc_emr_raw_data_dashboard.yaml @@ -0,0 +1,176 @@ +dashboard_title: NCD HC EMR Raw Data +description: null +css: '' +slug: null +uuid: f4a7d507-915c-4b9b-b4d6-fafccff2d8c3 +position: + CHART-explore-49-1: + children: [] + id: CHART-explore-49-1 + meta: + chartId: 49 + height: 105 + sliceName: NCD HC EMR Raw Data + uuid: 43fdf069-6fb1-436f-bfbb-43cd28a650d4 + width: 12 + parents: + - ROOT_ID + - GRID_ID + - ROW-xbgfSH53z + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-xbgfSH53z + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: NCD HC EMR Raw Data + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-xbgfSH53z: + children: + - CHART-explore-49-1 + id: ROW-xbgfSH53z + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + shared_label_colors: {} + color_scheme_domain: [] + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-5fqJvkq3x + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: visit_province + datasetUuid: 6ce6fc9b-68dd-41b9-bc50-488d1285923e + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 49 + tabsInScope: [] + - id: NATIVE_FILTER-ylmpHydXL + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: visit_district + datasetUuid: 6ce6fc9b-68dd-41b9-bc50-488d1285923e + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-5fqJvkq3x + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 49 + tabsInScope: [] + - id: NATIVE_FILTER-yvy-SL7is + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: hf_name + datasetUuid: 6ce6fc9b-68dd-41b9-bc50-488d1285923e + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-5fqJvkq3x + - NATIVE_FILTER-ylmpHydXL + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 49 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-JQ_ZV_eGz + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + - id: NATIVE_FILTER-WcwyNteZj + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_raw_data_dataset.yaml new file mode 100644 index 00000000..ce1a7957 --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_raw_data_dataset.yaml @@ -0,0 +1,1662 @@ +table_name: NCD HC EMR Raw Data +main_dttm_col: null +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n MAX(p.openmrs_id) AS client_id,\n MAX(p.patient_name) AS client_name,\n\ + \ MAX(p.gender) AS gender,\n MAX(\n DATE_PART ('year', age (v.date_started,\ + \ p.birthdate))\n ) AS age,\n MAX(p.id_poor) AS id_poor,\n MAX(p.national_id)\ + \ AS national_id,\n MAX(p.covid_vacination_id) AS covid_vacination_id,\n MAX(p.pmrs_id)\ + \ AS pmrs_id,\n MAX(p.nssf) AS nssf,\n MAX(p.ssn) AS ssn,\n MAX(p.passport_no)\ + \ AS passport_no,\n MAX(p.other_identifiers) AS other_identifiers,\n MAX(p.village)\ + \ AS village,\n MAX(p.commune) AS commune,\n MAX(p.district) AS district,\n MAX(p.province)\ + \ AS province,\n MAX(p.country) AS country,\n MAX(p.phone_number) AS phone_number,\n\ + \ MAX(p.occupation) AS occupation,\n MAX(p.place_of_birth) AS place_of_birth,\n\ + \ MAX(p.ethnicity) AS ethnicity,\n MAX(p.marital_status) AS marital_status,\n\ + \ MAX(p.education) AS education,\n MAX(v.date_started) AS visit_date_time,\n \ + \ MAX(l.postal_code) AS hf_code,\n MAX(l.name) AS hf_name,\n MAX(v.type) AS visit_type,\n\ + \ MAX(l.state_province) AS visit_province,\n MAX(l.county_district) AS visit_district,\n\ + \ MAX(l.location_tags) AS location_tags,\n -- Referred from: Referral Hospital\ + \ / Has a referral letter ?: No / Address Zone: Zone A / Insurance Type: HEF_Poor\n\ + \ MAX(\n SUBSTRING(\n v.visit_attributes\n FROM\n 'Insurance\ + \ Type: ([^/]*)'\n )\n ) AS payment_type,\n MAX(\n SUBSTRING(\n v.visit_attributes\n\ + \ FROM\n 'Referred from: ([^/]*)'\n )\n ) AS referred_from,\n MAX(\n\ + \ SUBSTRING(\n v.visit_attributes\n FROM\n 'Address Zone: ([^/]*)'\n\ + \ )\n ) AS address_zone,\n MAX(\n SUBSTRING(\n v.visit_attributes\n\ + \ FROM\n 'Has a referral letter ?: ([^/]*)'\n )\n ) AS has_referral_letter,\n\ + \ -- Screened for DM & HBP\n MAX(\n CASE\n WHEN o.question_uuid='e43b443b-70de-48f3-8d6c-081337621982'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS screened_dm_hbp,\n -- knownHypertensive\n MAX(\n CASE\n WHEN o.question_uuid='f8fd0782-a9fc-4c02-b556-72740853bc18'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS known_hypertensive,\n -- knownHypertensivemedsUse\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='c311aec0-dd3d-4c84-a4ab-601fab82ca37'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS known_hypertensive_meds_use,\n\ + \ -- knownDiabetic\n MAX(\n CASE\n WHEN o.question_uuid='b8edfbde-5f94-421e-8b25-e86afe35d0f7'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS known_diabetic,\n -- Diabetic Meds Use\n MAX(\n CASE\n WHEN o.question_uuid='3c803217-425c-4d7c-a2cb-fc2256ad7ca2'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS diabetic_meds_use,\n -- currentTherapy\n NULL AS current_therapy,\n --\ + \ History of diabetes or kidney disease in first degree relative?\n MAX(\n CASE\n\ + \ WHEN o.question_uuid='6bb3f867-70ee-4854-9408-d386c99c5990'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS hx_diabetes_and_heart_disease,\n\ + \ -- History of premature heart disease or stroke in first degree relative?\n \ + \ MAX(\n CASE\n WHEN o.question_uuid='4d180dd2-9bc7-4ea8-b64e-5e851c9e5c7d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hx_heart_disease,\n -- previousMedicalComplications\n MAX(\n CASE\n\ + \ WHEN o.question_uuid='a9e26e21-126f-45ed-98f2-f4fb423bc634'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS previous_medical_complications,\n\ + \ -- otherHealthComplications\n MAX(\n CASE\n WHEN o.question_uuid='868e9ebe-86fd-467a-b7a8-345437f340af'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n\ + \ ) AS other_health_complications,\n -- Presence Of Allergies\n MAX(\n CASE\n\ + \ WHEN o.question_uuid='c67a6c5e-2559-46a8-b9da-2cb38bfff8a3'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS presence_of_allergies,\n\ + \ -- AllergiesDetails\n MAX(\n CASE\n WHEN o.question_uuid='b082eb80-3495-4af8-a970-0ae0af6ce184'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n\ + \ ) AS allergies_details,\n -- Waist Circumference\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='90c9e0ae-d9f6-477c-9f23-bd7af88994e4'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS waist_circumference,\n\ + \ -- Weight\n MAX(\n CASE\n WHEN o.question_uuid='5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS weight,\n -- Height\n MAX(\n CASE\n WHEN o.question_uuid='5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS height,\n -- BMI\n MAX(\n CASE\n WHEN o.question_uuid='a89c60c0-1350-11df-a1f1-0026b9348838'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS bmi,\n -- Systolic\n MAX(\n CASE\n WHEN o.question_uuid='5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS systolic,\n -- diastolic\n MAX(\n CASE\n WHEN o.question_uuid='5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS diastolic,\n -- pulse_rate\n MAX(\n CASE\n WHEN o.question_uuid='5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS pulse_rate,\n -- temperature\n MAX(\n CASE\n WHEN o.question_uuid='5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS temperature,\n -- Fasting Blood Sugar\n MAX(\n CASE\n WHEN o.question_uuid='4a6ad2db-86af-4acc-906b-b749b7f6cda6'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS fasting_blood_sugar,\n -- Random Blood Sugar\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='f52d731e-58da-4f3a-a480-77c5e9d8d2eb'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS random_blood_sugar,\n\ + \ -- OGTT\n MAX(\n CASE\n WHEN o.question_uuid='163594AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS ogtt,\n -- HB1AC\n MAX(\n CASE\n WHEN o.question_uuid='a8af7520-1350-11df-a1f1-0026b9348838'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS hb1ac,\n -- Albumin (Urine)\n MAX(\n CASE\n WHEN o.question_uuid='c423325e-be95-42e2-ae38-b940c2586327'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS albumin,\n -- Ketones\n MAX(\n CASE\n WHEN o.question_uuid='07015405-c865-4a22-8ad1-c8863d5f005b'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS ketones,\n -- Cholesterol\n MAX(\n CASE\n WHEN o.question_uuid='1006AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS cholesterol,\n -- Smoking\n MAX(\n CASE\n WHEN o.question_uuid='7533aa7e-04cb-4cfd-9c97-6ac36f114bab'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS smoking,\n -- Quit Smoking\n MAX(\n CASE\n WHEN o.question_uuid='b147d693-8c18-4c62-9807-ecd0e60e8fdf'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS quit_smoking,\n -- Physical activity\n MAX(\n CASE\n WHEN o.question_uuid='c31a2da0-f16b-44e3-baea-8a259d8beb31'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS physical_activity,\n -- Alcohol\n MAX(\n CASE\n WHEN o.question_uuid='e737c8c9-a154-47a1-aa20-ed13008d46cf'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS alcohol,\n -- consultation by\n MAX(\n CASE\n WHEN o.question_uuid='3786ab5c-1d22-4ac6-b8fc-4c7b5a97b754'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS consultation_by,\n -- teleConsultation\n MAX(\n CASE\n WHEN o.question_uuid='80fc2e59-8c16-40db-9767-ac9d9ffeb010'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS tele_consultation,\n -- foot Exam\n MAX(\n CASE\n WHEN o.question_uuid='8c2d8409-7c6d-4d8b-84a3-a2bea243c0b8'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS foot_exam,\n -- footProblem\n MAX(\n CASE\n WHEN o.question_uuid='c01f876c-0a08-47c6-a003-e3dd22098634'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS foot_problem,\n -- TB Presence\n MAX(\n CASE\n WHEN o.question_uuid='b10eae79-8358-4653-822b-33336644db36'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS tb_presence,\n -- TB Symptions\n MAX(\n CASE\n WHEN o.question_uuid='f7a59dd0-127b-489f-aa6d-9723f18c2220'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS tb_symptions,\n -- TB Referred\n MAX(\n CASE\n WHEN o.question_uuid='ea543526-f3d3-4a23-a8aa-0c0acf529d51'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS tb_referred,\n -- LEFT EYE\n -- Eye Exam\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='d635d74b-1316-4a7e-b104-e6691995bf0d'\n AND o.obs_group_concept_uuid='62d486b6-ebc3-4245-8d03-277c4b2a21ea'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS left_eye_exam,\n -- visual Acuity\n MAX(\n CASE\n WHEN o.question_uuid='eb52b489-420e-4499-89a5-7179bcc5c925'\n\ + \ AND o.obs_group_concept_uuid='62d486b6-ebc3-4245-8d03-277c4b2a21ea'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS left_visual_acuity,\n -- eye lids Eye lashes\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='dba7a06f-50d4-4e02-82a4-3b79d2d7cc49'\n AND o.obs_group_concept_uuid='62d486b6-ebc3-4245-8d03-277c4b2a21ea'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS left_eye_lids_eye_lashes,\n -- conjunctiva\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='9d14b8af-8da3-44d6-953f-c23c1c87a735'\n AND o.obs_group_concept_uuid='62d486b6-ebc3-4245-8d03-277c4b2a21ea'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS left_conjunctiva,\n -- cornea\n MAX(\n CASE\n WHEN o.question_uuid='960d1a6b-7183-4c9b-930a-d34ccdf9b4e7'\n\ + \ AND o.obs_group_concept_uuid='62d486b6-ebc3-4245-8d03-277c4b2a21ea'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS left_cornea,\n -- pupil\n MAX(\n CASE\n WHEN o.question_uuid='c09f8404-dc04-4ca8-87cc-a4793928ef78'\n\ + \ AND o.obs_group_concept_uuid='62d486b6-ebc3-4245-8d03-277c4b2a21ea'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS left_pupil,\n -- lens\n MAX(\n CASE\n WHEN o.question_uuid='b78e7118-4d9f-4135-a7a3-aaf9aba7a33e'\n\ + \ AND o.obs_group_concept_uuid='62d486b6-ebc3-4245-8d03-277c4b2a21ea'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS left_lens,\n -- RIGH EYE\n -- Eye Exam\n MAX(\n CASE\n WHEN o.question_uuid='d635d74b-1316-4a7e-b104-e6691995bf0d'\n\ + \ AND o.obs_group_concept_uuid='ea132b45-c846-4f66-bc81-fe8c46f793a4'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS right_eye_exam,\n -- visual Acuity\n MAX(\n CASE\n WHEN o.question_uuid='eb52b489-420e-4499-89a5-7179bcc5c925'\n\ + \ AND o.obs_group_concept_uuid='ea132b45-c846-4f66-bc81-fe8c46f793a4'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS right_visual_acuity,\n -- eye lids Eye lashes\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='dba7a06f-50d4-4e02-82a4-3b79d2d7cc49'\n AND o.obs_group_concept_uuid='ea132b45-c846-4f66-bc81-fe8c46f793a4'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS right_eye_lids_eye_lashes,\n -- conjunctiva\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='9d14b8af-8da3-44d6-953f-c23c1c87a735'\n AND o.obs_group_concept_uuid='ea132b45-c846-4f66-bc81-fe8c46f793a4'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS right_conjunctiva,\n -- cornea\n MAX(\n CASE\n WHEN o.question_uuid='960d1a6b-7183-4c9b-930a-d34ccdf9b4e7'\n\ + \ AND o.obs_group_concept_uuid='ea132b45-c846-4f66-bc81-fe8c46f793a4'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS right_cornea,\n -- pupil\n MAX(\n CASE\n WHEN o.question_uuid='c09f8404-dc04-4ca8-87cc-a4793928ef78'\n\ + \ AND o.obs_group_concept_uuid='ea132b45-c846-4f66-bc81-fe8c46f793a4'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS right_pupil,\n -- lens\n MAX(\n CASE\n WHEN o.question_uuid='b78e7118-4d9f-4135-a7a3-aaf9aba7a33e'\n\ + \ AND o.obs_group_concept_uuid='ea132b45-c846-4f66-bc81-fe8c46f793a4'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS right_lens,\n -- CVD score\n MAX(\n CASE\n WHEN o.question_uuid='dff491e3-b14c-4b32-ab64-63b96966d72d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS cvd_score,\n -- Diagnosis One\n MAX(\n CASE\n WHEN o.question_uuid='45583478-f703-46e3-b63a-54b0a95c25f0'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS diagnosis_one,\n -- Diagnosis Two\n MAX(\n CASE\n WHEN o.question_uuid='76ca08a5-2128-4b53-afba-74227b015924'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS diagnosis_two,\n -- Other Health Conditions\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='2c50ded9-779a-4316-be00-d9a065674e54'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS other_health_conditions,\n\ + \ --For Referral\n MAX(\n CASE\n WHEN o.question_uuid='4bbeb3ce-f7ff-476c-9661-60b774fb96f4'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS for_referral_criteria,\n -- Referral Criteria\n MAX(\n CASE\n \ + \ WHEN o.question_uuid IN ('cde3716a-2b98-4f10-b619-4d5a5a55503c')\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS referral_criteria,\n\ + \ -- Referred to\n MAX(\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS referred_to,\n MAX(\n CASE\n WHEN o.question_uuid='68f158ff-6396-4bab-8194-73255282bd23'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hypertension_diagnosis,\n MAX(\n split_part (\n split_part (\n\ + \ (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 3\n ),\n '.',\n \ + \ 1\n )\n ) AS rf_hf_code,\n MAX(\n split_part (\n split_part (\n\ + \ (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 3\n ),\n '.',\n \ + \ 2\n )\n ) AS rf_hf_name,\n MAX(\n split_part (\n (\n CASE\n\ + \ WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n \ + \ END\n ),\n '>',\n 2\n )\n ) AS rf_hf_district,\n MAX(\n \ + \ split_part (\n (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 1\n )\n ) AS rf_hf_province,\n --\ + \ Follow-up CVD score factors\n MAX(\n CASE\n WHEN o.question_uuid='7a67e555-1320-4197-a5df-54be3e68a1fe'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS follow_up_cvd_score_risk_factors,\n -- Follow-up date\n MAX(\n CASE\n\ + \ WHEN o.question_uuid='e9c145c1-f4e9-4c34-b237-da069939dc38'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_datetime\n ELSE NULL\n END\n ) AS follow_up_date,\n\ + \ -- recommendations\n MAX(\n CASE\n WHEN o.question_uuid='9f7c8739-3ea3-4f7f-8648-d6c36fef7be2'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS recommendations,\n -- Started on medicine\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='805c3a0b-cd38-4ed6-b4f8-f3af0fc118ad'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS started_on_medicine,\n\ + \ MAX(v.date_stopped) AS visit_end_date_time,\n MAX(ord.concat_drug) AS drugs\n\ + FROM\n visits v\n LEFT JOIN observations o ON (\n v.visit_uuid=o.visit_uuid\n\ + \ AND o.visit_uuid IS NOT NULL\n AND o.obs_voided IS FALSE\n )\n LEFT JOIN\ + \ locations l ON (\n l.uuid=v.location_uuid\n AND l.uuid IS NOT NULL\n \ + \ AND l.retired IS FALSE\n )\n LEFT JOIN encounters e ON (\n v.visit_uuid=e.visit_uuid\n\ + \ AND e.visit_uuid IS NOT NULL\n AND e.encounter_voided IS FALSE\n )\n LEFT\ + \ JOIN (\n SELECT\n encounter_uuid,\n STRING_AGG (\n CONCAT\ + \ (drug_name, '|', quantity, '|', quantity_unit_name),\n ', '\n ) AS\ + \ concat_drug\n FROM\n orders\n GROUP BY\n encounter_uuid\n ) ord\ + \ ON (\n ord.encounter_uuid=e.encounter_uuid\n AND ord.encounter_uuid IS NOT\ + \ NULL\n )\n LEFT JOIN (\n SELECT\n patient_uuid,\n CONCAT_WS ('\ + \ ', given_name, middle_name, family_name) AS patient_name,\n gender,\n \ + \ birthdate,\n -- Identifiers\n SUBSTRING(\n identifiers\n \ + \ FROM\n 'IDPoor: ([^,]*)'\n ) AS id_poor,\n SUBSTRING(\n\ + \ identifiers\n FROM\n 'OpenMRS ID: ([^,]*)'\n ) AS\ + \ openmrs_id,\n SUBSTRING(\n identifiers\n FROM\n 'National\ + \ ID: ([^,]*)'\n ) AS national_id,\n SUBSTRING(\n identifiers\n\ + \ FROM\n 'COVID vaccination ID: ([^,]*)'\n ) AS covid_vacination_id,\n\ + \ SUBSTRING(\n identifiers\n FROM\n 'PMRS ID: ([^,]*)'\n\ + \ ) AS pmrs_id,\n SUBSTRING(\n identifiers\n FROM\n \ + \ 'NSSF: ([^,]*)'\n ) AS nssf,\n SUBSTRING(\n identifiers\n\ + \ FROM\n 'SSN: ([^,]*)'\n ) AS ssn,\n SUBSTRING(\n \ + \ identifiers\n FROM\n 'Passport No: ([^,]*)'\n ) AS passport_no,\n\ + \ COALESCE(\n REGEXP_REPLACE (\n REGEXP_REPLACE (\n \ + \ identifiers,\n '(?:OpenMRS ID|National ID|IDPoor|PMRS ID|COVID\ + \ vaccination ID): [^,]*,?\\s?',\n '',\n 'g'\n ),\n\ + \ '^, |, $',\n ''\n ),\n NULL\n ) AS other_identifiers,\n\ + \ -- Addresses\n address_country AS country,\n address_state_province\ + \ AS province,\n address_county_district AS district,\n address_city AS\ + \ commune,\n address_1 AS village,\n -- Attributes\n SUBSTRING(\n\ + \ attributes\n FROM\n 'Occupation: ([^/]*)'\n ) AS occupation,\n\ + \ SUBSTRING(\n attributes\n FROM\n 'Place of Birth:\ + \ ([^/]*)'\n ) AS place_of_birth,\n SUBSTRING(\n attributes\n \ + \ FROM\n 'Ethnicity: ([^/]*)'\n ) AS ethnicity,\n SUBSTRING(\n\ + \ attributes\n FROM\n 'Marital Status: ([^/]*)'\n )\ + \ AS marital_status,\n SUBSTRING(\n attributes\n FROM\n \ + \ 'Education: ([^/]*)'\n ) AS education,\n SUBSTRING(\n attributes\n\ + \ FROM\n 'Telephone Number: ([^/]*)'\n ) AS phone_number\n\ + \ FROM\n patients\n WHERE\n person_voided IS FALSE\n ) p ON (p.patient_uuid=v.patient_uuid)\n\ + WHERE\n o.obs_voided IS FALSE\n AND v.visit_voided IS FALSE\n AND v.visit_type_uuid\ + \ IN (\n '5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab',\n '54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ )\n -- NCD Screening and Orders Encounter Types\n AND e.encounter_type_uuid\ + \ IN (\n '422b7e0c-b8f3-4748-8e60-d6684315f141',\n '39da3525-afe4-45ff-8977-c53b7b359158'\n\ + \ )\n -- Health Center (HC)\n AND l.location_tags ILIKE '%Health Center%'\nGROUP\ + \ BY\n v.visit_uuid,\n p.patient_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 6ce6fc9b-68dd-41b9-bc50-488d1285923e +metrics: +- metric_name: count + verbose_name: null + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: hx_heart_disease + verbose_name: "\u1792\u17D2\u179B\u17B6\u1794\u17CB\u1798\u17B6\u1793\u1794\u17D2\ + \u179A\u179C\u178F\u17D2\u178F\u17B7\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\ + \u178A\u17BC\u1784 \u17AC\u1782\u17D2\u179A\u17C4\u17C7\u1790\u17D2\u1793\u17B6\ + \u1780\u17CB\u179F\u179A\u179F\u17C3\u1788\u17B6\u1798\u1781\u17BD\u179A\u1780\ + \u17D2\u1794\u17B6\u179B\u1785\u17C6\u1796\u17C4\u17C7\u179F\u17B6\u1785\u17CB\ + \u1789\u17B6\u178F\u17B7\u1794\u1784\u17D2\u1780\u17BE\u178F (\u1781\u17D2\u179F\ + \u17C2\u1791\u17B8\u1798\u17BD\u1799)? (History of premature heart disease or\ + \ stroke in first degree relative?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: physical_activity + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1785\ + \u17BC\u179B\u179A\u17BD\u1798\u17A0\u17B6\u178F\u17CB\u1794\u17D2\u179A\u17B6\ + \u178E\u1799\u17C9\u17B6\u1784\u178F\u17B7\u1785 150 \u1793\u17B6\u1791\u17B8\u1780\ + \u17D2\u1793\u17BB\u1784\u1798\u17BD\u1799\u179F\u1794\u17D2\u178F\u17B6\u17A0\ + \u17CD\u178A\u17C2\u179A\u17AC\u1791\u17C1? (Do patients at least participate\ + \ in exercise 150 minutes a week?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hx_diabetes_and_heart_disease + verbose_name: "\u1792\u17D2\u179B\u17B6\u1794\u17CB\u1798\u17B6\u1793\u1794\u17D2\ + \u179A\u179C\u178F\u17D2\u178F\u17B7\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\ + \u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u17AC\u1787\u17C6\u1784\u17BA\ + \u178F\u1798\u17D2\u179A\u1784\u1793\u17C4\u1798\u1785\u17C6\u1796\u17C4\u17C7\ + \u179F\u17B6\u1785\u17CB\u1789\u17B6\u178F\u17B7\u1794\u1784\u17D2\u1780\u17BE\ + \u178F (\u1781\u17D2\u179F\u17C2\u1791\u17B8\u1798\u17BD\u1799)? (History of diabetes\ + \ or kidney disease in first degree relative?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diabetic_meds_use + verbose_name: "\u1794\u1785\u17D2\u1785\u17BB\u1794\u17D2\u1794\u1793\u17D2\u1793\ + \ \u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1780\u17C6\u1796\u17BB\u1784\ + \u1794\u17D2\u179A\u17BE\u1794\u17D2\u179A\u17B6\u179F\u17CB\u1790\u17D2\u1793\ + \u17B6\u17C6\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1787\u17C6\u1784\u17BA\ + \u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u17AC\u1791\ + \u17C1? (Currently, is the patient using drug for the treatment of Diabetes?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: screened_dm_hbp + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1792\u17D2\u179B\u17B6\u1794\ + \u17CB\u1794\u17B6\u1793\u1791\u17C5\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\ + \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 \u1793\u17C5\u1780\u1793\u17D2\ + \u179B\u17C2\u1784\u1795\u17D2\u178F\u179B\u17CB \u179F\u17C1\u179C\u17B6\u179F\ + \u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\ + \u178E\u17C8\u178A\u17C2\u179A\u17AC\u1791\u17C1? (Have you been screened for\ + \ Diabetes and Hypertension?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_date_time + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1793\u17B7\u1784\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u1785\u17B6\u1794\ + \u17CB\u1795\u17D2\u178F\u17BE\u1798\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\ + \ (Visit start date and time)" + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_visual_acuity + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u1781\u17B6\u1784\u1786\u17D2\u179C\ + \u17C1\u1784 \u1782\u17C6\u17A0\u17CA\u17BE\u1789 (Left Eye Visual Acuity)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_visual_acuity + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u179F\u17D2\u178F\u17B6\u17C6 \u1782\ + \u17C6\u17A0\u17CA\u17BE\u1789 (Right Eye Visual Acuity)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_conjunctiva + verbose_name: "\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1797\ + \u17D2\u1793\u17C2\u1780\u179F\u17D2\u178F\u17B6\u17C6 \u1797\u17D2\u1793\u17B6\ + \u179F\u179F\u1793\u17C3\u1797\u17D2\u1793\u17C2\u1780 (Right Eye Examination\ + \ Conjunctiva)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_lens + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u179F\u17D2\u178F\u17B6\u17C6 \u1780\ + \u17C2\u179C\u1797\u17D2\u1793\u17C2\u1780 (Right Eye Lens )" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_eye_lids_eye_lashes + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u179F\u17D2\u178F\u17B6\u17C6 \u178F\ + \u17D2\u179A\u1794\u1780\u1797\u17D2\u1793\u17C2\u1780-\u179A\u17C4\u1798\u1797\ + \u17D2\u1793\u17C2\u1780 (Right Eye EyeLids-EyeLashes)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: tb_presence + verbose_name: "\u179A\u17C4\u1782\u179F\u1789\u17D2\u1789\u17B6\u179F\u1784\u17D2\ + \u179F\u17D0\u1799\u179A\u1794\u17C1\u1784 (Presence of TB Symptoms)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: follow_up_cvd_score_risk_factors + verbose_name: "\u178F\u17B6\u1798\u178A\u17B6\u1793\u1780\u178F\u17D2\u178F\u17B6\ + \u17A0\u17B6\u1793\u17B7\u1797\u17D0\u1799\u1787\u17C6\u1784\u17BA\u1794\u17C1\ + \u17C7\u178A\u17BC\u1784 (Follow up CVD Risk)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_conjunctiva + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u1781\u17B6\u1784\u1786\u17D2\u179C\ + \u17C1\u1784 \u1797\u17D2\u1793\u17B6\u179F\u179F\u1793\u17C3\u1797\u17D2\u1793\ + \u17C2\u1780 (Left Eye Conjuctiva)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_cornea + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u1781\u17B6\u1784\u1786\u17D2\u179C\ + \u17C1\u1784 \u1780\u1789\u17D2\u1785\u1780\u17CB\u1797\u17D2\u1793\u17C2\u1780\ + \ (Left Eye Cornea)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_cornea + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u179F\u17D2\u178F\u17B6\u17C6 \u1780\ + \u1789\u17D2\u1785\u1780\u17CB\u1797\u17D2\u1793\u17C2\u1780 (Right Eye Cornea)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_district + verbose_name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B \u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\ + \u179A\u178F\u17B7\u1794\u178F\u17B7\u17D2 (Health Facility District)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_lens + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u1781\u17B6\u1784\u1786\u17D2\u179C\ + \u17C1\u1784 \u1780\u17C2\u179C\u1797\u17D2\u1793\u17C2\u1780 (Left Eye Lens)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_pupil + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u1781\u17B6\u1784\u1786\u17D2\u179C\ + \u17C1\u1784 \u1780\u17BC\u1793\u1780\u17D2\u179A\u1798\u17BB\u17C6\u1797\u17D2\ + \u1793\u17C2\u1780 (Left Eye Pupil)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_pupil + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u179F\u17D2\u178F\u17B6\u17C6 \u1780\ + \u17BC\u1793\u1780\u17D2\u179A\u1798\u17BB\u17C6\u1797\u17D2\u1793\u17C2\u1780\ + \ (Right Eye Pupil)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hf_name + verbose_name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B \u1788\u17D2\u1798\u17C4\u17C7\u1798\u17BC\ + \u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\ + \u17B6\u179B (Health Facility Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_province + verbose_name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B \u1781\u17C1\u178F\u17D2\u178F (Health Facility\ + \ Province)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_eye_lids_eye_lashes + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u1781\u17B6\u1784\u1786\u17D2\u179C\ + \u17C1\u1784 \u178F\u17D2\u179A\u1794\u1780\u1797\u17D2\u1793\u17C2\u1780-\u179A\ + \u17C4\u1798\u1797\u17D2\u1793\u17C2\u1780 (Left EyeLids-EyeLashes)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cvd_score + verbose_name: "\u178F\u17B6\u1798\u178A\u17B6\u1793\u1780\u178F\u17D2\u178F\u17B6\ + \u17A0\u17B6\u1793\u17B7\u1797\u17D0\u1799\u1787\u17C6\u1784\u17BA\u1794\u17C1\ + \u17C7\u178A\u17BC\u1784 (Follow-up CVD Risk)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: has_referral_letter + verbose_name: "\u1798\u17B6\u1793\u179B\u17B7\u1781\u17B7\u178F\u1794\u1789\u17D2\ + \u1787\u17BC\u1793\u1791\u17C1? (Has Referral Letter?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_end_date_time + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1794\u1789\u17D2\u1785\u1794\u17CB\u1793\u17C3\u1780\u17B6\u179A\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799 (End Visit Date)" + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: follow_up_date + verbose_name: "\u1780\u17B6\u179A\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1793\u17C3\u1780\u17B6\u179A\u178F\u17B6\u1798\u178A\u17B6\u1793 (Follow up\ + \ date)" + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: known_hypertensive_meds_use + verbose_name: "\u1794\u1785\u17D2\u1785\u17BB\u1794\u17D2\u1794\u1793\u17D2\u1793\ + \u1780\u17C6\u1796\u17BB\u1784\u1794\u17D2\u179A\u17BE\u1790\u17D2\u1793\u17B6\ + \u17C6\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1787\u17C6\u1784\u17BA\u179B\ + \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (Antihypertensive\ + \ medication us)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: place_of_birth + verbose_name: "\u1791\u17B8\u1780\u1793\u17D2\u179B\u17C2\u1784\u1780\u17C6\u178E\ + \u17BE\u178F (Place of Birth)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: tb_referred + verbose_name: "\u1794\u17B6\u1793\u1794\u1789\u17D2\u1787\u17BC\u1793\u1791\u17C5\ + \u1795\u17D2\u1793\u17C2\u1780\u1787\u17C6\u1784\u17BA\u179A\u1794\u17C1\u1784\ + \ (Referred to TB)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: covid_vacination_id + verbose_name: "\u179C\u17C9\u17B6\u1780\u17CB\u179F\u17B6\u17C6\u1784\u1780\u17BC\ + \u179C\u17B8\u178F\u17E1\u17E9 (Covid Vaccination ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hf_code + verbose_name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B \u179B\u17C1\u1781\u1780\u17BC\u1781\u1798\ + \u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\ + \u1794\u17B6\u179B(Health Facility Code)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: for_referral_criteria + verbose_name: "\u179B\u1780\u17D2\u1781\u178E\u17C8\u179C\u17B7\u1793\u17B7\u1785\ + \u17D2\u1786\u17D0\u1799\u179F\u1798\u17D2\u179A\u17B6\u1794\u17CB\u1780\u17B6\ + \u179A\u1794\u1789\u17D2\u1787\u17BC\u1793 (For Referral Criteria)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: other_health_conditions + verbose_name: "\u1794\u1789\u17D2\u17A0\u17B6\u179F\u17BB\u1781\u1797\u17B6\u1796\ + \u178A\u1791\u17C3\u1791\u17C0\u178F (Other Health Conditions)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: consultation_by + verbose_name: "\u1796\u17B7\u1782\u17D2\u179A\u17C4\u17C7\u1787\u17C6\u1784\u17BA\ + \u178A\u17C4\u1799 \u17D6 (Consultation by)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_one + verbose_name: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\ + \u1799 \u1791\u17B8\u17E1 (Diagnosis One)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_two + verbose_name: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\ + \u1799 \u1791\u17B8\u17E2 (Diagnosis Two)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_eye_exam + verbose_name: "\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1797\ + \u17D2\u1793\u17C2\u1780\u1786\u17D2\u179C\u17C1\u1784 (Left Eye Examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_eye_exam + verbose_name: "\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1797\ + \u17D2\u1793\u17C2\u1780\u179F\u17D2\u178F\u17B6\u17C6 (Right Eye Examination)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: presence_of_allergies + verbose_name: "\u1798\u17B6\u1793\u1794\u17D2\u179A\u178F\u17B7\u1780\u1798\u17D2\ + \u1798\u1787\u17B6\u1798\u17BD\u1799\u1790\u17D2\u1793\u17B6\u17C6 (Presence of\ + \ allergies)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hb1ac + verbose_name: "\u17A2\u17C1\u1798\u17C9\u17BC\u1780\u17D2\u179A\u17BC\u1798\u17B8\ + \u1793 (\u17A2\u17C1\u1798\u17C9\u17BC\u1780\u17D2\u179B\u17BC\u1794\u17CA\u17B8\ + \u1793\u17A2\u17C1\u179C\u17D0\u1793\u179F\u17CA\u17B8) (HbA1c)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: albumin + verbose_name: "\u17A2\u17B6\u179B\u17CB\u1794\u17CA\u17BB\u1793\u1798\u17B8\u1793\ + \ (\u17A2\u17B6\u179B\u1794\u17CA\u17BB\u1799\u1798\u17CA\u17B8\u1793) (Albumin)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: country + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F (\u1794\u17D2\u179A\u1791\u17C1\u179F\ + ) (Country)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: waist_circumference + verbose_name: "\u1791\u17C6\u17A0\u17C6\u1785\u1784\u17D2\u1780\u17C1\u17C7/\u179A\ + \u1784\u17D2\u179C\u17B6\u179F\u17CB\u1787\u17BB\u17C6\u179C\u17B7\u1789\u1780\ + \u17D2\u1794\u17B6\u179B\u1796\u17C4\u17C7 (Waist circumference)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: foot_problem + verbose_name: "\u1794\u1789\u17D2\u17A0\u17B6\u1787\u17BE\u1784: (Foot Problems)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: fasting_blood_sugar + verbose_name: "\u1780\u17C6\u179A\u17B7\u178F\u1787\u17B6\u178F\u17B7\u179F\u17D2\ + \u1780\u179A\u1780\u17D2\u1793\u17BB\u1784\u1788\u17B6\u1798\u1798\u17BB\u1793\ + \u17A2\u17B6\u17A0\u17B6\u179A (Fasting BSL)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: pulse_rate + verbose_name: "\u1787\u17B8\u1796\u1785\u179A (Pulse Rate)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: address_zone + verbose_name: "\u17A2\u17B6\u179F\u17D0\u1799\u178A\u17D2\u178B\u17B6\u1793\u1780\ + \u17D2\u1793\u17BB\u1784\u178F\u17C6\u1794\u1793\u17CB (Address Zone)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: random_blood_sugar + verbose_name: "\u1780\u17C6\u179A\u17B7\u178F\u1787\u17B6\u178F\u17B7\u179F\u17D2\ + \u1780\u179A\u1780\u17D2\u1793\u17BB\u1784\u1788\u17B6\u1798\u1780\u17D2\u179A\ + \u17C4\u1799\u17A2\u17B6\u17A0\u17B6\u179A (Random BSL)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: tb_symptions + verbose_name: "\u179A\u17C4\u1782\u179F\u1789\u17D2\u1789\u17B6\u1787\u17C6\u1784\ + \u17BA\u179A\u1794\u17C1\u1784 (TB Symptoms)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: client_id + verbose_name: "\u17A2\u178F\u17D2\u178F\u179B\u17C1\u1781\u17A2\u17D2\u1793\u1780\ + \u1787\u17C6\u1784\u17BA (Client ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: client_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17C7\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA (Client Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: current_therapy + verbose_name: "\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\ + \u1785\u17D2\u1785\u17BB\u1794\u17D2\u1794\u1793\u17D2\u1793 (Current therapy)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hypertension_diagnosis + verbose_name: "\u1780\u17B6\u179A\u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\ + \u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\u1787\u17C6\u1784\u17BA\u179B\ + \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 (Hypertension\ + \ Diagnosis)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: national_id + verbose_name: "\u179F\u1789\u17D2\u1787\u17B6\u178F\u17B7\u1781\u17D2\u1798\u17C2\ + \u179A (National ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: id_poor + verbose_name: "\u1780\u17D2\u179A\u17B8\u1780\u17D2\u179A (ID Poor)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: known_diabetic + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ + \u17D2\u17A2\u17C2\u1798\u178A\u17C2\u179B\u1794\u17B6\u1793\u178A\u17B9\u1784\ + \ (Known Diabetic)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: foot_exam + verbose_name: "\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u1794\ + \u1789\u17D2\u17A0\u17B6\u1787\u17BE\u1784 (Foot Exam)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred_from + verbose_name: "\u1794\u1789\u17D2\u1787\u17BC\u1793\u1798\u1780\u1796\u17B8 (Referred\ + \ From)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: known_hypertensive + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798\u178A\u17C2\u179B\u1794\u17B6\u1793\u178A\u17B9\ + \u1784 (Known hypertensive)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: started_on_medicine + verbose_name: "\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u1794\u17D2\ + \u179A\u17BE\u1794\u17D2\u179A\u17B6\u179F\u17CB\u17B1\u179F\u1790 (Started Medicine)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: marital_status + verbose_name: "\u179F\u17D2\u1790\u17B6\u1793\u1797\u17B6\u1796\u1782\u17D2\u179A\ + \u17BD\u179F\u17B6\u179A (Marital Status)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: passport_no + verbose_name: "\u179B\u17B7\u1781\u17B7\u178F\u1786\u17D2\u179B\u1784\u178A\u17C2\ + \u1793 (Passport No)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: phone_number + verbose_name: "\u179B\u17C1\u1781\u1791\u17BC\u179A\u179F\u1796\u17D2\u1791 (Phone\ + \ Number)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: other_health_complications + verbose_name: "\u1795\u179B\u179C\u17B7\u1794\u17B6\u1780\u1795\u17D2\u179F\u17C1\ + \u1784\u1791\u17C0\u178F (Other complications)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: payment_type + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1794\u1784\u17CB\u1794\u17D2\ + \u179A\u17B6\u1780\u17CB (Payment Type)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: previous_medical_complications + verbose_name: "\u1795\u179B\u179C\u17B7\u1794\u17B6\u1780\u1796\u17B8\u1798\u17BB\ + \u1793 (Previous complications)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_name + verbose_name: "\u1794\u1789\u17D2\u1785\u17BC\u1793\u1791\u17C5\u1798\u17BC\u179B\ + \u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\ + \u179B\u178E\u17B6\u1798\u17BD\u1799 (Referred To)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: recommendations + verbose_name: "\u17A2\u1793\u17BB\u179F\u17B6\u179F\u1793\u17CD\u1793\u17C3\u1780\ + \u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B (Treatment Recomendations)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referral_criteria + verbose_name: "\u1798\u17BC\u179B\u17A0\u17C1\u178F\u17BB\u1793\u17C3\u1780\u17B6\ + \u179A\u1794\u1789\u17D2\u1785\u17BC\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ + \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 (Referral criteria)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred_to + verbose_name: "\u1794\u1789\u17D2\u1785\u17BC\u1793\u1791\u17C5\u1798\u17BC\u179B\ + \u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\ + \u179B\u178E\u17B6\u1798\u17BD\u1799 (Referred to)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_type + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1793\u17C3\u1780\u17B6\u179A\ + \u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799 (Visit Type)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: province + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\ + \u178F\u17D2\u178F\u17B7\u200B(\u1781\u17C1\u178F\u17D2\u178F) (Province)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: tele_consultation + verbose_name: "\u1796\u17B7\u1782\u17D2\u179A\u17C4\u17C7\u178F\u17B6\u1798\u1794\ + \u17D2\u179A\u1796\u17D0\u1793\u17D2\u1792\u17A2\u17C1\u17A1\u17B7\u1785\u178F\ + \u17D2\u179A\u17BC\u1793\u17B7\u1785\u1787\u17B6\u1798\u17BD\u1799\u17A2\u17D2\ + \u1793\u1780\u1787\u17C6\u1793\u17B6\u1789\u1793\u17C5\u1782\u17D2\u179B\u17B8\ + \u1793\u17B7\u1780\u1787\u17C6\u1784\u17BA\u1798\u17B7\u1793\u1786\u17D2\u179B\ + \u1784 (Tele-consultation)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: bmi + verbose_name: "\u1795\u179B\u1792\u17C0\u1794\u1791\u1798\u17D2\u1784\u1793\u17CB\ + \u1793\u17B7\u1784\u1780\u17C6\u1796\u179F\u17CB/\u179F\u1793\u17D2\u1791\u179F\ + \u17D2\u179F\u1793\u17CD\u1798\u17C9\u17B6\u179F\u179A\u17B6\u1784\u1780\u17B6\ + \u1799 (BMI)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: temperature + verbose_name: "\u1780\u17C6\u178A\u17C5/\u179F\u17B8\u178F\u17BB\u178E\u17D2\u17A0\ + \u1797\u17B6\u1796 (Temperature)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: commune + verbose_name: "\u1783\u17BB\u17C6/\u179F\u1784\u17D2\u1780\u17B6\u178F\u17CB (Commune)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780/\u1781\u178E\u17D0\u17D2\u178C (District)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: quit_smoking + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1787\ + \u1780\u17CB\u1794\u17B6\u179A\u17B8\u1791\u17C1? (Smoking)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: alcohol + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1795\ + \u17B9\u1780\u1782\u17D2\u179A\u17BF\u1784\u179F\u17D2\u179A\u179C\u17B9\u1784\ + \u17AC\u1791\u17C1? (Alcohol)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: smoking + verbose_name: "\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1787\ + \u1780\u17CB\u1794\u17B6\u179A\u17B8\u1791\u17C1? (Smoking)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: "\u17A2\u17B6\u1799\u17BB (Age)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cholesterol + verbose_name: "\u1787\u17B6\u178F\u17B7\u1781\u17D2\u179B\u17B6\u1789\u17CB (Cholesterol)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diastolic + verbose_name: "\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178A\u17D2\ + \u1799\u17B6\u179F\u17D2\u178F\u17BC\u179B (Diastolic)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ogtt + verbose_name: "\u178F\u17C1\u179F\u17D2\u178F\u1780\u1798\u17D2\u179A\u17B7\u178F\ + \u1787\u17B6\u178F\u17B7\u179F\u17D2\u1780\u179A\u1780\u17D2\u1793\u17BB\u1784\ + \u1788\u17B6\u1798\u17E2\u1798\u17C9\u17C4\u1784\u1780\u17D2\u179A\u17C4\u1799\ + \u1795\u17B9\u1780\u1791\u17B9\u1780\u179F\u17D2\u1780\u179A\u17E7\u17E5\u1780\ + \u17D2\u179A\u17B6\u1798 (OGTT)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: height + verbose_name: "\u1780\u17C6\u1796\u179F\u17CB (Height)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: systolic + verbose_name: "\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u179F\u17CA\ + \u17B8\u179F\u17D2\u178F\u17BC\u179B (Systolic)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: weight + verbose_name: "\u1791\u17C6\u1784\u1793\u17CB (Weight)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: allergies_details + verbose_name: "\u1794\u17D2\u179A\u178F\u17B7\u1780\u1798\u17D2\u1798\u1790\u17D2\ + \u1793\u17B6\u17C6 (Allergies)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: education + verbose_name: "\u1780\u17B6\u179A\u17A2\u1794\u17CB\u179A\u17C6 (Education)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ethnicity + verbose_name: "\u1787\u1793\u1787\u17B6\u178F\u17B7 (Ethnicity)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: nssf + verbose_name: "\u1798\u17BC\u179B\u1793\u17B7\u1792\u17B7\u1782\u17B6\u17C6\u1796\ + \u17B6\u179F\u1784\u17D2\u1782\u1798 (NSSF)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: "\u1797\u17C1\u1791 (Gender)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ketones + verbose_name: "\u1780\u17C1\u178F\u17BC\u1793 (Ketones)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: drugs + verbose_name: "\u17B1\u179F\u1790\u178A\u17C2\u179B\u1794\u17B6\u1793\u1794\u17D2\ + \u179A\u17BE (Medications)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ssn + verbose_name: "\u1794\u179F\u179F (SSN)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: other_identifiers + verbose_name: "\u1795\u17D2\u179F\u17C1\u1784 (Other)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: occupation + verbose_name: "\u1798\u17BB\u1781\u179A\u1794\u1794 (Occupation)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: village + verbose_name: "\u1797\u17BC\u1798\u17B7 (Village)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: pmrs_id + verbose_name: PMRS ID + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_code + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_district + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_province + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: location_tags + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 From 494331d59bbda7c87249cfcfde816c068f080fe9 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Tue, 18 Jun 2024 18:17:40 +0300 Subject: [PATCH 11/20] KH-536: Added NCD RH Raw Data Report --- .../charts/ncd_rh_emr_raw_data_table.yaml | 145 ++ .../ncd_rh_emr_raw_data_dashboard.yaml | 176 ++ .../ncd_rh_emr_raw_data_dataset.yaml | 1824 +++++++++++++++++ 3 files changed, 2145 insertions(+) create mode 100644 base/configs/superset/assets/charts/ncd_rh_emr_raw_data_table.yaml create mode 100644 base/configs/superset/assets/dashboards/ncd_rh_emr_raw_data_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_raw_data_dataset.yaml diff --git a/base/configs/superset/assets/charts/ncd_rh_emr_raw_data_table.yaml b/base/configs/superset/assets/charts/ncd_rh_emr_raw_data_table.yaml new file mode 100644 index 00000000..116954eb --- /dev/null +++ b/base/configs/superset/assets/charts/ncd_rh_emr_raw_data_table.yaml @@ -0,0 +1,145 @@ +slice_name: NCD RH EMR Raw Data +description: null +certified_by: null +certification_details: null +viz_type: table +params: + datasource: 16__table + viz_type: table + slice_id: 48 + granularity_sqla: visit_date_time + time_grain_sqla: P1D + time_range: No filter + query_mode: raw + groupby: [] + metrics: [] + all_columns: + - client_id + - client_name + - gender + - age + - id_poor + - national_id + - covid_vacination_id + - pmrs_id + - nssf + - ssn + - passport_no + - other_identifiers + - village + - commune + - district + - province + - country + - phone_number + - occupation + - place_of_birth + - ethnicity + - marital_status + - education + - visit_date_time + - hf_code + - hf_name + - visit_type + - visit_province + - visit_district + - payment_type + - referred_from + - address_zone + - has_referral_letter + - tb_symptom_presence + - refferred_tb + - waist_circumference + - weight + - height + - bmi + - systolic + - diastolic + - pulse_rate + - temperature + - respiratory + - spo2 + - fasting_blood_sugar + - random_blood_sugar + - ogtt_h1 + - ogtt_h2 + - hb1ac + - haemoglobin + - albumin + - ketones + - total_cholesterol + - low_density_lipoprotein + - high_density_lipoprotein + - triglycerides + - creatinine + - creatinine_clearance + - proteinuria + - potassium + - ace_inhibitor + - sodium + - ast_asat + - alt_alat + - smoking + - quit_smoking + - physical_activity + - alcohol + - left_foot_exam + - right_foot_exam + - left_eye_exam + - right_eye_exam + - cardiovacscular_exam + - uro_gen_exam + - ent_exam + - respiratory_exam + - gastro_intestinal_exam + - skin_extremities_examination + - cns_exam + - mental_state_exam + - abdominal_exam + - others_exam + - cvd_score + - diagnosis_one + - diagnosis_two + - other_health_conditions + - current_medical_complications + - other_health_complications + - current_therapy + - started_on_medicine + - other_recomendations + - follow_up_date + - reason_for_referral + - diagnosed_for_dm + - dm_treatment_before + - dm_year_of_diagnosis + - diagnosed_for_hbp + - hbp_treatment_before + - hbp_year_of_diagnosis + - premature_heart_or_stroke_disease + - diabetes_or_kidney_disease + - tradition_medicine_use + - previous_medical_complications + - medical_history_other_health_complications + - allergies_details + - visit_end_date_time + - drugs + percent_metrics: [] + adhoc_filters: [] + order_by_cols: [] + row_limit: 1000 + server_page_length: 10 + order_desc: true + table_timestamp_format: smart_date + show_cell_bars: false + color_pn: true + allow_rearrange_columns: true + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 10 +query_context: '{"datasource":{"id":16,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"visit_date_time","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["client_id","client_name","gender","age","id_poor","national_id","covid_vacination_id","pmrs_id","nssf","ssn","passport_no","other_identifiers","village","commune","district","province","country","phone_number","occupation","place_of_birth","ethnicity","marital_status","education","visit_date_time","hf_code","hf_name","visit_type","visit_province","visit_district","payment_type","referred_from","address_zone","has_referral_letter","tb_symptom_presence","refferred_tb","waist_circumference","weight","height","bmi","systolic","diastolic","pulse_rate","temperature","respiratory","spo2","fasting_blood_sugar","random_blood_sugar","ogtt_h1","ogtt_h2","hb1ac","haemoglobin","albumin","ketones","total_cholesterol","low_density_lipoprotein","high_density_lipoprotein","triglycerides","creatinine","creatinine_clearance","proteinuria","potassium","ace_inhibitor","sodium","ast_asat","alt_alat","smoking","quit_smoking","physical_activity","alcohol","left_foot_exam","right_foot_exam","left_eye_exam","right_eye_exam","cardiovacscular_exam","uro_gen_exam","ent_exam","respiratory_exam","gastro_intestinal_exam","skin_extremities_examination","cns_exam","mental_state_exam","abdominal_exam","others_exam","cvd_score","diagnosis_one","diagnosis_two","other_health_conditions","current_medical_complications","other_health_complications","current_therapy","started_on_medicine","other_recomendations","follow_up_date","reason_for_referral","diagnosed_for_dm","dm_treatment_before","dm_year_of_diagnosis","diagnosed_for_hbp","hbp_treatment_before","hbp_year_of_diagnosis","premature_heart_or_stroke_disease","diabetes_or_kidney_disease","tradition_medicine_use","previous_medical_complications","medical_history_other_health_complications","allergies_details","visit_end_date_time","drugs"],"orderby":[],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"16__table","viz_type":"table","slice_id":48,"granularity_sqla":"visit_date_time","time_grain_sqla":"P1D","time_range":"No + filter","query_mode":"raw","groupby":[],"metrics":[],"all_columns":["client_id","client_name","gender","age","id_poor","national_id","covid_vacination_id","pmrs_id","nssf","ssn","passport_no","other_identifiers","village","commune","district","province","country","phone_number","occupation","place_of_birth","ethnicity","marital_status","education","visit_date_time","hf_code","hf_name","visit_type","visit_province","visit_district","payment_type","referred_from","address_zone","has_referral_letter","tb_symptom_presence","refferred_tb","waist_circumference","weight","height","bmi","systolic","diastolic","pulse_rate","temperature","respiratory","spo2","fasting_blood_sugar","random_blood_sugar","ogtt_h1","ogtt_h2","hb1ac","haemoglobin","albumin","ketones","total_cholesterol","low_density_lipoprotein","high_density_lipoprotein","triglycerides","creatinine","creatinine_clearance","proteinuria","potassium","ace_inhibitor","sodium","ast_asat","alt_alat","smoking","quit_smoking","physical_activity","alcohol","left_foot_exam","right_foot_exam","left_eye_exam","right_eye_exam","cardiovacscular_exam","uro_gen_exam","ent_exam","respiratory_exam","gastro_intestinal_exam","skin_extremities_examination","cns_exam","mental_state_exam","abdominal_exam","others_exam","cvd_score","diagnosis_one","diagnosis_two","other_health_conditions","current_medical_complications","other_health_complications","current_therapy","started_on_medicine","other_recomendations","follow_up_date","reason_for_referral","diagnosed_for_dm","dm_treatment_before","dm_year_of_diagnosis","diagnosed_for_hbp","hbp_treatment_before","hbp_year_of_diagnosis","premature_heart_or_stroke_disease","diabetes_or_kidney_disease","tradition_medicine_use","previous_medical_complications","medical_history_other_health_complications","allergies_details","visit_end_date_time","drugs"],"percent_metrics":[],"adhoc_filters":[],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"include_time":false,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":false,"color_pn":true,"allow_rearrange_columns":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[10],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 52bda91a-f96f-4984-aaa6-d96ac6e50497 +version: 1.0.0 +dataset_uuid: 8480636a-399d-438b-a307-a2a1d160ed05 diff --git a/base/configs/superset/assets/dashboards/ncd_rh_emr_raw_data_dashboard.yaml b/base/configs/superset/assets/dashboards/ncd_rh_emr_raw_data_dashboard.yaml new file mode 100644 index 00000000..3105a619 --- /dev/null +++ b/base/configs/superset/assets/dashboards/ncd_rh_emr_raw_data_dashboard.yaml @@ -0,0 +1,176 @@ +dashboard_title: NCD RH EMR Raw Data +description: null +css: '' +slug: null +uuid: 9e577f81-c944-4f84-a73b-728fd3ac4fec +position: + CHART-explore-48-1: + children: [] + id: CHART-explore-48-1 + meta: + chartId: 48 + height: 103 + sliceName: NCD RH EMR Raw Data + uuid: 52bda91a-f96f-4984-aaa6-d96ac6e50497 + width: 12 + parents: + - ROOT_ID + - GRID_ID + - ROW-GVUEMPrxv6 + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-GVUEMPrxv6 + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: NCD RH EMR Raw Data + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-GVUEMPrxv6: + children: + - CHART-explore-48-1 + id: ROW-GVUEMPrxv6 + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + shared_label_colors: {} + color_scheme_domain: [] + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-Yb21QMiDs + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: visit_province + datasetUuid: 8480636a-399d-438b-a307-a2a1d160ed05 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 48 + tabsInScope: [] + - id: NATIVE_FILTER-MpRnJBI0D + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: visit_district + datasetUuid: 8480636a-399d-438b-a307-a2a1d160ed05 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-Yb21QMiDs + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 48 + tabsInScope: [] + - id: NATIVE_FILTER-UIUhzYcSc + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: false + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: hf_name + datasetUuid: 8480636a-399d-438b-a307-a2a1d160ed05 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-Yb21QMiDs + - NATIVE_FILTER-MpRnJBI0D + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 48 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-1556E-tD3 + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + - id: NATIVE_FILTER-HelaaDiLC + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_raw_data_dataset.yaml new file mode 100644 index 00000000..2af740bd --- /dev/null +++ b/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_raw_data_dataset.yaml @@ -0,0 +1,1824 @@ +table_name: NCD RH EMR Raw Data +main_dttm_col: null +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: null +sql: "SELECT\n MAX(p.openmrs_id) AS client_id,\n MAX(p.patient_name) AS client_name,\n\ + \ MAX(p.gender) AS gender,\n MAX(\n DATE_PART ('year', age (v.date_started,\ + \ p.birthdate))\n ) AS age,\n MAX(p.id_poor) AS id_poor,\n MAX(p.national_id)\ + \ AS national_id,\n MAX(p.covid_vacination_id) AS covid_vacination_id,\n MAX(p.pmrs_id)\ + \ AS pmrs_id,\n MAX(p.nssf) AS nssf,\n MAX(p.ssn) AS ssn,\n MAX(p.passport_no)\ + \ AS passport_no,\n MAX(p.other_identifiers) AS other_identifiers,\n MAX(p.village)\ + \ AS village,\n MAX(p.commune) AS commune,\n MAX(p.district) AS district,\n MAX(p.province)\ + \ AS province,\n MAX(p.country) AS country,\n MAX(p.phone_number) AS phone_number,\n\ + \ MAX(p.occupation) AS occupation,\n MAX(p.place_of_birth) AS place_of_birth,\n\ + \ MAX(p.ethnicity) AS ethnicity,\n MAX(p.marital_status) AS marital_status,\n\ + \ MAX(p.education) AS education,\n MAX(v.date_started) AS visit_date_time,\n \ + \ MAX(l.postal_code) AS hf_code,\n MAX(l.name) AS hf_name,\n MAX(v.type) AS visit_type,\n\ + \ MAX(l.state_province) AS visit_province,\n MAX(l.county_district) AS visit_district,\n\ + \ MAX(l.location_tags) AS location_tags,\n -- Referred from: Referral Hospital\ + \ / Has a referral letter ?: No / Address Zone: Zone A / Insurance Type: HEF_Poor\n\ + \ MAX(\n SUBSTRING(\n v.visit_attributes\n FROM\n 'Insurance\ + \ Type: ([^/]*)'\n )\n ) AS payment_type,\n MAX(\n SUBSTRING(\n v.visit_attributes\n\ + \ FROM\n 'Referred from: ([^/]*)'\n )\n ) AS referred_from,\n MAX(\n\ + \ SUBSTRING(\n v.visit_attributes\n FROM\n 'Address Zone: ([^/]*)'\n\ + \ )\n ) AS address_zone,\n MAX(\n SUBSTRING(\n v.visit_attributes\n\ + \ FROM\n 'Has a referral letter ?: ([^/]*)'\n )\n ) AS has_referral_letter,\n\ + \ -- TB Symptoms presence\n MAX(\n CASE\n WHEN o.question_uuid='e0fffb24-5973-40a9-af11-2e4033831747'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS tb_symptom_presence,\n -- Referred to TB\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='ea543526-f3d3-4a23-a8aa-0c0acf529d51'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS refferred_tb,\n\ + \ -- Waist Circumference\n MAX(\n CASE\n WHEN o.question_uuid='90c9e0ae-d9f6-477c-9f23-bd7af88994e4'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS waist_circumference,\n -- Weight\n MAX(\n CASE\n WHEN o.question_uuid='5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS weight,\n -- Height\n MAX(\n CASE\n WHEN o.question_uuid='5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS height,\n -- BMI\n MAX(\n CASE\n WHEN o.question_uuid='a89c60c0-1350-11df-a1f1-0026b9348838'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS bmi,\n -- Systolic\n MAX(\n CASE\n WHEN o.question_uuid='5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS systolic,\n -- diastolic\n MAX(\n CASE\n WHEN o.question_uuid='5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS diastolic,\n -- pulse_rate\n MAX(\n CASE\n WHEN o.question_uuid='5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS pulse_rate,\n -- temperature\n MAX(\n CASE\n WHEN o.question_uuid='5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS temperature,\n -- Respiratory\n MAX(\n CASE\n WHEN o.question_uuid='5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS respiratory,\n -- SPO2\n MAX(\n CASE\n WHEN o.question_uuid='5092AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS spo2,\n -- Fasting Blood Sugar\n MAX(\n CASE\n WHEN o.question_uuid='4a6ad2db-86af-4acc-906b-b749b7f6cda6'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS fasting_blood_sugar,\n -- Random Blood Sugar\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='f52d731e-58da-4f3a-a480-77c5e9d8d2eb'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS random_blood_sugar,\n\ + \ -- OGTT H1\n MAX(\n CASE\n WHEN o.question_uuid='3c884cd2-4aba-41e0-a535-e3e7bc70b5ee'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS ogtt_h1,\n -- OGTT H2\n MAX(\n CASE\n WHEN o.question_uuid='1941f03b-9a5e-4285-b66a-c10880a3362d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS ogtt_h2,\n -- HB1AC\n MAX(\n CASE\n WHEN o.question_uuid='a8af7520-1350-11df-a1f1-0026b9348838'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS hb1ac,\n -- Haemoglobin\n MAX(\n CASE\n WHEN o.question_uuid='04a4a69c-b687-4e0d-83fe-bd7c6228189c'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS haemoglobin,\n -- Albumin (Urine)\n MAX(\n CASE\n WHEN o.question_uuid='c423325e-be95-42e2-ae38-b940c2586327'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS albumin,\n -- Ketones\n MAX(\n CASE\n WHEN o.question_uuid='07015405-c865-4a22-8ad1-c8863d5f005b'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS ketones,\n -- Total Cholesterol\n MAX(\n CASE\n WHEN o.question_uuid='1006AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS total_cholesterol,\n -- Low-density lipoprotein\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='0bf33271-d553-42ae-a854-624e5258551d'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n ) AS low_density_lipoprotein,\n\ + \ -- high-density lipoprotein\n MAX(\n CASE\n WHEN o.question_uuid='a5d68184-6849-4a1d-9a86-5bcea3297f70'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS high_density_lipoprotein,\n -- Triglycerides\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='a86c14a1-9453-46af-9b9a-f950b21b8952'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n ) AS triglycerides,\n\ + \ -- Creatinine\n MAX(\n CASE\n WHEN o.question_uuid='1011AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS creatinine,\n -- Creatinine clearance\n MAX(\n CASE\n WHEN o.question_uuid='681d9109-4414-440f-a733-c4cce954cd41'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS creatinine_clearance,\n -- Proteinuria\n MAX(\n CASE\n WHEN o.question_uuid='808d6fc6-f762-4f37-b8ed-ece810f52cef'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS proteinuria,\n -- Potassium\n MAX(\n CASE\n WHEN o.question_uuid='1133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS potassium,\n -- ACE inhibitor\n MAX(\n CASE\n WHEN o.question_uuid='088e714b-0529-414b-9a09-46bb10185603'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS ace_inhibitor,\n -- Sodium\n MAX(\n CASE\n WHEN o.question_uuid='1132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS Sodium,\n -- AST/ASAT (N/A)\n NULL AS ast_asat,\n -- ALT/ALAT\n MAX(\n\ + \ CASE\n WHEN o.question_uuid='654AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS alt_alat,\n -- Smoking\n MAX(\n CASE\n WHEN o.question_uuid='7533aa7e-04cb-4cfd-9c97-6ac36f114bab'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS smoking,\n -- Quit Smoking\n MAX(\n CASE\n WHEN o.question_uuid='b147d693-8c18-4c62-9807-ecd0e60e8fdf'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS quit_smoking,\n -- Physical activity\n MAX(\n CASE\n WHEN o.question_uuid='c31a2da0-f16b-44e3-baea-8a259d8beb31'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS physical_activity,\n -- Alcohol\n MAX(\n CASE\n WHEN o.question_uuid='e737c8c9-a154-47a1-aa20-ed13008d46cf'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS alcohol,\n -- Left Foot Exam\n MAX(\n CASE\n WHEN o.question_uuid='dd16ec73-fa62-431b-bbd5-4e3a04d93cfc'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS left_foot_exam,\n -- Right Foot Exam\n MAX(\n CASE\n WHEN o.question_uuid='d6f32f81-6d85-49bb-b4c5-cef725bb7616'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS right_foot_exam,\n -- Left Eye Exam\n MAX(\n CASE\n WHEN o.question_uuid='db2e363c-a5b5-4136-a786-adae6f52e10b'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS left_eye_exam,\n -- Right Eye Exam\n MAX(\n CASE\n WHEN o.question_uuid='0684f8bf-7e2f-40b7-9479-a02c44a8937f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS right_eye_exam,\n -- CardiovacscularExam\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='5969b812-49bf-48d1-8477-e33935141c0c'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS cardiovacscular_exam,\n\ + \ -- uroGenExam\n MAX(\n CASE\n WHEN o.question_uuid='0426d08e-1035-4c8f-a400-3b9d276f3a6b'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS uro_gen_exam,\n -- ENT Exam\n MAX(\n CASE\n WHEN o.question_uuid='337b27dd-e1a3-4da6-a962-113158b39b2d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS ent_exam,\n -- Respiratory Exam\n MAX(\n CASE\n WHEN o.question_uuid='819b36ec-1631-4e14-91cc-6f547565a855'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS respiratory_exam,\n -- GastroIntestinal Exam\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='67b6dcc4-4c7e-41db-b7f3-020655489a62'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS gastro_intestinal_exam,\n\ + \ -- Skin Extremities Examination\n MAX(\n CASE\n WHEN o.question_uuid='c017f994-b6e3-409f-9f80-7869665df179'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS skin_extremities_examination,\n -- CNS Exam\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='8dce7636-f3ad-4509-a2e2-f9f35ad10ccaf'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS cns_exam,\n --\ + \ mentalStateExam\n MAX(\n CASE\n WHEN o.question_uuid='807616c8-0a1b-4a13-b1c9-89a5216eb46b'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS mental_state_exam,\n -- abdominalExam\n MAX(\n CASE\n WHEN o.question_uuid='e237e038-be15-4ade-b457-067ddde84c07'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS abdominal_exam,\n -- othersExam\n MAX(\n CASE\n WHEN o.question_uuid='f09530d2-75ab-4b6a-80a2-f92112edbf51'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS others_exam,\n -- CVD score\n MAX(\n CASE\n WHEN o.question_uuid='dff491e3-b14c-4b32-ab64-63b96966d72d'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_numeric\n ELSE NULL\n END\n\ + \ ) AS cvd_score,\n -- Diagnosis One\n MAX(\n CASE\n WHEN o.question_uuid='45583478-f703-46e3-b63a-54b0a95c25f0'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS diagnosis_one,\n -- Diagnosis Two\n MAX(\n CASE\n WHEN o.question_uuid='76ca08a5-2128-4b53-afba-74227b015924'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n\ + \ ) AS diagnosis_two,\n -- Other Health Conditions\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='2c50ded9-779a-4316-be00-d9a065674e54'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS other_health_conditions,\n\ + \ -- currentMedicalComplications\n MAX(\n CASE\n WHEN o.question_uuid='3f36a039-eac3-46bd-8798-102c55639d49'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS current_medical_complications,\n -- other Health Complications\n MAX(\n\ + \ CASE\n WHEN o.question_uuid='868e9ebe-86fd-467a-b7a8-345437f340af'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n \ + \ ) AS other_health_complications,\n -- Current Therapy\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='00808084-99a8-4ea8-98b4-63cae2a34273'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS current_therapy,\n\ + \ -- Started on medicine\n MAX(\n CASE\n WHEN o.question_uuid='805c3a0b-cd38-4ed6-b4f8-f3af0fc118ad'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS started_on_medicine,\n -- ## Add drugs \n -- recommendations\n MAX(\n\ + \ CASE\n WHEN o.question_uuid='9f7c8739-3ea3-4f7f-8648-d6c36fef7be2'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS recommendations,\n -- otherRecomendations\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='2aad4642-7c64-4249-a9ac-8e52aa94c4f4'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_text\n ELSE NULL\n END\n ) AS other_recomendations,\n\ + \ -- Follow-up Date\n MAX(\n CASE\n WHEN o.question_uuid='e9c145c1-f4e9-4c34-b237-da069939dc38'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_datetime\n ELSE NULL\n END\n\ + \ ) AS follow_up_date,\n -- Referral facility\n MAX(\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS referral_center,\n -- Reason for Referral\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='dee2db0c-5a06-4b1e-8be6-0f327fe6158d'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_text\n ELSE NULL\n END\n ) AS reason_for_referral,\n\ + \ MAX(\n split_part (\n split_part (\n (\n CASE\n \ + \ WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n \ + \ END\n ),\n '>',\n 3\n ),\n '.',\n 1\n \ + \ )\n ) AS rf_hf_code,\n MAX(\n split_part (\n split_part (\n \ + \ (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 3\n ),\n '.',\n \ + \ 2\n )\n ) AS rf_hf_name,\n MAX(\n split_part (\n (\n CASE\n\ + \ WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n \ + \ END\n ),\n '>',\n 2\n )\n ) AS rf_hf_district,\n MAX(\n \ + \ split_part (\n (\n CASE\n WHEN o.question_uuid='758b9dd8-b6d0-4ac2-b245-0e7bffb4693a'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n\ + \ END\n ),\n '>',\n 1\n )\n ) AS rf_hf_province,\n --\ + \ screenedForDM&HBP\n MAX(\n CASE\n WHEN o.question_uuid='e43b443b-70de-48f3-8d6c-081337621982'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS screened_for_dm_hbp,\n -- diagnosedForDM\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='7083941d-1342-4dd7-ba16-ddc78b61f239'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS diagnosed_for_dm,\n\ + \ -- DM treatment\n MAX(\n CASE\n WHEN o.question_uuid='fe0b5b8e-c9a2-4c87-813d-f10884987d9c'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS dm_treatment_before,\n -- DM year of diagnosis\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='3fe4ac96-893f-4193-a896-1b7e9528719d'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_datetime\n ELSE NULL\n END\n ) AS dm_year_of_diagnosis,\n\ + \ -- Diagnosed with HBP\n MAX(\n CASE\n WHEN o.question_uuid='d3c8a8d4-c141-401f-8354-adbeda86011f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS diagnosed_for_hbp,\n -- HBP treatment\n MAX(\n CASE\n WHEN o.question_uuid='d3c8a8d4-c141-401f-8354-adbeda86011f'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS hbp_treatment_before,\n -- HBP year of diagnosis\n NULL AS hbp_year_of_diagnosis,\n\ + \ -- Premature Heart Or StrokeDisease\n MAX(\n CASE\n WHEN o.question_uuid='6bb3f867-70ee-4854-9408-d386c99c5990'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS premature_heart_or_stroke_disease,\n -- Diabetes Or Kidney Disease\n MAX(\n\ + \ CASE\n WHEN o.question_uuid='4d180dd2-9bc7-4ea8-b64e-5e851c9e5c7d'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS diabetes_or_kidney_disease,\n -- currentTherapy\n MAX(\n CASE\n \ + \ WHEN o.question_uuid='00808084-99a8-4ea8-98b4-63cae2a34273'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n ) AS medical_history_current_therapy,\n\ + \ -- Tradition Medicine Use\n MAX(\n CASE\n WHEN o.question_uuid='5d65d35a-8ccc-474a-a2ce-746a518ed6f5'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS tradition_medicine_use,\n -- previousMedicalComplications\n MAX(\n \ + \ CASE\n WHEN o.question_uuid='a9e26e21-126f-45ed-98f2-f4fb423bc634'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n )\ + \ AS previous_medical_complications,\n -- otherHealthComplications\n MAX(\n \ + \ CASE\n WHEN o.question_uuid='868e9ebe-86fd-467a-b7a8-345437f340af'\n \ + \ AND o.obs_voided IS FALSE THEN o.answer_text\n ELSE NULL\n END\n )\ + \ AS medical_history_other_health_complications,\n -- Presence Of Allergies\n \ + \ MAX(\n CASE\n WHEN o.question_uuid='c67a6c5e-2559-46a8-b9da-2cb38bfff8a3'\n\ + \ AND o.obs_voided IS FALSE THEN o.answer_coded\n ELSE NULL\n END\n\ + \ ) AS presence_of_allergies,\n -- AllergiesDetails\n MAX(\n CASE\n WHEN\ + \ o.question_uuid='b082eb80-3495-4af8-a970-0ae0af6ce184'\n AND o.obs_voided\ + \ IS FALSE THEN o.answer_text\n ELSE NULL\n END\n ) AS allergies_details,\n\ + \ MAX(v.date_stopped) AS visit_end_date_time,\n MAX(ord.concat_drug) AS drugs\n\ + FROM\n visits v\n LEFT JOIN observations o ON (\n v.visit_uuid=o.visit_uuid\n\ + \ AND o.visit_uuid IS NOT NULL\n AND o.obs_voided IS FALSE\n )\n LEFT JOIN\ + \ locations l ON (\n l.uuid=v.location_uuid\n AND l.uuid IS NOT NULL\n \ + \ AND l.retired IS FALSE\n )\n LEFT JOIN encounters e ON (\n v.visit_uuid=e.visit_uuid\n\ + \ AND e.visit_uuid IS NOT NULL\n AND e.encounter_voided IS FALSE\n )\n LEFT\ + \ JOIN (\n SELECT\n encounter_uuid,\n STRING_AGG (\n CONCAT\ + \ (drug_name, '|', quantity, '|', quantity_unit_name),\n ', '\n ) AS\ + \ concat_drug\n FROM\n orders\n GROUP BY\n encounter_uuid\n ) ord\ + \ ON (\n ord.encounter_uuid=e.encounter_uuid\n AND ord.encounter_uuid IS NOT\ + \ NULL\n )\n LEFT JOIN (\n SELECT\n patient_uuid,\n CONCAT_WS ('\ + \ ', given_name, middle_name, family_name) AS patient_name,\n gender,\n \ + \ birthdate,\n -- Identifiers\n SUBSTRING(\n identifiers\n \ + \ FROM\n 'IDPoor: ([^,]*)'\n ) AS id_poor,\n SUBSTRING(\n\ + \ identifiers\n FROM\n 'OpenMRS ID: ([^,]*)'\n ) AS\ + \ openmrs_id,\n SUBSTRING(\n identifiers\n FROM\n 'National\ + \ ID: ([^,]*)'\n ) AS national_id,\n SUBSTRING(\n identifiers\n\ + \ FROM\n 'COVID vaccination ID: ([^,]*)'\n ) AS covid_vacination_id,\n\ + \ SUBSTRING(\n identifiers\n FROM\n 'PMRS ID: ([^,]*)'\n\ + \ ) AS pmrs_id,\n SUBSTRING(\n identifiers\n FROM\n \ + \ 'NSSF: ([^,]*)'\n ) AS nssf,\n SUBSTRING(\n identifiers\n\ + \ FROM\n 'SSN: ([^,]*)'\n ) AS ssn,\n SUBSTRING(\n \ + \ identifiers\n FROM\n 'Passport No: ([^,]*)'\n ) AS passport_no,\n\ + \ COALESCE(\n REGEXP_REPLACE (\n REGEXP_REPLACE (\n \ + \ identifiers,\n '(?:OpenMRS ID|National ID|IDPoor|PMRS ID|COVID\ + \ vaccination ID): [^,]*,?\\s?',\n '',\n 'g'\n ),\n\ + \ '^, |, $',\n ''\n ),\n NULL\n ) AS other_identifiers,\n\ + \ -- Addresses\n address_country AS country,\n address_state_province\ + \ AS province,\n address_county_district AS district,\n address_city AS\ + \ commune,\n address_1 AS village,\n -- Attributes\n SUBSTRING(\n\ + \ attributes\n FROM\n 'Occupation: ([^/]*)'\n ) AS occupation,\n\ + \ SUBSTRING(\n attributes\n FROM\n 'Place of Birth:\ + \ ([^/]*)'\n ) AS place_of_birth,\n SUBSTRING(\n attributes\n \ + \ FROM\n 'Ethnicity: ([^/]*)'\n ) AS ethnicity,\n SUBSTRING(\n\ + \ attributes\n FROM\n 'Marital Status: ([^/]*)'\n )\ + \ AS marital_status,\n SUBSTRING(\n attributes\n FROM\n \ + \ 'Education: ([^/]*)'\n ) AS education,\n SUBSTRING(\n attributes\n\ + \ FROM\n 'Telephone Number: ([^/]*)'\n ) AS phone_number\n\ + \ FROM\n patients\n WHERE\n person_voided IS FALSE\n ) p ON (p.patient_uuid=v.patient_uuid)\n\ + WHERE\n o.obs_voided IS FALSE\n AND v.visit_voided IS FALSE\n AND v.visit_type_uuid\ + \ IN (\n '5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab',\n '54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ )\n -- NCD Consultation, Medication History and Orders Encounter Types\n AND\ + \ e.encounter_type_uuid IN (\n 'f9fdbe63-12b4-479f-b8fd-dcbfde6aa944',\n 'b870b6bb-9441-4664-9087-3d3477174213',\n\ + \ '39da3525-afe4-45ff-8977-c53b7b359158'\n ) -- 422b7e0c-b8f3-4748-8e60-d6684315f141\n\ + \ -- Referral Hospital (RH)\n AND l.location_tags ILIKE '%Referral Hospital%'\n\ + GROUP BY\n v.visit_uuid,\n p.patient_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: 8480636a-399d-438b-a307-a2a1d160ed05 +metrics: +- metric_name: count + verbose_name: null + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: screened_for_dm_hbp + verbose_name: "\u1780\u17B6\u179A\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799 \u1787\ + \u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798/\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\ + \u1796\u17B8\u1798\u17BB\u1793 (Screened for DM & HBP before)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_year_of_diagnosis + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ + \u17D2\u17A2\u17C2\u1798 \u1786\u17D2\u1793\u17B6\u17C6\u1793\u17C3\u1780\u17B6\ + \u179A\u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\ + \u17D2\u1786\u17D0\u1799 (DM Year of Diagnosis)" + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_date_time + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1793\u17B7\u1784\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u1785\u17B6\u1794\ + \u17CB\u1795\u17D2\u178F\u17BE\u1798\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\ + \ (Visit Start Date and Time)" + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_year_of_diagnosis + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 \u1786\u17D2\u1793\u17B6\u17C6\u1793\u17C3\u1780\ + \u17B6\u179A\u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\ + \u1785\u17D2\u1786\u17D0\u1799 (HBP Year of Diagnosis)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diabetes_or_kidney_disease + verbose_name: "\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u17AC\ + \u1782\u17D2\u179A\u17C4\u17C7\u1790\u17D2\u1793\u17B6\u1780\u17CB\u179F\u179A\ + \u179F\u17C3\u1788\u17B6\u1798\u1781\u17BD\u179A\u1780\u17D2\u1794\u17B6\u179B\ + \ (Diabetes or Kidney disease)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: skin_extremities_examination + verbose_name: "\u179F\u17D2\u1794\u17C2\u1780 \u1793\u17B7\u1784 \u1795\u17D2\u1793\ + \u17C2\u1780\u1785\u17BB\u1784\u17D7 (Skin and Extremities)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: quit_smoking + verbose_name: "\u17A2\u179F\u1780\u1798\u17D2\u1798\u1797\u17B6\u1796\u179A\u17B6\ + \u1784\u1780\u17B6\u1799/\u17A2\u178F\u17B8\u178F\u17A2\u17D2\u1793\u1780\u1787\ + \u1780\u17CB\u1794\u17B6\u179A\u17B8 (If Ex-smoker: Quit year)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: random_blood_sugar + verbose_name: "\u1780\u17C6\u179A\u17B7\u178F\u1787\u17B6\u178F\u17B7\u179F\u17D2\ + \u1780\u179A\u1785\u17C3\u178A\u1793\u17D2\u1799/\u1780\u17C6\u179A\u17B7\u178F\ + \u1787\u17B6\u178F\u17B7\u179F\u17D2\u1780\u179A\u1780\u17D2\u1793\u17BB\u1784\ + \u1788\u17B6\u1798\u1780\u17D2\u179A\u17C4\u1799\u17A2\u17B6\u17A0\u17B6\u179A\ + \ (Random Blood Sugar Level)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: has_referral_letter + verbose_name: "\u1798\u17B6\u1793\u179B\u17B7\u1781\u17B7\u178F\u1794\u1789\u17D2\ + \u1787\u17BC\u1793\u1791\u17C1? (Has a referral letter?)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: fasting_blood_sugar + verbose_name: "\u1780\u17C6\u179A\u17B7\u178F\u1787\u17B6\u178F\u17B7\u179F\u17D2\ + \u1780\u179A\u1780\u17D2\u1793\u17BB\u1784\u1788\u17B6\u1798\u1798\u17BB\u1793\ + \u17A2\u17B6\u17A0\u17B6\u179A (Fasting Blood Sugar Level)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cvd_score + verbose_name: "\u1780\u17C6\u179A\u17B7\u178F\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ + \u1799\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u179F\u179A\ + \u179F\u17C3\u1788\u17B6\u1798 (CVD Risk Level)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosed_for_hbp + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 \u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\ + \u17D0\u1799\u1796\u17B8\u1798\u17BB\u1793\u1798\u1780 (HBP Diagnosed Before)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_treatment_before + verbose_name: "\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 \u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\ + \u17B6\u179B\u1796\u17B8\u1798\u17BB\u1793 (HBP Treatment Before)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_treatment_before + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ + \u17D2\u17A2\u17C2\u1798 \u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\ + \u179B\u1796\u17B8\u1798\u17BB\u1793 (DM Treatment Before)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: tb_symptom_presence + verbose_name: "\u179A\u17C4\u1782\u179F\u1789\u17D2\u1789\u17B6\u1787\u17C6\u1784\ + \u17BA\u179A\u1794\u17C1\u1784 (Presence of TB Symptoms)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosed_for_dm + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ + \u17D2\u17A2\u17C2\u1798 \u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D0\ + \u1799\u1796\u17B8\u1798\u17BB\u1793\u1798\u1780 (DM diagnosed before)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ent_exam + verbose_name: "\u1787\u17C6\u1784\u17BA \u178F\u17D2\u179A\u1785\u17C0\u1780 \u1785\ + \u17D2\u179A\u1798\u17BB\u17C7 \u1794\u17C6\u1796\u1784\u17CB\u1780 (ENT)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: tradition_medicine_use + verbose_name: "\u1780\u17B6\u179A\u1794\u17D2\u179A\u17BE\u1794\u17D2\u179A\u17B6\ + \u179F\u17CB\u17B1\u179F\u1790\u1794\u17BB\u179A\u17B6\u178E (Use of Traditional\ + \ Medicine)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: other_recomendations + verbose_name: "\u1790\u17D2\u1793\u17B6\u17C6\u1795\u17D2\u179F\u17C1\u1784\u17D7\ + \u1791\u17C0\u178F\u178A\u17C2\u179B\u1794\u17D2\u179A\u17BE\u178F\u17B6\u1798\ + \u179F\u17C6\u178E\u17BC\u1798\u1796\u179A\u178F\u17D2\u179A\u17BC\u179C\u178F\ + \u17C2\u178F\u17B6\u1798\u178A\u17B6\u1793 \u1793\u17B7\u1784\u179A\u17B6\u1794\ + \u17CB\u1780\u17D2\u1793\u17BB\u1784\u1794\u179A\u17B7\u1798\u17B6\u178E\u178A\ + \u17C2\u179B\u1794\u17B6\u1793\u1794\u17D2\u179A\u17BE (Other treatment recommendation)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_end_date_time + verbose_name: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1794\u1789\u17D2\u1785\u1794\u17CB\u1793\u17C3\u1780\u17B6\u179A\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799 (Visit End (Date))" + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: started_on_medicine + verbose_name: "\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u1796\u17D2\ + \u1799\u17B6\u1794\u17B6\u179B\u178A\u17C4\u1799\u1790\u17D2\u1793\u17B6\u17C6\ + (\u17B1\u179F\u1790) (Started on Medicine)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: high_density_lipoprotein + verbose_name: "\u1780\u17BC\u179B\u17C1\u179F\u17D2\u178F\u17C1\u179A\u17C9\u17BB\ + \u179B HDL (High-density Lipoprotein)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: low_density_lipoprotein + verbose_name: "\u1780\u17BC\u179B\u17C1\u179F\u17D2\u178F\u17C1\u179A\u17C9\u17BB\ + \u179B LDL (Low-density Lipoprotein)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: premature_heart_or_stroke_disease + verbose_name: "\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ + \u17D2\u17A2\u17C2\u1798\u17AC\u1787\u17C6\u1784\u17BA\u178F\u1798\u17D2\u179A\ + \u1784\u1793\u17C4\u1798 (Premature heart disease/stroke)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ogtt_h1 + verbose_name: "\u1795\u17B9\u1780\u1791\u17B9\u1780\u179F\u17D2\u1780\u179A\u17E7\ + \u17E5\u1780\u17D2\u179A \u1780\u17D2\u179A\u17C4\u1799\u17E1\u1798\u17C9\u17C4\ + \u1784 (OGTT 1H)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_one + verbose_name: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\ + \u1799 \u1791\u17B8\u17E1 (Diagnosis 1)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ogtt_h2 + verbose_name: "\u1795\u17B9\u1780\u1791\u17B9\u1780\u179F\u17D2\u1780\u179A\u17E7\ + \u17E5\u1780\u17D2\u179A \u1780\u17D2\u179A\u17C4\u1799\u17E2\u1798\u17C9\u17C4\ + \u1784 (OGTT 2H)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ace_inhibitor + verbose_name: "\u17A2\u1784\u17CB\u179F\u17CA\u17B8\u1798 ACE (ACE Inhibitor)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: creatinine_clearance + verbose_name: "\u1780\u17D2\u179A\u17C1\u17A2\u17B6\u178F\u17C1\u1793\u17B8\u1793\ + \ \u1783\u17D2\u179B\u17B6\u179A\u17C9\u17C1\u1793 (Creatinine Clearance)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: others_exam + verbose_name: "\u1795\u17D2\u1793\u17C2\u1780\u179A\u17B6\u1784\u1780\u17B6\u1799\ + \u1795\u17D2\u179F\u17C1\u1784\u17D7\u1791\u17C0\u178F (Other Body parts)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: place_of_birth + verbose_name: "\u1791\u17B8\u1780\u1793\u17D2\u179B\u17C2\u1784\u1780\u17C6\u178E\ + \u17BE\u178F (Place of Birth)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: refferred_tb + verbose_name: "\u1794\u1789\u17D2\u1787\u17BC\u1793\u1791\u17C5\u1795\u17D2\u1793\ + \u17C2\u1780\u179A\u1794\u17C1\u1784 (Referred to TB)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: covid_vacination_id + verbose_name: "\u179C\u17C9\u17B6\u1780\u17CB\u179F\u17B6\u17C6\u1784\u1780\u17BC\ + \u179C\u17B8\u178F\u17E1\u17E9 (Covid Vaccination ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hf_code + verbose_name: "\u179B\u17C1\u1781\u1780\u17BC\u1781\u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (Health\ + \ Facility Code)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: other_health_conditions + verbose_name: "\u1794\u1789\u17D2\u17A0\u17B6\u179F\u17BB\u1781\u1797\u17B6\u1796\ + \u178A\u1791\u17C3\u1791\u17C0\u178F (Other Health Conditions)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cns_exam + verbose_name: "\u1794\u17D2\u179A\u179F\u17B6\u1791\u1780\u178E\u17D2\u178F\u17B6\ + \u179B (Central Nervous System)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cardiovacscular_exam + verbose_name: "\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784 \u179F\ + \u179A\u179F\u17C3\u1788\u17B6\u1798 (Cardiovascular system)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: national_id + verbose_name: "\u179F\u1789\u17D2\u1787\u17B6\u178F\u17B7\u1781\u17D2\u1798\u17C2\ + \u179A (National ID) " + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hf_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17C7\u1798\u17BC\u179B\u178A\u17D2\u178B\ + \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B (Health Facility\ + \ Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_name + verbose_name: "\u1791\u17C5\u1788\u17D2\u1798\u17C4\u17C7\u1798\u17BC\u179B\u178A\ + \u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\ + \ (To Facility Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: reason_for_referral + verbose_name: "\u1794\u1789\u17D2\u17A0\u17B6\u1794\u1789\u17D2\u1787\u17BC\u1793\ + \ (Reason for Referral)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: client_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17C7\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA (Client's Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: haemoglobin + verbose_name: "\u17A2\u17C1\u1798\u17C9\u17BC\u1780\u17D2\u179A\u17BC\u1798\u17B8\ + \u1793\xBF(\u17A2\u17C1\u1798\u17C9\u17BC\u1780\u17D2\u179B\u17BC\u1794\u17CA\u17B8\ + \u1793\u17A2\u17C1\u1780\u1794\u17CA\u17B8) (Haemoglobin Hb)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: country + verbose_name: "\u1781\u17C1\u178F\u17D2\u178F (\u1794\u17D2\u179A\u1791\u17C1\u179F\ + ) (Country)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: follow_up_date + verbose_name: "\u1780\u17B6\u179A\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\ + \u1780\u17B6\u179A\u178F\u17B6\u1798\u178A\u17B6\u1793 (Follow-up Date)" + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gastro_intestinal_exam + verbose_name: "\u1794\u17D2\u179A\u1796\u17D0\u1793\u17D2\u1792\u179A\u17C6\u179B\ + \u17B6\u1799\u17A2\u17B6\u17A0\u17B6\u179A (Gastro-intestinal system)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: physical_activity + verbose_name: "\u1794\u17D2\u179A\u17BE\u1794\u17D2\u179A\u17B6\u179F\u17CB\u1790\ + \u17D2\u1793\u17B6\u17C6\u1787\u1780\u17CB/\u17A2\u179F\u1780\u1798\u17D2\u1798\ + \u1797\u17B6\u1796\u179A\u17B6\u1784\u1780\u17B6\u1799 (Physical Activity)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: waist_circumference + verbose_name: "\u1791\u17C6\u17A0\u17C6\u1785\u1784\u17D2\u1780\u17C1\u17C7/\u179A\ + \u1784\u17D2\u179C\u17B6\u179F\u17CB\u1787\u17BB\u17C6\u179C\u17B7\u1789\u1780\ + \u17D2\u1794\u17B6\u179B\u1796\u17C4\u17C7 (Waist Circumference)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: total_cholesterol + verbose_name: "\u1780\u17BC\u179B\u17C1\u179F\u17D2\u178F\u17C1\u179A\u17C9\u17BB\ + \u179B (Total Cholesterol)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: pulse_rate + verbose_name: "\u1787\u17B8\u1796\u1785\u179A (Pulse Rate)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: respiratory + verbose_name: "\u1785\u1784\u17D2\u179C\u17B6\u1780\u17CB\u178A\u1784\u17D2\u17A0\ + \u17BE\u1798 (Respiratory Rate)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: address_zone + verbose_name: "\u17A2\u17B6\u179F\u17D0\u1799\u178A\u17D2\u178B\u17B6\u1793\u1780\ + \u17D2\u1793\u17BB\u1784\u178F\u17C6\u1794\u1793\u17CB (Address zone)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: current_medical_complications + verbose_name: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1780\u17C6\u1796\u17BB\ + \u1784\u1798\u17B6\u1793 (Current Complications)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: client_id + verbose_name: "\u17A2\u178F\u17D2\u178F\u179B\u17C1\u1781\u17A2\u17D2\u1793\u1780\ + \u1787\u17C6\u1784\u17BA (Client ID)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: medical_history_other_health_complications + verbose_name: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1795\u17D2\u179F\u17C1\ + \u1784\u17D7\u1791\u17C0\u178F (Other Complications)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: other_health_complications + verbose_name: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1795\u17D2\u179F\u17C1\ + \u1784\u1791\u17C0\u178F (Other Complications)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: previous_medical_complications + verbose_name: "\u1795\u179B\u179B\u17C6\u1794\u17B6\u1780\u1780\u1793\u17D2\u179B\ + \u1784\u1798\u1780 (Previous Complications)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: current_therapy + verbose_name: "\u1780\u17C6\u1796\u17BB\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\ + \u179B (Current Therapy)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: id_poor + verbose_name: "\u1780\u17D2\u179A\u17B8\u1780\u17D2\u179A (ID Poor)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_district + verbose_name: "\u1791\u179F\u17D2\u179F\u1793\u17B6\u179F\u17D2\u179A\u17BB\u1780\ + \ (Visit District)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_eye_exam + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u179F\u17D2\u178F\u17B6\u17C6 (Right\ + \ Eye)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referred_from + verbose_name: "\u1794\u1789\u17D2\u1787\u17BC\u1793\u1798\u1780\u1796\u17B8 (Referred\ + \ From)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: other_identifiers + verbose_name: "\u1795\u17D2\u179F\u17C1\u1784 (Other Identifiers)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_eye_exam + verbose_name: "\u1797\u17D2\u1793\u17C2\u1780\u1792\u17D2\u179C\u17C1\u1784 (Left\ + \ eye)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: left_foot_exam + verbose_name: "\u1787\u17BE\u1784\u1792\u17D2\u179C\u17C1\u1784 (Left foot)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: mental_state_exam + verbose_name: "\u179F\u17D2\u1790\u17B6\u1793\u1797\u17B6\u1796\u1795\u17D2\u179B\ + \u17BC\u179C\u1785\u17B7\u178F\u17D2\u178F (Mental Status)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: marital_status + verbose_name: "\u179F\u17D2\u1790\u17B6\u1793\u1797\u17B6\u1796\u1782\u17D2\u179A\ + \u17BD\u179F\u17B6\u179A (Marital Status)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: passport_no + verbose_name: "\u179B\u17B7\u1781\u17B7\u178F\u1786\u17D2\u179B\u1784\u178A\u17C2\ + \u1793 (Passport No)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: phone_number + verbose_name: "\u179B\u17C1\u1781\u1791\u17BC\u179A\u179F\u1796\u17D2\u1791 (Phone\ + \ Number)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: uro_gen_exam + verbose_name: "\u1787\u17C6\u1784\u17BA\u1794\u17D2\u179A\u1796\u17D0\u1793\u17D2\ + \u1792\u178F\u17C6\u179A\u1784\u1793\u17C4\u1798 (Nephrophaty system)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: payment_type + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1794\u1784\u17CB\u1794\u17D2\ + \u179A\u17B6\u1780\u17CB (Payment Type)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_province + verbose_name: "\u1791\u179F\u17D2\u179F\u1793\u17B6\u1781\u17C1\u178F\u17D2\u178F\ + \ (Visit Province)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: right_foot_exam + verbose_name: "\u1787\u17BE\u1784\u179F\u17D2\u178F\u17B6\u17C6 (Right foot)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_type + verbose_name: "\u1794\u17D2\u179A\u1797\u17C1\u1791\u1793\u17C3\u1780\u17B6\u179A\ + \u1796\u17B7\u1793\u17B7\u178F\u17D2 (Visit Type)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: province + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\ + \u178F\u17D2\u178F\u17B7\u200B(\u1781\u17C1\u178F\u17D2\u178F) (Province)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: smoking + verbose_name: "\u17A2\u17B6\u17A0\u17B6\u179A\u1798\u17B7\u1793\u179F\u1798\u179F\ + \u17D2\u179A\u1794/\u178F\u17BE\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\ + \u1787\u1780\u17CB\u1794\u17B6\u179A\u17B8\u1791\u17C1? (Smoking)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: bmi + verbose_name: "\u1795\u179B\u1792\u17C0\u1794\u1791\u1798\u17D2\u1784\u1793\u17CB\ + \u1793\u17B7\u1784\u1780\u17C6\u1796\u179F\u17CB/\u179F\u1793\u17D2\u1791\u179F\ + \u17D2\u179F\u1793\u17CD\u1798\u17C9\u17B6\u179F\u179A\u17B6\u1784\u1780\u17B6\ + \u1799 (BMI)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: potassium + verbose_name: "\u1794\u17C9\u17BC\u178F\u17C1\u179F\u17D2\u1799\u17BC\u1798/\u1794\ + \u17C9\u17BC\u178F\u17B6\u179F\u17D2\u1799\u17BC\u1798 (Potassium)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: temperature + verbose_name: "\u1780\u17C6\u178A\u17C5/\u179F\u17B8\u178F\u17BB\u178E\u17D2\u17A0\ + \u1797\u17B6 (Temperature)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: commune + verbose_name: "\u1783\u17BB\u17C6/\u179F\u1784\u17D2\u1780\u17B6\u178F\u17CB (Commune)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: district + verbose_name: "\u179F\u17D2\u179A\u17BB\u1780/\u1781\u178E\u17D0\u17D2\u178C (District)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: spo2 + verbose_name: "\u1780\u17C6\u17A0\u17B6\u1794\u17CB\u17A2\u17BB\u1780\u179F\u17CA\ + \u17B8\u179F\u17C2\u1793 (SPO2)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: albumin + verbose_name: "\u17A2\u17B6\u179B\u17CB\u1794\u17CA\u17BB\u1793\u1798\u17B8\u1793\ + \ (Albumin)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: "\u17A2\u17B6\u1799\u17BB (Age)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: creatinine + verbose_name: "\u1780\u17D2\u179A\u17C1\u17A2\u17B6\u178F\u17C1\u1793\u17B8\u1793\ + \ (Creatinine)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diastolic + verbose_name: "\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178A\u17D2\ + \u1799\u17B6\u179F\u17D2\u178F\u17BC\u179B (Diastolic)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: height + verbose_name: "\u1780\u17C6\u1796\u179F\u17CB (Height)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: proteinuria + verbose_name: "\u1794\u17D2\u179A\u17BC\u178F\u17C1\u17A2\u17B8\u1793 (Proteinuria)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: systolic + verbose_name: "\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u179F\u17CA\ + \u17B8\u179F\u17D2\u178F\u17BC\u179B (Systolic)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: sodium + verbose_name: "\u179F\u17BC\u178A\u17D2\u1799\u17BC\u1798 (Sodium)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: triglycerides + verbose_name: "\u1791\u17D2\u179A\u17B8\u1782\u17D2\u179B\u17B8\u179F\u17C1\u179A\ + \u17B8\u178A (Triglycerides)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: weight + verbose_name: "\u1791\u17C6\u1784\u1793\u17CB (Weight)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: abdominal_exam + verbose_name: "\u1795\u17D2\u1793\u17C2\u1780\u1796\u17C4\u17C7 (Abdomen)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: allergies_details + verbose_name: "\u1794\u17D2\u179A\u178F\u17B7\u1780\u1798\u17D2\u1798 (Allergies)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: alcohol + verbose_name: "\u1795\u17B9\u1780\u1782\u17D2\u179A\u17BF\u1784\u179F\u17D2\u179A\ + \u179C\u17B9\u1784\u1794\u17D2\u179A\u1780\u1794\u178A\u17C4\u1799\u1782\u17D2\ + \u179A\u17C4\u17C7\u1790\u17D2\u1793\u17B6\u17C6\u1780\u17CB (Alcohol)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: drugs + verbose_name: "\u1782\u17D2\u179A\u17BF\u1784\u1789\u17C0\u1793 (Drugs)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: education + verbose_name: "\u1780\u17B6\u179A\u17A2\u1794\u17CB\u179A\u17C6 (Education)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ethnicity + verbose_name: "\u1787\u1793\u1787\u17B6\u178F\u17B7 (Ethnicity)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: nssf + verbose_name: "\u1798\u17BC\u179B\u1793\u17B7\u1792\u17B7\u1782\u17B6\u17C6\u1796\ + \u17B6\u179F\u1784\u17D2\u1782\u1798 (NSSF)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: "\u1797\u17C1\u1791 (Gender)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ketones + verbose_name: "\u1780\u17C1\u178F\u17BC\u1793 (Ketones)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ssn + verbose_name: "\u1794\u179F\u179F (SSN)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: occupation + verbose_name: "\u1798\u17BB\u1781\u179A\u1794\u1794 (Occupation)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: respiratory_exam + verbose_name: "\u1787\u17C6\u1784\u17BA\u179F\u17BD\u178F (Respiratory)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: village + verbose_name: "\u1797\u17BC\u1798\u17B7 (Village)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: alt_alat + verbose_name: "\u17A2\u1784\u17CB\u179F\u17CA\u17B8\u1798\u1790\u17D2\u179B\u17BE\ + \u1798 ALT/ALAT" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: ast_asat + verbose_name: "\u17A2\u1784\u17CB\u179F\u17CA\u17B8\u1798\u1790\u17D2\u179B\u17BE\ + \u1798 AST/ASAT" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: pmrs_id + verbose_name: PMRS ID + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_two + verbose_name: "\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\ + \u1799 \u1791\u17B8\u17E2" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hb1ac + verbose_name: "HbA1c/(\u17A2\u17C1\u1798\u17C9\u17BC\u1780\u17D2\u179B\u17BC\u1794\ + \u17CA\u17B8\u1793\u17A2\u17C1\u179C\u17D0\u1793\u179F\u17CA\u17B8)" + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: medical_history_current_therapy + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: presence_of_allergies + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_code + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_district + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: rf_hf_province + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: location_tags + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: referral_center + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: recommendations + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 From d5a05d29f52fe86d1109837d3b9843b775cbab8c Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Thu, 20 Jun 2024 18:36:04 +0300 Subject: [PATCH 12/20] KH-501: Use Analytics database provided by Ozone --- .../ccs_appointment_status_tracking_dataset.yaml | 2 +- .../{PostgreSQL => Analytics}/ccs_for_women_dataset.yaml | 2 +- .../{PostgreSQL => Analytics}/ccs_hc_raw_data_dataset.yaml | 2 +- .../{PostgreSQL => Analytics}/ccs_rh_raw_data_dataset.yaml | 2 +- .../indicators_for_monitoring_ccs_dataset.yaml | 2 +- .../datasets/{PostgreSQL => Analytics}/ncd_hc_emr_dataset.yaml | 2 +- .../{PostgreSQL => Analytics}/ncd_hc_emr_raw_data_dataset.yaml | 2 +- .../datasets/{PostgreSQL => Analytics}/ncd_rh_emr_dataset.yaml | 2 +- .../{PostgreSQL => Analytics}/ncd_rh_emr_raw_data_dataset.yaml | 2 +- .../self-breast_educated_and_examined_women_dataset.yaml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/ccs_appointment_status_tracking_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/ccs_for_women_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/ccs_hc_raw_data_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/ccs_rh_raw_data_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/indicators_for_monitoring_ccs_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/ncd_hc_emr_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/ncd_hc_emr_raw_data_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/ncd_rh_emr_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/ncd_rh_emr_raw_data_dataset.yaml (99%) rename base/configs/superset/assets/datasets/{PostgreSQL => Analytics}/self-breast_educated_and_examined_women_dataset.yaml (99%) diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ccs_appointment_status_tracking_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ccs_appointment_status_tracking_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/ccs_appointment_status_tracking_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/ccs_appointment_status_tracking_dataset.yaml index 3f4c5b9d..d412802f 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/ccs_appointment_status_tracking_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ccs_appointment_status_tracking_dataset.yaml @@ -246,4 +246,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ccs_for_women_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ccs_for_women_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/ccs_for_women_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/ccs_for_women_dataset.yaml index 75418feb..d4e56158 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/ccs_for_women_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ccs_for_women_dataset.yaml @@ -375,4 +375,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ccs_hc_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ccs_hc_raw_data_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/ccs_hc_raw_data_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/ccs_hc_raw_data_dataset.yaml index f5245bea..92f9572c 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/ccs_hc_raw_data_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ccs_hc_raw_data_dataset.yaml @@ -1611,4 +1611,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ccs_rh_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ccs_rh_raw_data_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/ccs_rh_raw_data_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/ccs_rh_raw_data_dataset.yaml index ecb87422..e44ff43f 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/ccs_rh_raw_data_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ccs_rh_raw_data_dataset.yaml @@ -1598,4 +1598,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/indicators_for_monitoring_ccs_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/indicators_for_monitoring_ccs_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml index 55a31b2a..9c987499 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/indicators_for_monitoring_ccs_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml @@ -391,4 +391,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_dataset.yaml index e8b322bd..7afbe05c 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_dataset.yaml @@ -705,4 +705,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: 63fa63d4-59cb-4bb1-92ef-20e99088de7b +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_raw_data_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_raw_data_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_raw_data_dataset.yaml index ce1a7957..23ed5027 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/ncd_hc_emr_raw_data_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_raw_data_dataset.yaml @@ -1659,4 +1659,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_dataset.yaml index e540d964..43918b3d 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_dataset.yaml @@ -926,4 +926,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_raw_data_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_raw_data_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_raw_data_dataset.yaml index 2af740bd..1b68850f 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/ncd_rh_emr_raw_data_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_raw_data_dataset.yaml @@ -1821,4 +1821,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/PostgreSQL/self-breast_educated_and_examined_women_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/self-breast_educated_and_examined_women_dataset.yaml similarity index 99% rename from base/configs/superset/assets/datasets/PostgreSQL/self-breast_educated_and_examined_women_dataset.yaml rename to base/configs/superset/assets/datasets/Analytics/self-breast_educated_and_examined_women_dataset.yaml index 626e057e..6ac1fad1 100644 --- a/base/configs/superset/assets/datasets/PostgreSQL/self-breast_educated_and_examined_women_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/self-breast_educated_and_examined_women_dataset.yaml @@ -523,4 +523,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: b90d1451-c3b9-4f55-ab9a-f872d933a1f6 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe From e012004ce1e96cd32e4c6c51d7b9e7706d7e5ca4 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Fri, 21 Jun 2024 09:39:18 +0300 Subject: [PATCH 13/20] KH-525: Update CCS monitoring indicators query & include reporting period filter --- ...cators_for_monitoring_ccs_pivot_table.yaml | 21 ++---- ...dicators_for_monitoring_ccs_dashboard.yaml | 14 ++-- ...indicators_for_monitoring_ccs_dataset.yaml | 67 ++++++++++--------- 3 files changed, 49 insertions(+), 53 deletions(-) diff --git a/base/configs/superset/assets/charts/indicators_for_monitoring_ccs_pivot_table.yaml b/base/configs/superset/assets/charts/indicators_for_monitoring_ccs_pivot_table.yaml index d942096f..83af9359 100644 --- a/base/configs/superset/assets/charts/indicators_for_monitoring_ccs_pivot_table.yaml +++ b/base/configs/superset/assets/charts/indicators_for_monitoring_ccs_pivot_table.yaml @@ -1,4 +1,4 @@ -slice_name: Cervical Cancer Screening Indicators +slice_name: Cervical Cancer Screen Indicators description: null certified_by: null certification_details: null @@ -20,18 +20,7 @@ params: - screen ccs positive received treatment - percentage screen ccs positive received treatment metricsLayout: ROWS - adhoc_filters: - - expressionType: SIMPLE - subject: women_aged_30_49 - operator: IS NOT NULL - operatorId: IS_NOT_NULL - comparator: null - clause: WHERE - sqlExpression: null - isExtra: false - isNew: false - datasourceWarning: false - filterOptionName: filter_ca6zjx4c3c_fputwptq5t6 + adhoc_filters: [] row_limit: 10000 order_desc: true aggregateFunction: Sum @@ -63,15 +52,13 @@ params: dashboards: - 3 query_context: '{"datasource":{"id":15,"type":"table"},"force":false,"queries":[{"time_range":"No - filter","granularity":"date_started","filters":[{"col":"women_aged_30_49","op":"IS - NOT NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":["screen + filter","granularity":"date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":["screen ccs","percentage screen","screen ccs positive","percentage screen ccs positive","screen ccs positive received treatment","percentage screen ccs positive received treatment"],"orderby":[["screen ccs",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"15__table","viz_type":"pivot_table_v2","slice_id":33,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"No filter","groupbyColumns":[],"groupbyRows":[],"metrics":["screen ccs","percentage screen","screen ccs positive","percentage screen ccs positive","screen ccs positive - received treatment","percentage screen ccs positive received treatment"],"metricsLayout":"ROWS","adhoc_filters":[{"expressionType":"SIMPLE","subject":"women_aged_30_49","operator":"IS - NOT NULL","operatorId":"IS_NOT_NULL","comparator":null,"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_ca6zjx4c3c_fputwptq5t6"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[{"colorScheme":"#ACE1C4","column":"screen + received treatment","percentage screen ccs positive received treatment"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[{"colorScheme":"#ACE1C4","column":"screen ccs","operator":"None"},{"colorScheme":"#ACE1C4","column":"screen ccs positive","operator":"None"},{"colorScheme":"#FDE380","column":"percentage screen ccs positive","operator":"None"},{"colorScheme":"#FDE380","column":"screen ccs positive received treatment","operator":"None"},{"colorScheme":"#ACE1C4","column":"screen diff --git a/base/configs/superset/assets/dashboards/indicators_for_monitoring_ccs_dashboard.yaml b/base/configs/superset/assets/dashboards/indicators_for_monitoring_ccs_dashboard.yaml index 821cc30a..ce177770 100644 --- a/base/configs/superset/assets/dashboards/indicators_for_monitoring_ccs_dashboard.yaml +++ b/base/configs/superset/assets/dashboards/indicators_for_monitoring_ccs_dashboard.yaml @@ -164,6 +164,8 @@ metadata: title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ \u178E\u17CD (Reporting Period)" description: '' + chartsInScope: [] + tabsInScope: [] - id: NATIVE_FILTER-ImsFdJ9jV controlValues: enableEmptyFilter: false @@ -172,14 +174,18 @@ metadata: targets: - {} defaultDataMask: - extraFormData: {} - filterState: {} - ownState: {} + extraFormData: + time_range: Last year + filterState: + value: Last year cascadeParentIds: [] scope: rootPath: - ROOT_ID excluded: [] type: NATIVE_FILTER - description: A selected period in time. + description: Defaults to the last 12 months + chartsInScope: + - 33 + tabsInScope: [] version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml index 9c987499..8f30090a 100644 --- a/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml @@ -1,24 +1,25 @@ -table_name: Indicators for Monitoring CCS Management Program +table_name: ccs-indicators main_dttm_col: date_started description: null default_endpoint: null offset: 0 cache_timeout: null schema: null -sql: "SELECT\n t1.date_started,\n t1.patient_uuid,\n t3.postal_code AS health_facility_code,\n\ - \ t3.name AS health_facility_name,\n t3.county_district AS health_facility_district,\n\ - \ t3.state_province AS health_facility_province,\n DATE_PART ('year', age (t1.date_started,\ - \ t2.birthdate)) AS age,\n t2.gender,\n via.is_screen_cc,\n via.is_screen_cc_uuid,\n\ - \ via.test_type,\n via.via_test_result,\n via.via_test_result_uuid,\n via.via_treatment,\n\ - \ CASE\n WHEN DATE_PART ('year', age (t1.date_started, t2.birthdate)) BETWEEN\ - \ 30 AND 49 THEN 'count/(%)'\n ELSE NULL\n END AS women_aged_30_49,\nCASE\n\ - \ WHEN is_screen_cc_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' THEN 1\n ELSE\ - \ 0\n END AS screen_for_ccs,\n CASE\n WHEN is_screen_cc_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND via_test_result_uuid='703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' THEN 1\n \ - \ ELSE 0\n END AS screen_cc_and_positive,\n CASE -- \n WHEN is_screen_cc_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND via.via_treatment_uuid='4070623e-945b-499f-8b62-316e699a3cc7'\n AND\ - \ via.via_test_result_uuid='703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\tAND via.ca_treatment_uuid\ - \ ='d534da3e-7b59-40ca-a415-d2f5eb94f4a3' THEN 1\n ELSE 0\n END AS screen_cc_and_positive_received_treatment\n\ +sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t1.patient_uuid) AS patient_uuid,\n\ + \ MAX(t3.postal_code) AS health_facility_code,\n MAX(t3.name) AS health_facility_name,\n\ + \ MAX(t3.county_district) AS health_facility_district,\n MAX(t3.state_province)\ + \ AS health_facility_province,\n MAX(\n DATE_PART ('year', age (t1.date_started,\ + \ t2.birthdate))\n ) AS age,\n MAX(t2.gender) AS gender,\n MAX(via.is_screen_cc)\ + \ AS is_screen_cc,\n MAX(via.is_screen_cc_uuid) AS is_screen_cc_uuid,\n MAX(via.test_type)\ + \ AS test_type,\n MAX(via.via_test_result) AS via_test_result,\n MAX(via.via_test_result_uuid)\ + \ AS via_test_result_uuid,\n MAX(via.via_treatment) AS via_treatment,\n MAX(\n\ + \ CASE\n WHEN is_screen_cc_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' THEN\ + \ 1\n ELSE 0\n END\n ) AS screen_for_ccs,\n MAX(\n CASE\n WHEN\ + \ via_test_result_uuid='703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' THEN 1\n ELSE\ + \ 0\n END\n ) AS screen_cc_and_positive,\n MAX(\n CASE\n WHEN (\n \ + \ via.via_treatment_uuid='4070623e-945b-499f-8b62-316e699a3cc7'\n AND\ + \ via.via_test_result_uuid='703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n AND via.ca_treatment_uuid='d534da3e-7b59-40ca-a415-d2f5eb94f4a3'\n\ + \ ) THEN 1\n ELSE 0\n END\n ) AS screen_cc_and_positive_received_treatment\n\ FROM\n visits t1\n LEFT JOIN patients t2 ON (t1.patient_uuid=t2.patient_uuid)\n\ \ LEFT JOIN locations t3 ON (t1.location_uuid=t3.uuid)\n -- Screen for CS VIA\ \ test, result and treatment\n LEFT JOIN (\n SELECT\n o.encounter_uuid,\n\ @@ -26,7 +27,7 @@ sql: "SELECT\n t1.date_started,\n t1.patient_uuid,\n t3.postal_code AS health \ o.answer_coded_uuid AS is_screen_cc_uuid,\n obs1.answer_coded AS test_type,\n\ \ obs3.answer_coded AS via_test_result,\n obs3.answer_coded_uuid AS via_test_result_uuid,\n\ \ obs6.answer_coded AS via_treatment,\n obs6.answer_coded_uuid AS via_treatment_uuid,\n\ - \t obs7.answer_coded AS ca_treatment,\n obs7.answer_coded_uuid AS ca_treatment_uuid\n\ + \ obs7.answer_coded AS ca_treatment,\n obs7.answer_coded_uuid AS ca_treatment_uuid\n\ \ FROM\n observations o\n -- Test Type\n LEFT JOIN observations\ \ obs1 ON (\n o.encounter_uuid=obs1.encounter_uuid\n AND o.answer_coded_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ \ AND obs1.question_uuid='baf42703-65ed-4ea3-9d3f-e5cf0305d2fd'\n )\n\ @@ -35,23 +36,25 @@ sql: "SELECT\n t1.date_started,\n t1.patient_uuid,\n t3.postal_code AS health \ AND obs3.question_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n )\n \ \ -- VIA Treatment\n LEFT JOIN observations obs6 ON (\n o.encounter_uuid=obs6.encounter_uuid\n\ \ AND obs1.answer_coded_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n \ - \ AND obs6.question_uuid='6027bf55-5288-4ace-bc7f-b75d2291f8e0'\n )\n\t\ - -- Cervical Cancer Treatment\n LEFT JOIN observations obs7 ON (\n o.encounter_uuid=obs7.encounter_uuid\n\ - \ AND obs1.answer_coded_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n \ - \ AND obs7.question_uuid='1ca7d712-f7d7-4e09-8184-048bc4173902'\n )\n \ - \ WHERE\n o.question_uuid='75681e39-683c-4de9-9ca7-5b55b736bfa7' -- screen\ + \ AND obs6.question_uuid='6027bf55-5288-4ace-bc7f-b75d2291f8e0'\n )\n \ + \ -- Cervical Cancer Treatment\n LEFT JOIN observations obs7 ON (\n \ + \ o.encounter_uuid=obs7.encounter_uuid\n AND obs1.answer_coded_uuid='f90dc342-292e-4a47-9fef-860a03bf255f'\n\ + \ AND obs7.question_uuid='1ca7d712-f7d7-4e09-8184-048bc4173902'\n )\n\ + \ WHERE\n o.question_uuid='75681e39-683c-4de9-9ca7-5b55b736bfa7' -- screen\ \ for ccs\n AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n\ \ o.visit_uuid,\n o.answer_coded,\n o.answer_coded_uuid,\n obs1.answer_coded,\n\ \ obs3.answer_coded,\n obs3.answer_coded_uuid,\n obs6.answer_coded,\n\ \ obs6.answer_coded_uuid,\n obs1.question_uuid,\n obs3.question_uuid,\n\ - \ obs6.question_uuid,\n\t obs7.answer_coded,\n obs7.answer_coded_uuid,\n\ - \t obs7.question_uuid\n ) via ON (\n via.visit_uuid=t1.visit_uuid\n AND\ + \ obs6.question_uuid,\n obs7.answer_coded,\n obs7.answer_coded_uuid,\n\ + \ obs7.question_uuid\n ) via ON (\n via.visit_uuid=t1.visit_uuid\n AND\ \ via.visit_uuid IS NOT NULL\n )\nWHERE\n -- Cervical Cancer New Visit\n t1.visit_type_uuid\ - \ IN ('cad25c07-4657-4167-8b57-8ea1a3830e9b')\n AND t1.visit_voided IS FALSE\n\ - \ AND t2.person_voided IS FALSE\n AND t2.patient_uuid IS NOT NULL\n -- Women\ - \ aged between 30 and 49\n AND t2.gender='F'\n AND DATE_PART ('year', age (now\ - \ (), t2.birthdate)) BETWEEN 30 AND 49\n -- Last 12 months\n AND t1.date_started>=(NOW\ - \ ()-INTERVAL '1 year')" + \ IN ('cad25c07-4657-4167-8b57-8ea1a3830e9b')\n -- Cervical Cancer Follow-up Visit\ + \ - 'd2bf1776-671d-4e0f-a850-f7fef7aa4044'\n AND t1.visit_voided IS FALSE\n AND\ + \ t2.person_voided IS FALSE\n AND t2.patient_uuid IS NOT NULL\n -- Women aged\ + \ between 30 and 49\n AND t2.gender='F'\n AND DATE_PART ('year', age (t1.date_started,\ + \ t2.birthdate)) BETWEEN 30 AND 49\n -- Last 12 months. Use dashboards filters,\ + \ defaults to last 12 months\n -- AND t1.date_started>=(NOW ()-INTERVAL '1 year')\n\ + GROUP BY\n t2.patient_uuid" params: null template_params: null filter_select_enabled: false @@ -73,8 +76,8 @@ metrics: \ cancer screening to detect the pre-cancerous lesion and had positive result\ \ in the last 12 months)" metric_type: null - expression: ROUND((SUM(screen_cc_and_positive)::decimal / NULLIF(COUNT(DISTINCT - patient_uuid), 0)) * 100, 2) + expression: CONCAT(ROUND((SUM(screen_cc_and_positive)::decimal / NULLIF(COUNT(DISTINCT + patient_uuid), 0)) * 100, 2),'%') description: null d3format: null extra: @@ -92,8 +95,8 @@ metrics: \ of women aged 30\u200B - \u200B\u200B49 who had positive result and received\ \ appropriate cervical cancer lesion treatment in the last 12 months)" metric_type: null - expression: ROUND((SUM(screen_cc_and_positive_received_treatment)::decimal / NULLIF(SUM(screen_cc_and_positive), - 0)) * 100, 2) + expression: CONCAT(ROUND((SUM(screen_cc_and_positive_received_treatment)::decimal + / NULLIF(SUM(screen_cc_and_positive), 0)) * 100, 2),'%') description: null d3format: null extra: From f81e0e519a4abc4bc5605b44bfac48932bf1c74c Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Fri, 21 Jun 2024 11:14:01 +0300 Subject: [PATCH 14/20] KH-501: Copy over Ozone analytics queries --- base/pom.xml | 30 +++++++++++++++++++++++++++++- prod/pom.xml | 2 +- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/base/pom.xml b/base/pom.xml index da1428c9..e600e02d 100644 --- a/base/pom.xml +++ b/base/pom.xml @@ -41,6 +41,12 @@ zip + + com.ozonehis + analytics-queries + 1.1.0-SNAPSHOT + zip + @@ -131,6 +137,28 @@ + + org.apache.maven.plugins + maven-dependency-plugin + 2.8 + + + + Ozone Analytics queries + prepare-package + + unpack-dependencies + + + true + + ${project.build.directory}/${project.artifactId}-${project.version}/distro/analytics/ + analytics-queries + + + + + net.mekomsolutions.maven.plugin @@ -254,4 +282,4 @@ --> - \ No newline at end of file + diff --git a/prod/pom.xml b/prod/pom.xml index 980450c1..64f5a10c 100644 --- a/prod/pom.xml +++ b/prod/pom.xml @@ -184,4 +184,4 @@ --> - \ No newline at end of file + From bd945107d177cf6161e43628031f41afc46c0045 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Fri, 21 Jun 2024 16:38:16 +0300 Subject: [PATCH 15/20] OZ-429: More fine tuning to Ozone superset configs --- base/pom.xml | 46 +++++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/base/pom.xml b/base/pom.xml index e600e02d..66724722 100644 --- a/base/pom.xml +++ b/base/pom.xml @@ -21,7 +21,10 @@ 8 8 + 1.1.0-SNAPSHOT + ozone-cambodia-superset-configs + analytics-queries dependencies @@ -43,8 +46,8 @@ com.ozonehis - analytics-queries - 1.1.0-SNAPSHOT + ${analyticQueriesArtifactId} + ${analyticsQueriesVersion} zip @@ -56,6 +59,7 @@ org.apache.maven.plugins maven-dependency-plugin + Unpack Cambodia Superset configs sub-module generate-resources @@ -65,10 +69,24 @@ true - ${project.build.directory}/${project.artifactId}-${project.version}/configs/superset + ${project.build.directory}/${project.artifactId}-${project.version}/distro/configs/superset ${supersetConfigsArtifactId} + + + Ozone Analytics queries + prepare-package + + unpack-dependencies + + + true + + ${project.build.directory}/${project.artifactId}-${project.version}/distro/configs/analytics/ + ${analyticQueriesArtifactId} + + @@ -137,28 +155,6 @@ - - org.apache.maven.plugins - maven-dependency-plugin - 2.8 - - - - Ozone Analytics queries - prepare-package - - unpack-dependencies - - - true - - ${project.build.directory}/${project.artifactId}-${project.version}/distro/analytics/ - analytics-queries - - - - - net.mekomsolutions.maven.plugin From 3e715d4e8cfec770524d6b4a6ebca6a4b704fe49 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 24 Jun 2024 13:55:47 +0300 Subject: [PATCH 16/20] KH-535: Added drugs use dashboard, dataset, chart assets --- .../assets/charts/drugs_use_pivot_table.yaml | 55 ++++ .../dashboards/drugs_use_dashboard.yaml | 175 ++++++++++++ .../ncd_rh_emr_report_dashboard.yaml | 15 -- .../datasets/Analytics/ncd_emr_drugs_use.yaml | 249 ++++++++++++++++++ 4 files changed, 479 insertions(+), 15 deletions(-) create mode 100644 base/configs/superset/assets/charts/drugs_use_pivot_table.yaml create mode 100644 base/configs/superset/assets/dashboards/drugs_use_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/Analytics/ncd_emr_drugs_use.yaml diff --git a/base/configs/superset/assets/charts/drugs_use_pivot_table.yaml b/base/configs/superset/assets/charts/drugs_use_pivot_table.yaml new file mode 100644 index 00000000..bc0ba1ff --- /dev/null +++ b/base/configs/superset/assets/charts/drugs_use_pivot_table.yaml @@ -0,0 +1,55 @@ +slice_name: "\u17B1\u179F\u1790\u178A\u17C2\u179B\u1794\u17B6\u1793\u1794\u17D2\u179A\ + \u17BE (Drugs Use)" +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 8__table + viz_type: pivot_table_v2 + slice_id: 66 + granularity_sqla: date_created + time_grain_sqla: P1D + time_range: No filter + groupbyColumns: [] + groupbyRows: + - drug_name + - dosage_form + metrics: + - sum quantity + - count distinct patient + metricsLayout: COLUMNS + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_0mws7aee8toh_zfa3x2lpno9 + isExtra: false + isNew: false + operator: IS NOT NULL + operatorId: IS_NOT_NULL + sqlExpression: null + subject: dosage_form + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 13 +query_context: '{"datasource":{"id":8,"type":"table"},"force":false,"queries":[{"time_range":"No + filter","granularity":"date_created","filters":[{"col":"dosage_form","op":"IS NOT + NULL"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["drug_name","dosage_form"],"metrics":["sum + quantity","count distinct patient"],"orderby":[["sum quantity",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"8__table","viz_type":"pivot_table_v2","slice_id":66,"granularity_sqla":"date_created","time_grain_sqla":"P1D","time_range":"No + filter","groupbyColumns":[],"groupbyRows":["drug_name","dosage_form"],"metrics":["sum + quantity","count distinct patient"],"metricsLayout":"COLUMNS","adhoc_filters":[{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_0mws7aee8toh_zfa3x2lpno9","isExtra":false,"isNew":false,"operator":"IS + NOT NULL","operatorId":"IS_NOT_NULL","sqlExpression":null,"subject":"dosage_form"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","conditional_formatting":[],"extra_form_data":{},"dashboards":[13],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 979e89f3-4a04-4333-a91a-f2d10b17cd6b +version: 1.0.0 +dataset_uuid: d728f593-99b5-402e-997f-fd71dbde1d75 diff --git a/base/configs/superset/assets/dashboards/drugs_use_dashboard.yaml b/base/configs/superset/assets/dashboards/drugs_use_dashboard.yaml new file mode 100644 index 00000000..04a3b074 --- /dev/null +++ b/base/configs/superset/assets/dashboards/drugs_use_dashboard.yaml @@ -0,0 +1,175 @@ +dashboard_title: "\u17B1\u179F\u1790\u178A\u17C2\u179B\u1794\u17B6\u1793\u1794\u17D2\ + \u179A\u17BE (Drugs use)" +description: null +css: '' +slug: null +uuid: 63accbb1-bac7-4f32-94ae-943e4521e18d +position: + CHART-gfnDjBja_j: + children: [] + id: CHART-gfnDjBja_j + meta: + chartId: 66 + height: 111 + sliceName: "\u17B1\u179F\u1790\u178A\u17C2\u179B\u1794\u17B6\u1793\u1794\u17D2\ + \u179A\u17BE (Drug Use)" + uuid: 979e89f3-4a04-4333-a91a-f2d10b17cd6b + width: 7 + parents: + - ROOT_ID + - GRID_ID + - ROW-W--1eFnYmI + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-W--1eFnYmI + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: "\u17B1\u179F\u1790\u178A\u17C2\u179B\u1794\u17B6\u1793\u1794\u17D2\u179A\ + \u17BE (Drugs use)" + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-W--1eFnYmI: + children: + - CHART-gfnDjBja_j + id: ROW-W--1eFnYmI + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + shared_label_colors: {} + color_scheme_domain: [] + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-rl5sVOsxi + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: health_facility_province + datasetUuid: d728f593-99b5-402e-997f-fd71dbde1d75 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 66 + tabsInScope: [] + - id: NATIVE_FILTER-p6DPqaTV- + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: health_facility_district + datasetUuid: d728f593-99b5-402e-997f-fd71dbde1d75 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-rl5sVOsxi + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 66 + tabsInScope: [] + - id: NATIVE_FILTER-P1wBhu7bt + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: health_facility_name + datasetUuid: d728f593-99b5-402e-997f-fd71dbde1d75 + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-rl5sVOsxi + - NATIVE_FILTER-p6DPqaTV- + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + - id: NATIVE_FILTER_DIVIDER-ZZYhkwKAe + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + - id: NATIVE_FILTER-NSyyBr1X7 + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' +version: 1.0.0 diff --git a/base/configs/superset/assets/dashboards/ncd_rh_emr_report_dashboard.yaml b/base/configs/superset/assets/dashboards/ncd_rh_emr_report_dashboard.yaml index ea7d6236..0991371e 100644 --- a/base/configs/superset/assets/dashboards/ncd_rh_emr_report_dashboard.yaml +++ b/base/configs/superset/assets/dashboards/ncd_rh_emr_report_dashboard.yaml @@ -4,21 +4,6 @@ css: '' slug: ncd-rh-emr-report uuid: afd9bc68-256c-46c0-ac1e-52cb03d3a708 position: - CHART-V1PWfx4x3x: - children: [] - id: CHART-V1PWfx4x3x - meta: - chartId: 28 - height: 65 - sliceName: "\u17B1\u179F\u1790\u178A\u17C2\u179B\u1794\u17B6\u1793\u1794\u17D2\ - \u179A\u17BE (Medicine)" - uuid: dcdf7222-3e11-4ba1-8dfc-d4d4589122d6 - width: 12 - parents: - - ROOT_ID - - GRID_ID - - ROW-MBfp3q2Ol - type: CHART CHART-explore-29-1: children: [] id: CHART-explore-29-1 diff --git a/base/configs/superset/assets/datasets/Analytics/ncd_emr_drugs_use.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_emr_drugs_use.yaml new file mode 100644 index 00000000..398b574e --- /dev/null +++ b/base/configs/superset/assets/datasets/Analytics/ncd_emr_drugs_use.yaml @@ -0,0 +1,249 @@ +table_name: NCD EMR Drugs Use +main_dttm_col: date_created +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: public +sql: "SELECT\n ord.date_created,\n l.postal_code AS health_facility_code,\n l.name\ + \ AS health_facility_name,\n l.county_district AS health_facility_district,\n \ + \ l.state_province AS health_facility_province,\n ord.patient_uuid,\n ord.encounter_type_name,\n\ + \ ord.uuid AS order_uuid,\n ord.order_number,\n ord.order_action,\n ord.date_stopped,\n\ + \ ord.previous_order_id,\n order_reason_non_coded,\n ord.drug_name,\n ord.quantity_unit_name\ + \ AS dosage_form,\n ord.quantity AS quantity\nFROM\n orders ord\n LEFT JOIN concepts\ + \ ct ON (\n ord.concept_uuid=ct.uuid\n AND ct.uuid IS NOT NULL\n )\n LEFT\ + \ JOIN encounters et ON (\n ord.encounter_uuid=et.encounter_uuid\n AND et.encounter_id\ + \ IS NOT NULL\n )\n LEFT JOIN locations l ON (\n et.location_uuid=l.uuid\n\ + \ AND l.uuid IS NOT NULL\n )\nWHERE\n ord.voided IS FALSE\n AND et.encounter_voided\ + \ IS FALSE\n\t-- Drug Order Type\n AND ord.order_type_uuid='131168f4-15f5-102d-96e4-000c29c2a5d7'\n\ + \ -- Filter out REVISE orders\n -- AND ord.date_stopped IS NULL\nORDER BY\n ord.date_created\ + \ DESC;\n" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: d728f593-99b5-402e-997f-fd71dbde1d75 +metrics: +- metric_name: count distinct patient + verbose_name: "\u1780\u179A\u178E\u17B8\u179F\u17BB\u179A\u1794 (Total cases)" + metric_type: null + expression: COUNT(patient_uuid) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum quantity + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793 (Total quantity)" + metric_type: null + expression: SUM(quantity) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count + verbose_name: null + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: dosage_form + verbose_name: "\u1791\u17C6\u179A\u1784\u17CB (Dosage form)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: drug_name + verbose_name: "\u1788\u17D2\u1798\u17C4\u17C7 (Name)" + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: date_created + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: date_stopped + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: quantity + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: previous_order_id + verbose_name: null + is_dttm: false + is_active: true + type: LONGINTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: order_reason_non_coded + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_name + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_code + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_district + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: health_facility_province + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: encounter_type_name + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: order_action + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: order_number + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: '' + description: null + python_date_format: null + extra: {} +- column_name: patient_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: order_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe From b5ccf398c9276be3f8041d5711139a5db5678280 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 24 Jun 2024 14:04:59 +0300 Subject: [PATCH 17/20] KH-528: Added NCD report on yearly monitoring indicators --- ...abetes_management_program_pivot_table.yaml | 73 ++ ...diabetes_management_program_dashboard.yaml | 192 +++++ ...isk_diabetes_and_hypertension_dataset.yaml | 745 ++++++++++++++++++ 3 files changed, 1010 insertions(+) create mode 100644 base/configs/superset/assets/charts/annual_Indicators_for_hypertension_and_diabetes_management_program_pivot_table.yaml create mode 100644 base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_hypertension_and_diabetes_management_program_dashboard.yaml create mode 100644 base/configs/superset/assets/datasets/Analytics/patients_screened_for_CVD_risk_diabetes_and_hypertension_dataset.yaml diff --git a/base/configs/superset/assets/charts/annual_Indicators_for_hypertension_and_diabetes_management_program_pivot_table.yaml b/base/configs/superset/assets/charts/annual_Indicators_for_hypertension_and_diabetes_management_program_pivot_table.yaml new file mode 100644 index 00000000..c99ea2e2 --- /dev/null +++ b/base/configs/superset/assets/charts/annual_Indicators_for_hypertension_and_diabetes_management_program_pivot_table.yaml @@ -0,0 +1,73 @@ +slice_name: M&E Annual Indicators for Hypertension and Diabetes management program +description: null +certified_by: null +certification_details: null +viz_type: pivot_table_v2 +params: + datasource: 18__table + viz_type: pivot_table_v2 + slice_id: 65 + granularity_sqla: date_started + time_grain_sqla: P1D + time_range: Last year + groupbyColumns: [] + groupbyRows: [] + metrics: + - count patient screened + - sum patients diagnosed with dm + - percentage patients diagnosed with dm + - sum patients diagnosed with hbp + - percentage patients diagnosed with hbp + - sum patients diagnosed with dm and hbp + - percentage patients diagnosed with dm and hbp + - sum diagnosed with dm and treated + - percentage diagnosed with dm and treated + - sum diagnosed with hbp and treated + - percentage diagnosed with hbp and treated + - sum diagnosed with dm and hbp and treated + - percentage diagnosed with dm and hbp and treated + - sum dm dropout + - percentage dm dropout + - sum hbp dropout + - percentage hbp dropout + - sum dm with hbp dropout + - percentage dm with hbp dropout + metricsLayout: ROWS + adhoc_filters: [] + row_limit: 10000 + order_desc: true + aggregateFunction: Sum + transposePivot: false + valueFormat: ~g + date_format: smart_date + rowOrder: key_a_to_z + colOrder: key_a_to_z + colSubtotalPosition: true + conditional_formatting: [] + extra_form_data: {} + dashboards: + - 12 +query_context: '{"datasource":{"id":18,"type":"table"},"force":false,"queries":[{"time_range":"Last + year","granularity":"date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":["count + patient screened","sum patients diagnosed with dm","percentage patients diagnosed + with dm","sum patients diagnosed with hbp","percentage patients diagnosed with hbp","sum + patients diagnosed with dm and hbp","percentage patients diagnosed with dm and hbp","sum + diagnosed with dm and treated","percentage diagnosed with dm and treated","sum diagnosed + with hbp and treated","percentage diagnosed with hbp and treated","sum diagnosed + with dm and hbp and treated","percentage diagnosed with dm and hbp and treated","sum + dm dropout","percentage dm dropout","sum hbp dropout","percentage hbp dropout","sum + dm with hbp dropout","percentage dm with hbp dropout"],"orderby":[["count patient + screened",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"18__table","viz_type":"pivot_table_v2","slice_id":65,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"Last + year","groupbyColumns":[],"groupbyRows":[],"metrics":["count patient screened","sum + patients diagnosed with dm","percentage patients diagnosed with dm","sum patients + diagnosed with hbp","percentage patients diagnosed with hbp","sum patients diagnosed + with dm and hbp","percentage patients diagnosed with dm and hbp","sum diagnosed + with dm and treated","percentage diagnosed with dm and treated","sum diagnosed with + hbp and treated","percentage diagnosed with hbp and treated","sum diagnosed with + dm and hbp and treated","percentage diagnosed with dm and hbp and treated","sum + dm dropout","percentage dm dropout","sum hbp dropout","percentage hbp dropout","sum + dm with hbp dropout","percentage dm with hbp dropout"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","colSubtotalPosition":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[12],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +cache_timeout: null +uuid: 9bf461f4-855c-40af-9299-fd37dde51778 +version: 1.0.0 +dataset_uuid: aee334cc-f803-4296-8aad-948f4560bc0a diff --git a/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_hypertension_and_diabetes_management_program_dashboard.yaml b/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_hypertension_and_diabetes_management_program_dashboard.yaml new file mode 100644 index 00000000..b137ee28 --- /dev/null +++ b/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_hypertension_and_diabetes_management_program_dashboard.yaml @@ -0,0 +1,192 @@ +dashboard_title: Indicators for annual monitoring and evaluation Hypertension and + Diabetes management program +description: null +css: '' +slug: null +uuid: 1c38c06f-0a18-48df-9bf7-82facc3ecc6e +position: + CHART-explore-65-1: + children: [] + id: CHART-explore-65-1 + meta: + chartId: 65 + height: 104 + sliceName: M&E Annual Indicators for Hypertension and Diabetes management program + sliceNameOverride: "\u1780\u1798\u17D2\u1798\u179C\u17B7\u1792\u17B8\u1796\u17B7\ + \u1793\u17B7\u178F\u17D2\u1799\u179A\u1780\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ + \u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784\ + \ \u179F\u179A\u179F\u17C3\u1788\u17B6\u1798 \u1793\u17B7\u1784\u1782\u17D2\ + \u179A\u1794\u17CB\u1782\u17D2\u179A\u1784\u1787\u17C6\u1784\u17BA\u1791\u17B9\ + \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\u179B\ + \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 \u1793\u17B9\ + \u1784\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u179C\u17B6\u179F\u17CB\ + \u179C\u17C2\u1784\u178A\u17C4\u1799\u1794\u17D2\u179A\u17BE\u179F\u17BC\u1785\ + \u1793\u17B6\u1780\u179A(indicators)\u1794\u17D2\u179A\u1785\u17B6\u17C6\u1786\ + \u17D2\u1793\u17B6\u17C6\u178A\u17BC\u1785\u1781\u17B6\u1784\u1780\u17D2\u179A\ + \u17C4\u1798\u17D6 (Screening for CVD Risk and Diabetes and Hypertension Management\ + \ program will be measured using the following annual indicators)" + uuid: 9bf461f4-855c-40af-9299-fd37dde51778 + width: 12 + parents: + - ROOT_ID + - GRID_ID + - ROW-t3pcetBBvm + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: + - ROW-t3pcetBBvm + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: Indicators for annual monitoring and evaluation Hypertension and Diabetes + management program + type: HEADER + ROOT_ID: + children: + - GRID_ID + id: ROOT_ID + type: ROOT + ROW-t3pcetBBvm: + children: + - CHART-explore-65-1 + id: ROW-t3pcetBBvm + meta: + '0': ROOT_ID + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - GRID_ID + type: ROW +metadata: + show_native_filters: true + color_scheme: '' + refresh_frequency: 0 + shared_label_colors: {} + color_scheme_domain: [] + expanded_slices: {} + label_colors: {} + timed_refresh_immune_slices: [] + cross_filters_enabled: false + default_filters: '{}' + chart_configuration: {} + native_filter_configuration: + - id: NATIVE_FILTER-Y0eNqUA-h + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" + filterType: filter_select + targets: + - column: + name: health_facility_province + datasetUuid: aee334cc-f803-4296-8aad-948f4560bc0a + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 65 + tabsInScope: [] + - id: NATIVE_FILTER-ZvYlEwNch + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ + \u17D2\u178F\u17B7 (District)" + filterType: filter_select + targets: + - column: + name: health_facility_district + datasetUuid: aee334cc-f803-4296-8aad-948f4560bc0a + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-Y0eNqUA-h + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 65 + tabsInScope: [] + - id: NATIVE_FILTER-WHKcu_Lp4 + controlValues: + enableEmptyFilter: false + defaultToFirstItem: false + multiSelect: true + searchAllOptions: true + inverseSelection: false + name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" + filterType: filter_select + targets: + - column: + name: health_facility_name + datasetUuid: aee334cc-f803-4296-8aad-948f4560bc0a + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + cascadeParentIds: + - NATIVE_FILTER-Y0eNqUA-h + - NATIVE_FILTER-ZvYlEwNch + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: '' + chartsInScope: + - 65 + tabsInScope: [] + - id: NATIVE_FILTER_DIVIDER-4PaLOlqql + type: DIVIDER + scope: + rootPath: + - ROOT_ID + excluded: [] + title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ + \u178E\u17CD (Reporting Period)" + description: '' + - id: NATIVE_FILTER-axbb_AgVV + controlValues: + enableEmptyFilter: false + name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" + filterType: filter_time + targets: + - {} + defaultDataMask: + extraFormData: + time_range: Last year + filterState: + value: Last year + cascadeParentIds: [] + scope: + rootPath: + - ROOT_ID + excluded: [] + type: NATIVE_FILTER + description: Defaults to the last 12 months +version: 1.0.0 diff --git a/base/configs/superset/assets/datasets/Analytics/patients_screened_for_CVD_risk_diabetes_and_hypertension_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/patients_screened_for_CVD_risk_diabetes_and_hypertension_dataset.yaml new file mode 100644 index 00000000..84b36216 --- /dev/null +++ b/base/configs/superset/assets/datasets/Analytics/patients_screened_for_CVD_risk_diabetes_and_hypertension_dataset.yaml @@ -0,0 +1,745 @@ +table_name: Patients Screened for CVD Risk, Diabetes and Hypertension +main_dttm_col: null +description: null +default_endpoint: null +offset: 0 +cache_timeout: null +schema: public +sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS health_facility_code,\n\ + \ MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district) AS health_facility_district,\n\ + \ MAX(t3.state_province) AS health_facility_province,\n MAX(t2.patient_uuid) AS\ + \ patient_uuid,\n MAX(\n DATE_PART ('year', age (t1.date_started, t2.birthdate))\n\ + \ ) AS age,\n MAX(t2.gender) AS gender,\n MAX(t1.type) AS type,\n MAX(t4.encounter_type)\ + \ AS encounter_type,\n MAX(obs1.cvd_score) AS cvd_score,\n MAX(t1.type) AS visit_type,\n\ + \ MAX(obs2.diagnosis_one) AS diagnosis_one,\n MAX(obs3.diagnosis_two) AS diagnosis_two,\n\ + \ MAX(obs4.started_on_medicine) AS started_on_medicine,\n -- Diagnosis\n MAX(\n\ + \ CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n \ + \ '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ + \ AND (\n obs2.diagnosis_one_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ + \ OR obs3.diagnosis_two_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ + \ )\n ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_dm,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_hbp,\n MAX(\n \ + \ CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n \ + \ '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ + \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_dm_and_hbp,\n\ + \ -- Diagnosis and Treatment\n MAX(\n CASE\n WHEN (\n (\n \ + \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid NOT IN\ + \ ('3cd50188-26fe-102b-80cb-0017a47871b2')\n OR obs3.diagnosis_two_uuid\ + \ NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ ) THEN 1\n ELSE 0\n END\n ) AS diagnosed_with_dm_and_treated,\n\ + \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\ + \ THEN 1\n ELSE 0\n END\n ) AS diagnosed_with_hbp_and_treated,\n MAX(\n\ + \ CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n \ + \ '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ + \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ ) THEN 1\n ELSE 0\n END\n ) AS diagnosed_with_dm_and_hbp_and_treated,\n\ + \ -- Dropout\n MAX(\n CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ + \ AND (\n obs2.diagnosis_one_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ + \ OR obs3.diagnosis_two_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ + \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND CURRENT_DATE-t1.date_started>INTERVAL '90 days'\n ) THEN 1\n \ + \ ELSE 0\n END\n ) AS dm_dropout,\n MAX(\n CASE\n WHEN (\n \ + \ obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n OR\ + \ obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n )\n \ + \ AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n \ + \ AND CURRENT_DATE-t1.date_started>INTERVAL '90 days' THEN 1\n ELSE 0\n\ + \ END\n ) AS hbp_dropout,\n MAX(\n CASE\n WHEN (\n (\n \ + \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND CURRENT_DATE-t1.date_started>INTERVAL '90 days'\n ) THEN 1\n \ + \ ELSE 0\n END\n ) AS dm_and_hbp_dropout\nFROM\n visits t1\n LEFT JOIN\ + \ patients t2 ON (t1.patient_uuid=t2.patient_uuid)\n LEFT JOIN locations t3 ON\ + \ (t1.location_uuid=t3.uuid)\n LEFT JOIN encounters t4 ON (\n t1.visit_uuid=t4.visit_uuid\n\ + \ AND t4.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_numeric AS cvd_score\n\ + \ FROM\n observations o\n WHERE\n o.question_uuid='dff491e3-b14c-4b32-ab64-63b96966d72d'\n\ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_numeric\n ) obs1 ON (\n obs1.visit_uuid=t1.visit_uuid\n AND\ + \ obs1.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_one,\n\ + \ o.answer_coded_uuid AS diagnosis_one_uuid\n FROM\n observations o\n\ + \ WHERE\n o.question_uuid='45583478-f703-46e3-b63a-54b0a95c25f0'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs2 ON (\n obs2.visit_uuid=t1.visit_uuid\n\ + \ AND obs2.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_two,\n\ + \ o.answer_coded_uuid AS diagnosis_two_uuid\n FROM\n observations o\n\ + \ WHERE\n o.question_uuid='76ca08a5-2128-4b53-afba-74227b015924'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs3 ON (\n obs3.visit_uuid=t1.visit_uuid\n\ + \ AND obs3.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS started_on_medicine,\n\ + \ o.answer_coded_uuid AS started_on_medicine_uuid\n FROM\n observations\ + \ o\n WHERE\n o.question_uuid='805c3a0b-cd38-4ed6-b4f8-f3af0fc118ad'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs4 ON (\n obs4.visit_uuid=t1.visit_uuid\n\ + \ AND obs4.visit_uuid IS NOT NULL\n )\nWHERE\n -- NCD New Visit & Follow-up\ + \ Visit\n t1.visit_type_uuid IN (\n '5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab',\n\ + \ '54da8fbc-b92f-4251-b53a-feedc8e8c594'\n )\n -- NCD Screening and NCD consultation\n\ + \ AND t4.encounter_type_uuid IN (\n '422b7e0c-b8f3-4748-8e60-d6684315f141',\n\ + \ 'b870b6bb-9441-4664-9087-3d3477174213'\n )\n AND t1.visit_voided IS FALSE\n\ + \ AND t2.person_voided IS FALSE\n AND t2.patient_uuid IS NOT NULL\n -- Aged 40\ + \ and above\n AND DATE_PART ('year', age (t1.date_started, t2.birthdate)) >= 40\n\ + GROUP BY\n t2.patient_uuid" +params: null +template_params: null +filter_select_enabled: false +fetch_values_predicate: null +extra: null +uuid: aee334cc-f803-4296-8aad-948f4560bc0a +metrics: +- metric_name: percentage patients diagnosed with dm and hbp + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u1793\u17B7\u1784\ + \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u1780\ + \u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798\u1794\u17D2\u179A\u1787\ + \u17B6\u1787\u1793\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\u17B6\u1799\u17BB\ + \u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\u17C6\u17A1\u17BE\ + \u1784\u1791\u17C5\u1794\u17B6\u1793\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\ + \u17D2\u1799\u179A\u1780\u1798\u17BE\u179B \u1787\u17C6\u1784\u17BA\u179B\u17BE\ + \u179F\u1788\u17B6\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u1791\u17B9\ + \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1780\u17D2\u1793\u17BB\ + \u1784\u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2 \u1781\u17C2 (Percentage\ + \ of individuals diagnosed with hypertension and diabetes among people aged 40\ + \ and above was screened for hypertension and diabetes in the last 12 months)" + metric_type: null + expression: CONCAT(ROUND((SUM(is_diagnosed_with_dm_and_hbp)::decimal / NULLIF(COUNT(patient_uuid), + 0)) * 100, 2),'%') + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage patients diagnosed with dm + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1780\u17D2\u1793\ + \u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798\u1794\u17D2\u179A\u1787\u17B6\u1787\ + \u1793\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\u17B6\u1799\u17BB\u1785\u17B6\ + \u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\u17C6\u17A1\u17BE\u1784\u1791\ + \u17C5\u1794\u17B6\u1793\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\ + \u179A\u1780\u1798\u17BE\u179B \u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\ + \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 \u1793\u17B7\u1784\u1787\u17C6\ + \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ + \u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2\ + \ \u1781\u17C2 (Percentage of individuals diagnosed with diabetes among people\ + \ aged 40 and above was screened for hypertension and diabetes in the last 12\ + \ months)" + metric_type: null + expression: CONCAT(ROUND((SUM(is_diagnosed_with_dm)::decimal / NULLIF(COUNT(patient_uuid), + 0)) * 100, 2),'%') + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage patients diagnosed with hbp + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u179B\ + \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u1780\u17D2\ + \u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798\u1794\u17D2\u179A\u1787\u17B6\ + \u1787\u1793\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\u17B6\u1799\u17BB\u1785\ + \u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\u17C6\u17A1\u17BE\u1784\ + \u1791\u17C5\u1794\u17B6\u1793\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\u17D2\ + \u1799\u179A\u1780\u1798\u17BE\u179B \u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ + \u1788\u17B6\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\ + \u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1780\u17D2\u1793\u17BB\u1784\ + \u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2\u1781\u17C2 (Percentage of individuals\ + \ diagnosed with hypertension among people aged 40 and above was screened for\ + \ hypertension and diabetes in the last 12 months)" + metric_type: null + expression: CONCAT(ROUND((SUM(is_diagnosed_with_hbp)::decimal / NULLIF(COUNT(patient_uuid), + 0)) * 100, 2),'%') + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum patients diagnosed with dm and hbp + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ + \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ + \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ + \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ + \u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\u1783\ + \u17BE\u1789\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ + \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u1793\u17B7\u1784\u200B\ + \ \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u1780\ + \u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2\u1781\ + \u17C3 ( \t Number of individuals target population aged 40 and above was diagnosed\ + \ with diabetes and hypertension in the last 12 months)" + metric_type: null + expression: SUM(is_diagnosed_with_dm_and_hbp) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage diagnosed with dm and hbp and treated + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\ + \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178F\ + \u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\u17B6\ + \u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\ + \u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\ + \u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\ + \u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\ + \u179B\u17E1\u17E2 \u1781\u17C2 (Percentage of individuals diagnosed with hypertension\ + \ and diabetes treated at the public health facility in the last 12 months)" + metric_type: null + expression: CONCAT(ROUND((SUM(diagnosed_with_dm_and_hbp_and_treated)::decimal / + NULLIF(SUM(is_diagnosed_with_dm_and_hbp), 0)) * 100, 2),'%') + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage dm with hbp dropout + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ + \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\ + \u17C4\u17C7\u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\ + \u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\ + \u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\ + \u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2\ + \ \u1781\u17C2 (Percentage of hypertensions and diabetes patients dropped out\ + \ from the public health facility in the last 12 months)" + metric_type: null + expression: CONCAT(ROUND((SUM(dm_and_hbp_dropout)::decimal / NULLIF(SUM(diagnosed_with_dm_and_hbp_and_treated), + 0)) * 100, 2),'%') + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage diagnosed with hbp and treated + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u17A2\u17D2\u1793\u1780\u1787\ + \u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ + \u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\ + \u17BE\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\ + \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\ + \u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ + \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Percentage of individuals diagnosed\ + \ with hypertensions treated at the public health facility in the last 12 months)" + metric_type: null + expression: "\tCONCAT(ROUND((SUM(diagnosed_with_hbp_and_treated)::decimal / NULLIF(SUM(is_diagnosed_with_hbp),\ + \ 0)) * 100, 2),'%')" + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage diagnosed with dm and treated + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u178F\u17D2\u179A\ + \u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\u17B6\u179A\u1790\ + \u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\ + \u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\ + \u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\ + \u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\ + \u17E2 \u1781\u17C2 (Percentage of individuals diagnosed with diabetes treated\ + \ at the public health facility in the last 12 months)" + metric_type: null + expression: CONCAT(ROUND((SUM(diagnosed_with_dm_and_treated)::decimal / NULLIF(SUM(is_diagnosed_with_dm), + 0)) * 100, 2),'%') + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum patients diagnosed with hbp + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ + \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ + \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ + \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ + \ \u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\u1783\ + \u17BE\u1789\u1790\u17B6\u1798\u17B6\u1793\u179B\u17BE\u179F\u179F\u1798\u17D2\ + \u1796\u17B6\u1792\u1788\u17B6\u1798\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ + \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2\u1798\u17BB\u1793 (Number of\ + \ individuals target population aged 40 and above was diagnosed with hypertension\ + \ in the last 12 months)" + metric_type: null + expression: SUM(is_diagnosed_with_hbp) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum diagnosed with dm and hbp and treated + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ + \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ + \u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\ + \u17BE\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\ + \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5 \u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\ + \u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ + \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Number of individuals hypertensions\ + \ and diabetes patients receiving treatment at the public health facility in the\ + \ last 12 months)" + metric_type: null + expression: SUM(diagnosed_with_dm_and_hbp_and_treated) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage dm dropout + verbose_name: " \u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ + \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\u17C7\ + \u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\ + \u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\ + \u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\ + \u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\ + \u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2\ + \ (Percentage of diabetes patients dropped out from the public health facility\ + \ in the last 12 months)" + metric_type: null + expression: CONCAT(ROUND((SUM(dm_dropout)::decimal / NULLIF(SUM(diagnosed_with_dm_and_treated), + 0)) * 100, 2),'%') + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum patients diagnosed with dm + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ + \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ + \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ + \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ + \ \u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\u1783\ + \u17BE\u1789\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ + \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1780\u17D2\u1793\u17BB\ + \u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Number of\ + \ individuals target population aged 40 and above was diagnosed with diabetes\ + \ in the last 12 months)" + metric_type: null + expression: SUM(is_diagnosed_with_dm) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum diagnosed with dm and treated + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ + \u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\ + \u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\ + \u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\ + \u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B \u179F\u17B6\u1792\ + \u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\ + \u17C1\u179B\u17E1\u17E2 \u1781\u17C2\u1798\u17BB\u1793 (Number of individuals\ + \ diabetes patient receiving treatment at the public health facility in the last\ + \ 12 months)" + metric_type: null + expression: SUM(diagnosed_with_dm_and_treated) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage hbp dropout + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ + \u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\ + \u1788\u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\ + \u17C7\u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\u1791\ + \u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\ + \u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\ + \u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\ + \u17C2 (Percentage of hypertensions patients dropped out from the public health\ + \ facility in the last 12 months)" + metric_type: null + expression: CONCAT(ROUND((SUM(hbp_dropout)::decimal / NULLIF(SUM(diagnosed_with_hbp_and_treated), + 0)) * 100, 2),'%') + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: count patient screened + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ + \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ + \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ + \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\ + \u1793\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179A\u1780\u1798\u17BE\u179B\ + \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\ + \u17C1\u179B \u17E1\u17E2 \u1781\u17C2 (Number of people aged 40 and above was\ + \ screened for hypertension and diabetes in the last 12 months)" + metric_type: null + expression: count(*) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum diagnosed with hbp and treated + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ + \u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ + \u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\ + \u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\ + \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\ + \u1792\u17B6\u179A\u178E\u17C8\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\ + \u1797\u17B6\u1796\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\ + \u179B\u17E1\u17E2 \u1781\u17C2 (Number of individuals hypertensions patients\ + \ receiving treatment at the public health facility in the last 12 months) " + metric_type: null + expression: SUM(diagnosed_with_hbp_and_treated) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum dm with hbp dropout + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ + \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\u179B\ + \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178A\u17C2\ + \u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\u1798\u1780\u1792\u17D2\u179C\u17BE\ + \u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\ + \u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\ + \u17BB\u1781\u1797\u17B6\u1796\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\ + \u1796\u17C1\u179B\u17E1\u17E2\u1781\u17C2 \u1799\u17C9\u17B6\u1784\u178F\u17B7\ + \u1785\u17E1\u17E2\u1781\u17C2\u1785\u17B6\u1794\u17CB\u1796\u17B8\u1780\u17B6\ + \u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\ + \u1794\u17B6\u179B\u1785\u17BB\u1784\u1780\u17D2\u179A\u17C4\u1799\u1782\u17C1\ + \ (Total number of hypertension and diabetes patients who have not shown up at\ + \ the HCs over 90 days)" + metric_type: null + expression: SUM(dm_and_hbp_dropout) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum hbp dropout + verbose_name: " \u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ + \u1793\u1780\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\ + \u1793\u1785\u17BC\u179B\u1798\u1780\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\ + \u1781\u1797\u17B6\u1796\u179A\u1799\u17C8\u1796\u17C1\u179B\u179B\u17BE\u179F\ + \u1796\u17B8 \u17E9\u17E0\u1790\u17D2\u1784\u17C3 (Total number of hypertension\ + \ patients who have not shown up at the HCs over 90 days)" + metric_type: null + expression: SUM(hbp_dropout) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: sum dm dropout + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ + \u1793\u1780\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ + \u17D2\u17A2\u17C2\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\ + \u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\ + \u1794\u17B6\u179B\u1793\u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\ + \u1797\u17B6\u1796\u179B\u17BE\u179F\u1796\u17B8\u17E9\u17E0\u1790\u17D2\u1784\ + \u17C3 (Total number of diabetes patients who have not shown up at the HCs over\ + \ 90 days)" + metric_type: null + expression: SUM(dm_dropout) + description: null + d3format: null + extra: + warning_markdown: '' + warning_text: null +columns: +- column_name: date_started + verbose_name: null + is_dttm: true + is_active: true + type: DATETIME + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: cvd_score + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: age + verbose_name: null + is_dttm: false + is_active: true + type: FLOAT + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosed_with_dm_and_hbp_and_treated + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: is_diagnosed_with_dm_and_hbp + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosed_with_hbp_and_treated + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosed_with_dm_and_treated + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: is_diagnosed_with_hbp + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: is_diagnosed_with_dm + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_name + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_code + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_district + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: health_facility_province + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: started_on_medicine + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_one + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: patient_uuid + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: diagnosis_two + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: encounter_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: visit_type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: gender + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: type + verbose_name: null + is_dttm: false + is_active: true + type: STRING + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +version: 1.0.0 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe From bca578b1f12e9f0aad12f5f164776c916ce4cff2 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 24 Jun 2024 14:25:39 +0300 Subject: [PATCH 18/20] KH-501: Add public schema for datasets --- .../Analytics/ccs_appointment_status_tracking_dataset.yaml | 2 +- .../assets/datasets/Analytics/ccs_for_women_dataset.yaml | 2 +- .../assets/datasets/Analytics/ccs_hc_raw_data_dataset.yaml | 2 +- .../assets/datasets/Analytics/ccs_rh_raw_data_dataset.yaml | 2 +- .../Analytics/indicators_for_monitoring_ccs_dataset.yaml | 2 +- .../superset/assets/datasets/Analytics/ncd_hc_emr_dataset.yaml | 2 +- .../assets/datasets/Analytics/ncd_hc_emr_raw_data_dataset.yaml | 2 +- .../superset/assets/datasets/Analytics/ncd_rh_emr_dataset.yaml | 2 +- .../assets/datasets/Analytics/ncd_rh_emr_raw_data_dataset.yaml | 2 +- .../self-breast_educated_and_examined_women_dataset.yaml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/base/configs/superset/assets/datasets/Analytics/ccs_appointment_status_tracking_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ccs_appointment_status_tracking_dataset.yaml index d412802f..c3be7872 100644 --- a/base/configs/superset/assets/datasets/Analytics/ccs_appointment_status_tracking_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ccs_appointment_status_tracking_dataset.yaml @@ -4,7 +4,7 @@ description: 'A subset of the visits table that shows the appointment status tra default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT \n t1.date_started,\n\tt3.name AS hf_name,\n\tt3.county_district AS hf_district,\n\ \ t3.state_province AS hf_province,\n\tSUBSTRING(\n t2.identifiers\n FROM\n\ \ 'OpenMRS ID: ([^,]*)'\n ) AS patient_id,\n\tCONCAT_WS(' ', given_name, middle_name,\ diff --git a/base/configs/superset/assets/datasets/Analytics/ccs_for_women_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ccs_for_women_dataset.yaml index d4e56158..71fc7814 100644 --- a/base/configs/superset/assets/datasets/Analytics/ccs_for_women_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ccs_for_women_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS health_facility_code,\n\ \ MAX(t3.name) AS health_facility_name,\n MAX(t3.state_province) AS health_facility_province,\n\ \ MAX(t3.county_district) AS health_facility_district,\n MAX(t2.patient_uuid)\ diff --git a/base/configs/superset/assets/datasets/Analytics/ccs_hc_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ccs_hc_raw_data_dataset.yaml index 92f9572c..2c0849da 100644 --- a/base/configs/superset/assets/datasets/Analytics/ccs_hc_raw_data_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ccs_hc_raw_data_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(p.openmrs_id) AS client_id,\n MAX(p.patient_name) AS client_name,\n\ \ MAX(p.gender) AS gender,\n MAX(\n DATE_PART ('year', age (v.date_started,\ \ p.birthdate))\n ) AS age,\n MAX(p.birthdate) AS birthdate,\n MAX(p.id_poor)\ diff --git a/base/configs/superset/assets/datasets/Analytics/ccs_rh_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ccs_rh_raw_data_dataset.yaml index e44ff43f..7e3a0aef 100644 --- a/base/configs/superset/assets/datasets/Analytics/ccs_rh_raw_data_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ccs_rh_raw_data_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(p.openmrs_id) AS client_id,\n MAX(p.patient_name) AS client_name,\n\ \ MAX(p.gender) AS gender,\n MAX(\n DATE_PART ('year', age (v.date_started,\ \ p.birthdate))\n ) AS age,\n MAX(p.birthdate) AS birthdate,\n MAX(p.id_poor)\ diff --git a/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml index 8f30090a..ead46879 100644 --- a/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/indicators_for_monitoring_ccs_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t1.patient_uuid) AS patient_uuid,\n\ \ MAX(t3.postal_code) AS health_facility_code,\n MAX(t3.name) AS health_facility_name,\n\ \ MAX(t3.county_district) AS health_facility_district,\n MAX(t3.state_province)\ diff --git a/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_dataset.yaml index 7afbe05c..a9aa947e 100644 --- a/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS health_facility_code,\n\ \ MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district) AS health_facility_district,\n\ \ MAX(t3.state_province) AS health_facility_province,\n MAX(t2.patient_uuid) AS\ diff --git a/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_raw_data_dataset.yaml index 23ed5027..63b35abe 100644 --- a/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_raw_data_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ncd_hc_emr_raw_data_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(p.openmrs_id) AS client_id,\n MAX(p.patient_name) AS client_name,\n\ \ MAX(p.gender) AS gender,\n MAX(\n DATE_PART ('year', age (v.date_started,\ \ p.birthdate))\n ) AS age,\n MAX(p.id_poor) AS id_poor,\n MAX(p.national_id)\ diff --git a/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_dataset.yaml index 43918b3d..38fef697 100644 --- a/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(t1.date_started) AS visit_date_started,\n MAX(t3.postal_code)\ \ AS health_facility_code,\n MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district)\ \ AS health_facility_district,\n MAX(t3.state_province) AS health_facility_province,\n\ diff --git a/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_raw_data_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_raw_data_dataset.yaml index 1b68850f..002b0ea5 100644 --- a/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_raw_data_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/ncd_rh_emr_raw_data_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(p.openmrs_id) AS client_id,\n MAX(p.patient_name) AS client_name,\n\ \ MAX(p.gender) AS gender,\n MAX(\n DATE_PART ('year', age (v.date_started,\ \ p.birthdate))\n ) AS age,\n MAX(p.id_poor) AS id_poor,\n MAX(p.national_id)\ diff --git a/base/configs/superset/assets/datasets/Analytics/self-breast_educated_and_examined_women_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/self-breast_educated_and_examined_women_dataset.yaml index 6ac1fad1..dc8736d0 100644 --- a/base/configs/superset/assets/datasets/Analytics/self-breast_educated_and_examined_women_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/self-breast_educated_and_examined_women_dataset.yaml @@ -4,7 +4,7 @@ description: null default_endpoint: null offset: 0 cache_timeout: null -schema: null +schema: public sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS health_facility_code,\n\ \ MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district) AS health_facility_district,\n\ \ MAX(t3.state_province) AS health_facility_province,\n MAX(t2.patient_uuid) AS\ From 87eccdf1cd6c5ad25ad5a10b46a0fcc6259ec532 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 24 Jun 2024 15:58:28 +0300 Subject: [PATCH 19/20] KH-501: Amalgamate yearly report indicators for monitoring Hypertension, Diabetes --- ...on_and_Diabetes_management_program_22.yaml | 71 -- ...abetes_management_program_pivot_table.yaml | 90 +- ...on_and_Diabetes_management_program_10.yaml | 193 --- ...diabetes_management_program_dashboard.yaml | 7 +- ...or_CVD_Risk_Diabetes_and_Hypertension.yaml | 1110 ----------------- ...isk_diabetes_and_hypertension_dataset.yaml | 809 ++++++++---- 6 files changed, 635 insertions(+), 1645 deletions(-) delete mode 100644 base/configs/superset/assets/charts/ME_Annual_Indicators_for_Hypertension_and_Diabetes_management_program_22.yaml delete mode 100644 base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_Hypertension_and_Diabetes_management_program_10.yaml delete mode 100644 base/configs/superset/assets/datasets/Analytics/Patients_Screened_for_CVD_Risk_Diabetes_and_Hypertension.yaml diff --git a/base/configs/superset/assets/charts/ME_Annual_Indicators_for_Hypertension_and_Diabetes_management_program_22.yaml b/base/configs/superset/assets/charts/ME_Annual_Indicators_for_Hypertension_and_Diabetes_management_program_22.yaml deleted file mode 100644 index 01015ab5..00000000 --- a/base/configs/superset/assets/charts/ME_Annual_Indicators_for_Hypertension_and_Diabetes_management_program_22.yaml +++ /dev/null @@ -1,71 +0,0 @@ -slice_name: M&E Annual Indicators for Hypertension and Diabetes management program -description: null -certified_by: null -certification_details: null -viz_type: pivot_table_v2 -params: - datasource: 12__table - viz_type: pivot_table_v2 - slice_id: 22 - groupbyColumns: [] - groupbyRows: [] - time_grain_sqla: P1D - temporal_columns_lookup: - date_started: true - metrics: - - dist_count_patient_screened - - dist_count_patients_diagnosed_with_dm - - percentage_patients_diagnosed_with_dm - - dist_count_patients_diagnosed_with_hbp - - percentage_patients_diagnosed_with_hbp - - dist_count_patients_diagnosed_with_dm_and_hbp - - percentage_patients_diagnosed_with_dm_and_hbp - - dist_count_diagnosed_with_dm_and_treated - - percentage_diagnosed_with_dm_and_treated - - dist_count_diagnosed_with_hbp_and_treated - - percentage_diagnosed_with_hbp_and_treated - - dist_count_diagnosed_with_dm_and_hbp_and_treated - - percentage_diagnosed_with_dm_and_hbp_and_treated - - dist_count_diag_with_dm_treated_fulfilled_followup - - percentage_diag_with_dm_treated_fulfilled_followup - - dist_count_diag_with_hbp_treated_fulfilled_followup - - percentage_diag_with_hbp_treated_fulfilled_followup - - dist_count_diag_dm_treated_no_showup_after_30d_of_app - - percentage_diag_dm_treated_no_showup_after_30d_of_app - - dist_count_diag_hbp_treated_no_showup_after_30d_of_app - - percentage_diag_hbp_treated_no_showup_after_30d_of_app - - dist_count_diag_dm_hbp_treated_no_showup_after_30d_of_app - - percentage_diag_dm_hbp_treated_no_showup_after_30d_of_app - - dist_count_dm_dropout_90 - - percentage_dm_dropout_90 - - dist_count_hbp_dropout_90 - - percentage_hbp_dropout_90 - - dist_count_dm_with_hbp_dropout_90 - - percentage_dm_with_hbp_dropout_90 - metricsLayout: ROWS - adhoc_filters: - - clause: WHERE - comparator: No filter - expressionType: SIMPLE - operator: TEMPORAL_RANGE - subject: date_started - row_limit: 10000 - order_desc: true - aggregateFunction: Sum - transposePivot: false - valueFormat: ~g - date_format: smart_date - rowOrder: key_a_to_z - colOrder: key_a_to_z - colSubtotalPosition: true - conditional_formatting: [] - extra_form_data: {} - dashboards: - - 10 -query_context: '{"datasource":{"id":12,"type":"table"},"force":false,"queries":[{"filters":[{"col":"date_started","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":["dist_count_patient_screened","dist_count_patients_diagnosed_with_dm","percentage_patients_diagnosed_with_dm","dist_count_patients_diagnosed_with_hbp","percentage_patients_diagnosed_with_hbp","dist_count_patients_diagnosed_with_dm_and_hbp","percentage_patients_diagnosed_with_dm_and_hbp","dist_count_diagnosed_with_dm_and_treated","percentage_diagnosed_with_dm_and_treated","dist_count_diagnosed_with_hbp_and_treated","percentage_diagnosed_with_hbp_and_treated","dist_count_diagnosed_with_dm_and_hbp_and_treated","percentage_diagnosed_with_dm_and_hbp_and_treated","dist_count_diag_with_dm_treated_fulfilled_followup","percentage_diag_with_dm_treated_fulfilled_followup","dist_count_diag_with_hbp_treated_fulfilled_followup","percentage_diag_with_hbp_treated_fulfilled_followup","dist_count_diag_dm_treated_no_showup_after_30d_of_app","percentage_diag_dm_treated_no_showup_after_30d_of_app","dist_count_diag_hbp_treated_no_showup_after_30d_of_app","percentage_diag_hbp_treated_no_showup_after_30d_of_app","dist_count_diag_dm_hbp_treated_no_showup_after_30d_of_app","percentage_diag_dm_hbp_treated_no_showup_after_30d_of_app","dist_count_dm_dropout_90","percentage_dm_dropout_90","dist_count_hbp_dropout_90","percentage_hbp_dropout_90","dist_count_dm_with_hbp_dropout_90","percentage_dm_with_hbp_dropout_90"],"orderby":[["dist_count_patient_screened",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"12__table","viz_type":"pivot_table_v2","slice_id":22,"groupbyColumns":[],"groupbyRows":[],"time_grain_sqla":"P1D","temporal_columns_lookup":{"date_started":true},"metrics":["dist_count_patient_screened","dist_count_patients_diagnosed_with_dm","percentage_patients_diagnosed_with_dm","dist_count_patients_diagnosed_with_hbp","percentage_patients_diagnosed_with_hbp","dist_count_patients_diagnosed_with_dm_and_hbp","percentage_patients_diagnosed_with_dm_and_hbp","dist_count_diagnosed_with_dm_and_treated","percentage_diagnosed_with_dm_and_treated","dist_count_diagnosed_with_hbp_and_treated","percentage_diagnosed_with_hbp_and_treated","dist_count_diagnosed_with_dm_and_hbp_and_treated","percentage_diagnosed_with_dm_and_hbp_and_treated","dist_count_diag_with_dm_treated_fulfilled_followup","percentage_diag_with_dm_treated_fulfilled_followup","dist_count_diag_with_hbp_treated_fulfilled_followup","percentage_diag_with_hbp_treated_fulfilled_followup","dist_count_diag_dm_treated_no_showup_after_30d_of_app","percentage_diag_dm_treated_no_showup_after_30d_of_app","dist_count_diag_hbp_treated_no_showup_after_30d_of_app","percentage_diag_hbp_treated_no_showup_after_30d_of_app","dist_count_diag_dm_hbp_treated_no_showup_after_30d_of_app","percentage_diag_dm_hbp_treated_no_showup_after_30d_of_app","dist_count_dm_dropout_90","percentage_dm_dropout_90","dist_count_hbp_dropout_90","percentage_hbp_dropout_90","dist_count_dm_with_hbp_dropout_90","percentage_dm_with_hbp_dropout_90"],"metricsLayout":"ROWS","adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"date_started"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","colSubtotalPosition":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[10],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' -cache_timeout: null -uuid: 9bf461f4-855c-40af-9299-fd37dde51778 -version: 1.0.0 -dataset_uuid: aee334cc-f803-4296-8aad-948f4560bc0a diff --git a/base/configs/superset/assets/charts/annual_Indicators_for_hypertension_and_diabetes_management_program_pivot_table.yaml b/base/configs/superset/assets/charts/annual_Indicators_for_hypertension_and_diabetes_management_program_pivot_table.yaml index c99ea2e2..01015ab5 100644 --- a/base/configs/superset/assets/charts/annual_Indicators_for_hypertension_and_diabetes_management_program_pivot_table.yaml +++ b/base/configs/superset/assets/charts/annual_Indicators_for_hypertension_and_diabetes_management_program_pivot_table.yaml @@ -4,36 +4,51 @@ certified_by: null certification_details: null viz_type: pivot_table_v2 params: - datasource: 18__table + datasource: 12__table viz_type: pivot_table_v2 - slice_id: 65 - granularity_sqla: date_started - time_grain_sqla: P1D - time_range: Last year + slice_id: 22 groupbyColumns: [] groupbyRows: [] + time_grain_sqla: P1D + temporal_columns_lookup: + date_started: true metrics: - - count patient screened - - sum patients diagnosed with dm - - percentage patients diagnosed with dm - - sum patients diagnosed with hbp - - percentage patients diagnosed with hbp - - sum patients diagnosed with dm and hbp - - percentage patients diagnosed with dm and hbp - - sum diagnosed with dm and treated - - percentage diagnosed with dm and treated - - sum diagnosed with hbp and treated - - percentage diagnosed with hbp and treated - - sum diagnosed with dm and hbp and treated - - percentage diagnosed with dm and hbp and treated - - sum dm dropout - - percentage dm dropout - - sum hbp dropout - - percentage hbp dropout - - sum dm with hbp dropout - - percentage dm with hbp dropout + - dist_count_patient_screened + - dist_count_patients_diagnosed_with_dm + - percentage_patients_diagnosed_with_dm + - dist_count_patients_diagnosed_with_hbp + - percentage_patients_diagnosed_with_hbp + - dist_count_patients_diagnosed_with_dm_and_hbp + - percentage_patients_diagnosed_with_dm_and_hbp + - dist_count_diagnosed_with_dm_and_treated + - percentage_diagnosed_with_dm_and_treated + - dist_count_diagnosed_with_hbp_and_treated + - percentage_diagnosed_with_hbp_and_treated + - dist_count_diagnosed_with_dm_and_hbp_and_treated + - percentage_diagnosed_with_dm_and_hbp_and_treated + - dist_count_diag_with_dm_treated_fulfilled_followup + - percentage_diag_with_dm_treated_fulfilled_followup + - dist_count_diag_with_hbp_treated_fulfilled_followup + - percentage_diag_with_hbp_treated_fulfilled_followup + - dist_count_diag_dm_treated_no_showup_after_30d_of_app + - percentage_diag_dm_treated_no_showup_after_30d_of_app + - dist_count_diag_hbp_treated_no_showup_after_30d_of_app + - percentage_diag_hbp_treated_no_showup_after_30d_of_app + - dist_count_diag_dm_hbp_treated_no_showup_after_30d_of_app + - percentage_diag_dm_hbp_treated_no_showup_after_30d_of_app + - dist_count_dm_dropout_90 + - percentage_dm_dropout_90 + - dist_count_hbp_dropout_90 + - percentage_hbp_dropout_90 + - dist_count_dm_with_hbp_dropout_90 + - percentage_dm_with_hbp_dropout_90 metricsLayout: ROWS - adhoc_filters: [] + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: date_started row_limit: 10000 order_desc: true aggregateFunction: Sum @@ -46,27 +61,10 @@ params: conditional_formatting: [] extra_form_data: {} dashboards: - - 12 -query_context: '{"datasource":{"id":18,"type":"table"},"force":false,"queries":[{"time_range":"Last - year","granularity":"date_started","filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":["count - patient screened","sum patients diagnosed with dm","percentage patients diagnosed - with dm","sum patients diagnosed with hbp","percentage patients diagnosed with hbp","sum - patients diagnosed with dm and hbp","percentage patients diagnosed with dm and hbp","sum - diagnosed with dm and treated","percentage diagnosed with dm and treated","sum diagnosed - with hbp and treated","percentage diagnosed with hbp and treated","sum diagnosed - with dm and hbp and treated","percentage diagnosed with dm and hbp and treated","sum - dm dropout","percentage dm dropout","sum hbp dropout","percentage hbp dropout","sum - dm with hbp dropout","percentage dm with hbp dropout"],"orderby":[["count patient - screened",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"18__table","viz_type":"pivot_table_v2","slice_id":65,"granularity_sqla":"date_started","time_grain_sqla":"P1D","time_range":"Last - year","groupbyColumns":[],"groupbyRows":[],"metrics":["count patient screened","sum - patients diagnosed with dm","percentage patients diagnosed with dm","sum patients - diagnosed with hbp","percentage patients diagnosed with hbp","sum patients diagnosed - with dm and hbp","percentage patients diagnosed with dm and hbp","sum diagnosed - with dm and treated","percentage diagnosed with dm and treated","sum diagnosed with - hbp and treated","percentage diagnosed with hbp and treated","sum diagnosed with - dm and hbp and treated","percentage diagnosed with dm and hbp and treated","sum - dm dropout","percentage dm dropout","sum hbp dropout","percentage hbp dropout","sum - dm with hbp dropout","percentage dm with hbp dropout"],"metricsLayout":"ROWS","adhoc_filters":[],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","colSubtotalPosition":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[12],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' + - 10 +query_context: '{"datasource":{"id":12,"type":"table"},"force":false,"queries":[{"filters":[{"col":"date_started","op":"TEMPORAL_RANGE","val":"No + filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":["dist_count_patient_screened","dist_count_patients_diagnosed_with_dm","percentage_patients_diagnosed_with_dm","dist_count_patients_diagnosed_with_hbp","percentage_patients_diagnosed_with_hbp","dist_count_patients_diagnosed_with_dm_and_hbp","percentage_patients_diagnosed_with_dm_and_hbp","dist_count_diagnosed_with_dm_and_treated","percentage_diagnosed_with_dm_and_treated","dist_count_diagnosed_with_hbp_and_treated","percentage_diagnosed_with_hbp_and_treated","dist_count_diagnosed_with_dm_and_hbp_and_treated","percentage_diagnosed_with_dm_and_hbp_and_treated","dist_count_diag_with_dm_treated_fulfilled_followup","percentage_diag_with_dm_treated_fulfilled_followup","dist_count_diag_with_hbp_treated_fulfilled_followup","percentage_diag_with_hbp_treated_fulfilled_followup","dist_count_diag_dm_treated_no_showup_after_30d_of_app","percentage_diag_dm_treated_no_showup_after_30d_of_app","dist_count_diag_hbp_treated_no_showup_after_30d_of_app","percentage_diag_hbp_treated_no_showup_after_30d_of_app","dist_count_diag_dm_hbp_treated_no_showup_after_30d_of_app","percentage_diag_dm_hbp_treated_no_showup_after_30d_of_app","dist_count_dm_dropout_90","percentage_dm_dropout_90","dist_count_hbp_dropout_90","percentage_hbp_dropout_90","dist_count_dm_with_hbp_dropout_90","percentage_dm_with_hbp_dropout_90"],"orderby":[["dist_count_patient_screened",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"12__table","viz_type":"pivot_table_v2","slice_id":22,"groupbyColumns":[],"groupbyRows":[],"time_grain_sqla":"P1D","temporal_columns_lookup":{"date_started":true},"metrics":["dist_count_patient_screened","dist_count_patients_diagnosed_with_dm","percentage_patients_diagnosed_with_dm","dist_count_patients_diagnosed_with_hbp","percentage_patients_diagnosed_with_hbp","dist_count_patients_diagnosed_with_dm_and_hbp","percentage_patients_diagnosed_with_dm_and_hbp","dist_count_diagnosed_with_dm_and_treated","percentage_diagnosed_with_dm_and_treated","dist_count_diagnosed_with_hbp_and_treated","percentage_diagnosed_with_hbp_and_treated","dist_count_diagnosed_with_dm_and_hbp_and_treated","percentage_diagnosed_with_dm_and_hbp_and_treated","dist_count_diag_with_dm_treated_fulfilled_followup","percentage_diag_with_dm_treated_fulfilled_followup","dist_count_diag_with_hbp_treated_fulfilled_followup","percentage_diag_with_hbp_treated_fulfilled_followup","dist_count_diag_dm_treated_no_showup_after_30d_of_app","percentage_diag_dm_treated_no_showup_after_30d_of_app","dist_count_diag_hbp_treated_no_showup_after_30d_of_app","percentage_diag_hbp_treated_no_showup_after_30d_of_app","dist_count_diag_dm_hbp_treated_no_showup_after_30d_of_app","percentage_diag_dm_hbp_treated_no_showup_after_30d_of_app","dist_count_dm_dropout_90","percentage_dm_dropout_90","dist_count_hbp_dropout_90","percentage_hbp_dropout_90","dist_count_dm_with_hbp_dropout_90","percentage_dm_with_hbp_dropout_90"],"metricsLayout":"ROWS","adhoc_filters":[{"clause":"WHERE","comparator":"No + filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"date_started"}],"row_limit":10000,"order_desc":true,"aggregateFunction":"Sum","transposePivot":false,"valueFormat":"~g","date_format":"smart_date","rowOrder":"key_a_to_z","colOrder":"key_a_to_z","colSubtotalPosition":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[10],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' cache_timeout: null uuid: 9bf461f4-855c-40af-9299-fd37dde51778 version: 1.0.0 diff --git a/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_Hypertension_and_Diabetes_management_program_10.yaml b/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_Hypertension_and_Diabetes_management_program_10.yaml deleted file mode 100644 index 742f889f..00000000 --- a/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_Hypertension_and_Diabetes_management_program_10.yaml +++ /dev/null @@ -1,193 +0,0 @@ -dashboard_title: Indicators for annual monitoring and evaluation Hypertension and - Diabetes management program -description: null -css: '' -slug: null -certified_by: null -certification_details: null -published: false -uuid: 1c38c06f-0a18-48df-9bf7-82facc3ecc6e -position: - CHART-explore-65-1: - children: [] - id: CHART-explore-65-1 - meta: - chartId: 22 - height: 104 - sliceName: M&E Annual Indicators for Hypertension and Diabetes management program - sliceNameOverride: "\u1780\u1798\u17D2\u1798\u179C\u17B7\u1792\u17B8\u1796\u17B7\ - \u1793\u17B7\u178F\u17D2\u1799\u179A\u1780\u17A0\u17B6\u1793\u17B7\u1797\u17D0\ - \u1799\u1793\u17C3\u1787\u17C6\u1784\u17BA\u1794\u17C1\u17C7\u178A\u17BC\u1784\ - \ \u179F\u179A\u179F\u17C3\u1788\u17B6\u1798 \u1793\u17B7\u1784\u1782\u17D2\ - \u179A\u1794\u17CB\u1782\u17D2\u179A\u1784\u1787\u17C6\u1784\u17BA\u1791\u17B9\ - \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\u179B\ - \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 \u1793\u17B9\ - \u1784\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u179C\u17B6\u179F\u17CB\ - \u179C\u17C2\u1784\u178A\u17C4\u1799\u1794\u17D2\u179A\u17BE\u179F\u17BC\u1785\ - \u1793\u17B6\u1780\u179A(indicators)\u1794\u17D2\u179A\u1785\u17B6\u17C6\u1786\ - \u17D2\u1793\u17B6\u17C6\u178A\u17BC\u1785\u1781\u17B6\u1784\u1780\u17D2\u179A\ - \u17C4\u1798\u17D6 (Screening for CVD Risk and Diabetes and Hypertension Management\ - \ program will be measured using the following annual indicators)" - uuid: 9bf461f4-855c-40af-9299-fd37dde51778 - width: 12 - parents: - - ROOT_ID - - GRID_ID - - ROW-t3pcetBBvm - type: CHART - DASHBOARD_VERSION_KEY: v2 - GRID_ID: - children: - - ROW-t3pcetBBvm - id: GRID_ID - parents: - - ROOT_ID - type: GRID - HEADER_ID: - id: HEADER_ID - meta: - text: Indicators for annual monitoring and evaluation Hypertension and Diabetes - management program - type: HEADER - ROOT_ID: - children: - - GRID_ID - id: ROOT_ID - type: ROOT - ROW-t3pcetBBvm: - children: - - CHART-explore-65-1 - id: ROW-t3pcetBBvm - meta: - '0': ROOT_ID - background: BACKGROUND_TRANSPARENT - parents: - - ROOT_ID - - GRID_ID - type: ROW -metadata: - color_scheme: '' - refresh_frequency: 0 - shared_label_colors: {} - color_scheme_domain: [] - expanded_slices: {} - label_colors: {} - timed_refresh_immune_slices: [] - cross_filters_enabled: false - chart_configuration: {} - native_filter_configuration: - - id: NATIVE_FILTER-Y0eNqUA-h - controlValues: - enableEmptyFilter: false - defaultToFirstItem: false - multiSelect: true - searchAllOptions: true - inverseSelection: false - name: "\u1781\u17C1\u178F\u17D2\u178F (Province)" - filterType: filter_select - targets: - - column: - name: health_facility_province - datasetUuid: aee334cc-f803-4296-8aad-948f4560bc0a - defaultDataMask: - extraFormData: {} - filterState: {} - ownState: {} - cascadeParentIds: [] - scope: - rootPath: - - ROOT_ID - excluded: [] - type: NATIVE_FILTER - description: '' - chartsInScope: - - 65 - tabsInScope: [] - - id: NATIVE_FILTER-ZvYlEwNch - controlValues: - enableEmptyFilter: false - defaultToFirstItem: false - multiSelect: true - searchAllOptions: true - inverseSelection: false - name: "\u179F\u17D2\u179A\u17BB\u1780\u1794\u17D2\u179A\u178F\u17B7\u1794\u178F\ - \u17D2\u178F\u17B7 (District)" - filterType: filter_select - targets: - - column: - name: health_facility_district - datasetUuid: aee334cc-f803-4296-8aad-948f4560bc0a - defaultDataMask: - extraFormData: {} - filterState: {} - ownState: {} - cascadeParentIds: - - NATIVE_FILTER-Y0eNqUA-h - scope: - rootPath: - - ROOT_ID - excluded: [] - type: NATIVE_FILTER - description: '' - chartsInScope: - - 65 - tabsInScope: [] - - id: NATIVE_FILTER-WHKcu_Lp4 - controlValues: - enableEmptyFilter: false - defaultToFirstItem: false - multiSelect: true - searchAllOptions: true - inverseSelection: false - name: "\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ - \u1797\u17B7\u1794\u17B6\u179B (Health Facility)" - filterType: filter_select - targets: - - column: - name: health_facility_name - datasetUuid: aee334cc-f803-4296-8aad-948f4560bc0a - defaultDataMask: - extraFormData: {} - filterState: {} - ownState: {} - cascadeParentIds: - - NATIVE_FILTER-Y0eNqUA-h - - NATIVE_FILTER-ZvYlEwNch - scope: - rootPath: - - ROOT_ID - excluded: [] - type: NATIVE_FILTER - description: '' - chartsInScope: - - 65 - tabsInScope: [] - - id: NATIVE_FILTER_DIVIDER-4PaLOlqql - type: DIVIDER - scope: - rootPath: - - ROOT_ID - excluded: [] - title: "\u179A\u1799\u17C8\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\ - \u178E\u17CD (Reporting Period)" - description: '' - - id: NATIVE_FILTER-axbb_AgVV - controlValues: - enableEmptyFilter: false - name: "\u1787\u17BD\u179A\u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6 (Time Range)" - filterType: filter_time - targets: - - {} - defaultDataMask: - extraFormData: - time_range: Last year - filterState: - value: Last year - cascadeParentIds: [] - scope: - rootPath: - - ROOT_ID - excluded: [] - type: NATIVE_FILTER - description: Defaults to the last 12 months -version: 1.0.0 diff --git a/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_hypertension_and_diabetes_management_program_dashboard.yaml b/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_hypertension_and_diabetes_management_program_dashboard.yaml index b137ee28..742f889f 100644 --- a/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_hypertension_and_diabetes_management_program_dashboard.yaml +++ b/base/configs/superset/assets/dashboards/Indicators_for_annual_monitoring_and_evaluation_hypertension_and_diabetes_management_program_dashboard.yaml @@ -3,13 +3,16 @@ dashboard_title: Indicators for annual monitoring and evaluation Hypertension an description: null css: '' slug: null +certified_by: null +certification_details: null +published: false uuid: 1c38c06f-0a18-48df-9bf7-82facc3ecc6e position: CHART-explore-65-1: children: [] id: CHART-explore-65-1 meta: - chartId: 65 + chartId: 22 height: 104 sliceName: M&E Annual Indicators for Hypertension and Diabetes management program sliceNameOverride: "\u1780\u1798\u17D2\u1798\u179C\u17B7\u1792\u17B8\u1796\u17B7\ @@ -63,7 +66,6 @@ position: - GRID_ID type: ROW metadata: - show_native_filters: true color_scheme: '' refresh_frequency: 0 shared_label_colors: {} @@ -72,7 +74,6 @@ metadata: label_colors: {} timed_refresh_immune_slices: [] cross_filters_enabled: false - default_filters: '{}' chart_configuration: {} native_filter_configuration: - id: NATIVE_FILTER-Y0eNqUA-h diff --git a/base/configs/superset/assets/datasets/Analytics/Patients_Screened_for_CVD_Risk_Diabetes_and_Hypertension.yaml b/base/configs/superset/assets/datasets/Analytics/Patients_Screened_for_CVD_Risk_Diabetes_and_Hypertension.yaml deleted file mode 100644 index c751125b..00000000 --- a/base/configs/superset/assets/datasets/Analytics/Patients_Screened_for_CVD_Risk_Diabetes_and_Hypertension.yaml +++ /dev/null @@ -1,1110 +0,0 @@ -table_name: Patients Screened for CVD Risk, Diabetes and Hypertension -main_dttm_col: null -description: null -default_endpoint: null -offset: 0 -cache_timeout: null -schema: null -sql: "SELECT\n MAX(current_v.date_started) AS date_started,\n MAX(t3.postal_code)\ - \ AS health_facility_code,\n MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district)\ - \ AS health_facility_district,\n MAX(t3.state_province) AS health_facility_province,\n\ - \ MAX(t2.patient_uuid) AS patient_uuid,\n MAX(\n DATE_PART ('year', age (current_v.date_started,\ - \ t2.birthdate))\n ) AS age,\n MAX(t2.gender) AS gender,\n MAX(current_v.type)\ - \ AS type,\n MAX(t4.encounter_type) AS encounter_type,\n MAX(obs1.cvd_score) AS\ - \ cvd_score,\n MAX(current_v.type) AS visit_type,\n MAX(obs2.diagnosis_one) AS\ - \ diagnosis_one,\n MAX(obs3.diagnosis_two) AS diagnosis_two,\n MAX(obs4.started_on_medicine)\ - \ AS started_on_medicine,\n -- Diagnosis\n MAX(\n CASE\n WHEN (\n \ - \ (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ - \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n )\n AND (\n obs2.diagnosis_one_uuid NOT IN\ - \ ('3cd50188-26fe-102b-80cb-0017a47871b2')\n OR obs3.diagnosis_two_uuid\ - \ NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n )\n ) THEN 1\n \ - \ ELSE 0\n END\n ) AS is_diagnosed_with_dm,\n MAX(\n CASE\n WHEN\ - \ (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_hbp,\n MAX(\n CASE\n\ - \ WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ - \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ )\n ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_dm_and_hbp,\n\ - \ -- Diagnosis and Treatment\n MAX(\n CASE\n WHEN (\n (\n \ - \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ - \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n )\n AND (\n obs2.diagnosis_one_uuid NOT IN\ - \ ('3cd50188-26fe-102b-80cb-0017a47871b2')\n OR obs3.diagnosis_two_uuid\ - \ NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ ) THEN 1\n ELSE 0\n END\n ) AS diagnosed_with_dm_and_treated,\n\ - \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\ - \ THEN 1\n ELSE 0\n END\n ) AS diagnosed_with_hbp_and_treated,\n MAX(\n\ - \ CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n \ - \ '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ - \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ ) THEN 1\n ELSE 0\n END\n ) AS diagnosed_with_dm_and_hbp_and_treated,\n\ - \ -- Dropout within 30 days\n MAX(\n CASE\n WHEN (\n (\n \ - \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ - \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n )\n AND (\n obs2.diagnosis_one_uuid NOT IN\ - \ ('3cd50188-26fe-102b-80cb-0017a47871b2')\n OR obs3.diagnosis_two_uuid\ - \ NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND CURRENT_DATE-current_v.date_started>INTERVAL '30 days'\n ) THEN\ - \ 1\n ELSE 0\n END\n ) AS dm_dropout_30,\n MAX(\n CASE\n WHEN\ - \ (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND CURRENT_DATE-current_v.date_started>INTERVAL '30 days' THEN 1\n \ - \ ELSE 0\n END\n ) AS hbp_dropout_30,\n MAX(\n CASE\n WHEN (\n \ - \ (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ - \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND CURRENT_DATE-current_v.date_started>INTERVAL '30 days'\n ) THEN\ - \ 1\n ELSE 0\n END\n ) AS dm_and_hbp_dropout_30,\n -- Dropout within 90\ - \ days\n MAX(\n CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid\ - \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ - \ AND (\n obs2.diagnosis_one_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ - \ OR obs3.diagnosis_two_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ - \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND CURRENT_DATE-current_v.date_started>INTERVAL '90 days'\n ) THEN\ - \ 1\n ELSE 0\n END\n ) AS dm_dropout_90,\n MAX(\n CASE\n WHEN\ - \ (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND CURRENT_DATE-current_v.date_started>INTERVAL '90 days' THEN 1\n \ - \ ELSE 0\n END\n ) AS hbp_dropout_90,\n MAX(\n CASE\n WHEN (\n \ - \ (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ - \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND CURRENT_DATE-current_v.date_started>INTERVAL '90 days'\n ) THEN\ - \ 1\n ELSE 0\n END\n ) AS dm_and_hbp_dropout_90,\n MAX(\n CASE\n \ - \ WHEN obs5.visit_uuid IS NOT NULL AND follow_up_v.visit_uuid IS NOT NULL THEN\ - \ 1\n ELSE 0\n END\n ) AS fulfilled_follow_up,\n MAX(\n CASE\n \ - \ WHEN obs5.visit_uuid IS NOT NULL AND follow_up_v_30.visit_uuid IS NULL AND (\ - \ CURRENT_DATE - obs5.follow_up_date > INTERVAL '30 days') THEN 1\n ELSE 0\n\ - \ END\n ) AS did_not_showup_30_days_after_appointment\nFROM\n visits current_v\n\ - \ LEFT JOIN patients t2 ON (current_v.patient_uuid=t2.patient_uuid)\n LEFT JOIN\ - \ locations t3 ON (current_v.location_uuid=t3.uuid)\n LEFT JOIN encounters t4 ON\ - \ (\n current_v.visit_uuid=t4.visit_uuid\n AND t4.visit_uuid IS NOT NULL\n\ - \ )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n o.encounter_uuid,\n\ - \ o.visit_uuid,\n o.answer_numeric AS cvd_score\n FROM\n observations\ - \ o\n WHERE\n o.question_uuid='dff491e3-b14c-4b32-ab64-63b96966d72d'\n \ - \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_numeric\n ) obs1 ON (\n obs1.visit_uuid=current_v.visit_uuid\n\ - \ AND obs1.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ - \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_one,\n\ - \ o.answer_coded_uuid AS diagnosis_one_uuid\n FROM\n observations o\n\ - \ WHERE\n o.question_uuid='45583478-f703-46e3-b63a-54b0a95c25f0'\n \ - \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_coded,\n o.answer_coded_uuid\n ) obs2 ON (\n obs2.visit_uuid=current_v.visit_uuid\n\ - \ AND obs2.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ - \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_two,\n\ - \ o.answer_coded_uuid AS diagnosis_two_uuid\n FROM\n observations o\n\ - \ WHERE\n o.question_uuid='76ca08a5-2128-4b53-afba-74227b015924'\n \ - \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_coded,\n o.answer_coded_uuid\n ) obs3 ON (\n obs3.visit_uuid=current_v.visit_uuid\n\ - \ AND obs3.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ - \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS started_on_medicine,\n\ - \ o.answer_coded_uuid AS started_on_medicine_uuid\n FROM\n observations\ - \ o\n WHERE\n o.question_uuid='805c3a0b-cd38-4ed6-b4f8-f3af0fc118ad'\n \ - \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_coded,\n o.answer_coded_uuid\n ) obs4 ON (\n obs4.visit_uuid=current_v.visit_uuid\n\ - \ AND obs4.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ - \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_datetime AS follow_up_date\n\ - \ FROM\n observations o\n WHERE\n o.question_uuid='e9c145c1-f4e9-4c34-b237-da069939dc38'\n\ - \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_datetime\n ) obs5 ON (\n obs5.visit_uuid=current_v.visit_uuid\n\ - \ AND obs5.visit_uuid IS NOT NULL\n )\n LEFT JOIN visits follow_up_v ON (current_v.patient_uuid\ - \ = follow_up_v.patient_uuid AND follow_up_v.date_started > current_v.date_started\ - \ AND follow_up_v.date_started < NOW() AND ( follow_up_v.date_started - obs5.follow_up_date\ - \ <= INTERVAL '7 days'))\n LEFT JOIN visits follow_up_v_30 ON (current_v.patient_uuid\ - \ = follow_up_v_30.patient_uuid AND follow_up_v_30.date_started > current_v.date_started\ - \ AND follow_up_v_30.date_started < NOW() AND ( follow_up_v_30.date_started - obs5.follow_up_date\ - \ <= INTERVAL '30 days'))\nWHERE\n -- NCD New Visit & Follow-up Visit\n current_v.visit_type_uuid\ - \ IN (\n '5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab',\n '54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ - \ )\n -- NCD Screening and NCD consultation\n AND t4.encounter_type_uuid IN (\n\ - \ '422b7e0c-b8f3-4748-8e60-d6684315f141',\n 'b870b6bb-9441-4664-9087-3d3477174213'\n\ - \ )\n AND current_v.visit_voided IS FALSE\n AND t2.person_voided IS FALSE\n \ - \ AND t2.patient_uuid IS NOT NULL\n -- Aged 40 and above\n AND DATE_PART ('year',\ - \ age (current_v.date_started, t2.birthdate)) >= 40\nGROUP BY\n t2.patient_uuid,\ - \ current_v.visit_uuid" -params: null -template_params: null -filter_select_enabled: false -fetch_values_predicate: null -extra: null -normalize_columns: false -always_filter_main_dttm: false -uuid: aee334cc-f803-4296-8aad-948f4560bc0a -metrics: -- metric_name: percentage_diag_dm_hbp_treated_no_showup_after_30d_of_app - verbose_name: "\u1797\u17B6\u1782\u179A\u1799(%) \u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ - \u1798 \u1793\u17B7\u1784\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1791\ - \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u178A\u17C2\u179B\ - \u1794\u17B6\u1793\u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\ - \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\u1799\u17BA\u178F\ - \u1796\u17C1\u179B\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784\u17A2\u17C6\u17A1\ - \u17BB\u1784\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\u178E\u17CD\ - \ (Percentage of diabetes and hypertension patient with late follow-up treatment\ - \ during the reporting period)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ - \ = 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n \ - \ ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_diag_with_dm_treated_fulfilled_followup - verbose_name: "\u1797\u17B6\u1782\u179A\u1799 (%) \u17A2\u17D2\u1793\u1780\u1787\ - \u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ - \u1798\u178A\u17C2\u179B\u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\ - \u178F\u17B6\u1798\u178A\u17B6\u1793\u200B \u179F\u17BB\u1781\u1797\u17B6\u1796\ - \u1793\u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\ - \u1794\u1793\u17D2\u178F\u178F\u17B6\u1798\u1780\u17B6\u179A\u178E\u17B6\u178F\ - \u17CB\u1787\u17B6\u1791\u17C0\u1784\u1791\u17B6\u178F\u17CB (Percentage of diabetes\ - \ patient with regular follow-up at health centre)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ - \ = 1 AND fulfilled_follow_up = 1 THEN patient_uuid \n ELSE NULL \n END\n\ - )::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_dm_with_hbp_dropout_90 - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ - \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ - \u17C2\u1798 \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\ - \u1792\u1788\u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\ - \u17C4\u17C7\u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\ - \u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\ - \u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ - \u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\ - \u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2\ - \ \u1781\u17C2 (Percentage of hypertensions and diabes patients dropped out from\ - \ the public health facility in the last 12 months)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN dm_and_hbp_dropout_90\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ - \ CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated = 1 THEN patient_uuid\ - \ \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_diagnosed_with_dm_and_hbp_and_treated - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ - \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\ - \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178F\ - \u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\u17B6\ - \u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\ - \u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\ - \u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\ - \u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\ - \u179B\u17E1\u17E2 \u1781\u17C2 (Percentage of individuals diagnosed with hypertension\ - \ and diabetes treated at the public health facility in the last 12 months)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ - \ CASE \n WHEN is_diagnosed_with_dm_and_hbp = 1 THEN patient_uuid \n ELSE\ - \ NULL \n END\n)\n, 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_diag_dm_treated_no_showup_after_30d_of_app - verbose_name: "\u1797\u17B6\u1782\u179A\u1799(%)\u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ - \u178A\u17C2\u179B\u1794\u17B6\u1793\u1798\u1780\u1791\u1791\u17BD\u179B\u1780\ - \u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\ - \u1799\u17BA\u178F\u1796\u17C1\u179B\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784\ - \u17A2\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B \u179A\u17B6\u1799\u1780\u17B6\ - \u179A\u178E\u17CD (Percentage of diabetes patients with late follow-up treatment\ - \ during the reporting period)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ - \ = 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n \ - \ ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_diag_with_hbp_treated_fulfilled_followup - verbose_name: "\u1797\u17B6\u1782\u179A\u1799 (%) \u17A2\u17D2\u1793\u1780\u1787\ - \u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ - \u17B6\u1798 \u178A\u17C2\u179B\u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\ - \u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\u1793\ - \u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\u178F\ - \u17B6\u1798\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17B6\u1791\u17C0\ - \u1784\u1791\u17B6\u178F\u17CB (Percentage of hypertension patient with regular\ - \ follow-up treatment at health centre)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ - \ = 1 AND fulfilled_follow_up = 1 THEN patient_uuid \n ELSE NULL \n END\n\ - )::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_dm_dropout_90 - verbose_name: " \u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ - \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ - \u17C2\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\u17C7\ - \u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\ - \u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\ - \u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\ - \u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\ - \u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2\ - \ (Percentage of diabetes patients dropped out from the public health facility\ - \ in the last 12 months)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN dm_dropout_90 = 1 THEN\ - \ patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n \ - \ CASE \n WHEN diagnosed_with_dm_and_treated = 1 THEN patient_uuid \n ELSE\ - \ NULL \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_diagnosed_with_hbp_and_treated - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u17A2\u17D2\u1793\u1780\u1787\ - \u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ - \u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\ - \u17BE\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\ - \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\ - \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\ - \u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ - \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Percentage of individuals diagnosed\ - \ with hypertensions treated at the public health facility in the last 12 months)" - metric_type: null - expression: "\tCONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ - \ CASE \n WHEN is_diagnosed_with_hbp = 1 THEN patient_uuid \n ELSE NULL\ - \ \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_diagnosed_with_dm_and_treated - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ - \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u178F\u17D2\u179A\ - \u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\u17B6\u179A\u1790\ - \u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\ - \u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\ - \u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\ - \u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\ - \u17E2 \u1781\u17C2 (Percentage of individuals diagnosed with diabetes treated\ - \ at the public health facility in the last 12 months)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ - \ CASE \n WHEN is_diagnosed_with_dm = 1 THEN patient_uuid \n ELSE NULL\ - \ \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_hbp_dropout_90 - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ - \u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\ - \u1788\u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\ - \u17C7\u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\u1791\ - \u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\ - \u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ - \u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\ - \u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\ - \u17C2 (Percentage of hypertensions patients dropped out from the public health\ - \ facility in the last 12 months)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN hbp_dropout_90 = 1\ - \ THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ - \ CASE \n WHEN diagnosed_with_hbp_and_treated = 1 THEN patient_uuid \n \ - \ ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_diag_hbp_treated_no_showup_after_30d_of_app - verbose_name: "\u1797\u17B6\u1782\u179A\u1799(%)\u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ - \u1798\u178A\u17C2\u179B\u178A\u17C2\u179B\u1794\u17B6\u1793\u1798\u1780\u1791\ - \u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\ - \u1794\u1793\u17D2\u178F\u1799\u17BA\u178F\u1796\u17C1\u179B\u1793\u17C5\u1780\ - \u17D2\u1793\u17BB\u1784\u17A2\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u179A\ - \u17B6\u1799\u1780\u17B6\u179A\u178E\u17CD (Percentage of hypertension patients\ - \ with late follow-up treatment during the reporting period)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ - \ = 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n \ - \ ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_patients_diagnosed_with_dm_and_hbp - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ - \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u1793\u17B7\u1784\ - \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u1780\ - \u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798\u1794\u17D2\u179A\u1787\ - \u17B6\u1787\u1793\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\u17B6\u1799\u17BB\ - \u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\u17C6\u17A1\u17BE\ - \u1784\u1791\u17C5\u1794\u17B6\u1793\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\ - \u17D2\u1799\u179A\u1780\u1798\u17BE\u179B \u1787\u17C6\u1784\u17BA\u179B\u17BE\ - \u179F\u1788\u17B6\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u1791\u17B9\ - \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1780\u17D2\u1793\u17BB\ - \u1784\u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2 \u1781\u17C2 (Percentage\ - \ of individuals diagnosed with hypertension and diabetes among people aged 40\ - \ and above was screened for hypertension and diabetes in the last 12 months)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_dm_and_hbp\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)\n::decimal / NULLIF(COUNT(DISTINCT\ - \ patient_uuid), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_patients_diagnosed_with_dm - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ - \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1780\u17D2\u1793\ - \u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798\u1794\u17D2\u179A\u1787\u17B6\u1787\ - \u1793\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\u17B6\u1799\u17BB\u1785\u17B6\ - \u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\u17C6\u17A1\u17BE\u1784\u1791\ - \u17C5\u1794\u17B6\u1793\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\ - \u179A\u1780\u1798\u17BE\u179B \u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\ - \u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798 \u1793\u17B7\u1784\u1787\u17C6\ - \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ - \u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2\ - \ \u1781\u17C2 (Percentage of individuals diagnosed with diabetes among people\ - \ aged 40 and above was screened for hypertension and diabetes in the last 12\ - \ months)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_dm\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\ - \ patient_uuid), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage_patients_diagnosed_with_hbp - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u179B\ - \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u1780\u17D2\ - \u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798\u1794\u17D2\u179A\u1787\u17B6\ - \u1787\u1793\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\u17B6\u1799\u17BB\u1785\ - \u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\u17C6\u17A1\u17BE\u1784\ - \u1791\u17C5\u1794\u17B6\u1793\u1798\u1780\u1796\u17B7\u1793\u17B7\u178F\u17D2\ - \u1799\u179A\u1780\u1798\u17BE\u179B \u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\ - \u1788\u17B6\u1798 \u1793\u17B7\u1784\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\ - \u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1780\u17D2\u1793\u17BB\u1784\ - \u179A\u1799\u17C8\u1796\u17C1\u179B \u17E1\u17E2\u1781\u17C2 (Percentage of individuals\ - \ diagnosed with hypertension among people aged 40 and above was screened for\ - \ hypertension and diabetes in the last 12 months)" - metric_type: null - expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_hbp\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\ - \ patient_uuid), 0)) * 100, 2),'%')\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_patients_diagnosed_with_dm_and_hbp - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ - \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ - \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ - \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ - \u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\u1783\ - \u17BE\u1789\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ - \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u1793\u17B7\u1784\u200B\ - \ \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u1780\ - \u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2\u1781\ - \u17C3 ( \t Number of individuals target population aged 40 and above was diagnosed\ - \ with diabetes and hypertension in the last 12 months)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_dm_and_hbp = 1\ - \ THEN patient_uuid \n ELSE NULL \n END\n)\n" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_diag_dm_hbp_treated_no_showup_after_30d_of_app - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ - \u1793\u1780\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ - \u17B6\u1792\u1788\u17B6\u1798 \u1793\u17B7\u1784\u17A2\u17D2\u1793\u1780\u1787\ - \u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ - \u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\u1785\u17BC\u179B\ - \u1798\u1780\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\ - \u179B\u17BE\u179F\u1796\u17B8 \u17E3\u17E0\u1790\u17D2\u1784\u17C3 (Total number\ - \ of diabetes and hypertension patients who have not shown up at the health centre\ - \ over 30 days)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ - \ = 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n \ - \ ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_diag_with_dm_treated_fulfilled_followup - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ - \ \u178A\u17C2\u179B\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\ - \u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\u1793\u17C5\u1798\u178E\u17D2\ - \u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\u179A\u1799\u17C8\u1796\u17C1\ - \u179B\u1798\u17B7\u1793\u179B\u17BE\u179F\u1796\u17B8 \u17E7\u1790\u17D2\u1784\ - \u17C3 \u1793\u17C3\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\ - \u1791\u178F\u17B6\u1798\u178A\u17B6\u1793 (Number of diabetes patient receiving\ - \ treatment in health centres no later than 7 days of follow up/appointment date)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated = 1\ - \ AND fulfilled_follow_up = 1 THEN patient_uuid \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_patients_diagnosed_with_hbp - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ - \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ - \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ - \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ - \ \u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\u1783\ - \u17BE\u1789\u1790\u17B6\u1798\u17B6\u1793\u179B\u17BE\u179F\u179F\u1798\u17D2\ - \u1796\u17B6\u1792\u1788\u17B6\u1798\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ - \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2\u1798\u17BB\u1793 (Number of\ - \ individuals target population aged 40 and above was diagnosed with hypertension\ - \ in the last 12 months)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_hbp = 1 THEN patient_uuid\ - \ \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_diag_dm_treated_no_showup_after_30d_of_app - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ - \u1793\u1780\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ - \u17D2\u17A2\u17C2\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\ - \u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\ - \u1794\u17B6\u179B\u1793\u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\ - \u1797\u17B6\u1796\u179B\u17BE\u179F\u1796\u17B8 \u17E3\u17E0\u1790\u17D2\u1784\ - \u17C3 (Total number of diabetes patients who have not shown up at the health\ - \ centre over 30 days)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated = 1\ - \ AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n ELSE\ - \ NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_diag_hbp_treated_no_showup_after_30d_of_app - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ - \u1793\u1780\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ - \u17B6\u1792\u1788\u17B6\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\ - \u1793\u1785\u17BC\u179B\u1798\u1780\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\ - \u1781\u1797\u17B6\u1796\u179A\u1799\u17C8\u1796\u17C1\u179B\u179B\u17BE\u179F\ - \u1796\u17B8 \u17E3\u17E0\u1790\u17D2\u1784\u17C3 (Total number of hypertension\ - \ patients who have not shown up at the HCs over 30 days)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated =\ - \ 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n ELSE\ - \ NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_patients_diagnosed_with_dm - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ - \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ - \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ - \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ - \ \u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\u1786\u17D0\u1799\u1783\ - \u17BE\u1789\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ - \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1780\u17D2\u1793\u17BB\ - \u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Number of\ - \ individuals target population aged 40 and above was diagnosed with diabetes\ - \ in the last 12 months)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_dm = 1 THEN patient_uuid\ - \ \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_diagnosed_with_dm_and_hbp_and_treated - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ - \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ - \u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\ - \u17BE\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\ - \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5 \u1798\u17BC\u179B\u178A\u17D2\ - \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\ - \u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ - \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Number of individuals hypertensions\ - \ and diabetes patients receiving treatment at the public health facility in the\ - \ last 12 months)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ - \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_diagnosed_with_dm_and_treated - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ - \u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\ - \u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\ - \u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\ - \u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B \u179F\u17B6\u1792\ - \u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\ - \u17C1\u179B\u17E1\u17E2 \u1781\u17C2\u1798\u17BB\u1793 (Number of individuals\ - \ diabetes patient receiving treatment at the public health facility in the last\ - \ 12 months)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated = 1\ - \ THEN patient_uuid \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_diag_with_hbp_treated_fulfilled_followup - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ - \u1798 \u178A\u17C2\u179B\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793\u1780\u17B6\ - \u179A\u178F\u17B6\u1798\u178A\u17B6\u1793 \u1793\u17B7\u1784\u1780\u17B6\u179A\ - \u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\u1793\u17C5\ - \u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\u1791\u17B6\ - \u1793\u17CB\u1796\u17C1\u179B/\u178F\u17B6\u1798\u1780\u17B6\u179A\u178E\u17B6\ - \u178F\u17CB (Number of individuals with hypertension receiving follow-up treatment\ - \ in health centres on time/appointment date)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated =\ - \ 1 AND fulfilled_follow_up = 1 THEN patient_uuid \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_dm_with_hbp_dropout_90 - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ - \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\u179B\ - \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178A\u17C2\ - \u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\u1798\u1780\u1792\u17D2\u179C\u17BE\ - \u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\ - \u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\ - \u17BB\u1781\u1797\u17B6\u1796\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\ - \u1796\u17C1\u179B\u17E1\u17E2\u1781\u17C2 \u1799\u17C9\u17B6\u1784\u178F\u17B7\ - \u1785\u17E1\u17E2\u1781\u17C2\u1785\u17B6\u1794\u17CB\u1796\u17B8\u1780\u17B6\ - \u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\ - \u1794\u17B6\u179B\u1785\u17BB\u1784\u1780\u17D2\u179A\u17C4\u1799\u1782\u17C1\ - \ (Total number of hypertension and diabetes patients who have not shown up at\ - \ the HCs over 90 days)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN dm_and_hbp_dropout_90 = 1 THEN patient_uuid\ - \ \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_hbp_dropout_90 - verbose_name: " \u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ - \u1793\u1780\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ - \u17B6\u1792\u1788\u17B6\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\ - \u1793\u1785\u17BC\u179B\u1798\u1780\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\ - \u1781\u1797\u17B6\u1796\u179A\u1799\u17C8\u1796\u17C1\u179B\u179B\u17BE\u179F\ - \u1796\u17B8 \u17E9\u17E0\u1790\u17D2\u1784\u17C3 (Total number of hypertension\ - \ patients who have not shown up at the HCs over 90 days)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN hbp_dropout_90 = 1 THEN patient_uuid\ - \ \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_diagnosed_with_hbp_and_treated - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ - \u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ - \u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\ - \u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\ - \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\ - \u1792\u17B6\u179A\u178E\u17C8\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\ - \u1797\u17B6\u1796\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\ - \u179B\u17E1\u17E2 \u1781\u17C2 (Number of individuals hypertensions patients\ - \ receiving treatment at the public health facility in the last 12 months) " - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated =\ - \ 1 THEN patient_uuid \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_dm_dropout_90 - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ - \u1793\u1780\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ - \u17D2\u17A2\u17C2\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\ - \u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\ - \u1794\u17B6\u179B\u1793\u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\ - \u1797\u17B6\u1796\u179B\u17BE\u179F\u1796\u17B8\u17E9\u17E0\u1790\u17D2\u1784\ - \u17C3 (Total number of diabetes patients who have not shown up at the HCs over\ - \ 90 days)" - metric_type: null - expression: "COUNT(DISTINCT\n CASE \n WHEN dm_dropout_90 = 1 THEN patient_uuid\ - \ \n ELSE NULL \n END\n)" - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: dist_count_patient_screened - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ - \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ - \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ - \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\ - \u1793\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179A\u1780\u1798\u17BE\u179B\ - \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ - \u17C2\u1798 \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\ - \u1792\u1788\u17B6\u1798\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\ - \u17C1\u179B \u17E1\u17E2 \u1781\u17C2 (Number of people aged 40 and above was\ - \ screened for hypertension and diabetes in the last 12 months)" - metric_type: null - expression: COUNT(DISTINCT patient_uuid) - description: null - d3format: null - currency: null - extra: - warning_markdown: '' - warning_text: null -columns: -- column_name: dm_and_hbp_dropout_30 - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: hbp_dropout_30 - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: dm_dropout_30 - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: dm_and_hbp_dropout_90 - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: hbp_dropout_90 - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: dm_dropout_90 - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: date_started - verbose_name: null - is_dttm: true - is_active: true - type: DATETIME - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: cvd_score - verbose_name: null - is_dttm: false - is_active: true - type: FLOAT - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: age - verbose_name: null - is_dttm: false - is_active: true - type: FLOAT - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: diagnosed_with_dm_and_hbp_and_treated - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: is_diagnosed_with_dm_and_hbp - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: diagnosed_with_hbp_and_treated - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: diagnosed_with_dm_and_treated - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: is_diagnosed_with_hbp - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: is_diagnosed_with_dm - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: fulfilled_follow_up - verbose_name: null - is_dttm: false - is_active: true - type: INTEGER - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: health_facility_name - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: health_facility_code - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: health_facility_district - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: health_facility_province - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: started_on_medicine - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: diagnosis_one - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: patient_uuid - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: diagnosis_two - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: encounter_type - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: visit_type - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: gender - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -- column_name: type - verbose_name: null - is_dttm: false - is_active: true - type: STRING - advanced_data_type: null - groupby: true - filterable: true - expression: null - description: null - python_date_format: null - extra: {} -version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 diff --git a/base/configs/superset/assets/datasets/Analytics/patients_screened_for_CVD_risk_diabetes_and_hypertension_dataset.yaml b/base/configs/superset/assets/datasets/Analytics/patients_screened_for_CVD_risk_diabetes_and_hypertension_dataset.yaml index 84b36216..8eafd9fd 100644 --- a/base/configs/superset/assets/datasets/Analytics/patients_screened_for_CVD_risk_diabetes_and_hypertension_dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/patients_screened_for_CVD_risk_diabetes_and_hypertension_dataset.yaml @@ -5,29 +5,29 @@ default_endpoint: null offset: 0 cache_timeout: null schema: public -sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS health_facility_code,\n\ - \ MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district) AS health_facility_district,\n\ - \ MAX(t3.state_province) AS health_facility_province,\n MAX(t2.patient_uuid) AS\ - \ patient_uuid,\n MAX(\n DATE_PART ('year', age (t1.date_started, t2.birthdate))\n\ - \ ) AS age,\n MAX(t2.gender) AS gender,\n MAX(t1.type) AS type,\n MAX(t4.encounter_type)\ - \ AS encounter_type,\n MAX(obs1.cvd_score) AS cvd_score,\n MAX(t1.type) AS visit_type,\n\ - \ MAX(obs2.diagnosis_one) AS diagnosis_one,\n MAX(obs3.diagnosis_two) AS diagnosis_two,\n\ - \ MAX(obs4.started_on_medicine) AS started_on_medicine,\n -- Diagnosis\n MAX(\n\ - \ CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n \ - \ '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ - \ AND (\n obs2.diagnosis_one_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ - \ OR obs3.diagnosis_two_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ - \ )\n ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_dm,\n\ - \ MAX(\n CASE\n WHEN (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ - \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ - \ ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_hbp,\n MAX(\n \ - \ CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n \ - \ '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ - \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ - \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ - \ AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ +sql: "SELECT\n MAX(current_v.date_started) AS date_started,\n MAX(t3.postal_code)\ + \ AS health_facility_code,\n MAX(t3.name) AS health_facility_name,\n MAX(t3.county_district)\ + \ AS health_facility_district,\n MAX(t3.state_province) AS health_facility_province,\n\ + \ MAX(t2.patient_uuid) AS patient_uuid,\n MAX(\n DATE_PART ('year', age (current_v.date_started,\ + \ t2.birthdate))\n ) AS age,\n MAX(t2.gender) AS gender,\n MAX(current_v.type)\ + \ AS type,\n MAX(t4.encounter_type) AS encounter_type,\n MAX(obs1.cvd_score) AS\ + \ cvd_score,\n MAX(current_v.type) AS visit_type,\n MAX(obs2.diagnosis_one) AS\ + \ diagnosis_one,\n MAX(obs3.diagnosis_two) AS diagnosis_two,\n MAX(obs4.started_on_medicine)\ + \ AS started_on_medicine,\n -- Diagnosis\n MAX(\n CASE\n WHEN (\n \ + \ (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid NOT IN\ + \ ('3cd50188-26fe-102b-80cb-0017a47871b2')\n OR obs3.diagnosis_two_uuid\ + \ NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n )\n ) THEN 1\n \ + \ ELSE 0\n END\n ) AS is_diagnosed_with_dm,\n MAX(\n CASE\n WHEN\ + \ (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_hbp,\n MAX(\n CASE\n\ + \ WHEN (\n (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ \ )\n ) THEN 1\n ELSE 0\n END\n ) AS is_diagnosed_with_dm_and_hbp,\n\ \ -- Diagnosis and Treatment\n MAX(\n CASE\n WHEN (\n (\n \ @@ -50,69 +50,352 @@ sql: "SELECT\n MAX(t1.date_started) AS date_started,\n MAX(t3.postal_code) AS \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ \ ) THEN 1\n ELSE 0\n END\n ) AS diagnosed_with_dm_and_hbp_and_treated,\n\ - \ -- Dropout\n MAX(\n CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid\ + \ -- Dropout within 30 days\n MAX(\n CASE\n WHEN (\n (\n \ + \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid NOT IN\ + \ ('3cd50188-26fe-102b-80cb-0017a47871b2')\n OR obs3.diagnosis_two_uuid\ + \ NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND CURRENT_DATE-current_v.date_started>INTERVAL '30 days'\n ) THEN\ + \ 1\n ELSE 0\n END\n ) AS dm_dropout_30,\n MAX(\n CASE\n WHEN\ + \ (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND CURRENT_DATE-current_v.date_started>INTERVAL '30 days' THEN 1\n \ + \ ELSE 0\n END\n ) AS hbp_dropout_30,\n MAX(\n CASE\n WHEN (\n \ + \ (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ + \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ + \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND CURRENT_DATE-current_v.date_started>INTERVAL '30 days'\n ) THEN\ + \ 1\n ELSE 0\n END\n ) AS dm_and_hbp_dropout_30,\n -- Dropout within 90\ + \ days\n MAX(\n CASE\n WHEN (\n (\n obs2.diagnosis_one_uuid\ \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ \ )\n OR obs3.diagnosis_two_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n )\n \ \ AND (\n obs2.diagnosis_one_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ \ OR obs3.diagnosis_two_uuid NOT IN ('3cd50188-26fe-102b-80cb-0017a47871b2')\n\ \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND CURRENT_DATE-t1.date_started>INTERVAL '90 days'\n ) THEN 1\n \ - \ ELSE 0\n END\n ) AS dm_dropout,\n MAX(\n CASE\n WHEN (\n \ - \ obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n OR\ - \ obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n )\n \ - \ AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n \ - \ AND CURRENT_DATE-t1.date_started>INTERVAL '90 days' THEN 1\n ELSE 0\n\ - \ END\n ) AS hbp_dropout,\n MAX(\n CASE\n WHEN (\n (\n \ - \ obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ + \ AND CURRENT_DATE-current_v.date_started>INTERVAL '90 days'\n ) THEN\ + \ 1\n ELSE 0\n END\n ) AS dm_dropout_90,\n MAX(\n CASE\n WHEN\ + \ (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ + \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ + \ AND CURRENT_DATE-current_v.date_started>INTERVAL '90 days' THEN 1\n \ + \ ELSE 0\n END\n ) AS hbp_dropout_90,\n MAX(\n CASE\n WHEN (\n \ + \ (\n obs2.diagnosis_one_uuid IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n\ \ '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n )\n OR obs3.diagnosis_two_uuid\ \ IN (\n '105903f4-7b6d-496a-b613-37ab9d0f5450',\n '8b26ecd3-8726-4c8e-b042-cbe71e44a863'\n\ \ )\n )\n AND (\n obs2.diagnosis_one_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n\ \ OR obs3.diagnosis_two_uuid='3cd50188-26fe-102b-80cb-0017a47871b2'\n \ \ )\n AND obs4.started_on_medicine_uuid='1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'\n\ - \ AND CURRENT_DATE-t1.date_started>INTERVAL '90 days'\n ) THEN 1\n \ - \ ELSE 0\n END\n ) AS dm_and_hbp_dropout\nFROM\n visits t1\n LEFT JOIN\ - \ patients t2 ON (t1.patient_uuid=t2.patient_uuid)\n LEFT JOIN locations t3 ON\ - \ (t1.location_uuid=t3.uuid)\n LEFT JOIN encounters t4 ON (\n t1.visit_uuid=t4.visit_uuid\n\ - \ AND t4.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ - \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_numeric AS cvd_score\n\ - \ FROM\n observations o\n WHERE\n o.question_uuid='dff491e3-b14c-4b32-ab64-63b96966d72d'\n\ - \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_numeric\n ) obs1 ON (\n obs1.visit_uuid=t1.visit_uuid\n AND\ - \ obs1.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ AND CURRENT_DATE-current_v.date_started>INTERVAL '90 days'\n ) THEN\ + \ 1\n ELSE 0\n END\n ) AS dm_and_hbp_dropout_90,\n MAX(\n CASE\n \ + \ WHEN obs5.visit_uuid IS NOT NULL AND follow_up_v.visit_uuid IS NOT NULL THEN\ + \ 1\n ELSE 0\n END\n ) AS fulfilled_follow_up,\n MAX(\n CASE\n \ + \ WHEN obs5.visit_uuid IS NOT NULL AND follow_up_v_30.visit_uuid IS NULL AND (\ + \ CURRENT_DATE - obs5.follow_up_date > INTERVAL '30 days') THEN 1\n ELSE 0\n\ + \ END\n ) AS did_not_showup_30_days_after_appointment\nFROM\n visits current_v\n\ + \ LEFT JOIN patients t2 ON (current_v.patient_uuid=t2.patient_uuid)\n LEFT JOIN\ + \ locations t3 ON (current_v.location_uuid=t3.uuid)\n LEFT JOIN encounters t4 ON\ + \ (\n current_v.visit_uuid=t4.visit_uuid\n AND t4.visit_uuid IS NOT NULL\n\ + \ )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n o.encounter_uuid,\n\ + \ o.visit_uuid,\n o.answer_numeric AS cvd_score\n FROM\n observations\ + \ o\n WHERE\n o.question_uuid='dff491e3-b14c-4b32-ab64-63b96966d72d'\n \ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_numeric\n ) obs1 ON (\n obs1.visit_uuid=current_v.visit_uuid\n\ + \ AND obs1.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_one,\n\ \ o.answer_coded_uuid AS diagnosis_one_uuid\n FROM\n observations o\n\ \ WHERE\n o.question_uuid='45583478-f703-46e3-b63a-54b0a95c25f0'\n \ \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_coded,\n o.answer_coded_uuid\n ) obs2 ON (\n obs2.visit_uuid=t1.visit_uuid\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs2 ON (\n obs2.visit_uuid=current_v.visit_uuid\n\ \ AND obs2.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS diagnosis_two,\n\ \ o.answer_coded_uuid AS diagnosis_two_uuid\n FROM\n observations o\n\ \ WHERE\n o.question_uuid='76ca08a5-2128-4b53-afba-74227b015924'\n \ \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_coded,\n o.answer_coded_uuid\n ) obs3 ON (\n obs3.visit_uuid=t1.visit_uuid\n\ + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs3 ON (\n obs3.visit_uuid=current_v.visit_uuid\n\ \ AND obs3.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_coded AS started_on_medicine,\n\ \ o.answer_coded_uuid AS started_on_medicine_uuid\n FROM\n observations\ \ o\n WHERE\n o.question_uuid='805c3a0b-cd38-4ed6-b4f8-f3af0fc118ad'\n \ \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ - \ o.answer_coded,\n o.answer_coded_uuid\n ) obs4 ON (\n obs4.visit_uuid=t1.visit_uuid\n\ - \ AND obs4.visit_uuid IS NOT NULL\n )\nWHERE\n -- NCD New Visit & Follow-up\ - \ Visit\n t1.visit_type_uuid IN (\n '5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab',\n\ - \ '54da8fbc-b92f-4251-b53a-feedc8e8c594'\n )\n -- NCD Screening and NCD consultation\n\ - \ AND t4.encounter_type_uuid IN (\n '422b7e0c-b8f3-4748-8e60-d6684315f141',\n\ - \ 'b870b6bb-9441-4664-9087-3d3477174213'\n )\n AND t1.visit_voided IS FALSE\n\ - \ AND t2.person_voided IS FALSE\n AND t2.patient_uuid IS NOT NULL\n -- Aged 40\ - \ and above\n AND DATE_PART ('year', age (t1.date_started, t2.birthdate)) >= 40\n\ - GROUP BY\n t2.patient_uuid" + \ o.answer_coded,\n o.answer_coded_uuid\n ) obs4 ON (\n obs4.visit_uuid=current_v.visit_uuid\n\ + \ AND obs4.visit_uuid IS NOT NULL\n )\n LEFT JOIN (\n SELECT\n MAX(o.date_created),\n\ + \ o.encounter_uuid,\n o.visit_uuid,\n o.answer_datetime AS follow_up_date\n\ + \ FROM\n observations o\n WHERE\n o.question_uuid='e9c145c1-f4e9-4c34-b237-da069939dc38'\n\ + \ AND o.obs_voided IS FALSE\n GROUP BY\n o.encounter_uuid,\n o.visit_uuid,\n\ + \ o.answer_datetime\n ) obs5 ON (\n obs5.visit_uuid=current_v.visit_uuid\n\ + \ AND obs5.visit_uuid IS NOT NULL\n )\n LEFT JOIN visits follow_up_v ON (current_v.patient_uuid\ + \ = follow_up_v.patient_uuid AND follow_up_v.date_started > current_v.date_started\ + \ AND follow_up_v.date_started < NOW() AND ( follow_up_v.date_started - obs5.follow_up_date\ + \ <= INTERVAL '7 days'))\n LEFT JOIN visits follow_up_v_30 ON (current_v.patient_uuid\ + \ = follow_up_v_30.patient_uuid AND follow_up_v_30.date_started > current_v.date_started\ + \ AND follow_up_v_30.date_started < NOW() AND ( follow_up_v_30.date_started - obs5.follow_up_date\ + \ <= INTERVAL '30 days'))\nWHERE\n -- NCD New Visit & Follow-up Visit\n current_v.visit_type_uuid\ + \ IN (\n '5f4975a7-1af8-4a0b-9bbb-c4cfc22f2aab',\n '54da8fbc-b92f-4251-b53a-feedc8e8c594'\n\ + \ )\n -- NCD Screening and NCD consultation\n AND t4.encounter_type_uuid IN (\n\ + \ '422b7e0c-b8f3-4748-8e60-d6684315f141',\n 'b870b6bb-9441-4664-9087-3d3477174213'\n\ + \ )\n AND current_v.visit_voided IS FALSE\n AND t2.person_voided IS FALSE\n \ + \ AND t2.patient_uuid IS NOT NULL\n -- Aged 40 and above\n AND DATE_PART ('year',\ + \ age (current_v.date_started, t2.birthdate)) >= 40\nGROUP BY\n t2.patient_uuid,\ + \ current_v.visit_uuid" params: null template_params: null filter_select_enabled: false fetch_values_predicate: null extra: null +normalize_columns: false +always_filter_main_dttm: false uuid: aee334cc-f803-4296-8aad-948f4560bc0a metrics: -- metric_name: percentage patients diagnosed with dm and hbp +- metric_name: percentage_diag_dm_hbp_treated_no_showup_after_30d_of_app + verbose_name: "\u1797\u17B6\u1782\u179A\u1799(%) \u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ + \u1798 \u1793\u17B7\u1784\u17A2\u17D2\u1793\u1780\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798 \u178A\u17C2\u179B\ + \u1794\u17B6\u1793\u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\ + \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\u1799\u17BA\u178F\ + \u1796\u17C1\u179B\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784\u17A2\u17C6\u17A1\ + \u17BB\u1784\u1796\u17C1\u179B\u179A\u17B6\u1799\u1780\u17B6\u179A\u178E\u17CD\ + \ (Percentage of diabetes and hypertension patient with late follow-up treatment\ + \ during the reporting period)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ + \ = 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n \ + \ ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_diag_with_dm_treated_fulfilled_followup + verbose_name: "\u1797\u17B6\u1782\u179A\u1799 (%) \u17A2\u17D2\u1793\u1780\u1787\ + \u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798\u178A\u17C2\u179B\u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\ + \u178F\u17B6\u1798\u178A\u17B6\u1793\u200B \u179F\u17BB\u1781\u1797\u17B6\u1796\ + \u1793\u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\ + \u1794\u1793\u17D2\u178F\u178F\u17B6\u1798\u1780\u17B6\u179A\u178E\u17B6\u178F\ + \u17CB\u1787\u17B6\u1791\u17C0\u1784\u1791\u17B6\u178F\u17CB (Percentage of diabetes\ + \ patient with regular follow-up at health centre)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ + \ = 1 AND fulfilled_follow_up = 1 THEN patient_uuid \n ELSE NULL \n END\n\ + )::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_dm_with_hbp_dropout_90 + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ + \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\ + \u17C4\u17C7\u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\ + \u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\ + \u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ + \u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\ + \u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2\ + \ \u1781\u17C2 (Percentage of hypertensions and diabes patients dropped out from\ + \ the public health facility in the last 12 months)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN dm_and_hbp_dropout_90\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ + \ CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated = 1 THEN patient_uuid\ + \ \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_diagnosed_with_dm_and_hbp_and_treated + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\ + \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178F\ + \u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\u17B6\ + \u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\ + \u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\ + \u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\ + \u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\ + \u179B\u17E1\u17E2 \u1781\u17C2 (Percentage of individuals diagnosed with hypertension\ + \ and diabetes treated at the public health facility in the last 12 months)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ + \ CASE \n WHEN is_diagnosed_with_dm_and_hbp = 1 THEN patient_uuid \n ELSE\ + \ NULL \n END\n)\n, 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_diag_dm_treated_no_showup_after_30d_of_app + verbose_name: "\u1797\u17B6\u1782\u179A\u1799(%)\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ + \u178A\u17C2\u179B\u1794\u17B6\u1793\u1798\u1780\u1791\u1791\u17BD\u179B\u1780\ + \u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\ + \u1799\u17BA\u178F\u1796\u17C1\u179B\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784\ + \u17A2\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B \u179A\u17B6\u1799\u1780\u17B6\ + \u179A\u178E\u17CD (Percentage of diabetes patients with late follow-up treatment\ + \ during the reporting period)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ + \ = 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n \ + \ ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_diag_with_hbp_treated_fulfilled_followup + verbose_name: "\u1797\u17B6\u1782\u179A\u1799 (%) \u17A2\u17D2\u1793\u1780\u1787\ + \u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ + \u17B6\u1798 \u178A\u17C2\u179B\u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\ + \u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\u1793\ + \u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\u178F\ + \u17B6\u1798\u1780\u17B6\u179A\u178E\u17B6\u178F\u17CB\u1787\u17B6\u1791\u17C0\ + \u1784\u1791\u17B6\u178F\u17CB (Percentage of hypertension patient with regular\ + \ follow-up treatment at health centre)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ + \ = 1 AND fulfilled_follow_up = 1 THEN patient_uuid \n ELSE NULL \n END\n\ + )::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_dm_dropout_90 + verbose_name: " \u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ + \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\u17C7\ + \u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\ + \u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\ + \u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\ + \u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\ + \u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2\ + \ (Percentage of diabetes patients dropped out from the public health facility\ + \ in the last 12 months)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN dm_dropout_90 = 1 THEN\ + \ patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n \ + \ CASE \n WHEN diagnosed_with_dm_and_treated = 1 THEN patient_uuid \n ELSE\ + \ NULL \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_diagnosed_with_hbp_and_treated + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u17A2\u17D2\u1793\u1780\u1787\ + \u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ + \u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\ + \u17BE\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\ + \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\ + \u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ + \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Percentage of individuals diagnosed\ + \ with hypertensions treated at the public health facility in the last 12 months)" + metric_type: null + expression: "\tCONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ + \ CASE \n WHEN is_diagnosed_with_hbp = 1 THEN patient_uuid \n ELSE NULL\ + \ \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_diagnosed_with_dm_and_treated + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ + \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ + \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ + \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ + \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u178F\u17D2\u179A\ + \u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\u17B6\u179A\u1790\ + \u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\ + \u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\ + \u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\ + \u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\ + \u17E2 \u1781\u17C2 (Percentage of individuals diagnosed with diabetes treated\ + \ at the public health facility in the last 12 months)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ + \ CASE \n WHEN is_diagnosed_with_dm = 1 THEN patient_uuid \n ELSE NULL\ + \ \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_hbp_dropout_90 + verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ + \u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\ + \u1788\u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\ + \u17C7\u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\u1791\ + \u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\ + \u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ + \u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\ + \u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\ + \u17C2 (Percentage of hypertensions patients dropped out from the public health\ + \ facility in the last 12 months)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN hbp_dropout_90 = 1\ + \ THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n\ + \ CASE \n WHEN diagnosed_with_hbp_and_treated = 1 THEN patient_uuid \n \ + \ ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_diag_hbp_treated_no_showup_after_30d_of_app + verbose_name: "\u1797\u17B6\u1782\u179A\u1799(%)\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ + \u1798\u178A\u17C2\u179B\u178A\u17C2\u179B\u1794\u17B6\u1793\u1798\u1780\u1791\ + \u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\ + \u1794\u1793\u17D2\u178F\u1799\u17BA\u178F\u1796\u17C1\u179B\u1793\u17C5\u1780\ + \u17D2\u1793\u17BB\u1784\u17A2\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u179A\ + \u17B6\u1799\u1780\u17B6\u179A\u178E\u17CD (Percentage of hypertension patients\ + \ with late follow-up treatment during the reporting period)" + metric_type: null + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ + \ = 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n \ + \ ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n), 0)) * 100, 2),'%')\n" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: percentage_patients_diagnosed_with_dm_and_hbp verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ @@ -130,14 +413,16 @@ metrics: \ of individuals diagnosed with hypertension and diabetes among people aged 40\ \ and above was screened for hypertension and diabetes in the last 12 months)" metric_type: null - expression: CONCAT(ROUND((SUM(is_diagnosed_with_dm_and_hbp)::decimal / NULLIF(COUNT(patient_uuid), - 0)) * 100, 2),'%') + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_dm_and_hbp\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)\n::decimal / NULLIF(COUNT(DISTINCT\ + \ patient_uuid), 0)) * 100, 2),'%')\n" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: percentage patients diagnosed with dm +- metric_name: percentage_patients_diagnosed_with_dm verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ @@ -155,14 +440,16 @@ metrics: \ aged 40 and above was screened for hypertension and diabetes in the last 12\ \ months)" metric_type: null - expression: CONCAT(ROUND((SUM(is_diagnosed_with_dm)::decimal / NULLIF(COUNT(patient_uuid), - 0)) * 100, 2),'%') + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_dm\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\ + \ patient_uuid), 0)) * 100, 2),'%')\n" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: percentage patients diagnosed with hbp +- metric_name: percentage_patients_diagnosed_with_hbp verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ @@ -179,14 +466,16 @@ metrics: \ diagnosed with hypertension among people aged 40 and above was screened for\ \ hypertension and diabetes in the last 12 months)" metric_type: null - expression: CONCAT(ROUND((SUM(is_diagnosed_with_hbp)::decimal / NULLIF(COUNT(patient_uuid), - 0)) * 100, 2),'%') + expression: "CONCAT(ROUND((COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_hbp\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)::decimal / NULLIF(COUNT(DISTINCT\ + \ patient_uuid), 0)) * 100, 2),'%')\n" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: sum patients diagnosed with dm and hbp +- metric_name: dist_count_patients_diagnosed_with_dm_and_hbp verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ @@ -199,97 +488,54 @@ metrics: \u17C3 ( \t Number of individuals target population aged 40 and above was diagnosed\ \ with diabetes and hypertension in the last 12 months)" metric_type: null - expression: SUM(is_diagnosed_with_dm_and_hbp) + expression: "COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_dm_and_hbp = 1\ + \ THEN patient_uuid \n ELSE NULL \n END\n)\n" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: percentage diagnosed with dm and hbp and treated - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ - \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\ - \u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178F\ - \u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\u17B6\ - \u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\ - \u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\ - \u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\ - \u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\ - \u179B\u17E1\u17E2 \u1781\u17C2 (Percentage of individuals diagnosed with hypertension\ - \ and diabetes treated at the public health facility in the last 12 months)" - metric_type: null - expression: CONCAT(ROUND((SUM(diagnosed_with_dm_and_hbp_and_treated)::decimal / - NULLIF(SUM(is_diagnosed_with_dm_and_hbp), 0)) * 100, 2),'%') - description: null - d3format: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage dm with hbp dropout - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ - \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ - \u17C2\u1798 \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\ - \u1792\u1788\u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\ - \u17C4\u17C7\u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\ - \u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\ - \u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\ - \u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\ - \u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2\ - \ \u1781\u17C2 (Percentage of hypertensions and diabetes patients dropped out\ - \ from the public health facility in the last 12 months)" - metric_type: null - expression: CONCAT(ROUND((SUM(dm_and_hbp_dropout)::decimal / NULLIF(SUM(diagnosed_with_dm_and_hbp_and_treated), - 0)) * 100, 2),'%') - description: null - d3format: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: percentage diagnosed with hbp and treated - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u17A2\u17D2\u1793\u1780\u1787\ - \u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ - \u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\ - \u17BE\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\ - \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\ - \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\ - \u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ - \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Percentage of individuals diagnosed\ - \ with hypertensions treated at the public health facility in the last 12 months)" +- metric_name: dist_count_diag_dm_hbp_treated_no_showup_after_30d_of_app + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ + \u1793\u1780\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 \u1793\u17B7\u1784\u17A2\u17D2\u1793\u1780\u1787\ + \u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\ + \u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\u1785\u17BC\u179B\ + \u1798\u1780\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\ + \u179B\u17BE\u179F\u1796\u17B8 \u17E3\u17E0\u1790\u17D2\u1784\u17C3 (Total number\ + \ of diabetes and hypertension patients who have not shown up at the health centre\ + \ over 30 days)" metric_type: null - expression: "\tCONCAT(ROUND((SUM(diagnosed_with_hbp_and_treated)::decimal / NULLIF(SUM(is_diagnosed_with_hbp),\ - \ 0)) * 100, 2),'%')" + expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ + \ = 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n \ + \ ELSE NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: percentage diagnosed with dm and treated - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u1794\u17BB\u1782\u17D2\ - \u1782\u179B\u178A\u17C2\u179B\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\ - \u1792\u17D2\u179C\u17BE\u179A\u17C4\u1782\u179C\u17B7\u1793\u17B7\u1785\u17D2\ - \u1786\u17D0\u1799\u1790\u17B6\u1798\u17B6\u1793\u1787\u17C6\u1784\u17BA\u1791\ - \u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u178F\u17D2\u179A\ - \u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\u17B6\u179A\u1790\ - \u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\ - \u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\ - \u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\ - \u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\ - \u17E2 \u1781\u17C2 (Percentage of individuals diagnosed with diabetes treated\ - \ at the public health facility in the last 12 months)" +- metric_name: dist_count_diag_with_dm_treated_fulfilled_followup + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ + \ \u178A\u17C2\u179B\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\ + \u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\u1793\u17C5\u1798\u178E\u17D2\ + \u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\u179A\u1799\u17C8\u1796\u17C1\ + \u179B\u1798\u17B7\u1793\u179B\u17BE\u179F\u1796\u17B8 \u17E7\u1790\u17D2\u1784\ + \u17C3 \u1793\u17C3\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\ + \u1791\u178F\u17B6\u1798\u178A\u17B6\u1793 (Number of diabetes patient receiving\ + \ treatment in health centres no later than 7 days of follow up/appointment date)" metric_type: null - expression: CONCAT(ROUND((SUM(diagnosed_with_dm_and_treated)::decimal / NULLIF(SUM(is_diagnosed_with_dm), - 0)) * 100, 2),'%') + expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated = 1\ + \ AND fulfilled_follow_up = 1 THEN patient_uuid \n ELSE NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: sum patients diagnosed with hbp +- metric_name: dist_count_patients_diagnosed_with_hbp verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ @@ -301,51 +547,52 @@ metrics: \ individuals target population aged 40 and above was diagnosed with hypertension\ \ in the last 12 months)" metric_type: null - expression: SUM(is_diagnosed_with_hbp) + expression: "COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_hbp = 1 THEN patient_uuid\ + \ \n ELSE NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: sum diagnosed with dm and hbp and treated - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ - \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ - \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ - \u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\ - \u17BE\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\ - \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5 \u1798\u17BC\u179B\u178A\u17D2\ - \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\ - \u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ - \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Number of individuals hypertensions\ - \ and diabetes patients receiving treatment at the public health facility in the\ - \ last 12 months)" +- metric_name: dist_count_diag_dm_treated_no_showup_after_30d_of_app + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ + \u1793\u1780\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ + \u17D2\u17A2\u17C2\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\ + \u1798\u1780\u1791\u1791\u17BD\u179B\u1780\u17B6\u179A\u1796\u17D2\u1799\u17B6\ + \u1794\u17B6\u179B\u1793\u17C5\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\ + \u1797\u17B6\u1796\u179B\u17BE\u179F\u1796\u17B8 \u17E3\u17E0\u1790\u17D2\u1784\ + \u17C3 (Total number of diabetes patients who have not shown up at the health\ + \ centre over 30 days)" metric_type: null - expression: SUM(diagnosed_with_dm_and_hbp_and_treated) + expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated = 1\ + \ AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n ELSE\ + \ NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: percentage dm dropout - verbose_name: " \u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ - \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ - \u17C2\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\u17C7\ - \u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\ - \u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\ - \u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\ - \u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\ - \u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2\ - \ (Percentage of diabetes patients dropped out from the public health facility\ - \ in the last 12 months)" +- metric_name: dist_count_diag_hbp_treated_no_showup_after_30d_of_app + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ + \u1793\u1780\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ + \u17B6\u1792\u1788\u17B6\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\ + \u1793\u1785\u17BC\u179B\u1798\u1780\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\ + \u1781\u1797\u17B6\u1796\u179A\u1799\u17C8\u1796\u17C1\u179B\u179B\u17BE\u179F\ + \u1796\u17B8 \u17E3\u17E0\u1790\u17D2\u1784\u17C3 (Total number of hypertension\ + \ patients who have not shown up at the HCs over 30 days)" metric_type: null - expression: CONCAT(ROUND((SUM(dm_dropout)::decimal / NULLIF(SUM(diagnosed_with_dm_and_treated), - 0)) * 100, 2),'%') + expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated =\ + \ 1 AND did_not_showup_30_days_after_appointment = 1 THEN patient_uuid \n ELSE\ + \ NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: sum patients diagnosed with dm +- metric_name: dist_count_patients_diagnosed_with_dm verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ @@ -357,13 +604,36 @@ metrics: \ individuals target population aged 40 and above was diagnosed with diabetes\ \ in the last 12 months)" metric_type: null - expression: SUM(is_diagnosed_with_dm) + expression: "COUNT(DISTINCT\n CASE \n WHEN is_diagnosed_with_dm = 1 THEN patient_uuid\ + \ \n ELSE NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: sum diagnosed with dm and treated +- metric_name: dist_count_diagnosed_with_dm_and_hbp_and_treated + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ + \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\ + \u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\ + \u17BE\u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\ + \u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5 \u1798\u17BC\u179B\u178A\u17D2\ + \u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\ + \u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\ + \u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\u17C2 (Number of individuals hypertensions\ + \ and diabetes patients receiving treatment at the public health facility in the\ + \ last 12 months)" + metric_type: null + expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_hbp_and_treated\ + \ = 1 THEN patient_uuid \n ELSE NULL \n END\n)" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: dist_count_diagnosed_with_dm_and_treated verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ \u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\ \u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\u1780\ @@ -375,68 +645,34 @@ metrics: \ diabetes patient receiving treatment at the public health facility in the last\ \ 12 months)" metric_type: null - expression: SUM(diagnosed_with_dm_and_treated) + expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_dm_and_treated = 1\ + \ THEN patient_uuid \n ELSE NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: percentage hbp dropout - verbose_name: "\u1797\u17B6\u1782\u179A\u1799\u1793\u17C3\u17A2\u17D2\u1793\u1780\ - \u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\ - \u1788\u17B6\u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\ - \u17C7\u1794\u1784\u17CB\u1785\u17C4\u179B\u1780\u17B6\u179A\u1790\u17C2\u1791\ - \u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1793\ - \u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\u17B6\u1793\u179F\u17BB\u1781\u17B6\ - \u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\u1792\u17B6\u179A\u178E\u17C8\u1780\ - \u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\u179B\u17E1\u17E2 \u1781\ - \u17C2 (Percentage of hypertensions patients dropped out from the public health\ - \ facility in the last 12 months)" - metric_type: null - expression: CONCAT(ROUND((SUM(hbp_dropout)::decimal / NULLIF(SUM(diagnosed_with_hbp_and_treated), - 0)) * 100, 2),'%') - description: null - d3format: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: count patient screened - verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ - \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ - \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ - \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\ - \u1793\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179A\u1780\u1798\u17BE\u179B\ - \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ - \u17C2\u1798 \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\ - \u1792\u1788\u17B6\u1798\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\ - \u17C1\u179B \u17E1\u17E2 \u1781\u17C2 (Number of people aged 40 and above was\ - \ screened for hypertension and diabetes in the last 12 months)" - metric_type: null - expression: count(*) - description: null - d3format: null - extra: - warning_markdown: '' - warning_text: null -- metric_name: sum diagnosed with hbp and treated +- metric_name: dist_count_diag_with_hbp_treated_fulfilled_followup verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ - \u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ - \u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\ - \u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\ - \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\ - \u1792\u17B6\u179A\u178E\u17C8\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\ - \u1797\u17B6\u1796\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\ - \u179B\u17E1\u17E2 \u1781\u17C2 (Number of individuals hypertensions patients\ - \ receiving treatment at the public health facility in the last 12 months) " + \u1798 \u178A\u17C2\u179B\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793\u1780\u17B6\ + \u179A\u178F\u17B6\u1798\u178A\u17B6\u1793 \u1793\u17B7\u1784\u1780\u17B6\u179A\ + \u1796\u17D2\u1799\u17B6\u1794\u17B6\u179B\u1794\u1793\u17D2\u178F\u1793\u17C5\ + \u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\u1797\u17B6\u1796\u1791\u17B6\ + \u1793\u17CB\u1796\u17C1\u179B/\u178F\u17B6\u1798\u1780\u17B6\u179A\u178E\u17B6\ + \u178F\u17CB (Number of individuals with hypertension receiving follow-up treatment\ + \ in health centres on time/appointment date)" metric_type: null - expression: SUM(diagnosed_with_hbp_and_treated) + expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated =\ + \ 1 AND fulfilled_follow_up = 1 THEN patient_uuid \n ELSE NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: sum dm with hbp dropout +- metric_name: dist_count_dm_with_hbp_dropout_90 verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1787\u17C6\u1784\u17BA\u1791\u17B9\ \u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\u17C2\u1798\u1793\u17B7\u1784\u179B\ \u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\u1798\u178A\u17C2\ @@ -451,13 +687,15 @@ metrics: \ (Total number of hypertension and diabetes patients who have not shown up at\ \ the HCs over 90 days)" metric_type: null - expression: SUM(dm_and_hbp_dropout) + expression: "COUNT(DISTINCT\n CASE \n WHEN dm_and_hbp_dropout_90 = 1 THEN patient_uuid\ + \ \n ELSE NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: sum hbp dropout +- metric_name: dist_count_hbp_dropout_90 verbose_name: " \u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ \u1793\u1780\u1787\u17C6\u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\ \u17B6\u1792\u1788\u17B6\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\ @@ -466,13 +704,35 @@ metrics: \u1796\u17B8 \u17E9\u17E0\u1790\u17D2\u1784\u17C3 (Total number of hypertension\ \ patients who have not shown up at the HCs over 90 days)" metric_type: null - expression: SUM(hbp_dropout) + expression: "COUNT(DISTINCT\n CASE \n WHEN hbp_dropout_90 = 1 THEN patient_uuid\ + \ \n ELSE NULL \n END\n)" description: null d3format: null + currency: null extra: warning_markdown: '' warning_text: null -- metric_name: sum dm dropout +- metric_name: dist_count_diagnosed_with_hbp_and_treated + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u17A2\u17D2\u1793\u1780\u1787\u17C6\ + \u1784\u17BA\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\u1792\u1788\u17B6\ + \u1798\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1792\u17D2\u179C\u17BE\ + \u1780\u17B6\u179A\u1790\u17C2\u1791\u17B6\u17C6\u1793\u17B7\u1784\u1796\u17D2\ + \u1799\u17B6\u1794\u17B6\u179B\u1793\u17C5\u1798\u17BC\u179B\u178A\u17D2\u178B\ + \u17B6\u1793\u179F\u17BB\u1781\u17B6\u1797\u17B7\u1794\u17B6\u179B\u179F\u17B6\ + \u1792\u17B6\u179A\u178E\u17C8\u1798\u178E\u17D2\u178C\u179B\u179F\u17BB\u1781\ + \u1797\u17B6\u1796\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\u17C1\ + \u179B\u17E1\u17E2 \u1781\u17C2 (Number of individuals hypertensions patients\ + \ receiving treatment at the public health facility in the last 12 months) " + metric_type: null + expression: "COUNT(DISTINCT\n CASE \n WHEN diagnosed_with_hbp_and_treated =\ + \ 1 THEN patient_uuid \n ELSE NULL \n END\n)" + description: null + d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: dist_count_dm_dropout_90 verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u179F\u179A\u17BB\u1794\u17A2\u17D2\ \u1793\u1780\u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\ \u17D2\u17A2\u17C2\u1798 \u178A\u17C2\u179B\u1798\u17B7\u1793\u1794\u17B6\u1793\ @@ -482,13 +742,106 @@ metrics: \u17C3 (Total number of diabetes patients who have not shown up at the HCs over\ \ 90 days)" metric_type: null - expression: SUM(dm_dropout) + expression: "COUNT(DISTINCT\n CASE \n WHEN dm_dropout_90 = 1 THEN patient_uuid\ + \ \n ELSE NULL \n END\n)" description: null d3format: null + currency: null + extra: + warning_markdown: '' + warning_text: null +- metric_name: dist_count_patient_screened + verbose_name: "\u1785\u17C6\u1793\u17BD\u1793\u1794\u17D2\u179A\u1787\u17B6\u1787\ + \u1793\u1782\u17C4\u179B\u178A\u17C5\u178A\u17C2\u179B\u1798\u17B6\u1793\u17A2\ + \u17B6\u1799\u17BB\u1785\u17B6\u1794\u17CB\u1796\u17B8 40 \u1786\u17D2\u1793\u17B6\ + \u17C6\u17A1\u17BE\u1784\u1791\u17C5\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\ + \u1793\u1796\u17B7\u1793\u17B7\u178F\u17D2\u1799\u179A\u1780\u1798\u17BE\u179B\ + \u1787\u17C6\u1784\u17BA\u1791\u17B9\u1780\u1793\u17C4\u1798\u1795\u17D2\u17A2\ + \u17C2\u1798 \u1793\u17B7\u1784\u179B\u17BE\u179F\u179F\u1798\u17D2\u1796\u17B6\ + \u1792\u1788\u17B6\u1798\u1780\u17D2\u1793\u17BB\u1784\u179A\u1799\u17C8\u1796\ + \u17C1\u179B \u17E1\u17E2 \u1781\u17C2 (Number of people aged 40 and above was\ + \ screened for hypertension and diabetes in the last 12 months)" + metric_type: null + expression: COUNT(DISTINCT patient_uuid) + description: null + d3format: null + currency: null extra: warning_markdown: '' warning_text: null columns: +- column_name: dm_and_hbp_dropout_30 + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_dropout_30 + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_dropout_30 + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_and_hbp_dropout_90 + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: hbp_dropout_90 + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} +- column_name: dm_dropout_90 + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} - column_name: date_started verbose_name: null is_dttm: true @@ -597,6 +950,18 @@ columns: description: null python_date_format: null extra: {} +- column_name: fulfilled_follow_up + verbose_name: null + is_dttm: false + is_active: true + type: INTEGER + advanced_data_type: null + groupby: true + filterable: true + expression: null + description: null + python_date_format: null + extra: {} - column_name: health_facility_name verbose_name: null is_dttm: false @@ -742,4 +1107,4 @@ columns: python_date_format: null extra: {} version: 1.0.0 -database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe +database_uuid: 42834407-4570-4111-8bf6-4f7080413333 From 583c42328696b3758e2675af1d7f3710da97eba6 Mon Sep 17 00:00:00 2001 From: "Kipchumba C. Bett" Date: Mon, 24 Jun 2024 16:13:00 +0300 Subject: [PATCH 20/20] KH-501: Use analytics database provided by Ozone --- .../datasets/Analytics/CCS_Referral_Status_Query-dataset.yaml | 2 +- .../assets/datasets/Analytics/HC_CCS_Report_Query-dataset.yaml | 2 +- .../datasets/Analytics/HC_NCD_OPD_Register_Query-dataset.yaml | 2 +- .../Analytics/NCD_HIS_Followup_Cases_Query-dataset.yaml | 2 +- .../datasets/Analytics/NCD_HIS_New_Cases_Query-dataset.yaml | 2 +- .../Analytics/NCD_Missed_Appointments_Query-dataset.yaml | 2 +- .../datasets/Analytics/NCD_Referral_Status_Query-dataset.yaml | 2 +- ...ients_Screened_For_NCD_For_The_First_Time_Query-dataset.yaml | 2 +- .../assets/datasets/Analytics/RC_CCS_Report_Query-dataset.yaml | 2 +- .../datasets/Analytics/RH_NCD_OPD_Register_Query-dataset.yaml | 2 +- ...ed_For_Cervical_Cancer_For_The_First_Time_Query-dataset.yaml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/base/configs/superset/assets/datasets/Analytics/CCS_Referral_Status_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/CCS_Referral_Status_Query-dataset.yaml index 85d783fb..d0be9e2b 100644 --- a/base/configs/superset/assets/datasets/Analytics/CCS_Referral_Status_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/CCS_Referral_Status_Query-dataset.yaml @@ -356,4 +356,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/HC_CCS_Report_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/HC_CCS_Report_Query-dataset.yaml index 8ed2ad81..c6ab14ed 100644 --- a/base/configs/superset/assets/datasets/Analytics/HC_CCS_Report_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/HC_CCS_Report_Query-dataset.yaml @@ -590,4 +590,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/HC_NCD_OPD_Register_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/HC_NCD_OPD_Register_Query-dataset.yaml index b15e38cd..d1266aa3 100644 --- a/base/configs/superset/assets/datasets/Analytics/HC_NCD_OPD_Register_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/HC_NCD_OPD_Register_Query-dataset.yaml @@ -803,4 +803,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/NCD_HIS_Followup_Cases_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/NCD_HIS_Followup_Cases_Query-dataset.yaml index 772edfbd..654ad5ee 100644 --- a/base/configs/superset/assets/datasets/Analytics/NCD_HIS_Followup_Cases_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/NCD_HIS_Followup_Cases_Query-dataset.yaml @@ -375,4 +375,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/NCD_HIS_New_Cases_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/NCD_HIS_New_Cases_Query-dataset.yaml index 0a363424..63deb16a 100644 --- a/base/configs/superset/assets/datasets/Analytics/NCD_HIS_New_Cases_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/NCD_HIS_New_Cases_Query-dataset.yaml @@ -374,4 +374,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/NCD_Missed_Appointments_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/NCD_Missed_Appointments_Query-dataset.yaml index db85a042..9b74279a 100644 --- a/base/configs/superset/assets/datasets/Analytics/NCD_Missed_Appointments_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/NCD_Missed_Appointments_Query-dataset.yaml @@ -284,4 +284,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/NCD_Referral_Status_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/NCD_Referral_Status_Query-dataset.yaml index 8f3ab2c2..0107d0d0 100644 --- a/base/configs/superset/assets/datasets/Analytics/NCD_Referral_Status_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/NCD_Referral_Status_Query-dataset.yaml @@ -306,4 +306,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/Patients_Screened_For_NCD_For_The_First_Time_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/Patients_Screened_For_NCD_For_The_First_Time_Query-dataset.yaml index f9c3ad50..26cc108d 100644 --- a/base/configs/superset/assets/datasets/Analytics/Patients_Screened_For_NCD_For_The_First_Time_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/Patients_Screened_For_NCD_For_The_First_Time_Query-dataset.yaml @@ -767,4 +767,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/RC_CCS_Report_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/RC_CCS_Report_Query-dataset.yaml index 2feae84d..c50dcbc1 100644 --- a/base/configs/superset/assets/datasets/Analytics/RC_CCS_Report_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/RC_CCS_Report_Query-dataset.yaml @@ -590,4 +590,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/RH_NCD_OPD_Register_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/RH_NCD_OPD_Register_Query-dataset.yaml index a44ebd01..67054739 100644 --- a/base/configs/superset/assets/datasets/Analytics/RH_NCD_OPD_Register_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/RH_NCD_OPD_Register_Query-dataset.yaml @@ -816,4 +816,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe diff --git a/base/configs/superset/assets/datasets/Analytics/Women_Screened_For_Cervical_Cancer_For_The_First_Time_Query-dataset.yaml b/base/configs/superset/assets/datasets/Analytics/Women_Screened_For_Cervical_Cancer_For_The_First_Time_Query-dataset.yaml index af33c228..53143d5e 100644 --- a/base/configs/superset/assets/datasets/Analytics/Women_Screened_For_Cervical_Cancer_For_The_First_Time_Query-dataset.yaml +++ b/base/configs/superset/assets/datasets/Analytics/Women_Screened_For_Cervical_Cancer_For_The_First_Time_Query-dataset.yaml @@ -568,4 +568,4 @@ columns: extra: warning_markdown: null version: 1.0.0 -database_uuid: 42834407-4570-4111-8bf6-4f7080413333 +database_uuid: 4e5f4045-a62d-4964-b719-58229a60e7fe