Skip to content
This repository has been archived by the owner on Jan 21, 2021. It is now read-only.

Commit

Permalink
solve birth and death calculator except child with under weight
Browse files Browse the repository at this point in the history
  • Loading branch information
ounasha committed Nov 12, 2017
1 parent b7e7480 commit 1be13ab
Show file tree
Hide file tree
Showing 25 changed files with 247 additions and 146 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,22 +44,20 @@ public class MIS1Report {
private transient List<Members> membersList;

@DHIS2(dataSetId="Z5WPr2zconV")
private FamilyPlanningReport familyPlanningReport;

private MaternityCareReport maternityCareReport;

private BirthAndDeathReport birthAndDeathReport;
private ChildCareReport childCareReport;
private NutritionReport nutritionReport;
private FamilyPlanningReport familyPlanningReport;
private MaternityCareReport maternityCareReport;
private BirthAndDeathReport birthAndDeathReport;
private ChildCareReport childCareReport;
private NutritionReport nutritionReport;


public MIS1Report(String healthWorker, List<Members> membersList, long startDateTime, long endDateTime) {
this.healthWorker = healthWorker;
this.membersList = membersList;
this.familyPlanningReport = new FamilyPlanningReport(startDateTime, endDateTime);
this.maternityCareReport = new MaternityCareReport(startDateTime, endDateTime);
this.birthAndDeathReport = new BirthAndDeathReport(startDateTime, endDateTime);
this.childCareReport = new ChildCareReport(startDateTime, endDateTime);
this.maternityCareReport = new MaternityCareReport(startDateTime, endDateTime);
this.childCareReport = new ChildCareReport(startDateTime, endDateTime);
this.birthAndDeathReport = new BirthAndDeathReport(startDateTime, endDateTime);
this.nutritionReport = new NutritionReport(startDateTime, endDateTime);
this.calculateReport();
}
Expand All @@ -83,7 +81,7 @@ public MaternityCareReport getMaternityCareReport() {
return maternityCareReport;
}

public BirthAndDeathReport getBirthAndDeathReport() {
public BirthAndDeathReport getBirthAndDeathReport() {

return birthAndDeathReport;
}
Expand All @@ -102,13 +100,13 @@ private void calculateReport() {
familyPlanningReport.calculate(member);
maternityCareReport.calculate(member);
birthAndDeathReport.calculate(member);
//nutritionReport.calculate(member);
childCareReport.calculate(member);
nutritionReport.calculate(member);
}
}


public NutritionReport getNutritionReport() {
public NutritionReport getNutritionReport() {
return nutritionReport;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ protected void initCalculators(long startDateTime, long endDateTime) {
useReflectionToDynamicallyInitAllMemberOf(this.getClass(), startDateTime, endDateTime);
}

public BirthCountCalculator getBirthCountCalculator() {
public BirthCountCalculator getBirthCountCalculator() {

return birthCountCalculator;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ private long addTotalLiveBirthChild(Members member) {
Date startDate = null;
Date endDate = null;
long value = 0;
if( member.getMember_Birth_Date() != null ){
String deliveryDateStr = member.getMember_Birth_Date();
if( member.getCalc_Dob_Confirm() != null ){
String deliveryDateStr = member.getCalc_Dob_Confirm();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
dooDate = simpleDateFormat.parse(deliveryDateStr);
startDate = new Date( startDateTime * 1000);
endDate = new Date( endDateTime * 1000);
startDate = new Date(startDateTime);
endDate = new Date(endDateTime);
} catch (ParseException e) {
e.printStackTrace();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class ChildWithUnderWeightCalculator extends ReportCalculator {

Expand Down Expand Up @@ -38,32 +40,38 @@ private long countTotalChildWithUnderWeight(Members member) {
Date startDate = null;
Date endDate = null;
long totalunderweightcount = 0;
if( member.details().get("DOO") != null ){
String deliveryDateStr = member.details().get("DOO");

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");

try {
dooDate = simpleDateFormat.parse(deliveryDateStr);
startDate = new Date( startDateTime * 1000);
endDate = new Date( endDateTime * 1000);
} catch (ParseException e) {
e.printStackTrace();
}

if(dooDate.after(startDate) && dooDate.before(endDate) || dooDate.equals(startDate)){

if( member.details().get("Child_Weight") != null ){
System.out.println("Child_Weight::: " + member.details().get("Child_Weight") + " dooDate::: " + dooDate);
String childWeightStr = member.details().get("Child_Weight");
float childWeight = Float.parseFloat(childWeightStr);
if( childWeight < 2.5 )
totalunderweightcount = 1;

Map<String , String> detailsMap = member.details();
if( detailsMap.containsKey("DOO")){
if( member.details().get("DOO").length() != 0 ){
String deliveryDateStr = member.details().get("DOO");

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");

try {
dooDate = simpleDateFormat.parse(deliveryDateStr);
startDate = new Date( startDateTime);
endDate = new Date( endDateTime);
} catch (ParseException e) {
e.printStackTrace();
}
}
else{
totalunderweightcount =0 ;
}
if(detailsMap.containsKey("Child_Weight")){
System.out.println("Details::: " + member.details().toString());

if(dooDate.after(startDate) && dooDate.before(endDate) || dooDate.equals(startDate)){
String childWeightStr = member.details().get("Child_Weight");
float childWeight = Float.parseFloat(childWeightStr);
System.out.println("float:" + childWeight + " string:" + childWeightStr);
if( childWeight < 2.5 )
totalunderweightcount = 1;

}
else{
totalunderweightcount =0 ;
}
}
}



}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

/**
* Created by asha on 9/28/17.
Expand Down Expand Up @@ -38,25 +39,25 @@ public void initCountVariables() {

private long addTotalCountOfDeathofLessThanFiveYr(Members member){
long value=0;
Map<String , String> deathReg = member.getDeathReg();
if( deathReg.containsKey("death_today")){
String deathDateStr = member.getDeathReg().get("death_today");

if( member.getDeathReg().get("DOO") != null ){
String deliveryDateStr = member.getDeathReg().get("DOO");

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dooDate = null;
Date startDate = null;
Date endDate = null;

try {
dooDate = simpleDateFormat.parse(deliveryDateStr);
dooDate = simpleDateFormat.parse(deathDateStr);
startDate = new Date( startDateTime * 1000);
endDate = new Date( endDateTime * 1000);
} catch (ParseException e) {
e.printStackTrace();
}
if(dooDate.after(startDate) && dooDate.before(endDate) || dooDate.equals(startDate)) {

if (member.getDeathReg().get("Deceased_Age_Group") !=null && member.getDeathReg().get("Deceased_Age_Group") == "4") {
if (member.getDeathReg().get("Deceased_Age_Group").equals("4")) {
// long Deceased_Age_Group = Long.parseLong(member.getDeathReg().get("Deceased_Age_Group"));
// if (Deceased_Age_Group == 4) {
value = 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

/**
* Created by asha on 9/28/17.
Expand Down Expand Up @@ -37,16 +38,17 @@ public void initCountVariables() {

private long addTotalCountOfDeathofLessThanOneYr(Members member){
long value=0;
Map<String , String> deathReg = member.getDeathReg();
if( deathReg.containsKey("death_today")){
String deathDateStr = member.getDeathReg().get("death_today");

if( member.getDeathReg().get("DOO") != null ){
String deliveryDateStr = member.getDeathReg().get("DOO");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dooDate = null;
Date startDate = null;
Date endDate = null;

try {
dooDate = simpleDateFormat.parse(deliveryDateStr);
dooDate = simpleDateFormat.parse(deathDateStr);
startDate = new Date( startDateTime * 1000);
endDate = new Date( endDateTime * 1000);
} catch (ParseException e) {
Expand All @@ -55,7 +57,7 @@ private long addTotalCountOfDeathofLessThanOneYr(Members member){

if(dooDate.after(startDate) && dooDate.before(endDate) || dooDate.equals(startDate)){
//System.out.println("check Deceased_Age_Group ::: " + member.getDeathReg().get("Deceased_Age_Group"));
if (member.getDeathReg().get("Deceased_Age_Group") != null && member.getDeathReg().get("Deceased_Age_Group") == "3") {
if ( member.getDeathReg().get("Deceased_Age_Group").equals("3")) {
value = 1;
}else {
value = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

/**
* Created by asha on 9/28/17.
Expand Down Expand Up @@ -40,16 +41,17 @@ private long addTotalCountOfDeathofLessThanSevenDays(Members member){

long value=0;

if( member.getDeathReg().get("DOO") != null ){
String deliveryDateStr = member.getDeathReg().get("DOO");
Map<String , String> deathReg = member.getDeathReg();
if( deathReg.containsKey("death_today")){
String deathDateStr = member.getDeathReg().get("death_today");

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dooDate = null;
Date startDate = null;
Date endDate = null;

try {
dooDate = simpleDateFormat.parse(deliveryDateStr);
dooDate = simpleDateFormat.parse(deathDateStr);
startDate = new Date( startDateTime * 1000);
endDate = new Date( endDateTime * 1000);
} catch (ParseException e) {
Expand All @@ -58,15 +60,15 @@ private long addTotalCountOfDeathofLessThanSevenDays(Members member){

if(dooDate.after(startDate) && dooDate.before(endDate) || dooDate.equals(startDate)){

if (member.getDeathReg().get("Deceased_Age_Group") != null && member.getDeathReg().get("Deceased_Age_Group") == "1") {
if (member.getDeathReg().get("Deceased_Age_Group").equals("1")) {
value = 1;
}
else {
value = 0;
}

}
System.out.println("in seven days value::::" + value);

}

return value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

/**
* Created by asha on 9/28/17.
Expand Down Expand Up @@ -38,24 +39,27 @@ public void initCountVariables() {
private long addTotalCountOfDeathofLessThanTwnEightDay(Members member){
long value=0;

if( member.getDeathReg().get("DOO") != null ){
String deliveryDateStr = member.getDeathReg().get("DOO");
Map<String , String> deathReg = member.getDeathReg();
if( deathReg.containsKey("death_today")){
System.out.println("in1");
String deathDateStr = member.getDeathReg().get("death_today");

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dooDate = null;
Date startDate = null;
Date endDate = null;

try {
dooDate = simpleDateFormat.parse(deliveryDateStr);
startDate = new Date( startDateTime * 1000);
endDate = new Date( endDateTime * 1000);
dooDate = simpleDateFormat.parse(deathDateStr);
startDate = new Date( startDateTime);
endDate = new Date( endDateTime);
} catch (ParseException e) {
e.printStackTrace();
}

if(dooDate.after(startDate) && dooDate.before(endDate) || dooDate.equals(startDate)){
if (member.getDeathReg().get("Deceased_Age_Group") != null && member.getDeathReg().get("Deceased_Age_Group") == "2") {
System.out.println("in2");
if (member.getDeathReg().get("Deceased_Age_Group").equals("2")) {
value = 1;
}else {
value = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

/**
* Created by asha on 9/28/17.
Expand Down Expand Up @@ -40,23 +41,24 @@ public void initCountVariables() {
private long addTotalCountOfDeathofMother(Members member) {
long value = 0;

if( member.getDeathReg().get("DOO") != null ){
String deliveryDateStr = member.getDeathReg().get("DOO");
Map<String , String> deathReg = member.getDeathReg();
if( deathReg.containsKey("death_today")){
String deathDateStr = member.getDeathReg().get("death_today");

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dooDate = null;
Date startDate = null;
Date endDate = null;

try {
dooDate = simpleDateFormat.parse(deliveryDateStr);
dooDate = simpleDateFormat.parse(deathDateStr);
startDate = new Date(startDateTime * 1000);
endDate = new Date(endDateTime * 1000);
} catch (ParseException e) {
e.printStackTrace();
}
if (dooDate.after(startDate) && dooDate.before(endDate) || dooDate.equals(startDate)) {
if (member.getDeathReg().get("Deceased_Age_Group") != null && member.getDeathReg().get("Deceased_Age_Group") == "5") {
if (member.getDeathReg().get("Deceased_Age_Group").equals("5")) {
value = 1;
}else{
value = 0;
Expand Down

0 comments on commit 1be13ab

Please sign in to comment.