JPLTedCas commited on
Commit
25d2784
1 Parent(s): ff61212

Upload 49 files

Browse files
Files changed (49) hide show
  1. app_sin.py +1138 -0
  2. preguntas_qh_tags2.xlsx +0 -0
  3. static/IMG/adm.jpeg +0 -0
  4. static/IMG/ajustes.png +0 -0
  5. static/IMG/ambulancias_img.jpg +0 -0
  6. static/IMG/estrella.png +0 -0
  7. static/IMG/flecha.png +0 -0
  8. static/IMG/guia_visual.png +0 -0
  9. static/IMG/lupa.png +0 -0
  10. static/IMG/mapa_camas_img.jpg +0 -0
  11. static/IMG/materiales.png +0 -0
  12. static/IMG/micro.png +0 -0
  13. static/IMG/otros_img.png +0 -0
  14. static/IMG/pdf_casa.jpg +0 -0
  15. static/IMG/programacion_img.png +0 -0
  16. static/IMG/protocolo.jpg +0 -0
  17. static/IMG/tijerass.png +0 -0
  18. static/IMG/trauma.jpeg +0 -0
  19. static/IMG/uro.jpeg +0 -0
  20. static/IMG/visualizar_video.png +0 -0
  21. static/js/app.js +218 -0
  22. templates/ajustes.html +24 -0
  23. templates/ambulancias.html +47 -0
  24. templates/buscador_admision.html +62 -0
  25. templates/buscador_trauma.html +94 -0
  26. templates/buscador_trauma1.html +62 -0
  27. templates/buscador_uro.html +78 -0
  28. templates/caja_trauma.html +50 -0
  29. templates/escuchar_admision.html +65 -0
  30. templates/escuchar_admision1.html +47 -0
  31. templates/escuchar_trauma.html +115 -0
  32. templates/escuchar_trauma1.html +212 -0
  33. templates/escuchar_uro.html +63 -0
  34. templates/escuchar_uro1.html +49 -0
  35. templates/especialidad.html +51 -0
  36. templates/guia_visual.html +46 -0
  37. templates/instrumental_trauma.html +41 -0
  38. templates/instrumental_uro.html +41 -0
  39. templates/intervencion_trauma.html +30 -0
  40. templates/intervencion_uro.html +30 -0
  41. templates/mapa_camas.html +47 -0
  42. templates/materiales.html +32 -0
  43. templates/materiales_uro.html +32 -0
  44. templates/otros.html +47 -0
  45. templates/pdf_casa_comercial.html +68 -0
  46. templates/programacion_quirurgica.html +47 -0
  47. templates/protocolo.html +31 -0
  48. templates/seleccion_trauma.html +32 -0
  49. templates/videos.html +49 -0
app_sin.py ADDED
@@ -0,0 +1,1138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, render_template, request, jsonify
2
+ import pandas as pd
3
+ import numpy as np
4
+ import xlrd2 as xlrd
5
+ import unicodedata
6
+ import spacy
7
+ import inflect
8
+ nlp = spacy.load("es_core_news_sm")
9
+ #nlp = spacy.load("es_dep_news_trf")
10
+ from inflector import Inflector, Spanish
11
+ inflector = Inflector(Spanish)
12
+ import speech_recognition as sr
13
+ import os
14
+ import requests
15
+ from requests.auth import HTTPBasicAuth
16
+ import asyncio
17
+ import aiohttp
18
+
19
+ auth=aiohttp.BasicAuth('1234','API')
20
+ base_url='https://orva.tedcas.com/api/'
21
+
22
+
23
+ xlrd.xlsx.ensure_elementtree_imported(False, None)
24
+ xlrd.xlsx.Element_has_iter = True
25
+
26
+ async def buscar_faq(query, barra):
27
+ archivo = "C:/Users/15572890/Desktop\StockPrediction\Coding\CorrelacionStocks\APIS-StockPlatforms\APIs\QuiroHelpNLP\QuirohelpWebapp/preguntas_qh_tags2.xlsx"
28
+ df = pd.read_excel(archivo, engine="openpyxl")
29
+ p = 0
30
+ result = query
31
+ df2 = []
32
+ print("result" + str(result))
33
+ for index, row in df.iterrows():
34
+ list_words = df.loc[index, 'TAGS2']
35
+ list_words = list_words.split(",")
36
+ df2.append(list_words)
37
+ ls5 = []
38
+ list_words=[]
39
+ for indexw, word in enumerate(result):
40
+ result[indexw]=inflector.singularize(str(word))
41
+ count_words = np.zeros(len(df.index), dtype=int)
42
+ for index1,row in enumerate(df2):
43
+ ls4=[]
44
+ for word in row:
45
+ if barra == 0:
46
+ if word != []:
47
+ p = 0
48
+ for num in range(100):
49
+ num = num / 10
50
+ num = str(num)
51
+ if word == num:
52
+ num = num.split(".")
53
+ ls4.append(num[0])
54
+ ls4.append("con")
55
+ ls4.append(num[1])
56
+ p = p + 1
57
+ if p == 0:
58
+ ls4.append(word)
59
+ if barra == 1:
60
+ ls4.append(word)
61
+ ls5.append(ls4)
62
+ for resulted in result:
63
+ for index2, word in enumerate(ls5[index1]):
64
+ if str(resulted)=="maya":
65
+ resulted="malla"
66
+ if str(resulted)=="pilos"or str(resulted)=="pilo":
67
+ resulted="philo"
68
+ if str(resulted)=="filos"or str(resulted)=="filo":
69
+ resulted="philo"
70
+ if str(resulted)=="sinces" or str(resulted)=="sinc":
71
+ resulted="synthe"
72
+ if str(resulted)=="sintes" or str(resulted)=="sint":
73
+ resulted="synthe"
74
+ if str(resulted)=="axos" or str(resulted)=="axo":
75
+ resulted="axso"
76
+ if str(resulted)=="uno":
77
+ resulted="1"
78
+ if str(resulted)=="dos" or str(resulted)=="do":
79
+ resulted="2"
80
+ if str(resulted)=="tres" or str(resulted)=="tr":
81
+ resulted="3"
82
+ if str(resulted)=="cuatro":
83
+ resulted="4"
84
+ if str(resulted)=="cinco":
85
+ resulted="5"
86
+ if str(resulted)=="seis"or str(resulted)=="sei":
87
+ resulted="6"
88
+ if str(resulted)=="siete":
89
+ resulted="7"
90
+ if str(resulted)=="ocho":
91
+ resulted="8"
92
+ if str(resulted)=="nueve":
93
+ resulted="9"
94
+ if str(resulted)=="cero":
95
+ resulted="0"
96
+ if str(resulted)=="veintiuno":
97
+ resulted="21"
98
+ if str(resulted)=="veinte":
99
+ resulted="20"
100
+ if str(resulted)=="veintidos"or str(resulted)=="veintido" :
101
+ resulted="22"
102
+ if str(resulted)=="veintitres" or str(resulted)=="veintitre" :
103
+ resulted="23"
104
+ if str(resulted)=="veinticuatro":
105
+ resulted="24"
106
+ if str(resulted)=="veinticinco":
107
+ resulted="25"
108
+ if str(resulted)=="veintiseis"or str(resulted)=="veintisei" :
109
+ resulted="26"
110
+ if str(resulted)=="veintisiete":
111
+ resulted="27"
112
+ if str(resulted)=="veintiocho":
113
+ resulted="28"
114
+ if str(resulted)=="veintinueve":
115
+ resulted="29"
116
+ if str(resulted)=="treinta":
117
+ resulted="30"
118
+ if str(remove_accents(word)).lower() == str(remove_accents(resulted)).lower():
119
+ count_words[index1]=count_words[index1]+1
120
+ ls5[index1].pop(index2)
121
+
122
+ indexmax = np.argwhere(count_words == np.amax(count_words))
123
+ output=[]
124
+ preguntas={}
125
+ df = xlrd.open_workbook(archivo)
126
+ df = df.sheet_by_index(0)
127
+ if not np.all(count_words == 0):
128
+ for indexin in indexmax:
129
+ sq = df.cell(int(indexin) + 1, 3)
130
+ sr = df.cell(int(indexin) + 1, 4)
131
+ sq = str(sq)
132
+ sr = str(sr)
133
+ sq = sq.split("'")
134
+ sr = sr.split("'")
135
+ output.append(f" {sq[1]} {sr[1]} ")
136
+ return output
137
+
138
+ async def boton_pdf_video(especialidad, field_tipo, nid):
139
+ connector = aiohttp.TCPConnector(ssl=True)
140
+ async with aiohttp.ClientSession(connector=connector) as session:
141
+ r = await session.get(f'{base_url}all-content/{especialidad}', auth=auth)
142
+ data = await r.json()
143
+
144
+ nid_list = []
145
+ titulos = {}
146
+
147
+ if nid == "0":
148
+ for text in data:
149
+ if text['type'] == "Intervencion":
150
+ nid_list.append(text['nid'])
151
+ else:
152
+ nid_list.append(nid)
153
+
154
+ for nid1 in nid_list:
155
+ r1 = await session.get(f'{base_url}intervenciones/{nid1}', auth=auth)
156
+ data1 = await r1.json()
157
+ data1 = data1[0]
158
+ files = {}
159
+
160
+ if field_tipo in data1:
161
+ file_list = data1[field_tipo]
162
+ for file in file_list:
163
+ if field_tipo == 'field_pdf':
164
+ files[file['descripcion']] = "https://orva.tedcas.com/"+str(file['url'])
165
+ if field_tipo == 'field_video':
166
+ files[file['descripcion']] = str(file['url'])
167
+
168
+ titulos[data1['title']] = files
169
+ else:
170
+ if nid == '0':
171
+ nid = '0'
172
+ else:
173
+ print("nid dentro del if " + str(nid))
174
+ files["No hay archivos"] = ""
175
+ titulos["No hay archivos"] = files
176
+ return {}
177
+
178
+ return titulos
179
+
180
+ async def boton_word_ppt(especialidad, field_tipo, nid):
181
+ connector = aiohttp.TCPConnector(ssl=True)
182
+ async with aiohttp.ClientSession(connector=connector) as session:
183
+ r = await session.get(f'{base_url}all-content/{especialidad}', auth=auth)
184
+ data = await r.json()
185
+
186
+ nid_list = []
187
+ files = {}
188
+
189
+ if nid == '0':
190
+ for text in data:
191
+ if text['type'] == "Intervencion":
192
+ nid_list.append(text['nid'])
193
+ else:
194
+ nid_list.append(nid)
195
+
196
+ for nid1 in nid_list:
197
+ r1 = await session.get(f'{base_url}intervenciones/{nid1}', auth=auth)
198
+ data1 = await r1.json()
199
+ data1 = data1[0]
200
+ if len(data1[field_tipo]) != 0:
201
+ files[data1['title']] = "https://orva.tedcas.com/"+str(data1[field_tipo])
202
+ if len(data1[field_tipo]) == 0 and nid != '0':
203
+ files["No hay archivos"] = ""
204
+ return {}
205
+
206
+ return files
207
+
208
+ async def boton_materiales(especialidad, nid):
209
+ connector = aiohttp.TCPConnector(ssl=True)
210
+ async with aiohttp.ClientSession(connector=connector) as session:
211
+ cajas = {}
212
+
213
+ if nid == '0':
214
+ r = await session.get(f'{base_url}listado_completo_cajas/{especialidad}', auth=auth)
215
+ data = await r.json()
216
+ for text in data:
217
+ cajas[text['title']] = text['nid']
218
+ cajas[''] = "si hay"
219
+ else:
220
+ r = await session.get(f'{base_url}intervenciones/{nid}', auth=auth)
221
+ data = await r.json()
222
+ data = data[0]
223
+ if 'field_cajas' in data:
224
+ data = data['field_cajas']
225
+ for text in data:
226
+ cajas[text['caja']] = text['id']
227
+ cajas[''] = "si hay"
228
+ else:
229
+ if nid != 0:
230
+ cajas[''] = ""
231
+ return {}
232
+ return cajas
233
+
234
+ async def cargar_base_datos(query, url):
235
+ k1 = None
236
+ output = []
237
+ connector = aiohttp.TCPConnector(ssl=True)
238
+ async with aiohttp.ClientSession(connector=connector) as session:
239
+ r = await session.get('https://orva.tedcas.com/api/all-content/'+str(url), auth=auth)
240
+ data = await r.json()
241
+ count_words = np.zeros(len(data), dtype=int)
242
+ query1 = []
243
+ for z in query:
244
+ cont = 0
245
+ for num in range(100):
246
+ num = num / 10
247
+ if z == str(num):
248
+ z = str(num).split('.')
249
+ query1.append(z)
250
+ cont = cont + 1
251
+ if z == 'con':
252
+ cont = cont + 1
253
+ if cont == 0:
254
+ query1.append(z)
255
+ for i in range(len(data)):
256
+ cont_palabras = 0
257
+ data1 = data[i]
258
+ titulo = str(data1['title']).lower()
259
+ titulo = remove_accents(titulo)
260
+ titulo = titulo.split(' ')
261
+ for index, j in enumerate(titulo):
262
+ for index1, j1 in enumerate(titulo):
263
+ if index1 != index:
264
+ if j == j1:
265
+ titulo.pop(index1)
266
+ for index, j in enumerate(titulo):
267
+ for num in range(100):
268
+ num = num / 10
269
+ if j == str(num):
270
+ j = str(num).split('.')
271
+ titulo.append(j)
272
+ for k in query1:
273
+ if k=="maya":
274
+ k="malla"
275
+ if k=="pilos"or k=="pilo":
276
+ k="philo"
277
+ if k=="filos"or k=="filo":
278
+ k="philo"
279
+ if k=="sinces" or k=="sinc":
280
+ k="synthe"
281
+ if k=="sintes" or k=="sint":
282
+ k="synthe"
283
+ if k=="axos" or k=="axo":
284
+ k="axso"
285
+ if k=="uno":
286
+ k=1
287
+ if k=="dos" or k=="do":
288
+ k=2
289
+ if k=="tres" or k=="tr":
290
+ k=3
291
+ if k=="cuatro":
292
+ k=4
293
+ if k=="cinco":
294
+ k=5
295
+ if k=="seis"or k=="sei":
296
+ k=6
297
+ if k=="siete":
298
+ k=7
299
+ if k=="ocho":
300
+ k=8
301
+ if k=="nueve":
302
+ k=9
303
+ if k=="cero":
304
+ k=0
305
+ if k=="veintiuno":
306
+ k="21"
307
+ if k=="veinte":
308
+ k="20"
309
+ if k=="veintidos"or k=="veintido" :
310
+ k="22"
311
+ if k=="veintitres" or k=="veintitre" :
312
+ k="23"
313
+ if k=="veinticuatro":
314
+ k="24"
315
+ if k=="veinticinco":
316
+ k="25"
317
+ if k=="veintiseis"or k=="veintisei" :
318
+ k="26"
319
+ if k=="veintisiete":
320
+ k="27"
321
+ if k=="veintiocho":
322
+ k="28"
323
+ if k=="veintinueve":
324
+ k="29"
325
+ if k=="treinta":
326
+ k="30"
327
+ if type(k)==int and type(k1)==int:
328
+ num=str(k1)+'.'+str(k)
329
+ k=num.split('.')
330
+ k1=k
331
+ k=inflector.singularize(str(k))
332
+ j=inflector.singularize(str(j))
333
+ k=remove_accents(k)
334
+ if j==k:
335
+ cont_palabras=cont_palabras+1
336
+ count_words[i] = cont_palabras
337
+ indexmax = np.argwhere(count_words == np.amax(count_words))
338
+ for i in indexmax:
339
+ output.append(data[int(i)])
340
+ if np.all(count_words == 0):
341
+ output = None
342
+ return output
343
+
344
+ async def cargar_tipo(nid, url):
345
+ connector = aiohttp.TCPConnector(ssl=True)
346
+ async with aiohttp.ClientSession(connector=connector) as session:
347
+ r = await session.get(f'{base_url}all-content/{url}', auth=auth)
348
+ data = await r.json()
349
+ tipo = None
350
+ output = None
351
+ for data1 in data:
352
+ if nid == data1["nid"]:
353
+ tipo = data1["type"]
354
+ output = data1
355
+ break
356
+ return output, tipo
357
+
358
+ async def cargar_archivo(field_tipo, texto, url):
359
+ file = []
360
+ connector = aiohttp.TCPConnector(ssl=True)
361
+ async with aiohttp.ClientSession(connector=connector) as session:
362
+ r = await session.get('https://orva.tedcas.com/api/'+str(url), auth=auth)
363
+ data = await r.json()
364
+ data = data[0]
365
+ field1 = "field_"+str(field_tipo)
366
+ field = data[field1]
367
+ if field1 == "field_image":
368
+ data=data['field_image']
369
+ data=data.split(',')
370
+ data = [s.replace(' ', '') for s in data]
371
+ for text in data:
372
+ file.append("https://orva.tedcas.com/"+str(text))
373
+ print(file)
374
+ return file
375
+ if len(field)==0 :
376
+ file_texto="No hay archivos subidos"
377
+ file="templates/especialidad"
378
+ elif type(field)==str:
379
+ file="https://orva.tedcas.com/"+str(field)
380
+ file_texto=field
381
+ elif type(field)==list:
382
+ for i,files in field:
383
+ file[i]="https://orva.tedcas.com/"+str(files)
384
+ file_texto=field
385
+ return texto,file,file_texto
386
+
387
+ async def cargar_archivo_grande(field_tipo, texto, url):
388
+ connector = aiohttp.TCPConnector(ssl=True)
389
+ async with aiohttp.ClientSession(connector=connector) as session:
390
+ r = await session.get('https://orva.tedcas.com/api/'+str(url), auth=auth)
391
+ data = await r.json()
392
+ files = {}
393
+ if field_tipo=='title_material':
394
+ for text in data:
395
+ files[text[field_tipo]]=(text[field_tipo])
396
+ return files,texto
397
+ data = data[0]
398
+ field = "field_"+str(field_tipo)
399
+ field = data[field]
400
+ if len(field) == 0:
401
+ files["No hay archivos"]="templates/especialidad"
402
+ else :
403
+ for text in field :
404
+ files[text['descripcion']]="https://orva.tedcas.com/"+str(text['url'])
405
+ return texto,files
406
+
407
+ async def cargar_caja(url, texto):
408
+ instrumental = {}
409
+ connector = aiohttp.TCPConnector(ssl=True)
410
+ async with aiohttp.ClientSession(connector=connector) as session:
411
+ r = await session.get(f'{base_url}intervenciones/{url}', auth=auth)
412
+ data = await r.json()
413
+ data = data[0]
414
+ if 'field_cajas' in data:
415
+ data=data['field_cajas']
416
+ for text in data:
417
+ instrumental[text['id']]=text['caja']
418
+ else:
419
+ instrumental[str(url)]="No hay archivos"
420
+ return instrumental,texto
421
+
422
+ async def cargar_instrumental(nid, url):
423
+ cajas = {}
424
+ connector = aiohttp.TCPConnector(ssl=True)
425
+ async with aiohttp.ClientSession(connector=connector) as session:
426
+ r = await session.get('https://orva.tedcas.com/api/'+str(url), auth=auth)
427
+ data = await r.json()
428
+ for text in data :
429
+ if 'instrumental' in text:
430
+ for word in text['instrumental']:
431
+ if word['id']==nid:
432
+ cajas[text['nid']]=text['title']
433
+ return cajas
434
+
435
+ async def cargar_botones_pdf_admision():
436
+ mapa_camas = {}
437
+ ambulancias = {}
438
+ programacion_quirurgica = {}
439
+ otros = {}
440
+ connector = aiohttp.TCPConnector(ssl=True)
441
+ async with aiohttp.ClientSession(connector=connector) as session:
442
+ r = await session.get('https://orva.tedcas.com/api/all-content/1621', auth=auth)
443
+ data = await r.json()
444
+ for text in data:
445
+ r1 = await session.get('https://orva.tedcas.com/api/intervenciones/'+str(text['nid']), auth=auth)
446
+ data1 = await r1.json()
447
+ data1 = data1[0]
448
+ data2 = data1['field_pdf']
449
+ data2 = data2[0]
450
+ if data1['field_tecnica'] == "Mapa de camas":
451
+ mapa_camas[data1['title']] = "https://orva.tedcas.com/"+str(data2['url'])
452
+ elif data1['field_tecnica'] == "Ambulancias":
453
+ ambulancias[data1['title']] = "https://orva.tedcas.com/"+str(data2['url'])
454
+ elif data1['field_tecnica'] == "Programación quirúrgica":
455
+ programacion_quirurgica[data1['title']] = "https://orva.tedcas.com/"+str(data2['url'])
456
+ elif data1['field_tecnica'] == "Otros":
457
+ otros[data1['title']] = "https://orva.tedcas.com/"+str(data2['url'])
458
+ return mapa_camas, ambulancias, programacion_quirurgica, otros
459
+
460
+ def remove_accents(input_str):
461
+ nfkd_form = unicodedata.normalize('NFKD', input_str)
462
+ return u"".join([c for c in nfkd_form if not unicodedata.combining(c)])
463
+
464
+ def adaptar_salida(query):
465
+ result = []
466
+ query = str(query).lower()
467
+ query = query.split("}")
468
+ query = query[0].split(":")
469
+ if len(query) >= 2:
470
+ result1 = query[1].split("'")
471
+ result = result1[1].split()
472
+ return result
473
+
474
+ def takeCommand():
475
+ r = sr.Recognizer()
476
+ with sr.Microphone() as source:
477
+ print("Listening...")
478
+ r.pause_threshold = 1
479
+ audio = r.adjust_for_ambient_noise(source)
480
+ audio = r.listen(source)
481
+ try:
482
+ print("Recognizing...")
483
+ query = r.recognize_google(audio, language='es-ES')
484
+ print(f"User said: {query}\n")
485
+ except Exception as e:
486
+ print(e)
487
+ print("Unable to Recognize your voice.")
488
+ return "none"
489
+
490
+
491
+ # automatically load the interface from a HF model
492
+ # you can remove the api_key parameter if you don't care about rate limiting.
493
+ #import gradio as gr
494
+ #from transformers import pipeline
495
+ #import numpy as np
496
+
497
+ #transcriber = pipeline("automatic-speech-recognition", model="openai/whisper-base.en")
498
+
499
+ #def transcribe(audio):
500
+ # sr, y = audio
501
+ # y = y.astype(np.float32)
502
+ # y /= np.max(np.abs(y))
503
+
504
+ # return transcriber({"sampling_rate": sr, "raw": y})["text"]
505
+
506
+
507
+ #demo = gr.Interface(
508
+ # transcribe,
509
+ # gr.Audio(source="microphone"),
510
+ # "text",
511
+ #)
512
+
513
+ #demo.launch()
514
+ #query=text
515
+ #########################################
516
+
517
+
518
+ return query
519
+
520
+ app = Flask (__name__)
521
+ app.config['SECRET_KEY'] = 'mysecretkey'
522
+
523
+ IMG_FOLDER = os.path.join('static','IMG')
524
+ app.config['UPLOAD_FOLDER'] = IMG_FOLDER
525
+
526
+ @app.route("/")
527
+ async def hello():
528
+ trauma = os.path.join(app.config['UPLOAD_FOLDER'], 'trauma.jpeg')
529
+ uro = os.path.join(app.config['UPLOAD_FOLDER'], 'uro.jpeg')
530
+ adm = os.path.join(app.config['UPLOAD_FOLDER'], 'adm.jpeg')
531
+ tijeras = os.path.join(app.config['UPLOAD_FOLDER'], 'tijerass.png')
532
+ return render_template('especialidad.html',user_image0=tijeras, user_image1=trauma, user_image2=uro, user_image3=adm)
533
+
534
+ @app.route("/especialidad")
535
+ async def especialidad():
536
+ trauma = os.path.join(app.config['UPLOAD_FOLDER'], 'trauma.jpeg')
537
+ uro = os.path.join(app.config['UPLOAD_FOLDER'], 'uro.jpeg')
538
+ adm = os.path.join(app.config['UPLOAD_FOLDER'], 'adm.jpeg')
539
+ tijeras = os.path.join(app.config['UPLOAD_FOLDER'], 'tijerass.png')
540
+ return render_template('especialidad.html',user_image0=tijeras,user_image1=trauma, user_image2=uro, user_image3=adm)
541
+
542
+ @app.route("/seleccion_trauma", methods=['GET','POST'])
543
+ async def seleccion_trauma():
544
+ lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png')
545
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
546
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
547
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
548
+ return render_template('seleccion_trauma.html',user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha)
549
+
550
+ @app.route("/buscador_trauma", methods=['GET','POST'])
551
+ async def buscador_trauma():
552
+ lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png')
553
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
554
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
555
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
556
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
557
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
558
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
559
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
560
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
561
+ query=str(request.form.to_dict())
562
+ query=adaptar_salida(query)
563
+ result_busqueda={}
564
+ result_busqueda[""]=""
565
+ if len(query)==0:
566
+ return render_template('buscador_trauma.html',result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
567
+ elif query!=None or "{}":
568
+ url=1
569
+ output=await cargar_base_datos(query,url)
570
+ output2=await buscar_faq(query,1)
571
+ if output==None :
572
+ if len(output2)==0:
573
+ return render_template('buscador_trauma.html',result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
574
+ else:
575
+ return render_template('buscador_trauma.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
576
+ elif len(output)>=1:
577
+ titulo=[]
578
+ nid=[]
579
+ result_busqueda={}
580
+ for text in output:
581
+ titulo.append(text["title"])
582
+ nid.append(text["nid"])
583
+ for i,text in enumerate(titulo):
584
+ result_busqueda[nid[i]]=text
585
+
586
+ if len(output2)!=0:
587
+ return render_template('buscador_trauma1.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
588
+ else:
589
+ return render_template('buscador_trauma1.html',result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
590
+
591
+ @app.route("/resultado_trauma", methods=['GET','POST'])
592
+ async def resultado_trauma():
593
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
594
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
595
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
596
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
597
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
598
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
599
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
600
+ nid=request.args.get('link')
601
+ output,tipo=await cargar_tipo(nid,1)
602
+ title=output['title']
603
+ #if tipo="instrumen"
604
+ if tipo=="Intervencion":
605
+ instrumental,texto_cajas=await cargar_caja(str(nid),'Instrumental - Cajas: ')
606
+ return render_template('intervencion_trauma.html',user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,instrumental=instrumental,texto_cajas=texto_cajas, title=title, user_image6=ajustes,user_image7=flecha,nid2=nid )
607
+ elif tipo=='Caja':
608
+ texto_ubi,file_ubi,file_texto_ubi=await cargar_archivo("ubicacion","Ubicacion: ","cajas/"+str(nid))
609
+ file_imagen=await cargar_archivo("image","Imagen: ","cajas/"+str(nid))
610
+ files_instru, texto_instru=await cargar_archivo_grande("title_material","Instrumental : ","cajas/"+str(nid))
611
+ if len(title)==1:
612
+ return render_template('caja_trauma1.html',title=title,files_instru=files_instru, texto_instru=texto_instru,texto_ubi=texto_ubi,file_texto_ubi=file_texto_ubi,file_imagen=file_imagen,user_image6=ajustes,user_image7=flecha )
613
+ else:
614
+ return render_template('caja_trauma.html',title=title,files_instru=files_instru, texto_instru=texto_instru,texto_ubi=texto_ubi,file_texto_ubi=file_texto_ubi,file_imagen=file_imagen,user_image6=ajustes,user_image7=flecha )
615
+ elif tipo=='Instrumental':
616
+ cajas=await cargar_instrumental(nid,'listado_completo_cajas/1')
617
+ if len(cajas)==1:
618
+ return render_template('instrumental_trauma1.html',cajas=cajas,texto='El instrumental que buscas esta presente en las siguientes cajas: ',title=title,user_image6=ajustes,user_image7=flecha )
619
+ else:
620
+ return render_template('instrumental_trauma.html',cajas=cajas,texto='El instrumental que buscas esta presente en las siguientes cajas: ',title=title,user_image6=ajustes,user_image7=flecha )
621
+
622
+ @app.route("/protocolos_trauma", methods=['GET','POST'])
623
+ async def protocolos_trauma():
624
+ nid2=request.args.get('link2')
625
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
626
+ protocolos=await boton_word_ppt(1,"field_protocolo",nid2)
627
+ if len(protocolos)==1:
628
+ return render_template('protocolo1.html',protocolos=protocolos,user_image7=flecha)
629
+ else:
630
+ return render_template('protocolo.html',protocolos=protocolos,user_image7=flecha)
631
+
632
+ @app.route("/guia_visual_trauma", methods=['GET','POST'])
633
+ async def guia_visual_trauma():
634
+ nid2=request.args.get('link2')
635
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
636
+ guia_visual=await boton_word_ppt(1,"field_guia_visual",nid2)
637
+ if len(guia_visual)==1:
638
+ return render_template('guia_visual1.html',guia_visual=guia_visual,user_image7=flecha)
639
+ else:
640
+ return render_template('guia_visual.html',guia_visual=guia_visual,user_image7=flecha)
641
+
642
+ @app.route("/pdf_casa_trauma", methods=['GET','POST'])
643
+ async def pdf_casa_trauma():
644
+ nid2=request.args.get('link2')
645
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
646
+ titulos=await boton_pdf_video(1,"field_pdf",nid2)
647
+ contador_pdf_trauma = 0
648
+ for titulo1, pdfs in titulos.items():
649
+ for titulo2, url in pdfs.items():
650
+ contador_pdf_trauma = contador_pdf_trauma + 1
651
+ if len(titulos.items())==1:
652
+ if contador_pdf_trauma==1:
653
+ print("bien")
654
+ return render_template('pdf_casa_comercial1.html',user_image7=flecha,titulos=titulos)
655
+ else:
656
+ return render_template('pdf_casa_comercial.html',user_image7=flecha,titulos=titulos)
657
+ else:
658
+ return render_template('pdf_casa_comercial.html',user_image7=flecha,titulos=titulos)
659
+
660
+ @app.route("/videos_trauma", methods=['GET','POST'])
661
+ async def videos_trauma():
662
+ nid2=request.args.get('link2')
663
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
664
+ titulos=await boton_pdf_video(1,"field_video",nid2)
665
+ contador_videos_trauma = 0
666
+ for titulo1, pdfs in titulos.items():
667
+ for titulo2, url in pdfs.items():
668
+ contador_videos_trauma = contador_videos_trauma + 1
669
+ if len(titulos.items())==1:
670
+ if contador_videos_trauma==1:
671
+ print("bien")
672
+ return render_template('videos1.html',user_image7=flecha,titulos=titulos)
673
+ else:
674
+ return render_template('videos.html',user_image7=flecha,titulos=titulos)
675
+ else:
676
+ return render_template('videos.html',user_image7=flecha,titulos=titulos)
677
+
678
+ @app.route("/materiales_trauma", methods=['GET','POST'])
679
+ async def materiales_trauma():
680
+ nid2=request.args.get('link2')
681
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
682
+ cajas=await boton_materiales(1,nid2)
683
+ if len(cajas[''])==0:
684
+ return render_template('materiales_uro.html',user_image7=flecha,cajas=cajas,no_hay="No hay instrumental")
685
+ else:
686
+ if len(cajas)==1:
687
+ return render_template('materiales_uro1.html',user_image7=flecha,cajas=cajas)
688
+ else:
689
+ return render_template('materiales_uro.html',user_image7=flecha,cajas=cajas)
690
+
691
+ @app.route("/escuchar_trauma1", methods=['GET','POST'])
692
+ async def escuchar_trauma1():
693
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
694
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
695
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
696
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
697
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
698
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
699
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
700
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
701
+ return render_template('escuchar_trauma1.html',nid2=0,prediction_text="Dale a `Escuchar´ y haz tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
702
+
703
+ @app.route("/escuchar_trauma", methods=['GET','POST'])
704
+ #@app.route("/escuchar_trauma", methods=['POST'])
705
+ async def escuchar_trauma():
706
+ #########################################################################
707
+
708
+ lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png')
709
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
710
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
711
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
712
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
713
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
714
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
715
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
716
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+ ###########################################################################
730
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
731
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
732
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
733
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
734
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
735
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
736
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
737
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
738
+
739
+
740
+ #########################################################################################
741
+ r = sr.Recognizer()
742
+ #if request.method == 'POST':
743
+
744
+ recognized_text = "" # Valor predeterminado
745
+
746
+ if request.method == "POST":
747
+ f = request.files['audio_data']
748
+ # Cargar el archivo adjunto directamente
749
+ with sr.AudioFile(f) as source:
750
+ audio_data = r.record(source)
751
+
752
+ # Realizar el reconocimiento de voz
753
+ try:
754
+ recognized_text = r.recognize_google(audio_data, language='es-ES')
755
+ except sr.UnknownValueError:
756
+ recognized_text = "No se pudo reconocer el audio"
757
+ except sr.RequestError as e:
758
+ recognized_text = f"Error en la solicitud: {str(e)}"
759
+ print(recognized_text)
760
+ #return render_template('index.html', recognized_text=recognized_text)
761
+
762
+
763
+ #else:
764
+ ##########################################################################################
765
+ query=recognized_text
766
+ print("TEXTO")
767
+ print(query)
768
+ #query = takeCommand()
769
+ query=str(query).lower()
770
+ query=query.split()
771
+ result_busqueda={}
772
+ result_busqueda[""]=""
773
+ if query[0]!="none":
774
+ url=1
775
+ output=await cargar_base_datos(query,url)
776
+ output2=await buscar_faq(query,0)
777
+ if output==None:
778
+ if len(output2)==0:
779
+ return render_template('escuchar_trauma.html',nid2=0,result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda",user_image6=ajustes,user_image7=flecha,user_image5=micro,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
780
+
781
+ else:
782
+ return render_template('escuchar_trauma.html',nid2=0,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
783
+
784
+ elif len(output)>=1:
785
+ titulo=[]
786
+ nid=[]
787
+ result_busqueda={}
788
+ for text in output:
789
+ titulo.append(text["title"])
790
+ nid.append(text["nid"])
791
+ for i,text in enumerate(titulo):
792
+ result_busqueda[nid[i]]=text
793
+ print("RESULT BUSQUEDA")
794
+ print(result_busqueda)
795
+ if len(output2)==0:
796
+ print("render1")
797
+ return render_template('escuchar_trauma.html',nid2=0,result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
798
+
799
+ else:
800
+ print("render2")
801
+ #return render_template('especialidad.html')
802
+ return render_template('buscador_trauma.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
803
+ #return render_template('escuchar_trauma.html',nid2=0,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
804
+ else :
805
+ return render_template('escuchar_trauma.html',nid2=0,result_busqueda=result_busqueda,prediction_text="No te he entendido bien, dale al boton `Escuchar´ y repite tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
806
+
807
+ @app.route("/buscador_admision", methods=['GET','POST'])
808
+ async def buscador_admision():
809
+ lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png')
810
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
811
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
812
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
813
+ otros_img = os.path.join(app.config['UPLOAD_FOLDER'], 'otros_img.png')
814
+ programacion_img = os.path.join(app.config['UPLOAD_FOLDER'], 'programacion_img.png')
815
+ ambulancias_img = os.path.join(app.config['UPLOAD_FOLDER'], 'ambulancias_img.jpg')
816
+ mapa_camas_img = os.path.join(app.config['UPLOAD_FOLDER'], 'mapa_camas_img.jpg')
817
+ query=str(request.form.to_dict())
818
+ query=adaptar_salida(query)
819
+ result_busqueda={}
820
+ result_busqueda[""]=""
821
+ if len(query)==0:
822
+ return render_template('buscador_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,prediction_text="ya puedes hacer tu pregunta", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha )
823
+ elif query!=None or "{}":
824
+ url=1621
825
+ output=await cargar_base_datos(query,url)
826
+ output2=await buscar_faq(query,1)
827
+ if output==None:
828
+ if len(output2)==0:
829
+ return render_template('buscador_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha)
830
+ else:
831
+ return render_template('buscador_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha)
832
+ elif len(output)>=1:
833
+ titulo=[]
834
+ nid=[]
835
+ result_busqueda={}
836
+ for text in output:
837
+ nid.append(text["nid"])
838
+ for nid1 in nid:
839
+ connector = aiohttp.TCPConnector(ssl=True)
840
+ async with aiohttp.ClientSession(connector=connector) as session:
841
+ r1 = await session.get('https://orva.tedcas.com/api/intervenciones/'+str(nid1), auth=auth)
842
+ data1=await r1.json()
843
+ data1=data1[0]
844
+ data2=data1['field_pdf']
845
+ data2=data2[0]
846
+ result_busqueda[data1['title']]="https://orva.tedcas.com/"+str(data2['url'])
847
+ if len(output2)==0:
848
+ return render_template('buscador_admision1.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha )
849
+ else:
850
+ return render_template('buscador_admision1.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha )
851
+
852
+ @app.route("/mapa_camas", methods=['GET','POST'])
853
+ async def mapa_camas():
854
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
855
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
856
+ mapa_camas1,ambulancias,programacion_quirurgica,otros =await cargar_botones_pdf_admision()
857
+ return render_template('mapa_camas.html', text=mapa_camas1,user_image6=ajustes,user_image7=flecha)
858
+
859
+ @app.route("/ambulancias", methods=['GET','POST'])
860
+ async def ambulancias():
861
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
862
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
863
+ mapa_camas,ambulancias,programacion_quirurgica,otros =await cargar_botones_pdf_admision()
864
+ return render_template('ambulancias.html', text=ambulancias,user_image6=ajustes,user_image7=flecha)
865
+
866
+ @app.route("/programacion_quirurgica", methods=['GET','POST'])
867
+ async def programacion_quirurgica():
868
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
869
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
870
+ mapa_camas,ambulancias,programacion_quirurgica,otros =await cargar_botones_pdf_admision()
871
+ return render_template('programacion_quirurgica.html', text=programacion_quirurgica,user_image6=ajustes,user_image7=flecha)
872
+
873
+ @app.route("/otros", methods=['GET','POST'])
874
+ async def otros():
875
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
876
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
877
+ mapa_camas,ambulancias,programacion_quirurgica,otros =await cargar_botones_pdf_admision()
878
+ return render_template('otros.html', text=otros,user_image6=ajustes,user_image7=flecha)
879
+
880
+ @app.route("/escuchar_admision1", methods=['GET','POST'])
881
+ async def escuchar_admision1():
882
+ otros_img = os.path.join(app.config['UPLOAD_FOLDER'], 'otros_img.png')
883
+ programacion_img = os.path.join(app.config['UPLOAD_FOLDER'], 'programacion_img.png')
884
+ ambulancias_img = os.path.join(app.config['UPLOAD_FOLDER'], 'ambulancias_img.jpg')
885
+ mapa_camas_img = os.path.join(app.config['UPLOAD_FOLDER'], 'mapa_camas_img.jpg')
886
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
887
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
888
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
889
+ return render_template('escuchar_admision1.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,prediction_text="Dale a `Escuchar´ y haz tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha)
890
+
891
+ @app.route("/escuchar_admision", methods=['GET','POST'])
892
+ async def escuchar_admision():
893
+ otros_img = os.path.join(app.config['UPLOAD_FOLDER'], 'otros_img.png')
894
+ programacion_img = os.path.join(app.config['UPLOAD_FOLDER'], 'programacion_img.png')
895
+ ambulancias_img = os.path.join(app.config['UPLOAD_FOLDER'], 'ambulancias_img.jpg')
896
+ mapa_camas_img = os.path.join(app.config['UPLOAD_FOLDER'], 'mapa_camas_img.jpg')
897
+ lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png')
898
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
899
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
900
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
901
+ query = takeCommand()
902
+ query=str(query).lower()
903
+ query=query.split()
904
+ result_busqueda={}
905
+ result_busqueda[""]=""
906
+ if query[0]!="none":
907
+ url=1621
908
+ output=await cargar_base_datos(query,url)
909
+ output2=await buscar_faq(query,0)
910
+ if output==None:
911
+ if len(output2)==0:
912
+ return render_template('escuchar_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha)
913
+ else:
914
+ return render_template('escuchar_admision.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha)
915
+ elif len(output)>=1:
916
+ titulo=[]
917
+ nid=[]
918
+ result_busqueda={}
919
+ for text in output:
920
+ nid.append(text["nid"])
921
+ for nid1 in nid:
922
+ connector = aiohttp.TCPConnector(ssl=True)
923
+ async with aiohttp.ClientSession(connector=connector) as session:
924
+ r1 = await session.get('https://orva.tedcas.com/api/intervenciones/'+str(nid1), auth=auth)
925
+ data1=await r1.json()
926
+ data1=data1[0]
927
+ data2=data1['field_pdf']
928
+ data2=data2[0]
929
+ result_busqueda[data1['title']]="https://orva.tedcas.com/"+str(data2['url'])
930
+ if len(output2)==0:
931
+ return render_template('escuchar_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha )
932
+ else:
933
+ return render_template('escuchar_admision.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha )
934
+ else:
935
+ return render_template('escuchar_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,prediction_text="No te he entendido bien, dale al boton `Escuchar´ y repite tu pregunta",result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha )
936
+
937
+ @app.route("/buscador_uro", methods=['GET','POST'])
938
+ async def buscador_uro():
939
+ lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png')
940
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
941
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
942
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
943
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
944
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
945
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
946
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
947
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
948
+ query=str(request.form.to_dict())
949
+ query=adaptar_salida(query)
950
+ result_busqueda={}
951
+ result_busqueda[""]=""
952
+ if len(query)==0:
953
+ return render_template('buscador_uro.html',result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
954
+ elif query!=None or "{}":
955
+ url=1620
956
+ output=await cargar_base_datos(query,url)
957
+ output2=await buscar_faq(query,1)
958
+ if output==None :
959
+ if len(output2)==0:
960
+ return render_template('buscador_uro.html',result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
961
+ else:
962
+ return render_template('buscador_uro.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
963
+ elif len(output)>=1:
964
+ titulo=[]
965
+ nid=[]
966
+ result_busqueda={}
967
+ for text in output:
968
+ titulo.append(text["title"])
969
+ nid.append(text["nid"])
970
+ for i,text in enumerate(titulo):
971
+ result_busqueda[nid[i]]=text
972
+ if len(output2)!=0:
973
+ return render_template('buscador_uro1.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
974
+ else:
975
+ return render_template('buscador_uro1.html',result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 )
976
+
977
+ @app.route("/resultado_uro", methods=['GET','POST'])
978
+ async def resultado_uro():
979
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
980
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
981
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
982
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
983
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
984
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
985
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
986
+ nid=request.args.get('link')
987
+ output,tipo=await cargar_tipo(nid,1620)
988
+ title=output['title']
989
+ if tipo=="Intervencion":
990
+ print("hola1")
991
+ instrumental,texto_cajas=await cargar_caja(str(nid),'Instrumental - Cajas: ')
992
+ return render_template('intervencion_uro.html',user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,instrumental=instrumental,texto_cajas=texto_cajas, title=title, user_image6=ajustes,user_image7=flecha,nid2=nid )
993
+ elif tipo=='Caja':
994
+ texto_ubi,file_ubi,file_texto_ubi=await cargar_archivo("ubicacion","Ubicacion: ","cajas/"+str(nid))
995
+ file_imagen=await cargar_archivo("image","Imagen: ","cajas/"+str(nid))
996
+ files_instru, texto_instru=await cargar_archivo_grande("title_material","Instrumental : ","cajas/"+str(nid))
997
+ if len(title)==1:
998
+ return render_template('caja_trauma1.html',title=title,files_instru=files_instru, texto_instru=texto_instru,texto_ubi=texto_ubi,file_texto_ubi=file_texto_ubi,file_imagen=file_imagen,user_image6=ajustes,user_image7=flecha )
999
+ else:
1000
+ return render_template('caja_trauma.html',title=title,files_instru=files_instru, texto_instru=texto_instru,texto_ubi=texto_ubi,file_texto_ubi=file_texto_ubi,file_imagen=file_imagen,user_image6=ajustes,user_image7=flecha )
1001
+ elif tipo=='Instrumental':
1002
+ print("hola2")
1003
+ cajas=await cargar_instrumental(nid,'listado_completo_cajas/1620')
1004
+ if len(cajas)==1:
1005
+ return render_template('instrumental_uro1.html',cajas=cajas,texto='El instrumental que buscas esta presente en las siguientes cajas: ',title=title,user_image6=ajustes,user_image7=flecha )
1006
+ else:
1007
+ return render_template('instrumental_uro.html',cajas=cajas,texto='El instrumental que buscas esta presente en las siguientes cajas: ',title=title,user_image6=ajustes,user_image7=flecha )
1008
+
1009
+ @app.route("/protocolos_uro", methods=['GET','POST'])
1010
+ async def protocolos_uro():
1011
+ nid2=request.args.get('link2')
1012
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
1013
+ protocolos=await boton_word_ppt(1620,"field_protocolo",nid2)
1014
+ if len(protocolos)==1:
1015
+ return render_template('protocolo1.html',protocolos=protocolos,user_image7=flecha)
1016
+ else:
1017
+ return render_template('protocolo.html',protocolos=protocolos,user_image7=flecha)
1018
+
1019
+ @app.route("/guia_visual_uro", methods=['GET','POST'])
1020
+ async def guia_visual_uro():
1021
+ nid2=request.args.get('link2')
1022
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
1023
+ guia_visual=await boton_word_ppt(1620,"field_guia_visual",nid2)
1024
+ if len(guia_visual)==1:
1025
+ return render_template('guia_visual1.html',guia_visual=guia_visual,user_image7=flecha)
1026
+ else:
1027
+ return render_template('guia_visual.html',guia_visual=guia_visual,user_image7=flecha)
1028
+
1029
+ @app.route("/pdf_casa_uro", methods=['GET','POST'])
1030
+ async def pdf_casa_uro():
1031
+ nid2=request.args.get('link2')
1032
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
1033
+ titulos=await boton_pdf_video(1620,"field_pdf",nid2)
1034
+ contador_pdf_uro = 0
1035
+ for titulo1, pdfs in titulos.items():
1036
+ for titulo2, url in pdfs.items():
1037
+ contador_pdf_uro = contador_pdf_uro + 1
1038
+ if len(titulos.items())==1:
1039
+ if contador_pdf_uro==1:
1040
+ print("bien")
1041
+ return render_template('pdf_casa_comercial1.html',user_image7=flecha,titulos=titulos)
1042
+ else:
1043
+ return render_template('pdf_casa_comercial.html',user_image7=flecha,titulos=titulos)
1044
+ else:
1045
+ return render_template('pdf_casa_comercial.html',user_image7=flecha,titulos=titulos)
1046
+
1047
+ @app.route("/videos_uro", methods=['GET','POST'])
1048
+ async def videos_uro():
1049
+ nid2=request.args.get('link2')
1050
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
1051
+ titulos=await boton_pdf_video(1620,"field_video",nid2)
1052
+ contador_videos_uro=0
1053
+ for titulo1, pdfs in titulos.items():
1054
+ for titulo2, url in pdfs.items():
1055
+ contador_videos_uro = contador_videos_uro + 1
1056
+ if len(titulos.items())==1:
1057
+ if contador_videos_uro==1:
1058
+ return render_template('videos1.html',user_image7=flecha,titulos=titulos)
1059
+ else:
1060
+ return render_template('videos.html',user_image7=flecha,titulos=titulos)
1061
+ else:
1062
+ return render_template('videos.html',user_image7=flecha,titulos=titulos)
1063
+
1064
+ @app.route("/materiales_uro", methods=['GET','POST'])
1065
+ async def materiales_uro():
1066
+ nid2=request.args.get('link2')
1067
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
1068
+ cajas=await boton_materiales(1620,nid2)
1069
+ if len(cajas[''])==0:
1070
+ return render_template('materiales_uro.html',user_image7=flecha,cajas=cajas,no_hay="No hay instrumental")
1071
+ else:
1072
+ if len(cajas)==1:
1073
+ return render_template('materiales_uro1.html',user_image7=flecha,cajas=cajas)
1074
+ else:
1075
+ return render_template('materiales_uro.html',user_image7=flecha,cajas=cajas)
1076
+
1077
+ @app.route("/escuchar_uro1", methods=['GET','POST'])
1078
+ async def escuchar_uro1():
1079
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
1080
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
1081
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
1082
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
1083
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
1084
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
1085
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
1086
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
1087
+ return render_template('escuchar_uro1.html',nid2=0,prediction_text="Dale a `Escuchar´ y haz tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
1088
+
1089
+ @app.route("/escuchar_uro", methods=['GET','POST'])
1090
+ async def escuchar_uro():
1091
+ guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png')
1092
+ materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png')
1093
+ pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg')
1094
+ protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg')
1095
+ visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png')
1096
+ micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png')
1097
+ ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png')
1098
+ flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png')
1099
+ query = takeCommand()
1100
+ query=str(query).lower()
1101
+ query=query.split()
1102
+ result_busqueda={}
1103
+ result_busqueda[""]=""
1104
+ if query[0]!="none":
1105
+ url=1620
1106
+ output=await cargar_base_datos(query,url)
1107
+ output2=await buscar_faq(query,0)
1108
+ if output==None:
1109
+ if len(output2)==0:
1110
+ return render_template('escuchar_uro.html',nid2=0,result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda",user_image6=ajustes,user_image7=flecha,user_image5=micro,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
1111
+ else:
1112
+ return render_template('escuchar_uro.html',nid2=0,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
1113
+ elif len(output)>=1:
1114
+ titulo=[]
1115
+ nid=[]
1116
+ result_busqueda={}
1117
+ for text in output:
1118
+ titulo.append(text["title"])
1119
+ nid.append(text["nid"])
1120
+ for i,text in enumerate(titulo):
1121
+ result_busqueda[nid[i]]=text
1122
+
1123
+ if len(output2)==0:
1124
+ return render_template('escuchar_uro.html',nid2=0,result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
1125
+ else:
1126
+ return render_template('escuchar_uro.html',nid2=0,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
1127
+ else :
1128
+ return render_template('escuchar_uro.html',nid2=0,result_busqueda=result_busqueda,prediction_text="No te he entendido bien, dale al boton `Escuchar´ y repite tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales )
1129
+
1130
+ @app.route("/ajustes")
1131
+ async def ajustes():
1132
+ estrella = os.path.join(app.config['UPLOAD_FOLDER'], 'estrella.png')
1133
+ return render_template('ajustes.html',user_image7=estrella)
1134
+
1135
+ if __name__ == "__main__":
1136
+ app.run(host="0.0.0.0", port=5000)#7860)
1137
+
1138
+
preguntas_qh_tags2.xlsx ADDED
Binary file (26 kB). View file
 
static/IMG/adm.jpeg ADDED
static/IMG/ajustes.png ADDED
static/IMG/ambulancias_img.jpg ADDED
static/IMG/estrella.png ADDED
static/IMG/flecha.png ADDED
static/IMG/guia_visual.png ADDED
static/IMG/lupa.png ADDED
static/IMG/mapa_camas_img.jpg ADDED
static/IMG/materiales.png ADDED
static/IMG/micro.png ADDED
static/IMG/otros_img.png ADDED
static/IMG/pdf_casa.jpg ADDED
static/IMG/programacion_img.png ADDED
static/IMG/protocolo.jpg ADDED
static/IMG/tijerass.png ADDED
static/IMG/trauma.jpeg ADDED
static/IMG/uro.jpeg ADDED
static/IMG/visualizar_video.png ADDED
static/js/app.js ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //webkitURL is deprecated but nevertheless
2
+ URL = window.URL || window.webkitURL;
3
+
4
+ var gumStream; //stream from getUserMedia()
5
+ var rec; //Recorder.js object
6
+ var input; //MediaStreamAudioSourceNode we'll be recording
7
+
8
+ // shim for AudioContext when it's not avb.
9
+ var AudioContext = window.AudioContext || window.webkitAudioContext;
10
+ var audioContext //audio context to help us record
11
+
12
+ var recordButton = document.getElementById("recordButton");
13
+ var stopButton = document.getElementById("stopButton");
14
+ var pauseButton = document.getElementById("pauseButton");
15
+
16
+ //add events to those 2 buttons
17
+ recordButton.addEventListener("click", startRecording);
18
+ stopButton.addEventListener("click", stopRecording);
19
+ pauseButton.addEventListener("click", pauseRecording);
20
+
21
+ function startRecording() {
22
+ console.log("recordButton clicked");
23
+
24
+ /*
25
+ Simple constraints object, for more advanced audio features see
26
+ https://addpipe.com/blog/audio-constraints-getusermedia/
27
+ */
28
+
29
+ var constraints = { audio: true, video: false }
30
+
31
+ /*
32
+ Disable the record button until we get a success or fail from getUserMedia()
33
+ */
34
+
35
+ recordButton.disabled = true;
36
+ stopButton.disabled = false;
37
+ pauseButton.disabled = false
38
+
39
+ /*
40
+ We're using the standard promise based getUserMedia()
41
+ https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
42
+ */
43
+
44
+ navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
45
+ console.log("getUserMedia() success, stream created, initializing Recorder.js ...");
46
+
47
+ /*
48
+ create an audio context after getUserMedia is called
49
+ sampleRate might change after getUserMedia is called, like it does on macOS when recording through AirPods
50
+ the sampleRate defaults to the one set in your OS for your playback device
51
+ */
52
+ audioContext = new AudioContext();
53
+
54
+ //update the format
55
+ document.getElementById("formats").innerHTML = "Format: 1 channel pcm @ " + audioContext.sampleRate / 1000 + "kHz"
56
+
57
+ /* assign to gumStream for later use */
58
+ gumStream = stream;
59
+
60
+ /* use the stream */
61
+ input = audioContext.createMediaStreamSource(stream);
62
+
63
+ /*
64
+ Create the Recorder object and configure to record mono sound (1 channel)
65
+ Recording 2 channels will double the file size
66
+ */
67
+ rec = new Recorder(input, { numChannels: 1 })
68
+
69
+ //start the recording process
70
+ rec.record()
71
+
72
+ console.log("Recording started");
73
+
74
+ }).catch(function (err) {
75
+ //enable the record button if getUserMedia() fails
76
+ recordButton.disabled = false;
77
+ stopButton.disabled = true;
78
+ pauseButton.disabled = true
79
+ });
80
+ }
81
+
82
+ function pauseRecording() {
83
+ console.log("pauseButton clicked rec.recording=", rec.recording);
84
+ if (rec.recording) {
85
+ //pause
86
+ rec.stop();
87
+ pauseButton.innerHTML = "Resume";
88
+ } else {
89
+ //resume
90
+ rec.record()
91
+ pauseButton.innerHTML = "Pause";
92
+
93
+ }
94
+ }
95
+
96
+ function stopRecording() {
97
+ console.log("stopButton clicked");
98
+
99
+ //disable the stop button, enable the record too allow for new recordings
100
+ stopButton.disabled = true;
101
+ recordButton.disabled = false;
102
+ pauseButton.disabled = true;
103
+
104
+ //reset button just in case the recording is stopped while paused
105
+ pauseButton.innerHTML = "Pause";
106
+
107
+ //tell the recorder to stop the recording
108
+ rec.stop();
109
+
110
+ //stop microphone access
111
+ gumStream.getAudioTracks()[0].stop();
112
+
113
+ //create the wav blob and pass it on to createDownloadLink
114
+ rec.exportWAV(createDownloadLink);
115
+ }
116
+
117
+ function createDownloadLink(blob) {
118
+
119
+ var url = URL.createObjectURL(blob);
120
+ var au = document.createElement('audio');
121
+ var li = document.createElement('li');
122
+ var link = document.createElement('a');
123
+
124
+ //name of .wav file to use during upload and download (without extendion)
125
+ var filename = new Date().toISOString();
126
+
127
+ //add controls to the <audio> element
128
+ au.controls = true;
129
+ au.src = url;
130
+
131
+ //save to disk link
132
+ link.href = url;
133
+ link.download = filename + ".wav"; //download forces the browser to donwload the file using the filename
134
+ link.innerHTML = "Save to disk";
135
+
136
+ //add the new audio element to li
137
+ li.appendChild(au);
138
+
139
+ //add the filename to the li
140
+ li.appendChild(document.createTextNode(filename + ".wav "))
141
+
142
+ //add the save to disk link to li
143
+ li.appendChild(link);
144
+
145
+ //upload link
146
+ var upload = document.createElement('a');
147
+ upload.href = "#";
148
+ upload.innerHTML = "Upload";
149
+ upload.addEventListener("click", function (event) {
150
+ var xhr = new XMLHttpRequest();
151
+ xhr.onload = function (e) {
152
+ if (this.readyState === 4) {
153
+ console.log("Server returned: ", e.target.responseText);
154
+ }
155
+ };
156
+
157
+ // Supongamos que "data" es una cadena de bytes en formato WAV
158
+ var formData = new FormData();
159
+ // Supongamos que "audioBlob" es un objeto Blob que contiene el audio WAV
160
+ formData.append("audio_data", blob, "archivo.wav");
161
+ xhr.open("POST", "/escuchar_trauma", true);
162
+ console.log("POST")
163
+ xhr.onreadystatechange = function () {
164
+ if (xhr.readyState === 4 && xhr.status === 200) {
165
+ // Manejar la respuesta del servidor
166
+ console.log("Respuesta del servidor:", xhr.responseText);
167
+ ////////////////////////////////////////////////////////
168
+ // Muestra el resultado del reconocimiento en el cuadro de texto
169
+ //document.getElementById("responseTextBox").value = xhr.responseText;
170
+ // Buscar el contenido dentro de las etiquetas <p></p>
171
+ //var parser = new DOMParser();
172
+ //var responseHTML = parser.parseFromString(xhr.responseText, 'text/html');
173
+ /*var paragraphContent = responseHTML.querySelector('p').textContent;*/
174
+
175
+ // Muestra el resultado del reconocimiento en el cuadro de texto
176
+ //document.getElementById("responseTextBox").value = paragraphContent;
177
+ // Muestra el resultado del reconocimiento como texto plano
178
+ //var textElement = document.getElementById("textElement"); // Reemplaza "textElement" con el ID adecuado
179
+ //textElement.textContent = paragraphContent;
180
+ //////////////////////////////////////////////////////////
181
+ }
182
+ };
183
+ xhr.send(formData);
184
+
185
+ //////////////////////////////////////////
186
+
187
+
188
+ // 4. This will be called after the response is received
189
+ xhr.onload = function () {
190
+ if (xhr.status != 200) {
191
+ // analyze HTTP status of the response
192
+ alert(`Error ${xhr.status}: ${xhr.statusText}`);
193
+ // e.g. 404: Not Found
194
+ } else { // show the result
195
+ $('body').html(xhr.response)
196
+ }
197
+ };
198
+
199
+
200
+
201
+
202
+ ///////////////////////////////////////////
203
+
204
+
205
+
206
+
207
+ })
208
+ li.appendChild(document.createTextNode(" "))//add a space in between
209
+ li.appendChild(upload)//add the upload link to li
210
+
211
+ //add the li element to the ol
212
+ recordingsList.appendChild(li);
213
+
214
+
215
+
216
+
217
+
218
+ }
templates/ajustes.html ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 2.5rem;background-color: purple;">AJUSTES:</h2>
12
+
13
+ <form action="{{url_for('buscador_trauma')}}" method="post">
14
+ <h3 onclick="location.href='http://127.0.0.1:5000/especialidad'"style="font-size=1.6rem"> <img src="{{ user_image7 }}" alt="" width="5%">Cambiar de especialidad</h3>
15
+
16
+ </form>
17
+
18
+
19
+ <br>
20
+ <br>
21
+
22
+ </div>
23
+ </body>
24
+ </html>
templates/ambulancias.html ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: lightcyan;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/buscador_admision'"> Ambulancias: </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+
15
+ <form action="{{url_for('ambulancias')}}" method="post">
16
+
17
+
18
+
19
+
20
+ {% for titulo,url in text.items() %}
21
+
22
+ <a href="{{url}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
23
+ <br>
24
+ <br>
25
+ {% endfor %}
26
+
27
+ </form>
28
+
29
+
30
+
31
+
32
+ </div>
33
+ </body>
34
+ </html>
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ </div>
46
+ </body>
47
+ </html>
templates/buscador_admision.html ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <!DOCTYPE html>
3
+ <html>
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title> Quirohelp </title>
7
+
8
+
9
+ </head>
10
+ <body>
11
+ <div class="login22">
12
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: gray;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Admisión: </h2>
13
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
14
+ <hr/>
15
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Barra de busqueda:</h2>
16
+ <form action="{{url_for('buscador_admision')}}" method="post">
17
+ <input type="search" name="busqueda" placeholder="Escriba aquí la busqueda a realizar" style="box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);width: 70%; border:3px solid black; border-radius: 10px;font-size: 1.5rem;"required="required" >
18
+
19
+
20
+ <button type="submit" class="btn btn-primary btn-block btn-large" style="padding-bottom: 1%;width:4%;background-color: rgb(0, 128, 255);border:1px solid white; border-radius: 30%;box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);" > <img src="{{ user_image4 }}" alt="" style="max-width:100%;padding-bottom: 0.5%;" > </button>
21
+ <br>
22
+ <br>
23
+ <button type="button" name="escu" style="padding-right: 78%;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.4rem;background-color: white; border: solid white" onclick="location.href='http://127.0.0.1:5000/escuchar_admision1'">Ir al asistente de voz: <img src="{{ user_image5 }}" style="max-width:20%;border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" onclick="location.href='http://127.0.0.1:5000/escuchar_admision1'"></button>
24
+ <br>
25
+ <br>
26
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
27
+ {% for titulo,link in result_busqueda.items() %}
28
+
29
+ <a href="{{link}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
30
+ <br>
31
+ <br>
32
+ {% endfor %}
33
+
34
+ <b style="font-size: 1.5rem;font-family: Arial, Helvetica, sans-serif;">{{faq_titulo}}</b>
35
+ <br>
36
+ <br>
37
+ {% for faq in faqs %}
38
+
39
+
40
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{faq}}</b>
41
+ <br>
42
+ <br>
43
+
44
+ {% endfor %}
45
+
46
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
47
+ <br>
48
+ <br>
49
+ <img src="{{ user_image8 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/mapa_camas'">
50
+ <img src="{{ user_image9 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/ambulancias'" >
51
+
52
+
53
+ <br>
54
+ <img src="{{ user_image10 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/programacion_quirurgica'">
55
+ <img src="{{ user_image11 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/otros'" >
56
+
57
+
58
+ </form>
59
+
60
+ </div>
61
+ </body>
62
+ </html>
templates/buscador_trauma.html ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: darkcyan;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='/especialidad'"> Traumatología</h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;"></h3>
13
+ <hr />
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Barra de busqueda:</h2>
15
+ <form action="{{url_for('buscador_trauma')}}" method="post">
16
+ <input type="search" name="busqueda" placeholder="Escriba aquí la busqueda a realizar" style="box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);width: 70%; border:3px solid black; border-radius: 10px;font-size: 1.5rem;" required="required">
17
+
18
+
19
+ <button type="submit" class="btn btn-primary btn-block btn-large" style="padding-bottom: 1%;width:4%;background-color: rgb(0, 128, 255);border:1px solid white; border-radius: 30%;box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);"> <img src="{{ user_image4 }}" alt="" style="max-width:100%;padding-bottom: 0.5%;"> </button>
20
+ <br>
21
+
22
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
23
+ {% for nid,titulo in result_busqueda.items() %}
24
+
25
+ <a href="location.href='/resultado_trauma?link={{nid}}" style="font-size: 1.8rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
26
+ <br>
27
+ <br>
28
+ {% endfor %}
29
+
30
+ <b style="font-size: 1.5rem;font-family: Arial, Helvetica, sans-serif;">{{faq_titulo}}</b>
31
+ <br>
32
+ <br>
33
+ {% for faq in faqs %}
34
+
35
+
36
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{faq}}</b>
37
+ <br>
38
+ <br>
39
+
40
+ {% endfor %}
41
+
42
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
43
+ <table id="miTabla" style="border-collapse: collapse; border: none;">
44
+ <tr>
45
+ <td>
46
+ <img src="{{ user_image8 }}" style="max-width:70%;" onclick="location.href='/pdf_casa_trauma?link2={{nid2}}'">
47
+ </td>
48
+ <td>
49
+ <img src="{{ user_image9 }}" style="max-width:70%;" onclick="location.href='/protocolos_trauma?link2={{nid2}}'">
50
+ </td>
51
+ <td>
52
+ <img src="{{ user_image10 }}" style="max-width:70%;" onclick="location.href='/guia_visual_trauma?link2={{nid2}}'">
53
+ </td>
54
+ </tr>
55
+ <tr>
56
+ <td>
57
+ <img src="{{ user_image11 }}" style="max-width:70%;" onclick="location.href='/videos_trauma?link2={{nid2}}'">
58
+ </td>
59
+ <td>
60
+ <img src="{{ user_image12 }}" style="max-width:70%;" onclick="location.href='/materiales_trauma?link2={{nid2}}'">
61
+ </td>
62
+ <td>
63
+ <img src="{{ preguntas_respuestas }}" style="max-width:60%;" onclick="location.href='/preguntas_respuestas_trauma?link2={{nid2}}'">
64
+ <br />
65
+ <img src="{{ user_image5 }}" style="max-width:60%;border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" onclick="location.href='/escuchar_trauma1'">
66
+ </td>
67
+ </tr>
68
+ </table>
69
+ <br>
70
+
71
+ <br>
72
+ <br>
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ </form>
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+ </div>
93
+ </body>
94
+ </html>
templates/buscador_trauma1.html ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: darkcyan;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='/especialidad'"> Traumatología</h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;"></h3>
13
+ <hr />
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Barra de busqueda:</h2>
15
+ <form action="{{url_for('buscador_trauma')}}" method="post">
16
+ <input type="search" name="busqueda" placeholder="Escriba aquí la busqueda a realizar" style="box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);width: 70%; border:3px solid black; border-radius: 10px;font-size: 1.5rem;" required="required">
17
+
18
+
19
+ <button type="submit" class="btn btn-primary btn-block btn-large" style="padding-bottom: 1%;width:4%;background-color: rgb(0, 128, 255);border:1px solid white; border-radius: 30%;box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);"> <img src="{{ user_image4 }}" alt="" style="max-width:100%;padding-bottom: 0.5%;"> </button>
20
+ <br>
21
+ <br>
22
+ <button type="button" name="escu" style="padding-right: 78%;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.4rem;background-color: white; border: solid white" onclick="location.href='/escuchar_trauma1'">Ir al asistente de voz: <img src="{{ user_image5 }}" style="max-width:35%;border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" onclick="location.href='/escuchar_trauma1'"></button>
23
+ <br>
24
+ <br>
25
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
26
+ {% for nid,titulo in result_busqueda.items() %}
27
+
28
+ <a href="/resultado_trauma?link={{nid}}" style="font-size: 1.8rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
29
+ <br>
30
+ <br>
31
+ {% endfor %}
32
+
33
+ <b style="font-size: 1.5rem;font-family: Arial, Helvetica, sans-serif;">{{faq_titulo}}</b>
34
+ <br>
35
+ <br>
36
+ {% for faq in faqs %}
37
+
38
+
39
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{faq}}</b>
40
+ <br>
41
+ <br>
42
+
43
+ {% endfor %}
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+ </form>
55
+
56
+
57
+
58
+
59
+
60
+ </div>
61
+ </body>
62
+ </html>
templates/buscador_uro.html ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: saddlebrown;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Urología </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Barra de busqueda:</h2>
15
+ <form action="{{url_for('buscador_uro')}}" method="post">
16
+ <input type="search" name="busqueda" placeholder="Escriba aquí la busqueda a realizar" style="box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);width: 50%; border:2% solid black; border-radius: 0.5rem;font-size: 1.5rem;"required="required" >
17
+
18
+
19
+ <button type="submit" class="btn btn-primary btn-block btn-large" style="padding-bottom: 1%;width:4%;background-color: rgb(0, 128, 255);border:solid white; border-radius: 0.8rem;box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);" > <img src="{{ user_image4 }}" alt="" style="max-width:100%;padding-bottom: 0.5%;" > </button>
20
+ <br>
21
+
22
+ <br>
23
+ <button type="button" name="escu" style="padding-right: 78%;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.4rem;background-color: white; border: solid white" onclick="location.href='http://127.0.0.1:5000/escuchar_uro1'">Ir al asistente de voz: <img src="{{ user_image5 }}" style="max-width:20%;border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" onclick="location.href='http://127.0.0.1:5000/escuchar_uro1'"></button>
24
+ <br>
25
+ <br>
26
+
27
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
28
+ <br>
29
+
30
+
31
+ {% for nid,titulo in result_busqueda.items() %}
32
+
33
+ <a href="http://127.0.0.1:5000/resultado_uro?link={{nid}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
34
+ <br>
35
+ <br>
36
+ {% endfor %}
37
+
38
+ <b style="font-size: 1.5rem;font-family: Arial, Helvetica, sans-serif;">{{faq_titulo}}</b>
39
+ <br>
40
+ <br>
41
+ {% for faq in faqs %}
42
+
43
+
44
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{faq}}</b>
45
+ <br>
46
+ <br>
47
+
48
+ {% endfor %}
49
+
50
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
51
+ <br>
52
+ <br>
53
+ <img src="{{ user_image8 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/pdf_casa_uro?link2={{nid2}}'">
54
+ <img src="{{ user_image9 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/protocolos_uro?link2={{nid2}}'" >
55
+ <img src="{{ user_image10 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/guia_visual_uro?link2={{nid2}}'" >
56
+ <br>
57
+ <img src="{{ user_image11 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/videos_uro?link2={{nid2}}'">
58
+ <img src="{{ user_image12 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/materiales_uro?link2={{nid2}}'">
59
+
60
+
61
+
62
+
63
+
64
+
65
+ </form>
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+ </div>
77
+ </body>
78
+ </html>
templates/caja_trauma.html ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: coral;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Materiales - Cajas : </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.6rem;">{{title}} :</h2>
15
+ <form action="{{url_for('resultado_trauma')}}" method="post">
16
+
17
+ <br>
18
+ <strong style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{texto_ubi}}</b>
19
+ <strong style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;" >{{file_texto_ubi}}</strong>
20
+ <br>
21
+ <br>
22
+ {% for file in file_imagen %}
23
+ <img src="{{file}}" alt="" style="max-width: 100%;">
24
+ {% endfor %}
25
+ <br>
26
+ <br>
27
+ <strong style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{texto_instru}}</strong>
28
+ <br>
29
+ <br>
30
+ {% for file_instru in files_instru %}
31
+ <li>
32
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;" >{{file_instru}}</b>
33
+ </li>
34
+ <br>
35
+ {% endfor %}
36
+
37
+
38
+
39
+
40
+
41
+ </form>
42
+
43
+
44
+ <br>
45
+ <br>
46
+
47
+
48
+ </div>
49
+ </body>
50
+ </html>
templates/escuchar_admision.html ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: gray;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Admisión: </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.7rem;">Asistente de voz:</h2>
15
+ <form action="{{url_for('escuchar_admision')}}" method="post">
16
+ <button type="submit" style="padding-right: 85%;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.2rem;padding-left: 1%;background-color: white; border: solid white" >Escuchar: <img src="{{ user_image5 }}" width="30% " style=" border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" ></button>
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+ <br>
25
+ <br>
26
+
27
+ <b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
28
+ {% for titulo,link in result_busqueda.items() %}
29
+
30
+ <a href="{{link}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
31
+ <br>
32
+ <br>
33
+ {% endfor %}
34
+
35
+ <b style="font-size: 1.5rem;font-family: Arial, Helvetica, sans-serif;">{{faq_titulo}}</b>
36
+ <br>
37
+ <br>
38
+
39
+ {% for faq in faqs %}
40
+
41
+
42
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{faq}}</b>
43
+ <br>
44
+ <br>
45
+
46
+ {% endfor %}
47
+
48
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
49
+ <br>
50
+ <br>
51
+ <img src="{{ user_image8 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/mapa_camas'">
52
+ <img src="{{ user_image9 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/ambulancias'" >
53
+
54
+
55
+ <br>
56
+ <img src="{{ user_image10 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/programacion_quirurgica'">
57
+ <img src="{{ user_image11 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/otros'" >
58
+
59
+
60
+ </form>
61
+
62
+
63
+ </div>
64
+ </body>
65
+ </html>
templates/escuchar_admision1.html ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: gray;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Admisión: </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.7rem;">Asistente de voz:</h2>
15
+ <form action="{{url_for('escuchar_admision1')}}" method="post">
16
+ <button type="button" style="padding-right: 85%;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.2rem;padding-left: 1%;background-color: white; border: solid white" onclick="location.href='http://127.0.0.1:5000/escuchar_admision'">Escuchar: <img src="{{ user_image5 }}" width="30% " style=" border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" onclick="location.href='http://127.0.0.1:5000/escuchar_admision'"></button>
17
+
18
+
19
+
20
+
21
+ </form>
22
+
23
+
24
+ <br>
25
+ <br>
26
+
27
+ <b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
28
+
29
+ <br>
30
+ <br>
31
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
32
+ <br>
33
+ <br>
34
+ <img src="{{ user_image8 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/mapa_camas'">
35
+ <img src="{{ user_image9 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/ambulancias'" >
36
+
37
+
38
+ <br>
39
+ <img src="{{ user_image10 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/programacion_quirurgica'">
40
+ <img src="{{ user_image11 }}" style="max-width:30%;" onclick="location.href='http://127.0.0.1:5000/otros'" >
41
+
42
+
43
+
44
+
45
+ </div>
46
+ </body>
47
+ </html>
templates/escuchar_trauma.html ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--<!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: darkcyan;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='/escuchar_trauma1'"> Traumatología</h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;"></h3>
13
+ <hr />
14
+ <form action="{{url_for('escuchar_trauma')}}" method="post">
15
+ </form>
16
+
17
+
18
+ <br>
19
+ <br>
20
+
21
+ <b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
22
+ <br>
23
+ <br>
24
+
25
+ {% for nid,titulo in result_busqueda.items() %}
26
+
27
+ <a href="/resultado_trauma?link={{nid}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
28
+ <br>
29
+ <br>
30
+ {% endfor %}
31
+
32
+ <b style="font-size: 1.5rem;font-family: Arial, Helvetica, sans-serif;">{{faq_titulo}}</b>
33
+ <br>
34
+ <br>
35
+
36
+ {% for faq in faqs %}
37
+
38
+
39
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{faq}}</b>
40
+ <br>
41
+ <br>
42
+
43
+ {% endfor %}
44
+
45
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
46
+ <br>
47
+ <br>
48
+ <img src="{{ user_image8 }}" style="max-width:20%;" onclick="location.href='/pdf_casa_trauma?link2={{nid2}}'">
49
+ <img src="{{ user_image9 }}" style="max-width:20%;" onclick="location.href='/protocolos_trauma?link2={{nid2}}'">
50
+ <img src="{{ user_image10 }}" style="max-width:20%;" onclick="location.href='/guia_visual_trauma?link2={{nid2}}'">
51
+ <br>
52
+ <img src="{{ user_image11 }}" style="max-width:20%;" onclick="location.href='/videos_trauma?link2={{nid2}}'">
53
+ <img src="{{ user_image12 }}" style="max-width:20%;" onclick="location.href='/materiales_trauma?link2={{nid2}}'">
54
+
55
+ </div>
56
+ </body>
57
+ </html>-->
58
+
59
+ <!DOCTYPE html>
60
+ <html>
61
+ <head>
62
+ <meta charset="utf-8">
63
+ <title> Quirohelp </title>
64
+
65
+
66
+ </head>
67
+ <body>
68
+ <div class="login22">
69
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: darkcyan;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='/escuchar_trauma1'"> Traumatología</h2>
70
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;"></h3>
71
+ <hr />
72
+ <form action="{{url_for('escuchar_trauma')}}" method="post">
73
+ </form>
74
+
75
+
76
+ <br>
77
+ <br>
78
+
79
+ <b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
80
+ <br>
81
+ <br>
82
+
83
+ {% for nid,titulo in result_busqueda.items() %}
84
+
85
+ <a href="/resultado_trauma?link={{nid}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
86
+ <br>
87
+ <br>
88
+ {% endfor %}
89
+
90
+ <b style="font-size: 1.5rem;font-family: Arial, Helvetica, sans-serif;">{{faq_titulo}}</b>
91
+ <br>
92
+ <br>
93
+
94
+ {% for faq in faqs %}
95
+
96
+
97
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{faq}}</b>
98
+ <br>
99
+ <br>
100
+
101
+ {% endfor %}
102
+
103
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
104
+ <br>
105
+ <br>
106
+ <img src="{{ user_image8 }}" style="max-width:20%;" onclick="location.href='/pdf_casa_trauma?link2={{nid2}}'">
107
+ <img src="{{ user_image9 }}" style="max-width:20%;" onclick="location.href='/protocolos_trauma?link2={{nid2}}'">
108
+ <img src="{{ user_image10 }}" style="max-width:20%;" onclick="location.href='/guia_visual_trauma?link2={{nid2}}'">
109
+ <br>
110
+ <img src="{{ user_image11 }}" style="max-width:20%;" onclick="location.href='/videos_trauma?link2={{nid2}}'">
111
+ <img src="{{ user_image12 }}" style="max-width:20%;" onclick="location.href='/materiales_trauma?link2={{nid2}}'">
112
+
113
+ </div>
114
+ </body>
115
+ </html>
templates/escuchar_trauma1.html ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: darkcyan;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Traumatología</h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;"></h3>
13
+ <hr />
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.7rem;">Asistente de voz:</h2>
15
+ <form action="{{url_for('escuchar_trauma1')}}" method="post">
16
+ <button type="button" style="padding-right: 85%;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.2rem;padding-left: 1%;background-color: white; border: solid white" onclick="location.href='http://127.0.0.1:5000/escuchar_trauma'">Escuchar: <img src="{{ user_image5 }}" width="30% " style=" border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" onclick="location.href='http://127.0.0.1:5000/escuchar_trauma'"></button>
17
+
18
+
19
+
20
+ </form>
21
+ <!---------------------------------------------------------------------------------------->
22
+
23
+ <div id="controls">
24
+ <button id="recordButton">Record</button>
25
+ <button id="pauseButton" disabled>Pause</button>
26
+ <button id="stopButton" disabled>Stop</button>
27
+ </div>
28
+ <div id="formats">Format: start recording to see sample rate</div>
29
+ <p><strong>Recordings:</strong></p>
30
+ <ol id="recordingsList"></ol>
31
+
32
+
33
+
34
+
35
+
36
+ <!-- inserting these scripts at the end to be able to use all the elements in the DOM -->
37
+ <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
38
+ <script src="https://cdn.rawgit.com/mattdiamond/Recorderjs/08e7abd9/dist/recorder.js"></script>
39
+ <script src="/static/js/app.js"></script>
40
+ <!-- Agrega un cuadro de texto para mostrar la respuesta -->
41
+ <!--<input type="text" id="responseTextBox" readonly>-->
42
+ <!--<div id="textElement">-->
43
+ <!-- El texto plano se mostrará aquí -->
44
+ <!--</div>-->
45
+ <!--<h1>Grabación de Audio</h1>
46
+ <button id="start-recording">Iniciar Grabación</button>
47
+ <button id="stop-recording" style="display: none;">Detener Grabación</button>
48
+ <button id="play-audio" style="display: none;">Reproducir Audio</button>
49
+
50
+ <audio id="audio-player" controls style="display: none;"></audio>
51
+
52
+ <script>
53
+ let audioChunks = [];
54
+ let mediaRecorder;
55
+ let audioContext;
56
+
57
+ const startRecordingButton = document.getElementById('start-recording');
58
+ const stopRecordingButton = document.getElementById('stop-recording');
59
+ const playAudioButton = document.getElementById('play-audio');
60
+ const audioPlayer = document.getElementById('audio-player');
61
+
62
+ startRecordingButton.addEventListener('click', startRecording);
63
+ stopRecordingButton.addEventListener('click', stopRecording);
64
+ stopRecordingButton.addEventListener('click', () => {
65
+ stopRecording();
66
+ sendAudioToServer();
67
+ });
68
+ playAudioButton.addEventListener('click', playAudio);
69
+
70
+ function startRecording() {
71
+ startRecordingButton.style.display = 'none';
72
+ stopRecordingButton.style.display = 'block';
73
+ //playAudioButton.style.display = 'none';
74
+
75
+ navigator.mediaDevices.getUserMedia({ audio: true })
76
+ .then(stream => {
77
+ audioContext = new AudioContext();
78
+ mediaRecorder = new MediaRecorder(stream);
79
+ mediaRecorder.ondataavailable = event => {
80
+ if (event.data.size > 0) {
81
+ audioChunks.push(event.data);
82
+ }
83
+ };
84
+ mediaRecorder.onstop = () => {
85
+ playAudioButton.style.display = 'block';
86
+ };
87
+ mediaRecorder.start();
88
+ })
89
+ .catch(error => {
90
+ console.error('Error al acceder al micrófono: ' + error);
91
+ });
92
+ }
93
+
94
+ function stopRecording() {
95
+ startRecordingButton.style.display = 'block';
96
+ stopRecordingButton.style.display = 'none';
97
+ mediaRecorder.stop();
98
+ }
99
+
100
+ function playAudio() {
101
+ const audioBlob = new Blob(audioChunks, { type: 'audio/wav' });
102
+ const audioUrl = URL.createObjectURL(audioBlob);
103
+ audioPlayer.src = audioUrl;
104
+ audioPlayer.style.display = 'block';
105
+ audioPlayer.play();
106
+ }-->
107
+ <!--// function sendAudioToServer() {
108
+ // const formData = new FormData();
109
+ // const audioBlob = new Blob(audioChunks, { type: 'audio/wav' });
110
+ // formData.append('audio', audioBlob);
111
+
112
+ // fetch("/escuchar_trauma", {
113
+ // method: "POST",
114
+ // body: formData
115
+ // })
116
+ // .then(response => response.json())
117
+ // .then(data => {
118
+ // console.log(data.result);
119
+ // })
120
+ // .catch(error => {
121
+ // console.error(error);
122
+ // });
123
+ //}
124
+
125
+ //function sendAudioToServer() {
126
+ // // Agrega el archivo de audio al formulario
127
+ // const audioBlob = new Blob(audioChunks, { type: 'audio/wav' });
128
+ // const audioFormData = new FormData();
129
+ // audioFormData.append('audio', audioBlob);
130
+
131
+ // // Envía el formulario con el archivo al servidor
132
+ // fetch("/escuchar_trauma", {
133
+ // method: "POST",
134
+ // body: audioFormData
135
+ // })
136
+ // .then(response => response.json())
137
+ // .then(data => {
138
+ // console.log(data.result);
139
+ // })
140
+ // .catch(error => {
141
+ // console.error(error);
142
+ // });
143
+ //}-->
144
+ <!--function sendAudioToServer() {
145
+
146
+ var xhr = new XMLHttpRequest();
147
+ xhr.onload = function (e) {
148
+ if (this.readyState === 4) {
149
+ console.log("Server returned: ", e.target.responseText);
150
+ }
151
+ };
152
+ const audioBlob = new Blob(audioChunks, { type: 'audio/wav' });
153
+ const audioUrl = URL.createObjectURL(audioBlob);
154
+ // Supongamos que "data" es una cadena de bytes en formato WAV
155
+ var formData = new FormData();
156
+ // Supongamos que "audioBlob" es un objeto Blob que contiene el audio WAV
157
+ formData.append("audio_data", audioBlob, "archivo.wav");
158
+ xhr.open("POST", "/escuchar_trauma", true);
159
+ xhr.onreadystatechange = function () {
160
+ if (xhr.readyState === 4 && xhr.status === 200) {
161
+ // Manejar la respuesta del servidor
162
+ console.log("Respuesta del servidor:", xhr.responseText);
163
+ ////////////////////////////////////////////////////////
164
+ // Muestra el resultado del reconocimiento en el cuadro de texto
165
+ //document.getElementById("responseTextBox").value = xhr.responseText;
166
+ // Buscar el contenido dentro de las etiquetas <p></p>
167
+ var parser = new DOMParser();
168
+ var responseHTML = parser.parseFromString(xhr.responseText, 'text/html');
169
+ var paragraphContent = responseHTML.querySelector('p').textContent;
170
+
171
+ // Muestra el resultado del reconocimiento en el cuadro de texto
172
+ //document.getElementById("responseTextBox").value = paragraphContent;
173
+ // Muestra el resultado del reconocimiento como texto plano
174
+ var textElement = document.getElementById("textElement"); // Reemplaza "textElement" con el ID adecuado
175
+ textElement.textContent = paragraphContent;-->
176
+ <!--//////////////////////////////////////////////////////////
177
+ }
178
+ };
179
+ xhr.send(formData);
180
+ }
181
+
182
+
183
+
184
+
185
+
186
+
187
+ </script>-->
188
+
189
+
190
+
191
+
192
+ <br>
193
+ <br>
194
+
195
+ <!--<b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>-->
196
+
197
+ <br>
198
+ <br>
199
+ <!---------------------------------------------------------------------------------------->
200
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
201
+ <br>
202
+ <br>
203
+ <img src="{{ user_image8 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/pdf_casa_trauma?link2={{nid2}}'">
204
+ <img src="{{ user_image9 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/protocolos_trauma?link2={{nid2}}'">
205
+ <img src="{{ user_image10 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/guia_visual_trauma?link2={{nid2}}'">
206
+ <br>
207
+ <img src="{{ user_image11 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/videos_trauma?link2={{nid2}}'">
208
+ <img src="{{ user_image12 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/materiales_trauma?link2={{nid2}}'">
209
+
210
+ </div>
211
+ </body>
212
+ </html>
templates/escuchar_uro.html ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: saddlebrown;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Urología </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.7rem;">Asistente de voz:</h2>
15
+ <form action="{{url_for('escuchar_uro')}}" method="post">
16
+ <button type="submit" style="padding-right: 85%;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.2rem;padding-left: 1%;background-color: white; border: solid white" >Escuchar: <img src="{{ user_image5 }}" width="30% " style=" border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" ></button>
17
+
18
+
19
+
20
+
21
+ </form>
22
+
23
+
24
+ <br>
25
+ <br>
26
+
27
+ <b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
28
+ <br>
29
+ <br>
30
+
31
+ {% for nid,titulo in result_busqueda.items() %}
32
+
33
+ <a href="http://127.0.0.1:5000/resultado_uro?link={{nid}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
34
+ <br>
35
+ <br>
36
+ {% endfor %}
37
+
38
+ <b style="font-size: 1.5rem;font-family: Arial, Helvetica, sans-serif;">{{faq_titulo}}</b>
39
+ <br>
40
+ <br>
41
+
42
+ {% for faq in faqs %}
43
+
44
+
45
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{faq}}</b>
46
+ <br>
47
+ <br>
48
+
49
+ {% endfor %}
50
+
51
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
52
+ <br>
53
+ <br>
54
+ <img src="{{ user_image8 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/pdf_casa_uro?link2={{nid2}}'">
55
+ <img src="{{ user_image9 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/protocolos_uro?link2={{nid2}}'" >
56
+ <img src="{{ user_image10 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/guia_visual_uro?link2={{nid2}}'" >
57
+ <br>
58
+ <img src="{{ user_image11 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/videos_uro?link2={{nid2}}'">
59
+ <img src="{{ user_image12 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/materiales_uro?link2={{nid2}}'">
60
+
61
+ </div>
62
+ </body>
63
+ </html>
templates/escuchar_uro1.html ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: saddlebrown;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Urología </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.7rem;">Asistente de voz:</h2>
15
+ <form action="{{url_for('escuchar_uro1')}}" method="post">
16
+ <button type="button" style="padding-right: 85%;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.2rem;padding-left: 1%;background-color: white; border: solid white" onclick="location.href='http://127.0.0.1:5000/escuchar_uro'">Escuchar: <img src="{{ user_image5 }}" width="30% " style=" border-radius: 100%;box-shadow:2px 2px 2px 1px rgba(0, 0, 0, 0.2);" onclick="location.href='http://127.0.0.1:5000/escuchar_trauma'"></button>
17
+ <script>
18
+ navigator.mediaDevices.getUserMedia({ audio: true }).then((stream) => {
19
+ const mediaRecorder = new MediaRecorder(stream)
20
+ })
21
+ </script>
22
+
23
+
24
+
25
+ </form>
26
+
27
+
28
+ <br>
29
+ <br>
30
+
31
+ <b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
32
+
33
+ <br>
34
+ <br>
35
+
36
+ <b style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.8rem;">Selectores: </b>
37
+ <br>
38
+ <br>
39
+ <img src="{{ user_image8 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/pdf_casa_uro?link2={{nid2}}'">
40
+ <img src="{{ user_image9 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/protocolos_uro?link2={{nid2}}'" >
41
+ <img src="{{ user_image10 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/guia_visual_uro?link2={{nid2}}'" >
42
+ <br>
43
+ <img src="{{ user_image11 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/videos_uro?link2={{nid2}}'">
44
+ <img src="{{ user_image12 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/materiales_uro?link2={{nid2}}'">
45
+
46
+
47
+ </div>
48
+ </body>
49
+ </html>
templates/especialidad.html ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+
6
+ <title> Quirohelp </title>
7
+ <style>
8
+
9
+ .quiro {
10
+
11
+ background-color: blueviolet;
12
+ color:white;
13
+ font-size: 3.5rem;
14
+
15
+ font-family: Georgia, 'Times New Roman', Times, serif;
16
+
17
+
18
+
19
+
20
+ }
21
+
22
+
23
+
24
+
25
+ </style>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="login2">
31
+ <h1 class="quiro"><img src="{{ user_image0 }}" alt="holaaa" style="max-width: 5%;" > QuiroHelp </h1>
32
+
33
+ <p style="font-size: 1.1rem">Haz click en tu especialidad:</p>
34
+ <form action="{{url_for('especialidad')}}" method="post">
35
+
36
+
37
+
38
+
39
+ <input class=""type="button" value="Traumatologia" style="width: 78%; background-color:darkcyan;font-size: 1.5rem; " onclick="location.href='http://127.0.0.1:5000/buscador_trauma'">
40
+ <h3></h3><img src="{{ user_image1 }}" alt="" style="max-width: 100%" onclick="location.href='http://127.0.0.1:5000/buscador_trauma'">
41
+ <br>
42
+ <input type="button" value="Urologia" style="width: 78%; background-color:saddlebrown;font-size: 1.5rem;" onclick="location.href='http://127.0.0.1:5000/buscador_uro'">
43
+ <h3></h3><img src="{{ user_image2 }}" alt="" style="max-width: 100%" onclick="location.href='http://127.0.0.1:5000/buscador_uro'">
44
+ <br>
45
+ <input type="button" value="Admisión" style="width: 78%; background-color:dimgray;font-size: 1.5rem;" onclick="location.href='http://127.0.0.1:5000/buscador_admision'">
46
+ <h3></h3><img src="{{ user_image3 }}" alt="" style="max-width: 100%" onclick="location.href='http://127.0.0.1:5000/buscador_admision'">
47
+ </form>
48
+
49
+ </div>
50
+ </body>
51
+ </html>
templates/guia_visual.html ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: goldenrod;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Guias visuales: </h2>
12
+
13
+ <hr/>
14
+
15
+ <form action="{{url_for('guia_visual_trauma')}}" method="post">
16
+
17
+
18
+ {% for titulo,url in guia_visual.items() %}
19
+
20
+ <a href="{{url}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
21
+ <br>
22
+ <br>
23
+ <hr/>
24
+ {% endfor %}
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+ </form>
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+ </div>
45
+ </body>
46
+ </html>
templates/instrumental_trauma.html ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: darkcyan;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/buscador_trauma'"> Traumatología</h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.6rem;">{{title}} :</h2>
14
+ <form action="{{url_for('resultado_trauma')}}" method="post">
15
+ <br>
16
+ <br>
17
+
18
+ <b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;" >{{texto}}</b>
19
+ <br>
20
+ <br>
21
+ {% for nid,titulo in cajas.items() %}
22
+
23
+ <a style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;" href="http://127.0.0.1:5000/resultado_trauma?link={{nid}}" >{{titulo}}</a>
24
+
25
+ <br>
26
+ {% endfor %}
27
+
28
+
29
+
30
+
31
+
32
+ </form>
33
+
34
+
35
+ <br>
36
+ <br>
37
+
38
+
39
+ </div>
40
+ </body>
41
+ </html>
templates/instrumental_uro.html ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: coral;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Instrumental: </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 1.6rem;">{{title}} :</h2>
14
+ <form action="{{url_for('resultado_uro')}}" method="post">
15
+ <br>
16
+ <br>
17
+
18
+ <b style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;" >{{texto}}</b>
19
+ <br>
20
+ <br>
21
+ {% for nid,titulo in cajas.items() %}
22
+
23
+ <a style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;" href="http://127.0.0.1:5000/resultado_uro?link={{nid}}" >{{titulo}}</a>
24
+
25
+ <br>
26
+ {% endfor %}
27
+
28
+
29
+
30
+
31
+
32
+ </form>
33
+
34
+
35
+ <br>
36
+ <br>
37
+
38
+
39
+ </div>
40
+ </body>
41
+ </html>
templates/intervencion_trauma.html ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: coral;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Intervención: </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 2rem;">{{title}} :</h2>
15
+ <form action="{{url_for('resultado_trauma')}}" method="post">
16
+
17
+ <br>
18
+ <br>
19
+ <img src="{{ user_image8 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/pdf_casa_trauma?link2={{nid2}}'">
20
+ <img src="{{ user_image9 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/protocolos_trauma?link2={{nid2}}'" >
21
+ <img src="{{ user_image10 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/guia_visual_trauma?link2={{nid2}}'" >
22
+ <br>
23
+ <img src="{{ user_image11 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/videos_trauma?link2={{nid2}}'">
24
+ <img src="{{ user_image12 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/materiales_trauma?link2={{nid2}}'">
25
+
26
+ </form>
27
+
28
+ </div>
29
+ </body>
30
+ </html>
templates/intervencion_uro.html ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: coral;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Intervención: </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 2rem;">{{title}} :</h2>
15
+ <form action="{{url_for('resultado_uro')}}" method="post">
16
+
17
+ <br>
18
+ <br>
19
+ <img src="{{ user_image8 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/pdf_casa_uro?link2={{nid2}}'">
20
+ <img src="{{ user_image9 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/protocolos_uro?link2={{nid2}}'" >
21
+ <img src="{{ user_image10 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/guia_visual_uro?link2={{nid2}}'" >
22
+ <br>
23
+ <img src="{{ user_image11 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/videos_uro?link2={{nid2}}'">
24
+ <img src="{{ user_image12 }}" style="max-width:20%;" onclick="location.href='http://127.0.0.1:5000/materiales_uro?link2={{nid2}}'">
25
+
26
+ </form>
27
+
28
+ </div>
29
+ </body>
30
+ </html>
templates/mapa_camas.html ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: cornflowerblue;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/buscador_admision'"> Mapa de camas: </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+
15
+ <form action="{{url_for('mapa_camas')}}" method="post">
16
+
17
+
18
+
19
+
20
+ {% for titulo,url in text.items() %}
21
+
22
+ <a href="{{url}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
23
+ <br>
24
+ <br>
25
+ {% endfor %}
26
+
27
+ </form>
28
+
29
+
30
+
31
+
32
+ </div>
33
+ </body>
34
+ </html>
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ </div>
46
+ </body>
47
+ </html>
templates/materiales.html ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: palevioletred;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Materiales - Cajas: </h2>
12
+
13
+ <hr/>
14
+
15
+ <form action="{{url_for('materiales_trauma')}}" method="post">
16
+
17
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{no_hay}}</b>
18
+
19
+ {% for titulo,nid in cajas.items() %}
20
+
21
+ <a href="http://127.0.0.1:5000/resultado_trauma?link={{nid}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
22
+ <br>
23
+ <br>
24
+ <hr/>
25
+ {% endfor %}
26
+
27
+
28
+ </form>
29
+
30
+ </div>
31
+ </body>
32
+ </html>
templates/materiales_uro.html ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: palevioletred;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Materiales - Cajas: </h2>
12
+
13
+ <hr/>
14
+
15
+ <form action="{{url_for('materiales_uro')}}" method="post">
16
+
17
+ <b style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{no_hay}}</b>
18
+
19
+ {% for titulo,nid in cajas.items() %}
20
+
21
+ <a href="http://127.0.0.1:5000/resultado_uro?link={{nid}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
22
+ <br>
23
+ <br>
24
+ <hr/>
25
+ {% endfor %}
26
+
27
+
28
+ </form>
29
+
30
+ </div>
31
+ </body>
32
+ </html>
templates/otros.html ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color:royalblue;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/buscador_admision'"> Otros: </h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+
15
+ <form action="{{url_for('otros')}}" method="post">
16
+
17
+
18
+
19
+
20
+ {% for titulo,url in text.items() %}
21
+
22
+ <a href="{{url}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
23
+ <br>
24
+ <br>
25
+ {% endfor %}
26
+
27
+ </form>
28
+
29
+
30
+
31
+
32
+ </div>
33
+ </body>
34
+ </html>
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ </div>
46
+ </body>
47
+ </html>
templates/pdf_casa_comercial.html ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: darkred;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Pdf de la casa comercial: </h2>
12
+
13
+ <hr/>
14
+
15
+ <form action="{{url_for('pdf_casa_trauma')}}" method="post">
16
+
17
+ <br>
18
+
19
+
20
+ {% for titulo1,pdfs in titulos.items() %}
21
+ <br>
22
+ <strong style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{titulo1}} :</strong>
23
+ <select style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;" id="mySelect" onchange="window.location.href=this.value;">
24
+
25
+ <option value="">Seleccionar</option>
26
+
27
+ {% for titulo2,url in pdfs.items() %}
28
+ <option value="{{url}}" >{{titulo2}}</option>
29
+
30
+
31
+
32
+ {% endfor %}
33
+
34
+
35
+ </select>
36
+
37
+ <br>
38
+ <br>
39
+ <hr/>
40
+
41
+
42
+ {% endfor %}
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+ </form>
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+ </div>
67
+ </body>
68
+ </html>
templates/programacion_quirurgica.html ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: mediumspringgreen;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/buscador_admision'"> Programación quirúrgica:</h2>
12
+ <h3 style="padding-left: 80%;font-size: 1.2rem;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" style="max-width:18%;" ></h3>
13
+ <hr/>
14
+
15
+ <form action="{{url_for('programacion_quirurgica')}}" method="post">
16
+
17
+
18
+
19
+
20
+ {% for titulo,url in text.items() %}
21
+
22
+ <a href="{{url}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
23
+ <br>
24
+ <br>
25
+ {% endfor %}
26
+
27
+ </form>
28
+
29
+
30
+
31
+
32
+ </div>
33
+ </body>
34
+ </html>
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ </div>
46
+ </body>
47
+ </html>
templates/protocolo.html ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: blue;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Protocolo: </h2>
12
+
13
+ <hr/>
14
+
15
+ <form action="{{url_for('protocolos_trauma')}}" method="post">
16
+
17
+
18
+ {% for titulo,url in protocolos.items() %}
19
+
20
+ <a href="{{url}}" style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;">{{titulo}}</a>
21
+ <br>
22
+ <br>
23
+ <hr/>
24
+ {% endfor %}
25
+
26
+
27
+ </form>
28
+
29
+ </div>
30
+ </body>
31
+ </html>
templates/seleccion_trauma.html ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+ </head>
7
+ <body>
8
+ <div class="login22">
9
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 50px;background-color: darkcyan;"><img src="{{ user_image7 }}" alt="" height="50px" width="50px" onclick="location.href='http://127.0.0.1:5000/buscador_trauma'"> Traumatología</h2>
10
+ <h3 style="padding-left: 90%;" onclick="location.href='http://127.0.0.1:5000/ajustes'">AJUSTES <img src="{{ user_image6 }}" alt="" height="30px" width="30px" ></h3>
11
+ <hr/>
12
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';font-size: 25px;">Busqueda mediante selectores:</h2>
13
+
14
+ <form action="{{url_for('seleccion_trauma')}}" method="post">
15
+
16
+ <p>Procedimiento:</p>
17
+ <input name=procedimiento type="text" placeholder="Escriba el procedimiento">
18
+ <p>Casa comercial:</p>
19
+ <input name=casa_comercial type="text" placeholder="Escriba la casa comercial">
20
+ <br>
21
+ <br>
22
+ <button type="submit" style="height: 60px;box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);border:2px solid white; border-radius: 10px;background-color: rgb(0, 128, 255);width: 100px; font-size: 20px;font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman';"> Buscar <img src="{{ user_image4 }}" alt="" height="25px" width="32px" > </button>
23
+ <br>
24
+ <br>
25
+ <br>
26
+ <br>
27
+ <b style="font-size: 20px;font-family: Arial, Helvetica, sans-serif;">{{prediction_text}}</b>
28
+
29
+ </form>
30
+ </div>
31
+ </body>
32
+ </html>
templates/videos.html ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title> Quirohelp </title>
6
+
7
+
8
+ </head>
9
+ <body>
10
+ <div class="login22">
11
+ <h2 style="font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;font-size: 3rem;background-color: blueviolet;"><img src="{{ user_image7 }}" alt="" style="max-width:5%;" onclick="location.href='http://127.0.0.1:5000/especialidad'"> Videos: </h2>
12
+
13
+ <hr/>
14
+
15
+ <form action="{{url_for('videos_trauma')}}" method="post">
16
+
17
+ <br>
18
+
19
+
20
+
21
+ {% for titulo1,pdfs in titulos.items() %}
22
+ <br>
23
+ <strong style="font-size: 1.4rem;font-family: Arial, Helvetica, sans-serif;">{{titulo1}} :</strong>
24
+ <select style="font-size: 1.2rem;font-family: Arial, Helvetica, sans-serif;" id="mySelect" onchange="window.location.href=this.value;">
25
+
26
+ <option value="">Seleccionar</option>
27
+
28
+ {% for titulo2,url in pdfs.items() %}
29
+ <option value="{{url}}" >{{titulo2}}</option>
30
+
31
+
32
+
33
+ {% endfor %}
34
+
35
+
36
+ </select>
37
+
38
+ <br>
39
+ <br>
40
+ <hr/>
41
+
42
+
43
+ {% endfor %}
44
+
45
+ </form>
46
+
47
+ </div>
48
+ </body>
49
+ </html>