Merge pull request 'Angel' (#10) from Angel into master

Reviewed-on: #10
This commit is contained in:
angel.nunez 2024-05-27 04:20:57 +00:00
commit 177ba9e60e
17 changed files with 792 additions and 111 deletions

View File

@ -4,14 +4,25 @@ import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.data.Paciente import com.terratenientes.medicalhealth.data.Paciente
import android.R import android.R
import android.content.Intent import android.content.Intent
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import android.widget.Toast import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityAgregarPacienteBinding import com.terratenientes.medicalhealth.databinding.ActivityAgregarPacienteBinding
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class AgregarActivity : AppCompatActivity() { class AgregarActivity : AppCompatActivity() {
private lateinit var dbHistorial: HistorialDataBaseHelper
private lateinit var historial: Historial
private lateinit var binding: ActivityAgregarPacienteBinding private lateinit var binding: ActivityAgregarPacienteBinding
private lateinit var db: DoctorDataBaseHelper private lateinit var db: DoctorDataBaseHelper
@ -21,14 +32,15 @@ class AgregarActivity : AppCompatActivity() {
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
db = DoctorDataBaseHelper(this@AgregarActivity) db = DoctorDataBaseHelper(this@AgregarActivity)
dbHistorial = HistorialDataBaseHelper(this@AgregarActivity)
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad alta paciente", obtenerFecha())
añadirHistorial(historial)
val opcionesGenero = arrayOf("Masculino", "Femenino", "Otro") val opcionesGenero = arrayOf("Masculino", "Femenino", "Otro")
val adapter = ArrayAdapter(this, R.layout.simple_spinner_item, opcionesGenero) val adapter = ArrayAdapter(this, R.layout.simple_spinner_item, opcionesGenero)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
binding.edtxSexo.adapter = adapter binding.edtxSexo.adapter = adapter
binding.btnConfirmar.setOnClickListener { binding.btnConfirmar.setOnClickListener {
//db.crearTablaPacientes()
agregarPaciente() agregarPaciente()
finish() finish()
} }
@ -44,9 +56,32 @@ class AgregarActivity : AppCompatActivity() {
if (nombre.isNotEmpty() && apellidoPaterno.isNotEmpty() && apellidoMaterno.isNotEmpty() && edad != null && sexo.isNotEmpty() && domicilio.isNotEmpty()) { if (nombre.isNotEmpty() && apellidoPaterno.isNotEmpty() && apellidoMaterno.isNotEmpty() && edad != null && sexo.isNotEmpty() && domicilio.isNotEmpty()) {
val paciente = Paciente(0, nombre, apellidoPaterno, apellidoMaterno, edad, sexo, domicilio) val paciente = Paciente(0, nombre, apellidoPaterno, apellidoMaterno, edad, sexo, domicilio)
db.agregarPaciente(paciente) db.agregarPaciente(paciente)
historial.eventoRealizado = "Dio de alta un paciente"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
Toast.makeText(this@AgregarActivity, "Paciente registrado correctamente", Toast.LENGTH_SHORT).show() Toast.makeText(this@AgregarActivity, "Paciente registrado correctamente", Toast.LENGTH_SHORT).show()
} else { } else {
Toast.makeText(this@AgregarActivity, "Por favor ingrese todos los campos", Toast.LENGTH_SHORT).show() Toast.makeText(this@AgregarActivity, "Por favor ingrese todos los campos", Toast.LENGTH_SHORT).show()
} }
} }
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
} }

View File

@ -1,56 +1,95 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import androidx.appcompat.app.AppCompatActivity import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityMainBinding import com.terratenientes.medicalhealth.databinding.ActivityMainBinding
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding private lateinit var binding: ActivityMainBinding
private lateinit var db: DoctorDataBaseHelper private lateinit var db: DoctorDataBaseHelper
private lateinit var dbHistorial: HistorialDataBaseHelper
lateinit var dbRecetas: RecetaDataBaseHelper
private lateinit var historial: Historial
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater) binding = ActivityMainBinding.inflate(layoutInflater)
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
historial = Historial(null, null, "Se abrio la aplicacion", obtenerFecha())
db = DoctorDataBaseHelper(this@MainActivity) db = DoctorDataBaseHelper(this@MainActivity)
dbHistorial = HistorialDataBaseHelper(this@MainActivity)
dbRecetas = RecetaDataBaseHelper(this@MainActivity)
añadirHistorial(historial)
//dbRecetas.crearTablaReceta()
//db.createTable() //db.createTable()
//dbHistorial.crearTablaHistorial()
binding.btnIniciarSesion.setOnClickListener { binding.btnIniciarSesion.setOnClickListener {
var res=db.validarDatos(binding.tvUsuario.text.toString(),binding.tvContrasena.text.toString()) historial.fecha = obtenerFecha()
var resPaciente = db.validarDatosPaciente(binding.tvUsuario.text.toString(), binding.tvContrasena.text.toString()) var res = db.validarDatos(
binding.tvUsuario.text.toString(),
binding.tvContrasena.text.toString()
)
var resPaciente = db.validarDatosPaciente(
binding.tvUsuario.text.toString(),
binding.tvContrasena.text.toString()
)
if (res == true) { if (res == true) {
historial.eventoRealizado = "Inicio Sesion Doctor"
historial.tipoUsuario = "Doctor"
añadirHistorial(historial)
Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show() Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show()
val intent = Intent(this@MainActivity, PrincipalActivity::class.java) val intent = Intent(this@MainActivity, PrincipalActivity::class.java)
//intent.putExtra("IDPaciente",binding.tvUsuario.text.toString()) //intent.putExtra("IDPaciente",binding.tvUsuario.text.toString())
intent.putExtra("Cedula", binding.tvUsuario.text.toString()) intent.putExtra("Cedula", binding.tvUsuario.text.toString())
startActivity(intent) startActivity(intent)
} else if (resPaciente == true) { } else if (resPaciente == true) {
historial.tipoUsuario = "Paciente"
historial.eventoRealizado = "Inicio Sesion Paciente"
añadirHistorial(historial)
Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show() Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show()
val intent = Intent(this@MainActivity, PacientePrincipalActivity::class.java) val intent = Intent(this@MainActivity, PacientePrincipalActivity::class.java)
intent.putExtra("IDPaciente", binding.tvContrasena.text.toString()) intent.putExtra("IDPaciente", binding.tvContrasena.text.toString())
intent.putExtra("NombrePaciente", binding.tvContrasena.text.toString())
startActivity(intent) startActivity(intent)
} else { } else {
Toast.makeText(this@MainActivity, " NO VALIDADO", Toast.LENGTH_LONG).show() Toast.makeText(this@MainActivity, " NO VALIDADO", Toast.LENGTH_LONG).show()
} }
} }
binding.tvRegistrarme.setOnClickListener { binding.tvRegistrarme.setOnClickListener {
historial.eventoRealizado = "Acciono el botón para la pantalla de registro"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
val intent = Intent(this@MainActivity, RegistrarDActivity::class.java) val intent = Intent(this@MainActivity, RegistrarDActivity::class.java)
startActivity(intent) startActivity(intent)
} }
} }
@SuppressLint("SuspiciousIndentation") @SuppressLint("SuspiciousIndentation")
private fun cargarDatos() { private fun cargarDatos() {
val doctor = Doctor("1236", "Sebastian", "Cordoba", "229330123", 1) val doctor = Doctor("1236", "Sebastian", "Cordoba", "229330123", 1)
db.agregarDoctores(doctor, "prueba") db.agregarDoctores(doctor, "prueba")
Toast.makeText(this@MainActivity, "DATOS DEL DOCTOR AGREGADOS", Toast.LENGTH_LONG).show() Toast.makeText(this@MainActivity, "DATOS DEL DOCTOR AGREGADOS", Toast.LENGTH_LONG).show()
} }
private fun validaDatos() { private fun validaDatos() {
var usuario = binding.tvUsuario.text.toString() var usuario = binding.tvUsuario.text.toString()
var contrasena = binding.tvContrasena.text.toString() var contrasena = binding.tvContrasena.text.toString()
@ -62,4 +101,24 @@ class MainActivity : AppCompatActivity() {
} }
} }
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
} }

View File

@ -4,16 +4,27 @@ import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.data.Paciente import com.terratenientes.medicalhealth.data.Paciente
import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity
import android.content.Intent import android.content.Intent
import android.os.Build
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.annotation.RequiresApi
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityModificarBinding import com.terratenientes.medicalhealth.databinding.ActivityModificarBinding
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class ModificarActivity : AppCompatActivity() { class ModificarActivity : AppCompatActivity() {
lateinit var binding : ActivityModificarBinding lateinit var binding : ActivityModificarBinding
private lateinit var paciente : Paciente private lateinit var paciente : Paciente
private lateinit var db: DoctorDataBaseHelper private lateinit var db: DoctorDataBaseHelper
private lateinit var dbHistorial: HistorialDataBaseHelper
private lateinit var historial: Historial
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -21,6 +32,9 @@ class ModificarActivity : AppCompatActivity() {
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
db = DoctorDataBaseHelper(this@ModificarActivity) db = DoctorDataBaseHelper(this@ModificarActivity)
dbHistorial = HistorialDataBaseHelper(this@ModificarActivity)
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad modificar paciente", obtenerFecha())
añadirHistorial(historial)
paciente = Paciente(intent.getIntExtra("Id",2),intent.getStringExtra("Nombre Paciente").toString(),intent.getStringExtra("Apellido Paterno").toString(), intent.getStringExtra("Apellido Materno").toString(), intent.getIntExtra("Edad", 20), intent.getStringExtra("Sexo").toString(), intent.getStringExtra("Domicilio").toString()) paciente = Paciente(intent.getIntExtra("Id",2),intent.getStringExtra("Nombre Paciente").toString(),intent.getStringExtra("Apellido Paterno").toString(), intent.getStringExtra("Apellido Materno").toString(), intent.getIntExtra("Edad", 20), intent.getStringExtra("Sexo").toString(), intent.getStringExtra("Domicilio").toString())
llenarCampos() llenarCampos()
binding.btnModificar.setOnClickListener { binding.btnModificar.setOnClickListener {
@ -34,6 +48,9 @@ class ModificarActivity : AppCompatActivity() {
paciente.apellidoMaterno = binding.etApellidoMaterno.text.toString() paciente.apellidoMaterno = binding.etApellidoMaterno.text.toString()
paciente.domicilio = binding.etDomicilio.text.toString() paciente.domicilio = binding.etDomicilio.text.toString()
db.modificarPaciente(paciente) db.modificarPaciente(paciente)
historial.eventoRealizado = "Se modifico la informacion de paciente ${paciente.nombre}"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
finish() finish()
Toast.makeText(this@ModificarActivity, "Información Actualizada UwU", Toast.LENGTH_LONG).show() Toast.makeText(this@ModificarActivity, "Información Actualizada UwU", Toast.LENGTH_LONG).show()
} }
@ -47,4 +64,24 @@ class ModificarActivity : AppCompatActivity() {
binding.tvSexo.setText("Sexo: ${paciente.sexo}") binding.tvSexo.setText("Sexo: ${paciente.sexo}")
} }
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
} }

View File

@ -1,22 +1,35 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import android.os.Build
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import androidx.annotation.RequiresApi
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.data.Receta import com.terratenientes.medicalhealth.data.Receta
import com.terratenientes.medicalhealth.databinding.ActivityModificarRecetaBinding import com.terratenientes.medicalhealth.databinding.ActivityModificarRecetaBinding
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class ModificarRecetaActivity : AppCompatActivity() { class ModificarRecetaActivity : AppCompatActivity() {
lateinit var binding : ActivityModificarRecetaBinding lateinit var binding : ActivityModificarRecetaBinding
lateinit var receta : Receta lateinit var receta : Receta
lateinit var db : RecetaDataBaseHelper lateinit var db : RecetaDataBaseHelper
lateinit var dbHistorial: HistorialDataBaseHelper
lateinit var historial: Historial
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityModificarRecetaBinding.inflate(layoutInflater) binding = ActivityModificarRecetaBinding.inflate(layoutInflater)
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
db = RecetaDataBaseHelper(this@ModificarRecetaActivity) db = RecetaDataBaseHelper(this@ModificarRecetaActivity)
dbHistorial = HistorialDataBaseHelper(this@ModificarRecetaActivity)
historial = Historial("Paciente", intent.getStringExtra("NombrePaciente").toString(), "Se inicio la actividad modificar receta del paciente", obtenerFecha())
añadirHistorial(historial)
receta = Receta(intent.getStringExtra("NombrePaciente").toString(),intent.getStringExtra("EdadPaciente").toString().toInt(),intent.getStringExtra("PesoPaciente").toString().toDouble(),intent.getStringExtra("NombreMedicamento").toString(),intent.getStringExtra("Fecha").toString(),intent.getStringExtra("Dosis").toString(), intent.getStringExtra("Duracion").toString()) receta = Receta(intent.getStringExtra("NombrePaciente").toString(),intent.getStringExtra("EdadPaciente").toString().toInt(),intent.getStringExtra("PesoPaciente").toString().toDouble(),intent.getStringExtra("NombreMedicamento").toString(),intent.getStringExtra("Fecha").toString(),intent.getStringExtra("Dosis").toString(), intent.getStringExtra("Duracion").toString())
llenarCampos(receta) llenarCampos(receta)
binding.btnModificarReceta.setOnClickListener { binding.btnModificarReceta.setOnClickListener {
@ -34,6 +47,9 @@ class ModificarRecetaActivity : AppCompatActivity() {
receta.duracion = binding.etDuracion.text.toString() receta.duracion = binding.etDuracion.text.toString()
db.modificarReceta(receta) db.modificarReceta(receta)
Log.i("Info Actualizada", receta.toString()) Log.i("Info Actualizada", receta.toString())
historial.eventoRealizado = "Se modificó una receta"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
finish() finish()
} }
@ -46,4 +62,24 @@ class ModificarRecetaActivity : AppCompatActivity() {
binding.etDosisMedicamento.setText(receta.dosis) binding.etDosisMedicamento.setText(receta.dosis)
binding.etDuracion.setText(receta.duracion) binding.etDuracion.setText(receta.duracion)
} }
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
} }

View File

@ -1,25 +1,47 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import android.Manifest
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.os.Environment
import android.util.Log import android.util.Log
import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.terratenientes.medicalhealth.adapters.CellClickListener import com.terratenientes.medicalhealth.adapters.CellClickListener
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.adapters.PacienteAdapter
import com.terratenientes.medicalhealth.adapters.PacienteViewAdapter import com.terratenientes.medicalhealth.adapters.PacienteViewAdapter
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.adapters.RecetaViewAdapter import com.terratenientes.medicalhealth.adapters.RecetaViewAdapter
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.data.Paciente import com.terratenientes.medicalhealth.data.Paciente
import com.terratenientes.medicalhealth.data.Receta import com.terratenientes.medicalhealth.data.Receta
import com.terratenientes.medicalhealth.databinding.ActivityPacienteBinding import com.terratenientes.medicalhealth.databinding.ActivityPacienteBinding
import java.io.File
import java.io.FileWriter
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class PacienteActivity : AppCompatActivity(), CellClickListener { class PacienteActivity : AppCompatActivity(), CellClickListener {
lateinit var binding : ActivityPacienteBinding lateinit var binding : ActivityPacienteBinding
private var idPaciente : String =""
private lateinit var db: DoctorDataBaseHelper private lateinit var db: DoctorDataBaseHelper
private lateinit var pacientesList: MutableList<Paciente>
private lateinit var dbHistorial: HistorialDataBaseHelper
private lateinit var historial: Historial
private lateinit var recycleAdapter : PacienteViewAdapter private lateinit var recycleAdapter : PacienteViewAdapter
private lateinit var pacientes : List<Paciente> private lateinit var pacientes : List<Paciente>
lateinit var nombreDoctor: String
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityPacienteBinding.inflate(layoutInflater) binding = ActivityPacienteBinding.inflate(layoutInflater)
@ -30,10 +52,26 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
recycleAdapter = PacienteViewAdapter(pacientes, this@PacienteActivity, this@PacienteActivity) recycleAdapter = PacienteViewAdapter(pacientes, this@PacienteActivity, this@PacienteActivity)
binding.rvPacientes.layoutManager = LinearLayoutManager(this) binding.rvPacientes.layoutManager = LinearLayoutManager(this)
binding.rvPacientes.adapter = recycleAdapter binding.rvPacientes.adapter = recycleAdapter
dbHistorial = HistorialDataBaseHelper(this@PacienteActivity)
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor").toString(),"Se inicio la actividad de pacientes", obtenerFecha())
añadirHistorial(historial)
cargarListaPacientes()
nombreDoctor = intent.getStringExtra("NombreDoctor").toString()
Log.i("Pacientes", pacientes.toString()) Log.i("Pacientes", pacientes.toString())
binding.ivAgregarPaciente.setOnClickListener { binding.ivAgregarPaciente.setOnClickListener {
val intent = Intent(this@PacienteActivity, AgregarActivity::class.java) val intent = Intent(this@PacienteActivity, AgregarActivity::class.java)
intent.putExtra("NombreDoctor", nombreDoctor)
startActivity(intent) startActivity(intent)
historial.eventoRealizado = "Se acciono el boton para inciar la actividad alta paciente"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
binding.btnDescargarCsv.setOnClickListener {
historial.eventoRealizado = "Se acciono el botón para descargar la informacion de los pacientes"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
exportarCSV(this@PacienteActivity, pacientesList)
} }
} }
@ -48,6 +86,9 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
override fun onEliminarClickListener(position: Int) { override fun onEliminarClickListener(position: Int) {
val paciente = pacientes[position] val paciente = pacientes[position]
Log.i("Paciente Elim", paciente.toString()) Log.i("Paciente Elim", paciente.toString())
historial.eventoRealizado = "Se acciono el boton para eliminar al usuario ${paciente.id}"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
db.eliminarPaciente(paciente.id) db.eliminarPaciente(paciente.id)
recycleAdapter.refreshData(db.obtenerPacientes()) recycleAdapter.refreshData(db.obtenerPacientes())
} }
@ -62,6 +103,91 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
intent.putExtra("Domicilio", paciente.domicilio) intent.putExtra("Domicilio", paciente.domicilio)
intent.putExtra("Edad", paciente.edad) intent.putExtra("Edad", paciente.edad)
intent.putExtra("Sexo", paciente.sexo) intent.putExtra("Sexo", paciente.sexo)
intent.putExtra("NombreDoctor",nombreDoctor)
startActivity(intent) startActivity(intent)
historial.eventoRealizado = "Se acciono el boton para iniciar la actividad modificar paciente con los datos del paciente ${paciente.nombre}"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
fun exportarCSV(context: Context, pacienteList: MutableList<Paciente>) {
//Pedir Permisos
ActivityCompat.requestPermissions(this@PacienteActivity, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE),200)
// Verificar si se tienen permisos de escritura externa
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
try {
// Crear el directorio donde se guardará el archivo CSV
val directorio = File(Environment.getExternalStorageDirectory(), "MiApp")
if (!directorio.exists()) {
directorio.mkdirs()
}
// Crear el archivo CSV
val archivoCSV = File(directorio, "Paciente.csv")
archivoCSV.createNewFile()
// Escribir los datos en el archivo CSV
val writer = FileWriter(archivoCSV)
writer.append("ID, Nombre, Apellido Paterno, Apellido Materno, Edad, Sexo, Domicilio\n")
for (paciente in pacienteList) {
writer.append("${paciente.id},${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo},${paciente.domicilio}\n")
}
writer.flush()
writer.close()
Toast.makeText(this@PacienteActivity,getString(R.string.res_csv), Toast.LENGTH_LONG).show()
historial.eventoRealizado = "Se descargo la información de los pacientes"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
} catch (e: Exception) {
e.printStackTrace()
}
}else{
Toast.makeText(this@PacienteActivity,getString(R.string.err_permisos_storage),
Toast.LENGTH_LONG).show()
}
}
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
private fun cargarListaPacientes() {
pacientesList = obtenerPacientes()
}
@SuppressLint("Range")
private fun obtenerPacientes(): MutableList<Paciente> {
val pacientes = mutableListOf<Paciente>()
val db = db.readableDatabase
val cursor = db.rawQuery("SELECT * FROM ${DoctorDataBaseHelper.TABLE_PACIENTES}", null)
while (cursor.moveToNext()) {
val id = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_ID_PACIENTE))
val nombre = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_NOMBRE_PACIENTE))
val apellidoPaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_PATERNO_PACIENTE))
val apellidoMaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_MATERNO_PACIENTE))
val edad = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_EDAD))
val sexo = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_SEXO))
val domicilio = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_DOMICILIO))
val paciente = Paciente(id, nombre, apellidoPaterno, apellidoMaterno, edad, sexo, domicilio)
pacientes.add(paciente)
}
cursor.close()
return pacientes
} }
} }

View File

@ -9,33 +9,48 @@ import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.Typeface import android.graphics.Typeface
import android.graphics.pdf.PdfDocument import android.graphics.pdf.PdfDocument
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Environment import android.os.Environment
import android.text.TextPaint import android.text.TextPaint
import android.util.Log import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityPacientePrincipalBinding import com.terratenientes.medicalhealth.databinding.ActivityPacientePrincipalBinding
import java.io.File import java.io.File
import java.io.FileOutputStream import java.io.FileOutputStream
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class PacientePrincipalActivity : AppCompatActivity(), CellClickListener { class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
private lateinit var binding: ActivityPacientePrincipalBinding private lateinit var binding: ActivityPacientePrincipalBinding
private var idPaciente : String ="" private var idPaciente : String =""
private lateinit var db: RecetaDataBaseHelper private lateinit var db: RecetaDataBaseHelper
private lateinit var recycleAdapter : RecetaViewAdapter private lateinit var recycleAdapter : RecetaViewAdapter
private lateinit var recetas : List<Receta> private lateinit var recetas : List<Receta>
lateinit var dbHistorial: HistorialDataBaseHelper
lateinit var historial: Historial
lateinit var nombrePaciente: String
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityPacientePrincipalBinding.inflate(layoutInflater) binding = ActivityPacientePrincipalBinding.inflate(layoutInflater)
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
idPaciente= intent.getStringExtra("IDPaciente")!! idPaciente= intent.getStringExtra("IDPaciente")!!
db= RecetaDataBaseHelper(this) db= RecetaDataBaseHelper(this@PacientePrincipalActivity)
dbHistorial = HistorialDataBaseHelper(this@PacientePrincipalActivity)
historial = Historial("Paciente", intent.getStringExtra("NombrePaciente").toString(), "Se inicio la actividad menu principal del paciente", obtenerFecha())
añadirHistorial(historial)
recetas=db.obtenerRecetasPaciente(idPaciente) recetas=db.obtenerRecetasPaciente(idPaciente)
nombrePaciente = intent.getStringExtra("NombrePaciente").toString()
recycleAdapter = RecetaViewAdapter(db.obtenerRecetasPaciente(idPaciente), this, this@PacientePrincipalActivity) recycleAdapter = RecetaViewAdapter(db.obtenerRecetasPaciente(idPaciente), this, this@PacientePrincipalActivity)
@ -71,6 +86,9 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
// Toast.makeText(this, "Peso : ${datosPaciente[position].pesoPaciente}+ edad: ${datosPaciente[position].edadPaciente} ", Toast.LENGTH_LONG).show() // Toast.makeText(this, "Peso : ${datosPaciente[position].pesoPaciente}+ edad: ${datosPaciente[position].edadPaciente} ", Toast.LENGTH_LONG).show()
//Toast.makeText(this@PacientePrincipalActivity, "PERMISOS CONCEDIDOS", Toast.LENGTH_SHORT).show() //Toast.makeText(this@PacientePrincipalActivity, "PERMISOS CONCEDIDOS", Toast.LENGTH_SHORT).show()
generarPDF(nombrePaciente, descripcionReceta, nombreMeciamento) generarPDF(nombrePaciente, descripcionReceta, nombreMeciamento)
historial.eventoRealizado = "Se descargo la receta en formato pdf"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}else{ }else{
pedirPermisosPDF() pedirPermisosPDF()
} }
@ -79,13 +97,18 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
override fun onEliminarClickListener(position: Int) { override fun onEliminarClickListener(position: Int) {
val receta = recetas[position] val receta = recetas[position]
db.eliminarReceta(receta) db.eliminarReceta(receta)
historial.eventoRealizado = "Se acciono el boton de eliminar la receta"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
recycleAdapter.refreshData(db.obtenerRecetasPaciente(idPaciente)) recycleAdapter.refreshData(db.obtenerRecetasPaciente(idPaciente))
Toast.makeText(this, "Receta eliminada correctamente", Toast.LENGTH_SHORT).show() Toast.makeText(this, "Receta eliminada correctamente", Toast.LENGTH_SHORT).show()
} }
override fun onModifyClickListener(position: Int) { override fun onModifyClickListener(position: Int) {
val receta = recetas[position] val receta = recetas[position]
Log.i("Prueba Modificar", receta.toString()) historial.eventoRealizado = "Se acciono el boton de iniciar la actividad de modificar receta"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
val intent = Intent(this@PacientePrincipalActivity, ModificarRecetaActivity::class.java) val intent = Intent(this@PacientePrincipalActivity, ModificarRecetaActivity::class.java)
intent.putExtra("NombrePaciente", receta.NombrePaciente) intent.putExtra("NombrePaciente", receta.NombrePaciente)
intent.putExtra("EdadPaciente", receta.edadPaciente.toString()) intent.putExtra("EdadPaciente", receta.edadPaciente.toString())
@ -94,6 +117,7 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
intent.putExtra("Fecha", receta.fecha) intent.putExtra("Fecha", receta.fecha)
intent.putExtra("Dosis", receta.dosis) intent.putExtra("Dosis", receta.dosis)
intent.putExtra("Duracion", receta.duracion) intent.putExtra("Duracion", receta.duracion)
intent.putExtra("NombrePaciente", nombrePaciente)
startActivity(intent) startActivity(intent)
} }
@ -170,5 +194,25 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
} }
} }
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
} }

View File

@ -1,33 +1,73 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import android.Manifest
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.os.Environment
import android.util.Log import android.util.Log
import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor import com.terratenientes.medicalhealth.data.Doctor
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityPrincipalBinding import com.terratenientes.medicalhealth.databinding.ActivityPrincipalBinding
import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity
import java.io.File
import java.io.FileWriter
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class PrincipalActivity : AppCompatActivity() { class PrincipalActivity : AppCompatActivity() {
lateinit var binding : ActivityPrincipalBinding lateinit var binding : ActivityPrincipalBinding
lateinit var db : DoctorDataBaseHelper lateinit var db : DoctorDataBaseHelper
private lateinit var dbHistorial: HistorialDataBaseHelper
private lateinit var historialList: MutableList<Historial>
private lateinit var historial: Historial
lateinit var nombreDoctor : String
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityPrincipalBinding.inflate(layoutInflater) binding = ActivityPrincipalBinding.inflate(layoutInflater)
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
db = DoctorDataBaseHelper(this@PrincipalActivity) db = DoctorDataBaseHelper(this@PrincipalActivity)
dbHistorial = HistorialDataBaseHelper(this@PrincipalActivity)
Log.i("Datos Doctor", intent.getStringExtra("Cedula").toString()) Log.i("Datos Doctor", intent.getStringExtra("Cedula").toString())
historial = Historial("Doctor", null,"Se inicio la actividad de menu principal", obtenerFecha())
datosDoctor(intent.getStringExtra("Cedula").toString()) datosDoctor(intent.getStringExtra("Cedula").toString())
añadirHistorial(historial)
binding.ivPacientes.setOnClickListener { binding.ivPacientes.setOnClickListener {
val intent = Intent(this@PrincipalActivity, PacienteActivity::class.java) val intent = Intent(this@PrincipalActivity, PacienteActivity::class.java)
intent.putExtra("NombreDoctor", nombreDoctor)
startActivity(intent) startActivity(intent)
historial.eventoRealizado = "Se presiono el boton para iniciar la actividad de pacientes"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
} }
binding.ivRecetas.setOnClickListener { binding.ivRecetas.setOnClickListener {
val intent = Intent(this@PrincipalActivity, RecetaActivity::class.java) val intent = Intent(this@PrincipalActivity, RecetaActivity::class.java)
intent.putExtra("NombreDoctor", nombreDoctor)
startActivity(intent) startActivity(intent)
historial.eventoRealizado = "Se presiono el boton para iniciar la actividad de recetas"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
binding.ivHistorial.setOnClickListener {
historial.eventoRealizado = "Se presiono el boton para descargar el historial"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
cargarHistorial()
exportarCSV(this@PrincipalActivity, historialList)
} }
} }
@ -40,5 +80,87 @@ class PrincipalActivity : AppCompatActivity() {
binding.tvTelefonoDoctor.setText("Telefono: ${doctor.Telefono}") binding.tvTelefonoDoctor.setText("Telefono: ${doctor.Telefono}")
binding.tvCedulaDoctor.setText("Cédula: ${doctor.Cedula}") binding.tvCedulaDoctor.setText("Cédula: ${doctor.Cedula}")
binding.tvConsultorioDoctor.setText("Consultorio: ${doctor.Consultorio}") binding.tvConsultorioDoctor.setText("Consultorio: ${doctor.Consultorio}")
historial.nombreUsuario = doctor.Nombre
nombreDoctor = doctor.Nombre
}
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
fun exportarCSV(context: Context, historialList: MutableList<Historial>) {
//Pedir Permisos
ActivityCompat.requestPermissions(this@PrincipalActivity, arrayOf(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE),200)
// Verificar si se tienen permisos de escritura externa
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
try {
// Crear el directorio donde se guardará el archivo CSV
val directorio = File(Environment.getExternalStorageDirectory(), "MiApp")
if (!directorio.exists()) {
directorio.mkdirs()
}
// Crear el archivo CSV
val archivoCSV = File(directorio, "Historial.csv")
archivoCSV.createNewFile()
// Escribir los datos en el archivo CSV
val writer = FileWriter(archivoCSV)
writer.append("Tipo de Usuario, Usuario, Evento Realizado, Fecha\n")
for (historial in historialList) {
writer.append("${historial.tipoUsuario},${historial.nombreUsuario},${historial.eventoRealizado},${historial.fecha}\n")
}
writer.flush()
writer.close()
Toast.makeText(this@PrincipalActivity,getString(R.string.res_csv), Toast.LENGTH_LONG).show()
historial.eventoRealizado = "Se descargo el historial de la app"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
} catch (e: Exception) {
e.printStackTrace()
}
}else{
Toast.makeText(this@PrincipalActivity,getString(R.string.err_permisos_storage),
Toast.LENGTH_LONG).show()
}
}
private fun cargarHistorial() {
historialList = obtenerHistorial()
}
@SuppressLint("Range")
private fun obtenerHistorial(): MutableList<Historial> {
val historial = mutableListOf<Historial>()
val db = dbHistorial.readableDatabase
val cursor = db.rawQuery("SELECT * FROM ${HistorialDataBaseHelper.TABLE_NAME}", null)
while (cursor.moveToNext()) {
val tipoUsuario = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_TIPO_USUARIO))
val usuario = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_NOMBRE_USUARIO))
val evento = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_EVENTO))
val fecha = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_FECHA))
val hist = Historial(tipoUsuario, usuario,evento,fecha)
historial.add(hist)
}
cursor.close()
return historial
} }
} }

View File

@ -4,20 +4,33 @@ import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.data.Receta import com.terratenientes.medicalhealth.data.Receta
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.View import android.view.View
import android.widget.AdapterView import android.widget.AdapterView
import android.widget.AdapterView.OnItemSelectedListener import android.widget.AdapterView.OnItemSelectedListener
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import android.widget.Toast import android.widget.Toast
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityRecetaBinding import com.terratenientes.medicalhealth.databinding.ActivityRecetaBinding
import com.terratenientes.medicalhealth.utilidad.DatePickerFragment
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
import java.util.Date
@RequiresApi(Build.VERSION_CODES.O)
class RecetaActivity : AppCompatActivity(), OnItemSelectedListener { class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
private lateinit var binding : ActivityRecetaBinding private lateinit var binding : ActivityRecetaBinding
private lateinit var db : RecetaDataBaseHelper private lateinit var db : RecetaDataBaseHelper
private lateinit var dbPaciente : DoctorDataBaseHelper private lateinit var dbPaciente : DoctorDataBaseHelper
private lateinit var dbHistorial: HistorialDataBaseHelper
private lateinit var historial: Historial
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -25,14 +38,22 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
val view = binding.root val view = binding.root
enableEdgeToEdge() enableEdgeToEdge()
db= RecetaDataBaseHelper(this@RecetaActivity) db= RecetaDataBaseHelper(this@RecetaActivity)
dbHistorial = HistorialDataBaseHelper(this@RecetaActivity)
dbPaciente = DoctorDataBaseHelper(this@RecetaActivity) dbPaciente = DoctorDataBaseHelper(this@RecetaActivity)
setContentView(view) setContentView(view)
//db.crearTablaReceta() //db.crearTablaReceta()
cargarSpinnerPacientes() cargarSpinnerPacientes()
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad de añadir receta", obtenerFecha())
añadirHistorial(historial)
binding.spNombrePaciente.onItemSelectedListener=this binding.spNombrePaciente.onItemSelectedListener=this
binding.btnAgregarReceta.setOnClickListener { binding.btnAgregarReceta.setOnClickListener {
agregarReceta() agregarReceta()
} }
binding.tvDatepicker.setOnClickListener{
historial.eventoRealizado = "Se dio click en el calendario"
historial.fecha = obtenerFecha()
showPickerDialog()
}
} }
@SuppressLint("Range") @SuppressLint("Range")
private fun obtenerNombrePacientes() : ArrayList<String>{ private fun obtenerNombrePacientes() : ArrayList<String>{
@ -57,12 +78,15 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
val edadPaciente = (binding.etEdadPaciente.text.toString()).toInt() val edadPaciente = (binding.etEdadPaciente.text.toString()).toInt()
val pesoPaciente = (binding.etPesoPaciente.text.toString()).toDouble() val pesoPaciente = (binding.etPesoPaciente.text.toString()).toDouble()
val medicamento= binding.etRecetaMedicamento.text.toString() val medicamento= binding.etRecetaMedicamento.text.toString()
val fecha=binding.etFecha.text.toString() val fecha=binding.tvFecha.text.toString()
val dosis = binding.etDosisMedicamento.text.toString() val dosis = binding.etDosisMedicamento.text.toString()
val duracion= binding.etDuracion.text.toString() val duracion= binding.etDuracion.text.toString()
val receta = Receta(nombrePaciente,edadPaciente,pesoPaciente,medicamento,fecha,dosis,duracion) val receta = Receta(nombrePaciente,edadPaciente,pesoPaciente,medicamento,fecha,dosis,duracion)
db.agregarReceta(receta) db.agregarReceta(receta)
historial.eventoRealizado = "Añadio una receta al paciente $nombrePaciente"
historial.fecha = obtenerFecha()
Toast.makeText(this@RecetaActivity , "RECETA AGREGADA CORRECTAMENTE", Toast.LENGTH_LONG).show() Toast.makeText(this@RecetaActivity , "RECETA AGREGADA CORRECTAMENTE", Toast.LENGTH_LONG).show()
finish()
} }
override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) { override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
@ -74,4 +98,33 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
override fun onNothingSelected(p0: AdapterView<*>?) { override fun onNothingSelected(p0: AdapterView<*>?) {
} }
private fun showPickerDialog() {
val datePicker = DatePickerFragment{day, month, year -> obtenerFechaSeleccionada(day, month, year)}
datePicker.show(supportFragmentManager,"datePicker")
}
private fun obtenerFechaSeleccionada (day: Int, month: Int, year: Int) {
binding.tvFecha.text = "$day/$month/$year"
}
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
} }

View File

@ -1,20 +1,34 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import android.os.Build
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor import com.terratenientes.medicalhealth.data.Doctor
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityRegistrarDactivityBinding import com.terratenientes.medicalhealth.databinding.ActivityRegistrarDactivityBinding
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class RegistrarDActivity : AppCompatActivity() { class RegistrarDActivity : AppCompatActivity() {
private lateinit var binding : ActivityRegistrarDactivityBinding private lateinit var binding : ActivityRegistrarDactivityBinding
private lateinit var db : DoctorDataBaseHelper private lateinit var db : DoctorDataBaseHelper
private lateinit var dbHistorial: HistorialDataBaseHelper
private lateinit var historial: Historial
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityRegistrarDactivityBinding.inflate(layoutInflater) binding = ActivityRegistrarDactivityBinding.inflate(layoutInflater)
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
dbHistorial = HistorialDataBaseHelper(this@RegistrarDActivity)
historial = Historial(null, null, "Se abrio la actividad de registro", obtenerFecha())
añadirHistorial(historial)
db= DoctorDataBaseHelper(this@RegistrarDActivity) db= DoctorDataBaseHelper(this@RegistrarDActivity)
binding.btnRegistrar.setOnClickListener { binding.btnRegistrar.setOnClickListener {
registrarUsuario() registrarUsuario()
@ -30,6 +44,31 @@ class RegistrarDActivity : AppCompatActivity() {
val usuario= Doctor(cedula,nombre,apellido,telefono,domicilio.toInt()) val usuario= Doctor(cedula,nombre,apellido,telefono,domicilio.toInt())
db.agregarDoctores(usuario,contrasena) db.agregarDoctores(usuario,contrasena)
Toast.makeText(this@RegistrarDActivity,"USUARIO AGREGADO",Toast.LENGTH_LONG).show() Toast.makeText(this@RegistrarDActivity,"USUARIO AGREGADO",Toast.LENGTH_LONG).show()
historial.eventoRealizado = "Se registraron los datos de un doctor"
historial.fecha = obtenerFecha()
historial.tipoUsuario = "Doctor"
historial.nombreUsuario = nombre
añadirHistorial(historial)
finish() finish()
} }
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
val currentTime = ZonedDateTime.now(fromTimeZone)
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
val formatter = DateTimeFormatter.ofPattern(dateFormat)
return formatter.format(currentTime)
}
private fun añadirHistorial(historial: Historial) {
val resultadoInsert = dbHistorial.agregarInformacin(historial)
var msj = ""
if(resultadoInsert > 0)
msj = "Información historica almacenada"
else
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
} }

View File

@ -0,0 +1,49 @@
package com.terratenientes.medicalhealth.adapters
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
import androidx.core.content.contentValuesOf
import com.terratenientes.medicalhealth.data.Historial
class HistorialDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABAENAME, null, DATABASEVERSION){
companion object{
private val DATABAENAME = "MedicalHealth"
private val DATABASEVERSION=1
//PRIMERO VA EL NOMBRE DE LA TABLA
val TABLE_NAME = "Historial"
//LUEGO VAN LAS COLUMNAS DE ESA TABLA
val COLUMN_TIPO_USUARIO = "TipoUsuario"
val COLUMN_NOMBRE_USUARIO = "NombreUsuario"
val COLUMN_EVENTO = "Evento"
val COLUMN_FECHA = "Fecha"
}
override fun onCreate(db: SQLiteDatabase?) {
val crearTabla="CREATE TABLE ${TABLE_NAME} (${COLUMN_TIPO_USUARIO} VARCHAR(30), ${COLUMN_NOMBRE_USUARIO} VARCHAR(30), ${COLUMN_EVENTO} VARCHAR(255), ${COLUMN_FECHA} VARCHAR(70))"
db?.execSQL(crearTabla)
}
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
val dropTableReceta="DROP TABLE IF EXISTS ${TABLE_NAME}"
db?.execSQL(dropTableReceta)
}
fun crearTablaHistorial(){
val db=writableDatabase
val crearTabla="CREATE TABLE ${TABLE_NAME} (${COLUMN_TIPO_USUARIO} VARCHAR(30), ${COLUMN_NOMBRE_USUARIO} VARCHAR(30), ${COLUMN_EVENTO} VARCHAR(255), ${COLUMN_FECHA} VARCHAR(70))"
db?.execSQL(crearTabla)
}
fun agregarInformacin (historial: Historial) : Long {
val db = writableDatabase
val values = contentValuesOf().apply {
put(COLUMN_TIPO_USUARIO, historial.tipoUsuario)
put(COLUMN_NOMBRE_USUARIO, historial.nombreUsuario)
put(COLUMN_EVENTO, historial.eventoRealizado)
put(COLUMN_FECHA, historial.fecha)
}
val respuestaInsert = db.insert(TABLE_NAME, null, values)
db.close()
return respuestaInsert
}
}

View File

@ -21,6 +21,7 @@ class PacienteViewAdapter (private var notes : List<Paciente>, context: Context,
val tv_domicilio : TextView = itemView.findViewById(R.id.tv_domicilio) val tv_domicilio : TextView = itemView.findViewById(R.id.tv_domicilio)
val ivModificar : ImageView = itemView.findViewById(R.id.iv_modificar_paciente) val ivModificar : ImageView = itemView.findViewById(R.id.iv_modificar_paciente)
val ivEliminar : ImageView = itemView.findViewById(R.id.iv_eliminar_paciente) val ivEliminar : ImageView = itemView.findViewById(R.id.iv_eliminar_paciente)
val tvId: TextView = itemView.findViewById(R.id.tv_id_paciente)
} }
@ -36,12 +37,13 @@ class PacienteViewAdapter (private var notes : List<Paciente>, context: Context,
override fun onBindViewHolder(holder: NoteViewHolder, position: Int) { override fun onBindViewHolder(holder: NoteViewHolder, position: Int) {
val note = notes[position] val note = notes[position]
holder.tvNombre.text = note.nombre holder.tvNombre.text = "Nombre:\n${note.nombre}"
holder.tvApellidoPaterno.text = note.apellidoPaterno holder.tvApellidoPaterno.text = "Apellido Paterno:\n${note.apellidoPaterno}"
holder.tvApellidoMaterno.text = note.apellidoMaterno holder.tvApellidoMaterno.text = "Apellido Materno:\n${note.apellidoMaterno}"
holder.tv_edad.text = note.edad.toString() holder.tv_edad.text = "Edad:\n${note.edad}"
holder.tv_sexo.text = note.sexo holder.tv_sexo.text = "Sexo:\n${note.sexo}"
holder.tv_domicilio.text = note.domicilio holder.tv_domicilio.text = "Domicilio:\n${note.domicilio}"
holder.tvId.text = "Id:${note.id}"
holder.ivEliminar.setOnClickListener { holder.ivEliminar.setOnClickListener {
cellClickListener.onEliminarClickListener(position) cellClickListener.onEliminarClickListener(position)

View File

@ -0,0 +1,8 @@
package com.terratenientes.medicalhealth.data
data class Historial(
var tipoUsuario: String?,
var nombreUsuario: String?,
var eventoRealizado: String?,
var fecha: String?
)

View File

@ -99,6 +99,7 @@ class ConsultarPacientesActivity : AppCompatActivity() {
// Escribir los datos en el archivo CSV // Escribir los datos en el archivo CSV
val writer = FileWriter(archivoCSV) val writer = FileWriter(archivoCSV)
writer.append("Nombre, Apellido Paterno, Apellido Materno, Edad, Sexo\n")
for (paciente in pacientesList) { for (paciente in pacientesList) {
writer.append("${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo}\n") writer.append("${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo}\n")
} }

View File

@ -0,0 +1,23 @@
package com.terratenientes.medicalhealth.utilidad
import android.app.DatePickerDialog
import android.app.Dialog
import android.content.Context
import android.os.Bundle
import android.widget.DatePicker
import androidx.fragment.app.DialogFragment
import java.util.Calendar
class DatePickerFragment (val listener: (day: Int, month: Int, year: Int) -> Unit): DialogFragment(), DatePickerDialog.OnDateSetListener {
override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
listener(dayOfMonth, month, year)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val c: Calendar = Calendar.getInstance()
val day: Int = c.get(Calendar.DAY_OF_MONTH)
val month: Int = c.get(Calendar.MONTH)
val year: Int = c.get(Calendar.YEAR)
return DatePickerDialog(activity as Context, this@DatePickerFragment, year, month, day)
}
}

View File

@ -51,15 +51,36 @@
android:hint="@string/receta_medicamento" android:hint="@string/receta_medicamento"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
/> />
<EditText <GridLayout
android:id="@+id/et_fecha"
android:layout_marginTop="10dp"
android:layout_width="300dp" android:layout_width="300dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:columnCount="2"
android:rowCount="1">
<TextView
android:id="@+id/tv_fecha"
android:layout_marginTop="10dp"
android:layout_width="200dp"
android:layout_height="match_parent"
android:hint="@string/receta_fecha_paciente" android:hint="@string/receta_fecha_paciente"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:textSize="20sp"
android:inputType="date" android:inputType="date"
/> android:layout_columnWeight="0"
android:layout_column="0"
android:layout_row="0"/>
<TextView
android:id="@+id/tv_datepicker"
android:layout_height="match_parent"
android:layout_width="100dp"
android:layout_marginTop="10dp"
android:textColor="@color/primaryColor"
android:text="calendario"
android:textSize="20sp"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="0"/>
</GridLayout>
<EditText <EditText
android:id="@+id/et_dosis_medicamento" android:id="@+id/et_dosis_medicamento"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"

View File

@ -1,107 +1,132 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="100dp" android:layout_height="100dp"
android:layout_margin="10dp" android:layout_margin="10dp"
app:cardCornerRadius="8dp" xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
app:cardCornerRadius="20dp"
app:cardElevation="8dp"> app:cardElevation="8dp">
<GridLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:columnCount="3"
android:rowCount="3">
<TextView <TextView
android:id="@+id/tv_nombre" android:id="@+id/tv_nombre"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:layout_marginStart="16dp"
android:layout_marginTop="10dp" android:layout_marginTop="32dp"
android:layout_columnWeight="1" android:text="@string/ht_nombre"
android:layout_column="0" app:layout_constraintStart_toStartOf="parent"
android:layout_row="0" app:layout_constraintTop_toTopOf="parent" />
android:text="@string/ht_nombre"/>
<TextView <TextView
android:id="@+id/tv_apellido_paterno" android:id="@+id/tv_apellido_paterno"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:layout_marginStart="4dp"
android:layout_marginTop="10dp" android:layout_marginTop="32dp"
android:layout_columnWeight="1" android:text="@string/ht_apellido_paterno"
android:layout_column="1" app:layout_constraintStart_toEndOf="@id/tv_nombre"
android:layout_row="0" app:layout_constraintTop_toTopOf="parent" />
android:text="@string/ht_apellido_paterno"/>
<TextView <TextView
android:id="@+id/tv_apellido_materno" android:id="@+id/tv_apellido_materno"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="2"
android:layout_row="0" android:layout_row="0"
android:text="@string/ht_apellido_materno"/> android:layout_column="2"
android:layout_columnWeight="1"
android:layout_marginStart="16dp"
android:layout_marginTop="32dp"
android:text="@string/ht_apellido_materno"
app:layout_constraintStart_toEndOf="@+id/tv_apellido_paterno"
app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
android:id="@+id/tv_edad" android:id="@+id/tv_edad"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:layout_row="1"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="0" android:layout_column="0"
android:layout_row="1"
android:text="@string/et_modificar_edad"/>
<TextView
android:id="@+id/tv_sexo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1" android:layout_columnWeight="1"
android:layout_column="1" android:layout_marginStart="20dp"
android:layout_row="1" android:text="@string/et_modificar_edad"
android:text="@string/et_modificar_sexo"/> app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/tv_sexo"
app:layout_constraintTop_toBottomOf="@+id/tv_apellido_materno"
app:layout_constraintVertical_bias="0.2" />
<TextView <TextView
android:id="@+id/tv_domicilio" android:id="@+id/tv_domicilio"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="2"
android:layout_row="1" android:layout_row="1"
android:text="@string/ht_domicilio"/> android:layout_column="2"
android:layout_columnWeight="1"
android:layout_marginStart="16dp"
android:text="@string/ht_domicilio"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_nombre"
app:layout_constraintVertical_bias="0.2" />
<TextView
android:id="@+id/tv_sexo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_marginStart="8dp"
android:text="@string/et_modificar_sexo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/tv_domicilio"
app:layout_constraintTop_toBottomOf="@+id/tv_apellido_paterno"
app:layout_constraintVertical_bias="0.2" />
<TextView
android:id="@+id/tv_id_paciente"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:text="Id"
app:layout_constraintBottom_toTopOf="@+id/tv_nombre"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.384" />
<ImageView <ImageView
android:id="@+id/iv_modificar_paciente" android:id="@+id/iv_modificar_paciente"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:layout_row="2"
android:layout_marginTop="10dp"
android:layout_column="1" android:layout_column="1"
android:layout_columnWeight="1" android:layout_columnWeight="1"
android:layout_row="2" android:layout_marginTop="60dp"
android:src="@drawable/update"/> android:layout_marginEnd="36dp"
android:src="@drawable/update"
app:layout_constraintEnd_toStartOf="@+id/iv_eliminar_paciente"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@+id/tv_edad"
app:layout_constraintTop_toTopOf="parent" />
<ImageView <ImageView
android:id="@+id/iv_eliminar_paciente" android:id="@+id/iv_eliminar_paciente"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:layout_row="2"
android:layout_marginTop="10dp"
android:layout_column="2" android:layout_column="2"
android:layout_columnWeight="1" android:layout_columnWeight="1"
android:layout_row="2" android:layout_marginTop="60dp"
android:src="@drawable/delete"/> android:layout_marginEnd="16dp"
android:src="@drawable/delete"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</GridLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
</LinearLayout>

View File

@ -2,13 +2,14 @@
<string name="app_name">MedicalHealth</string> <string name="app_name">MedicalHealth</string>
<!-- Modificar Activity --> <!-- Modificar Activity -->
<string name="tv_modificar_titulo">Modificar Paciente</string> <string name="tv_modificar_titulo">Modificar Paciente</string>
<string name="et_modificar_edad">Edad:</string> <string name="et_modificar_edad">Edad</string>
<string name="et_modificar_sexo">Sexo:</string> <string name="et_modificar_sexo">Sexo</string>
<string name="ht_nombre">Nombre</string> <string name="ht_nombre">Nombre</string>
<string name="ht_apellido_paterno">Apellido Paterno</string> <string name="ht_apellido_paterno">Apellido Paterno</string>
<string name="ht_apellido_materno">Apellido Materno</string> <string name="ht_apellido_materno">Apellido Materno</string>
<string name="ht_domicilio">Domicilio</string> <string name="ht_domicilio">Domicilio</string>
<string name="bt_modificar">Modificar</string> <string name="bt_modificar">Modificar</string>
<string name="tv_id_paciente">Id</string>
<string name="tv_agregar_paciente_titulo">Agrega un paciente</string> <string name="tv_agregar_paciente_titulo">Agrega un paciente</string>
<string name="bt_agregar">Confirmar</string> <string name="bt_agregar">Confirmar</string>
<string name="bt_cancelar">Cancelar</string> <string name="bt_cancelar">Cancelar</string>