diff --git a/opensrp-anc/build.gradle b/opensrp-anc/build.gradle index e1224fd..ede8cf6 100644 --- a/opensrp-anc/build.gradle +++ b/opensrp-anc/build.gradle @@ -12,7 +12,7 @@ buildscript { } configurations.all { resolutionStrategy { - eachDependency { details -> + eachDependency { details -> if ('org.jacoco' == details.requested.group) { details.useVersion jacocoVersion } @@ -31,6 +31,7 @@ allprojects { } } } + exclude group: 'junit', module: 'junit' } } } @@ -183,7 +184,7 @@ dependencies { implementation 'org.smartregister:opensrp-client-utils:0.0.6-SNAPSHOT' implementation 'org.smartregister:opensrp-client-materialedittext:2.1.6-SNAPSHOT' - implementation('rw.ths:opensrp-client-native-form:1.0-local-release') { + 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' @@ -210,7 +211,7 @@ dependencies { exclude group: 'com.ibm.fhir', module: 'fhir-model' } - implementation('rw.ths.corelibary:corelibary:1.5-local-debug') { + 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' @@ -243,7 +244,7 @@ dependencies { // exclude group: 'org.smartregister', module: 'android-p2p-sync' // } - api("rw.ths:p2p-sync:1.0-local-release") { + api("org.smartregister:android-p2p-sync:0.4.0-DEV-SNAPSHOT") { transitive = true exclude group: 'org.smartregister', module: 'opensrp-client-core' exclude group: 'com.android.support', module: 'appcompat-v7' @@ -323,6 +324,7 @@ dependencies { testImplementation 'org.mockito:mockito-core:3.5.15' testImplementation 'org.apache.maven:maven-ant-tasks:2.1.3' testImplementation 'org.skyscreamer:jsonassert:1.5.0' + debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0') { 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..a2a3f2d 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 @@ -100,7 +100,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -120,7 +120,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -154,7 +154,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } }, @@ -175,7 +175,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } }, @@ -234,7 +234,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -266,7 +266,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -298,7 +298,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -330,7 +330,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -377,7 +377,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -401,7 +401,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -419,7 +419,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -444,7 +444,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -462,7 +462,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -487,7 +487,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } @@ -505,7 +505,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_haemoglobin_relelevance_rules.yml" } } } 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..dd00151 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 @@ -118,7 +118,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_blood_type_relevance_rules.yml" } } }, @@ -179,7 +179,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_blood_type_relevance_rules.yml" } } }, @@ -244,7 +244,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_blood_type_relevance_rules.yml" } } } @@ -282,7 +282,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_blood_type_relevance_rules.yml" } } } @@ -300,7 +300,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_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..6c4a46b 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": "tests_hepatitis_b_relevance_rules.yml" } } } @@ -119,7 +119,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_relevance_rules.yml" } } }, @@ -139,7 +139,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_relevance_rules.yml" } } } @@ -172,7 +172,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_relevance_rules.yml" } } }, @@ -225,7 +225,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_relevance_rules.yml" } } }, @@ -267,7 +267,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_relevance_rules.yml" } } } @@ -305,7 +305,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_relevance_rules.yml" } } } @@ -343,7 +343,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_relevance_rules.yml" } } } @@ -377,7 +377,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_relevance_rules.yml" } } } @@ -393,7 +393,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_b_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..b3a62a2 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": "tests_hepatitis_c_relevance_rules.yml" } } } @@ -115,7 +115,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_c_relevance_rules.yml" } } } @@ -148,7 +148,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_c_relevance_rules.yml" } } }, @@ -177,7 +177,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_c_relevance_rules.yml" } } }, @@ -228,7 +228,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_c_relevance_rules.yml" } } } @@ -265,7 +265,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_c_relevance_rules.yml" } } } @@ -302,7 +302,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_c_relevance_rules.yml" } } } @@ -339,7 +339,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_c_relevance_rules.yml" } } } @@ -373,7 +373,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "tests_hepatitis_c_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..720690a 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 @@ -102,7 +102,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_tests_relevance_rules.yml" } } } @@ -118,7 +118,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_tests_relevance_rules.yml" } } } @@ -151,7 +151,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_tests_relevance_rules.yml" } } }, @@ -180,7 +180,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_tests_relevance_rules.yml" } } }, @@ -230,7 +230,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_tests_relevance_rules.yml" } } } @@ -299,7 +299,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_tests_relevance_rules.yml" } } } @@ -317,7 +317,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "hiv_tests_relevance_rules.yml" } } } 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..32b2f66 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_tests_relevance_rules.yml" } } } @@ -117,7 +117,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_tests_relevance_rules.yml" } } } @@ -150,7 +150,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_tests_relevance_rules.yml" } } }, @@ -179,7 +179,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_tests_relevance_rules.yml" } } }, @@ -229,7 +229,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rpr_tests_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/json.form/sub_form/tests_rubella_tests_sub_form.json b/opensrp-anc/src/main/assets/json.form/sub_form/tests_rubella_tests_sub_form.json index 2b0865e..2c86fb7 100644 --- a/opensrp-anc/src/main/assets/json.form/sub_form/tests_rubella_tests_sub_form.json +++ b/opensrp-anc/src/main/assets/json.form/sub_form/tests_rubella_tests_sub_form.json @@ -94,7 +94,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rubella_tests_relevance_rules.yml" } } } @@ -147,7 +147,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rubella_tests_relevance_rules.yml" } } }, @@ -177,7 +177,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rubella_tests_relevance_rules.yml" } } } @@ -213,7 +213,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "rubella_tests_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..f13577d 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_tests_relevance_rules.yml" } } } @@ -90,7 +90,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } } @@ -108,7 +108,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } }, @@ -154,7 +154,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } }, @@ -173,7 +173,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } } @@ -206,7 +206,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } }, @@ -259,7 +259,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } }, @@ -299,7 +299,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } } @@ -336,7 +336,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } } @@ -373,7 +373,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_rules.yml" } } } @@ -407,7 +407,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "syphilis_tests_relevance_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..249a3c2 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 @@ -110,7 +110,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "ultrasound_tests_relevance_rules.yml" } } }, 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..bde5443 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_tests_relevance_rules.yml" } } }, @@ -117,7 +117,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -135,7 +135,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } }, @@ -172,7 +172,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } }, @@ -227,7 +227,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } }, @@ -285,7 +285,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -323,7 +323,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -385,7 +385,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -447,7 +447,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -509,7 +509,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -571,7 +571,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -603,7 +603,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -637,7 +637,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } @@ -655,7 +655,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "tests_relevance_rules.yml" + "rules-file": "urine_tests_relevance_rules.yml" } } } diff --git a/opensrp-anc/src/main/assets/rule/hiv_tests_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/hiv_tests_relevance_rules.yml new file mode 100644 index 0000000..7922f23 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/hiv_tests_relevance_rules.yml @@ -0,0 +1,133 @@ +--- +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" +--- +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" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/rpr_tests_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/rpr_tests_relevance_rules.yml new file mode 100644 index 0000000..1d14fd2 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/rpr_tests_relevance_rules.yml @@ -0,0 +1,42 @@ +--- +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_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_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: 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: 1f +condition: "step2_partner_rpr_test_status == 'ordered'" +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" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/rubella_tests_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/rubella_tests_relevance_rules.yml new file mode 100644 index 0000000..4b533dd --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/rubella_tests_relevance_rules.yml @@ -0,0 +1,36 @@ + +--- +name: step2_rubella_test_date +description: Rubella test date. +priority: 1 +condition: "step2_rubella_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" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/syphilis_tests_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/syphilis_tests_relevance_rules.yml new file mode 100644 index 0000000..666d967 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/syphilis_tests_relevance_rules.yml @@ -0,0 +1,154 @@ +--- +name: step1_syphilis_greater_5_toaster +description: syphilis_greater_5_toaster +priority: 1 +condition: "global_pop_syphilis == true && global_pop_syphilis != ''" +actions: + - "isRelevant = true" +--- +name: step2_syphilis_greater_5_toaster +description: syphilis_greater_5_toaster +priority: 1 +condition: "global_pop_syphilis == true && global_pop_syphilis != ''" +actions: + - "isRelevant = true" +--- +name: step1_syphilis_below_5_toaster +description: syphilis_below_5_toaster +priority: 1 +condition: "global_pop_syphilis == false && global_pop_syphilis != ''" +actions: + - "isRelevant = true" +--- +name: step2_syphilis_below_5_toaster +description: syphilis_below_5_toaster +priority: 1 +condition: "global_pop_syphilis == false && global_pop_syphilis != ''" +actions: + - "isRelevant = true" +--- +name: step1_syph_test_notdone +description: Reason +priority: 1 +condition: "step1_syph_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step2_syph_test_notdone +description: Reason +priority: 1 +condition: "step2_syph_test_status == 'not_done'" +actions: + - "isRelevant = true" +--- +name: step1_syph_test_notdone_other +description: Specify +priority: 1 +condition: "step1_syph_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step2_syph_test_notdone_other +description: Specify +priority: 1 +condition: "step2_syph_test_notdone.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_syphilis_test_date +description: Syphilis test date +priority: 1 +condition: "step1_syph_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_syphilis_test_date +description: Syphilis test date +priority: 1 +condition: "step2_syph_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_syph_test_type +description: Syphilis test type +priority: 1 +condition: "step1_syph_test_status == 'done_today' || step1_syph_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step2_syph_test_type +description: Syphilis test type +priority: 1 +condition: "step2_syph_test_status == 'done_today' || step2_syph_test_status == 'done_earlier'" +actions: + - "isRelevant = true" +--- +name: step1_rapid_syphilis_test +description: Rapid syphilis test (RST) +priority: 1 +condition: "((step1_syph_test_status == 'done_today' || step1_syph_test_status == 'done_earlier') && step1_syph_test_type == 'rapid_syphilis')" +actions: + - "isRelevant = true" +--- +name: step2_rapid_syphilis_test +description: Rapid syphilis test (RST) +priority: 1 +condition: "((step2_syph_test_status == 'done_today' || step2_syph_test_status == 'done_earlier') && step2_syph_test_type == 'rapid_syphilis')" +actions: + - "isRelevant = true" +--- +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_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" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/tests_blood_type_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/tests_blood_type_relevance_rules.yml new file mode 100644 index 0000000..87cefaf --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/tests_blood_type_relevance_rules.yml @@ -0,0 +1,70 @@ +--- +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: 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" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/tests_haemoglobin_relelevance_rules.yml b/opensrp-anc/src/main/assets/rule/tests_haemoglobin_relelevance_rules.yml new file mode 100644 index 0000000..151be45 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/tests_haemoglobin_relelevance_rules.yml @@ -0,0 +1,127 @@ + +--- +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" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/tests_hepatitis_b_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/tests_hepatitis_b_relevance_rules.yml new file mode 100644 index 0000000..c245793 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/tests_hepatitis_b_relevance_rules.yml @@ -0,0 +1,28 @@ +--- +name: step1_hepatitis_b_danger_toaster +description: Hep B positive diagnosis! +priority: 1 +condition: "step1_hepb_positive == 1" +actions: + - "isRelevant = true" +--- +name: step2_hepatitis_b_danger_toaster +description: Hep B positive diagnosis! +priority: 1 +condition: "step2_hepb_positive == 1" +actions: + - "isRelevant = true" +--- +name: step1_hepatitis_b_info_toaster +description: Hep B vaccination required +priority: 1 +condition: "step1_hepb_positive == 0" +actions: + - "isRelevant = true" +--- +name: step2_hepatitis_b_info_toaster +description: Hep B vaccination required +priority: 1 +condition: "step2_hepb_positive == 0" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-anc/src/main/assets/rule/tests_hepatitis_c_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/tests_hepatitis_c_relevance_rules.yml new file mode 100644 index 0000000..b87c3ed --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/tests_hepatitis_c_relevance_rules.yml @@ -0,0 +1,15 @@ + +--- +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/tests_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/tests_relevance_rules.yml index e43cee6..f823f9f 100644 --- a/opensrp-anc/src/main/assets/rule/tests_relevance_rules.yml +++ b/opensrp-anc/src/main/assets/rule/tests_relevance_rules.yml @@ -1,109 +1,4 @@ --- -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" ---- name: step1_hepb_test_notdone description: Reason priority: 1 @@ -201,34 +96,7 @@ priority: 1 condition: "(step2_hepb_test_type == 'hbsag_dbs' && step2_hepb_test_status == 'done_today') || (step2_hepb_test_type == 'hbsag_dbs' && step2_hepb_test_status == 'done_earlier')" actions: - "isRelevant = true" ---- -name: step1_hepatitis_b_danger_toaster -description: Hep B positive diagnosis! -priority: 1 -condition: "step1_hepb_positive == 1" -actions: -- "isRelevant = true" ---- -name: step2_hepatitis_b_danger_toaster -description: Hep B positive diagnosis! -priority: 1 -condition: "step2_hepb_positive == 1" -actions: -- "isRelevant = true" ---- -name: step1_hepatitis_b_info_toaster -description: Hep B vaccination required -priority: 1 -condition: "step1_hepb_positive == 0" -actions: -- "isRelevant = true" ---- -name: step2_hepatitis_b_info_toaster -description: Hep B vaccination required -priority: 1 -condition: "step2_hepb_positive == 0" -actions: -- "isRelevant = true" + --- name: step1_hepc_test_notdone description: Reason @@ -328,300 +196,6 @@ condition: "!step1_hepc_test_notdone.isEmpty() && step1_hepc_test_notdone.contai 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" ---- -name: step1_syphilis_greater_5_toaster -description: syphilis_greater_5_toaster -priority: 1 -condition: "global_pop_syphilis == true && global_pop_syphilis != ''" -actions: -- "isRelevant = true" ---- -name: step2_syphilis_greater_5_toaster -description: syphilis_greater_5_toaster -priority: 1 -condition: "global_pop_syphilis == true && global_pop_syphilis != ''" -actions: -- "isRelevant = true" ---- -name: step1_syphilis_below_5_toaster -description: syphilis_below_5_toaster -priority: 1 -condition: "global_pop_syphilis == false && global_pop_syphilis != ''" -actions: -- "isRelevant = true" ---- -name: step2_syphilis_below_5_toaster -description: syphilis_below_5_toaster -priority: 1 -condition: "global_pop_syphilis == false && global_pop_syphilis != ''" -actions: -- "isRelevant = true" ---- -name: step1_syph_test_notdone -description: Reason -priority: 1 -condition: "step1_syph_test_status == 'not_done'" -actions: -- "isRelevant = true" ---- -name: step2_syph_test_notdone -description: Reason -priority: 1 -condition: "step2_syph_test_status == 'not_done'" -actions: -- "isRelevant = true" ---- -name: step1_syph_test_notdone_other -description: Specify -priority: 1 -condition: "step1_syph_test_notdone.contains('other')" -actions: -- "isRelevant = true" ---- -name: step2_syph_test_notdone_other -description: Specify -priority: 1 -condition: "step2_syph_test_notdone.contains('other')" -actions: -- "isRelevant = true" ---- -name: step1_syphilis_test_date -description: Syphilis test date -priority: 1 -condition: "step1_syph_test_status == 'done_earlier'" -actions: -- "isRelevant = true" ---- -name: step2_syphilis_test_date -description: Syphilis test date -priority: 1 -condition: "step2_syph_test_status == 'done_earlier'" -actions: -- "isRelevant = true" ---- -name: step1_syph_test_type -description: Syphilis test type -priority: 1 -condition: "step1_syph_test_status == 'done_today' || step1_syph_test_status == 'done_earlier'" -actions: -- "isRelevant = true" ---- -name: step2_syph_test_type -description: Syphilis test type -priority: 1 -condition: "step2_syph_test_status == 'done_today' || step2_syph_test_status == 'done_earlier'" -actions: -- "isRelevant = true" ---- -name: step1_rapid_syphilis_test -description: Rapid syphilis test (RST) -priority: 1 -condition: "((step1_syph_test_status == 'done_today' || step1_syph_test_status == 'done_earlier') && step1_syph_test_type == 'rapid_syphilis')" -actions: -- "isRelevant = true" ---- -name: step2_rapid_syphilis_test -description: Rapid syphilis test (RST) -priority: 1 -condition: "((step2_syph_test_status == 'done_today' || step2_syph_test_status == 'done_earlier') && step2_syph_test_type == 'rapid_syphilis')" -actions: -- "isRelevant = true" ---- -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 @@ -650,20 +224,6 @@ 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 @@ -671,13 +231,6 @@ 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 @@ -811,132 +364,6 @@ condition: "(step2_hb_test_status == 'done_today' || step2_hb_test_status == 'do 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 @@ -1007,62 +434,6 @@ condition: "step2_tb_screening_status != '' && (step2_tb_screening_status == 'do 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 @@ -1077,13 +448,6 @@ condition: "step2_other_test == 'done_earlier' || step2_other_test == 'done_toda 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 @@ -1091,13 +455,6 @@ condition: "step2_cmv_test_status != '' && step2_cmv_test_status == 'done_earlie 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 @@ -1105,13 +462,6 @@ 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 @@ -1119,13 +469,6 @@ condition: "!step2_cmv_test_notdone.isEmpty() && step2_cmv_test_notdone.contains 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 @@ -1175,48 +518,6 @@ condition: "step2_herps_test_status != '' && (step2_herps_test_status == 'done_t 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 @@ -1287,62 +588,6 @@ 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 @@ -1356,31 +601,3 @@ 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/assets/rule/ultrasound_tests_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/ultrasound_tests_relevance_rules.yml new file mode 100644 index 0000000..2131bcc --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/ultrasound_tests_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" diff --git a/opensrp-anc/src/main/assets/rule/urine_tests_relevance_rules.yml b/opensrp-anc/src/main/assets/rule/urine_tests_relevance_rules.yml new file mode 100644 index 0000000..6b9a416 --- /dev/null +++ b/opensrp-anc/src/main/assets/rule/urine_tests_relevance_rules.yml @@ -0,0 +1,155 @@ +--- +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_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" \ No newline at end of file diff --git a/opensrp-anc/src/main/java/org/smartregister/anc/library/repository/DashboardRepository.java b/opensrp-anc/src/main/java/org/smartregister/anc/library/repository/DashboardRepository.java index 9b57ba4..7b41605 100644 --- a/opensrp-anc/src/main/java/org/smartregister/anc/library/repository/DashboardRepository.java +++ b/opensrp-anc/src/main/java/org/smartregister/anc/library/repository/DashboardRepository.java @@ -26,6 +26,7 @@ import java.time.LocalDate; import java.time.Period; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -48,33 +49,33 @@ public class DashboardRepository extends BaseRepository { @RequiresApi(api = Build.VERSION_CODES.O) public static int getDueContactDash(LocalDate datetoday) { - SQLiteDatabase db = getMasterRepository().getReadableDatabase(); + SQLiteDatabase db = getMasterRepository().getReadableDatabase(); // String query = "SELECT COUNT(*) FROM " + getRegisterQueryProvider().getDetailsTable() + " WHERE " + DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE+ "= '"+datetoday+"'"; // SQLiteStatement statement = db.compileStatement(query); // long count = statement.simpleQueryForLong(); // return count; String query = "SELECT * FROM " + getRegisterQueryProvider().getDetailsTable(); - Cursor cursor = db.rawQuery(query, null); - int count=0; - while (cursor.moveToNext()){ - String next_contact_date=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE)); + Cursor cursor = db.rawQuery(query, null); + int count = 0; + while (cursor.moveToNext()) { + String next_contact_date = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE)); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate d1=null; - if(next_contact_date.charAt(0)=='-'){ + LocalDate d1 = null; + if (next_contact_date.charAt(0) == '-') { d1 = LocalDate.parse(next_contact_date.substring(1), df); - } - else{ + } else { d1 = LocalDate.parse(next_contact_date, df); } // if(datetoday.isEqual(d1) || datetoday.isAfter(d1)) { - if(datetoday.isEqual(d1)) { - if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))){ - count++;} - }else{ + if (datetoday.isEqual(d1)) { + if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + count++; + } + } else { } @@ -82,6 +83,7 @@ public static int getDueContactDash(LocalDate datetoday) { } return count; } + @RequiresApi(api = Build.VERSION_CODES.O) public static int getWomanLateVisits(LocalDate datetoday) { @@ -92,67 +94,73 @@ public static int getWomanLateVisits(LocalDate datetoday) { // long count = statement.simpleQueryForLong(); // return count; String query = "SELECT * FROM " + getRegisterQueryProvider().getDetailsTable(); - Cursor cursor = db.rawQuery(query, null); - int count=0; - while (cursor.moveToNext()){ - String next_contact_date=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE)); + Cursor cursor = db.rawQuery(query, null); + int count = 0; + while (cursor.moveToNext()) { + try { + String next_contact_date = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE)); - DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate d1=null; - if(next_contact_date.charAt(0)=='-'){ - d1 = LocalDate.parse(next_contact_date.substring(1), df); - } - else{ - d1 = LocalDate.parse(next_contact_date, df); - } + DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); + LocalDate d1 = null; + if (next_contact_date.charAt(0) == '-') { + d1 = LocalDate.parse(next_contact_date.substring(1), df); + } else { + d1 = LocalDate.parse(next_contact_date, df); + } - if(datetoday.isAfter(d1)) { + if (datetoday.isAfter(d1)) { // if(datetoday.isEqual(d1)) { - if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))){ - count++;} - }else{ + if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + count++; + } + } else { + } + } catch (DateTimeParseException e) { + Timber.e(e); } } return count; } + @RequiresApi(api = Build.VERSION_CODES.O) - public static int getExpectedDeliveries (String dateStart, String dateEnd){ + public static int getExpectedDeliveries(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); String query = "SELECT * FROM " + getRegisterQueryProvider().getDetailsTable(); - Cursor cursor = db.rawQuery(query, null); - int count=0; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - String edd=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.EDD)); - - if (!"0".equals(edd) && edd!= null){ - LocalDate d=LocalDate.parse(edd); - if(d.isAfter(start) && d.isBefore(end)) { - if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))){ - count++; + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + String edd = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.EDD)); + + if (!"0".equals(edd) && edd != null) { + LocalDate d = LocalDate.parse(edd); + if (d.isAfter(start) && d.isBefore(end)) { + if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + count++; + } } - }} - + } } return count; } + private static boolean isAnc_Closed(String base_entity_id) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_EC_CLIENT+ " WHERE base_entity_id='" +base_entity_id+"'"; - Cursor cursor = db.rawQuery(query, null); - while (cursor.moveToNext()){ - if (cursor.getString(cursor.getColumnIndex("date_removed"))!=null){ - return true; + String query = "SELECT * FROM " + TABLE_EC_CLIENT + " WHERE base_entity_id='" + base_entity_id + "'"; + Cursor cursor = db.rawQuery(query, null); + while (cursor.moveToNext()) { + if (cursor.getString(cursor.getColumnIndex("date_removed")) != null) { + return true; } } @@ -164,41 +172,42 @@ public static int getWomanReferred(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isReferred(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))){ - count++; - } - } - } - - } + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isReferred(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { + count++; + } + } + } + + } return count; } + @RequiresApi(api = Build.VERSION_CODES.O) public static int getWomanVaccinated(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isVaccinatedToday(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isVaccinatedToday(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { count++; } } @@ -211,9 +220,9 @@ public static int getWomanVaccinated(String dateStart, String dateEnd) { private static boolean isVaccinatedToday(String woman_id) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '"+woman_id+"'"; - Cursor cursor = db.rawQuery(query, null); - while (cursor.moveToNext()){ + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '" + woman_id + "'"; + Cursor cursor = db.rawQuery(query, null); + while (cursor.moveToNext()) { try { if (cursor.getString(3).equals("tt1_date")) { @@ -223,9 +232,8 @@ private static boolean isVaccinatedToday(String woman_id) { if (val.get(VALUE).toString().equals("done_today")) { return true; - } - else { - return false; + } else { + return false; } } } catch (JSONException e) { @@ -241,17 +249,17 @@ public static int getWomanAccompaniedWithPartner(String dateStart, String dateEn SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isAccompanied(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isAccompanied(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { count++; } } @@ -260,22 +268,23 @@ public static int getWomanAccompaniedWithPartner(String dateStart, String dateEn } return count; } + @RequiresApi(api = Build.VERSION_CODES.O) public static int getWomanReceivedDewormingPills(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isDewormingPerfomed(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isDewormingPerfomed(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { count++; } } @@ -288,9 +297,9 @@ public static int getWomanReceivedDewormingPills(String dateStart, String dateEn private static boolean isDewormingPerfomed(String woman_id) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '"+woman_id+"'"; - Cursor cursor = db.rawQuery(query, null); - while (cursor.moveToNext()){ + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '" + woman_id + "'"; + Cursor cursor = db.rawQuery(query, null); + while (cursor.moveToNext()) { try { if (cursor.getString(3).equals("deworming_performed")) { @@ -300,9 +309,8 @@ private static boolean isDewormingPerfomed(String woman_id) { if (val.get(VALUE).toString().equals("yes")) { return true; - } - else { - return false; + } else { + return false; } } } catch (JSONException e) { @@ -316,9 +324,9 @@ private static boolean isDewormingPerfomed(String woman_id) { private static boolean isAccompanied(String woman_id) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '"+woman_id+"'"; - Cursor cursor = db.rawQuery(query, null); - while (cursor.moveToNext()){ + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '" + woman_id + "'"; + Cursor cursor = db.rawQuery(query, null); + while (cursor.moveToNext()) { try { if (cursor.getString(3).equals("accompanied_by_partner")) { @@ -328,9 +336,8 @@ private static boolean isAccompanied(String woman_id) { if (val.get(VALUE).toString().equals("yes")) { return true; - } - else { - return false; + } else { + return false; } } } catch (JSONException e) { @@ -344,22 +351,21 @@ private static boolean isAccompanied(String woman_id) { private static boolean isReferred(String woman_id) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '"+woman_id+"'"; - Cursor cursor = db.rawQuery(query, null); - while (cursor.moveToNext()){ + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '" + woman_id + "'"; + Cursor cursor = db.rawQuery(query, null); + while (cursor.moveToNext()) { try { if (cursor.getString(3).equals("referred_hosp")) { - JSONObject val = new JSONObject(cursor.getString(4)); + JSONObject val = new JSONObject(cursor.getString(4)); - if (val.get(VALUE).toString().equals("yes")) { + if (val.get(VALUE).toString().equals("yes")) { - return true; - } - else { - return false; - } + return true; + } else { + return false; + } } } catch (JSONException e) { e.printStackTrace(); @@ -378,17 +384,17 @@ public static long getProcessedVisits(String dateStart, String dateEnd) { // Cursor cursor = db.rawQuery(query, null); // SQLiteStatement statement = db.compileStatement(query); // long count = statement.simpleQueryForLong(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(!isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (!isAnc_Closed(cursor.getString(2))) { count++; } } @@ -397,22 +403,23 @@ public static long getProcessedVisits(String dateStart, String dateEnd) { } return count; } + @RequiresApi(api = Build.VERSION_CODES.O) public static int getWomanWithDangerSing(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(hasDangerSign(cursor.getString(2))&& !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (hasDangerSign(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { count++; } } @@ -421,41 +428,43 @@ public static int getWomanWithDangerSing(String dateStart, String dateEnd) { } return count; } - public static boolean hasDangerSign(String woman_id){ + + public static boolean hasDangerSign(String woman_id) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + getRegisterQueryProvider().getDetailsTable()+" WHERE id= '"+woman_id+"'"; - Cursor cursor = db.rawQuery(query, null); + String query = "SELECT * FROM " + getRegisterQueryProvider().getDetailsTable() + " WHERE id= '" + woman_id + "'"; + Cursor cursor = db.rawQuery(query, null); - while (cursor.moveToNext()){ - String r=cursor.getString(18); - if (!"0".equals(r) && r!= null){ - return true; - }else{ - return false; - } + while (cursor.moveToNext()) { + String r = cursor.getString(18); + if (!"0".equals(r) && r != null) { + return true; + } else { + return false; + } } return false; } + @RequiresApi(api = Build.VERSION_CODES.O) public static int getWomanWithSyphilisPositive(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isSyphilisPositive(cursor.getString(2))&& !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isSyphilisPositive(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { count++; } } @@ -464,16 +473,17 @@ public static int getWomanWithSyphilisPositive(String dateStart, String dateEnd) } return count; } + private static boolean isSyphilisPositive(String woman_id) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '"+woman_id+"'"; - Cursor cursor = db.rawQuery(query, null); - while (cursor.moveToNext()){ + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE base_entity_id= '" + woman_id + "'"; + Cursor cursor = db.rawQuery(query, null); + while (cursor.moveToNext()) { - if (cursor.getString(3).equals("syphilis_positive") && cursor.getString(4).equals("1")) { - return true; - } + if (cursor.getString(3).equals("syphilis_positive") && cursor.getString(4).equals("1")) { + return true; + } } @@ -481,44 +491,44 @@ private static boolean isSyphilisPositive(String woman_id) { } @RequiresApi(api = Build.VERSION_CODES.O) - public static int getWomanInParticularAge(String dateStart, String dateEnd,int age) { + public static int getWomanInParticularAge(String dateStart, String dateEnd, int age) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); String query = "SELECT * FROM ec_details"; - Cursor cursor = db.rawQuery(query, null); - int count=0; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - Long dt=Long.parseLong(cursor.getString(cursor.getColumnIndex("event_date"))); + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + Long dt = Long.parseLong(cursor.getString(cursor.getColumnIndex("event_date"))); DateFormat simple = new SimpleDateFormat("yyyy-MM-dd"); Date result = new Date(dt); - LocalDate d=LocalDate.parse(simple.format(result)); + LocalDate d = LocalDate.parse(simple.format(result)); - if(d.isAfter(start) && d.isBefore(end)) { + if (d.isAfter(start) && d.isBefore(end)) { - if(cursor.getString(1).equals("age_calculated") ) { - int ag = getWomanAge(cursor.getString(cursor.getColumnIndex("base_entity_id"))); - Log.i("TEST1", String.valueOf(ag)+ "getWomanInParticularAge: "+cursor.getString(cursor.getColumnIndex("base_entity_id"))); - if (age == 19) { - if (ag < 20 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { - count++; - } - } else if (age == 30) { + if (cursor.getString(1).equals("age_calculated")) { + int ag = getWomanAge(cursor.getString(cursor.getColumnIndex("base_entity_id"))); + Log.i("TEST1", String.valueOf(ag) + "getWomanInParticularAge: " + cursor.getString(cursor.getColumnIndex("base_entity_id"))); + if (age == 19) { + if (ag < 20 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + count++; + } + } else if (age == 30) { - if ( ag >= 20 && ag < 30 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { - count++; - } + if (ag >= 20 && ag < 30 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + count++; + } - } else { - if (ag >= 30 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { - count++; - } - } - } + } else { + if (ag >= 30 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + count++; + } + } + } } @@ -526,65 +536,67 @@ public static int getWomanInParticularAge(String dateStart, String dateEnd,int a } return count; } + protected static Repository getMasterRepository() { return DrishtiApplication.getInstance().getRepository(); } + private static RegisterQueryProvider getRegisterQueryProvider() { return AncLibrary.getInstance().getRegisterQueryProvider(); } + @RequiresApi(api = Build.VERSION_CODES.O) public static List getWomanProfileDetails(LocalDate datetoday) { Cursor cursor = null; - List clientList=new ArrayList<>(); + List clientList = new ArrayList<>(); try { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); String query = "SELECT " + StringUtils.join(projection, ",") + " FROM " + getRegisterQueryProvider().getDemographicTable() + " join " + getRegisterQueryProvider().getDetailsTable() + - " on " + getRegisterQueryProvider().getDemographicTable() + "." + DBConstantsUtils.KeyUtils.BASE_ENTITY_ID + " = " + getRegisterQueryProvider().getDetailsTable() + "." + DBConstantsUtils.KeyUtils.BASE_ENTITY_ID ; + " on " + getRegisterQueryProvider().getDemographicTable() + "." + DBConstantsUtils.KeyUtils.BASE_ENTITY_ID + " = " + getRegisterQueryProvider().getDetailsTable() + "." + DBConstantsUtils.KeyUtils.BASE_ENTITY_ID; // + " WHERE " + getRegisterQueryProvider().getDetailsTable() + "." + DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE + " = ?"; // cursor = db.rawQuery(query, new String[]{baseEntityId});?? cursor = db.rawQuery(query, null); - if (cursor != null ) { + if (cursor != null) { - while (cursor.moveToNext()){ - CustomClient client=new CustomClient(); - String next_contact_date=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE)); + while (cursor.moveToNext()) { + CustomClient client = new CustomClient(); + String next_contact_date = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE)); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate d1=null; - if(next_contact_date.charAt(0)=='-'){ + LocalDate d1 = null; + if (next_contact_date.charAt(0) == '-') { d1 = LocalDate.parse(next_contact_date.substring(1), df); - } - else{ + } else { d1 = LocalDate.parse(next_contact_date, df); } // if(datetoday.isEqual(d1) || datetoday.isAfter(d1)) { - if(datetoday.isAfter(d1)) { - if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))){ - - - - client.setFirstName(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.FIRST_NAME))); - client.setLastName(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.LAST_NAME))); - client.setAge(String.valueOf(calculateAge(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.DOB))))); - client.setGa(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.EDD))); - client.setRegistrationId(cursor.getString(cursor.getColumnIndex("register_id"))); - client.setNextContactDate(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE))); - String r=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.RED_FLAG_COUNT)); - String red= r == null? "0": r; - String y=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.YELLOW_FLAG_COUNT)); - String yellow= y == null? "0": y; - client.setAttentionFlag(Integer.parseInt(red)+ Integer.parseInt(yellow)); - client.setBaseIntityId(cursor.getString(cursor.getColumnIndex("base_entity_id"))); - clientList.add(client) ; + if (datetoday.isAfter(d1)) { + if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + + + client.setFirstName(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.FIRST_NAME))); + client.setLastName(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.LAST_NAME))); + client.setAge(String.valueOf(calculateAge(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.DOB))))); + client.setGa(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.EDD))); + client.setRegistrationId(cursor.getString(cursor.getColumnIndex("register_id"))); + client.setNextContactDate(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE))); + String r = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.RED_FLAG_COUNT)); + String red = r == null ? "0" : r; + String y = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.YELLOW_FLAG_COUNT)); + String yellow = y == null ? "0" : y; + client.setAttentionFlag(Integer.parseInt(red) + Integer.parseInt(yellow)); + client.setBaseIntityId(cursor.getString(cursor.getColumnIndex("base_entity_id"))); + clientList.add(client); } - }else{} + } else { + } + } } - } return clientList; } catch (Exception e) { @@ -596,29 +608,30 @@ public static List getWomanProfileDetails(LocalDate datetoday) { } return null; } + @RequiresApi(api = Build.VERSION_CODES.O) - public static ListgetProcessedVisitsDetails(String dateStart, String dateEnd) { + public static List getProcessedVisitsDetails(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); // String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT + " WHERE " + KEY + "= 'contact_date' AND " +VALUE+ "='"+datet+"'"; // Cursor cursor = db.rawQuery(query, null); - List clientList=new ArrayList<>(); + List clientList = new ArrayList<>(); // // while (cursor.moveToNext()){ // clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); // } - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(!isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (!isAnc_Closed(cursor.getString(2))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } @@ -628,22 +641,23 @@ public static List getWomanProfileDetails(LocalDate datetoday) { return clientList; } + @RequiresApi(api = Build.VERSION_CODES.O) public static List getWomanReferredDetails(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - List clientList=new ArrayList<>(); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isReferred(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + List clientList = new ArrayList<>(); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isReferred(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } @@ -654,22 +668,22 @@ public static List getWomanReferredDetails(String dateStart, Strin } @RequiresApi(api = Build.VERSION_CODES.O) - public static List getWomanWithDangerSingDetails(String dateStart, String dateEnd) { + public static List getWomanWithDangerSingDetails(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - List clientList=new ArrayList<>(); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(hasDangerSign(cursor.getString(2))&& !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + List clientList = new ArrayList<>(); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (hasDangerSign(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } @@ -679,23 +693,24 @@ public static List getWomanWithDangerSingDetails(String dateStar } return clientList; } + @RequiresApi(api = Build.VERSION_CODES.O) public static List getWomanAccompaniedWithPartnerDetails(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - List clientList=new ArrayList<>(); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isAccompanied(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + List clientList = new ArrayList<>(); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isAccompanied(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } @@ -704,23 +719,24 @@ public static List getWomanAccompaniedWithPartnerDetails(String da } return clientList; } + @RequiresApi(api = Build.VERSION_CODES.O) public static List getWomanReceivedDewormingPillsDetails(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - List clientList=new ArrayList<>(); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isDewormingPerfomed(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + List clientList = new ArrayList<>(); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isDewormingPerfomed(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } @@ -729,70 +745,71 @@ public static List getWomanReceivedDewormingPillsDetails(String da } return clientList; } + @RequiresApi(api = Build.VERSION_CODES.O) - public static List getWomanInParticularAgeDetails(String dateStart, String dateEnd,int age) { + public static List getWomanInParticularAgeDetails(String dateStart, String dateEnd, int age) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); String query = "SELECT * FROM ec_details"; - Cursor cursor = db.rawQuery(query, null); + Cursor cursor = db.rawQuery(query, null); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); + LocalDate start = LocalDate.parse(dateStart, df); - List clientList=new ArrayList<>(); - LocalDate end= LocalDate.parse(dateEnd, df); - while (cursor.moveToNext()){ - Long dt=Long.parseLong(cursor.getString(cursor.getColumnIndex("event_date"))); + List clientList = new ArrayList<>(); + LocalDate end = LocalDate.parse(dateEnd, df); + while (cursor.moveToNext()) { + Long dt = Long.parseLong(cursor.getString(cursor.getColumnIndex("event_date"))); DateFormat simple = new SimpleDateFormat("yyyy-MM-dd"); Date result = new Date(dt); - LocalDate d=LocalDate.parse(simple.format(result)); - if(d.isAfter(start) && d.isBefore(end)) { - if(cursor.getString(1).equals("age_calculated") ) { + LocalDate d = LocalDate.parse(simple.format(result)); + if (d.isAfter(start) && d.isBefore(end)) { + if (cursor.getString(1).equals("age_calculated")) { int ag = getWomanAge(cursor.getString(cursor.getColumnIndex("base_entity_id"))); - Log.i("TEST1", String.valueOf(ag)+ "getWomanInParticularAge: "+cursor.getString(cursor.getColumnIndex("base_entity_id"))); + Log.i("TEST1", String.valueOf(ag) + "getWomanInParticularAge: " + cursor.getString(cursor.getColumnIndex("base_entity_id"))); if (age == 19) { if (ag < 20 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } else if (age == 30) { - if ( ag >= 20 && ag < 30 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + if (ag >= 20 && ag < 30 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } else { - if (ag >= 30 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { + if (ag >= 30 && !isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } } - } } return clientList; } + @RequiresApi(api = Build.VERSION_CODES.O) - public static List getWomanVaccinatedDetails(String dateStart, String dateEnd) { + public static List getWomanVaccinatedDetails(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - List clientList=new ArrayList<>(); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isVaccinatedToday(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + List clientList = new ArrayList<>(); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isVaccinatedToday(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } @@ -801,23 +818,24 @@ public static List getWomanVaccinatedDetails(String dateStart, St } return clientList; } + @RequiresApi(api = Build.VERSION_CODES.O) public static List getWomanWithSyphilisPositiveDetails(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT ; - Cursor cursor = db.rawQuery(query, null); - int count=0; + String query = "SELECT * FROM " + TABLE_PREVIOUS_CONTACT; + Cursor cursor = db.rawQuery(query, null); + int count = 0; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - List clientList=new ArrayList<>(); - while (cursor.moveToNext()){ - if (cursor.getString(3).equals("contact_date")){ - LocalDate d=LocalDate.parse(cursor.getString(4)); - if(d.isAfter(start) && d.isBefore(end)) { - if(isSyphilisPositive(cursor.getString(2))&& !isAnc_Closed(cursor.getString(2))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + List clientList = new ArrayList<>(); + while (cursor.moveToNext()) { + if (cursor.getString(3).equals("contact_date")) { + LocalDate d = LocalDate.parse(cursor.getString(4)); + if (d.isAfter(start) && d.isBefore(end)) { + if (isSyphilisPositive(cursor.getString(2)) && !isAnc_Closed(cursor.getString(2))) { clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } } @@ -826,44 +844,47 @@ public static List getWomanWithSyphilisPositiveDetails(String date } return clientList; } + @RequiresApi(api = Build.VERSION_CODES.O) - public static List getExpectedDeliveriesDetails (String dateStart, String dateEnd){ + public static List getExpectedDeliveriesDetails(String dateStart, String dateEnd) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); String query = "SELECT * FROM " + getRegisterQueryProvider().getDetailsTable(); - Cursor cursor = db.rawQuery(query, null); + Cursor cursor = db.rawQuery(query, null); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-d"); - LocalDate start= LocalDate.parse(dateStart, df); - LocalDate end= LocalDate.parse(dateEnd, df); - Log.i("TESTing", "getExpectedDeliveriesDetails: "+start); - Log.i("TESTing", "getExpectedDeliveriesDetails: "+end); - List clientList=new ArrayList<>(); - while (cursor.moveToNext()){ - String edd=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.EDD)); - - if (!"0".equals(edd) && edd!= null){ - LocalDate d=LocalDate.parse(edd); - if(d.isAfter(start) && d.isBefore(end)) { - if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))){ + LocalDate start = LocalDate.parse(dateStart, df); + LocalDate end = LocalDate.parse(dateEnd, df); + Log.i("TESTing", "getExpectedDeliveriesDetails: " + start); + Log.i("TESTing", "getExpectedDeliveriesDetails: " + end); + List clientList = new ArrayList<>(); + while (cursor.moveToNext()) { + String edd = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.EDD)); + + if (!"0".equals(edd) && edd != null) { + LocalDate d = LocalDate.parse(edd); + if (d.isAfter(start) && d.isBefore(end)) { + if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { - clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); + clientList.add(getDetailsList(cursor.getString(cursor.getColumnIndex("base_entity_id")))); } - }} + } + } } return clientList; } + @RequiresApi(api = Build.VERSION_CODES.O) private static int getWomanAge(String base_entity_id) { SQLiteDatabase db = getMasterRepository().getReadableDatabase(); - int age=25; - String query = "SELECT * FROM " + TABLE_EC_CLIENT+ " WHERE base_entity_id='" +base_entity_id+"'"; - Cursor cursor = db.rawQuery(query, null); - while (cursor.moveToNext()){ - age= calculateAge(cursor.getString(cursor.getColumnIndex("dob"))); + int age = 25; + String query = "SELECT * FROM " + TABLE_EC_CLIENT + " WHERE base_entity_id='" + base_entity_id + "'"; + Cursor cursor = db.rawQuery(query, null); + while (cursor.moveToNext()) { + age = calculateAge(cursor.getString(cursor.getColumnIndex("dob"))); - } + } return age; } @@ -880,27 +901,27 @@ public static CustomClient getDetailsList(String baseEntityId) { " on " + getRegisterQueryProvider().getDemographicTable() + "." + DBConstantsUtils.KeyUtils.BASE_ENTITY_ID + " = " + getRegisterQueryProvider().getDetailsTable() + "." + DBConstantsUtils.KeyUtils.BASE_ENTITY_ID + " WHERE " + getRegisterQueryProvider().getDemographicTable() + "." + DBConstantsUtils.KeyUtils.BASE_ENTITY_ID + " = ?"; cursor = db.rawQuery(query, new String[]{baseEntityId}); - CustomClient client=new CustomClient(); - if (cursor != null ) { + CustomClient client = new CustomClient(); + if (cursor != null) { - while (cursor.moveToNext()){ - if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))){ + while (cursor.moveToNext()) { + if (!isAnc_Closed(cursor.getString(cursor.getColumnIndex("base_entity_id")))) { - client.setFirstName(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.FIRST_NAME))); - client.setLastName(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.LAST_NAME))); - client.setAge(String.valueOf(calculateAge(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.DOB))))); - client.setGa(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.EDD))); - client.setRegistrationId(cursor.getString(cursor.getColumnIndex("register_id"))); - client.setNextContactDate(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE))); - String r=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.RED_FLAG_COUNT)); - String red= r == null? "0": r; - String y=cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.YELLOW_FLAG_COUNT)); - String yellow= y == null? "0": y; - client.setAttentionFlag(Integer.parseInt(red)+ Integer.parseInt(yellow)); - client.setBaseIntityId(cursor.getString(cursor.getColumnIndex("base_entity_id"))); + client.setFirstName(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.FIRST_NAME))); + client.setLastName(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.LAST_NAME))); + client.setAge(String.valueOf(calculateAge(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.DOB))))); + client.setGa(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.EDD))); + client.setRegistrationId(cursor.getString(cursor.getColumnIndex("register_id"))); + client.setNextContactDate(cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.NEXT_CONTACT_DATE))); + String r = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.RED_FLAG_COUNT)); + String red = r == null ? "0" : r; + String y = cursor.getString(cursor.getColumnIndex(DBConstantsUtils.KeyUtils.YELLOW_FLAG_COUNT)); + String yellow = y == null ? "0" : y; + client.setAttentionFlag(Integer.parseInt(red) + Integer.parseInt(yellow)); + client.setBaseIntityId(cursor.getString(cursor.getColumnIndex("base_entity_id"))); - } + } } } @@ -915,11 +936,12 @@ public static CustomClient getDetailsList(String baseEntityId) { } return null; } + @RequiresApi(api = Build.VERSION_CODES.O) private static int calculateAge(String birthDate) { - LocalDate currentDate = LocalDate.now(); + LocalDate currentDate = LocalDate.now(); if ((birthDate != null) && (currentDate != null)) { - return currentDate.getYear()-Integer.valueOf(birthDate.split("-", 0)[0]); + return currentDate.getYear() - Integer.valueOf(birthDate.split("-", 0)[0]); } else { return 0; } diff --git a/reference-app/build.gradle b/reference-app/build.gradle index 089175d..08321ad 100644 --- a/reference-app/build.gradle +++ b/reference-app/build.gradle @@ -196,6 +196,7 @@ android { configurations.all { resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' + exclude group: 'junit', module: 'junit' } } @@ -237,7 +238,7 @@ dependencies { implementation project(":opensrp-anc") implementation 'org.smartregister:opensrp-client-utils:0.0.6-SNAPSHOT' implementation 'org.smartregister:opensrp-client-materialedittext:2.1.6-SNAPSHOT' - implementation('rw.ths:opensrp-client-native-form:1.0-local-release') { + 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' @@ -264,7 +265,7 @@ dependencies { exclude group: 'com.ibm.fhir', module: 'fhir-model' } - implementation('rw.ths.corelibary:corelibary:1.5-local-debug') { + 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' @@ -295,7 +296,7 @@ dependencies { // exclude group: 'com.ibm.fhir', module: 'fhir-model' // exclude group: 'org.smartregister', module: 'android-p2p-sync' // } - api("rw.ths:p2p-sync:1.0-local-release") { + api("org.smartregister:android-p2p-sync:0.4.0-DEV-SNAPSHOT") { transitive = true exclude group: 'org.smartregister', module: 'opensrp-client-core' exclude group: 'com.android.support', module: 'appcompat-v7' @@ -384,6 +385,8 @@ dependencies { testImplementation 'org.mockito:mockito-core:3.5.15' testImplementation 'org.apache.maven:maven-ant-tasks:2.1.3' testImplementation 'org.skyscreamer:jsonassert:1.5.0' + + debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12' } task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) { diff --git a/reference-app/src/main/java/org/smartregister/anc/application/AncApplication.java b/reference-app/src/main/java/org/smartregister/anc/application/AncApplication.java index ae08c77..571538d 100644 --- a/reference-app/src/main/java/org/smartregister/anc/application/AncApplication.java +++ b/reference-app/src/main/java/org/smartregister/anc/application/AncApplication.java @@ -203,14 +203,14 @@ public Context getContext() { @Override public void onTimeChanged() { Utils.showToast(this, this.getString(org.smartregister.anc.library.R.string.device_time_changed)); - context.userService().getAllSharedPreferences().saveForceRemoteLogin(true, context.allSharedPreferences().fetchRegisteredANM()); + context.userService().getAllSharedPreferences().saveForceRemoteLogin(false, context.allSharedPreferences().fetchRegisteredANM()); logoutCurrentUser(); } @Override public void onTimeZoneChanged() { Utils.showToast(this, this.getString(org.smartregister.anc.library.R.string.device_timezone_changed)); - context.userService().getAllSharedPreferences().saveForceRemoteLogin(true, context.allSharedPreferences().fetchRegisteredANM()); + context.userService().getAllSharedPreferences().saveForceRemoteLogin(false, context.allSharedPreferences().fetchRegisteredANM()); logoutCurrentUser(); } } \ No newline at end of file