1212import android .view .MenuInflater ;
1313import android .view .MenuItem ;
1414import android .view .View ;
15+ import android .widget .AdapterView ;
16+ import android .widget .ArrayAdapter ;
1517import android .widget .AutoCompleteTextView ;
1618import android .widget .Button ;
1719import android .widget .CheckBox ;
2022import android .widget .ImageButton ;
2123import android .widget .RadioButton ;
2224import android .widget .RadioGroup ;
25+ import android .widget .Spinner ;
26+ import android .widget .Switch ;
2327import android .widget .TextView ;
2428
2529import androidx .annotation .NonNull ;
@@ -65,13 +69,14 @@ public static Intent newIntent(@NonNull Context context, @NonNull String claimUU
6569
6670 private int year , month , day ;
6771 int TotalItemService ;
72+ String patientCondition , visitType ;
6873
6974 EditText etStartDate , etEndDate , etClaimCode , etHealthFacility , etInsureeNumber , etClaimAdmin , etGuaranteeNo ;
70- AutoCompleteTextView etDiagnosis , etDiagnosis1 , etDiagnosis2 , etDiagnosis3 , etDiagnosis4 , etReferalHF ;
75+ AutoCompleteTextView etDiagnosis , etDiagnosis1 , etDiagnosis2 , etDiagnosis3 , etDiagnosis4 , etReferalHF , etPatientCondition , etVisitType ;
7176 TextView tvItemTotal , tvServiceTotal ;
7277 Button btnPost , btnNew ;
7378 RadioGroup rgVisitType , rgPatientCondition ;
74- RadioButton rbEmergency , rbReferral , rbOther , rbHealed , rbDiseased , rbEscaped , rbReferal ;
79+ RadioButton rbEmergency , rbReferral , rbOther ;
7580 ImageButton btnScan ;
7681 CheckBox etPreAuthorization ;
7782
@@ -111,13 +116,63 @@ protected void onCreate(Bundle savedInstanceState) {
111116 rbReferral = findViewById (R .id .rbReferral );
112117 rbOther = findViewById (R .id .rbOther );
113118 etReferalHF = findViewById (R .id .etReferalHF );
114- rgPatientCondition = findViewById (R .id .rgPatientCondition );
115- rbDiseased = findViewById (R .id .rbDeceased );
116- rbEscaped = findViewById (R .id .rbEscaped );
117- rbHealed = findViewById (R .id .rbHealed );
118- rbReferal = findViewById (R .id .rbReferal );
119119 etPreAuthorization = findViewById (R .id .etPreAuthorization );
120+ etPatientCondition = findViewById (R .id .patientCondition );
121+ etVisitType = findViewById (R .id .etVisitType );
122+
123+ String [] visitTypes = getResources ().getStringArray (R .array .visitType );
124+ ArrayAdapter <String > visitTypeAdapter = new ArrayAdapter <>(this , android .R .layout .simple_dropdown_item_1line , visitTypes );
125+ visitTypeAdapter .setDropDownViewResource (android .R .layout .select_dialog_singlechoice );
126+ etVisitType .setAdapter (visitTypeAdapter );
127+ etVisitType .setOnItemClickListener (new AdapterView .OnItemClickListener () {
128+ @ Override
129+ public void onItemClick (AdapterView <?> adapterView , View view , int position , long l ) {
130+ String item = adapterView .getItemAtPosition (position ).toString ();
131+ switch (item ){
132+ case "Emergency" :
133+ visitType = "E" ;
134+ etReferalHF .setVisibility (View .GONE );
135+ break ;
136+ case "Referral" :
137+ visitType = "R" ;
138+ etReferalHF .setVisibility (View .VISIBLE );
139+ break ;
140+ case "Other" :
141+ visitType = "O" ;
142+ etReferalHF .setVisibility (View .GONE );
143+ break ;
144+ default :
145+ visitType = "" ;
146+ break ;
147+ }
148+ }
149+ });
150+
151+ String [] patientConditions = getResources ().getStringArray (R .array .patientCondition );
152+ ArrayAdapter <String > patientConditionAdapter = new ArrayAdapter <>(this , android .R .layout .simple_dropdown_item_1line , patientConditions );
153+ etPatientCondition .setAdapter (patientConditionAdapter );
154+ etPatientCondition .setOnItemClickListener (new AdapterView .OnItemClickListener () {
155+ @ Override
156+ public void onItemClick (AdapterView <?> adapterView , View view , int position , long l ) {
157+ String item = adapterView .getItemAtPosition (position ).toString ();
158+ switch (item ){
159+ case "Healed" :
160+ patientCondition = "H" ;
161+ break ;
162+ case "Deceased" :
163+ patientCondition = "D" ;
164+ break ;
165+ case "Escaped" :
166+ patientCondition = "E" ;
167+ break ;
168+ case "Referral" :
169+ patientCondition = "R" ;
170+ break ;
171+ }
172+ }
173+ });
120174
175+ rgVisitType .setVisibility (View .GONE );
121176
122177 tvItemTotal .setText ("0" );
123178 tvServiceTotal .setText ("0" );
@@ -151,14 +206,6 @@ protected void onCreate(Bundle savedInstanceState) {
151206 etPreAuthorization .setChecked (false );
152207 etReferalHF .setVisibility (View .GONE );
153208
154- rgVisitType .setOnCheckedChangeListener ((radioGroup , i ) -> {
155- if (radioGroup .getCheckedRadioButtonId () == R .id .rbReferral ){
156- etReferalHF .setVisibility (View .VISIBLE );
157- }else {
158- etReferalHF .setVisibility (View .GONE );
159- }
160- });
161-
162209 etStartDate .setOnTouchListener ((v , event ) -> {
163210 showDialog (StartDate_Dialog_ID );
164211 return false ;
@@ -400,7 +447,8 @@ private void ClearForm() {
400447 etPreAuthorization .setChecked (false );
401448 etReferalHF .setText ("" );
402449 rgVisitType .clearCheck ();
403- rgPatientCondition .clearCheck ();
450+ etPatientCondition .setText ("" );
451+ etVisitType .setText ("" );
404452 etClaimCode .requestFocus ();
405453 }
406454
@@ -423,10 +471,8 @@ private void disableForm() {
423471 disableView (rbOther );
424472 disableView (etReferalHF );
425473 disableView (etPreAuthorization );
426- disableView (rbHealed );
427- disableView (rbDiseased );
428- disableView (rbEscaped );
429- disableView (rbReferal );
474+ disableView (etPatientCondition );
475+ disableView (etVisitType );
430476 }
431477
432478 private void fillClaimFromRestore (Claim claim ) {
@@ -460,17 +506,17 @@ private void fillClaimFromRestore(Claim claim) {
460506 etDiagnosis4 .setText (sqlHandler .getDiseaseCode (claim .getSecDg4 ()));
461507
462508 switch (claim .getVisitType () != null ? claim .getVisitType () : "" ) {
463- case "Emergency " :
464- rgVisitType . check ( R . id . rbEmergency );
509+ case "E " :
510+ etVisitType . setText ( "Emergency" );
465511 break ;
466- case "Referral " :
467- rgVisitType . check ( R . id . rbReferral );
512+ case "R " :
513+ etVisitType . setText ( "Referral" );
468514 break ;
469- case "Other " :
470- rgVisitType . check ( R . id . rbOther );
515+ case "O " :
516+ etVisitType . setText ( "Other" );
471517 break ;
472518 default :
473- rgVisitType . clearCheck ( );
519+ etVisitType . setText ( "" );
474520 }
475521
476522 lvItemList .clear ();
@@ -541,33 +587,33 @@ private void fillClaimFromDatabase(String claimUUID) {
541587
542588 switch (claimDetails .getString ("VisitType" )) {
543589 case "E" :
544- rgVisitType . check ( R . id . rbEmergency );
590+ etVisitType . setText ( "Emergency" );
545591 break ;
546592 case "R" :
547- rgVisitType . check ( R . id . rbReferral );
593+ etVisitType . setText ( "Referral" );
548594 break ;
549595 case "O" :
550- rgVisitType . check ( R . id . rbOther );
596+ etVisitType . setText ( "Other" );
551597 break ;
552598 default :
553- rgVisitType . clearCheck ( );
599+ etVisitType . setText ( "" );
554600 }
555601
556602 switch (claimDetails .getString ("PatientCondition" )) {
557603 case "H" :
558- rgPatientCondition . check ( R . id . rbHealed );
604+ etPatientCondition . setText ( "Healed" );
559605 break ;
560606 case "D" :
561- rgPatientCondition . check ( R . id . rbDeceased );
607+ etPatientCondition . setText ( "Deceased" );
562608 break ;
563609 case "E" :
564- rgPatientCondition . check ( R . id . rbEscaped );
610+ etPatientCondition . setText ( "Escaped" );
565611 break ;
566612 case "R" :
567- rgPatientCondition . check ( R . id . rbReferal );
613+ etPatientCondition . setText ( "Referral" );
568614 break ;
569615 default :
570- rgPatientCondition . clearCheck ( );
616+ etPatientCondition . setText ( "" );
571617 }
572618
573619 lvItemList .clear ();
@@ -587,7 +633,7 @@ private void fillClaimFromDatabase(String claimUUID) {
587633 }
588634 tvItemTotal .setText (String .valueOf (lvItemList .size ()));
589635
590- if (rgVisitType . getCheckedRadioButtonId () == R . id . rbReferral ){
636+ if (etVisitType . getText (). equals ( "Referral" ) ){
591637 etReferalHF .setEnabled (true );
592638 }else {
593639 disableView (etReferalHF );
@@ -707,7 +753,12 @@ private boolean isValidData() {
707753 return false ;
708754 }
709755
710- if (rgVisitType .getCheckedRadioButtonId () == -1 ) {
756+ // if (rgVisitType.getCheckedRadioButtonId() == -1) {
757+ // showValidationDialog(rgVisitType, getResources().getString(R.string.MissingVisitType));
758+ // return false;
759+ // }
760+
761+ if (etVisitType .getText ().toString ().isEmpty ()){
711762 showValidationDialog (rgVisitType , getResources ().getString (R .string .MissingVisitType ));
712763 return false ;
713764 }
@@ -749,17 +800,16 @@ private boolean saveClaim() {
749800
750801 String claimDate = DateUtils .toDateString (new Date ());
751802
752- int SelectedId ;
753- SelectedId = rgVisitType .getCheckedRadioButtonId ();
754- RadioButton selectedTypeButton ;
755- selectedTypeButton = findViewById (SelectedId );
756- String visitType = selectedTypeButton .getTag ().toString ();
757-
758- int PatientConditionId ;
759- PatientConditionId = rgPatientCondition .getCheckedRadioButtonId ();
760- RadioButton selectedPatientCondition ;
761- selectedPatientCondition = findViewById (PatientConditionId );
762- String patientCondition = selectedPatientCondition .getTag ().toString ();
803+ //int SelectedId;
804+ //SelectedId = rgVisitType.getCheckedRadioButtonId();
805+ //RadioButton selectedTypeButton;
806+ //selectedTypeButton = findViewById(SelectedId);
807+
808+ //int PatientConditionId;
809+ //PatientConditionId = rgPatientCondition.getCheckedRadioButtonId();
810+ //RadioButton selectedPatientCondition;
811+ //selectedPatientCondition = findViewById(PatientConditionId);
812+ //String patientCondition = selectedPatientCondition.getTag().toString();
763813
764814 ContentValues claimCV = new ContentValues ();
765815
0 commit comments