OpenSRP/opensrp-client-anc

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

Summary

Maintainability
Test Coverage
---
name: step1_ultrasound_date_today_hidden
description: ultrasound_date_today_hidden
priority: 1
condition: "step1_ultrasound != '' && step1_ultrasound == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step2_ultrasound_date_today_hidden
description: ultrasound_date_today_hidden
priority: 1
condition: "step2_ultrasound != '' && step2_ultrasound == 'done_today'"
actions:
  - "calculation = helper.getDateToday()"
---
name: step1_ultrasound_date
description: Date that the ultrasound was done..
priority: 1
condition: "(global_ultrasound_done_date != '') && (step1_ultrasound_date == '') && (step1_ultrasound == 'done_earlier')"
actions:
  - "calculation = global_ultrasound_done_date"
---
name: step2_ultrasound_date
description: Date that the ultrasound was done..
priority: 1
condition: "(global_ultrasound_done_date != '') && (step2_ultrasound_date == '') && (step2_ultrasound == 'done_earlier')"
actions:
  - "calculation = global_ultrasound_done_date"
---
name: step1_ultrasound_gest_age_wks
description: GA from ultrasound - weeks
priority: 1
condition: "global_ultrasound_gest_age_wks != '' && step1_ultrasound_gest_age_wks == ''"
actions:
  - "calculation = global_ultrasound_gest_age_wks"
---
name: step2_ultrasound_gest_age_wks
description: GA from ultrasound - weeks
priority: 1
condition: "global_ultrasound_gest_age_wks != '' && step2_ultrasound_gest_age_wks == ''"
actions:
  - "calculation = global_ultrasound_gest_age_wks"
---
name: step1_ultrasound_gest_age_days
description: GA from ultrasound - days
priority: 1
condition: "global_ultrasound_gest_age_days != '' && step1_ultrasound_gest_age_days == ''"
actions:
  - "calculation = global_ultrasound_gest_age_days"
---
name: step2_ultrasound_gest_age_days
description: GA from ultrasound - days
priority: 1
condition: "global_ultrasound_gest_age_days != '' && step2_ultrasound_gest_age_days == ''"
actions:
  - "calculation = global_ultrasound_gest_age_days"
---
name: step1_ultrasound_gest_age_concept
description: Ultrasound  Gest age concept
priority: 1
condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')"
actions:
  - "calculation = Math.ceil(((step1_ultrasound_gest_age_wks * 7) + new Integer(step1_ultrasound_gest_age_days)) / 7)"
---
name: step2_ultrasound_gest_age_concept
description: Ultrasound  Gest age concept
priority: 1
condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')"
actions:
  - "calculation = Math.ceil(((step2_ultrasound_gest_age_wks * 7) + new Integer(step2_ultrasound_gest_age_days)) / 7)"
---
name: step1_ultrasound_gest_age
description: GA from ultrasound - weeks
priority: 1
condition: "step1_ultrasound_edd != '' && step1_ultrasound_edd != 0"
actions:
  - "calculation = helper.getWeeksAndDaysFromDays(280 - helper.getDifferenceDays(helper.getSecondaryValue(step1_ultrasound_edd)) - 1)"
---
name: step2_ultrasound_gest_age
description: GA from ultrasound - weeks
priority: 1
condition: "step2_ultrasound_edd != '' && step2_ultrasound_edd != 0"
actions:
  - "calculation = helper.getWeeksAndDaysFromDays( 280 - helper.getDifferenceDays(helper.getSecondaryValue(step2_ultrasound_edd)) - 1 )"
---
name: step1_ultrasound_edd
description: EDD calculated from ultrasound results.
priority: 1
condition: "(step1_ultrasound_date != '' || step1_ultrasound_date_today_hidden != 0) && step1_ultrasound_gest_age_wks > 0"
actions:
  - "calculation = helper.addDuration(step1_ultrasound_date_today_hidden != 0 ? step1_ultrasound_date_today_hidden : step1_ultrasound_date, ( (280 - ( (new Integer(step1_ultrasound_gest_age_wks) * 7) +  new Integer(step1_ultrasound_gest_age_days != '' ? step1_ultrasound_gest_age_days : 0)) ) +'d'))"
---
name: step2_ultrasound_edd
description: EDD calculated from ultrasound results.
priority: 1
condition: "(step2_ultrasound_date != '' || step2_ultrasound_date_today_hidden != 0 ) && step2_ultrasound_gest_age_wks > 0"
actions:
  - "calculation = helper.addDuration(step2_ultrasound_date_today_hidden != 0 ? step2_ultrasound_date_today_hidden : step2_ultrasound_date, ( (280 - ( (new Integer(step2_ultrasound_gest_age_wks) * 7) +  new Integer(step2_ultrasound_gest_age_days != '' ? step2_ultrasound_gest_age_days : 0)) ) +'d'))"
---
name: step1_select_gest_age_edd
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['lmp_gest_age': global_lmp_gest_age,'lmp_edd':global_lmp_edd, 'ultrasound_gest_age':step1_ultrasound_gest_age,'ultrasound_edd':step1_ultrasound_edd,'sfh_gest_age':global_sfh_ga_hidden,'sfh_edd':global_sfh_edd]"
---
name: step2_select_gest_age_edd
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['lmp_gest_age': global_lmp_gest_age,'lmp_edd':global_lmp_edd, 'ultrasound_gest_age':step2_ultrasound_gest_age,'ultrasound_edd':step2_ultrasound_edd,'sfh_gest_age':global_sfh_ga_hidden,'sfh_edd':global_sfh_edd]"
---
name: step1_edd
description: Selected EDD
priority: 1
condition: "true"
actions:
  - "calculation = step1_select_gest_age_edd != '' && step1_select_gest_age_edd == 'ultrasound'  && (step1_ultrasound == 'done_today' || (step1_ultrasound == 'done_earlier' && step1_ultrasound_edd != '')) ?  step1_ultrasound_edd : global_edd"
---
name: step2_edd
description: Selected EDD
priority: 1
condition: "true"
actions:
  - "calculation = step2_select_gest_age_edd != '' && step2_select_gest_age_edd == 'ultrasound'  && (step2_ultrasound == 'done_today' || (step2_ultrasound == 'done_earlier' && step2_ultrasound_edd != '')) ?  step2_ultrasound_edd : global_edd"
---
name: step1_gest_age
description: Selected Gest Age
priority: 1
condition: "true"
actions:
  - "calculation = step1_select_gest_age_edd != '' && step1_select_gest_age_edd == 'ultrasound'  && (step1_ultrasound == 'done_today' || (step1_ultrasound == 'done_earlier' && step1_ultrasound_gest_age != '')) ?  step1_ultrasound_gest_age : global_gest_age"
---
name: step2_gest_age
description: Selected Gest Age
priority: 1
condition: "true"
actions:
  - "calculation = step2_select_gest_age_edd != '' && step2_select_gest_age_edd == 'ultrasound'  && (step2_ultrasound == 'done_today' || (step2_ultrasound == 'done_earlier' && step2_ultrasound_gest_age != '')) ?  step2_ultrasound_gest_age : global_gest_age"
---
name: step1_gest_age_openmrs
description: Ga to send to openmrs
priority: 1
condition: "true"
actions:
  - "calculation = step1_select_gest_age_edd != '' && step1_select_gest_age_edd == 'ultrasound' && (step1_ultrasound == 'done_today' || (step1_ultrasound == 'done_earlier' && step1_ultrasound_gest_age != ''))  ? helper.stripGaNumber(step1_ultrasound_gest_age) : global_gest_age_openmrs"
---
name: step2_gest_age_openmrs
description: Ga to send to openmrs
priority: 1
condition: "true"
actions:
  - "calculation = step2_select_gest_age_edd != '' && step2_select_gest_age_edd == 'ultrasound' && (step2_ultrasound == 'done_today' || (step2_ultrasound == 'done_earlier' && step2_ultrasound_gest_age != '')) ? helper.stripGaNumber(step2_ultrasound_gest_age) : global_gest_age_openmrs"
---
name: step1_no_of_fetuses
description: No. of fetuses
priority: 1
condition: "step1_no_of_fetuses_hidden != '' && (step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')"
actions:
  - "calculation = step1_no_of_fetuses_hidden"
---
name: step1_no_of_fetuses_hidden
description: No. of fetuses
priority: 1
condition: "global_no_of_fetuses != ''"
actions:
  - "calculation = global_no_of_fetuses"
---
name: step2_no_of_fetuses
description: No. of fetuses
priority: 1
condition: "step2_no_of_fetuses_hidden != '' && (step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')"
actions:
  - "calculation = step2_no_of_fetuses_hidden"
---
name: step2_no_of_fetuses_hidden
description: No. of fetuses
priority: 1
condition: "global_no_of_fetuses != ''"
actions:
  - "calculation = global_no_of_fetuses"
---
name: step1_fetal_presentation
description: Fetal presentation
priority: 1
condition: "global_fetal_presentation != '' && step1_fetal_presentation == '' && (step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')"
actions:
  - "calculation = global_fetal_presentation"
---
name: step2_fetal_presentation
description: Fetal presentation
priority: 1
condition: "global_fetal_presentation != '' && step2_fetal_presentation == '' && (step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')"
actions:
  - "calculation = global_fetal_presentation"
---
name: step1_preeclampsia_risk
description: preeclampsia_risk
priority: 1
condition: "(step1_no_of_fetuses >= 2) || (global_prev_preg_comps.contains('pre_eclampsia_eclampsia') || global_prev_preg_comps.contains('convulsions')) || (global_health_conditions.contains('diabetes') || global_health_conditions.contains('gest_diabetes') || global_health_conditions.contains('diabetes_other') || global_health_conditions.contains('diabetes_type2') || global_health_conditions.contains('Hypertension') || global_health_conditions.contains('kidney_disease'))"
actions:
  - "calculation = 1"
---
name: step2_preeclampsia_risk
description: preeclampsia_risk
priority: 1
condition: "(step2_no_of_fetuses >= 2) || (global_prev_preg_comps.contains('pre_eclampsia_eclampsia') || global_prev_preg_comps.contains('convulsions')) || (global_health_conditions.contains('diabetes') || global_health_conditions.contains('gest_diabetes') || global_health_conditions.contains('diabetes_other') || global_health_conditions.contains('diabetes_type2') || global_health_conditions.contains('Hypertension') || global_health_conditions.contains('kidney_disease'))"
actions:
  - "calculation = 1"
---
name: step2_lmp_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['lmp_gest_age': global_lmp_gest_age,'lmp_edd': global_lmp_edd]"
---
name: step2_ultrasound_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['ultrasound_gest_age':step2_ultrasound_gest_age,'ultrasound_edd':step2_ultrasound_edd]"
---
name: step2_sfh_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['sfh_gest_age':global_sfh_ga_hidden,'sfh_edd':global_sfh_edd]"
---
name: step2_lmp_ultrasound_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['lmp_gest_age': global_lmp_gest_age,'lmp_edd':global_lmp_edd, 'ultrasound_gest_age':step2_ultrasound_gest_age,'ultrasound_edd':step2_ultrasound_edd]"
---
name: step2_sfh_ultrasound_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['ultrasound_gest_age':step2_ultrasound_gest_age,'ultrasound_edd':step2_ultrasound_edd,'sfh_gest_age':global_sfh_ga_hidden,'sfh_edd':global_sfh_edd]"
---
name: step2_select_gest_age_edd_sfh_ultrasound
description: select_gest_age_edd_sfh_ultrasound
priority: 1
condition: "step2_sfh_ultrasound_gest_age_selection != ''"
actions:
  - "calculation = step2_sfh_ultrasound_gest_age_selection"
---
name: step2_select_gest_age_edd_lmp_ultrasound
description: select_gest_age_edd_lmp_ultrasound
priority: 1
condition: "step2_lmp_ultrasound_gest_age_selection != ''"
actions:
  - "calculation = step2_lmp_ultrasound_gest_age_selection"
---
name: step2_select_gest_age_edd_all_values
description: select_gest_age_edd_all_values
priority: 1
condition: "true"
actions:
  - "calculation = (global_lmp_known == 'yes' && global_ultrasound_done == 'no') ? step2_lmp_gest_age_selection : (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && (step2_ultrasound_gest_age_wks == '' || step2_ultrasound_gest_age_wks < 24)) ? step2_ultrasound_gest_age_selection : step2_sfh_gest_age_selection"
---
name: step2_select_gest_age_edd
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = (step2_sfh_ultrasound_gest_age_selection != '' && step2_sfh_ultrasound_gest_age_selection != 0) ? step2_sfh_ultrasound_gest_age_selection : (step2_select_gest_age_edd_lmp_ultrasound != '' && step2_select_gest_age_edd_lmp_ultrasound != 0) ? step2_select_gest_age_edd_lmp_ultrasound : step2_select_gest_age_edd_all_values"
---
name: step1_lmp_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['lmp_gest_age': global_lmp_gest_age,'lmp_edd':global_lmp_edd]"
---
name: step1_ultrasound_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['ultrasound_gest_age':step1_ultrasound_gest_age,'ultrasound_edd':step1_ultrasound_edd]"
---
name: step1_sfh_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['sfh_gest_age':global_sfh_ga_hidden,'sfh_edd':global_sfh_edd]"
---
name: step1_lmp_ultrasound_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['lmp_gest_age': global_lmp_gest_age,'lmp_edd':global_lmp_edd, 'ultrasound_gest_age':step1_ultrasound_gest_age,'ultrasound_edd':step1_ultrasound_edd]"
---
name: step1_sfh_ultrasound_gest_age_selection
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = ['ultrasound_gest_age':step1_ultrasound_gest_age,'ultrasound_edd':step1_ultrasound_edd,'sfh_gest_age':global_sfh_ga_hidden,'sfh_edd':global_sfh_edd]"
---
name: step1_select_gest_age_edd_sfh_ultrasound
description: select_gest_age_edd_sfh_ultrasound
priority: 1
condition: "step1_sfh_ultrasound_gest_age_selection != ''"
actions:
  - "calculation = step1_sfh_ultrasound_gest_age_selection"
---
name: step1_select_gest_age_edd_lmp_ultrasound
description: select_gest_age_edd_lmp_ultrasound
priority: 1
condition: "step1_lmp_ultrasound_gest_age_selection != ''"
actions:
  - "calculation = step1_lmp_ultrasound_gest_age_selection"
---
name: step1_select_gest_age_edd_all_values
description: select_gest_age_edd_all_values
priority: 1
condition: "true"
actions:
  - "calculation = (global_lmp_known == 'yes' && global_ultrasound_done == 'no') ? step1_lmp_gest_age_selection : (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && (step1_ultrasound_gest_age_wks == '' || step1_ultrasound_gest_age_wks < 24)) ? step1_ultrasound_gest_age_selection : step1_sfh_gest_age_selection"
---
name: step1_select_gest_age_edd
description: Gest age
priority: 1
condition: "true"
actions:
  - "calculation = (step1_sfh_ultrasound_gest_age_selection != '' && step1_sfh_ultrasound_gest_age_selection != 0) ? step1_sfh_ultrasound_gest_age_selection : (step1_select_gest_age_edd_lmp_ultrasound != '' && step1_select_gest_age_edd_lmp_ultrasound != 0) ? step1_select_gest_age_edd_lmp_ultrasound : step1_select_gest_age_edd_all_values"