Skip to content

Commit

Permalink
#763 Teleconsultation Required
Browse files Browse the repository at this point in the history
  • Loading branch information
nehav39 committed Dec 18, 2019
1 parent e5ba672 commit bd1f54c
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 19 deletions.
1 change: 1 addition & 0 deletions app/src/main/assets/engines/Abdominal Pain.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"id": "ID_1000991358",
"text": "Abdominal Pain",
"tele_required": "Yes",
"perform-physical-exam": "Abdomen:Scars;Abdomen:Distension;Abdomen:Tenderness;Abdomen:Lumps;Physical Growth:Sexual Maturation;",
"display-or": "ପେଟଯନ୍ତ୍ରଣା",
"options": [
Expand Down
1 change: 1 addition & 0 deletions app/src/main/assets/engines/Back & Neck pain.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"id": "ID_844006222",
"text": "Back & Neck pain",
"tele_required":"No",
"perform-physical-exam": "Leg:Movement;Leg:Strength;Back:Deformity;Back:Tenderness;Back:Redness;Back:Swelling;Back:Movement;",
"display-or": "ପିଠି ଓ ବେକ ଯନ୍ତ୍ରଣା",
"options": [
Expand Down
1 change: 1 addition & 0 deletions app/src/main/assets/engines/Diarrhea.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"id": "ID_1609227579",
"text": "Diarrhea",
"tele_required":"No",
"perform-physical-exam": "Arm:Lying BP;Mouth:Tongue Dryness;Abdomen:Tenderness;Abdomen:Lumps;",
"display-or": "ପତଳା ଝାଡ଼ା",
"options": [
Expand Down
1 change: 1 addition & 0 deletions app/src/main/assets/engines/Fever.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"id": "ID_303783560",
"text": "Fever",
"tele_required":"No",
"perform-physical-exam": "Mouth:Back of throat (redness, swelling);Any Location:Skin Rash;Any Location:Ulcer;Abdomen:Tenderness;",
"display-or": "ଜ୍ୱର",
"options": [
Expand Down
1 change: 1 addition & 0 deletions app/src/main/assets/engines/Sick child (under 5years).json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"id": "ID_983435415",
"text": "Sick child (under 5years)",
"tele_required":"Yes",
"perform-physical-exam": "Sick Child:Lethargy;Sick Child:Fast Breathing;Sick Child:Stridor;Sick Child:Chest indrawing;Physical Growth:MUAC;",
"display-or": "ଅସୁସ୍ଥ ପିଲା (୫ ବର୍ଷ ରୁ କମ )",
"options": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import android.widget.AdapterView;
import android.widget.ExpandableListView;
import android.widget.RadioButton;
import android.widget.Toast;

import com.crashlytics.android.Crashlytics;

Expand Down Expand Up @@ -85,6 +86,8 @@ public class QuestionNodeActivity extends AppCompatActivity {
private JSONArray assoSympArr = new JSONArray();
private JSONObject finalAssoSympObj = new JSONObject();

private String IsTeleconsultationReq = "No";

@Override
protected void onCreate(Bundle savedInstanceState) {
sessionManager = new SessionManager(this);
Expand Down Expand Up @@ -114,12 +117,20 @@ protected void onCreate(Bundle savedInstanceState) {
if (hasLicense) {
try {
currentFile = new JSONObject(FileUtils.readFile(complaints.get(i) + ".json", this));

checkIsTeleReq(currentFile.getString("tele_required"));
} catch (JSONException e) {
Crashlytics.getInstance().core.logException(e);
}
} else {
String fileLocation = "engines/" + complaints.get(i) + ".json";
currentFile = FileUtils.encodeJSON(this, fileLocation);

try {
checkIsTeleReq(currentFile.getString("tele_required"));
} catch (JSONException e) {
e.printStackTrace();
}
}
Node currentNode = new Node(currentFile);
complaintsNodes.add(currentNode);
Expand Down Expand Up @@ -171,6 +182,13 @@ public void onGroupExpand(int groupPosition) {

}

private void checkIsTeleReq(String flag) {
if (flag.equalsIgnoreCase("Yes")) {
IsTeleconsultationReq = flag;
sessionManager.setISTELEREQUIRED(IsTeleconsultationReq);
}
}

public void onListClicked(View v, int groupPosition, int childPosition) {

if ((currentNode.getOption(groupPosition).getChoiceType().equals("single")) && !currentNode.getOption(groupPosition).anySubSelected()) {
Expand Down Expand Up @@ -251,6 +269,8 @@ public void onClick(DialogInterface dialog, int which) {
private void fabClick() {
nodeComplete = true;

Toast.makeText(this, "" + sessionManager.getISTELEREQUIRED(), Toast.LENGTH_LONG).show();

if (!complaintConfirmed) {
questionsMissing();
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@ public class VisitSummaryActivity extends AppCompatActivity {
String patientName;
String intentTag;
String visitUUID;
String medicalAdvice_string="";
String medicalAdvice_HyperLink="";
String medicalAdvice_string = "";
String medicalAdvice_HyperLink = "";

SQLiteDatabase db;

Expand Down Expand Up @@ -540,6 +540,10 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
uploadButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

//Get status of Is Teleconsultation Required parameter
Log.i("IsTeleconsultationReq", "" + sessionManager.getISTELEREQUIRED());

if (patient.getOpenmrs_id() == null || patient.getOpenmrs_id().isEmpty()) {
String patientSelection = "uuid = ?";
String[] patientArgs = {String.valueOf(patient.getUuid())};
Expand Down Expand Up @@ -1373,8 +1377,8 @@ public void onPageFinished(WebView view, String url) {

//String advice_web = stringToWeb(adviceReturned);

String advice_web = stringToWeb(medicalAdvice_string.trim().replace("\n\n","\n"));
Log.d("Hyperlink","hyper_print: " + advice_web);
String advice_web = stringToWeb(medicalAdvice_string.trim().replace("\n\n", "\n"));
Log.d("Hyperlink", "hyper_print: " + advice_web);

String diagnosis_web = stringToWeb(diagnosisReturned);

Expand Down Expand Up @@ -1770,41 +1774,38 @@ private void parseData(String concept_id, String value) {
case UuidDictionary.MEDICAL_ADVICE: {
if (!adviceReturned.isEmpty()) {
adviceReturned = adviceReturned + "\n" + value;
Log.d("GAME","GAME: "+adviceReturned);
Log.d("GAME", "GAME: " + adviceReturned);
} else {
adviceReturned = value;
Log.d("GAME","GAME_2: "+adviceReturned);
Log.d("GAME", "GAME_2: " + adviceReturned);
}
if (medicalAdviceCard.getVisibility() != View.VISIBLE) {
medicalAdviceCard.setVisibility(View.VISIBLE);
}
//medicalAdviceTextView.setText(adviceReturned);
Log.d("Hyperlink","hyper_global: " + medicalAdvice_string);
Log.d("Hyperlink", "hyper_global: " + medicalAdvice_string);

int j = adviceReturned.indexOf('<');
int i = adviceReturned.lastIndexOf('>');
if(i>=0 && j>=0)
{
medicalAdvice_HyperLink = adviceReturned.substring(j,i+1);
}
else
{
if (i >= 0 && j >= 0) {
medicalAdvice_HyperLink = adviceReturned.substring(j, i + 1);
} else {
medicalAdvice_HyperLink = "";
}

Log.d("Hyperlink","Hyperlink: " + medicalAdvice_HyperLink);
Log.d("Hyperlink", "Hyperlink: " + medicalAdvice_HyperLink);

medicalAdvice_string = adviceReturned.replaceAll(medicalAdvice_HyperLink,"");
Log.d("Hyperlink","hyper_string: " + medicalAdvice_string);
medicalAdvice_string = adviceReturned.replaceAll(medicalAdvice_HyperLink, "");
Log.d("Hyperlink", "hyper_string: " + medicalAdvice_string);

/*
* variable a contains the hyperlink sent from webside.
* variable b contains the string data (medical advice) of patient.
* */
medicalAdvice_string = medicalAdvice_string.replace("\n\n","\n");
medicalAdviceTextView.setText(Html.fromHtml(medicalAdvice_HyperLink + medicalAdvice_string.replaceAll("\n","<br><br>")));
medicalAdvice_string = medicalAdvice_string.replace("\n\n", "\n");
medicalAdviceTextView.setText(Html.fromHtml(medicalAdvice_HyperLink + medicalAdvice_string.replaceAll("\n", "<br><br>")));
medicalAdviceTextView.setMovementMethod(LinkMovementMethod.getInstance());
Log.d("hyper_textview","hyper_textview: " + medicalAdviceTextView.getText().toString());
Log.d("hyper_textview", "hyper_textview: " + medicalAdviceTextView.getText().toString());
//checkForDoctor();
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ public class SessionManager {
private static final String EXAM = "exam_";
private static final String MIGRATION_KEY = "migrationkey";
private static final String TRIGGER_NOTI = "TRIGGER_NOTI";
private static final String IS_TELE_REQUIRED = "IS_TELE_REQUIRED";
// LogCat tag
private static String TAG = SessionManager.class.getSimpleName();
// Shared Preferences
Expand Down Expand Up @@ -195,6 +196,15 @@ public void setTriggerNoti(String flag) {
editor.commit();
}

public String getISTELEREQUIRED() {
return pref.getString(IS_TELE_REQUIRED, "No");
}

public void setISTELEREQUIRED(String flag) {
editor.putString(IS_TELE_REQUIRED, flag);
editor.commit();
}

public String getServerUrlRest() {
return pref.getString(KEY_PREF_SERVER_URL_REST, "");
}
Expand Down

0 comments on commit bd1f54c

Please sign in to comment.