Skip to content

Commit 0ce5fbc

Browse files
committed
sync claims
1 parent d831834 commit 0ce5fbc

17 files changed

Lines changed: 1050 additions & 7 deletions
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mutation CreateClaim($input: CreateClaimMutationInput!) {
2+
createClaim(input: $input) {
3+
clientMutationId
4+
}
5+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
query GetAdminId($code: String) {
2+
claimAdmins(
3+
code: $code
4+
) {
5+
edges {
6+
node {
7+
id
8+
}
9+
}
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
query GetDiagnoseId($code: String) {
2+
diagnoses(
3+
code: $code
4+
) {
5+
edges {
6+
node {
7+
id
8+
}
9+
}
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
query GetInsureeId($chfId: String) {
2+
insurees(
3+
chfId: $chfId
4+
) {
5+
edges {
6+
node {
7+
id
8+
}
9+
}
10+
}
11+
}

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -737,11 +737,13 @@ private boolean saveClaim() {
737737
selectedTypeButton = findViewById(SelectedId);
738738
String visitType = selectedTypeButton.getTag().toString();
739739

740-
int PatientConditionId;
741-
PatientConditionId = rgPatientCondition.getCheckedRadioButtonId();
740+
String patientCondition = "";
741+
int PatientConditionId = rgPatientCondition.getCheckedRadioButtonId();
742742
RadioButton selectedPatientCondition;
743743
selectedPatientCondition = findViewById(PatientConditionId);
744-
String patientCondition = selectedPatientCondition.getTag().toString();
744+
if(selectedPatientCondition != null){
745+
patientCondition = selectedPatientCondition.getTag().toString();
746+
}
745747

746748
ContentValues claimCV = new ContentValues();
747749

@@ -786,8 +788,10 @@ private boolean saveClaim() {
786788
ArrayList<ContentValues> claimServiceCVs = new ArrayList<>(lvServiceList.size());
787789
for (int i = 0; i < lvServiceList.size(); i++) {
788790
ContentValues claimServiceCV = new ContentValues();
791+
String serviceId = sqlHandler.getServiceId(lvServiceList.get(i).get("Code"));
789792

790793
claimServiceCV.put("ClaimUUID", claimUUID);
794+
claimServiceCV.put("ServiceId", serviceId);
791795
claimServiceCV.put("ServiceCode", lvServiceList.get(i).get("Code"));
792796
claimServiceCV.put("ServicePrice", lvServiceList.get(i).get("Price"));
793797
claimServiceCV.put("ServiceQuantity", lvServiceList.get(i).get("Quantity"));

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

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class SQLHandler extends SQLiteOpenHelper {
4242
private static final String CreateTableReferences = "CREATE TABLE IF NOT EXISTS tblReferences(Code TEXT, Name TEXT, Type TEXT, Price TEXT);";
4343
private static final String createTableClaimDetails = "CREATE TABLE IF NOT EXISTS tblClaimDetails(ClaimUUID TEXT, ClaimDate TEXT, HFCode TEXT, ClaimAdmin TEXT, ClaimCode TEXT, GuaranteeNumber TEXT, InsureeNumber TEXT, StartDate TEXT, EndDate TEXT, ICDCode TEXT, Comment TEXT, Total TEXT, ICDCode1 TEXT, ICDCode2 TEXT, ICDCode3 TEXT, ICDCode4 TEXT, VisitType TEXT, ReferalHF TEXT, PatientCondition TEXT,PreAuthorization Int );";
4444
private static final String createTableClaimItems = "CREATE TABLE IF NOT EXISTS tblClaimItems(ClaimUUID TEXT, ItemCode TEXT, ItemPrice TEXT, ItemQuantity TEXT);";
45-
private static final String createTableClaimServices = "CREATE TABLE IF NOT EXISTS tblClaimServices(ClaimUUID TEXT, ServiceCode TEXT, ServicePrice TEXT, ServiceQuantity TEXT, ServicePackageType TEXT, SubServicesItems TEXT);";
45+
private static final String createTableClaimServices = "CREATE TABLE IF NOT EXISTS tblClaimServices(ClaimUUID TEXT,ServiceId TEXT, ServiceCode TEXT, ServicePrice TEXT, ServiceQuantity TEXT, ServicePackageType TEXT, SubServicesItems TEXT);";
4646
private static final String createTableClaimUploadStatus = "CREATE TABLE IF NOT EXISTS tblClaimUploadStatus(ClaimUUID TEXT, UploadDate TEXT, UploadStatus TEXT, UploadMessage TEXT);";
4747
private static final String CreateTableServices = "CREATE TABLE IF NOT EXISTS tblServices(Id text, Code text, Name text, Type text, Price text, PackageType text);";
4848
private static final String CreateTableItems = "CREATE TABLE IF NOT EXISTS tblItems(Id text, Code text, Name text, Type text, Price text);";
@@ -510,7 +510,7 @@ public JSONArray getClaimItems(String claimUUID) {
510510
public JSONArray getClaimServices(String claimUUID) {
511511
return getQueryResultAsJsonArray(
512512
"tblClaimServices",
513-
new String[]{"ServiceCode", "ServicePrice", "ServiceQuantity","ServicePackageType","SubServicesItems"},
513+
new String[]{"ServiceId", "ServiceCode", "ServicePrice", "ServiceQuantity","ServicePackageType","SubServicesItems"},
514514
"ClaimUUID = ?",
515515
new String[]{claimUUID}
516516
);
@@ -912,4 +912,20 @@ public void InsertHealthFacilities(String Id, String Code, String Name) {
912912
e.printStackTrace();
913913
}
914914
}
915+
916+
public String getHfId(String code) {
917+
String id = "";
918+
try (Cursor c = db.query("tblHealthFacilities", new String[]{"Id"}, "LOWER(Code) = LOWER(?)", new String[]{code}, null, null, null, "1")) {
919+
c.moveToFirst();
920+
if (!c.isAfterLast()) {
921+
String result = c.getString(0);
922+
if (!TextUtils.isEmpty(result)) {
923+
id = result;
924+
}
925+
}
926+
} catch (SQLException e) {
927+
Log.d("ErrorOnFetchingData", String.format("Error while getting price of %s", code), e);
928+
}
929+
return id;
930+
}
915931
}

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,16 @@
1212
import org.json.JSONArray;
1313
import org.json.JSONException;
1414
import org.json.JSONObject;
15+
import org.openimis.imisclaims.domain.entity.Claim;
1516
import org.openimis.imisclaims.domain.entity.PendingClaim;
17+
import org.openimis.imisclaims.domain.entity.PendingClaimGQL;
1618
import org.openimis.imisclaims.tools.Log;
1719
import org.openimis.imisclaims.tools.StorageManager;
20+
import org.openimis.imisclaims.usecase.CreateClaims;
1821
import org.openimis.imisclaims.usecase.PostNewClaims;
1922
import org.openimis.imisclaims.util.DateUtils;
2023
import org.openimis.imisclaims.util.FileUtils;
24+
import org.openimis.imisclaims.util.JsonUtils;
2125
import org.openimis.imisclaims.util.XmlUtils;
2226
import org.openimis.imisclaims.util.ZipUtils;
2327
import org.xmlpull.v1.XmlSerializer;
@@ -30,6 +34,7 @@
3034
import java.util.Date;
3135
import java.util.List;
3236
import java.util.Locale;
37+
import java.util.Objects;
3338

3439
public class SynchronizeService extends JobIntentService {
3540
private static final int JOB_ID = 6541259; //Random unique Job id
@@ -109,7 +114,10 @@ private void handleUploadClaims() {
109114
}
110115

111116
try {
112-
List<PostNewClaims.Result> results = new PostNewClaims().execute(PendingClaim.fromJson(claims));
117+
String hfCode = sqlHandler.getClaimAdminInfo(global.getOfficerCode(),"HFCode");
118+
String hfId = sqlHandler.getHfId(hfCode);
119+
//List<PostNewClaims.Result> results = new PostNewClaims().execute(PendingClaim.fromJson(claims));
120+
List<PostNewClaims.Result> results = new CreateClaims().execute(PendingClaimGQL.fromJson(claims), Integer.parseInt(hfId));
113121
JSONArray claimStatus = processClaimResponse(results);
114122
broadcastSyncSuccess(claimStatus);
115123
} catch (Exception e) {

0 commit comments

Comments
 (0)