Android Open Source - sana Patient Id Element






From Project

Back to project page sana.

License

The source code is released under:

Copyright (c) 2010, Moca All rights reserved. The source code for Moca is licensed under the BSD license as follows: Redistribution and use in source and binary forms, with or without modification, ...

If you think the Android project sana listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.moca.procedure;
//ww w . j  a v a  2 s  .  co m
import org.moca.R;
import org.w3c.dom.Node;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.text.method.DialerKeyListener;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

/**
 * 
 */
public class PatientIdElement extends ProcedureElement implements OnClickListener {
    private EditText et;
    private Button barcodeButton;

    private static final int BARCODE_INTENT_REQUEST_CODE = 2;
    
    @Override
    public ElementType getType() {
        return ElementType.PATIENT_ID;
    }

    @Override
    protected View createView(Context c) {
      
        et = new EditText(c);
        et.setText(answer);
        et.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
        et.setGravity(Gravity.CENTER_HORIZONTAL);
        et.setKeyListener(new DialerKeyListener());
        
      LinearLayout ll = new LinearLayout(c);
      ll.setOrientation(LinearLayout.VERTICAL);

      ll.addView(et, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
      ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
      
      //SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(c);
      boolean barcodeEnable = true; //sp.getBoolean(Constants.PREFERENCE_BARCODE_ENABLED, false);
      
      if (barcodeEnable) {
        barcodeButton = new Button(c);
          barcodeButton.setText(c.getResources().getString(R.string.procedurerunner_scan_id));
          barcodeButton.setOnClickListener(this);
          barcodeButton.setGravity(Gravity.CENTER_HORIZONTAL);
        ll.addView(barcodeButton, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
      }

        return encapsulateQuestion(c, ll);
    }
    
    /**
     * Set the text in the text box.
     */
    public void setAnswer(String answer) {
      this.answer = answer;
      if(isViewActive()) {
        et.setText(answer);
      }
    }
    
    public void setAndRefreshAnswer(String answer) {
      this.answer = answer;
      if (et != null) {
        et.setText(answer);
        et.refreshDrawableState();
      }
    }
    /**
     * Return the user's typed-in response.
     */
    public String getAnswer() {
        if(!isViewActive())
            return answer;
        else if(et.getText().length() == 0)
            return "";
        return et.getText().toString();
    }
    
    /**
     * Make question and response into an XML string for storing or transmission.
     */
    public void buildXML(StringBuilder sb) {
        sb.append("<Element type=\"" + getType().name() + "\" id=\"" + id);
        sb.append("\" question=\"" + question);
        sb.append("\" answer=\"" + getAnswer());
        sb.append("\" concept=\"" + getConcept());
        sb.append("\"/>\n");
    }
    
    private PatientIdElement(String id, String question, String answer, String concept, String figure, String audio) {
        super(id, question, answer, concept, figure, audio);
    }
    
    /**
     * Create a PatientIdElement from an XML procedure definition.
     */
    public static PatientIdElement fromXML(String id, String question, String answer, String concept, String figure, String audio, Node n) {
        return new PatientIdElement(id, question, answer, concept, figure, audio);
    }
    
    
   public void onClick(View v) {
     if (v == barcodeButton) {
       String procedureId = getProcedure().getInstanceUri().getPathSegments().get(1); //which procedure its part of
       String[] params = {procedureId, id};
         Intent intent = new Intent("com.google.zxing.client.android.SCAN");
         try {
           ((Activity)this.getContext()).startActivityForResult(intent, BARCODE_INTENT_REQUEST_CODE);
         } catch (Exception e) {
           Log.e(TAG, "Exception opening barcode reader, probably not installed, " + e.toString());
           new AlertDialog.Builder(getContext())
            .setTitle("Error")
              .setMessage("Barcode reader not installed. install \"ZXing Barcode Scanner\" from the Android Market.")
              .setPositiveButton("Ok", null)
              .show();
         }
    
     }
   }
    

}




Java Source Code List

.Moca.java
org.moca.Constants.java
org.moca.ImagePreviewDialog.java
org.moca.ScalingImageAdapter.java
org.moca.SelectableImageView.java
org.moca.activity.NotificationList.java
org.moca.activity.NotificationViewer.java
org.moca.activity.PatientInfoDialog.java
org.moca.activity.ProcedureRunner.java
org.moca.activity.ProceduresList.java
org.moca.activity.SavedProcedureList.java
org.moca.activity.Settings.java
org.moca.db.EncounterDAO.java
org.moca.db.EventDAO.java
org.moca.db.EventProvider.java
org.moca.db.Event.java
org.moca.db.ImageProvider.java
org.moca.db.MocaDB.java
org.moca.db.NotificationMessage.java
org.moca.db.NotificationProvider.java
org.moca.db.PatientInfo.java
org.moca.db.PatientProvider.java
org.moca.db.PatientValidator.java
org.moca.db.ProcedureDAO.java
org.moca.db.ProcedureProvider.java
org.moca.db.SavedProcedureProvider.java
org.moca.db.SoundProvider.java
org.moca.media.AudioPlayer.java
org.moca.net.MDSCode.java
org.moca.net.MDSInterface.java
org.moca.net.MDSNotification.java
org.moca.net.MDSResult.java
org.moca.net.SMSReceive.java
org.moca.procedure.BinaryUploadElement.java
org.moca.procedure.DateElement.java
org.moca.procedure.GpsElement.java
org.moca.procedure.MultiSelectElement.java
org.moca.procedure.PatientIdElement.java
org.moca.procedure.PictureElement.java
org.moca.procedure.ProcedureElement.java
org.moca.procedure.ProcedurePage.java
org.moca.procedure.ProcedureParseException.java
org.moca.procedure.Procedure.java
org.moca.procedure.RadioElement.java
org.moca.procedure.SelectElement.java
org.moca.procedure.SoundElement.java
org.moca.procedure.TextElement.java
org.moca.procedure.TextEntryElement.java
org.moca.procedure.ValidationError.java
org.moca.procedure.branching.Criteria.java
org.moca.procedure.branching.Criterion.java
org.moca.procedure.branching.LogicAnd.java
org.moca.procedure.branching.LogicBase.java
org.moca.procedure.branching.LogicNot.java
org.moca.procedure.branching.LogicOr.java
org.moca.service.BackgroundUploader.java
org.moca.service.QueueManager.java
org.moca.service.ServiceConnector.java
org.moca.service.ServiceListener.java
org.moca.task.CheckCredentialsTask.java
org.moca.task.ImageProcessingTaskRequest.java
org.moca.task.ImageProcessingTask.java
org.moca.task.MDSSyncTask.java
org.moca.task.PatientLookupListener.java
org.moca.task.PatientLookupTask.java
org.moca.task.ResetDatabaseTask.java
org.moca.task.ValidationListener.java
org.moca.util.MocaUtil.java
org.moca.util.UserDatabase.java