Sección 2: Pacientes
Conexión a base de datos, generación de servicios REST registro, actualización,eliminación y obtención de pacientes
La segunda sección es el CRUD de pacientes, creación, registro modificación y eliminación de datos relacionados al paciente.

La interfaz de usuario reside en el nodo "Paciente HTML", el cual esta escrito en html, css, js y utiliza jsgrid para poblar una tabla y permitir las acciones de CRUD.

El código que permite el poblado de datos, registro, modificación y eliminación es el siguiente:
<script type="text/javascript">
$(function() {
$("#jsgrid").jsGrid({
width: "98%",
inserting: true,
editing: true,
sorting: true,
paging: true,
filtering: true,
inserting: true,
autoload: true,
pageSize: 15,
pageButtonCount: 5,
autoload: true,
deleteConfirm: function(item) {
return "El paciente \"" + item.paciente_nombre + "\" va a ser eliminado del registro";
},
fields: [
{
name: "paciente_id",
type: "hidden",
css: 'hide'
},
{
title: "Nombre y Apellido",
name: "paciente_nombre",
type: "text",
width: 50,
validate: "required"
},
{
title: "Edad",
name: "paciente_edad",
type: "number",
width: 25,
validate: { validator: "range", param: [10, 100] }
},
{
title: "Género",
name: "paciente_genero",
width: 50,
type: "select",
items: [
{ Name: "", Id: "-" },
{ Name: "Masculino", Id: "M" },
{ Name: "Femenino", Id: "F" },
{ Name: "Otro", Id: "O" }
],
valueField: "Id",
textField: "Name",
validate: { message: "Género debe ser especificado", validator: function(value) { return value != "-"; } }
},
{
title: "Identidad",
name: "paciente_identidad",
type: "text",
width: 50,
validate: { validator: "rangeLength", param: [9, 10] }
},
{
type: "control"
}],
controller:
{
loadData: function(filter) {
return $.ajax({
url: "/api/pacientes",
dataType: "json"
});
},
insertItem: function(item) {
var d = $.Deferred();
$.ajax({
type: "POST",
url: "/api/pacientes",
data: item
}).done(function(insertItemReturnedFromServer) {
d.resolve(insertItemReturnedFromServer);
$("#jsgrid").jsGrid("loadData");
});
return d.promise();
},
updateItem: function(item) {
var d = $.Deferred();
$.ajax({
type: "PUT",
url: "/api/pacientes/update",
data: item
}).done(function(updatedItemReturnedFromServer) {
d.resolve(updatedItemReturnedFromServer);
});
return d.promise();
},
/*updateItem: function(item) {
return $.ajax({
type: "PUT",
url: "/api/pacientes/update",
data: item
});
},*/
deleteItem: function(item) {
return $.ajax({
type: "DELETE",
url: "/api/pacientes/delete",
data: item
});
}
}
});
// setInterval(function(){$("#jsgrid").jsGrid("loadData");}, 5000);
});
</script>
Para generar los servicios REST, se hacen consultas a la base de datos por lo que es necesario configurar estos nodos con los datos de la base.

Cada nodo anterior al nodo de la base de datos contendrá el SQL query respectivo a la acción de CRUD de la siguiente forma:
msg.topic="SELECT * FROM paciente";
return msg;
GET Pacientes
GET
http://localhost:1880/api/pacientes
Permite la obtención de todos los pacientes en la base de datos
Query Parameters
paciente_id
integer
Obtendrá el o los pacientes
[{"paciente_id":0,"paciente_nombre":"...","paciente_edad":0,"paciente_genero":"...","paciente_identidad":"..."}]
msg.topic="UPDATE paciente SET paciente_nombre='" + msg.payload.paciente_nombre + "', paciente_edad='" + msg.payload.paciente_edad + "', paciente_genero='" + msg.payload.paciente_genero + "', paciente_identidad='" + msg.payload.paciente_identidad + "' WHERE paciente_id='" + msg.payload.paciente_id + "'";
return msg;
UPDATE Paciente
PUT
localhost:1880/api/pacientes/update/api/pacientes/update/paciente_id
Permite la actualización de los datos del paciente
Query Parameters
paciente_id
integer
Request Body
paciente_identidad
string
paciente_genero
object
paciente_edad
integer
paciente_nombre
string
"El paciente fue actualizado"
msg.topic="DELETE FROM paciente WHERE paciente_id='" + msg.payload.paciente_id + "'";
return msg;
DELETE Paciente
DELETE
localhost:1880/api/pacientes/delete/api/pacientes/delete/paciente_id
Permite la eliminación de la información de un paciente
Query Parameters
paciente_id
integer
"La información del paciente fue eliminado"
nombre = msg.payload.paciente_nombre
edad = msg.payload.paciente_edad
genero=msg.payload.paciente_genero
identidad=msg.payload.paciente_identidad
msg.topic = "INSERT INTO paciente (`paciente_nombre`,`paciente_edad`,`paciente_genero`,`paciente_identidad`) VALUES ('"+ nombre +"',"+ edad +",'"+ genero +"','"+ identidad +"');"
return msg;
POST Paciente
POST
localhost:1880/api/pacientes
Permite la actualización de los datos del paciente
Request Body
paciente_identidad
string
paciente_genero
object
paciente_edad
integer
paciente_nombre
string
"El paciente fue ingresado"
Última actualización
¿Te fue útil?