OpenSRP/opensrp-client-anc

View on GitHub
opensrp-anc/src/main/assets/rule/tests_calculation_rules.yml

Summary

Maintainability
Test Coverage
---
name: step1_hiv_positive
description: hiv_positive
priority: 1
condition: "(step1_hiv_test_result == 'positive') || (!global_health_conditions.isEmpty() && global_health_conditions.contains('hiv'))"
actions:
  - "calculation = 1"
---
name: step2_hiv_positive
description: hiv_positive
priority: 1
condition: "(step2_hiv_test_result == 'positive') || (!global_health_conditions.isEmpty() && global_health_conditions.contains('hiv'))"
actions:
  - "calculation = 1"
---
name: step2_partner_hiv_positive
description: partner_hiv_positive
priority: 1
condition: "global_partner_hiv_status == 'positive' || step2_hiv_test_partner_result == 'positive'"
actions:
  - "calculation = 1"
---
name: step2_hiv_risk
description: hiv_risk
priority: 1
condition: "((global_hiv_positive == ''  || global_hiv_positive == 0) && (step2_partner_hiv_positive == 1 || global_alcohol_substance_use.contains('injectable_drugs') || global_occupation.contains('informal_employment_sex_worker') || global_site_anc_hiv == true))"
actions:
  - "calculation = 1"
---
name: step1_hepb_positive
description: hepb_positive
priority: 1
condition: "(step1_hbsag_lab_ima == 'positive') || (step1_hbsag_rdt == 'positive') || (step1_hbsag_dbs == 'positive')"
actions:
  - "calculation = 1"
---
name: step2_hepb_positive
description: hepb_positive
priority: 1
condition: "(step2_hbsag_lab_ima == 'positive') || (step2_hbsag_rdt == 'positive') || (step2_hbsag_dbs == 'positive')"
actions:
  - "calculation = 1"
---
name: step1_hepc_positive
description: hepc_positive
priority: 1
condition: "(step1_hcv_lab_ima != '' && step1_hcv_lab_ima == 'positive') || (step1_hcv_rdt != '' && step1_hcv_rdt == 'positive') || (step1_hcv_dbs != '' && step1_hcv_dbs == 'positive')"
actions:
  - "calculation = 1"
---
name: step2_hepc_positive
description: hepc_positive
priority: 1
condition: "(step2_hcv_lab_ima != '' && step2_hcv_lab_ima == 'positive') || (step2_hcv_rdt != '' && step2_hcv_rdt == 'positive') || (step2_hcv_dbs != '' && step2_hcv_dbs == 'positive')"
actions:
  - "calculation = 1"
---
name: step1_syphilis_positive
description: syphilis_positive
priority: 1
condition: "(step1_rapid_syphilis_test == 'positive' && step1_rapid_syphilis_test != '' ) || (step1_rpr_syphilis_test == 'positive' && step1_rpr_syphilis_test != '') || (step1_lab_syphilis_test == 'positive' && step1_lab_syphilis_test != '')"
actions:
  - "calculation = 1"
---
name: step2_syphilis_positive
description: syphilis_positive
priority: 1
condition: "(step2_rapid_syphilis_test == 'positive' && step2_rapid_syphilis_test != '' ) || (step2_rpr_syphilis_test == 'positive' && step2_rpr_syphilis_test != '') || (step2_lab_syphilis_test == 'positive' && step2_lab_syphilis_test != '')"
actions:
  - "calculation = 1"
---
name: step1_gdm_risk
description: gdm_risk
priority: 1
condition: "(global_bmi != '' && global_bmi >= 30) || !global_prev_preg_comps.isEmpty() && (global_prev_preg_comps.contains('macrosomia') || global_prev_preg_comps.contains('gestational_diabetes')) || (step1_urine_glucose == '++' || step1_urine_glucose == '+++' || step1_urine_glucose == '++++')"
actions:
  - "calculation = 1"
---
name: step2_gdm_risk
description: gdm_risk
priority: 1
condition: "(global_bmi != '' && global_bmi >= 30) || !global_prev_preg_comps.isEmpty() && (global_prev_preg_comps.contains('macrosomia') || global_prev_preg_comps.contains('gestational_diabetes')) || (step2_urine_glucose == '++' || step2_urine_glucose == '+++' || step2_urine_glucose == '++++')"
actions:
  - "calculation = 1"
---
name: step1_asb_positive
description: asb_positive
priority: 1
condition: "(step1_urine_culture == 'positive_any') || (step1_urine_culture == 'positive_gbs') || step1_urine_gram_stain == 'positive' || (step1_urine_nitrites != 'none' && step1_urine_nitrites != '') || (step1_urine_leukocytes != 'none' && step1_urine_leukocytes  != '')"
actions:
  - "calculation = 1"
---
name: step2_asb_positive
description: asb_positive
priority: 1
condition: "(step2_urine_culture == 'positive_any') || (step2_urine_culture == 'positive_gbs') || step2_urine_gram_stain == 'positive' || (step2_urine_nitrites != 'none' && step2_urine_nitrites != '') || (step2_urine_leukocytes != 'none' && step2_urine_leukocytes  != '')"
actions:
  - "calculation = 1"
---
name: step2_gdm
description: gdm
priority: 1
condition: "(step2_fasting_plasma_gluc >= 92 && step2_fasting_plasma_gluc < 126 ) || (step2_ogtt_fasting >= 92 && step2_ogtt_fasting < 126) || (step2_ogtt_1 >= 180 && step2_ogtt_1 < 200 ) || (step2_ogtt_2 >= 153 && step2_ogtt_2 < 200)"
actions:
  - "calculation = 1"
---
name: step2_dm_in_preg
description: dm_in_preg
priority: 1
condition: "(step2_fasting_plasma_gluc >= 126) || (step2_ogtt_fasting >= 126) || (step2_ogtt_1 >= 200) || (step2_ogtt_2 >= 200) || (step2_random_plasma >= 200)"
actions:
  - "calculation = 1"
---
name: step1_hb_result
description: hb_result
priority: 1
condition: "true"
actions:
  - "calculation = (step1_hb_test_type == 'complete_blood_count' && step1_hb_test_type != '' && step1_cbc != '') ? step1_cbc : (step1_hb_test_type == 'hb_test_haemoglobinometer' && step1_hb_test_type != '' && step1_hb_gmeter != '') ? step1_hb_gmeter :  (step1_hb_test_type == 'hb_test_colour_scale' && step1_hb_test_type != '' && step1_hb_colour != '') ? step1_hb_colour : '' "
---
name: step2_hb_result
description: hb_result
priority: 1
condition: "true"
actions:
  - "calculation = (step2_hb_test_type == 'complete_blood_count' && step2_hb_test_type != '' && step2_cbc != '') ? step2_cbc : (step2_hb_test_type == 'hb_test_haemoglobinometer' && step2_hb_test_type != '' && step2_hb_gmeter != '') ? step2_hb_gmeter :  (step2_hb_test_type == 'hb_test_colour_scale' && step2_hb_test_type != '' &&  step2_hb_colour != '') ? step2_hb_colour : '' "
---
name: step1_anaemic
description: anaemic
priority: 1
condition: "((step1_hb_result == '' || step1_hb_result == 0) && global_pallor == 'yes') || ((step1_hb_result != '' && step1_hb_result > 0 && step1_hb_result < 11) && global_gest_age_openmrs != '' && (global_gest_age_openmrs <= 12 || global_gest_age_openmrs >= 28)) || ((step1_hb_result != '' && step1_hb_result > 0 && step1_hb_result < 10.5) && global_gest_age_openmrs != '' && (global_gest_age_openmrs > 12 && global_gest_age_openmrs < 28))"
actions:
  - "calculation = 1"
---
name: step2_anaemic
description: anaemic
priority: 1
condition: "((step2_hb_result == '' || step2_hb_result == 0) && global_pallor == 'yes') || ((step2_hb_result != '' && step2_hb_result > 0 && step2_hb_result < 11) && global_gest_age_openmrs != '' && (global_gest_age_openmrs <= 12 || global_gest_age_openmrs >= 28)) || ((step2_hb_result != '' && step2_hb_result > 0 && step2_hb_result < 10.5) && global_gest_age_openmrs != '' && (global_gest_age_openmrs > 12 && global_gest_age_openmrs < 28))"
actions:
  - "calculation = 1"
---
name: step1_urine_test_date_today_hidden
description: urine_test_date
priority: 1
condition: "step1_urine_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_urine_test_date_today_hidden
description: urine_test_date
priority: 1
condition: "step2_urine_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_tb_screening_date_today_hidden
description: tb_screening_date
priority: 1
condition: "step1_tb_screening_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_tb_screening_date_today_hidden
description: tb_screening_date
priority: 1
condition: "step2_tb_screening_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_syphilis_test_date_today_hidden
description: syphilis_test_date
priority: 1
condition: "step1_syph_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_syphilis_test_date_today_hidden
description: syphilis_test_date
priority: 1
condition: "step2_syph_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_hiv_test_partner_date_today_hidden
description: hiv_test_partner_date
priority: 1
condition: "step2_hiv_test_partner_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_other_test_date_today_hidden
description: other_test_date
priority: 1
condition: "step2_other_test == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_hiv_test_date_today_hidden
description: hiv_test_date
priority: 1
condition: "step1_hiv_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_hiv_test_date_today_hidden
description: hiv_test_date
priority: 1
condition: "step2_hiv_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_hepc_test_date_today_hidden
description: hepc_test_date
priority: 1
condition: "step1_hepc_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_hepc_test_date_today_hidden
description: hepc_test_date
priority: 1
condition: "step2_hepc_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_hepb_test_date_today_hidden
description: hepb_test_date
priority: 1
condition: "step1_hepb_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_hepb_test_date_today_hidden
description: hepb_test_date
priority: 1
condition: "step2_hepb_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_blood_type_test_date_today_hidden
description: blood_type_test_date
priority: 1
condition: "step1_blood_type_test_status != '' && step1_blood_type_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_blood_type_test_date_today_hidden
description: blood_type_test_date
priority: 1
condition: "step2_blood_type_test_status != '' && step2_blood_type_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_glucose_test_date_today_hidden
description: glucose_test_date
priority: 1
condition: "step2_glucose_test_status != '' && step2_glucose_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_hb_test_date_today_hidden
description: hb_test_date
priority: 1
condition: "step1_hb_test_status != '' && step1_hb_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_hb_test_date_today_hidden
description: hb_test_date
priority: 1
condition: "step2_hb_test_status != '' && step2_hb_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_covid_positive
description: covid_positive
priority: 1
condition: "(step1_covid_pcr_test == 'positive') || (step1_covid_antigen_test == 'positive') || (step1_covid_igg_test == 'positive') || (step1_covid_igm_test == 'positive')"
actions:
  - "calculation = 1"
---
name: step1_covid_date_today_hidden
description: Covid_test_date
priority: 1
condition: "step1_covid_status != '' && step1_covid_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_toxo_test_date
description: toxo_test_date
priority: 1
condition: "step1_toxo_test_status == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"