Skip to content

Commit 693d77c

Browse files
committed
add referralCode field
1 parent 44864e3 commit 693d77c

6 files changed

Lines changed: 67 additions & 8 deletions

File tree

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

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public static Intent newIntent(@NonNull Context context, @NonNull String claimUU
6767
private int year, month, day;
6868
int TotalItemService;
6969

70-
EditText etStartDate, etEndDate, etClaimCode, etHealthFacility, etInsureeNumber, etClaimAdmin, etGuaranteeNo;
70+
EditText etStartDate, etEndDate, etClaimCode, etHealthFacility, etInsureeNumber, etClaimAdmin, etGuaranteeNo, etReferralCode;
7171
AutoCompleteTextView etDiagnosis, etDiagnosis1, etDiagnosis2, etDiagnosis3, etDiagnosis4, etReferalHF;
7272
TextView tvItemTotal, tvServiceTotal;
7373
Button btnPost, btnNew;
@@ -118,6 +118,7 @@ protected void onCreate(Bundle savedInstanceState) {
118118
rbHealed = findViewById(R.id.rbHealed);
119119
rbReferal = findViewById(R.id.rbReferal);
120120
etPreAuthorization = findViewById(R.id.etPreAuthorization);
121+
etReferralCode = findViewById(R.id.etReferralCode);
121122

122123

123124
tvItemTotal.setText("0");
@@ -150,6 +151,18 @@ protected void onCreate(Bundle savedInstanceState) {
150151
etReferalHF.setOnItemClickListener(hfAdapter);
151152

152153
etPreAuthorization.setChecked(false);
154+
etReferalHF.setVisibility(View.GONE);
155+
etReferralCode.setVisibility(View.GONE);
156+
157+
rgVisitType.setOnCheckedChangeListener((radioGroup, i) -> {
158+
if(radioGroup.getCheckedRadioButtonId() == R.id.rbReferral){
159+
etReferalHF.setVisibility(View.VISIBLE);
160+
etReferralCode.setVisibility(View.VISIBLE);
161+
}else{
162+
etReferalHF.setVisibility(View.GONE);
163+
etReferralCode.setVisibility(View.GONE);
164+
}
165+
});
153166

154167
etStartDate.setOnTouchListener((v, event) -> {
155168
showDialog(StartDate_Dialog_ID);
@@ -391,6 +404,7 @@ private void ClearForm() {
391404
etDiagnosis4.setText("");
392405
etPreAuthorization.setChecked(false);
393406
etReferalHF.setText("");
407+
etReferralCode.setText("");
394408
rgVisitType.clearCheck();
395409
rgPatientCondition.clearCheck();
396410
etClaimCode.requestFocus();
@@ -413,6 +427,13 @@ private void disableForm() {
413427
disableView(rbEmergency);
414428
disableView(rbReferral);
415429
disableView(rbOther);
430+
disableView(etReferralCode);
431+
disableView(etReferalHF);
432+
disableView(etPreAuthorization);
433+
disableView(rbHealed);
434+
disableView(rbDiseased);
435+
disableView(rbEscaped);
436+
disableView(rbReferal);
416437
}
417438

418439
private void fillClaimFromRestore(Claim claim) {
@@ -520,6 +541,7 @@ private void fillClaimFromDatabase(String claimUUID) {
520541
etDiagnosis3.setText(claimDetails.getString("ICDCode3"));
521542
etDiagnosis4.setText(claimDetails.getString("ICDCode4"));
522543
etReferalHF.setText(claimDetails.getString("ReferalHF"));
544+
etReferralCode.setText(claimDetails.getString("ReferralCode"));
523545

524546
if(claimDetails.getInt("PreAuthorization") == 1){
525547
etPreAuthorization.setChecked(true);
@@ -558,6 +580,14 @@ private void fillClaimFromDatabase(String claimUUID) {
558580
rgPatientCondition.clearCheck();
559581
}
560582

583+
if(rgVisitType.getCheckedRadioButtonId() == R.id.rbReferral){
584+
etReferralCode.setEnabled(true);
585+
etReferalHF.setEnabled(true);
586+
}else{
587+
disableView(etReferalHF);
588+
disableView(etReferralCode);
589+
}
590+
561591
lvItemList.clear();
562592
if (claimObject.has("items")) {
563593
JSONArray items = claimObject.getJSONArray("items");
@@ -699,6 +729,13 @@ private boolean isValidData() {
699729
return false;
700730
}
701731

732+
if(rgVisitType.getCheckedRadioButtonId() == R.id.rbReferral){
733+
if(etReferralCode.getText().length() == 0){
734+
showValidationDialog(etReferralCode, getResources().getString(R.string.MissingReferralCode));
735+
return false;
736+
}
737+
}
738+
702739
return true;
703740
}
704741

@@ -765,6 +802,7 @@ private boolean saveClaim() {
765802
claimCV.put("ICDCode4", etDiagnosis4.getText().toString());
766803
claimCV.put("VisitType", visitType);
767804
claimCV.put("ReferalHF", etReferalHF.getText().toString());
805+
claimCV.put("ReferralCode", etReferralCode.getText().toString());
768806
claimCV.put("PatientCondition", patientCondition);
769807

770808
if(etPreAuthorization.isChecked()){

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class SQLHandler extends SQLiteOpenHelper {
4040
private static final String CreateTableControls = "CREATE TABLE IF NOT EXISTS tblControls(FieldName TEXT, Adjustability TEXT);";
4141
private static final String CreateTableClaimAdmins = "CREATE TABLE IF NOT EXISTS tblClaimAdmins(Code TEXT, HFCode TEXT ,Name TEXT);";
4242
private static final String CreateTableReferences = "CREATE TABLE IF NOT EXISTS tblReferences(Code TEXT, Name TEXT, Type TEXT, Price TEXT);";
43-
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 );";
43+
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, ReferralCode 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);";
4545
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);";
@@ -431,7 +431,7 @@ public void deleteClaim(String claimUUID) {
431431

432432
public JSONObject getClaim(String claimUUID) {
433433
JSONArray claimDetails = getQueryResultAsJsonArray("tblClaimDetails",
434-
new String[]{"ClaimUUID", "ClaimDate", "HFCode", "ClaimAdmin", "ClaimCode", "GuaranteeNumber", "InsureeNumber", "StartDate", "EndDate", "ICDCode", "Comment", "Total", "ICDCode1", "ICDCode2", "ICDCode3", "ICDCode4", "VisitType", "ReferalHF", "PatientCondition", "PreAuthorization"},
434+
new String[]{"ClaimUUID", "ClaimDate", "HFCode", "ClaimAdmin", "ClaimCode", "GuaranteeNumber", "InsureeNumber", "StartDate", "EndDate", "ICDCode", "Comment", "Total", "ICDCode1", "ICDCode2", "ICDCode3", "ICDCode4", "VisitType", "ReferalHF", "ReferralCode", "PatientCondition", "PreAuthorization"},
435435
"LOWER(ClaimUUID) = ?",
436436
new String[]{claimUUID.toLowerCase(Locale.ROOT)});
437437

@@ -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, ReferalHF, PatientCondition, PreAuthorization " +
466+
"SELECT ClaimUUID, ClaimDate, HFCode, ClaimAdmin, ClaimCode, GuaranteeNumber, InsureeNumber AS CHFID, StartDate, EndDate, ICDCode, Comment, Total, ICDCode1, ICDCode2, ICDCode3, ICDCode4, VisitType, ReferalHF, ReferralCode, 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/domain/entity/PendingClaimGQL.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ public static List<PendingClaimGQL> fromJson(@NonNull JSONArray array) throws Ex
4141
/* icCode3 = */ details.getString("ICDCode3"),
4242
/* icdCode4 = */ details.getString("ICDCode4"),
4343
/* GuaranteeNumber = */ details.getString("GuaranteeNumber"),
44-
/* ReferalHF */ details.getString("ReferalHF"),
45-
/* PatientCondition */ details.getString("PatientCondition"),
46-
/* PreAuthorization */ details.getString("PreAuthorization"),
44+
/* ReferalHF = */ details.getString("ReferalHF"),
45+
/* Referral code = */ details.getString("ReferralCode"),
46+
/* PatientCondition = */ details.getString("PatientCondition"),
47+
/* PreAuthorization = */ details.getString("PreAuthorization"),
4748
/* services = */ Service.fromJson(arrayServices),
4849
/* items = */ Medication.fromJson(arrayItems)
4950
));
@@ -82,6 +83,8 @@ public static List<PendingClaimGQL> fromJson(@NonNull JSONArray array) throws Ex
8283
@Nullable
8384
private final String referalHF;
8485
@Nullable
86+
private final String referralCode;
87+
@Nullable
8588
private final String patientCondition;
8689
@Nullable
8790
private final String preAuthorization;
@@ -106,6 +109,7 @@ public PendingClaimGQL(
106109
@Nullable String icdCode4,
107110
@Nullable String guaranteeNumber,
108111
@Nullable String referralHf,
112+
@Nullable String referralCode,
109113
@Nullable String patientCondition,
110114
@Nullable String preAuthorisation,
111115
@NonNull List<PendingClaimGQL.Service> services,
@@ -128,6 +132,7 @@ public PendingClaimGQL(
128132
this.services = services;
129133
this.medications = medications;
130134
this.referalHF = referralHf;
135+
this.referralCode = referralCode;
131136
this.patientCondition = patientCondition;
132137
this.preAuthorization = preAuthorisation;
133138
}
@@ -148,6 +153,7 @@ protected PendingClaimGQL(Parcel in) {
148153
icdCode4 = in.readString();
149154
visitType = in.readString();
150155
referalHF = in.readString();
156+
referralCode = in.readString();
151157
patientCondition = in.readString();
152158
preAuthorization = in.readString();
153159
services = in.createTypedArrayList(PendingClaimGQL.Service.CREATOR);
@@ -172,6 +178,7 @@ public void writeToParcel(Parcel dest, int flags) {
172178
dest.writeTypedList(services);
173179
dest.writeTypedList(medications);
174180
dest.writeString(referalHF);
181+
dest.writeString(referralCode);
175182
dest.writeString(patientCondition);
176183
dest.writeString(preAuthorization);
177184
}
@@ -253,6 +260,9 @@ public String getVisitType() {
253260
@Nullable
254261
public String getReferalHF(){ return referalHF; }
255262

263+
@Nullable
264+
public String getReferralCode(){ return referralCode; }
265+
256266
@Nullable
257267
public String getPatientCondition(){ return patientCondition; }
258268

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ public PostNewClaims.Result create(
134134
+ " icdId: " + diagnosisId
135135
+ " dateClaimed: \"" + DateUtils.toDateString(claim.getClaimDate()) + "\""
136136
+ " referFromId: " + referFromId
137+
+ " referralCode: \"" + claim.getReferralCode() + "\""
137138
+ " patientCondition: \"" + claim.getPatientCondition() + "\""
138139
+ " preAuthorization: " + preAuthorization
139140
+ " healthFacilityId: " + hfId

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,15 @@
224224
android:fontFamily="sans-serif-light"
225225
android:hint="@string/ReferalHF"/>
226226

227+
<EditText
228+
android:id="@+id/etReferralCode"
229+
android:layout_width="match_parent"
230+
android:layout_height="wrap_content"
231+
android:ems="10"
232+
android:fontFamily="sans-serif-light"
233+
android:hint="@string/ReferralCode"
234+
android:maxLength="8"/>
235+
227236
<CheckBox
228237
android:id="@+id/etPreAuthorization"
229238
android:layout_width="wrap_content"

claimManagement/src/main/res/values/strings.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,5 +238,6 @@
238238
<string name="Healed">Healed</string>
239239
<string name="Deceased">Deceased</string>
240240
<string name="Escaped">Escaped</string>
241-
241+
<string name="ReferralCode">Referral Code</string>
242+
<string name="MissingReferralCode">Please enter a referral Code</string>
242243
</resources>

0 commit comments

Comments
 (0)