diff --git a/build.gradle b/build.gradle index bd2b1c6..c04486d 100644 --- a/build.gradle +++ b/build.gradle @@ -77,9 +77,12 @@ subprojects { ext.androidToolsBuildGradle = '30.0.3' ext.androidBuildToolsVersion = '30.0.3' +// ext.androidMinSdkVersion = 21 +// ext.androidCompileSdkVersion = 31 +// ext.androidTargetSdkVersion = 31 ext.androidMinSdkVersion = 21 - ext.androidCompileSdkVersion = 31 - ext.androidTargetSdkVersion = 31 + ext.androidCompileSdkVersion = 33 + ext.androidTargetSdkVersion = 33 ext.androidAnnotationsVersion = '3.0.1' ext.androidAnnotationsAPIVersion = '3.0.1' ext.jacocoVersion = "0.7.9" diff --git a/opensrp-anc/build.gradle b/opensrp-anc/build.gradle index 7e362d4..74142a1 100644 --- a/opensrp-anc/build.gradle +++ b/opensrp-anc/build.gradle @@ -4,8 +4,9 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.3' -// classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.3' + // classpath 'com.android.tools.build:gradle:4.1.3' + classpath 'com.android.tools.build:gradle:7.0.0' + //classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.3' classpath 'gradle.plugin.org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.10.2' classpath 'com.google.gms:google-services:4.3.10' } @@ -179,7 +180,7 @@ tasks.withType(Test) { dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' - implementation('org.smartregister:opensrp-client-native-form:3.1.1-PREVIEW-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-native-form:3.1.2-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'recyclerview-v7' exclude group: 'com.android.support', module: 'appcompat-v7' @@ -190,7 +191,7 @@ dependencies { exclude group: 'org.yaml', module: 'snakeyaml' exclude group: 'io.ona.rdt-capture', module: 'lib' } - implementation('org.smartregister:opensrp-client-core:6.0.0-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-core:6.1.2-SNAPSHOT@aar') { transitive = true exclude group: 'com.github.bmelnychuk', module: 'atv' exclude group: 'com.google.guava', module: 'guava' diff --git a/opensrp-anc/src/main/assets/json.form/anc_counselling_treatment.json b/opensrp-anc/src/main/assets/json.form/anc_counselling_treatment.json index addef67..ad3977f 100644 --- a/opensrp-anc/src/main/assets/json.form/anc_counselling_treatment.json +++ b/opensrp-anc/src/main/assets/json.form/anc_counselling_treatment.json @@ -6484,6 +6484,26 @@ "err": "{{anc_counselling_treatment.step12.prevention_measures.v_required.err}}" } }, + { + "key": "total_treatment_received", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "{{anc_counselling_treatment.step12.total_treatment_received.hint}}", + "edit_type": "name", + "relevance": { + "step12:prevention_measures": { + "ex-checkbox": [ + { + "or": [ + "iron_and_foric_acid" + ] + } + ] + } + } + }, { "key": "prevention_measures_other", "openmrs_entity_parent": "", @@ -6655,11 +6675,24 @@ "hint": "{{anc_counselling_treatment.step12.next_visit_date.hint}}", "expanded": "false", "max_date": "today+280d", - "min_date": "today", + "v_required": { "value": true, "err": "{{anc_counselling_treatment.step12.next_visit_date.v_required.err}}" } + },{ + "key": "lst_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "date_picker", + "hint": "Date of Contact", + "expanded": "false", + "max_date": "today", + "v_required": { + "value": true, + "err": "Date of contact required" + } }, { "key": "prep_toaster", diff --git a/opensrp-anc/src/main/assets/json.form/anc_profile.json b/opensrp-anc/src/main/assets/json.form/anc_profile.json index 2d809ea..4d3f49c 100644 --- a/opensrp-anc/src/main/assets/json.form/anc_profile.json +++ b/opensrp-anc/src/main/assets/json.form/anc_profile.json @@ -549,7 +549,7 @@ "specify_info": "{{anc_profile.step2.lmp_known.options.yes.specify_info}}", "specify_widget": "date_picker", "max_date": "today-14d", - "min_date": "today-280d", + "default": "today" }, { @@ -642,7 +642,7 @@ "specify_info": "{{anc_profile.step2.ultrasound_done.options.yes.specify_info}}", "specify_widget": "date_picker", "max_date": "today", - "min_date": "today-9m", + "default": "today" }, { @@ -780,7 +780,7 @@ "openmrs_entity_id": "", "type": "date_picker", "expanded": "false", - "min_date": "today", + "max_date": "today+10m", "hint": "{{anc_profile.step2.edd_from_ultrasound.hint}}", "relevance": { diff --git a/opensrp-anc/src/main/assets/json.form/anc_register.json b/opensrp-anc/src/main/assets/json.form/anc_register.json index 448c122..f4e50fc 100644 --- a/opensrp-anc/src/main/assets/json.form/anc_register.json +++ b/opensrp-anc/src/main/assets/json.form/anc_register.json @@ -286,7 +286,7 @@ "duration": { "label": "{{anc_register.step1.dob_entered.duration.label}}" }, - "min_date": "today-49y", + "min_date": "today-60y", "max_date": "today-10y", "v_required": { "value": "true", @@ -393,7 +393,7 @@ "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "select one", - "type": "spinner", + "type": "hidden", "hint": "{{anc_register.step1.ubudehe_category.hint}}", "values": [ "1", @@ -588,7 +588,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "163164AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "native_radio", + "type": "hidden", "label": "{{anc_register.step1.reminders.label}}", "label_info_text": "{{anc_register.step1.reminders.label_info_text}}", "label_text_style": "normal", diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_glucose_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_glucose_sub_form.json index 93458b7..1c3b91c 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_glucose_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_glucose_sub_form.json @@ -139,7 +139,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "glucose_calculation_rules.yml" } } } @@ -153,11 +153,11 @@ "hint": "{{tests_blood_glucose_sub_form.step1.glucose_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } }, @@ -178,14 +178,14 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } }, "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "glucose_screening_calculation_rules.yml" } } }, @@ -231,7 +231,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } }, @@ -266,7 +266,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } } @@ -298,7 +298,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } } @@ -330,7 +330,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } } @@ -362,7 +362,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } } @@ -394,7 +394,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } } @@ -410,7 +410,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "glucose_screening_calculation_rules.yml" } } } @@ -426,7 +426,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "glucose_screening_calculation_rules.yml" } } } @@ -444,7 +444,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } } @@ -462,7 +462,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } } @@ -479,7 +479,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "glucose_screening_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_haemoglobin_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_haemoglobin_sub_form.json index 1af5cc6..f48d4a8 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_haemoglobin_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_haemoglobin_sub_form.json @@ -150,7 +150,7 @@ "hint": "{{tests_blood_haemoglobin_sub_form.step1.hb_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { @@ -247,14 +247,7 @@ "type": "edit_text", "hint": "{{tests_blood_haemoglobin_sub_form.step1.cbc.hint}}", "edit_type": "number", - "v_min": { - "value": "0", - "err": "{{tests_blood_haemoglobin_sub_form.step1.cbc.v_min.err}}" - }, - "v_max": { - "value": "25", - "err": "{{tests_blood_haemoglobin_sub_form.step1.cbc.v_max.err}}" - }, + "v_numeric": { "value": "true", "err": "{{tests_blood_haemoglobin_sub_form.step1.cbc.v_numeric.err}}" @@ -283,14 +276,7 @@ "value": "0", "err": "{{tests_blood_haemoglobin_sub_form.step1.hb_gmeter.v_min.err}}" }, - "v_max": { - "value": "25", - "err": "{{tests_blood_haemoglobin_sub_form.step1.hb_gmeter.v_max.err}}" - }, - "v_numeric": { - "value": "true", - "err": "{{tests_blood_haemoglobin_sub_form.step1.hb_gmeter.v_numeric.err}}" - }, + "v_required": { "value": true, "err": "{{tests_blood_haemoglobin_sub_form.step1.hb_gmeter.v_required.err}}" @@ -311,14 +297,7 @@ "type": "edit_text", "hint": "{{tests_blood_haemoglobin_sub_form.step1.hb_colour.hint}}", "edit_type": "number", - "v_min": { - "value": "0", - "err": "{{tests_blood_haemoglobin_sub_form.step1.hb_colour.v_min.err}}" - }, - "v_max": { - "value": "25", - "err": "{{tests_blood_haemoglobin_sub_form.step1.hb_colour.v_max.err}}" - }, + "v_numeric": { "value": "true", "err": "{{tests_blood_haemoglobin_sub_form.step1.hb_colour.v_numeric.err}}" @@ -364,24 +343,7 @@ } } }, - { - "key": "anaemia_diagnosis_danger_toaster", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "{{tests_blood_haemoglobin_sub_form.step1.anaemia_diagnosis_danger_toaster.text}}", - "toaster_info_text": "{{tests_blood_haemoglobin_sub_form.step1.anaemia_diagnosis_danger_toaster.toaster_info_text}}", - "toaster_info_title": "{{tests_blood_haemoglobin_sub_form.step1.anaemia_diagnosis_danger_toaster.toaster_info_title}}", - "toaster_type": "problem", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "tests_relevance_rules.yml" - } - } - } - }, + { "key": "ht", "openmrs_entity_parent": "", @@ -406,24 +368,7 @@ } } }, - { - "key": "hematocrit_danger_toaster", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "{{tests_blood_haemoglobin_sub_form.step1.hematocrit_danger_toaster.text}}", - "toaster_info_text": "{{tests_blood_haemoglobin_sub_form.step1.hematocrit_danger_toaster.toaster_info_text}}", - "toaster_info_title": "{{tests_blood_haemoglobin_sub_form.step1.hematocrit_danger_toaster.toaster_info_title}}", - "toaster_type": "problem", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "tests_relevance_rules.yml" - } - } - } - }, + { "key": "wbc", "openmrs_entity_parent": "", @@ -449,24 +394,6 @@ } } }, - { - "key": "wbc_danger_toaster", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "{{tests_blood_haemoglobin_sub_form.step1.wbc_danger_toaster.text}}", - "toaster_info_text": "{{tests_blood_haemoglobin_sub_form.step1.wbc_danger_toaster.toaster_info_text}}", - "toaster_info_title": "{{tests_blood_haemoglobin_sub_form.step1.wbc_danger_toaster.toaster_info_title}}", - "toaster_type": "problem", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "tests_relevance_rules.yml" - } - } - } - }, { "key": "platelets", "openmrs_entity_parent": "", @@ -491,24 +418,6 @@ } } } - }, - { - "key": "paltelets_danger_toaster", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "{{tests_blood_haemoglobin_sub_form.step1.paltelets_danger_toaster.text}}", - "toaster_info_text": "{{tests_blood_haemoglobin_sub_form.step1.paltelets_danger_toaster.toaster_info_text}}", - "toaster_info_title": "{{tests_blood_haemoglobin_sub_form.step1.paltelets_danger_toaster.toaster_info_title}}", - "toaster_type": "problem", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "tests_relevance_rules.yml" - } - } - } } ], "count": 1, diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_type_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_type_sub_form.json index 6288ffb..29e6183 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_type_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_blood_type_sub_form.json @@ -114,11 +114,11 @@ "hint": "{{tests_blood_type_sub_form.step1.blood_type_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "blood_type_relevance_rules.yml" } } }, @@ -162,7 +162,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "blood_type_calculation_rules.yml" } } } @@ -179,14 +179,14 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "blood_type_relevance_rules.yml" } } }, "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "blood_type_calculation_rules.yml" } } }, @@ -244,7 +244,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "blood_type_relevance_rules.yml" } } } @@ -282,7 +282,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "blood_type_relevance_rules.yml" } } } @@ -300,7 +300,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "blood_type_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_hepatitis_b_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_hepatitis_b_sub_form.json index ec143c0..aa9595a 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_hepatitis_b_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_hepatitis_b_sub_form.json @@ -101,7 +101,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } @@ -115,11 +115,11 @@ "hint": "{{tests_hepatitis_b_sub_form.step1.hepb_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } }, @@ -139,7 +139,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } @@ -155,7 +155,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } @@ -172,14 +172,14 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } }, "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } }, @@ -225,7 +225,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } }, @@ -267,7 +267,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } @@ -305,7 +305,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } @@ -343,7 +343,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } @@ -359,7 +359,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } @@ -377,7 +377,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } @@ -393,7 +393,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepb_screening_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_hepatitis_c_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_hepatitis_c_sub_form.json index d1c03db..aa21920 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_hepatitis_c_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_hepatitis_c_sub_form.json @@ -99,7 +99,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepc_screening_relevance_rules.yml" } } } @@ -115,7 +115,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepc_screening_relevance_rules.yml" } } } @@ -131,7 +131,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "hepc_screening_calculation_rules.yml" } } } @@ -148,14 +148,14 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepc_screening_relevance_rules.yml" } } }, "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "hepc_screening_calculation_rules.yml" } } }, @@ -173,11 +173,11 @@ "hint": "{{tests_hepatitis_c_sub_form.step1.hepc_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepc_screening_relevance_rules.yml" } } }, @@ -228,7 +228,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepc_screening_relevance_rules.yml" } } } @@ -265,7 +265,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hepc_screening_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_hiv_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_hiv_sub_form.json index b43f38c..bbde4eb 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_hiv_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_hiv_sub_form.json @@ -118,7 +118,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_screening_relevance_rules.yml" } } } @@ -134,7 +134,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "hiv_screening_calculation_rules.yml" } } } @@ -151,7 +151,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_screening_relevance_rules.yml" } } }, @@ -162,7 +162,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "hiv_screening_calculation_rules.yml" } } } @@ -176,11 +176,11 @@ "hint": "{{tests_hiv_sub_form.step1.hiv_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_screening_relevance_rules.yml" } } }, @@ -230,7 +230,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_screening_relevance_rules.yml" } } } @@ -283,7 +283,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "hiv_screening_calculation_rules.yml" } } } @@ -299,7 +299,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_screening_relevance_rules.yml" } } } @@ -317,7 +317,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_screening_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_partner_hiv_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_partner_hiv_sub_form.json index caf94c4..a0bd508 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_partner_hiv_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_partner_hiv_sub_form.json @@ -113,7 +113,7 @@ "hint": "{{tests_partner_hiv_sub_form.step1.hiv_test_partner_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_partner_rpr_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_partner_rpr_sub_form.json index bdb7266..d314df1 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_partner_rpr_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_partner_rpr_sub_form.json @@ -101,7 +101,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_screening_relevance_rules.yml" } } } @@ -112,12 +112,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "edit_text", - "hint": "{{tests_partner_rpr_sub_form.step1.partner_rpr_test_notdone_other.hint}}", + "hint": "{{rpr_screening_partner_rpr_sub_form.step1.partner_rpr_test_notdone_other.hint}}", "edit_type": "name", "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_screening_relevance_rules.yml" } } } @@ -133,7 +133,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "rpr_screening_calculation_rules.yml" } } } @@ -150,18 +150,18 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_screening_relevance_rules.yml" } } }, "v_required": { "value": true, - "err": "{{tests_partner_rpr_sub_form.step1.partner_rpr_test_date.v_required.err}}" + "err": "{{rpr_screening_partner_rpr_sub_form.step1.partner_rpr_test_date.v_required.err}}" }, "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "rpr_screening_calculation_rules.yml" } } } @@ -172,14 +172,14 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "date_picker", - "hint": "{{tests_partner_rpr_sub_form.step1.partner_rpr_test_scheduled_date.hint}}", + "hint": "{{rpr_screening_partner_rpr_sub_form.step1.partner_rpr_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_screening_relevance_rules.yml" } } }, @@ -229,7 +229,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_screening_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_syphilis_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_syphilis_sub_form.json index 5ed7906..d5e76ee 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_syphilis_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_syphilis_sub_form.json @@ -72,7 +72,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } } @@ -90,7 +90,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } } @@ -104,11 +104,11 @@ "hint": "{{tests_syphilis_sub_form.step1.syph_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } }, @@ -154,7 +154,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } }, @@ -173,7 +173,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } } @@ -189,7 +189,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "syphilis_test_calculation_rules.yml" } } } @@ -206,14 +206,14 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } }, "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "syphilis_test_calculation_rules.yml" } } }, @@ -259,7 +259,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } }, @@ -299,7 +299,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } } @@ -336,7 +336,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } } @@ -373,7 +373,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } } @@ -389,7 +389,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "syphilis_test_calculation_rules.yml" } } } @@ -407,7 +407,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_test_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_tb_screening_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_tb_screening_sub_form.json index d5a40d1..2932561 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_tb_screening_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_tb_screening_sub_form.json @@ -155,7 +155,7 @@ "hint": "{{tests_tb_screening_sub_form.step1.tb_screening_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { @@ -195,7 +195,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "tb_screening_calculation_rules.yml" } } } @@ -219,7 +219,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "tb_screening_calculation_rules.yml" } } }, diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_ultrasound_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_ultrasound_sub_form.json index 62ab6d7..7f54974 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_ultrasound_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_ultrasound_sub_form.json @@ -106,11 +106,11 @@ "hint": "{{tests_ultrasound_sub_form.step1.ultrasound_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "ultrasound_sub_form_relevance_rules.yml" } } }, @@ -164,7 +164,7 @@ "hint": "{{tests_ultrasound_sub_form.step1.ultrasound_date.hint}}", "expanded": "false", "max_date": "today", - "min_date": "today-9m", + "relevance": { "rules-engine": { "ex-rules": { diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_urine_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_urine_sub_form.json index 3103ae4..35b8019 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_urine_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_urine_sub_form.json @@ -89,7 +89,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } }, @@ -117,7 +117,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -131,11 +131,11 @@ "hint": "{{tests_urine_sub_form.step1.urine_test_scheduled_date.hint}}", "expanded": "false", "max_date": "today+10m", - "min_date": "today", + "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } }, @@ -155,7 +155,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "urine_screening_calculation_rules.yml" } } } @@ -172,14 +172,14 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } }, "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "urine_screening_calculation_rules.yml" } } }, @@ -227,7 +227,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } }, @@ -285,7 +285,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -323,7 +323,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -385,7 +385,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -447,7 +447,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -509,7 +509,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -571,7 +571,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -585,7 +585,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "urine_screening_calculation_rules.yml" } } } @@ -603,7 +603,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -619,7 +619,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "tests_calculation_rules.yml" + "rules-file": "urine_screening_calculation_rules.yml" } } } @@ -637,7 +637,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } @@ -655,7 +655,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_screening_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/rule/blood_haemoglobin_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/blood_haemoglobin_screening_calculation_rules.yml new file mode 100644 index 0000000..4d19b38 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/blood_haemoglobin_screening_calculation_rules.yml @@ -0,0 +1,14 @@ +--- +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 : '' " diff --git a/opensrp-anc/src/main/assets/rule/blood_haemoglobin_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/blood_haemoglobin_screening_relevance_rules.yml new file mode 100644 index 0000000..5bab3ac --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/blood_haemoglobin_screening_relevance_rules.yml @@ -0,0 +1,14 @@ +--- +name: step1_hb_gmeter +description: hb_gmeter +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'hb_test_haemoglobinometer'" +actions: + - "isRelevant = true" +--- +name: step2_hb_gmeter +description: hb_gmeter +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'hb_test_haemoglobinometer'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/blood_type_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/blood_type_screening_calculation_rules.yml new file mode 100644 index 0000000..22df69c --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/blood_type_screening_calculation_rules.yml @@ -0,0 +1,14 @@ +--- +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()" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/blood_type_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/blood_type_screening_relevance_rules.yml new file mode 100644 index 0000000..0ae104e --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/blood_type_screening_relevance_rules.yml @@ -0,0 +1,322 @@ +--- +name: step1_ultrasound_notdone +description: Ultrasound not done reason +priority: 1 +condition: "step1_ultrasound == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_notdone +description: Ultrasound not done reason +priority: 1 +condition: "step2_ultrasound == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_notdone_other +description: Ultrasound not done reason +priority: 1 +condition: "step1_ultrasound_notdone != '' && step1_ultrasound_notdone == 'other'" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_notdone_other +description: Ultrasound not done reason +priority: 1 +condition: "step2_ultrasound_notdone != '' && step2_ultrasound_notdone == 'other'" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_date +description: Date that the ultrasound was done. +priority: 1 +condition: "(step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_date +description: Date that the ultrasound was done. +priority: 1 +condition: "(step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_gest_age_wks +description: GA from ultrasound - weeks +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_gest_age_wks +description: GA from ultrasound - weeks +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_gest_age_days +description: GA from ultrasound - days +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_gest_age_days +description: GA from ultrasound - days +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_done_early_toaster +description: Early ultrasound done! +priority: 1 +condition: "((step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier') && step1_ultrasound_gest_age_wks < 24)" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_done_early_toaster +description: Early ultrasound done! +priority: 1 +condition: "((step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && step2_ultrasound_gest_age_wks < 24)" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_info_toaster +description: ultrasound info! +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_info_toaster +description: ultrasound info! +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_no_of_fetuses_label +description: No. of fetuses +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_no_of_fetuses_label +description: No. of fetuses +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_no_of_fetuses +description: No. of fetuses +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_no_of_fetuses +description: No. of fetuses +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_pre_eclampsia_toaster +description: Pre-eclampsia risk counseling +priority: 1 +condition: "step1_preeclampsia_risk == 1" +actions: + - "isRelevant = true" +--- +name: step2_pre_eclampsia_toaster +description: Pre-eclampsia risk counseling +priority: 1 +condition: "step2_preeclampsia_risk == 1" +actions: + - "isRelevant = true" +--- +name: step1_fetal_presentation +description: Fetal presentation +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_fetal_presentation +description: Fetal presentation +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_amniotic_fluid +description: Amniotic fluid +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_amniotic_fluid +description: Amniotic fluid +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_placenta_location +description: Placenta location +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_placenta_location +description: Placenta location +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_select_gest_age_edd +description: Select preferred gestational age +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_select_gest_age_edd +description: Select preferred gestational age +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_select_gest_age_edd_label +description: select_gest_age_edd_label +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_select_gest_age_edd_label +description: select_gest_age_edd_label +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_sfh_ultrasound_gest_age_selection +description: sfh_ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && step2_ultrasound_gest_age_wks >= 24)" +actions: + - "isRelevant = true" +--- +name: step2_lmp_ultrasound_gest_age_selection +description: lmp_ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'yes' && global_ultrasound_done == 'yes')" +actions: + - "isRelevant = true" +--- +name: step2_sfh_gest_age_selection +description: sfh_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'no' && global_ultrasound_done == 'no')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_gest_age_selection +description: ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == '' || global_ultrasound_done == '' || (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && (step2_ultrasound_gest_age_wks == '' || step2_ultrasound_gest_age_wks < 24)))" +actions: + - "isRelevant = true" +--- +name: step2_lmp_gest_age_selection +description: lmp_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'yes' && global_ultrasound_done == 'no')" +actions: + - "isRelevant = true" +--- +name: step1_sfh_ultrasound_gest_age_selection +description: sfh_ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && step1_ultrasound_gest_age_wks >= 24)" +actions: + - "isRelevant = true" +--- +name: step1_lmp_ultrasound_gest_age_selection +description: lmp_ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'yes' && global_ultrasound_done == 'yes')" +actions: + - "isRelevant = true" +--- +name: step1_sfh_gest_age_selection +description: sfh_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'no' && global_ultrasound_done == 'no')" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_gest_age_selection +description: ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == '' || global_ultrasound_done == '' || (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && (step1_ultrasound_gest_age_wks == '' || step1_ultrasound_gest_age_wks < 24)))" +actions: + - "isRelevant = true" +--- +name: step1_lmp_gest_age_selection +description: lmp_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'yes' && global_ultrasound_done == 'no')" +actions: + - "isRelevant = true" +--- +name: step1_fetal_body_movement +description: Fetal body movement +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_fetal_body_movement +description: Fetal body movement +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_congenital_abnormality +description: congenital abnormality +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_congenital_abnormality +description: congenital abnormality +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_respiratory_movement +description: respiratory movement +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_respiratory_movement +description: respiratory movement +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/glucose_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/glucose_screening_calculation_rules.yml new file mode 100644 index 0000000..3693822 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/glucose_screening_calculation_rules.yml @@ -0,0 +1,7 @@ +--- +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()" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/glucose_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/glucose_screening_relevance_rules.yml new file mode 100644 index 0000000..db80960 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/glucose_screening_relevance_rules.yml @@ -0,0 +1,665 @@ +--- +name: step1_urine_glucose +description: Urine dipstick result - glucose +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_glucose +description: Urine dipstick result - glucose +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_gdm_risk_toaster +description: Gestational diabetes mellitus (GDM) risk counseling +priority: 1 +condition: "step1_gdm_risk == 1 && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_gdm') != '1' && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_dm_in_preg') != '1'" +actions: + - "isRelevant = true" +--- +name: step2_gdm_risk_toaster +description: Gestational diabetes mellitus (GDM) risk counseling +priority: 1 +condition: "step2_gdm_risk == 1 && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_gdm') != '1' && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_dm_in_preg') != '1'" +actions: + - "isRelevant = true" +--- +name: step1_asb_positive_toaster +description: asb_positive_toaster +priority: 1 +condition: "step1_asb_positive == 1" +actions: + - "isRelevant = true" +--- +name: step2_asb_positive_toaster +description: asb_positive_toaster +priority: 1 +condition: "step2_asb_positive == 1" +actions: + - "isRelevant = true" +--- +name: step1_gbs_agent_note +description: gbs_agent_note +priority: 1 +condition: "step1_urine_culture == 'positive_gbs'" +actions: + - "isRelevant = true" +--- +name: step2_gbs_agent_note +description: gbs_agent_note +priority: 1 +condition: "step2_urine_culture == 'positive_gbs'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_date +description: Blood glucose test date. +priority: 1 +condition: "step2_glucose_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_date +description: Rubella test date. +priority: 1 +condition: "step2_rubella_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_type +description: Blood glucose test. +priority: 1 +condition: "step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier' || step2_glucose_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_fasting_plasma_gluc +description: Fasting plasma glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'fasting_plasma'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_fasting +description: 75g OGTT - fasting glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_1 +description: 75g OGTT - 1 hr results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_2 +description: 75g OGTT - 2 hrs results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_random_plasma +description: Random plasma glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'random_plasma'" +actions: + - "isRelevant = true" +--- +name: step2_gestational_diabetes_danger_toaster +description: gestational_diabetes_danger_toaster +priority: 1 +condition: "step2_gdm == 1" +actions: + - "isRelevant = true" +--- +name: step2_diabetes_mellitus_danger_toaster +description: diabetes_mellitus_danger_toaster +priority: 1 +condition: "step2_dm_in_preg == 1" +actions: + - "isRelevant = true" +--- +name: step2_dietary_intervention_danger_toaster +description: dietary_intervention_danger_toaster +priority: 1 +condition: "step2_gdm == 1 || step2_dm_in_preg == 1" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_notdone +description: hb_test_notdone +priority: 1 +condition: "step1_hb_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_notdone +description: hb_test_notdone +priority: 1 +condition: "step2_hb_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_notdone_other +description: hb_test_notdone_other +priority: 1 +condition: "step1_hb_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_notdone_other +description: hb_test_notdone_other +priority: 1 +condition: "step2_hb_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_date +description: hb_test_date +priority: 1 +condition: "step1_hb_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_date +description: hb_test_date +priority: 1 +condition: "step2_hb_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_type +description: hb_test_type +priority: 1 +condition: "step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier' || step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_type +description: hb_test_type +priority: 1 +condition: "step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier' || step2_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_cbc +description: cbc +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_cbc +description: cbc +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_hb_gmeter +description: hb_gmeter +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'hb_test_haemoglobinometer'" +actions: + - "isRelevant = true" +--- +name: step2_hb_gmeter +description: hb_gmeter +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'hb_test_haemoglobinometer'" +actions: + - "isRelevant = true" +--- +name: step1_hb_colour +description: hb_test_type +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'hb_test_colour_scale'" +actions: + - "isRelevant = true" +--- +name: step2_hb_colour +description: hb_test_type +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'hb_test_colour_scale'" +actions: + - "isRelevant = true" +--- +name: step1_anaemia_diagnosis_danger_toaster +description: anaemia_diagnosis_danger_toaster +priority: 1 +condition: "step1_anaemic == 1" +actions: + - "isRelevant = true" +--- +name: step2_anaemia_diagnosis_danger_toaster +description: anaemia_diagnosis_danger_toaster +priority: 1 +condition: "step2_anaemic == 1" +actions: + - "isRelevant = true" +--- +name: step1_ht +description: ht +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_ht +description: ht +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_hematocrit_danger_toaster +description: hematocrit_danger_toaster +priority: 1 +condition: "step1_ht > 0 && step1_ht < 20" +actions: + - "isRelevant = true" +--- +name: step2_hematocrit_danger_toaster +description: hematocrit_danger_toaster +priority: 1 +condition: "step2_ht > 0 && step2_ht < 20" +actions: + - "isRelevant = true" +--- +name: step1_wbc +description: wbc +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_wbc +description: wbc +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_wbc_danger_toaster +description: wbc_danger_toaster +priority: 1 +condition: "step1_wbc > 16000" +actions: + - "isRelevant = true" +--- +name: step2_wbc_danger_toaster +description: wbc_danger_toaster +priority: 1 +condition: "step2_wbc > 16000" +actions: + - "isRelevant = true" +--- +name: step1_platelets +description: platelets +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_platelets +description: platelets +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_paltelets_danger_toaster +description: paltelets_danger_toaster +priority: 1 +condition: "step1_platelets > 0 && step1_platelets < 100000" +actions: + - "isRelevant = true" +--- +name: step2_paltelets_danger_toaster +description: paltelets_danger_toaster +priority: 1 +condition: "step2_platelets > 0 && step2_platelets < 100000" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_notdone +description: tb_screening_status +priority: 1 +condition: "step1_tb_screening_status != '' && step1_tb_screening_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_notdone +description: tb_screening_status +priority: 1 +condition: "step2_tb_screening_status != '' && step2_tb_screening_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_date +description: tb date +priority: 1 +condition: "step1_tb_screening_status != '' && step1_tb_screening_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_date +description: tb date +priority: 1 +condition: "step2_tb_screening_status != '' && step2_tb_screening_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_danger_toaster +description: tb toaster +priority: 1 +condition: "step1_tb_screening_result != '' && step1_tb_screening_result == 'positive'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_danger_toaster +description: tb toaster +priority: 1 +condition: "step2_tb_screening_result!= '' && step2_tb_screening_result == 'positive'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_notdone_other +description: tb_screening_status +priority: 1 +condition: "!step1_tb_screening_notdone.isEmpty() && step1_tb_screening_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_notdone_other +description: tb_screening_status +priority: 1 +condition: "!step2_tb_screening_notdone.isEmpty() && step2_tb_screening_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_result +description: tb_screening_result +priority: 1 +condition: "step1_tb_screening_status != '' && (step1_tb_screening_status == 'done_today' || step1_tb_screening_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_result +description: tb_screening_result +priority: 1 +condition: "step2_tb_screening_status != '' && (step2_tb_screening_status == 'done_today' || step2_tb_screening_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_blood_type_test_date +description: blood_type_test_date +priority: 1 +condition: "(step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_blood_type_test_date +description: blood_type_test_date +priority: 1 +condition: "(step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_blood_type +description: blood_type +priority: 1 +condition: "(step1_blood_type_test_status == 'done_today' || step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_blood_type +description: blood_type +priority: 1 +condition: "(step2_blood_type_test_status == 'done_today' || step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_rh_factor +description: rh_factor +priority: 1 +condition: "(step1_blood_type_test_status == 'done_today' || step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_rh_factor +description: rh_factor +priority: 1 +condition: "(step2_blood_type_test_status == 'done_today' || step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_rh_factor_toaster +description: rh_factor +priority: 1 +condition: "(step1_rh_factor != '' && step1_rh_factor == 'negative')" +actions: + - "isRelevant = true" +--- +name: step2_rh_factor_toaster +description: rh_factor +priority: 1 +condition: "(step2_rh_factor != '' && step2_rh_factor == 'negative')" +actions: + - "isRelevant = true" +--- +name: step2_other_test_name +description: other_test_name +priority: 1 +condition: "step2_other_test == 'done_earlier' || step2_other_test == 'done_today'" +actions: + - "isRelevant = true" +--- +name: step2_other_test_result +description: other_test_result +priority: 1 +condition: "step2_other_test == 'done_earlier' || step2_other_test == 'done_today'" +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_date +description: Date that the partner RPR test was done. +priority: 1 +condition: "step2_partner_rpr_test_status != '' && step2_partner_rpr_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_date +description: Date that the partner RPR test was done. +priority: 1 +condition: "step2_cmv_test_status != '' && step2_cmv_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_notdone +description: Partner RPR not done +priority: 1 +condition: "step2_partner_rpr_test_status != '' && step2_partner_rpr_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_notdone +description: CMV test not done +priority: 1 +condition: "step2_cmv_test_status != '' && step2_cmv_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_partner_rpr_test_notdone.isEmpty() && step2_partner_rpr_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_cmv_test_notdone.isEmpty() && step2_cmv_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_result +description: Partener RPR test result +priority: 1 +condition: "step2_partner_rpr_test_status != '' && (step2_partner_rpr_test_status == 'done_today' || step2_partner_rpr_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_result +description: CMV test result +priority: 1 +condition: "step2_cmv_test_status != '' && (step2_cmv_test_status == 'done_today' || step2_cmv_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_type +description: CMV test result +priority: 1 +condition: "step2_cmv_test_status != '' && (step2_cmv_test_status == 'done_today' || step2_cmv_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_date +description: Date that the Herps test was done. +priority: 1 +condition: "step2_herps_test_status != '' && step2_herps_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone +description: Herps test not done +priority: 1 +condition: "step2_herps_test_status != '' && step2_herps_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_herps_test_notdone.isEmpty() && step2_herps_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_herps_test_result +description: Herpstest result +priority: 1 +condition: "step2_herps_test_status != '' && (step2_herps_test_status == 'done_today' || step2_herps_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_type +description: Herps test Type +priority: 1 +condition: "step2_herps_test_status != '' && (step2_herps_test_status == 'done_today' || step2_herps_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_notdone +description: Rubella test not done +priority: 1 +condition: "step2_rubella_test_status != '' && step2_rubella_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_rubella_test_notdone.isEmpty() && step2_rubella_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_result +description: Rubella test result +priority: 1 +condition: "step2_rubella_test_status != '' && (step2_rubella_test_status == 'done_today' || step2_rubella_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_type +description: Rubellatest result +priority: 1 +condition: "step2_rubella_test_status != '' && (step2_rubella_test_status == 'done_today' || step2_rubella_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step1_blood_type_test_scheduled_date +description: blood_type_test_scheduled_date +priority: 1 +condition: "step1_blood_type_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_blood_type_test_scheduled_date +description: blood_type_test_scheduled_date +priority: 1 +condition: "step2_blood_type_test_status == 'orderes'" +actions: + - "isRelevant = true" +--- +name: step1_hepb_test_scheduled_date +description: hepb_test_scheduled_date +priority: 1 +condition: "step1_hepb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hepb_test_scheduled_date +description: hepb_test_scheduled_date +priority: 1 +condition: "step2_hepb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step2_hb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step2_hb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_glucose_test_scheduled_date +description: glucose_test_scheduled_date +priority: 1 +condition: "step1_glucose_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_scheduled_date +description: glucose_test_scheduled_date +priority: 1 +condition: "step2_glucose_test_status== 'ordered'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/hepb_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/hepb_screening_calculation_rules.yml new file mode 100644 index 0000000..f86b435 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/hepb_screening_calculation_rules.yml @@ -0,0 +1,14 @@ +--- +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" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/hepb_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/hepb_screening_relevance_rules.yml new file mode 100644 index 0000000..cbb18c2 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/hepb_screening_relevance_rules.yml @@ -0,0 +1,55 @@ +name: step1_hepb_test_notdone +description: Reason +priority: 1 +condition: "step1_hepb_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_hepb_test_notdone +description: Reason +priority: 1 +condition: "step2_hepb_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_hepb_test_notdone_other +description: Reason +priority: 1 +condition: "!step1_hepb_test_notdone.isEmpty() && step1_hepb_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_hepb_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_hepb_test_notdone.isEmpty() && step2_hepb_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_hepb_test_date +description: Hep B test date +priority: 1 +condition: "(step1_hepb_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hepb_test_date +description: Hep B test date +priority: 1 +condition: "(step2_hepb_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_hepb_test_type +description: Hep B test type +priority: 1 +condition: "(step1_hepb_test_status == 'done_today' || step1_hepb_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hepb_test_type +description: Hep B test type +priority: 1 +condition: "(step2_hepb_test_status == 'done_today' || step2_hepb_test_status == 'done_earlier')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/hepc_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/hepc_screening_calculation_rules.yml new file mode 100644 index 0000000..085f9b1 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/hepc_screening_calculation_rules.yml @@ -0,0 +1,14 @@ +--- +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" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/hepc_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/hepc_screening_relevance_rules.yml new file mode 100644 index 0000000..1543233 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/hepc_screening_relevance_rules.yml @@ -0,0 +1,112 @@ +--- +name: step1_hepc_test_notdone +description: Reason +priority: 1 +condition: "step1_hepc_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_hepc_test_notdone +description: Reason +priority: 1 +condition: "step2_hepc_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_hepc_test_date +description: Hep C test date +priority: 1 +condition: "(step1_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hepc_test_date +description: Hep C test date +priority: 1 +condition: "(step2_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_hepc_test_type +description: Hep C test type +priority: 1 +condition: "(step1_hepc_test_status == 'done_today' || step1_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hepc_test_type +description: Hep C test type +priority: 1 +condition: "(step2_hepc_test_status == 'done_today' || step2_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_hcv_lab_ima +description: Anti-HCV laboratory-based immunoassay (recommended) +priority: 1 +condition: "(step1_hepc_test_type == 'anti_hcv_lab_based' && step1_hepc_test_status == 'done_today') || (step1_hepc_test_type == 'anti_hcv_lab_based' && step1_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hcv_lab_ima +description: Anti-HCV laboratory-based immunoassay (recommended) +priority: 1 +condition: "(step2_hepc_test_type == 'anti_hcv_lab_based' && step2_hepc_test_status == 'done_today') || (step2_hepc_test_type == 'anti_hcv_lab_based' && step2_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_hcv_rdt +description: Anti-HCV rapid diagnostic test (RDT) +priority: 1 +condition: "(step1_hepc_test_type == 'anti_hcv_rdt' && step1_hepc_test_status == 'done_today') || (step1_hepc_test_type == 'anti_hcv_rdt' && step1_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hcv_rdt +description: Anti-HCV rapid diagnostic test (RDT) +priority: 1 +condition: "(step2_hepc_test_type == 'anti_hcv_rdt' && step2_hepc_test_status == 'done_today') || (step2_hepc_test_type == 'anti_hcv_rdt' && step2_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_hcv_dbs +description: Dried Blood Spot (DBS) anti-HCV test +priority: 1 +condition: "(step1_hepc_test_type == 'anti_hcv_dbs' && step1_hepc_test_status == 'done_today') || (step1_hepc_test_type == 'anti_hcv_dbs' && step1_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hcv_dbs +description: Dried Blood Spot (DBS) anti-HCV test +priority: 1 +condition: "(step2_hepc_test_type == 'anti_hcv_dbs' && step2_hepc_test_status == 'done_today') || (step2_hepc_test_type == 'anti_hcv_dbs' && step2_hepc_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_hepc_test_notdone_other +description: Reason +priority: 1 +condition: "!step1_hepc_test_notdone.isEmpty() && step1_hepc_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_hepc_test_notdone_other +description: Reason +priority: 1 +condition: "!step1_hepc_test_notdone.isEmpty() && step1_hepc_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_hepatitis_c_danger_toaster +description: Counselling and referral required. +priority: 1 +condition: "step1_hepc_positive == 1" +actions: + - "isRelevant = true" +--- +name: step2_hepatitis_c_danger_toaster +description: Counselling and referral required. +priority: 1 +condition: "step2_hepc_positive == 1" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/hiv_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/hiv_screening_calculation_rules.yml new file mode 100644 index 0000000..2b2d472 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/hiv_screening_calculation_rules.yml @@ -0,0 +1,210 @@ +--- +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()" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/hiv_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/hiv_screening_relevance_rules.yml new file mode 100644 index 0000000..290314e --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/hiv_screening_relevance_rules.yml @@ -0,0 +1,105 @@ +--- +name: step1_hiv_test_date +description: Date that the ultrasound was done. +priority: 1 +condition: "step1_hiv_test_status != '' && step1_hiv_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_date +description: Date that the ultrasound was done. +priority: 1 +condition: "step2_hiv_test_status != '' && step2_hiv_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step1_hiv_test_notdone +description: HIV not done +priority: 1 +condition: "step1_hiv_test_status != '' && step1_hiv_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_notdone +description: HIV not done. +priority: 1 +condition: "step2_hiv_test_status != '' && step2_hiv_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step1_hiv_test_notdone_other +description: Reason +priority: 1 +condition: "!step1_hiv_test_notdone.isEmpty() && step1_hiv_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_hiv_test_notdone.isEmpty() && step2_hiv_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_hiv_inconclusive_toaster +description: HIV test resupt +priority: 1 +condition: "step1_hiv_test_result != '' && step1_hiv_test_result == 'inconclusive'" +actions: + - "isRelevant = true" +--- +name: step2_hiv_inconclusive_toaster +description: HIV test resupt +priority: 1 +condition: "step2_hiv_test_result != '' && step2_hiv_test_result == 'inconclusive'" +actions: + - "isRelevant = true" +--- +name: step1_hiv_test_result +description: HIV test result +priority: 1 +condition: "step1_hiv_test_status != '' && (step1_hiv_test_status == 'done_today' || step1_hiv_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_result +description: HIV test result +priority: 1 +condition: "step2_hiv_test_status != '' && (step2_hiv_test_status == 'done_today' || step2_hiv_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step1_hiv_positive_toaster +description: HIV positive counseling +priority: 1 +condition: "(step1_hiv_positive == 1)" +actions: + - "isRelevant = true" +--- +name: step2_hiv_positive_toaster +description: HIV positive counseling +priority: 1 +condition: "(step2_hiv_positive == 1)" +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_partner_date +description: Partner HIV test date +priority: 1 +condition: "(step2_hiv_test_partner_status != '' && step2_hiv_test_partner_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_partner_result +description: partner HIV result +priority: 1 +condition: "step2_hiv_test_partner_status != '' && (step2_hiv_test_partner_status == 'done_today' || step2_hiv_test_partner_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_hiv_risk_toaster +description: hiv_risk_toaster +priority: 1 +condition: "step2_hiv_risk == 1" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/profile_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/profile_relevance_rules.yml index 765c9c2..90f17c3 100644 --- a/opensrp-anc/src/main/assets/rule/profile_relevance_rules.yml +++ b/opensrp-anc/src/main/assets/rule/profile_relevance_rules.yml @@ -65,28 +65,28 @@ actions: name: step3_miscarriages_abortions_label description: Miscarrige abortions label priority: 1 -condition: "step3_previous_pregnancies > 0 " +condition: "(step3_gravida - 1) > 0 " actions: - "isRelevant = true" --- name: step3_miscarriages_abortions description: Miscarrige abortions priority: 1 -condition: "step3_previous_pregnancies > 0 " +condition: "(step3_gravida - 1) > 0 " actions: - "isRelevant = true" --- name: step3_live_births_label description: Live births label priority: 1 -condition: "((step3_previous_pregnancies - step3_miscarriages_abortions) > 0)" +condition: "(((step3_gravida - 1) - step3_miscarriages_abortions) > 0)" actions: - "isRelevant = true" --- name: step3_live_births description: Live births priority: 1 -condition: "((step3_previous_pregnancies - step3_miscarriages_abortions) > 0)" +condition: "(((step3_gravida - 1) - step3_miscarriages_abortions) > 0)" actions: - "isRelevant = true" --- @@ -100,7 +100,7 @@ actions: name: step3_stillbirths_label description: Still births label priority: 1 -condition: "((step3_previous_pregnancies - step3_miscarriages_abortions - step3_live_births) > 0)" +condition: "(((step3_gravida - 1 ) - step3_miscarriages_abortions - step3_live_births) > 0)" actions: - "isRelevant = true" --- @@ -114,28 +114,28 @@ actions: name: step3_stillbirths description: Slill births priority: 1 -condition: "((step3_previous_pregnancies - step3_miscarriages_abortions - step3_live_births) > 0) " +condition: "(((step3_gravida - 1 ) - step3_miscarriages_abortions - step3_live_births) > 0) " actions: - "isRelevant = true" --- name: step3_prev_preg_comps description: Previous pregnancy complications priority: 1 -condition: "step3_previous_pregnancies > 0 " +condition: "(step3_gravida - 1 ) > 0 " actions: - "isRelevant = true" --- name: step3_c_sections_label description: C-sections label priority: 1 -condition: "step3_parity > 0 " +condition: "(step3_live_births + ((step3_gravida - 1) - step3_miscarriages_abortions- step3_live_births ) ) > 0 " actions: - "isRelevant = true" --- name: step3_c_sections description: C-sections label priority: 1 -condition: "step3_parity > 0 " +condition: "(step3_live_births + ((step3_gravida - 1) - step3_miscarriages_abortions- step3_live_births ) ) > 0 " actions: - "isRelevant = true" --- @@ -191,14 +191,14 @@ actions: name: step3_date_last_born description: Date of Birth for last born priority: 1 -condition: "((step3_previous_pregnancies - step3_miscarriages_abortions) > 0)" +condition: "(((step3_gravida - 1 ) - step3_miscarriages_abortions) > 0)" actions: - "isRelevant = true" --- name: step3_last_born_status description: Last born status priority: 1 -condition: "(step3_children_live > 0)" +condition: "(step3_children_live > 0 && step3_children_live < step3_live_births)" actions: - "isRelevant = true" --- @@ -366,7 +366,7 @@ actions: name: step3_multiple_pregnancy description: multiple_pregnancy priority: 1 -condition: "step3_previous_pregnancies > 0 " +condition: "(step3_gravida - 1 ) > 0 " actions: - "isRelevant = true" --- diff --git a/opensrp-anc/src/main/assets/rule/rpr_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/rpr_screening_calculation_rules.yml new file mode 100644 index 0000000..8df310e --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/rpr_screening_calculation_rules.yml @@ -0,0 +1,14 @@ +--- +name: step2_partner_rpr_test_date_today_hidden +description: partner_rpr_test_date +priority: 1 +condition: "step2_partner_rpr_test_status == 'done_today'" +actions: + - "calculation = helper.getDateToday()" +--- +name: step2_cmv_test_date_today_hidden +description: partner_rpr_test_date +priority: 1 +condition: "step2_cmv_test_status == 'done_today'" +actions: + - "calculation = helper.getDateToday()" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/rpr_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/rpr_screening_relevance_rules.yml new file mode 100644 index 0000000..4453964 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/rpr_screening_relevance_rules.yml @@ -0,0 +1,889 @@ +--- +name: step1_rpr_syphilis_test +description: Rapid plasma reagin (RPR) test +priority: 1 +condition: "((step1_syph_test_status == 'done_today' || step1_syph_test_status == 'done_earlier') && step1_syph_test_type == 'rapid_plasma')" +actions: + - "isRelevant = true" +--- +name: step2_rpr_syphilis_test +description: Rapid plasma reagin (RPR) test +priority: 1 +condition: "((step2_syph_test_status == 'done_today' || step2_syph_test_status == 'done_earlier') && step2_syph_test_type == 'rapid_plasma')" +actions: + - "isRelevant = true" +--- +name: step1_lab_syphilis_test +description: Off-site lab test for syphilis +priority: 1 +condition: "((step1_syph_test_status == 'done_today' || step1_syph_test_status == 'done_earlier') && step1_syph_test_type == 'off_site_lab')" +actions: + - "isRelevant = true" +--- +name: step2_lab_syphilis_test +description: Off-site lab test for syphilis +priority: 1 +condition: "((step2_syph_test_status == 'done_today' || step2_syph_test_status == 'done_earlier') && step2_syph_test_type == 'off_site_lab')" +actions: + - "isRelevant = true" +--- +name: step1_syphilis_danger_toaster +description: Syphilis test positive +priority: 1 +condition: "step1_syphilis_positive == 1" +actions: + - "isRelevant = true" +--- +name: step2_syphilis_danger_toaster +description: Syphilis test positive +priority: 1 +condition: "step2_syphilis_positive == 1" +actions: + - "isRelevant = true" +--- +name: step1_urine_test_notdone +description: Reason +priority: 1 +condition: "step1_urine_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_notdone +description: Reason +priority: 1 +condition: "step2_urine_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_urine_test_notdone_other +description: Specify +priority: 1 +condition: "step1_urine_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_notdone_other +description: Specify +priority: 1 +condition: "step2_urine_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_urine_test_date +description: Urine test date +priority: 1 +condition: "step1_urine_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_date +description: Urine test date +priority: 1 +condition: "step2_urine_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_urine_test_type +description: Urine test type +priority: 1 +condition: "step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier' || step1_urine_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_type +description: Urine test type +priority: 1 +condition: "step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier' || step2_urine_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_urine_culture +description: Midstream urine culture (recommended) +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('midstream_urine_culture')" +actions: + - "isRelevant = true" +--- +name: step2_urine_culture +description: Midstream urine culture (recommended) +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('midstream_urine_culture')" +actions: + - "isRelevant = true" +--- +name: step1_urine_gram_stain +description: Midstream urine Gram-staining +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('midstream_urine_gram')" +actions: + - "isRelevant = true" +--- +name: step2_urine_gram_stain +description: Midstream urine Gram-staining +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('midstream_urine_gram')" +actions: + - "isRelevant = true" +--- +name: step1_urine_nitrites +description: Urine dipstick result - nitrites +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_nitrites +description: Urine dipstick result - nitrites +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_urine_leukocytes +description: Urine dipstick result - leukocytes +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_leukocytes +description: Urine dipstick result - leukocytes +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_urine_protein +description: Urine dipstick result - protein +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_protein +description: Urine dipstick result - protein +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_urine_glucose +description: Urine dipstick result - glucose +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_glucose +description: Urine dipstick result - glucose +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_gdm_risk_toaster +description: Gestational diabetes mellitus (GDM) risk counseling +priority: 1 +condition: "step1_gdm_risk == 1 && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_gdm') != '1' && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_dm_in_preg') != '1'" +actions: + - "isRelevant = true" +--- +name: step2_gdm_risk_toaster +description: Gestational diabetes mellitus (GDM) risk counseling +priority: 1 +condition: "step2_gdm_risk == 1 && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_gdm') != '1' && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_dm_in_preg') != '1'" +actions: + - "isRelevant = true" +--- +name: step1_asb_positive_toaster +description: asb_positive_toaster +priority: 1 +condition: "step1_asb_positive == 1" +actions: + - "isRelevant = true" +--- +name: step2_asb_positive_toaster +description: asb_positive_toaster +priority: 1 +condition: "step2_asb_positive == 1" +actions: + - "isRelevant = true" +--- +name: step1_gbs_agent_note +description: gbs_agent_note +priority: 1 +condition: "step1_urine_culture == 'positive_gbs'" +actions: + - "isRelevant = true" +--- +name: step2_gbs_agent_note +description: gbs_agent_note +priority: 1 +condition: "step2_urine_culture == 'positive_gbs'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_date +description: Blood glucose test date. +priority: 1 +condition: "step2_glucose_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_date +description: Rubella test date. +priority: 1 +condition: "step2_rubella_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_type +description: Blood glucose test. +priority: 1 +condition: "step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier' || step2_glucose_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_fasting_plasma_gluc +description: Fasting plasma glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'fasting_plasma'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_fasting +description: 75g OGTT - fasting glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_1 +description: 75g OGTT - 1 hr results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_2 +description: 75g OGTT - 2 hrs results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_random_plasma +description: Random plasma glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'random_plasma'" +actions: + - "isRelevant = true" +--- +name: step2_gestational_diabetes_danger_toaster +description: gestational_diabetes_danger_toaster +priority: 1 +condition: "step2_gdm == 1" +actions: + - "isRelevant = true" +--- +name: step2_diabetes_mellitus_danger_toaster +description: diabetes_mellitus_danger_toaster +priority: 1 +condition: "step2_dm_in_preg == 1" +actions: + - "isRelevant = true" +--- +name: step2_dietary_intervention_danger_toaster +description: dietary_intervention_danger_toaster +priority: 1 +condition: "step2_gdm == 1 || step2_dm_in_preg == 1" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_notdone +description: hb_test_notdone +priority: 1 +condition: "step1_hb_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_notdone +description: hb_test_notdone +priority: 1 +condition: "step2_hb_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_notdone_other +description: hb_test_notdone_other +priority: 1 +condition: "step1_hb_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_notdone_other +description: hb_test_notdone_other +priority: 1 +condition: "step2_hb_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_date +description: hb_test_date +priority: 1 +condition: "step1_hb_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_date +description: hb_test_date +priority: 1 +condition: "step2_hb_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_type +description: hb_test_type +priority: 1 +condition: "step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier' || step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_type +description: hb_test_type +priority: 1 +condition: "step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier' || step2_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_cbc +description: cbc +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_cbc +description: cbc +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_hb_gmeter +description: hb_gmeter +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'hb_test_haemoglobinometer'" +actions: + - "isRelevant = true" +--- +name: step2_hb_gmeter +description: hb_gmeter +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'hb_test_haemoglobinometer'" +actions: + - "isRelevant = true" +--- +name: step1_hb_colour +description: hb_test_type +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'hb_test_colour_scale'" +actions: + - "isRelevant = true" +--- +name: step2_hb_colour +description: hb_test_type +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'hb_test_colour_scale'" +actions: + - "isRelevant = true" +--- +name: step1_anaemia_diagnosis_danger_toaster +description: anaemia_diagnosis_danger_toaster +priority: 1 +condition: "step1_anaemic == 1" +actions: + - "isRelevant = true" +--- +name: step2_anaemia_diagnosis_danger_toaster +description: anaemia_diagnosis_danger_toaster +priority: 1 +condition: "step2_anaemic == 1" +actions: + - "isRelevant = true" +--- +name: step1_ht +description: ht +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_ht +description: ht +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_hematocrit_danger_toaster +description: hematocrit_danger_toaster +priority: 1 +condition: "step1_ht > 0 && step1_ht < 20" +actions: + - "isRelevant = true" +--- +name: step2_hematocrit_danger_toaster +description: hematocrit_danger_toaster +priority: 1 +condition: "step2_ht > 0 && step2_ht < 20" +actions: + - "isRelevant = true" +--- +name: step1_wbc +description: wbc +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_wbc +description: wbc +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_wbc_danger_toaster +description: wbc_danger_toaster +priority: 1 +condition: "step1_wbc > 16000" +actions: + - "isRelevant = true" +--- +name: step2_wbc_danger_toaster +description: wbc_danger_toaster +priority: 1 +condition: "step2_wbc > 16000" +actions: + - "isRelevant = true" +--- +name: step1_platelets +description: platelets +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_platelets +description: platelets +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_paltelets_danger_toaster +description: paltelets_danger_toaster +priority: 1 +condition: "step1_platelets > 0 && step1_platelets < 100000" +actions: + - "isRelevant = true" +--- +name: step2_paltelets_danger_toaster +description: paltelets_danger_toaster +priority: 1 +condition: "step2_platelets > 0 && step2_platelets < 100000" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_notdone +description: tb_screening_status +priority: 1 +condition: "step1_tb_screening_status != '' && step1_tb_screening_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_notdone +description: tb_screening_status +priority: 1 +condition: "step2_tb_screening_status != '' && step2_tb_screening_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_date +description: tb date +priority: 1 +condition: "step1_tb_screening_status != '' && step1_tb_screening_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_date +description: tb date +priority: 1 +condition: "step2_tb_screening_status != '' && step2_tb_screening_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_danger_toaster +description: tb toaster +priority: 1 +condition: "step1_tb_screening_result != '' && step1_tb_screening_result == 'positive'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_danger_toaster +description: tb toaster +priority: 1 +condition: "step2_tb_screening_result!= '' && step2_tb_screening_result == 'positive'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_notdone_other +description: tb_screening_status +priority: 1 +condition: "!step1_tb_screening_notdone.isEmpty() && step1_tb_screening_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_notdone_other +description: tb_screening_status +priority: 1 +condition: "!step2_tb_screening_notdone.isEmpty() && step2_tb_screening_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_result +description: tb_screening_result +priority: 1 +condition: "step1_tb_screening_status != '' && (step1_tb_screening_status == 'done_today' || step1_tb_screening_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_result +description: tb_screening_result +priority: 1 +condition: "step2_tb_screening_status != '' && (step2_tb_screening_status == 'done_today' || step2_tb_screening_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_blood_type_test_date +description: blood_type_test_date +priority: 1 +condition: "(step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_blood_type_test_date +description: blood_type_test_date +priority: 1 +condition: "(step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_blood_type +description: blood_type +priority: 1 +condition: "(step1_blood_type_test_status == 'done_today' || step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_blood_type +description: blood_type +priority: 1 +condition: "(step2_blood_type_test_status == 'done_today' || step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_rh_factor +description: rh_factor +priority: 1 +condition: "(step1_blood_type_test_status == 'done_today' || step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_rh_factor +description: rh_factor +priority: 1 +condition: "(step2_blood_type_test_status == 'done_today' || step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_rh_factor_toaster +description: rh_factor +priority: 1 +condition: "(step1_rh_factor != '' && step1_rh_factor == 'negative')" +actions: + - "isRelevant = true" +--- +name: step2_rh_factor_toaster +description: rh_factor +priority: 1 +condition: "(step2_rh_factor != '' && step2_rh_factor == 'negative')" +actions: + - "isRelevant = true" +--- +name: step2_other_test_name +description: other_test_name +priority: 1 +condition: "step2_other_test == 'done_earlier' || step2_other_test == 'done_today'" +actions: + - "isRelevant = true" +--- +name: step2_other_test_result +description: other_test_result +priority: 1 +condition: "step2_other_test == 'done_earlier' || step2_other_test == 'done_today'" +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_date +description: Date that the partner RPR test was done. +priority: 1 +condition: "step2_partner_rpr_test_status != '' && step2_partner_rpr_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_date +description: Date that the partner RPR test was done. +priority: 1 +condition: "step2_cmv_test_status != '' && step2_cmv_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_notdone +description: Partner RPR not done +priority: 1 +condition: "step2_partner_rpr_test_status != '' && step2_partner_rpr_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_notdone +description: CMV test not done +priority: 1 +condition: "step2_cmv_test_status != '' && step2_cmv_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_partner_rpr_test_notdone.isEmpty() && step2_partner_rpr_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_cmv_test_notdone.isEmpty() && step2_cmv_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_result +description: Partener RPR test result +priority: 1 +condition: "step2_partner_rpr_test_status != '' && (step2_partner_rpr_test_status == 'done_today' || step2_partner_rpr_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_result +description: CMV test result +priority: 1 +condition: "step2_cmv_test_status != '' && (step2_cmv_test_status == 'done_today' || step2_cmv_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_type +description: CMV test result +priority: 1 +condition: "step2_cmv_test_status != '' && (step2_cmv_test_status == 'done_today' || step2_cmv_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_date +description: Date that the Herps test was done. +priority: 1 +condition: "step2_herps_test_status != '' && step2_herps_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone +description: Herps test not done +priority: 1 +condition: "step2_herps_test_status != '' && step2_herps_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_herps_test_notdone.isEmpty() && step2_herps_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_herps_test_result +description: Herpstest result +priority: 1 +condition: "step2_herps_test_status != '' && (step2_herps_test_status == 'done_today' || step2_herps_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_type +description: Herps test Type +priority: 1 +condition: "step2_herps_test_status != '' && (step2_herps_test_status == 'done_today' || step2_herps_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_notdone +description: Rubella test not done +priority: 1 +condition: "step2_rubella_test_status != '' && step2_rubella_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_rubella_test_notdone.isEmpty() && step2_rubella_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_result +description: Rubella test result +priority: 1 +condition: "step2_rubella_test_status != '' && (step2_rubella_test_status == 'done_today' || step2_rubella_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_type +description: Rubellatest result +priority: 1 +condition: "step2_rubella_test_status != '' && (step2_rubella_test_status == 'done_today' || step2_rubella_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step1_blood_type_test_scheduled_date +description: blood_type_test_scheduled_date +priority: 1 +condition: "step1_blood_type_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_blood_type_test_scheduled_date +description: blood_type_test_scheduled_date +priority: 1 +condition: "step2_blood_type_test_status == 'orderes'" +actions: + - "isRelevant = true" +--- +name: step1_hepb_test_scheduled_date +description: hepb_test_scheduled_date +priority: 1 +condition: "step1_hepb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hepb_test_scheduled_date +description: hepb_test_scheduled_date +priority: 1 +condition: "step2_hepb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step2_hb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step2_hb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_glucose_test_scheduled_date +description: glucose_test_scheduled_date +priority: 1 +condition: "step1_glucose_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_scheduled_date +description: glucose_test_scheduled_date +priority: 1 +condition: "step2_glucose_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hepc_test_scheduled_date +description: hepc_test_scheduled_date +priority: 1 +condition: "step1_hepc_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hepc_test_scheduled_date +description: hepc_test_scheduled_date +priority: 1 +condition: "step2_hepc_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hiv_test_scheduled_date +description: hepc_test_scheduled_date +priority: 1 +condition: "step1_hiv_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_scheduled_date +description: hiv_test_scheduled_date +priority: 1 +condition: "step2_hiv_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hiv_test_partner_scheduled_date +description: hiv_test_partner_scheduled_date +priority: 1 +condition: "step1_hiv_test_partner_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_partner_scheduled_date +description: hiv_test_partner_scheduled_date +priority: 1 +condition: "step2_hiv_test_partner_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_partner_rpr_test_scheduled_date +description: partner_rpr_test_scheduled_date +priority: 1 +condition: "step1_partner_rpr_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_scheduled_date +description: partner_rpr_test_scheduled_date +priority: 1 +condition: "step2_partner_rpr_test_status == 'ordered'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/syphilis_test_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/syphilis_test_screening_calculation_rules.yml new file mode 100644 index 0000000..42d6ed8 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/syphilis_test_screening_calculation_rules.yml @@ -0,0 +1,126 @@ +--- +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()" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/syphilis_test_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/syphilis_test_screening_relevance_rules.yml new file mode 100644 index 0000000..0ae104e --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/syphilis_test_screening_relevance_rules.yml @@ -0,0 +1,322 @@ +--- +name: step1_ultrasound_notdone +description: Ultrasound not done reason +priority: 1 +condition: "step1_ultrasound == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_notdone +description: Ultrasound not done reason +priority: 1 +condition: "step2_ultrasound == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_notdone_other +description: Ultrasound not done reason +priority: 1 +condition: "step1_ultrasound_notdone != '' && step1_ultrasound_notdone == 'other'" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_notdone_other +description: Ultrasound not done reason +priority: 1 +condition: "step2_ultrasound_notdone != '' && step2_ultrasound_notdone == 'other'" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_date +description: Date that the ultrasound was done. +priority: 1 +condition: "(step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_date +description: Date that the ultrasound was done. +priority: 1 +condition: "(step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_gest_age_wks +description: GA from ultrasound - weeks +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_gest_age_wks +description: GA from ultrasound - weeks +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_gest_age_days +description: GA from ultrasound - days +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_gest_age_days +description: GA from ultrasound - days +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_done_early_toaster +description: Early ultrasound done! +priority: 1 +condition: "((step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier') && step1_ultrasound_gest_age_wks < 24)" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_done_early_toaster +description: Early ultrasound done! +priority: 1 +condition: "((step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && step2_ultrasound_gest_age_wks < 24)" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_info_toaster +description: ultrasound info! +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_info_toaster +description: ultrasound info! +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_no_of_fetuses_label +description: No. of fetuses +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_no_of_fetuses_label +description: No. of fetuses +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_no_of_fetuses +description: No. of fetuses +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_no_of_fetuses +description: No. of fetuses +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_pre_eclampsia_toaster +description: Pre-eclampsia risk counseling +priority: 1 +condition: "step1_preeclampsia_risk == 1" +actions: + - "isRelevant = true" +--- +name: step2_pre_eclampsia_toaster +description: Pre-eclampsia risk counseling +priority: 1 +condition: "step2_preeclampsia_risk == 1" +actions: + - "isRelevant = true" +--- +name: step1_fetal_presentation +description: Fetal presentation +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_fetal_presentation +description: Fetal presentation +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_amniotic_fluid +description: Amniotic fluid +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_amniotic_fluid +description: Amniotic fluid +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_placenta_location +description: Placenta location +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_placenta_location +description: Placenta location +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_select_gest_age_edd +description: Select preferred gestational age +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_select_gest_age_edd +description: Select preferred gestational age +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_select_gest_age_edd_label +description: select_gest_age_edd_label +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_select_gest_age_edd_label +description: select_gest_age_edd_label +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_sfh_ultrasound_gest_age_selection +description: sfh_ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && step2_ultrasound_gest_age_wks >= 24)" +actions: + - "isRelevant = true" +--- +name: step2_lmp_ultrasound_gest_age_selection +description: lmp_ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'yes' && global_ultrasound_done == 'yes')" +actions: + - "isRelevant = true" +--- +name: step2_sfh_gest_age_selection +description: sfh_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'no' && global_ultrasound_done == 'no')" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_gest_age_selection +description: ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == '' || global_ultrasound_done == '' || (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && (step2_ultrasound_gest_age_wks == '' || step2_ultrasound_gest_age_wks < 24)))" +actions: + - "isRelevant = true" +--- +name: step2_lmp_gest_age_selection +description: lmp_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'yes' && global_ultrasound_done == 'no')" +actions: + - "isRelevant = true" +--- +name: step1_sfh_ultrasound_gest_age_selection +description: sfh_ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && step1_ultrasound_gest_age_wks >= 24)" +actions: + - "isRelevant = true" +--- +name: step1_lmp_ultrasound_gest_age_selection +description: lmp_ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'yes' && global_ultrasound_done == 'yes')" +actions: + - "isRelevant = true" +--- +name: step1_sfh_gest_age_selection +description: sfh_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'no' && global_ultrasound_done == 'no')" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_gest_age_selection +description: ultrasound_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == '' || global_ultrasound_done == '' || (global_lmp_known == 'no' && global_ultrasound_done == 'yes' && (step1_ultrasound_gest_age_wks == '' || step1_ultrasound_gest_age_wks < 24)))" +actions: + - "isRelevant = true" +--- +name: step1_lmp_gest_age_selection +description: lmp_gest_age_selection +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier') && (global_lmp_known == 'yes' && global_ultrasound_done == 'no')" +actions: + - "isRelevant = true" +--- +name: step1_fetal_body_movement +description: Fetal body movement +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_fetal_body_movement +description: Fetal body movement +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_congenital_abnormality +description: congenital abnormality +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_congenital_abnormality +description: congenital abnormality +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_respiratory_movement +description: respiratory movement +priority: 1 +condition: "(step1_ultrasound == 'done_today' || step1_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_respiratory_movement +description: respiratory movement +priority: 1 +condition: "(step2_ultrasound == 'done_today' || step2_ultrasound == 'done_earlier')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/tb_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/tb_screening_calculation_rules.yml new file mode 100644 index 0000000..387e725 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/tb_screening_calculation_rules.yml @@ -0,0 +1,14 @@ +--- +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()" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/tb_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/tb_screening_relevance_rules.yml new file mode 100644 index 0000000..748bce3 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/tb_screening_relevance_rules.yml @@ -0,0 +1,77 @@ +--- +name: step2_tb_screening_notdone +description: tb_screening_status +priority: 1 +condition: "step2_tb_screening_status != '' && step2_tb_screening_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_date +description: tb date +priority: 1 +condition: "step1_tb_screening_status != '' && step1_tb_screening_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_date +description: tb date +priority: 1 +condition: "step2_tb_screening_status != '' && step2_tb_screening_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_danger_toaster +description: tb toaster +priority: 1 +condition: "step1_tb_screening_result != '' && step1_tb_screening_result == 'positive'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_danger_toaster +description: tb toaster +priority: 1 +condition: "step2_tb_screening_result!= '' && step2_tb_screening_result == 'positive'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_notdone_other +description: tb_screening_status +priority: 1 +condition: "!step1_tb_screening_notdone.isEmpty() && step1_tb_screening_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_notdone_other +description: tb_screening_status +priority: 1 +condition: "!step2_tb_screening_notdone.isEmpty() && step2_tb_screening_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_result +description: tb_screening_result +priority: 1 +condition: "step1_tb_screening_status != '' && (step1_tb_screening_status == 'done_today' || step1_tb_screening_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_result +description: tb_screening_result +priority: 1 +condition: "step2_tb_screening_status != '' && (step2_tb_screening_status == 'done_today' || step2_tb_screening_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_scheduled_date +description: tb_screening_scheduled_date +priority: 1 +condition: "step1_tb_screening_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_scheduled_date +description: tb_screening_scheduled_date +priority: 1 +condition: "step2_tb_screening_status == 'ordered'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/ultrasound_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/ultrasound_screening_calculation_rules.yml new file mode 100644 index 0000000..9d059cc --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/ultrasound_screening_calculation_rules.yml @@ -0,0 +1,294 @@ +--- +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: step2_partner_rpr_test_date_today_hidden +description: partner_rpr_test_date +priority: 1 +condition: "step2_partner_rpr_test_status == 'done_today'" +actions: + - "calculation = helper.getDateToday()" +--- +name: step2_cmv_test_date_today_hidden +description: partner_rpr_test_date +priority: 1 +condition: "step2_cmv_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: step2_rubella_test_date_today_hidden +description: rubella_test_date +priority: 1 +condition: "step2_rubella_test_status != '' && step2_rubella_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()" diff --git a/opensrp-anc/src/main/assets/rule/ultrasound_screening_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/ultrasound_screening_relevance_rules.yml new file mode 100644 index 0000000..ac8bfc7 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/ultrasound_screening_relevance_rules.yml @@ -0,0 +1,14 @@ +--- +name: step1_ultrasound_scheduled_date +description: ultrasound_scheduled_date +priority: 1 +condition: "step1_ultrasound == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_scheduled_date +description: ultrasound_scheduled_date +priority: 1 +condition: "step2_ultrasound == 'ordered'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/urine_screening_calculation_rules.yml b/opensrp-anc/src/main/assets/rule/urine_screening_calculation_rules.yml new file mode 100644 index 0000000..9d059cc --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/urine_screening_calculation_rules.yml @@ -0,0 +1,294 @@ +--- +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: step2_partner_rpr_test_date_today_hidden +description: partner_rpr_test_date +priority: 1 +condition: "step2_partner_rpr_test_status == 'done_today'" +actions: + - "calculation = helper.getDateToday()" +--- +name: step2_cmv_test_date_today_hidden +description: partner_rpr_test_date +priority: 1 +condition: "step2_cmv_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: step2_rubella_test_date_today_hidden +description: rubella_test_date +priority: 1 +condition: "step2_rubella_test_status != '' && step2_rubella_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()" diff --git a/opensrp-anc/src/main/assets/rule/urine_screening_relevance.yml b/opensrp-anc/src/main/assets/rule/urine_screening_relevance.yml new file mode 100644 index 0000000..1083c7b --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/urine_screening_relevance.yml @@ -0,0 +1,903 @@ +--- +name: step1_urine_test_notdone +description: Reason +priority: 1 +condition: "step1_urine_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_notdone +description: Reason +priority: 1 +condition: "step2_urine_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_urine_test_notdone_other +description: Specify +priority: 1 +condition: "step1_urine_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_notdone_other +description: Specify +priority: 1 +condition: "step2_urine_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_urine_test_date +description: Urine test date +priority: 1 +condition: "step1_urine_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_date +description: Urine test date +priority: 1 +condition: "step2_urine_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_urine_test_type +description: Urine test type +priority: 1 +condition: "step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier' || step1_urine_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_type +description: Urine test type +priority: 1 +condition: "step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier' || step2_urine_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_urine_culture +description: Midstream urine culture (recommended) +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('midstream_urine_culture')" +actions: + - "isRelevant = true" +--- +name: step2_urine_culture +description: Midstream urine culture (recommended) +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('midstream_urine_culture')" +actions: + - "isRelevant = true" +--- +name: step1_urine_gram_stain +description: Midstream urine Gram-staining +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('midstream_urine_gram')" +actions: + - "isRelevant = true" +--- +name: step2_urine_gram_stain +description: Midstream urine Gram-staining +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('midstream_urine_gram')" +actions: + - "isRelevant = true" +--- +name: step1_urine_nitrites +description: Urine dipstick result - nitrites +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_nitrites +description: Urine dipstick result - nitrites +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_urine_leukocytes +description: Urine dipstick result - leukocytes +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_leukocytes +description: Urine dipstick result - leukocytes +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_urine_protein +description: Urine dipstick result - protein +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_protein +description: Urine dipstick result - protein +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_urine_glucose +description: Urine dipstick result - glucose +priority: 1 +condition: "(step1_urine_test_status == 'done_today' || step1_urine_test_status == 'done_earlier') && step1_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step2_urine_glucose +description: Urine dipstick result - glucose +priority: 1 +condition: "(step2_urine_test_status == 'done_today' || step2_urine_test_status == 'done_earlier') && step2_urine_test_type.contains('urine_dipstick')" +actions: + - "isRelevant = true" +--- +name: step1_gdm_risk_toaster +description: Gestational diabetes mellitus (GDM) risk counseling +priority: 1 +condition: "step1_gdm_risk == 1 && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_gdm') != '1' && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_dm_in_preg') != '1'" +actions: + - "isRelevant = true" +--- +name: step2_gdm_risk_toaster +description: Gestational diabetes mellitus (GDM) risk counseling +priority: 1 +condition: "step2_gdm_risk == 1 && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_gdm') != '1' && helper.getValueFromAccordion('accordion_blood_glucose', 'step2_dm_in_preg') != '1'" +actions: + - "isRelevant = true" +--- +name: step1_asb_positive_toaster +description: asb_positive_toaster +priority: 1 +condition: "step1_asb_positive == 1" +actions: + - "isRelevant = true" +--- +name: step2_asb_positive_toaster +description: asb_positive_toaster +priority: 1 +condition: "step2_asb_positive == 1" +actions: + - "isRelevant = true" +--- +name: step1_gbs_agent_note +description: gbs_agent_note +priority: 1 +condition: "step1_urine_culture == 'positive_gbs'" +actions: + - "isRelevant = true" +--- +name: step2_gbs_agent_note +description: gbs_agent_note +priority: 1 +condition: "step2_urine_culture == 'positive_gbs'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_date +description: Blood glucose test date. +priority: 1 +condition: "step2_glucose_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_date +description: Rubella test date. +priority: 1 +condition: "step2_rubella_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_type +description: Blood glucose test. +priority: 1 +condition: "step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier' || step2_glucose_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_fasting_plasma_gluc +description: Fasting plasma glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'fasting_plasma'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_fasting +description: 75g OGTT - fasting glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_1 +description: 75g OGTT - 1 hr results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_ogtt_2 +description: 75g OGTT - 2 hrs results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'ogtt_75'" +actions: + - "isRelevant = true" +--- +name: step2_random_plasma +description: Random plasma glucose results (mg/dl) +priority: 1 +condition: "(step2_glucose_test_status == 'done_today' || step2_glucose_test_status == 'done_earlier') && step2_glucose_test_type == 'random_plasma'" +actions: + - "isRelevant = true" +--- +name: step2_gestational_diabetes_danger_toaster +description: gestational_diabetes_danger_toaster +priority: 1 +condition: "step2_gdm == 1" +actions: + - "isRelevant = true" +--- +name: step2_diabetes_mellitus_danger_toaster +description: diabetes_mellitus_danger_toaster +priority: 1 +condition: "step2_dm_in_preg == 1" +actions: + - "isRelevant = true" +--- +name: step2_dietary_intervention_danger_toaster +description: dietary_intervention_danger_toaster +priority: 1 +condition: "step2_gdm == 1 || step2_dm_in_preg == 1" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_notdone +description: hb_test_notdone +priority: 1 +condition: "step1_hb_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_notdone +description: hb_test_notdone +priority: 1 +condition: "step2_hb_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_notdone_other +description: hb_test_notdone_other +priority: 1 +condition: "step1_hb_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_notdone_other +description: hb_test_notdone_other +priority: 1 +condition: "step2_hb_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_date +description: hb_test_date +priority: 1 +condition: "step1_hb_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_date +description: hb_test_date +priority: 1 +condition: "step2_hb_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_type +description: hb_test_type +priority: 1 +condition: "step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier' || step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_type +description: hb_test_type +priority: 1 +condition: "step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier' || step2_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_cbc +description: cbc +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_cbc +description: cbc +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_hb_gmeter +description: hb_gmeter +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'hb_test_haemoglobinometer'" +actions: + - "isRelevant = true" +--- +name: step2_hb_gmeter +description: hb_gmeter +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'hb_test_haemoglobinometer'" +actions: + - "isRelevant = true" +--- +name: step1_hb_colour +description: hb_test_type +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'hb_test_colour_scale'" +actions: + - "isRelevant = true" +--- +name: step2_hb_colour +description: hb_test_type +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'hb_test_colour_scale'" +actions: + - "isRelevant = true" +--- +name: step1_anaemia_diagnosis_danger_toaster +description: anaemia_diagnosis_danger_toaster +priority: 1 +condition: "step1_anaemic == 1" +actions: + - "isRelevant = true" +--- +name: step2_anaemia_diagnosis_danger_toaster +description: anaemia_diagnosis_danger_toaster +priority: 1 +condition: "step2_anaemic == 1" +actions: + - "isRelevant = true" +--- +name: step1_ht +description: ht +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_ht +description: ht +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_hematocrit_danger_toaster +description: hematocrit_danger_toaster +priority: 1 +condition: "step1_ht > 0 && step1_ht < 20" +actions: + - "isRelevant = true" +--- +name: step2_hematocrit_danger_toaster +description: hematocrit_danger_toaster +priority: 1 +condition: "step2_ht > 0 && step2_ht < 20" +actions: + - "isRelevant = true" +--- +name: step1_wbc +description: wbc +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_wbc +description: wbc +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_wbc_danger_toaster +description: wbc_danger_toaster +priority: 1 +condition: "step1_wbc > 16000" +actions: + - "isRelevant = true" +--- +name: step2_wbc_danger_toaster +description: wbc_danger_toaster +priority: 1 +condition: "step2_wbc > 16000" +actions: + - "isRelevant = true" +--- +name: step1_platelets +description: platelets +priority: 1 +condition: "(step1_hb_test_status == 'done_today' || step1_hb_test_status == 'done_earlier') && step1_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step2_platelets +description: platelets +priority: 1 +condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'done_earlier') && step2_hb_test_type == 'complete_blood_count'" +actions: + - "isRelevant = true" +--- +name: step1_paltelets_danger_toaster +description: paltelets_danger_toaster +priority: 1 +condition: "step1_platelets > 0 && step1_platelets < 100000" +actions: + - "isRelevant = true" +--- +name: step2_paltelets_danger_toaster +description: paltelets_danger_toaster +priority: 1 +condition: "step2_platelets > 0 && step2_platelets < 100000" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_notdone +description: tb_screening_status +priority: 1 +condition: "step1_tb_screening_status != '' && step1_tb_screening_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_notdone +description: tb_screening_status +priority: 1 +condition: "step2_tb_screening_status != '' && step2_tb_screening_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_date +description: tb date +priority: 1 +condition: "step1_tb_screening_status != '' && step1_tb_screening_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_date +description: tb date +priority: 1 +condition: "step2_tb_screening_status != '' && step2_tb_screening_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_danger_toaster +description: tb toaster +priority: 1 +condition: "step1_tb_screening_result != '' && step1_tb_screening_result == 'positive'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_danger_toaster +description: tb toaster +priority: 1 +condition: "step2_tb_screening_result!= '' && step2_tb_screening_result == 'positive'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_notdone_other +description: tb_screening_status +priority: 1 +condition: "!step1_tb_screening_notdone.isEmpty() && step1_tb_screening_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_notdone_other +description: tb_screening_status +priority: 1 +condition: "!step2_tb_screening_notdone.isEmpty() && step2_tb_screening_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_result +description: tb_screening_result +priority: 1 +condition: "step1_tb_screening_status != '' && (step1_tb_screening_status == 'done_today' || step1_tb_screening_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_result +description: tb_screening_result +priority: 1 +condition: "step2_tb_screening_status != '' && (step2_tb_screening_status == 'done_today' || step2_tb_screening_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_blood_type_test_date +description: blood_type_test_date +priority: 1 +condition: "(step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_blood_type_test_date +description: blood_type_test_date +priority: 1 +condition: "(step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_blood_type +description: blood_type +priority: 1 +condition: "(step1_blood_type_test_status == 'done_today' || step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_blood_type +description: blood_type +priority: 1 +condition: "(step2_blood_type_test_status == 'done_today' || step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_rh_factor +description: rh_factor +priority: 1 +condition: "(step1_blood_type_test_status == 'done_today' || step1_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step2_rh_factor +description: rh_factor +priority: 1 +condition: "(step2_blood_type_test_status == 'done_today' || step2_blood_type_test_status == 'done_earlier')" +actions: + - "isRelevant = true" +--- +name: step1_rh_factor_toaster +description: rh_factor +priority: 1 +condition: "(step1_rh_factor != '' && step1_rh_factor == 'negative')" +actions: + - "isRelevant = true" +--- +name: step2_rh_factor_toaster +description: rh_factor +priority: 1 +condition: "(step2_rh_factor != '' && step2_rh_factor == 'negative')" +actions: + - "isRelevant = true" +--- +name: step2_other_test_name +description: other_test_name +priority: 1 +condition: "step2_other_test == 'done_earlier' || step2_other_test == 'done_today'" +actions: + - "isRelevant = true" +--- +name: step2_other_test_result +description: other_test_result +priority: 1 +condition: "step2_other_test == 'done_earlier' || step2_other_test == 'done_today'" +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_date +description: Date that the partner RPR test was done. +priority: 1 +condition: "step2_partner_rpr_test_status != '' && step2_partner_rpr_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_date +description: Date that the partner RPR test was done. +priority: 1 +condition: "step2_cmv_test_status != '' && step2_cmv_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_notdone +description: Partner RPR not done +priority: 1 +condition: "step2_partner_rpr_test_status != '' && step2_partner_rpr_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_notdone +description: CMV test not done +priority: 1 +condition: "step2_cmv_test_status != '' && step2_cmv_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_partner_rpr_test_notdone.isEmpty() && step2_partner_rpr_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_cmv_test_notdone.isEmpty() && step2_cmv_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_result +description: Partener RPR test result +priority: 1 +condition: "step2_partner_rpr_test_status != '' && (step2_partner_rpr_test_status == 'done_today' || step2_partner_rpr_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_result +description: CMV test result +priority: 1 +condition: "step2_cmv_test_status != '' && (step2_cmv_test_status == 'done_today' || step2_cmv_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_cmv_test_type +description: CMV test result +priority: 1 +condition: "step2_cmv_test_status != '' && (step2_cmv_test_status == 'done_today' || step2_cmv_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_date +description: Date that the Herps test was done. +priority: 1 +condition: "step2_herps_test_status != '' && step2_herps_test_status == 'done_earlier' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone +description: Herps test not done +priority: 1 +condition: "step2_herps_test_status != '' && step2_herps_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_herps_test_notdone.isEmpty() && step2_herps_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_herps_test_result +description: Herpstest result +priority: 1 +condition: "step2_herps_test_status != '' && (step2_herps_test_status == 'done_today' || step2_herps_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_type +description: Herps test Type +priority: 1 +condition: "step2_herps_test_status != '' && (step2_herps_test_status == 'done_today' || step2_herps_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_notdone +description: Rubella test not done +priority: 1 +condition: "step2_rubella_test_status != '' && step2_rubella_test_status == 'not_done' " +actions: + - "isRelevant = true" +--- +name: step2_herps_test_notdone_other +description: Reason +priority: 1 +condition: "!step2_rubella_test_notdone.isEmpty() && step2_rubella_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_result +description: Rubella test result +priority: 1 +condition: "step2_rubella_test_status != '' && (step2_rubella_test_status == 'done_today' || step2_rubella_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step2_rubella_test_type +description: Rubellatest result +priority: 1 +condition: "step2_rubella_test_status != '' && (step2_rubella_test_status == 'done_today' || step2_rubella_test_status == 'done_earlier') " +actions: + - "isRelevant = true" +--- +name: step1_blood_type_test_scheduled_date +description: blood_type_test_scheduled_date +priority: 1 +condition: "step1_blood_type_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_blood_type_test_scheduled_date +description: blood_type_test_scheduled_date +priority: 1 +condition: "step2_blood_type_test_status == 'orderes'" +actions: + - "isRelevant = true" +--- +name: step1_hepb_test_scheduled_date +description: hepb_test_scheduled_date +priority: 1 +condition: "step1_hepb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hepb_test_scheduled_date +description: hepb_test_scheduled_date +priority: 1 +condition: "step2_hepb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step2_hb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step1_hb_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hb_test_scheduled_date +description: hb_test_scheduled_date +priority: 1 +condition: "step2_hb_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_glucose_test_scheduled_date +description: glucose_test_scheduled_date +priority: 1 +condition: "step1_glucose_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_glucose_test_scheduled_date +description: glucose_test_scheduled_date +priority: 1 +condition: "step2_glucose_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hepc_test_scheduled_date +description: hepc_test_scheduled_date +priority: 1 +condition: "step1_hepc_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hepc_test_scheduled_date +description: hepc_test_scheduled_date +priority: 1 +condition: "step2_hepc_test_status== 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hiv_test_scheduled_date +description: hepc_test_scheduled_date +priority: 1 +condition: "step1_hiv_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_scheduled_date +description: hiv_test_scheduled_date +priority: 1 +condition: "step2_hiv_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_hiv_test_partner_scheduled_date +description: hiv_test_partner_scheduled_date +priority: 1 +condition: "step1_hiv_test_partner_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_hiv_test_partner_scheduled_date +description: hiv_test_partner_scheduled_date +priority: 1 +condition: "step2_hiv_test_partner_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_partner_rpr_test_scheduled_date +description: partner_rpr_test_scheduled_date +priority: 1 +condition: "step1_partner_rpr_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_partner_rpr_test_scheduled_date +description: partner_rpr_test_scheduled_date +priority: 1 +condition: "step2_partner_rpr_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_syph_test_scheduled_date +description: syph_test_scheduled_date +priority: 1 +condition: "step1_syph_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_syph_test_scheduled_date +description: syph_test_scheduled_date +priority: 1 +condition: "step2_syph_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_tb_screening_scheduled_date +description: tb_screening_scheduled_date +priority: 1 +condition: "step1_tb_screening_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_tb_screening_scheduled_date +description: tb_screening_scheduled_date +priority: 1 +condition: "step2_tb_screening_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_ultrasound_scheduled_date +description: ultrasound_scheduled_date +priority: 1 +condition: "step1_ultrasound == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_ultrasound_scheduled_date +description: ultrasound_scheduled_date +priority: 1 +condition: "step2_ultrasound == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step1_urine_test_scheduled_date +description: urine_test_scheduled_date +priority: 1 +condition: "step1_urine_test_status == 'ordered'" +actions: + - "isRelevant = true" +--- +name: step2_urine_test_scheduled_date +description: urine_test_scheduled_date +priority: 1 +condition: "step2_urine_test_status == 'ordered'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/java/org/smartregister/anc/library/activity/UkudoxActivity.java b/opensrp-anc/src/main/java/org/smartregister/anc/library/activity/UkudoxActivity.java index 4fc5ec3..30f4236 100644 --- a/opensrp-anc/src/main/java/org/smartregister/anc/library/activity/UkudoxActivity.java +++ b/opensrp-anc/src/main/java/org/smartregister/anc/library/activity/UkudoxActivity.java @@ -134,7 +134,8 @@ private List getHomeContent(){ expected_deliveries.setEndDate(dateButton2.getText().toString()); expected_deliveries.setStartDate(dateButton.getText().toString()); - expected_deliveries.setNumber((int) DashboardRepository.getExpectedDeliveries(dateButton.getText().toString(),dateButton2.getText().toString())); + expected_deliveries.setNumber(0); + // expected_deliveries.setNumber((int) DashboardRepository.getExpectedDeliveries(dateButton.getText().toString(),dateButton2.getText().toString())); expected_deliveries.setBackground(getResources().getColor(R.color.vaccine_blue_bg_stk)); homeItems.add(expected_deliveries); diff --git a/opensrp-anc/src/main/java/org/smartregister/anc/library/repository/PatientRepository.java b/opensrp-anc/src/main/java/org/smartregister/anc/library/repository/PatientRepository.java index 15dd3c1..596d0ad 100644 --- a/opensrp-anc/src/main/java/org/smartregister/anc/library/repository/PatientRepository.java +++ b/opensrp-anc/src/main/java/org/smartregister/anc/library/repository/PatientRepository.java @@ -192,5 +192,16 @@ public static void updateContactVisitStartDate(String baseEntityId, String conta } updatePatient(baseEntityId, contentValues, getRegisterQueryProvider().getDetailsTable()); } + public static void updateLastContactDate(String baseEntityId, String edd) { + ContentValues contentValues = new ContentValues(); + if (edd != null) { + contentValues.put(DBConstantsUtils.KeyUtils.LAST_CONTACT_RECORD_DATE, edd); +// contentValues.put(DBConstantsUtils.KeyUtils.CONTACT_STATUS, patientDetail.getPreviousContactStatus()) + } +// else { +// contentValues.putNull(DBConstantsUtils.KeyUtils.EDD); +// } + updatePatient(baseEntityId, contentValues, getRegisterQueryProvider().getDetailsTable()); + } } diff --git a/opensrp-anc/src/main/java/org/smartregister/anc/library/task/LoadContactSummaryDataTask.java b/opensrp-anc/src/main/java/org/smartregister/anc/library/task/LoadContactSummaryDataTask.java index 75e1920..52702e5 100644 --- a/opensrp-anc/src/main/java/org/smartregister/anc/library/task/LoadContactSummaryDataTask.java +++ b/opensrp-anc/src/main/java/org/smartregister/anc/library/task/LoadContactSummaryDataTask.java @@ -18,6 +18,9 @@ import org.smartregister.anc.library.util.DBConstantsUtils; import org.smartregister.anc.library.util.Utils; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.HashMap; import timber.log.Timber; @@ -75,7 +78,21 @@ protected void onPostExecute(Void result) { } else if (edd == null && contactNo.contains("-")) { ((ContactSummaryFinishActivity) context).saveFinishMenuItem.setEnabled(true); } + //hardcoing next visit + String lstVisitDate=facts.get("lst_visit_date"); + SimpleDateFormat inputFormat = new SimpleDateFormat("dd-MM-yyyy"); + Date date = null; + try { + date = inputFormat.parse(lstVisitDate); + } catch (ParseException e) { + throw new RuntimeException(e); + } + String formattedDate = Utils.DB_DF.format(date); + if (formattedDate != null && ((ContactSummaryFinishActivity) context).saveFinishMenuItem != null) { + PatientRepository.updateLastContactDate(baseEntityId, formattedDate); + ((ContactSummaryFinishActivity) context).saveFinishMenuItem.setEnabled(true); + } ContactSummaryFinishAdapter adapter = new ContactSummaryFinishAdapter(context, ((ContactSummaryFinishActivity) context).getYamlConfigList(), facts); adapter.notifyDataSetChanged(); diff --git a/opensrp-anc/src/main/res/values/strings.xml b/opensrp-anc/src/main/res/values/strings.xml index 05725c8..45981dd 100644 --- a/opensrp-anc/src/main/res/values/strings.xml +++ b/opensrp-anc/src/main/res/values/strings.xml @@ -113,7 +113,8 @@ Sync data Close navigation drawer Open navigation drawer - Antenatal Care \n Module + + MAMAI ANC DIGITAL \n MODULE ID: %1$s Age: %1$s GA: %1$d weeks diff --git a/opensrp-anc/src/main/resources/anc_counselling_treatment.properties b/opensrp-anc/src/main/resources/anc_counselling_treatment.properties index ff3312f..2d73d90 100644 --- a/opensrp-anc/src/main/resources/anc_counselling_treatment.properties +++ b/opensrp-anc/src/main/resources/anc_counselling_treatment.properties @@ -705,4 +705,6 @@ anc_counselling_treatment.step12.hepatite_b_treatment.hint = Hepatite b treatmen anc_counselling_treatment.step12.syphilis_treatment_toaster.text = Woman syphilis tests indicate a positive result. she needs treatment. anc_counselling_treatment.step12.infection_urinaire_toaster.text =Woman urine tests indicate a Urinary tract infection result. she needs treatment. anc_counselling_treatment.step12.hepatite_b_treatment_toaster.text = Woman hepatitis b tests indicate a positive result. she needs treatment. -anc_counselling_treatment.step12.hepatite_c_treatment_toaster.text = Woman hepatitis c tests indicate a positive result. she needs treatment. \ No newline at end of file +anc_counselling_treatment.step12.hepatite_c_treatment_toaster.text = Woman hepatitis c tests indicate a positive result. she needs treatment. +anc_counselling_treatment.step12.total_treatment_received.hint = How many treatments has she received? +anc_counselling_treatment.step12.total_treatment_received.v_required.err = This field is required \ No newline at end of file diff --git a/opensrp-anc/src/main/resources/anc_counselling_treatment_fr.properties b/opensrp-anc/src/main/resources/anc_counselling_treatment_fr.properties index 523cdbd..5305101 100644 --- a/opensrp-anc/src/main/resources/anc_counselling_treatment_fr.properties +++ b/opensrp-anc/src/main/resources/anc_counselling_treatment_fr.properties @@ -705,4 +705,6 @@ anc_counselling_treatment.step12.hepatite_b_treatment.hint=Traitement de l'hépa anc_counselling_treatment.step12.syphilis_treatment_toaster.text=Les examens de syphilis chez la femme indiquent un résultat positif. elle a besoin d'un traitement. anc_counselling_treatment.step12.infection_urinaire_toaster.text=Les examen d'urine de femme indiquent un résultat d'infection des voies urinaires. elle a besoin d'un traitement anc_counselling_treatment.step12.hepatite_b_treatment_toaster.text=Les examen d'hépatite b chez la femme indiquent un résultat positif. elle a besoin d'un traitement. -anc_counselling_treatment.step12.hepatite_c_treatment_toaster.text=Les examen d'hépatite c chez la femme indiquent un résultat positif. elle a besoin d'un traitement. \ No newline at end of file +anc_counselling_treatment.step12.hepatite_c_treatment_toaster.text=Les examen d'hépatite c chez la femme indiquent un résultat positif. elle a besoin d'un traitement. +anc_counselling_treatment.step12.total_treatment_received.hint = How many treatments has she received? +anc_counselling_treatment.step12.total_treatment_received.v_required.err = This field is required \ No newline at end of file diff --git a/opensrp-anc/src/main/resources/anc_test.properties b/opensrp-anc/src/main/resources/anc_test.properties index 79c913d..3d4fc35 100644 --- a/opensrp-anc/src/main/resources/anc_test.properties +++ b/opensrp-anc/src/main/resources/anc_test.properties @@ -23,7 +23,7 @@ anc_test.step2.accordion_partner_hiv.text = Partner HIV test anc_test.step1.accordion_syphilis.text = Syphilis test anc_test.step1.accordion_blood_haemoglobin.text = Blood Haemoglobin test anc_test.step2.accordion_hepatitis_c.accordion_info_text = In settings where the proportion of HCV antibody seroprevalence in the general population is 2% or higher, or the woman is HIV positive, injects drugs, or is a sex worker, then a Hep C test is required. -anc_test.step1.accordion_ultrasound.text = Ultrasound test +anc_test.step1.accordion_ultrasound.text = Ultrasound Scan anc_test.step1.accordion_hepatitis_c.accordion_info_text = In settings where the proportion of HCV antibody seroprevalence in the general population is 2% or higher, or the woman is HIV positive, injects drugs, or is a sex worker, then a Hep C test is required. anc_test.step1.title = Due anc_test.step2.accordion_hepatitis_c.text = Hepatitis C test diff --git a/reference-app/build.gradle b/reference-app/build.gradle index 82add90..b14ebda 100644 --- a/reference-app/build.gradle +++ b/reference-app/build.gradle @@ -4,7 +4,8 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.3' + //classpath 'com.android.tools.build:gradle:4.1.3' + classpath 'com.android.tools.build:gradle:7.0.0' classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.3' classpath 'com.google.gms:google-services:4.3.9' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1' @@ -234,7 +235,7 @@ dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' def powerMockVersion = '2.0.7' implementation project(":opensrp-anc") - implementation('org.smartregister:opensrp-client-native-form:3.1.1-PREVIEW-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-native-form:3.1.2-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'recyclerview-v7' exclude group: 'com.android.support', module: 'appcompat-v7' @@ -246,7 +247,7 @@ dependencies { exclude group: 'io.ona.rdt-capture', module: 'lib' } - implementation('org.smartregister:opensrp-client-core:6.0.0-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-core:6.1.2-SNAPSHOT@aar') { transitive = true exclude group: 'com.github.bmelnychuk', module: 'atv' exclude group: 'com.google.guava', module: 'guava' diff --git a/reference-app/debug/output-metadata.json b/reference-app/debug/output-metadata.json deleted file mode 100644 index bf91984..0000000 --- a/reference-app/debug/output-metadata.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": 2, - "artifactType": { - "type": "APK", - "kind": "Directory" - }, - "applicationId": "org.smartregister.anc", - "variantName": "processDebugResources", - "elements": [ - { - "type": "SINGLE", - "filters": [], - "versionCode": 10610, - "versionName": "1.6.10", - "outputFile": "reference-app-debug.apk" - } - ] -} \ No newline at end of file diff --git a/reference-app/debug/reference-app-debug.apk b/reference-app/debug/reference-app-debug.apk deleted file mode 100644 index 59ee08a..0000000 Binary files a/reference-app/debug/reference-app-debug.apk and /dev/null differ diff --git a/reference-app/src/main/AndroidManifest.xml b/reference-app/src/main/AndroidManifest.xml index 46844fa..6ec0e64 100644 --- a/reference-app/src/main/AndroidManifest.xml +++ b/reference-app/src/main/AndroidManifest.xml @@ -31,7 +31,8 @@ android:name=".activity.LoginActivity" android:screenOrientation="portrait" android:theme="@style/AncAppTheme.Login" - android:windowSoftInputMode="stateAlwaysHidden|adjustResize"> + android:windowSoftInputMode="stateAlwaysHidden|adjustResize" + android:exported="true"> diff --git a/reference-app/src/main/java/org/smartregister/anc/activity/LoginActivity.java b/reference-app/src/main/java/org/smartregister/anc/activity/LoginActivity.java index 07b4648..c734fe5 100644 --- a/reference-app/src/main/java/org/smartregister/anc/activity/LoginActivity.java +++ b/reference-app/src/main/java/org/smartregister/anc/activity/LoginActivity.java @@ -1,9 +1,15 @@ package org.smartregister.anc.activity; +import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; +import android.util.Log; import android.view.View; +import android.widget.Button; +import android.widget.EditText; import android.widget.TextView; +import android.widget.Toast; import org.apache.commons.lang3.StringUtils; import org.greenrobot.eventbus.Subscribe; @@ -16,17 +22,22 @@ import org.smartregister.anc.library.util.ConstantsUtils; import org.smartregister.anc.library.util.Utils; import org.smartregister.anc.presenter.LoginPresenter; +import org.smartregister.repository.dao.LocationDaoImpl; +import org.smartregister.security.SecurityHelper; import org.smartregister.task.SaveTeamLocationsTask; import org.smartregister.view.activity.BaseLoginActivity; import org.smartregister.view.contract.BaseLoginContract; +import java.util.Locale; + import timber.log.Timber; /** * Created by ndegwamartin on 21/06/2018. */ public class LoginActivity extends BaseLoginActivity implements BaseLoginContract.View { - + EditText usernameField,passwordField; + Button loginBtn; @Override protected void onResume() { super.onResume(); @@ -40,15 +51,39 @@ protected void onResume() { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setUpViews(); + } +// +// @Override +// protected void onStart() { +// super.onStart(); +// if(!getUsername().equals("")){ +// loginBtn.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// if(validateCredentials(usernameField.getText().toString(),passwordField.getText().toString()) ){ +// Log.d("CLICKED","MY BUTTON"); +// gotToHomeRegister(false); +// +// } +// } +// }); +// }else{ +// Log.d("UKUDOX","NOT FROM LOCAL 11"); +//// } +// } private void setUpViews() { TextView formReleaseTextView = findViewById(R.id.manifest_text_view); + usernameField= findViewById(R.id.login_user_name_edit_text); + passwordField= findViewById(R.id.login_password_edit_text); + loginBtn= findViewById(R.id.login_login_btn); if (StringUtils.isNotBlank(new Utils().getManifestVersion(this))) { formReleaseTextView.setText(new Utils().getManifestVersion(this)); } else { formReleaseTextView.setVisibility(View.GONE); } + } @Override @@ -58,8 +93,8 @@ protected int getContentView() { @Override protected void initializePresenter() { - mLoginPresenter = new LoginPresenter(this); - } + mLoginPresenter = new LoginPresenter(this); + } @Override public void goToHome(boolean remote) { @@ -67,8 +102,9 @@ public void goToHome(boolean remote) { // Utils.startAsyncTask(new SaveTeamLocationsTask(), null); new SaveTeamLocationsTask().execute(); } - - if (mLoginPresenter.isServerSettingsSet()) { + if (mLoginPresenter.isServerSettingsSet()) { + Log.d("UKUDOX","FROM REMOTE"); + setCredentials(usernameField.getText().toString(),passwordField.getText().toString()); gotToHomeRegister(remote); } else { goToSiteCharacteristics(remote); @@ -78,7 +114,7 @@ public void goToHome(boolean remote) { } private void gotToHomeRegister(boolean remote) { -// Intent intent = new Intent(this, BaseHomeRegisterActivity.class); + //Intent intent = new Intent(this, BaseHomeRegisterActivity.class); //ukudox stuff Intent intent = new Intent(this, UkudoxActivity.class); intent.putExtra(ConstantsUtils.IntentKeyUtils.IS_REMOTE_LOGIN, remote); @@ -99,4 +135,34 @@ public void refreshViews(ViewConfigurationSyncCompleteEvent syncCompleteEvent) { } } + public void setCredentials(String username,String password){ + SharedPreferences sharedPreferences=getSharedPreferences("credentials", Context.MODE_PRIVATE); + SharedPreferences.Editor editor=sharedPreferences.edit(); + editor.putString("username",username); + editor.putString("password",password); + editor.commit(); + } + public boolean validateCredentials(String newUsername,String newPassword){ + SharedPreferences sharedPreferences=getSharedPreferences("credentials",Context.MODE_PRIVATE); + String username=""; + String password=""; + if(sharedPreferences.contains("username")&&(sharedPreferences.contains("password"))){ + username=sharedPreferences.getString("username",""); + password=sharedPreferences.getString("password",""); + Log.d("CRED",username+" "+password); + }else{ + Log.d("CRED","Nothing saved "+username+" PASS "+password); + } + return newUsername.equals(username)&&newPassword.equals(password); + } + public String getUsername(){ + SharedPreferences sharedPreferences=getSharedPreferences("credentials",Context.MODE_PRIVATE); + String username=""; + if(sharedPreferences.contains("username")){ + username=sharedPreferences.getString("username",""); + }else{ + Log.d("USERNAME","Nothing saved "+username); + } + return username; + } } \ No newline at end of file diff --git a/sample/build.gradle b/sample/build.gradle index 293a6ee..b0816ad 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,8 +1,8 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 31 - + //compileSdkVersion 31 + compileSdkVersion 33 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 @@ -11,7 +11,8 @@ android { defaultConfig { applicationId "org.smartregister.sample.anc" minSdkVersion 25 - targetSdkVersion 31 + //targetSdkVersion 31 + targetSdkVersion 33 versionCode 1 versionName "1.0"