APLICACIÓN WEB PARA LA PREDICCIÓN Y RECOMENDACIÓN
DE TRATAMIENTO PARA EL CÁNCER DE VEJIGA
WEB APPLICATION FOR THE PREDICTION AND TREATMENT
RECOMMENDATION FOR BLADDER CANCER
TRABAJO FIN DE GRADO
CURSO 2022-2023
GUZMÁN FERNÁNDEZ OCAÑA
MARÍA CARIDAD BURGOS GALÁN
DIRECTORES
ANTONIO SARASA CABEZUELO
VÍCTOR MANUEL CARRERO LÓPEZ
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
APLICACIÓN WEB PARA LA PREDICCIÓN Y
RECOMENDACIÓN DE TRATAMIENTO PARA EL
CÁNCER DE VEJIGA
WEB APPLICATION FOR THE PREDICTION AND
TREATMENT RECOMMENDATION FOR
BLADDER CANCER
TRABAJO DE FIN DE GRADO EN INGENIERÍA INFORMÁTICA
GUZMÁN FERNÁNDEZ OCAÑA
MARÍA CARIDAD BURGOS GALÁN
DIRECTORES
ANTONIO SARASA CABEZUELO
VÍCTOR MANUEL CARRERO LÓPEZ
CONVOCATORIA: JUNIO 2023
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
29 DE MAYO DE 2023
2
A nues a amilia, po su cons an e espaldo y amo incondicional.
3
AGRADECIMIENTOS
T as habe llegado a es e momen o, nos gus a ía exp esa nues o p o undo
ag adecimien o a odas las pe sonas que han sido undamen ales en es e a duo y
en iquecedo camino uni e si a io.
En p ime luga , que emos ag adece de mane a especial a nues o u o ,
An onio Sa asa Cabezuelo, cuya guía y consejos nos han ayudado a alcanza nues os
obje i os del abajo.
Además, ex endemos nues o ag adecimien o al Doc o Víc o Manuel Ca e o
López, je e de se icio de u ología del Hospi al In an a Leono , po su colabo ación y
apoyo en la ob ención de los da os necesa ios pa a nues o p oyec o. Su expe iencia y
con ibución han sido esenciales pa a nues a in es igación.
También que emos exp esa nues o ag adecimien o a nues os amigos y
amilia es, cuyo amo , paciencia y comp ensión nos han dado el sopo e necesa io
pa a segui en es e camino. Ag adecemos su apoyo y po es a a nues o lado en los
buenos y malos momen os.
Es amos since amen e ag adecidos po su aliosa con ibución y po se pa e
de nues o iaje académico.
4
RESUMEN
Aplicación web pa a la p edicción y ecomendación de a amien o pa a el cánce de
ejiga
El cánce es una de las en e medades más ecuen es y que más ecu sos
sani a ios consume en el mundo occiden al. El cánce de ejiga en conc e o es el
quin o cánce más común en España. Una emp ana espues a médica es
indispensable pa a la ecupe ación del pacien e, po lo que los sani a ios necesi an
in o mación que les pe mi a maneja de o ma adecuada a los pacien es, conociendo
mejo el p onós ico de su en e medad.
Es e abajo consis e en una aplicación web cuya inalidad es se un apoyo
pa a el pe sonal sani a io a la ho a de a a a pacien es de cánce de ejiga. Pe mi e
ges iona los his o iales clínicos de los pacien es y ealiza una p edicción de su
e olución a a és de algo i mos de Machine Lea ning.
Ac ualmen e los modelos de p edicción han sido en enados a pa i de 75
egis os de pacien es eales del Hospi al In an a Leono de Mad id. Además, la
aplicación pe mi e aumen a dicha base de da os, de o ma que las p edicciones
cada ez sean más p ecisas.
Palab as cla e
Machine lea ning, aplicación web, cánce , p edicción, a iable, ejiga,
pacien e, modelo, API, consul a.
5
ABSTRACT
Web applica ion o he p edic ion and ea men ecommenda ion o bladde cance
Cance is one o he mos common diseases and consumes a signi ican amoun
o heal hca e esou ces in he Wes e n wo ld. Bladde cance speci ically is he i h
mos common cance in Spain. An ea ly medical esponse is essen ial o he eco e y
o he pa ien , which is why heal hca e p o essionals equi e in o ma ion ha enables
hem o p ope ly manage pa ien s and gain a be e unde s anding o hei disease
p ognosis.
This wo k consis s o a web applica ion whose pu pose is o be a suppo o
heal h pe sonnel when ea ing bladde cance pa ien s. I allows managing he clinical
his o ies o pa ien s and making a p edic ion o hei e olu ion h ough Machine
Lea ning algo i hms.
Cu en ly, he p edic ion models ha e been ained om 75 eal pa ien eco ds
om he In an a Leono Hospi al in Mad id. In addi ion, he applica ion allows you o
inc ease said da abase, so ha he p edic ions a e inc easingly accu a e.
Keywo ds
Machine lea ning, web applica ion, cance , p edic ion, a iable, bladde ,
pa ien , model, API, que y.
6
ÍNDICE DE CONTENIDOS
Capí ulo 1 - In oducción....................................................................................................... 17
1.1 Mo i ación......................................................................................................................17
1.2 Obje i os.........................................................................................................................18
1.3 Plan de abajo.............................................................................................................. 19
1.4 Es uc u a de la memo ia............................................................................................. 20
In oduc ion...............................................................................................................................22
Capí ulo 2 - Es ado del a e....................................................................................................27
2.1 IBM Wa son o Oncology.............................................................................................27
2.2 Google Heal h................................................................................................................27
2.3 Sa ana Manage ...........................................................................................................28
2.4 EORTC isk ables............................................................................................................28
2.5 Bladde Cance Nomog am........................................................................................ 28
2.6 Modelo de pun uación CUETO....................................................................................29
Capí ulo 3 - Tecnologías empleadas....................................................................................30
3.1 Visual S udio Code........................................................................................................ 30
3.2 Gi .................................................................................................................................... 30
3.3 HTML y CSS......................................................................................................................31
3.4 Boo s ap.........................................................................................................................31
3.5 PHP...................................................................................................................................31
3.6 JQue y.............................................................................................................................31
3.7 Py hon............................................................................................................................. 32
3.8 Cha .js............................................................................................................................ 32
3.9 Da aTables......................................................................................................................33
3.10 Base de da os.............................................................................................................. 33
3.11 VPS.................................................................................................................................33
Capí ulo 4 - Especi icación de equisi os............................................................................. 34
4.1 Ac o es............................................................................................................................34
4.2 Casos de uso..................................................................................................................34
3.2.1 Ges ión de cuen a............................................................................................... 36
3.2.1 Ges ión del adminis ado ................................................................................... 39
3.2.1 Ges ión de pacien es...........................................................................................45
7
3.2.1 Ges ión de consul as............................................................................................53
3.2.1 Ges ión de p edicciones..................................................................................... 55
Capí ulo 5 - A qui ec u a........................................................................................................61
Capí ulo 6 - Modelo de da os................................................................................................63
6.1 Tabla usua ios.................................................................................................................63
6.2 Tabla pacien es............................................................................................................. 64
6.3 Tabla da ase .................................................................................................................66
Capí ulo 7 - Diseño..................................................................................................................69
Capí ulo 8 - Implemen ación.................................................................................................71
8. 1 Módulo usua ios............................................................................................................71
8.1.1 Login.......................................................................................................................71
8.1.2 Logou .................................................................................................................... 74
8.1.3 Edi a pe il.............................................................................................................75
8.1.4 Añadi usua io....................................................................................................... 79
8.1.5 Edi a usua io.........................................................................................................82
8.1.6 Elimina usua io......................................................................................................85
8.1.7 Ve lis a de usua ios.............................................................................................. 88
8.1.8 Busca usua io....................................................................................................... 91
8.1.9 Expo a usua ios................................................................................................... 92
8. 2 Módulo pacien es........................................................................................................ 93
8.2.1 Añadi pacien e....................................................................................................93
8.2.2 Impo ación de pacien es...................................................................................95
8.2.3 Edi a pacien e..................................................................................................... 99
8.2.4 Elimina pacien e................................................................................................101
8.2.5 Ve lis a de pacien es.........................................................................................104
8.2.6 Busca pacien e..................................................................................................106
8.2.7 Expo a pacien es..............................................................................................107
8.2.8 Ve his o ial médico del pacien e.................................................................... 108
8.3 Módulo consul as.........................................................................................................111
8.3.1 Ejecu a consul a................................................................................................ 111
8.3.2 Visualiza consul a...............................................................................................113
8.3.3 Expo a esul ados de consul a........................................................................116
8.4 Módulo p edicciones..................................................................................................117
8.4.1 Modelos de p edicción......................................................................................117
8
8.4.1.1 Random Fo es ........................................................................................... 117
8.4.1.2 Reg esión Logís ica....................................................................................118
8.4.1.3 K-Vecinos más Ce canos..........................................................................119
8.4.1.4 Nai e Bayes................................................................................................119
8.4.1.5 SVM..............................................................................................................120
8.4.2 En enamien o de modelos...............................................................................120
8.4.3 Ob ene p edicción............................................................................................126
8.4.4 Expo a esul ados de la p edicción............................................................... 132
8.4.5 Impo a da ase .................................................................................................135
8.4.6 Añadi p edicción al da ase ............................................................................139
8.4.7 Visualización........................................................................................................141
Capí ulo 9 - Conclusiones y abajo u u o.........................................................................150
9.1 Conclusiones................................................................................................................ 150
9.2 T abajo u u o...............................................................................................................151
9.2.1 Recopilación de más da os.............................................................................. 151
9.2.2 Responsi e...........................................................................................................151
9.2.3 Aplicación mó il................................................................................................. 151
9.2.4 Reconocimien o de lenguaje na u al..............................................................152
9.2.5 Redes neu onales............................................................................................... 152
Conclusions.........................................................................................................................153
Fu u e Wo k.........................................................................................................................154
Da a Collec ion............................................................................................................154
Responsi e Design....................................................................................................... 154
Mobile Applica ion...................................................................................................... 154
Na u al Language P ocessing....................................................................................155
Neu al Ne wo ks...........................................................................................................155
Con ibuciones Pe sonales....................................................................................................156
Pe sonal Con ibu ions........................................................................................................... 162
Bibliog a ía.............................................................................................................................. 167
Apéndice A - Guía de uso................................................................................................... 170
9
ÍNDICE DE TABLAS
Tabla 1. Plani icación................................................................................................................19
Table 1.1. Plani ica ion.............................................................................................................. 24
Tabla 2. Inicia Sesión................................................................................................................ 36
Tabla 3. Ce a Sesión................................................................................................................37
Tabla 4. Edi a pe il................................................................................................................... 38
Tabla 5. Añadi usua io..............................................................................................................39
Tabla 6. Edi a usua io............................................................................................................... 40
Tabla 7. Elimina usua io............................................................................................................41
Tabla 8. Ve lis a de usua ios.................................................................................................... 42
Tabla 9. Busca usua io..............................................................................................................43
Tabla 10. Expo a usua io.........................................................................................................44
Tabla 11. Añadi pacien e........................................................................................................45
Tabla 12. Impo ación masi a de pacien es......................................................................... 46
Tabla 13. Edi a pacien e..........................................................................................................47
Tabla 14. Elimina pacien e...................................................................................................... 48
Tabla 15. Busca pacien e........................................................................................................49
Tabla 16. Ve his o ial de un pacien e.................................................................................... 50
Tabla 17. Ve lis a de pacien es...............................................................................................51
Tabla 18. Expo a pacien es....................................................................................................52
Tabla 19. Ejecu a consul a sob e la base de pacien es..................................................... 53
Tabla 20. Expo a esul ados de consul a..............................................................................54
Tabla 21. Ob ene p edicción sob e un pacien e.................................................................55
Tabla 22. En ena modelos de p edicción............................................................................ 56
Tabla 23. Añadi p edicción al da ase .................................................................................. 57
Tabla 24. Expo a esul ados de p edicción..........................................................................58
Tabla 25. Expo a esul ados de p edicción..........................................................................59
Tabla 26. Impo a da ase .......................................................................................................60
Tabla 27. Tabla usua ios en la base de da os........................................................................64
Tabla 28. Tabla pacien es en la base de da os.................................................................... 66
Tabla 29. Tabla da ase en la base de da os........................................................................ 68
16
Capí ulo 1 - In oducción
1.1 Mo i ación
El cánce de ejiga es uno de los cánce es que con más ecuencia se
diagnos ica en la especialidad de U ología, as el cánce de p ós a a, ocupando en
ecuencia el no eno luga en é minos de can idad de diagnós icos. Sin emba go, en
España, es a en e medad es más ecuen e y se encuen a en el quin o luga en
cuan o a los ipos de cánce más diagnos icados en la población. Se p oduce cuando
las células de la ejiga comienzan a c ece de mane a ano mal y sin con ol, o mando
umo es que pueden ex ende se a o as pa es del cue po si no se a an a iempo.
Aunque puede p esen a se en cualquie edad, a ec a p incipalmen e a
pe sonas mayo es, siendo la edad media en el momen o del diagnós ico de en o no
a 70 años. Es la cua a o ma de cánce más común en los homb es y la oc a a en e
las muje es. Fuma es el ac o de iesgo más impo an e, ya que los químicos p esen es
en el abaco pueden se abso bidos en el o en e sanguíneo y exc e ados en la o ina,
lo que puede daña la pa ed de la ejiga y aumen a el iesgo de desa olla la
en e medad.
La ecupe ación del pacien e depende en g an pa e de oma las medidas
co ec as a iempo, e i ando que la en e medad e olucione. Según la ase de
desa ollo del umo en el momen o de su diagnós ico, se pod á cu a con ci ugías más
o menos ex ensas. Es p imo dial la labo diagnós ica del médico, ya que cuan o más
a anzado es é el cánce , más di ícil se á la cu ación del pacien e.
17
1.2 Obje i os
El obje i o p incipal del p oyec o es el desa ollo una aplicación web de
esc i o io que dé apoyo al pe sonal médico en cuan o al seguimien o de sus pacien es
de cánce de ejiga, a la ez que da un p onós ico que les pe mi a lle a a cabo el
a amien o más con enien e.
Pa a log a el obje i o p incipal, se p oponen los siguien es obje i os especí icos:
- Desa olla una aplicación in ui i a que pueda se u ilizada ácilmen e po
un usua io de pe il médico.
- Pe mi i el acceso a la página web únicamen e a los usua ios que es én
egis ados en la base de da os.
- Implemen a una API REST pa a acili a el acceso a los se icios que
o ece la aplicación.
- C ea uncionalidades pa a la ges ión de usua ios.
- Facili a al usua io el a amien o y isualización de his o iales médicos de
pacien es.
- Pe mi i an o impo a como expo a pacien es de o ma masi a.
- Implemen a una uncionalidad pa a la ealización y isualización de
consul as según las a iables del pacien e.
- Ob ención de un p onós ico del pacien e median e algo i mos de
Machine Lea ning.
- Pe mi i amplia el da ase pa a el ap endizaje de los modelos de
p edicción.
- Facili a la isualización de los p onós icos a a és de g á icas.
18
1.3 Plan de abajo
Pa a lle a a cabo la consecución de los obje i os p opues os en el apa ado
an e io , se es ablecie on unos plazos pa a ealiza cada a ea. La plani icación ue la
siguien e:
I e acción
Obje i o
Ho as
Fecha
inicio
Fecha in
1
Especi icación de equisi os
15
19/9/22
30/9/22
2
Plani icación del p oyec o
5
1/10/22
3/10/22
3
Diseño y c eación de la base de da os
5
4/10/22
5/10/22
4
Es udio de las ecnologías
40
6/10/22
11/10/22
5
Es uc u a uncional básica
45
12/10/22
21/10/22
6
Ges ión del adminis ado
30
22/10/22
31/10/22
7
Ges ión de la cuen a
25
1/11/22
7/11/22
8
Ges ión de pacien es
50
8/11/22
5/12/22
9
Ges ión de consul as
50
6/12/22
4/02/23
10
Es udio de Machine Lea ning
40
7/02/23
27/02/23
11
Ges ión de p edicciones
70
28/02/23
31/03/23
12
Visualización de da os
40
1/04/23
19/04/23
13
Memo ia
60
20/04/23
15/05/23
14
P epa ación de la de ensa
25
16/05/23
Tabla 1. Plani icación.
19
1.4 Es uc u a de la memo ia
Capí ulo 1 - In oducción: se explica la mo i ación pa a ealiza es e p oyec o, los
obje i os del mismo, el plan de abajo seguido y la es uc u a de la memo ia. Es e
capí ulo se encuen a en español y en inglés.
Capí ulo 2 - Es ado del a e: en es e capí ulo se habla sob e ecnologías que
ac ualmen e ealizan unciones simila es o elacionadas con las de es e p oyec o.
Capí ulo 3 - Tecnologías empleadas: se nomb an y explican las ecnologías que se
han usado en la elabo ación de la aplicación.
Capí ulo 4 - Especi icación de equisi os: se desc iben an o los ac o es como los casos
de uso a pa i de los cuales se c eó la aplicación.
Capí ulo 5 - A qui ec u a: se desc ibe la a qui ec u a de la aplicación web.
Capí ulo 6 - Modelo de da os: en es e pun o se desc ibe la base de da os del
p oyec o.
Capí ulo 7 - Diseño: se desc ibe el diseño de la aplicación, po qué es de es a o ma y
cómo se ha lle ado a cabo.
Capí ulo 8 - Implemen ación: en es e apa ado se explican las dis in as
uncionalidades de la aplicación. Se hace una desc ipción an o de la in e az como
del código.
Capí ulo 9 - Conclusiones y abajo u u o: se desc iben las conclusiones a las que se
han llegado as ealiza el abajo, jun o al posible abajo u u o pa a mejo a lo. Es e
pun o es á en español e inglés.
Con ibuciones Pe sonales: se mues an las a eas ealizadas po cada pe sona. En
español e inglés.
Bibliog a ía: enlaces a los ecu sos u ilizados.
20
Apéndice A - Guía de uso: se ha desa ollado una guía pa a que cualquie pe sona
con acceso a la pla a o ma pueda na ega y ealiza odas las uncionalidades.
21
In oduc ion
Mo i a ion
Bladde cance is one o he mos equen ly diagnosed cance s in he ield o
U ology, ollowing p os a e cance , anking nin h in e ms o he numbe o diagnoses.
Howe e , in Spain, his disease is mo e equen and anks i h among he mos
diagnosed ypes o cance in he popula ion. I occu s when bladde cells s a o g ow
abno mally and wi hou con ol, o ming umo s ha can sp ead o o he pa s o he
body i no ea ed in ime.
Al hough i can occu a any age, i mainly a ec s olde people, wi h he
a e age age a he ime o diagnosis being a ound 70 yea s. I is he ou h mos
common o m o cance in men and he eigh h among women. Smoking is he mos
impo an isk ac o , as he chemicals p esen in obacco can be abso bed in o he
bloods eam and exc e ed in u ine, which can damage he bladde wall and inc ease
he isk o de eloping he disease.
The pa ien 's eco e y la gely depends on aking he igh measu es in a imely
manne , p e en ing he disease om p og essing. Depending on he s age o umo
de elopmen a he ime o i s diagnosis, i can be cu ed wi h mo e o less ex ensi e
su ge ies. The diagnos ic wo k o he doc o is essen ial, as he mo e ad anced he
cance , he mo e di icul i will be o cu e he pa ien .
22
Goals
The main objec i e o he p ojec is o de elop a desk op web applica ion ha
suppo s medical pe sonnel in moni o ing hei bladde cance pa ien s, while p o iding
a p ognosis ha allows hem o ca y ou he mos sui able ea men .
To achie e he main objec i e, he ollowing speci ic objec i es a e p oposed:
- De elop an in ui i e applica ion ha can be easily used by a use wi h a
medical p o ile.
- Res ic access o he websi e only o use s egis e ed in he da abase.
- Implemen a REST API o acili a e access o he applica ion’s se ices.
- C ea e unc ionali ies o use managemen .
- Facili a e he use in he ea men and isualiza ion o pa ien s’ medical eco ds.
- Enable bo h bulk impo ing and expo ing o pa ien s.
- Implemen unc ionali y o conduc ing and isualizing consul a ions based on
pa ien a iables.
- Ob ain a pa ien p ognosis using machine lea ning algo i hms.
- Allow o expanding he da ase o he lea ning o p edic ion models.
- Facili a e he isualiza ion o p ognoses h ough g aphs.
23
Wo k plan
To ca y ou he achie emen o he objec i es p oposed in he p e ious sec ion,
deadlines we e es ablished o each ask. The planning was as ollows:
I e a ion
Goal
Hou s
S a da e
Deadline
1
Requi emen s speci ica ion
15
19/9/22
30/9/22
2
P ojec planning
5
1/10/22
3/10/22
3
Da abase design and c ea ion
5
4/10/22
5/10/22
4
S udy o echnologies
40
6/10/22
11/10/22
5
Basic unc ional s uc u e
45
12/10/22
21/10/22
6
Adminis a o managemen
30
22/10/22
31/10/22
7
Accoun managemen
25
1/11/22
7/11/22
8
Pa ien managemen
50
8/11/22
5/12/22
9
Que y managemen
50
6/12/22
4/02/23
10
Machine Lea ning s udy
40
7/02/23
27/02/23
11
P edic ion managemen
70
28/02/23
31/03/23
12
Da a isualiza ion
40
1/04/23
19/04/23
13
Repo
60
20/04/23
15/05/23
14
P epa a ion o he de ense
25
16/05/23
Table 1.1. Plani ica ion.
24
Repo S uc u e
Chap e 1 - In oduc ion: This chap e explains he mo i a ion behind his p ojec , i s
objec i es, he wo k plan ollowed, and he s uc u e o he memo y. This chap e is
a ailable in bo h Spanish and English.
Chap e 2 - S a e o he A : This chap e discusses echnologies ha cu en ly pe o m
simila o ela ed unc ions o hose o his p ojec .
Chap e 3 - Employed Technologies: The echnologies used in he de elopmen o he
applica ion a e named and explained in his chap e .
Chap e 4 - Requi emen s Speci ica ion: Ac o s and use cases, which o med he basis
o c ea ing he applica ion, a e desc ibed in his chap e .
Chap e 5 - A chi ec u e: The a chi ec u e o he web applica ion is desc ibed in his
chap e .
Chap e 6 - Da a Model: This sec ion desc ibes he p ojec 's da abase.
Chap e 7 - Design: The design o he applica ion, why i is he way i is, and how i has
been ca ied ou a e desc ibed in his chap e .
Chap e 8 - Implemen a ion: This sec ion explains he di e en unc ionali ies o he
applica ion, p o iding desc ip ions o bo h he in e ace and he code.
Chap e 9 - Conclusions and Fu u e Wo k: The conclusions d awn om he wo k and
possible u u e imp o emen s a e desc ibed in his chap e . This sec ion is a ailable in
bo h Spanish and English.
Pe sonal Con ibu ions: The asks pe o med by each indi idual a e p esen ed.
A ailable in bo h Spanish and English.
25
3.7 Py hon
Py hon [9] es un lenguaje de p og amación e sá il y de al o ni el que se u iliza
ampliamen e en di e en es á eas. Su sin axis legible, su g an gama de biblio ecas y su
comunidad ac i a de desa ollado es lo con ie en en una opción popula pa a el
desa ollo de aplicaciones, análisis de da os y p oyec os de in eligencia a i icial.
Pa a el desa ollo de la API se ha usado Flask [10], un amewo k web que se
u iliza pa a cons ui APIs de mane a ápida y sencilla. P opo ciona las he amien as
necesa ias pa a c ea aplicaciones web y se icios REST ul.
Pa a la ealización de p edicciones se ha usado Sciki -lea n [11], una biblio eca
de ap endizaje au omá ico que o ece una amplia gama de algo i mos y he amien as
pa a a eas de clasi icación, eg esión y selección de ca ac e ís icas.
Además, pa a el a amien o de da os se ha u ilizado Pandas [12], una
biblio eca pa a el análisis de da os. P opo ciona es uc u as de da os lexibles pa a
manipula y analiza da os de mane a sencilla.
3.8 Cha .js
Cha s.js [13] se a a de una biblio eca Ja aSc ip que pe mi e c ea g á icos
in e ac i os y isualmen e a ac i os en páginas web. P opo ciona una g an gama de
ipos de g á icos como ba as, líneas, á eas... Con Cha s.js, se puede pe sonaliza el
aspec o de los g á icos, ag ega e ique as, leyendas y animaciones. Es una
he amien a lexible y ácil de usa pa a isualiza da os y comunica in o mación de
mane a e ec i a en u si io web.
32
3.9 Da aTables
Da aTables [14] es una biblio eca de Ja aSc ip que acili a la manipulación y
isualización de g andes conjun os de da os en ablas in e ac i as en páginas web.
P opo ciona uncionalidades como búsqueda, paginación y o denamien o de da os
de mane a ácil y e icien e. Con Da aTables, se pueden ag ega ca ac e ís icas
a anzadas a us ablas, como expo a da os, opciones de pe sonalización e
in eg ación con o os complemen os.
3.10 Base de da os
Pa a almacena , o ganiza y adminis a da os se ha usado MySQL [15] , un
sis ema de ges ión de bases de da os elacional que o ece una sólida capacidad
pa a almacena da os de mane a e icien e y es uc u ada. MySQL es conocido po se
con iable, escalable y compa ible con múl iples pla a o mas.
3.11 VPS
Un VPS es un ipo de se ido i ualizado que unciona en un en o no
compa ido con su p opio sis ema ope a i o y ecu sos dedicados, como CPU, RAM y
almacenamien o asignados de mane a exclusi a pa a cada usua io. P opo ciona un
mayo con ol y lexibilidad en compa ación con el alojamien o compa ido, ya que
pe mi e pe sonaliza la con igu ación y ejecu a aplicaciones y se icios especí icos
según las necesidades del usua io. En el en o no se han ins alado Apache [16], MySQL
y Py hon. Apache pa a aloja y se i páginas web, mien as que MySQL pa a
almacena y adminis a los da os. Py hon es un lenguaje de p og amación que se
u iliza pa a desa olla aplicaciones web y ealiza di e sas a eas en el se ido .
33
Capí ulo 4 - Especi icación de equisi os
En es e capí ulo se explica á la especi icación de equisi os del p oyec o.
4.1 Ac o es
La aplicación cuen a con dos usua ios dis in os:
●Usua io: Pe sonal médico egis ado. Pod á ealiza odas las uncionalidades
(excep o la ges ión de usua ios), ales como ges iona sus pacien es, ealiza
consul as y ealiza p edicciones.
●Adminis ado : Ac o des inado a la ges ión de cuen as de usua io. Además
iene odas las uncionalidades del usua io.
4.2 Casos de uso
Figu a 1. Diag ama ac o usua io.
34
Figu a 2. Diag ama ac o adminis ado .
A con inuación se de allan los casos de uso pa a cada pa e del p oyec o.
35
3.2.1 Ges ión de cuen a
Requisi o
Inicia sesión
Iden i icado
A1
P io idad
Al a
P econdición
El usua io debe es a p e iamen e egis ado en el sis ema.
Desc ipción
El usua io se au en ica median e el co eo elec ónico y una
con aseña pa a pode accede a la aplicación.
En ada
Co eo elec ónico, Con aseña
Salida
Página p incipal.
Secuencia
no mal
Paso
Acción
1
El usua io in oduce su co eo elec ónico y con aseña.
2
El usua io pulsa el bo ón “Inicia Sesión”.
3
El sis ema comp ueba si la in o mación in oducida es co ec a.
4
Se mues a la página p incipal.
Pos condición
Éxi o: El usua io inicia sesión y accede a la uncionalidad de la
aplicación.
Fallo: Se mues a un mensaje de e o y apa ece de nue o el o mula io
de inicio de sesión.
Excepciones
Paso
Acción
2.a
El sis ema no encuen a un usua io con los da os in oducidos
Se mues a un mensaje de e o y se uel e al paso 1.
Ac o es
Usua io o Adminis ado .
Tabla 2. Inicia Sesión.
36
Requisi o
Ce a sesión
Iden i icado
A2
P io idad
Al a
P econdición
El usua io debe habe iniciado sesión p e iamen e.
Desc ipción
El usua io cie a la sesión de la aplicación.
En ada
NA
Salida
Página de inicio de sesión.
Secuencia
no mal
Paso
Acción
1
El usua io pulsa el bo ón de “Ce a Sesión”.
2
El sis ema cie a la sesión y mues a la pan alla de inicio de
sesión.
Pos condición
Éxi o: El sis ema cie a la sesión y se mues a la pan alla de inicio de
sesión.
Fallo: Se mues a un mensaje de e o y apa ece de nue o el o mula io
de inicio de sesión.
Excepciones
Paso
Acción
2.a
No se ha podido ce a la sesión. Se mues a un mensaje de
e o .
Ac o es
Usua io o Adminis ado .
Tabla 3. Ce a Sesión.
37
Requisi o
Edi a pe il
Iden i icado
A3
P io idad
Media
P econdición
El usua io debe es a egis ado y debe habe iniciado sesión.
Desc ipción
Se edi a la in o mación de u pe il.
En ada
Da os del pe il a modi ica .
Salida
NA
Secuencia
no mal
Paso
Acción
1
Accede a edi a pe il a a és del desplegable.
2
Apa ece un o mula io con los da os del usua io.
3
Edi a la in o mación necesa ia.
4
Pulsa el bo ón “Gua da ”.
5
Se alidan los da os in oducidos.
Pos condición
Éxi o: Los da os del pe il quedan ac ualizados. Se uel e a la pan alla
de inicio.
Fallo: Mues a mensaje de e o . Vuel e al o mula io de edi a usua io.
Excepciones
Paso
Acción
5.a
El sis ema no alida los da os in oducidos. Mues a mensaje de
e o y uel e al paso 3.
Ac o es
Usua io o Adminis ado .
Tabla 4. Edi a pe il.
38
3.2.1 Ges ión del adminis ado
Requisi o
Añadi usua io
Iden i icado
B3
P io idad
Al a
P econdición
Un usua io con ol de adminis ado debe habe iniciado sesión.
Desc ipción
Se egis a un nue o sani a io como usua io.
En ada
Da os del usua io a in oduci .
Salida
NA
Secuencia
no mal
Paso
Acción
1
Pulsa en el bo ón “+”.
2
Apa ece una pan alla pa a in oduci los da os del usua io.
3
Rellena los da os.
4
Pulsa el bo ón “C ea ”.
5
Se alidan los da os in oducidos.
6
Se añade el usua io al sis ema.
Pos condición
Éxi o: El usua io queda egis ado.
Fallo: Apa ece un mensaje de e o y uel e al o mula io de c ea
usua io.
Excepciones
Paso
Acción
5.a
El sis ema no alida los da os in oducidos. Mues a mensaje
de e o y uel e al paso 2.
Ac o es
Adminis ado .
Tabla 5. Añadi usua io.
39
Requisi o
Edi a usua io
Iden i icado
B4
P io idad
Media
P econdición
El usua io debe es a egis ado y un usua io con ol de adminis ado
debe habe iniciado sesión.
Desc ipción
Se edi a la in o mación de un usua io.
En ada
Da os del usua io a modi ica .
Salida
NA
Secuencia
no mal
Paso
Acción
1
Accede a la lis a de usua ios o encuen a el usua io
buscándolo.
2
Pulsa el bo ón de edi a .
3
Apa ece un o mula io con los da os del usua io.
4
Edi a la in o mación necesa ia.
5
Pulsa el bo ón “Gua da ”.
6
Se alidan los da os in oducidos.
Pos condición
Éxi o: Los da os del usua io quedan ac ualizados. Se uel e a la
pan alla de usua ios.
Fallo: Mues a mensaje de e o . Vuel e al o mula io de edi a usua io.
Excepciones
Paso
Acción
5.a
El sis ema no alida los da os in oducidos. Mues a mensaje de
e o y uel e al paso 3.
Ac o es
Adminis ado .
Tabla 6. Edi a usua io.
40
Requisi o
Elimina usua io
Iden i icado
B5
P io idad
Media
P econdición
El usua io debe es a egis ado y un usua io con ol de adminis ado
debe habe iniciado sesión.
Desc ipción
Se elimina la cuen a de un usua io.
En ada
NA
Salida
Mensaje: “Eliminado!”.
Secuencia
no mal
Paso
Acción
1
Accede a la lis a de usua ios o encuen a el usua io
buscándolo.
2
Pulsa el bo ón “Elimina ”.
3
El usua io queda eliminado de la base de da os.
Pos condición
Éxi o: El usua io queda eliminado. Apa ece un mensaje in o mando.
Fallo: El usua io no se ha eliminado. Mues a mensaje de e o .
Excepciones
Paso
Acción
3.a
Hay un e o y el usua io no se elimina. Mues a mensaje de
e o .
Ac o es
Adminis ado .
Tabla 7. Elimina usua io.
41
Requisi o
Elimina pacien e
Iden i icado
C4
P io idad
Media
P econdición
Un usua io ha iniciado sesión. El pacien e a elimina debe exis i en la
base de da os.
Desc ipción
Se elimina el his o ial de un pacien e.
En ada
NA
Salida
Mensaje: “Eliminado!”.
Secuencia
no mal
Paso
Acción
1
Accede a la lis a de pacien es o encuen a el pacien e
buscándolo.
2
Pulsa el bo ón “Elimina ”.
3
El his o ial del pacien e queda eliminado de la base de da os.
Pos condición
Éxi o: El his o ial del pacien e queda eliminado. Se uel e a la pan alla
de pacien es.
Fallo: El his o ial del pacien e no se ha eliminado. Mues a mensaje de
e o .
Excepciones
Paso
Acción
3.a
Hay un e o y el his o ial del pacien e no se elimina. Mues a
mensaje de e o .
Ac o es
Usua io o Adminis ado .
Tabla 14. Elimina pacien e.
48
Requisi o
Busca pacien e
Iden i icado
C5
P io idad
Media
P econdición
Un usua io ha iniciado sesión. El pacien e debe exis i en la base de
da os.
Desc ipción
Se busca a un pacien e a a és de un ex o o núme o a busca .
En ada
Tex o o núme o a busca .
Salida
Lis a de pacien es que coincidan con la búsqueda.
Secuencia
no mal
Paso
Acción
1
Pulsa en el campo de en ada.
2
In oduce el ex o o núme o a busca del pacien e que desea
busca .
3
Apa ece una lis a con odos los pacien es que coincidan con
la búsqueda.
Pos condición
Éxi o: Apa ece una lis a con odos los pacien es que coincidan con la
búsqueda.
Fallo: Mues a un mensaje de e o .
Excepciones
Paso
Acción
2.a
Hay un e o en el sis ema. Se mues a un mensaje de e o y
uel e a la pan alla en la que se encon aba p e iamen e.
3.a
Si no hay pacien es que coincidan con la búsqueda
apa ece á un mensaje donde se in o me.
Ac o es
Usua io o Adminis ado .
Tabla 15. Busca pacien e.
49
Requisi o
Ve his o ial médico del pacien e
Iden i icado
C6
P io idad
Al a
P econdición
Un usua io ha iniciado sesión. El pacien e debe exis i en la base de
da os.
Desc ipción
Se mues a la in o mación del his o ial médico del pacien e
seleccionado.
En ada
NA
Salida
Da os del his o ial del pacien e.
Secuencia
no mal
Paso
Acción
1
Pulsa en el NHIS co espondien e al pacien e.
2
Se mues a la in o mación del his o ial médico del pacien e.
Pos condición
Éxi o: Se mues a la in o mación del his o ial médico del pacien e
Fallo: Apa ece un mensaje de e o .
Excepciones
Paso
Acción
2.a
Hay un e o en el sis ema. Se mues a un mensaje de e o y
uel e a la pan alla en la que se encon aba p e iamen e.
Ac o es
Usua io o Adminis ado .
Tabla 16. Ve his o ial de un pacien e.
50
Requisi o
Ve lis a de pacien es
Iden i icado
C7
P io idad
Al a
P econdición
Un usua io ha iniciado sesión.
Desc ipción
Apa ece una lis a con odos los pacien es egis ados en el sis ema.
En ada
NA
Salida
Lis a de pacien es.
Secuencia
no mal
Paso
Acción
1
Pulsa en el bo ón “Pacien es”.
2
Se accede a la base de da os y se mues a una lis a con odos
los pacien es.
Pos condición
Éxi o: Se mues a una lis a con odos los pacien es.
Fallo: Apa ece un mensaje de e o .
Excepciones
Paso
Acción
2.a
Hay un e o en el sis ema. Se mues a un mensaje de e o y
uel e a la pan alla en la que se encon aba p e iamen e.
2.b
Si no hay pacien es apa ece á un mensaje donde se in o me.
Ac o es
Usua io o Adminis ado .
Tabla 17. Ve lis a de pacien es.
51
Requisi o
Expo a pacien es
Iden i icado
C8
P io idad
Media
P econdición
El usua io debe es a egis ado.
Desc ipción
Se expo a la lis a de pacien es.
En ada
NA
Salida
A chi o con la lis a de pacien es.
Secuencia
no mal
Paso
Acción
1
Pulsa el bo ón de expo a .
2
Se expo an los da os de los pacien es.
Pos condición
Éxi o: Se expo an los pacien es.
Fallo: Mues a un mensaje de e o .
Excepciones
Paso
Acción
2.a
Se p oduce un e o al expo a . Mues a un mensaje de e o .
Ac o es
Usua io o Adminis ado .
Tabla 18. Expo a pacien es.
52
3.2.1 Ges ión de consul as
Requisi o
Ejecu a consul a sob e la base de pacien es
Iden i icado
D1
P io idad
Al a
P econdición
El usua io debe habe iniciado sesión en el sis ema.
Desc ipción
Se ealiza una consul a escogiendo una se ie de a iables a il a .
En ada
Va iables escogidas.
Salida
Lis a de pacien es que cumplan con el il o aplicado.
Secuencia
no mal
Paso
Acción
1
Pulsa en el bo ón “Consul as”.
2
Selecciona las a iables que se quie an consul a .
3
Pulsa el bo ón “Busca ”.
4
Se mues an los da os ob enidos.
Pos condición
Éxi o: Se mues a la lis a de pacien es que cumplen las a iables de la
consul a.
Fallo: Se mues a un mensaje de e o .
Excepciones
Paso
Acción
4.a
Si ningún pacien e cumple con la consul a apa ece un
mensaje donde se in o ma.
Ac o es
Usua io o Adminis ado .
Tabla 19. Ejecu a consul a sob e la base de pacien es.
53
Requisi o
Expo a esul ados de consul a
Iden i icado
D2
P io idad
Media
P econdición
Un usua io ha iniciado sesión y se ha c eado una consul a.
Desc ipción
La consul a ealizada jun o a su esul ado se expo a en o ma o .xls
(excel)
En ada
NA
Salida
A chi o con la consul a.
Secuencia
no mal
Paso
Acción
1
Pulsa el bo ón de expo a .
2
Se expo an los da os de la consul a en o ma o .xlsx
Pos condición
Éxi o: Se expo an los da os de la consul a.
Fallo: No se expo a. Se mues a un mensaje de e o .
Excepciones
Paso
Acción
2.a
Se p oduce un e o al expo a . Mues a un mensaje de e o .
Ac o es
Usua io o Adminis ado .
Tabla 20. Expo a esul ados de consul a.
54
3.2.1 Ges ión de p edicciones
Requisi o
Ob ene p edicción sob e un pacien e
Iden i icado
E1
P io idad
Al a
P econdición
Un usua io debe habe iniciado sesión.
Desc ipción
Se ob iene la p edicción de un pacien e.
En ada
His o ial médico del pacien e.
Salida
P edicción.
Secuencia
no mal
Paso
Acción
1
Pulsa en el bo ón “P edicción”.
2
In oduce manualmen e el NHIS de un pacien e exis en e.
3
Pulsa el bo ón “P edeci ”.
4
Se mues a la p edicción.
Pos condición
Éxi o: Se mues a la p edicción.
Fallo: No se mues a la p edicción. Apa ece un mensaje de e o .
Excepciones
Paso
Acción
2.a
No exis e ese NHIS. Mues a mensaje de e o .
3.a
No se han en enado los modelos. Mues a mensaje de e o .
3.b
No se puede ealiza la p edicción. Mues a mensaje de e o .
Ac o es
Usua io o Adminis ado .
Tabla 21. Ob ene p edicción sob e un pacien e.
55
Requisi o
En ena modelos de p edicción
Iden i icado
E2
P io idad
Al a
P econdición
Un usua io debe habe iniciado sesión.
Desc ipción
Se en enan odos los modelos disponibles.
En ada
NA.
Salida
En enamien o de los modelos.
Secuencia
no mal
Paso
Acción
1
Pulsa en el bo ón “En ena ”.
2
Se mues a la pun uación de cada modelo.
Pos condición
Éxi o: Se mues a la pun uación de los modelos.
Fallo: Apa ece un mensaje de e o .
Excepciones
Paso
Acción
2.a
Se p oduce un e o y no se ealiza el en enamien o.
Ac o es
Usua io o Adminis ado .
Tabla 22. En ena modelos de p edicción.
56
Requisi o
Añadi p edicción al da ase
Iden i icado
E3
P io idad
Al a
P econdición
Un usua io debe habe iniciado sesión.
Desc ipción
Se añade una p edicción al conjun o de da os del da ase .
En ada
Da os de la p edicción a modi ica
Salida
NA
Secuencia
no mal
Paso
Acción
1
Pulsa en el bo ón “Sí” o “No” según si la p edicción es co ec a
o no.
2
Se in oducen los da os de la p edicción co ec a en caso de
habe se p opo cionado una inco ec a.
3
Se añade la p edicción al da ase
Pos condición
Éxi o: Se añade la p edicción al da ase .
Fallo: Apa ece un mensaje de e o .
Excepciones
Paso
Acción
2.a
Ya exis e una p edicción con ese NHIS y se mues a un mensaje
de e o .
Ac o es
Usua io o Adminis ado .
Tabla 23. Añadi p edicción al da ase .
57
A ibu o
Fo ma o
Desc ipción
dni
a cha (9)
DNI del usua io. Cla e
o ánea única
nomb e
a cha (20)
Nomb e
apellidos
a cha (25)
Apellidos
passwo d
a cha (170)
Con aseña de la cuen a
de usua io
ol
enum(‘Usua io’,’Adminis ado ’)
Rol del usua io
email
a cha (30)
Email de la cuen a pa a
inicia sesión. Cla e
o ánea única
o o
a cha (150)
Fo o de pe il del usua io
pues o
enum(‘En e me o’,’Medico’)
Pues o del usua io
Tabla 27. Tabla usua ios en la base de da os.
6.2 Tabla pacien es
Debido a que la aplicación es á o ien ada al seguimien o de los pacien es, es
necesa io que el usua io pueda accede a los his o iales médicos. Pa a ello se c eó
una abla que almacena a las a iables clínicas de cada pacien e, u ilizadas pa a
lle a un seguimien o, ealiza consul as y ealiza una p edicción de e olución.
Se puede añadi un nue o pacien e de a ias o mas. Del mismo modo que un
usua io, se puede añadi a a és de un o mula io de o ma manual. Si se desea añadi
a ios pacien es, se puede ejecu a impo ando un Excel donde se alojen odos ellos.
La plan illa de Excel puede se desca gada en la web. También es posible edi a y
elimina los pacien es.
La abla es á con o mada po las siguien es a iables:
64
A ibu o
Fo ma o
Desc ipción
nhis
in (11)
Nº his o ia clínica. Cla e
p ima ia única
echaci
da e
Fecha p ime diagnós ico
clínico (p uebas de
imagen) y pa ológico
(RTU)
edad
in (11)
Edad
sexo
enum(‘Va on’,’Muje ’)
Sexo
obesidad
enum('NC', 'IMC meno 25', 'IMC 25-30',
'IMC mayo 30’)
Obesidad
h a
enum('Sí','No','NC')
HTA
dm
enum('Sí','No','NC')
Diabe es Melli us
abaco
enum('NC','No','Ex umado ','menos 10
ciga illos/día','10-20 ciga illos/día','mas
20 ciga illos/día')
Tabaco
he eda
enum('Sí','No')
An eceden es amilia es
expop o esional
enum('Sí','No')
Exposición p o esional
pandemia
enum('Sí', 'No')
Pandemia
clinica
enum('Asin omá ico','Hema u ia','Sínd o
me miccional')
Clínica
ci ologias
enum('Nega i a','Sospechosa','A ipias','P
osi i a','Ca cinoma u o elial')
Ci ologías
num umo es
enum('1','2','3','4','5','+5')
Núme o de umo es
am umo al
enum('menos 2 cm','2-5 cm','mas 5 cm')
Tamaño umo al
aspec o umo al
enum('Papila ','Mix o','Sólido')
Aspec o umo al
es adio
enum('Ta','T1','T2','T3','T4')
Es adio umo al clínico
65
ca cinomainsi u
enum('Sí','No')
Asociación a ca cinoma
“in si u”
g ado
enum('G1','G2','G3')
G ado umo al
pe meacion
enum('Sí','No')
Pe meación ascula
ca cinomau o
enum('Sí','No')
Ca cinoma u o elial
o masapi icas
enum('Sí','No')
Fo mas his ológicas
a ípicas
p ima io
enum('Sí','No')
P ima io
ecidi an e
enum('Sí','No')
Recidi an e
ins ilacion
enum('No','Sí, inmedia a MMC','Sí,
inmedia a y di e ida con MMC','Sí,
di e ida: BCG, MMC')
Ins ilación p e ia
ac
enum('No in il an e','Dudoso','In il an e')
Es udio ex ensión: TAC
u
enum('No','Sí, no in il an e','Sí, dudoso','Sí,
in il an e')
Re-RTU esical
Tabla 28. Tabla pacien es en la base de da os.
6.3 Tabla da ase
El da ase es á con o mado po egis os de pacien es y se u iliza pa a en ena
los modelos de p edicción. Los da os deben es a disponibles pa a ealiza el
en enamien o en cualquie momen o, po lo que es necesa io almacena los en una
base de da os.
Ac ualmen e el da ase es á o mado po los da os de 75 pacien es. Sin
emba go, se puede amplia impo ando un Excel o mado po los pacien es que se
quie an inclui y su p edicción, cuya plan illa se encuen a disponible en la web.
También es posible añadi un nue o pacien e al da ase a pa i de la p edicción
66
ealizada po el sis ema. La abla es á o mada po las mismas a iables que la abla
de pacien es añadiendo los campos co espondien es a la p edicción. Es la siguien e:
A ibu o
Fo ma o
Desc ipción
nhis
in (11)
Nº his o ia clínica. Cla e
p ima ia única
echaci
da e
Fecha p ime diagnós ico
clínico (p uebas de
imagen) y pa ológico
(RTU)
edad
in (11)
Edad
sexo
enum(‘Va on’,’Muje ’)
Sexo
obesidad
enum('NC', 'IMC meno 25', 'IMC 25-30',
'IMC mayo 30’)
Obesidad
h a
enum('Sí','No','NC')
HTA
dm
enum('Sí','No','NC')
Diabe es Melli us
abaco
enum('NC','No','Ex umado ','menos 10
ciga illos/día','10-20 ciga illos/día','mas
20 ciga illos/día')
Tabaco
he eda
enum('Sí','No')
An eceden es amilia es
expop o esional
enum('Sí','No')
Exposición p o esional
pandemia
enum('Sí', 'No')
Pandemia
clinica
enum('Asin omá ico','Hema u ia','Sínd o
me miccional')
Clínica
ci ologias
enum('Nega i a','Sospechosa','A ipias','
Posi i a','Ca cinoma u o elial')
Ci ologías
num umo es
enum('1','2','3','4','5','+5')
Núme o de umo es
am umo al
enum('menos 2 cm','2-5 cm','mas 5 cm')
Tamaño umo al
67
aspec o umo al
enum('Papila ','Mix o','Sólido')
Aspec o umo al
es adio
enum('Ta','T1','T2','T3','T4')
Es adio umo al clínico
ca cinomainsi u
enum('Sí','No')
Asociación a ca cinoma
“in si u”
g ado
enum('G1','G2','G3')
G ado umo al
pe meacion
enum('Sí','No')
Pe meación ascula
ca cinomau o
enum('Sí','No')
Ca cinoma u o elial
o masapi icas
enum('Sí','No')
Fo mas his ológicas
a ípicas
p ima io
enum('Sí','No')
P ima io
ecidi an e
enum('Sí','No')
Recidi an e
ins ilacion
enum('No','Sí, inmedia a MMC','Sí,
inmedia a y di e ida con MMC','Sí,
di e ida: BCG, MMC')
Ins ilación p e ia
ac
enum('No
in il an e','Dudoso','In il an e')
Es udio ex ensión: TAC
u
enum('No','Sí, no in il an e','Sí,
dudoso','Sí, in il an e')
Re-RTU esical
ecidi a
enum('Meno es ca ac e ís icas',
'Mayo es ca ac e ís icas', 'Iguales
ca ac e ís icas', 'No')
Recidi a
p og esi a
enum('T', 'N', 'M', 'No')
P og esi a
exi us
enum('Sí', 'No')
Éxi us
num ecidi as
enum('1','2','3','4','5','+5','0')
Nume o de ecidi as
e oldes a o able
enum('Sí', 'No')
E olución des a o able
Tabla 29. Tabla da ase en la base de da os.
68
Capí ulo 7 - Diseño
La aplicación web es á o ien ada a se usada po pe sonal médico, po lo que
su diseño gi ó en o no a es e aspec o.
La pale a de colo es gi a en o no a e de, azul y blanco, onos ca ac e ís icos
de un hospi al que ansmi en la sensación de pe enece al mundo sani a io. El e de
e oca espe anza y i alidad, el azul ansmi e calma y con ianza, y el blanco
ep esen a higiene y limpieza. Es a combinación c ea un ambien e acogedo y
econ o an e, mien as e ue za la iden idad y p o esionalidad del pe sonal médico.
Ve de: #5FB8B9
Azul: #125872
Blanco: #FFFFFF
El diseño de la aplicación se basó en comp ende que los usua ios pod ían ene
poca expe iencia en in o má ica. Pa a ello, se abajó en diseña una in e az que
ue a ácil de en ende y u iliza . Se e i ó la inclusión de elemen os complejos o
con usos, y se p io izó la simplicidad y la cla idad en la disposición de los elemen os de
la in e az.
La in o mación de los pacien es se mues a en ablas, de o ma que los da os
son muy isuales y áciles de en ende . A la ho a de inse a o modi ica un pacien e,
los dis in os alo es de cada a iable es án p ede inidos, lo que simpli ica la a ea del
usua io y e i a e o es.
Se op ó po hace un menú la e al que es u ie a p esen e en odo momen o
pa a acili a la na egación. Es o pe mi e a los usua ios accede ápidamen e a las
69
di e en es secciones de la aplicación sin impo a en qué pa e se encuen en, lo que
simpli ica en g an medida la expe iencia de usua io.
También se c ea on bo ones des acados en la página de inicio. Es os bo ones
p opo cionan un acceso di ec o a las uncionalidades p incipales de la aplicación, lo
que pe mi e a los usua ios inicia ápidamen e las acciones más ele an es.
En cuan o a la e oalimen ación de e o es, se implemen ó un sis ema de
no i icación que in o maba a los usua ios sob e cualquie allo que pudie an encon a
du an e su in e acción con la aplicación. Es os mensajes de e o se mues an de
mane a isible y cla a, p opo cionando de alles sob e el e o especí ico y suge encias
pa a co egi lo. De es a mane a, los usua ios ienen la opo unidad de comp ende
ápidamen e qué salió mal y cómo soluciona lo, sin ene que adi ina o busca ayuda
adicional.
70
Capí ulo 8 - Implemen ación
En el p esen e capí ulo se desc ibe la implemen ación del p oyec o, o ganizado
po las dis in as uncionalidades de la aplicación.
8. 1 Módulo usua ios
8.1.1 Login
Un usua io egis ado p e iamen e puede inicia sesión pa a así accede a la
aplicación y dis u a de odas las uncionalidades y ca ac e ís icas disponibles.
Cuando se inicia sesión como se mues a en la igu a 5, la API de uel e un JSON Web
Token [17] que se en ia á en cada pe ición pa a asegu a que el usua io es á
egis ado y dispone de p i ilegios su icien es pa a ealiza dicha acción. Es e oken
expi a en 120 minu os.
Figu a 5. Inicio de sesión en P ogBladde .
71
En el caso de in oduci un email o con aseña inco ec a la aplicación
mos a á, al igual que en la igu a 6, un mensaje de e o indicando que no ha podido
inicia sesión po un usua io o con aseña inco ec os.
Figu a 6. Inicio de sesión con usua io o c edenciales inco ec as.
72
En las igu as 7 y 8 se mues a la implemen ación de la uncionalidad de login.
Figu a 7. Implemen ación de inicio de sesión en PHP.
Figu a 8. Implemen ación de inicio de sesión en la API.
Tal y como se ha desc i o an e io men e, se comp ueba que el hash
almacenado en la base de da os co esponde con la con aseña hasheada. Si
73
En la página Añadi usua io, es necesa io ellena los da os del usua io a añadi ,
como en la igu a 18. Es os son su DNI, Nomb e, Apellidos, Con aseña, Rol, Email y
Pues o. Los da os an e io es son obliga o ios, mien as que la imagen de pe il es
opcional. En caso de no in oduci ninguna se c ea á el usua io con una imagen po
de ec o.
Figu a 18. Fo mula io de añadi usua io.
Pa a pode añadi un nue o usua io, es necesa io que se cumplan una se ie de
es icciones. En caso con a io no se pod á en ia el o mula io y se mos a á el e o
co espondien e.
Algunas de es as es icciones son DNI co ec o, nomb e y apellidos mayo es a
dos ca ac e es y sin ca ac e es especiales, email con o ma o de co eo elec ónico,
80
con aseña de al menos ocho ca ac e es, las con aseñas deben coincidi y el a chi o
subido debe se una imagen. En la igu a 19 se obse a cómo se mues an los e o es.
Figu a 19. Fo mula io de añadi usua io con e o es.
Una ez ellenados los da os necesa ios, al pulsa en el bo ón “Gua da ” si uado
al inal del o mula io, se ealiza á una pe ición POST a la API en /usua ios y si los da os
son co ec os, el usua io se á añadido a la base de da os y se edi igi á a la página de
p incipal de usua ios.
En cuan o a la implemen ación, como se mues a en la igu a 20, en p ime
luga se comp ueba si se ha subido una imagen. En caso a i ma i o, se comp ueba el
ipo de iche o subido, si es una imagen se gua da. En el caso de no inse a imagen, se
es ablece a la imagen po de ec o. En segundo luga se ealiza una segunda
e i icación de los da os in oducidos y en caso de se co ec os se añade a la base de
da os.
81
Figu a 20. Implemen ación añadi usua io.
8.1.5 Edi a usua io
Pa a edi a un usua io es necesa io accede a a és del bo ón e de de la
columna “Acciones” en la sección de usua ios. Pa a pode ealiza es a acción es
necesa io dispone de p i ilegios de adminis ado . Se obse a en la igu a 21.
Figu a 21. Vis a usua ios (Edi a Usua io).
82
En la página Edi a pe il, como apa ece en la igu a 22, se pe mi e cambia su
imagen de pe il, nomb e, apellidos, email, la con aseña, ol y pues o.
Figu a 22. Edi a usua io.
Pa a pode edi a un usua io es necesa io que se cumplan una se ie de
es icciones. En caso con a io, no se pod á en ia el o mula io y se mos a á el e o
co espondien e.
Algunas de es as es icciones son nomb e y apellidos mayo es a dos ca ac e es
sin ca ac e es especiales, email con o ma o de co eo elec ónico, con aseña de al
menos ocho ca ac e es, las con aseñas deben coincidi y el a chi o subido debe se
una imagen.
83
En la igu a 23 se mues a el o mula io con e o es.
Figu a 23. Edi a usua io con e o es.
Una ez ellenados los da os necesa ios, al pulsa en el bo ón “Gua da ” si uado
al inal del o mula io, se ealiza á una pe ición PUT a la API en /usua io y si los da os son
co ec os, el usua io se á ac ualizado en la base de da os y se edi igi á a la página de
p incipal de usua ios.
En cuan o a la implemen ación, como emos en la igu a 24, en p ime luga se
comp ueba si se ha subido una imagen. En caso a i ma i o se comp ueba el ipo de
iche o subido, si es una imagen se gua da. En el caso de no inse a imagen, se
es ablece a la imagen po de ec o. En segundo luga se ealiza una segunda
e i icación de los da os in oducidos y en caso de se co ec os se ac ualiza el pe il en
la base de da os.
84
Figu a 24. Implemen ación de Edi a usua io.
8.1.6 Elimina usua io
Pa a elimina un usua io es necesa io accede a a és del bo ón ojo de la
columna “Acciones” en la sección de usua ios, como se mues a en la igu a 25. Pa a
pode ealiza es a acción es necesa io dispone de p i ilegios de adminis ado .
Figu a 25. Vis a usua ios (Elimina Usua io).
85
T as pulsa el bo ón de elimina usua io se ab e una en ana eme gen e que nos
p egun a si es amos segu os de si que emos elimina ese usua io, como se puede
obse a en la igu a 26 .
Figu a 26. PopUp Elimina usua io.
Al pulsa en el bo ón “Elimina ”, se ealiza á una pe ición DELETE a la API en
/usua io en la que el usua io se á eliminado de la base de da os, se mos a á un
pop-up con el mensaje “Eliminado!”, como en la igu a 27, y se edi igi á a la página
de usua ios.
Figu a 27. PopUp usua io eliminado.
86
En cuan o a la implemen ación, que obse amos en las igu as 28 y 29, en
p ime luga se mues a el código en jQue y en el que se usa la biblio eca Swee Ale
[18] pa a c eación de pop-ups. Se mues a el p ime pop-up, si se pulsa en “Elimina ” se
ealiza la pe ición GET a p ocesa Elimina Usua io.php con el pa áme o dni, dicho sc ip
es el que ealiza la pe ición a la API, as es o el usua io se elimina y se mues a el
mensaje de “Eliminado!” y se edi ige a la página p incipal de usua ios.
Figu a 28. Implemen ación Elimina usua io(jQue y).
87
Figu a 29. Implemen ación Elimina usua io(API).
8.1.7 Ve lis a de usua ios
Pa a e la lis a de usua ios es necesa io accede a la sección de usua ios como
se mues a en la igu a 30. Pa a pode ealiza es a acción es necesa io dispone de
p i ilegios de adminis ado .
Figu a 30. Vis a de usua ios.
En la página Usua ios se pe mi e al usua io adminis ado e la in o macion de
odos los usua ios (imagen de pe il, nomb e, apellidos, email, ol y pues o) a excepción
de la con aseña po mo i os de p i acidad.
Es a página pe mi e o dena po o den al abé ico el DNI, Nomb e, Apellidos,
Email y pues o, además de ajus a la can idad de usua ios a mos a po página.
88
También iene la posibilidad de elegi una is a en a je as pulsando en el bo ón
supe io de echo como se puede e en la igu a 31.
Figu a 31. Vis a de usua ios en a je as.
En cuan o a la implemen ación, al y como se mues a el código en jQue y en la
igu a 32, se usa la biblio eca Da aTables pa a c eación de ablas dinámicas. Es e
código incluye la uncionalidad de cambia la abla en a je as.
Cada ez que se accede a la página usua ios se ealiza á una pe ición GET a la
API en /usua ios cuya implemen ación se obse a en la igu a 33.
89
Se acili a la impo ación de nue os pacien es a a és de una plan illa de Excel,
la cual se puede desca ga en la aplicación. Cuando la plan illa se haya ellenado, se
debe á da al bo ón “Selecciona a chi o” y ac o seguido al bo ón “Impo a ”.
Pa a que la impo ación se ealice de o ma sa is ac o ia, se deben comple a
odos los campos del Excel. En caso de que haya algún da o inco ec o, acío o el
a chi o impo ado sea e óneo, sal a á el e o co espondien e como se mues a en
las igu as 43, 44 y 45.
Figu a 43. Impo a pacien es con e o de o ma o.
Figu a 44. Impo a pacien es con e o de columnas.
96
Figu a 45. Impo a pacien es con e o de da os.
La plan illa en Excel es á alojada en el se ido de Py hon y es la siguien e:
Plan illa impo a pacien es
Al pulsa el bo ón “Impo a ” se en ía el o mula io al sc ip auxilia
“impo a Pacien es.php” como se obse a en la igu a 46, el cual hace una pe ición
POST a la API pa a impo a los nue os egis os.
Figu a 46. Implemen ación de impo a pacien es.
En la API se c ea un da a ame leyendo los da os del Excel impo ado, como se
puede obse a en la igu a 47. A con inuación, se ealiza una alidación de los da os
pa a asegu a que son co ec os, cuya implemen ación se mues a en la igu a 48. Se
97
comp ueba la exis encia de odas las columnas exigidas y se alidan los da os de
cada a iable a a és de su unción co espondien e alojada en api/ alida .py.
Figu a 47. Implemen ación de impo a pacien es.
Figu a 48. Implemen ación de impo a pacien es.
Una ez que los da os han sido alidados, se hacen las ans o maciones
necesa ias pa a inclui los en la base de da os. Si ya exis e un pacien e en la base de
da os con el mismo núme o de his o ial, se ealiza una consul a UPDATE pa a ac ualiza
98
los alo es, y si es un nue o núme o de his o ial, se ealiza un INSERT pa a c ea un
nue o egis o. Pa a es a uncionalidad se ha usado Pang es [19].
8.2.3 Edi a pacien e
Pa a edi a un pacien e es necesa io accede a a és del bo ón e de de la
columna “Acciones” en la sección de pacien es como se mues a en la igu a 49.
Figu a 49. Vis a pacien es (Edi a pacien e).
En la página Edi a pacien e se pe mi e al usua io cambia odos los da os del
pacien e, al y como se obse a en la igu a 50.
Figu a 50. Edi a pacien e.
99
Pa a pode edi a un pacien e es necesa io que se cumplan una se ie de
es icciones. En caso con a io, no se pod á en ia el o mula io y se mos a á el e o
co espondien e. En la igu a 51 se mues a el o mula io con e o es.
Figu a 51. Edi a pacien e con e o es.
Una ez ellenados los da os necesa ios, al pulsa en el bo ón “Gua da ” si uado
al inal del o mula io, se ealiza á una pe ición PUT a la API en /pacien e y si los da os
son co ec os, el pacien e se á ac ualizado en la base de da os y se edi igi á a la
página de p incipal de pacien es.
En cuan o a la implemen ación, que se puede obse a en la igu a 52, en
p ime luga se comp ueba si los da os in oducidos son co ec os o si exis e un
pacien e con ese núme o de his o ial. En caso de se inco ec os se de uel e el e o
co espondien e y en caso de se co ec os se ac ualiza de la base de da os.
Figu a 52. Implemen ación de Edi a pacien e.
100
8.2.4 Elimina pacien e
Pa a elimina un pacien e es necesa io accede a a és del bo ón ojo de la
columna “Acciones” en la sección de pacien es, como se mues a en la igu a 53.
Figu a 53. Vis a pacien es (Elimina pacien e).
T as pulsa el bo ón de elimina pacien e, se ab e una en ana eme gen e que
nos p egun a si es amos segu os de si que emos elimina ese pacien e, como se puede
obse a en la igu a 54 .
Figu a 54. PopUp Elimina pacien e.
101
Al pulsa en el bo ón “Elimina ” se ealiza á una pe ición DELETE a la API en
/pacien e en la que el pacien e se á eliminado de la base de da os, se mos a á un
pop-up con el mensaje “Eliminado!” como se mues a en la igu a 55, y inalmen e se
edi igi á a la página de pacien es.
Figu a 55. PopUp pacien e eliminado.
En cuan o a la implemen ación obse ada en la igu a 56, en p ime luga se
mues a el código en jQue y en el que se usa la biblio eca Swee Ale pa a c eación
de pop-ups. Se mues a el p ime pop-up, si se pulsa en “Elimina ” se ealiza la pe ición
GET a p ocesa Elimina Pacien e.php con el pa áme o nhis. Dicho sc ip es el que
ealiza la pe ición a la API, cuya implemen ación se mues a en la igu a 57. T as es o, el
pacien e se elimina, se mues a el mensaje de “Eliminado!” y se edi ige a la página
p incipal de pacien es.
102
Figu a 56. Implemen ación Elimina pacien e(jQue y).
Figu a 57. Implemen ación Elimina pacien e(API).
103
8.2.5 Ve lis a de pacien es
Pa a e la lis a de pacien es es necesa io accede a la página de pacien es
como se mues a en la igu a 58.
Figu a 58. Vis a de pacien es.
En la página Pacien es se pe mi e al usua io e la in o macion de odos los
pacien es.
Es a página pe mi e o dena po o den al abé ico cada una de las a iables de
los pacien es, además de ajus a la can idad de usua ios a mos a po página.
En cuan o a la implemen ación se mues a el código en jQue y en la igu a 59,
en el que se usa la biblio eca Da aTables pa a c eación de ablas dinámicas.
Cada ez que se accede a la página pacien es se ealiza á una pe ición GET a
la API en /pacien es cuya implemen ación se mues a en la igu a 60.
104
Figu a 59. Implemen ación de e pacien es.
105
Figu a 68. Realiza consul a.
Pa a implemen a el o mula io de la consul a, se ha u ilizado boo s ap pa a
c ea los desplegables y los inpu de cada a iable. Obse amos una pa e en la igu a
69.
Figu a 69. F agmen o de código - Fo mula io consul as.
112
El o mula io es en iado a consul as.php. En es e sc ip se ecogen las a iables
seleccionadas y se llama a la unción “p ocesa ” de consul as.php.
En es a úl ima unción se hace una pe ición POST a la API pa a ob ene los da os
de los pacien es eque idos en o ma o JSON, como se mues a en la igu a 70.
Figu a 70. F agmen o de código - Pe ición consul a a la API.
En la API se c ea una que y a pa i de las a iables escogidas, y se ealiza la
pe ición a la base de da os. La unción de uel e el esul ado en o ma o JSON.
8.3.2 Visualiza consul a
A con inuación, as pulsa el bo ón “Consul a ” apa ece á una abla como en
la igu a 71 con la espues a de la consul a, es deci , odos los pacien es que cumplen
con los equisi os exigidos. El usua io pod á elegi qué campos desea que apa ezcan
en la abla, seleccionando y deseleccionando las a iables que apa ecen encima de
la abla. También pod á hace una búsqueda den o de dicha abla, de o ma que se
mos a án las coincidencias en cualquie a de las a iables.
113
Figu a 71. Resul ado consul a.
Po de ec o apa ecen 10 pacien es en cada página de la abla. En la pa e
in e io , como se mues a en la igu a 72, el usua io pod á a anza y e ocede en las
páginas, además de elegi cuán os pacien es desea que se mues en en cada una.
Figu a 72. Visualización abla consul a.
114
Pa a implemen a la abla se ha u ilizado Da a ables. T as ecibi el esul ado de
la pe ición a la API, en la unción es e se p ocesa y se c ea la abla. A con inuación, se
añaden los campos y los alo es pa a cada pacien e, como en la igu a 73.
Figu a 73. F agmen o de código - Tabla consul as.
El il o si uado encima de la abla se ha ealizado en main.js, como la igu a 74.
Figu a 74. F agmen o de código - Fil o abla consul as.
115
8.3.3 Expo a esul ados de consul a
Una ez se ha ob enido el esul ado de la consul a, se puede expo a la abla
en o ma o Excel (.xlsx) pulsando el bo ón e de si uado en la pa e supe io , lo que se
mues a en la igu a 75.
Figu a 75. Bo ón expo a consul a.
Se ha implemen ado en main.js, como en la igu a 76.
Figu a 76. F agmen o de código - Expo a consul a.
116
8.4 Módulo p edicciones
El obje i o p incipal de es e módulo es, a pa i de las a iables médicas de un
pacien e, p edeci su p onós ico. El p onós ico es á o mado po cinco campos:
ecidi a, p og esi a, éxi us, núme o de ecidi as y e olución des a o able.
8.4.1 Modelos de p edicción
Pa a ealiza la p edicción, se han u ilizado cinco algo i mos dis in os: Random
Fo es , Reg esión Logís ica, K-Vecinos más Ce canos, Nai e Bayes y SVM.
La e icacia de cada modelo depende á del ipo de da o que p ediga y el
amaño y calidad del da ase . Po lo an o, es con enien e escoge el algo i mo que
o ezca una mayo p ecisión en cada momen o. A con inuación se explica á cada
algo i mo u ilizado.
8.4.1.1 Random Fo es
Random Fo es [32], cuyo esquema obse amos en la igu a 77, es un algo i mo
de ap endizaje au omá ico basado en la combinación de múl iples á boles de
decisión pa a ealiza clasi icación. Es un mé odo de ensamble, lo que signi ica que
cons uye un conjun o de modelos indi iduales y combina sus p edicciones pa a
ob ene al inal una p edicción más p ecisa.
117
Figu a 77. Algo i mo Random Fo es [27].
8.4.1.2 Reg esión Logís ica
La Reg esión Logís ica Mul inomial [33], mos ada en la igu a 78, u iliza un
en oque “uno con a el es o”, es deci , pa a cada ca ego ía se en ena un modelo
sepa ado que compa a esa con odas las demás. El algo i mo es ima los coe icien es
de cada a iable independien e pa a cada modelo.
Al ealiza p edicciones con es e modelo, se calculan las p obabilidades de
pe enece a cada una de las ca ego ías y luego se clasi ica la ins ancia en la
ca ego ía con p obabilidad más al a.
Figu a 78. Algo i mo Reg esión Logís ica [28].
118
8.4.1.3 K-Vecinos más Ce canos
[34] Su uncionamien o se basa en la idea de que las ins ancias simila es ienden
a ene alo es simila es. Dado un conjun o de da os de en enamien o con e ique as
conocidas, KNN clasi ica nue os pun os de da os según la ce canía de los ecinos más
ce canos. Se obse a de o ma más isual en la igu a 79.
Figu a 79. Algo i mo K-Vecinos [29].
8.4.1.4 Nai e Bayes
Es e algo i mo [35], mos ado en la igu a 80, se basa en el eo ema de Bayes y
asume que las ca ac e ís icas son independien es en e sí dadas las e ique as de clase.
Aunque es simplis a, el algo i mo es ápido y unciona bien pa a conjun os de da os
pequeños.
Figu a 80. Algo i mo Nai e Bayes [30].
119
8.4.1.5 SVM
SVM [36], o Máquinas de Vec o es de Sopo e, es un algo i mo de ap endizaje
au omá ico que en es e caso u ilizamos pa a clasi icación. Su obje i o es encon a un
hipe plano óp imo que sepa e los pun os de da os en di e en es clases de mane a más
e ec i a, maximizando el ma gen en e las clases. Lo emos en la igu a 81.
Figu a 81. Algo i mo SVM [31].
8.4.2 En enamien o de modelos
Pa a pode ealiza una p edicción, p ime o los modelos han de es a
en enados a pa i de los da os del da ase . En la página de p edicciones se puede
obse a la echa del úl imo en enamien o, que apa ece á como “Nunca ha sido
en enado” si no se han en enado p e iamen e.
A con inuación, apa ece cada algo i mo jun o a la pun uación de la p ecisión
ob enida al en ena cada a iable, donde 0 es la meno p ecisión y 1 exac i ud. Pa a
en ena los modelos, el usua io debe á pulsa el bo ón “En ena ” y au omá icamen e
se ac ualiza án los alo es. Lo emos en la igu a 82.
120
Figu a 82. En enamien o modelos de p edicción.
Al pulsa el bo ón “En ena ”, con jque y se hace una llamada al sc ip auxilia
en ena Auxilia .php, como se mues a en la igu a 83, enca gado de ejecu a una
pe ición a la API pa a en ena los modelos y ecoge sus p ecisiones, como en la igu a
84.
Figu a 83. F agmen o de código - Bo ón en ena .
121
Figu a 94. Página P edicciones - E o in oduci NHIS.
Figu a 95. Página P edicciones - E o in oduci NHIS álido.
128
Figu a 96. Página P edicciones - E o en ena an es de p edeci .
En cuan o a la implemen ación de la uncionalidad, al pulsa el bo ón
“P edeci ”, con jque y se comp ueban los alo es de las a iables que el usua io iene
que in oduci pa a ejecu a los e o es si es necesa io. Se e en la igu a 97.
Figu a 97. F agmen o de código - Bo ón p edeci .
129
Ac o seguido se hace una llamada al sc ip auxilia p edeci Auxilia .php,
mos ado en la igu a 98, el cual se enca ga de ealiza una pe ición a la API pa a
ejecu a la p edicción, como emos en la igu a 99.
Figu a 98. F agmen o de código - Llamada a p edeci Auxilia .php.
Figu a 99. F agmen o de código - Pe ición p edeci a la API.
En la unción “p edeci _d ” de la API, mos ada en la igu a 100, se ealiza una
consul a a la base de da os pa a ob ene un da a ame con odas las a iables del
pacien e con el núme o de his o ial in oducido. A con inuación se hace una llamada
a la unción “p edeci _nhis(d , modelo)” del sc ip en py hon dedicado a las
p edicciones.
130
Figu a 100. F agmen o de código - Función p edeci de la API.
En la úl ima unción mencionada, se debe ans o ma el da a ame pa a pode
se u ilizado. Pa a ello ealizamos un p ocedimien o simila al de la limpieza de da os de
en enamien o. Eliminamos las columnas “nhis” y “ echaci ”.
Después, usamos los codi icado es c eados en el en enamien o pa a con e i
los nue os da os a núme os, lo que se mues a en la igu a 101. Cabe des aca que los
a gumen os u ilizados en la c eación de los codi icado es es aban o ien ados a
asegu a el co ec o uncionamien o de las p edicciones. El a gumen o
"handle_unknown" indica cómo maneja las ca ego ías desconocidas que no se
encuen an en los da os de en enamien o. Si se es ablece en "use_encoded_ alue",
se asigna á un alo codi icado a las ca ego ías desconocidas. El a gumen o
"unknown_ alue" especi ica el alo que se u iliza á pa a ep esen a las ca ego ías
desconocidas. De es e modo, si se in oduce un alo en alguno de los campos que no
ha apa ecido en el en enamien o, se codi ica á con alo -1.
Figu a 101. F agmen o de código - Codi icado es.
131
El siguien e paso es ealiza la p edicción de cada a iable con el algo i mo
escogido. En el caso de elegi “Todos”, como mues a la igu a 102, se comp ueba
cuál es el modelo con mayo pun uación en cada caso, y se p edice cada a iable
u ilizando el idóneo. T as ob ene la p edicción, se ealiza una decodi icación pa a
ob ene da os legibles.
Figu a 102. F agmen o de código - P edeci con odos los modelos.
8.4.4 Expo a esul ados de la p edicción
T as ealiza una p edicción, se obse a un bo ón ojo con el logo de PDF, lo que
emos en la igu a 103. Pulsando en él, el usua io pod á expo a los da os del pacien e
jun o a la p edicción ealizada en o ma o pd .
132
Figu a 103. Expo a p edicción.
El o ma o del PDF es el siguien e:
Plan illa expo a PDF
Pa a ealiza la expo ación, desde jQue y se ealiza una llamada, como se
mues a en la igu a 104, al sc ip auxilia “expo a .php”, enca gado de hace una
pe ición a la API pa a ob ene los da os del pacien e del cual se ha ealizado la
p edicción, como emos en la igu a 105. En la API, según se obse a en las igu as 106
y 107, se ealiza una ans o mación de los da os pa a adap a los p o enien es de la
consul a a la base de da os y que sean más isuales en el PDF. Una ez ob enidos los
da os co espondien es, se ellenan los da os en una plan illa con ma cado es
median e DocxTempla e [20], y median e la API de Con e API [21] se expo a el .doc
a un .pd de uel o po JSON codi icado en Base64.
133
Figu a 104. F agmen o de código - Bo ón expo a p edicción.
Figu a 105. F agmen o de código - Pe ición expo a a la API.
Figu a 106. F agmen o de código - Función expo a de la API.
Figu a 107. F agmen o de código - Función expo a de la API 2.
134
8.4.5 Impo a da ase
El da ase ac ual es á o mado po 75 egis os. A pesa de que ealiza
co ec amen e las p edicciones, es ela i amen e pequeño pa a asegu a su comple a
e ec i idad. Po ello, es un pun o impo an e la ampliación del da ase en el u u o po
pa e del usua io. Se acili a la impo ación de nue os da os pa a el da ase a a és
de una plan illa de Excel, la cual se puede desca ga en la aplicación. Cuando la
plan illa se haya ellenado, se debe á da al bo ón “Selecciona a chi o” y ac o
seguido al bo ón “Impo a ”. Se obse a en la igu a 108.
Figu a 108. Expo a da ase .
Pa a que la impo ación se ealice de o ma sa is ac o ia, se deben comple a
odos los campos del Excel. En caso de que haya algún da o inco ec o, acío o el
a chi o impo ado sea e óneo, sal a á el e o co espondien e, los cuales se mues an
en las igu as 109, 110, 111 y 112.
135
Figu a 109. E o expo a da ase - Fo ma o.
Figu a 110. E o expo a da ase - Columnas espe adas.
Figu a 111. E o expo a da ase - Da os inco ec os.
136
Figu a 112. E o expo a da ase - In oduci odos los da os.
La plan illa en Excel es á alojada en la API y es la siguien e:
Plan illa impo a da ase
Como se mues a en la igu a 113, al pulsa el bo ón “Impo a ” se en ía el
o mula io al sc ip auxilia “impo a Da ase .php”, el cual hace una pe ición POST a la
API pa a impo a los nue os egis os.
Figu a 113. F agmen o de código - Pe ición impo a da ase a la API.
En la API, como apa ece en la igu a 114, se c ea un da a ame leyendo los
da os del Excel impo ado. A con inuación se ealiza una alidación de los da os pa a
asegu a que son co ec os, lo cual se e en la igu a 115. Se comp ueba la exis encia
de odas las columnas exigidas y se alidan los da os de cada a iable a a és de su
unción co espondien e alojada en alida .py.
137
Figu a 127. F agmen o de código - Función isualiza de la API 2.
Figu a 128. F agmen o de código - Función isualiza _inicio de la API.
Una ez se han ob enido odos los esul ados, pa a que los alo es iguales
adquie an el mismo o den y colo en las dos g á icas de cada a iable, es necesa io
que ambos conjun os de da os engan los mismos alo es y el mismo o den. Pa a
consegui lo p ime o, se comp ueba que ambos conjun os de da os ienen los mismos
144
alo es, y si no es así se añaden con con eo a 0. T as ello, se o denan al abé icamen e
pa a asegu a que el o den es exac amen e igual y po an o las g á icas se puedan
compa a ácilmen e de o ma isual.
T as es o, se c ean las g á icas más adecuadas pa a cada a iable, como se
mues a en las igu as 129 y 130. Se han u ilizado g á icas de ba as y de doughnu .
Cha s.js pe mi e cambia el amaño, colo , posición de la leyenda, y múl iples ajus es
más. Pulsando sob e un alo en la leyenda es e se ocul a, de o ma que se pueden
obse a los alo es que el usua io desee en las g á icas.
Figu a 129. F agmen o de código - C eación g á ica de ba as.
145
Figu a 130. F agmen o de código - C eación g á ica doughnu .
Las g á icas de la página de p edicciones son las mos adas en las igu as 131,
132, 133, 134, 135, 136, 137 y 138.
Figu a 131. G á ica edad.
146
Figu a 132. G á ica sexo.
Figu a 133. G á ica abaco.
147
Figu a 134. G á ica obesidad.
Figu a 135. G á ica amaño umo al.
Figu a 136. G á ica núme o de umo es.
148
Figu a 137. G á ica es adio umo al clínico.
Figu a 138. G á ica g ado umo al.
149
Capí ulo 9 - Conclusiones y abajo u u o
9.1 Conclusiones
En es e abajo se ha diseñado y desa ollado una aplicación web uncional que
pe mi e la ges ión y seguimien o de his o iales médicos de pacien es elacionados con
el cánce de ejiga pa a así ealiza p edicciones sob e su e olución u u a.
Además, se ha desa ollado un módulo de ges ión de usua ios que pe mi e a los
p o esionales del ámbi o sani a io c ea y adminis a cuen as de usua io, o o gando
acceso a la he amien a.
Las dis in as uncionalidades de la aplicación pueden ayuda eno memen e al
pe sonal médico en su diagnós ico. Además, a a és de las g á icas se pueden
obse a endencias de o ma muy isual y sencilla.
A pesa de con a con un da ase ela i amen e pequeño, las p edicciones se
ealizan co ec amen e. O ece esul ados lógicos aco des con los his o iales clínicos
de los pacien es. Po lo an o, la aplicación es á disponible pa a su uso en la
ac ualidad, y mejo a á a medida que se inse en más da os en el sis ema.
Se puede desca ga el código uen e de la aplicación a a és de Gi Hub:
h ps://gi hub.com/g oydp/TFG
Se puede accede a la aplicación en línea a a es del siguien e enlace:
h ps://p ogbladde .ga
150
9.2 T abajo u u o
9.2.1 Recopilación de más da os
El da ase es á o mado po los da os de 75 pacien es, po lo que se a a de
una mues a insu icien e pa a un modelo de ap endizaje e ec i o.
Es ecomendable la ecopilación de más da os pa a en iquece y mejo a la
p ecisión de las p edicciones p opo cionadas po la aplicación. Cuan os más da os se
disponga, se pod án ob ene mejo es insigh s y pa ones, lo que puede conduci a una
mayo e ec i idad en la de ección emp ana y el a amien o de es a en e medad.
9.2.2 Responsi e
Se ía ecomendable hace que la aplicación sea comple amen e esponsi e, es
deci , que se adap e de mane a óp ima a di e en es disposi i os y amaños de
pan alla. Es o pe mi i á a los usua ios accede y u iliza la aplicación de mane a
con enien e desde cualquie disposi i o, ya sea un o denado de esc i o io, una able
o un elé ono mó il. La implemen ación de un diseño esponsi e asegu a á una
expe iencia de usua io consis en e y de calidad, sin impo a el disposi i o u ilizado, lo
que con ibui á a una mayo usabilidad y sa is acción de los usua ios
9.2.3 Aplicación mó il
Se ía in e esan e conside a la c eación de una aplicación mó il y able
complemen a ia a la aplicación web exis en e. Dado que ya se ha desa ollado una
API sólida como pa e de es e abajo, g an pa e del abajo inicial ya es a ía
comple ado. Es o acili a ía la adap ación de la uncionalidad exis en e a una
expe iencia mó il y able , pe mi iendo a los usua ios accede y u iliza la aplicación de
o ma con enien e desde sus disposi i os mó iles.
151
9.2.4 Reconocimien o de lenguaje na u al
Ac ualmen e se inse a un pacien e a pa i de las a iables es ablecidas. Es
necesa io que el usua io ellene un o mula io o comple e un Excel, cosa que puede
lle a bas an e iempo. Median e la implemen ación de un sis ema de econocimien o
de lenguaje na u al simila a Sa ana, se ía posible que el usua io adjun ase un his o ial
médico y la p opia aplicación econocie a las a iables que necesi a pa a ealiza la
p edicción. De es e modo se aho a ía iempo y su uso se ía mucho más sencillo.
9.2.5 Redes neu onales
Se pod ía conside a la implemen ación de edes neu onales pa a mejo a la
p ecisión de las p edicciones en el ámbi o del cánce de ejiga. Es as edes pueden
iden i ica pa ones complejos en los da os médicos y p opo ciona una a ención más
p ecisa y pe sonalizada.
152
Conclusions and u u e wo k
Conclusions
In his wo k, a unc ional web applica ion has been designed and de eloped
ha allows he managemen and acking o medical eco ds o pa ien s ela ed o
bladde cance in o de o make p edic ions abou hei u u e p og ession.
Fu he mo e, a use managemen module has been de eloped ha enables
heal hca e p o essionals o c ea e and manage use accoun s, g an ing access o he
ool.
The a ious unc ionali ies o he applica ion can g ea ly assis medical pe sonnel
in hei diagnosis. Addi ionally, ends can be obse ed h ough he g aphical
ep esen a ions in a e y isual and s aigh o wa d manne .
Despi e ha ing a ela i ely small da ase , he p edic ions a e made accu a ely.
The applica ion p o ides logical esul s consis en wi h he pa ien s' clinical his o ies.
The e o e, he applica ion is cu en ly a ailable o use and will imp o e as mo e da a is
en e ed in o he sys em.
The sou ce code o he applica ion can be downloaded om Gi Hub:
h ps://gi hub.com/g oydp/TFG
The applica ion can be accessed online h ough he ollowing link:
h ps://p ogbladde .ga
153