Skip to content

Commit e530891

Browse files
authored
Merge pull request #109 from mngoe/OP-2615
Improve enquiring process #OP-2615
2 parents fbd9acd + ee2f77f commit e530891

9 files changed

Lines changed: 112 additions & 89 deletions

File tree

.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,6 @@ fastlane/readme.md
8787
# Custom product flavours
8888
*custom-flavours.gradle
8989
.DS_Store
90-
91-
.DS_Store
90+
./*.DS_Store
9291
*.properties
9392
./gradle
94-
*.DS_Store

claimManagement/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ android {
6969
demoProd {
7070
applicationIdSuffix ".demoProd"
7171
resValue "string", "app_name_claims", "Claims Demo"
72-
buildConfigField "String", "API_BASE_URL", '"http://demo.openimis.org/"'
72+
buildConfigField "String", "API_BASE_URL", '"https://demo.openimis.org/"'
7373
dimension 'std'
7474
}
7575

claimManagement/fakedatabase

-4 KB
Binary file not shown.

claimManagement/src/main/graphql/org.openimis.imisclaim/GetInsureeInquire.graphql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ query GetInsureeInquire($chfId: String) {
5353
expiryDate
5454
status
5555
value
56+
validityTo
5657
}
5758
}
5859
}

claimManagement/src/main/java/org/openimis/imisclaims/EnquireActivity.java

Lines changed: 84 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,8 @@ protected Insuree getDataFromDb(String chfid) {
250250
/* totalConsultationsLeft = */ null,
251251
/* totalDeliveriesLeft = */ null,
252252
/* totalSurgeriesLeft = */ null,
253-
/* totalVisitsLeft = */ null
253+
/* totalVisitsLeft = */ null,
254+
/* validityTo = */ null
254255
));
255256
}
256257
c.close();
@@ -344,100 +345,102 @@ public void renderResult(@Nullable Insuree insuree) {
344345
ArrayList<Map<String, String>> PolicyList = new ArrayList<>();
345346
Collections.reverse(insuree.getPolicies());
346347
for (Policy policy : insuree.getPolicies()) {
347-
HashMap<String, String> policyMap = new HashMap<>();
348-
double iDedType = policy.getDeductibleType() != null ? policy.getDeductibleType() : 0;
348+
if(policy.getValidityTo() == null){
349+
HashMap<String, String> policyMap = new HashMap<>();
350+
double iDedType = policy.getDeductibleType() != null ? policy.getDeductibleType() : 0;
349351

350-
String Ded = "", Ded1 = "", Ded2 = "";
351-
String Ceiling = "", Ceiling1 = "", Ceiling2 = "";
352+
String Ded = "", Ded1 = "", Ded2 = "";
353+
String Ceiling = "", Ceiling1 = "", Ceiling2 = "";
352354

353355

354-
//Get the type
356+
//Get the type
355357

356-
if (iDedType == 1 | iDedType == 2 | iDedType == 3) {
357-
if (policy.getDeductibleIp() != null) {
358-
Ded1 = String.valueOf(policy.getDeductibleIp());
359-
Ded = "Deduction: " + Ded1;
358+
if (iDedType == 1 | iDedType == 2 | iDedType == 3) {
359+
if (policy.getDeductibleIp() != null) {
360+
Ded1 = String.valueOf(policy.getDeductibleIp());
361+
Ded = "Deduction: " + Ded1;
362+
}
363+
if (policy.getCeilingIp() != null) {
364+
Ceiling1 = String.valueOf(policy.getCeilingIp());
365+
Ceiling = "Ceiling: " + Ceiling1;
366+
}
367+
} else if (iDedType == 1.1 | iDedType == 2.1 | iDedType == 3.1) {
368+
if (policy.getDeductibleIp() != null) {
369+
Ded1 = " IP:" + policy.getDeductibleIp();
370+
}
371+
if (policy.getDeductibleOp() != null) {
372+
Ded2 = " OP:" + policy.getDeductibleOp();
373+
}
374+
if (policy.getCeilingIp() != null) {
375+
Ceiling1 = " IP:" + policy.getCeilingIp();
376+
}
377+
if (policy.getCeilingIp() != null) {
378+
Ceiling2 = " OP:" + policy.getCeilingOp();
379+
}
380+
381+
if (!(Ded1 + Ded2).equals("")) {
382+
Ded = "Deduction: " + Ded1 + Ded2;
383+
}
384+
if (!(Ceiling1 + Ceiling2).equals("")) {
385+
Ceiling = "Ceiling: " + Ceiling1 + Ceiling2;
386+
}
360387
}
361-
if (policy.getCeilingIp() != null) {
362-
Ceiling1 = String.valueOf(policy.getCeilingIp());
363-
Ceiling = "Ceiling: " + Ceiling1;
388+
389+
String expiryDate = policy.getExpiryDate() != null ?
390+
DateUtils.toDateString(policy.getExpiryDate()) : null;
391+
String status = policy.getStatus().name();
392+
String heading1;
393+
if (expiryDate != null) {
394+
heading1 = expiryDate + " " + status;
395+
} else {
396+
heading1 = status;
364397
}
365-
} else if (iDedType == 1.1 | iDedType == 2.1 | iDedType == 3.1) {
366-
if (policy.getDeductibleIp() != null) {
367-
Ded1 = " IP:" + policy.getDeductibleIp();
398+
policyMap.put("Heading", policy.getCode());
399+
policyMap.put("Heading1", heading1);
400+
policyMap.put("SubItem1", policy.getName());
401+
policyMap.put("SubItem2", Ded);
402+
policyMap.put("SubItem3", Ceiling);
403+
404+
SQLHandler sqlHandler = new SQLHandler(this);
405+
if (!sqlHandler.getAdjustability("TotalAdmissionsLeft").equals("N")) {
406+
policyMap.put("SubItem4", buildEnquireValue(policy.getTotalAdmissionsLeft(), R.string.totalAdmissionsLeft));
368407
}
369-
if (policy.getDeductibleOp() != null) {
370-
Ded2 = " OP:" + policy.getDeductibleOp();
408+
if (!sqlHandler.getAdjustability("TotalVisitsLeft").equals("N")) {
409+
policyMap.put("SubItem5", buildEnquireValue(policy.getTotalVisitsLeft(), R.string.totalVisitsLeft));
371410
}
372-
if (policy.getCeilingIp() != null) {
373-
Ceiling1 = " IP:" + policy.getCeilingIp();
411+
if (!sqlHandler.getAdjustability("TotalConsultationsLeft").equals("N")) {
412+
policyMap.put("SubItem6", buildEnquireValue(policy.getTotalConsultationsLeft(), R.string.totalConsultationsLeft));
374413
}
375-
if (policy.getCeilingIp() != null) {
376-
Ceiling2 = " OP:" + policy.getCeilingOp();
414+
if (!sqlHandler.getAdjustability("TotalSurgeriesLeft").equals("N")) {
415+
policyMap.put("SubItem7", buildEnquireValue(policy.getTotalSurgeriesLeft(), R.string.totalSurgeriesLeft));
377416
}
378-
379-
if (!(Ded1 + Ded2).equals("")) {
380-
Ded = "Deduction: " + Ded1 + Ded2;
417+
if (!sqlHandler.getAdjustability("TotalDelivieriesLeft").equals("N")) {
418+
policyMap.put("SubItem8", buildEnquireValue(policy.getTotalDeliveriesLeft(), R.string.totalDeliveriesLeft));
381419
}
382-
if (!(Ceiling1 + Ceiling2).equals("")) {
383-
Ceiling = "Ceiling: " + Ceiling1 + Ceiling2;
420+
if (!sqlHandler.getAdjustability("TotalAntenatalLeft").equals("N")) {
421+
policyMap.put("SubItem9", buildEnquireValue(policy.getTotalAntenatalLeft(), R.string.totalAntenatalLeft));
384422
}
385-
}
423+
if (!sqlHandler.getAdjustability("ConsultationAmountLeft").equals("N")) {
424+
policyMap.put("SubItem10", buildEnquireValue(policy.getConsultationAmountLeft(), R.string.consultationAmountLeft));
425+
}
426+
if (!sqlHandler.getAdjustability("AntenatalAmountLeft").equals("N")) {
427+
policyMap.put("SubItem13", buildEnquireValue(policy.getAntenatalAmountLeft(), R.string.antenatalAmountLeft));
428+
}
429+
if (!sqlHandler.getAdjustability("SurgeryAmountLeft").equals("N")) {
430+
policyMap.put("SubItem11", buildEnquireValue(policy.getSurgeryAmountLeft(), R.string.surgeryAmountLeft));
431+
}
432+
if (!sqlHandler.getAdjustability("HospitalizationAmountLeft").equals("N")) {
433+
policyMap.put("SubItem12", buildEnquireValue(policy.getHospitalizationAmountLeft(), R.string.hospitalizationAmountLeft));
434+
}
435+
if (!sqlHandler.getAdjustability("DeliveryAmountLeft").equals("N")) {
436+
policyMap.put("SubItem14", buildEnquireValue(policy.getDeliveryAmountLeft(), R.string.deliveryAmountLeft));
437+
}
438+
sqlHandler.close();
386439

387-
String expiryDate = policy.getExpiryDate() != null ?
388-
DateUtils.toDateString(policy.getExpiryDate()) : null;
389-
String status = policy.getStatus().name();
390-
String heading1;
391-
if (expiryDate != null) {
392-
heading1 = expiryDate + " " + status;
393-
} else {
394-
heading1 = status;
395-
}
396-
policyMap.put("Heading", policy.getCode());
397-
policyMap.put("Heading1", heading1);
398-
policyMap.put("SubItem1", policy.getName());
399-
policyMap.put("SubItem2", Ded);
400-
policyMap.put("SubItem3", Ceiling);
401-
402-
SQLHandler sqlHandler = new SQLHandler(this);
403-
if (!sqlHandler.getAdjustability("TotalAdmissionsLeft").equals("N")) {
404-
policyMap.put("SubItem4", buildEnquireValue(policy.getTotalAdmissionsLeft(), R.string.totalAdmissionsLeft));
405-
}
406-
if (!sqlHandler.getAdjustability("TotalVisitsLeft").equals("N")) {
407-
policyMap.put("SubItem5", buildEnquireValue(policy.getTotalVisitsLeft(), R.string.totalVisitsLeft));
408-
}
409-
if (!sqlHandler.getAdjustability("TotalConsultationsLeft").equals("N")) {
410-
policyMap.put("SubItem6", buildEnquireValue(policy.getTotalConsultationsLeft(), R.string.totalConsultationsLeft));
411-
}
412-
if (!sqlHandler.getAdjustability("TotalSurgeriesLeft").equals("N")) {
413-
policyMap.put("SubItem7", buildEnquireValue(policy.getTotalSurgeriesLeft(), R.string.totalSurgeriesLeft));
414-
}
415-
if (!sqlHandler.getAdjustability("TotalDelivieriesLeft").equals("N")) {
416-
policyMap.put("SubItem8", buildEnquireValue(policy.getTotalDeliveriesLeft(), R.string.totalDeliveriesLeft));
440+
PolicyList.add(policyMap);
441+
etCHFID.setText("");
442+
//break;
417443
}
418-
if (!sqlHandler.getAdjustability("TotalAntenatalLeft").equals("N")) {
419-
policyMap.put("SubItem9", buildEnquireValue(policy.getTotalAntenatalLeft(), R.string.totalAntenatalLeft));
420-
}
421-
if (!sqlHandler.getAdjustability("ConsultationAmountLeft").equals("N")) {
422-
policyMap.put("SubItem10", buildEnquireValue(policy.getConsultationAmountLeft(), R.string.consultationAmountLeft));
423-
}
424-
if (!sqlHandler.getAdjustability("AntenatalAmountLeft").equals("N")) {
425-
policyMap.put("SubItem13", buildEnquireValue(policy.getAntenatalAmountLeft(), R.string.antenatalAmountLeft));
426-
}
427-
if (!sqlHandler.getAdjustability("SurgeryAmountLeft").equals("N")) {
428-
policyMap.put("SubItem11", buildEnquireValue(policy.getSurgeryAmountLeft(), R.string.surgeryAmountLeft));
429-
}
430-
if (!sqlHandler.getAdjustability("HospitalizationAmountLeft").equals("N")) {
431-
policyMap.put("SubItem12", buildEnquireValue(policy.getHospitalizationAmountLeft(), R.string.hospitalizationAmountLeft));
432-
}
433-
if (!sqlHandler.getAdjustability("DeliveryAmountLeft").equals("N")) {
434-
policyMap.put("SubItem14", buildEnquireValue(policy.getDeliveryAmountLeft(), R.string.deliveryAmountLeft));
435-
}
436-
sqlHandler.close();
437-
438-
PolicyList.add(policyMap);
439-
etCHFID.setText("");
440-
//break;
441444
}
442445

443446
ListAdapter adapter = new SimpleAdapter(EnquireActivity.this,

claimManagement/src/main/java/org/openimis/imisclaims/domain/entity/Policy.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ public class Policy implements Parcelable {
5353
private final Integer totalSurgeriesLeft;
5454
@Nullable
5555
private final Integer totalVisitsLeft;
56+
@Nullable
57+
private final Date validityTo;
5658

5759
public Policy(
5860
@NonNull String code,
@@ -75,7 +77,8 @@ public Policy(
7577
@Nullable Integer totalConsultationsLeft,
7678
@Nullable Integer totalDeliveriesLeft,
7779
@Nullable Integer totalSurgeriesLeft,
78-
@Nullable Integer totalVisitsLeft
80+
@Nullable Integer totalVisitsLeft,
81+
@Nullable Date validityTo
7982
) {
8083
this.code = code;
8184
this.name = name;
@@ -98,6 +101,7 @@ public Policy(
98101
this.totalDeliveriesLeft = totalDeliveriesLeft;
99102
this.totalSurgeriesLeft = totalSurgeriesLeft;
100103
this.totalVisitsLeft = totalVisitsLeft;
104+
this.validityTo = validityTo;
101105
}
102106

103107
protected Policy(Parcel in) {
@@ -194,6 +198,11 @@ protected Policy(Parcel in) {
194198
} else {
195199
totalVisitsLeft = in.readInt();
196200
}
201+
if (in.readByte() == 0) {
202+
validityTo = null;
203+
} else {
204+
validityTo = new Date(in.readLong());
205+
}
197206
}
198207

199208
@Override
@@ -309,6 +318,12 @@ public void writeToParcel(Parcel dest, int flags) {
309318
dest.writeByte((byte) 1);
310319
dest.writeInt(totalVisitsLeft);
311320
}
321+
if (validityTo == null) {
322+
dest.writeByte((byte) 0);
323+
} else {
324+
dest.writeByte((byte) 1);
325+
dest.writeLong(validityTo.getTime());
326+
}
312327
}
313328

314329
@Override
@@ -421,6 +436,11 @@ public Integer getTotalVisitsLeft() {
421436
return totalVisitsLeft;
422437
}
423438

439+
@Nullable
440+
public Date getValidityTo() {
441+
return validityTo;
442+
}
443+
424444
public enum Status {
425445
IDLE, ACTIVE, SUSPENDED, EXPIRED, READY
426446
}

claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchInsureeInquire.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ private Policy toPolicy(@NonNull GetInsureeInquireQuery.Edge1 edge) {
100100
/* totalConsultationsLeft = */ product.maxNoConsultation(),
101101
/* totalDeliveriesLeft = */ product.maxNoDelivery(),
102102
/* totalSurgeriesLeft = */ product.maxNoSurgery(),
103-
/* totalVisitsLeft = */ product.maxNoVisits()
103+
/* totalVisitsLeft = */ product.maxNoVisits(),
104+
/* validityTo = */ policy.validityTo()
104105
);
105106
}
106107

claimManagement/src/main/res/layout/content_enquire.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@
116116
<LinearLayout
117117
android:id="@+id/llListView"
118118
android:visibility="invisible"
119-
android:layout_height="match_parent"
119+
android:layout_height="500dp"
120120
android:layout_width="match_parent"
121121
android:background="@color/white"
122122
android:fontFamily="sans-serif-light" >

claimManagement/src/main/res/layout/policylist.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
android:layout_width="fill_parent"
4-
android:layout_height="wrap_content"
4+
android:layout_height="100dp"
55
android:orientation="vertical" >
66
<LinearLayout
77
android:layout_width="fill_parent"

0 commit comments

Comments
 (0)