Skip to content

Commit 44864e3

Browse files
committed
upload referralHf, patientCategory & preAuthorization
1 parent 0ce5fbc commit 44864e3

5 files changed

Lines changed: 51 additions & 7 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ public JSONArray getAllPendingClaims() {
463463
// Rename InsureeNumber to CHFID
464464
// This is required to support legacy Rest API and Web App
465465
JSONArray claims = getQueryResultAsJsonArray(
466-
"SELECT ClaimUUID, ClaimDate, HFCode, ClaimAdmin, ClaimCode, GuaranteeNumber, InsureeNumber AS CHFID, StartDate, EndDate, ICDCode, Comment, Total, ICDCode1, ICDCode2, ICDCode3, ICDCode4, VisitType" +
466+
"SELECT ClaimUUID, ClaimDate, HFCode, ClaimAdmin, ClaimCode, GuaranteeNumber, InsureeNumber AS CHFID, StartDate, EndDate, ICDCode, Comment, Total, ICDCode1, ICDCode2, ICDCode3, ICDCode4, VisitType, ReferalHF, PatientCondition, PreAuthorization " +
467467
" FROM tblClaimDetails cd" +
468468
" WHERE NOT EXISTS (SELECT cus.ClaimUUID FROM tblClaimUploadStatus cus WHERE cus.ClaimUUID = cd.ClaimUUID AND cus.UploadStatus != ?)",
469469
new String[]{CLAIM_UPLOAD_STATUS_ERROR}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,8 @@ private void handleUploadClaims() {
114114
}
115115

116116
try {
117-
String hfCode = sqlHandler.getClaimAdminInfo(global.getOfficerCode(),"HFCode");
118-
String hfId = sqlHandler.getHfId(hfCode);
119117
//List<PostNewClaims.Result> results = new PostNewClaims().execute(PendingClaim.fromJson(claims));
120-
List<PostNewClaims.Result> results = new CreateClaims().execute(PendingClaimGQL.fromJson(claims), Integer.parseInt(hfId));
118+
List<PostNewClaims.Result> results = new CreateClaims().execute(PendingClaimGQL.fromJson(claims), this);
121119
JSONArray claimStatus = processClaimResponse(results);
122120
broadcastSyncSuccess(claimStatus);
123121
} catch (Exception e) {

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

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public static List<PendingClaimGQL> fromJson(@NonNull JSONArray array) throws Ex
2525
JSONArray arrayItems = claim.getJSONArray("items");
2626
JSONArray arrayServices = claim.getJSONArray("services");
2727
JSONObject details = claim.getJSONObject("details");
28+
Log.e("details", details.toString());
2829
claims.add( new PendingClaimGQL(
2930
/* hfCode = */ details.getString("HFCode"),
3031
/* claimAdmin */ details.getString("ClaimAdmin"),
@@ -40,6 +41,9 @@ public static List<PendingClaimGQL> fromJson(@NonNull JSONArray array) throws Ex
4041
/* icCode3 = */ details.getString("ICDCode3"),
4142
/* icdCode4 = */ details.getString("ICDCode4"),
4243
/* GuaranteeNumber = */ details.getString("GuaranteeNumber"),
44+
/* ReferalHF */ details.getString("ReferalHF"),
45+
/* PatientCondition */ details.getString("PatientCondition"),
46+
/* PreAuthorization */ details.getString("PreAuthorization"),
4347
/* services = */ Service.fromJson(arrayServices),
4448
/* items = */ Medication.fromJson(arrayItems)
4549
));
@@ -75,6 +79,12 @@ public static List<PendingClaimGQL> fromJson(@NonNull JSONArray array) throws Ex
7579
private final String icdCode4;
7680
@NonNull
7781
private final String visitType;
82+
@Nullable
83+
private final String referalHF;
84+
@Nullable
85+
private final String patientCondition;
86+
@Nullable
87+
private final String preAuthorization;
7888
@NonNull
7989
private final List<PendingClaimGQL.Service> services;
8090
@NonNull
@@ -95,6 +105,9 @@ public PendingClaimGQL(
95105
@Nullable String icdCode3,
96106
@Nullable String icdCode4,
97107
@Nullable String guaranteeNumber,
108+
@Nullable String referralHf,
109+
@Nullable String patientCondition,
110+
@Nullable String preAuthorisation,
98111
@NonNull List<PendingClaimGQL.Service> services,
99112
@NonNull List<PendingClaimGQL.Medication> medications
100113
) {
@@ -114,6 +127,9 @@ public PendingClaimGQL(
114127
this.visitType = visitType;
115128
this.services = services;
116129
this.medications = medications;
130+
this.referalHF = referralHf;
131+
this.patientCondition = patientCondition;
132+
this.preAuthorization = preAuthorisation;
117133
}
118134

119135
protected PendingClaimGQL(Parcel in) {
@@ -131,6 +147,9 @@ protected PendingClaimGQL(Parcel in) {
131147
icdCode3 = in.readString();
132148
icdCode4 = in.readString();
133149
visitType = in.readString();
150+
referalHF = in.readString();
151+
patientCondition = in.readString();
152+
preAuthorization = in.readString();
134153
services = in.createTypedArrayList(PendingClaimGQL.Service.CREATOR);
135154
medications = in.createTypedArrayList(PendingClaimGQL.Medication.CREATOR);
136155
}
@@ -152,6 +171,9 @@ public void writeToParcel(Parcel dest, int flags) {
152171
dest.writeString(visitType);
153172
dest.writeTypedList(services);
154173
dest.writeTypedList(medications);
174+
dest.writeString(referalHF);
175+
dest.writeString(patientCondition);
176+
dest.writeString(preAuthorization);
155177
}
156178

157179
public int describeContents() {
@@ -228,6 +250,15 @@ public String getVisitType() {
228250
return visitType;
229251
}
230252

253+
@Nullable
254+
public String getReferalHF(){ return referalHF; }
255+
256+
@Nullable
257+
public String getPatientCondition(){ return patientCondition; }
258+
259+
@Nullable
260+
public String getPreAuthorization(){ return preAuthorization; }
261+
231262
@NonNull
232263
public List<PendingClaimGQL.Service> getServices() {
233264
return services;

claimManagement/src/main/java/org/openimis/imisclaims/network/request/CreateClaimGraphQLRequest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ public PostNewClaims.Result create(
4343
@NonNull int hfId,
4444
@NonNull int adminId,
4545
@NonNull int insureeId,
46-
@NonNull int diagnosisId
46+
@NonNull int diagnosisId,
47+
@NonNull int referFromId
4748
) throws Exception{
4849

4950
String claimServices = "";
@@ -117,6 +118,11 @@ public PostNewClaims.Result create(
117118
claimItems = claimItems + "]";
118119
}
119120

121+
boolean preAuthorization = false;
122+
if(claim.getPreAuthorization() != null && claim.getPreAuthorization().equals("1")){
123+
preAuthorization = true;
124+
}
125+
120126
String QUERY_DOCUMENT = QueryDocumentMinifier.minify(
121127
"mutation {"
122128
+ " createClaim(input: {"
@@ -127,6 +133,9 @@ public PostNewClaims.Result create(
127133
+ " dateTo: \"" + DateUtils.toDateString(claim.getEndDate()) + "\""
128134
+ " icdId: " + diagnosisId
129135
+ " dateClaimed: \"" + DateUtils.toDateString(claim.getClaimDate()) + "\""
136+
+ " referFromId: " + referFromId
137+
+ " patientCondition: \"" + claim.getPatientCondition() + "\""
138+
+ " preAuthorization: " + preAuthorization
130139
+ " healthFacilityId: " + hfId
131140
+ " visitType: \"" + claim.getVisitType() +"\""
132141
+ " services: " + claimServices

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package org.openimis.imisclaims.usecase;
22

3+
import android.content.Context;
4+
35
import androidx.annotation.NonNull;
46
import androidx.annotation.WorkerThread;
57

68
import org.json.JSONArray;
79
import org.json.JSONObject;
810
import org.openimis.imisclaims.SQLHandler;
11+
import org.openimis.imisclaims.SynchronizeService;
912
import org.openimis.imisclaims.domain.entity.Claim;
1013
import org.openimis.imisclaims.domain.entity.Insuree;
1114
import org.openimis.imisclaims.domain.entity.PendingClaimGQL;
@@ -37,14 +40,17 @@ public CreateClaims(
3740
@WorkerThread
3841
public List<PostNewClaims.Result> execute(
3942
List<PendingClaimGQL> claims,
40-
int hfId
43+
Context context
4144
) throws Exception {
4245
List<PostNewClaims.Result> results = new ArrayList<>();
46+
SQLHandler sqlHandler = new SQLHandler(context);
4347
for(PendingClaimGQL pendingClaim: claims){
4448
int insureeId = Integer.parseInt(new FetchInsuree().execute(pendingClaim.getChfId()));
4549
int adminId = Integer.parseInt(new FetchClaimAdmin().execute(pendingClaim.getClaimAdmin()));
4650
int icdId = Integer.parseInt(new FetchDiagnose().execute(pendingClaim.getIcdCode()));
47-
results.add(createClaimGraphQLRequest.create(pendingClaim,hfId,adminId,insureeId,icdId));
51+
String hfId = sqlHandler.getHfId(pendingClaim.getHealthFacilityCode());
52+
String referFromId = sqlHandler.getHfId(pendingClaim.getReferalHF());
53+
results.add(createClaimGraphQLRequest.create(pendingClaim,Integer.parseInt(hfId),adminId,insureeId,icdId, Integer.parseInt(referFromId)));
4854
}
4955
return results;
5056
}

0 commit comments

Comments
 (0)