clinicmedic.js 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831
  1. openerp.clinic_history_medic = function (instance, local) {
  2. local.widgetInstance = null;
  3. local.parentInstance = null;
  4. local.ClinicHistorymedicWidget = instance.Widget.extend({
  5. template : "clinic_history_medic.ClinicHistorymedic",
  6. jsonDoc:[],
  7. init:function(parent){
  8. this._super(parent);
  9. },
  10. updateId : function(id){
  11. var self = this;
  12. self.id=id;
  13. },
  14. start: function () {
  15. var self = this;
  16. this.$el.click(function (e) {
  17. self.fecthInitial();
  18. });
  19. },
  20. valorNull:function(dato){
  21. var valor ="";
  22. if (dato){
  23. if(dato == true && typeof dato == 'boolean'){
  24. valor=" ";
  25. }else{
  26. valor=dato;
  27. }
  28. }
  29. return valor;
  30. },
  31. fecthInitial: function(){
  32. var id= openerp.webclient._current_state.id;
  33. var self = this;
  34. self.fecthClinicMedicvisit(id).then(function(ClinicMedicvisit){
  35. return ClinicMedicvisit;
  36. }).then(function(ClinicMedicvisit){
  37. self.ClinicMedicvisit = ClinicMedicvisit;
  38. return self.fecthClinicMedicvisitLine();
  39. }).then(function(ClinicMedicvisitLine){
  40. self.ClinicMedicvisitLine = ClinicMedicvisitLine;
  41. return self.fecthClinicInsumosvisitLine();
  42. }).then(function(ClinicInsumosvisitLine){
  43. self.ClinicInsumosvisitLine = ClinicInsumosvisitLine;
  44. return self.drawPDF();
  45. });
  46. return false;
  47. },
  48. fecthClinicMedicvisit: function(id){
  49. var domain=[['id','=', id]];
  50. var ClinicMedicvisit = new instance.web.Model('clinic.history');
  51. return ClinicMedicvisit.call('getClinicMedicvisit',[domain], {
  52. context: new instance.web.CompoundContext()
  53. });
  54. },
  55. fecthClinicMedicvisitLine: function () {
  56. var self = this;
  57. var clinichistory_ids = _.flatten(_.map(self.ClinicMedicvisit,function(map){
  58. return map.id;
  59. }));
  60. var domain=[['clinichistory_id','in',clinichistory_ids]];
  61. var ClinicMedicvisitLine = new instance.web.Model('clinic.history.line');
  62. return ClinicMedicvisitLine.call('getClinicMedicvisitLine',[domain], {
  63. context: new instance.web.CompoundContext()
  64. });
  65. },
  66. fecthClinicInsumosvisitLine: function () {
  67. var self = this;
  68. var clinicinsumos_ids = _.flatten(_.map(self.ClinicMedicvisit,function(map){
  69. return map.id;
  70. }));
  71. var domain=[['clinichistory_id','in',clinicinsumos_ids]];
  72. var ClinicInsumosvisitLine = new instance.web.Model('clinic.insumos.line');
  73. return ClinicInsumosvisitLine.call('getClinicInsumosvisitLine',[domain], {
  74. context: new instance.web.CompoundContext()
  75. });
  76. },
  77. drawPDF:function(){
  78. var self = this;
  79. var doc = self.ClinicMedicvisit.shift();
  80. var docItem = [];
  81. var docWorkItem = [];
  82. var getColumns = [];
  83. var getColumns1 = [];
  84. var docWorkItem1 = [];
  85. var getColumnsMaterial1 = [];
  86. var aux1 = "";
  87. var aux2 = "";
  88. var aux3 = "";
  89. var aux4 = "";
  90. var aux5 = "";
  91. var aux6 = "";
  92. var aux7 = "";
  93. var aux8 = "";
  94. var antecedente_paciente = "";
  95. if(doc.ost == true){
  96. aux1 = "OST, "
  97. }
  98. if(doc.asm == true){
  99. aux2 = "ASM, "
  100. }
  101. if(doc.card == true){
  102. aux3 = "CARD, "
  103. }
  104. if(doc.acv == true){
  105. aux4 = "ACV, "
  106. }
  107. if(doc.conv == true){
  108. aux5 = "CONV, "
  109. }
  110. if(doc.hta == true){
  111. aux6 = "HTA, "
  112. }
  113. if(doc.epoc == true){
  114. aux7 = "EPOC, "
  115. }
  116. if(doc.otro == true){
  117. aux8 = "y otros, "
  118. }
  119. antecedente_paciente = aux1 +"" + aux2 + "" + aux3 + "" + aux4 + "" + aux5 + "" + aux6 + "" + aux7 + "" + aux8
  120. var pdfDoc = new jsPDF();
  121. pdfDoc.addImage("data:image/png;base64," + self.valorNull(doc.company_logo), 'PNG', 14, 3, 35, 20);
  122. /*
  123. =============================================================
  124. OBTENER LINEAS DEL PEDIDO
  125. =============================================================
  126. */
  127. var ClinicMedicvisitLine = self.ClinicMedicvisitLine;
  128. for (var i = 0; i < ClinicMedicvisitLine.length; i++) {
  129. docItem.push({
  130. xnumber : i + 1,
  131. product : ClinicMedicvisitLine[i].product_id[1],
  132. brand : ClinicMedicvisitLine[i].brand,
  133. number : ClinicMedicvisitLine[i].number
  134. })
  135. }
  136. getColumns.push({
  137. title : '',
  138. dataKey: 'xnumber',
  139. align: 'center',
  140. });
  141. getColumns.push({
  142. title : 'Servicios',
  143. dataKey: 'product',
  144. align: 'left',
  145. });
  146. getColumns.push({
  147. title : 'Cantidad',
  148. dataKey: 'brand',
  149. align: 'center',
  150. });
  151. getColumns.push({
  152. title : 'Estado',
  153. dataKey: 'number',
  154. align: 'center',
  155. });
  156. var ClinicInsumosvisitLine = self.ClinicInsumosvisitLine;
  157. for (var i = 0; i < ClinicInsumosvisitLine.length; i++) {
  158. docWorkItem1.push({
  159. xnumber : i + 1,
  160. product: ClinicInsumosvisitLine[i].product_id[1],
  161. quantity : ClinicInsumosvisitLine[i].quantity,
  162. number : ClinicInsumosvisitLine[i].number
  163. })
  164. }
  165. getColumnsMaterial1.push({
  166. title : 'N°',
  167. dataKey: 'xnumber',
  168. align: 'center',
  169. });
  170. getColumnsMaterial1.push({
  171. title : 'Insumos Utilizados',
  172. dataKey: 'product',
  173. align: 'left',
  174. });
  175. getColumnsMaterial1.push({
  176. title : 'Cantidad',
  177. dataKey: 'quantity',
  178. align: 'center',
  179. });
  180. getColumnsMaterial1.push({
  181. title : 'Estado',
  182. dataKey: 'number',
  183. align: 'center',
  184. });
  185. pdfDoc.autoTable(getColumns, docItem, {
  186. theme: 'grid',
  187. styles: {
  188. overflow: 'linebreak',
  189. columnWidth: 'auto',
  190. fontSize: 7,
  191. },
  192. headerStyles: {
  193. fillColor: [255, 255, 255],
  194. borderColor: [150, 152, 154],
  195. color: 'black',
  196. fontStyle: 'bold',
  197. textColor: [0, 0, 0],
  198. fontSize: 8
  199. },
  200. columnStyles: {
  201. xnumber : {halign:'center',columnWidth: '4px'},
  202. product : {columnWidth: '8px',fontStyle: 'bold'},
  203. brand : {halign:'center', columnWidth: '8px'},
  204. number : {halign:'center',columnWidth: '8px'},
  205. },
  206. margin: { top: 139, horizontal: 14},
  207. addPageContent: function (data) {
  208. /*
  209. ====================================================================
  210. CABECERA
  211. ====================================================================
  212. */
  213. pdfDoc.setFontSize(14);
  214. pdfDoc.setFontStyle('bold');
  215. pdfDoc.setTextColor(40);
  216. pdfDoc.text(105,10,'HISTORIA CLINICA PRE-HOSPITALAR');
  217. pdfDoc.setFontSize(12);
  218. pdfDoc.setFontStyle('normal');
  219. pdfDoc.setTextColor(40);
  220. pdfDoc.text(105,23, 'SERVICIO INTEGRAL DE SALUD S.A.');
  221. pdfDoc.setFontSize(13);
  222. pdfDoc.setFontStyle('bold');
  223. pdfDoc.setTextColor(40);
  224. pdfDoc.text(130,17,'Nº ' + doc.name);
  225. pdfDoc.setDrawColor('252', '252', '252');
  226. pdfDoc.rect(13, 25, pdfDoc.internal.pageSize.getWidth() - 18 , 29, 'S');
  227. pdfDoc.rect(13, 25, pdfDoc.internal.pageSize.getWidth() - 18 , 63, 'S');
  228. pdfDoc.rect(13, 25, pdfDoc.internal.pageSize.getWidth() - 18 , 115, 'S');
  229. /*
  230. ====================================================================
  231. PRIMERA SECCION
  232. ====================================================================
  233. */
  234. pdfDoc.setFontSize(10);
  235. pdfDoc.setFontStyle('bold');
  236. pdfDoc.setTextColor(40);
  237. pdfDoc.text(14,32,'Médico: ' + doc.user_name);
  238. pdfDoc.setFontSize(10);
  239. pdfDoc.setFontStyle('bold');
  240. pdfDoc.setTextColor(40);
  241. pdfDoc.text(71,32,'Paramédico: ');
  242. pdfDoc.setFontSize(10);
  243. pdfDoc.setFontStyle('normal');
  244. pdfDoc.setTextColor(40);
  245. pdfDoc.text(93,32, doc.paramedico_name);
  246. pdfDoc.setFontSize(10);
  247. pdfDoc.setFontStyle('bold');
  248. pdfDoc.setTextColor(40);
  249. pdfDoc.text(140,32, 'Fecha: ');
  250. pdfDoc.setFontSize(10);
  251. pdfDoc.setFontStyle('normal');
  252. pdfDoc.setTextColor(40);
  253. pdfDoc.text(163,32, moment(doc.order_date).format('DD/MM/YYYY HH:mm'));
  254. // pdfDoc.setFontSize(10);
  255. // pdfDoc.setFontStyle('normal');
  256. // pdfDoc.setTextColor(40);
  257. // pdfDoc.text(168,32, doc.partner_ruc);
  258. // pdfDoc.setFontSize(10);
  259. // pdfDoc.setFontStyle('normal');
  260. // pdfDoc.setTextColor(40);
  261. // pdfDoc.text(32,60, );
  262. pdfDoc.setFontSize(10);
  263. pdfDoc.setFontStyle('bold');
  264. pdfDoc.setTextColor(40);
  265. pdfDoc.text(14,37,'At. Base: ');
  266. pdfDoc.setFontSize(10);
  267. pdfDoc.setFontStyle('normal');
  268. pdfDoc.setTextColor(40);
  269. pdfDoc.text(31,37,self.valorNull(doc.at_base));
  270. pdfDoc.setFontSize(10);
  271. pdfDoc.setFontStyle('bold');
  272. pdfDoc.setTextColor(10);
  273. pdfDoc.text(50,37,'Móvil: ' );
  274. pdfDoc.setFontSize(10);
  275. pdfDoc.setFontStyle('normal');
  276. pdfDoc.setTextColor(40);
  277. pdfDoc.text(65,37, self.valorNull(doc.name_movil));
  278. pdfDoc.setFontSize(10);
  279. pdfDoc.setFontStyle('bold');
  280. pdfDoc.setTextColor(10);
  281. pdfDoc.text(140,37,'Nº de Salida: ' );
  282. pdfDoc.setFontSize(10);
  283. pdfDoc.setFontStyle('normal');
  284. pdfDoc.setTextColor(40);
  285. pdfDoc.text(168,37, self.valorNull(doc.nro_salida));
  286. pdfDoc.setFontSize(10);
  287. pdfDoc.setFontStyle('bold');
  288. pdfDoc.setTextColor(10);
  289. pdfDoc.text(14,42,'Fecha y Hora Recepción: ' );
  290. pdfDoc.setFontSize(10);
  291. pdfDoc.setFontStyle('normal');
  292. pdfDoc.setTextColor(40);
  293. pdfDoc.text(58,42, moment(doc.planned_start_date).format('DD/MM/YYYY HH:mm'));
  294. pdfDoc.setFontSize(10);
  295. pdfDoc.setFontStyle('normal');
  296. pdfDoc.setTextColor(40);
  297. pdfDoc.text(89,42,self.valorNull(doc.programado));
  298. pdfDoc.setFontSize(10);
  299. pdfDoc.setFontStyle('bold');
  300. pdfDoc.setTextColor(10);
  301. pdfDoc.text(135,42,'Fecha y Hora Atención: ' );
  302. pdfDoc.setFontSize(10);
  303. pdfDoc.setFontStyle('normal');
  304. pdfDoc.setTextColor(40);
  305. pdfDoc.text(176,42, moment(doc.planned_end_date).format('DD/MM/YYYY HH:mm'));
  306. // pdfDoc.setFontSize(10);
  307. // pdfDoc.setFontStyle('bold');
  308. // pdfDoc.setTextColor(40);
  309. // pdfDoc.text(14,42,'Factura N°: ');
  310. //
  311. pdfDoc.setFontSize(10);
  312. pdfDoc.setFontStyle('bold');
  313. pdfDoc.setTextColor(40);
  314. pdfDoc.text(14,47,'Calle: ');
  315. pdfDoc.setFontSize(10);
  316. pdfDoc.setFontStyle('normal');
  317. pdfDoc.setTextColor(40);
  318. pdfDoc.text(29,47, doc.partner_address);
  319. // pdfDoc.setFontSize(10);
  320. // pdfDoc.setFontStyle('bold');
  321. // pdfDoc.setTextColor(10);
  322. // pdfDoc.text(149,47,'Nº de Salida: ');
  323. //
  324. // pdfDoc.setFontSize(10);
  325. // pdfDoc.setFontStyle('normal');
  326. // pdfDoc.setTextColor(40);
  327. // pdfDoc.text(156,47, self.valorNull(doc.nro_salida));
  328. pdfDoc.setFontSize(10);
  329. pdfDoc.setFontStyle('bold');
  330. pdfDoc.setTextColor(40);
  331. pdfDoc.text(14,52,'Tipo: ');
  332. pdfDoc.setFontSize(10);
  333. pdfDoc.setFontStyle('normal');
  334. pdfDoc.setTextColor(40);
  335. pdfDoc.text(29,52,self.valorNull(doc.tipo_paciente));
  336. pdfDoc.setFontSize(10);
  337. pdfDoc.setFontStyle('bold');
  338. pdfDoc.setTextColor(40);
  339. pdfDoc.text(75,52,'Lugar Visita: ');
  340. pdfDoc.setFontSize(10);
  341. pdfDoc.setFontStyle('normal');
  342. pdfDoc.setTextColor(40);
  343. pdfDoc.text(98,52, self.valorNull(doc.lugar_visita));
  344. pdfDoc.setFontSize(10);
  345. pdfDoc.setFontStyle('bold');
  346. pdfDoc.setTextColor(10);
  347. pdfDoc.text(14,57,'Uso alcohol en gel: ');
  348. pdfDoc.setFontSize(10);
  349. pdfDoc.setFontStyle('normal');
  350. pdfDoc.setTextColor(40);
  351. pdfDoc.text(49,57, self.valorNull(doc.uso_gel));
  352. pdfDoc.setFontSize(10);
  353. pdfDoc.setFontStyle('bold');
  354. pdfDoc.setTextColor(40);
  355. pdfDoc.text(75,57,'Antiguedad Trabajo: ');
  356. pdfDoc.setFontSize(10);
  357. pdfDoc.setFontStyle('normal');
  358. pdfDoc.setTextColor(40);
  359. pdfDoc.text(115,57, self.valorNull(doc.antig_trabajo));
  360. pdfDoc.setFontSize(10);
  361. pdfDoc.setFontStyle('bold');
  362. pdfDoc.setTextColor(10);
  363. pdfDoc.text(149,57,'Edad: ');
  364. pdfDoc.setFontSize(10);
  365. pdfDoc.setFontStyle('normal');
  366. pdfDoc.setTextColor(40);
  367. pdfDoc.text(160,57, self.valorNull(doc.edad_paciente));
  368. pdfDoc.setFontSize(10);
  369. pdfDoc.setFontStyle('bold');
  370. pdfDoc.setTextColor(10);
  371. pdfDoc.text(14,62,'Nombre y apellido: ');
  372. pdfDoc.setFontSize(10);
  373. pdfDoc.setFontStyle('normal');
  374. pdfDoc.setTextColor(40);
  375. pdfDoc.text(47,62, self.valorNull(doc.paciente_name));
  376. pdfDoc.setFontSize(10);
  377. pdfDoc.setFontStyle('bold');
  378. pdfDoc.setTextColor(10);
  379. pdfDoc.text(149,62,'Seguro: ');
  380. pdfDoc.setFontSize(10);
  381. pdfDoc.setFontStyle('normal');
  382. pdfDoc.setTextColor(40);
  383. pdfDoc.text(156,62, self.valorNull(doc.seguro));
  384. pdfDoc.setFontSize(10);
  385. pdfDoc.setFontStyle('bold');
  386. pdfDoc.setTextColor(10);
  387. pdfDoc.text(14,67,'Nº de Socio: ');
  388. pdfDoc.setFontSize(10);
  389. pdfDoc.setFontStyle('normal');
  390. pdfDoc.setTextColor(40);
  391. pdfDoc.text(47,67, self.valorNull(doc.nro_socio));
  392. pdfDoc.setFontSize(10);
  393. pdfDoc.setFontStyle('bold');
  394. pdfDoc.setTextColor(40);
  395. pdfDoc.text(75,67,'R.U.C: ');
  396. pdfDoc.setFontSize(10);
  397. pdfDoc.setFontStyle('normal');
  398. pdfDoc.setTextColor(40);
  399. pdfDoc.text(90,67, self.valorNull(doc.partner_ruc));
  400. pdfDoc.setFontSize(10);
  401. pdfDoc.setFontStyle('bold');
  402. pdfDoc.setTextColor(10);
  403. pdfDoc.text(149,67,'Sexo: ');
  404. pdfDoc.setFontSize(10);
  405. pdfDoc.setFontStyle('normal');
  406. pdfDoc.setTextColor(40);
  407. pdfDoc.text(160,67, self.valorNull(doc.partner_sexo));
  408. pdfDoc.setFontSize(10);
  409. pdfDoc.setFontStyle('bold');
  410. pdfDoc.setTextColor(10);
  411. pdfDoc.text(14,72,'Antecedentes:');
  412. pdfDoc.setFontSize(10);
  413. pdfDoc.setFontStyle('normal');
  414. pdfDoc.setTextColor(40);
  415. pdfDoc.text(41,72, self.valorNull(antecedente_paciente));
  416. pdfDoc.setFontSize(10);
  417. pdfDoc.setFontStyle('bold');
  418. pdfDoc.setTextColor(40);
  419. pdfDoc.text(80,72,'Alérgico: ');
  420. pdfDoc.setFontSize(10);
  421. pdfDoc.setFontStyle('normal');
  422. pdfDoc.setTextColor(40);
  423. pdfDoc.text(97,72, self.valorNull(doc.alergico));
  424. pdfDoc.setFontSize(10);
  425. pdfDoc.setFontStyle('normal');
  426. pdfDoc.setTextColor(40);
  427. pdfDoc.text(100,72, self.valorNull(doc.tipo_alergico));
  428. pdfDoc.setFontSize(10);
  429. pdfDoc.setFontStyle('bold');
  430. pdfDoc.setTextColor(10);
  431. pdfDoc.text(154,72,'Embarazada: ');
  432. pdfDoc.setFontSize(10);
  433. pdfDoc.setFontStyle('normal');
  434. pdfDoc.setTextColor(40);
  435. pdfDoc.text(177,72, self.valorNull(doc.embarazada));
  436. pdfDoc.setFontSize(10);
  437. pdfDoc.setFontStyle('bold');
  438. pdfDoc.setTextColor(10);
  439. pdfDoc.text(14,77,'Motivo de consulta: ');
  440. pdfDoc.setFontSize(10);
  441. pdfDoc.setFontStyle('normal');
  442. pdfDoc.setTextColor(40);
  443. pdfDoc.text(49,77, self.valorNull(doc.motivo));
  444. pdfDoc.setFontSize(10);
  445. pdfDoc.setFontStyle('bold');
  446. pdfDoc.setTextColor(40);
  447. pdfDoc.text(105,77,'Cel.:');
  448. pdfDoc.setFontSize(10);
  449. pdfDoc.setFontStyle('normal');
  450. pdfDoc.setTextColor(40);
  451. pdfDoc.text(109,77, self.valorNull(doc.mobile));
  452. pdfDoc.setFontSize(10);
  453. pdfDoc.setFontStyle('bold');
  454. pdfDoc.setTextColor(10);
  455. pdfDoc.text(14,82,'Signos Vitales: P.A.');
  456. pdfDoc.setFontSize(10);
  457. pdfDoc.setFontStyle('normal');
  458. pdfDoc.setTextColor(40);
  459. pdfDoc.text(48,82, self.valorNull(doc.pa));
  460. pdfDoc.setFontSize(10);
  461. pdfDoc.setFontStyle('bold');
  462. pdfDoc.setTextColor(40);
  463. pdfDoc.text(75,82,'F.C.');
  464. pdfDoc.setFontSize(10);
  465. pdfDoc.setFontStyle('normal');
  466. pdfDoc.setTextColor(40);
  467. pdfDoc.text(88,82, self.valorNull(doc.fc));
  468. pdfDoc.setFontSize(10);
  469. pdfDoc.setFontStyle('bold');
  470. pdfDoc.setTextColor(40);
  471. pdfDoc.text(105,82,'F.R.');
  472. pdfDoc.setFontSize(10);
  473. pdfDoc.setFontStyle('normal');
  474. pdfDoc.setTextColor(40);
  475. pdfDoc.text(122,77, self.valorNull(doc.fr));
  476. pdfDoc.setFontSize(10);
  477. pdfDoc.setFontStyle('bold');
  478. pdfDoc.setTextColor(10);
  479. pdfDoc.text(149,82,'Tº ');
  480. pdfDoc.setFontSize(10);
  481. pdfDoc.setFontStyle('normal');
  482. pdfDoc.setTextColor(40);
  483. pdfDoc.text(156,82, self.valorNull(doc.temp));
  484. pdfDoc.setFontSize(10);
  485. pdfDoc.setFontStyle('bold');
  486. pdfDoc.setTextColor(10);
  487. pdfDoc.text(14,87,'SO');
  488. pdfDoc.setFontSize(10);
  489. pdfDoc.setFontStyle('normal');
  490. pdfDoc.setTextColor(40);
  491. pdfDoc.text(31,87, self.valorNull(doc.so));
  492. pdfDoc.setFontSize(10);
  493. pdfDoc.setFontStyle('bold');
  494. pdfDoc.setTextColor(40);
  495. pdfDoc.text(75,87,'HGT');
  496. pdfDoc.setFontSize(10);
  497. pdfDoc.setFontStyle('normal');
  498. pdfDoc.setTextColor(40);
  499. pdfDoc.text(90,87, self.valorNull(doc.hgt));
  500. pdfDoc.setFontSize(10);
  501. pdfDoc.setFontStyle('bold');
  502. pdfDoc.setTextColor(10);
  503. pdfDoc.text(14,92,'Hallazgos Positivos del Examen Físico (o datos de importancia): ');
  504. pdfDoc.setFontSize(10);
  505. pdfDoc.setFontStyle('normal');
  506. pdfDoc.setTextColor(40);
  507. pdfDoc.text(self.valorNull(doc.diagnostic), 14,97, {maxWidth:188,align:'justify'});
  508. pdfDoc.setFontSize(10);
  509. pdfDoc.setFontStyle('bold');
  510. pdfDoc.setTextColor(10);
  511. pdfDoc.text(14,109,'Indicación Médica: ');
  512. pdfDoc.setFontSize(10);
  513. pdfDoc.setFontStyle('normal');
  514. pdfDoc.setTextColor(40);
  515. pdfDoc.text(self.valorNull(doc.indicacion), 14,112, {maxWidth:188,align:'justify'});
  516. pdfDoc.setFontSize(10);
  517. pdfDoc.setFontStyle('bold');
  518. pdfDoc.setTextColor(10);
  519. pdfDoc.text(14,122,'Tratamiento Administrativo (medicamentos y dosis): ');
  520. pdfDoc.setFontSize(10);
  521. pdfDoc.setFontStyle('normal');
  522. pdfDoc.setTextColor(40);
  523. pdfDoc.text(self.valorNull(doc.actions), 14, 127, {maxWidth:188,align:'justify'});
  524. pdfDoc.setFontSize(10);
  525. pdfDoc.setFontStyle('bold');
  526. pdfDoc.setTextColor(10);
  527. pdfDoc.text(14,137,'Respuesta al Tratamiento: ');
  528. pdfDoc.setFontSize(10);
  529. pdfDoc.setFontStyle('normal');
  530. pdfDoc.setTextColor(40);
  531. pdfDoc.text(90,137, self.valorNull(doc.respuesta_tratamiento));
  532. }
  533. });
  534. /*
  535. =============================================================
  536. INSUMOS UTILIZADOS
  537. =============================================================
  538. */
  539. var finalY = pdfDoc.autoTable.previous.finalY;
  540. pdfDoc.autoTable(getColumnsMaterial1, docWorkItem1, {
  541. theme: 'grid',
  542. startY: finalY +3,
  543. styles: {
  544. overflow: 'linebreak',
  545. columnWidth: 'auto',
  546. fontSize: 7,
  547. },
  548. headerStyles: {
  549. fillColor: [255, 255, 255],
  550. borderColor: [150, 152, 154],
  551. fontSize: 8,
  552. textColor: [0, 0, 0]
  553. },
  554. columnStyles: {
  555. xnumber : {columnWidth: '8px', halign: 'center'},
  556. product: {columnWidth: '8px', halign: 'left'},
  557. quantity : {columnWidth: '8px', halign: 'center'},
  558. number : {columnWidth: '4px', halign: 'center'},
  559. },
  560. margin: {horizontal: 14},
  561. // addPageContent: function (data) {
  562. // pdfDoc.setFontSize(12);
  563. // pdfDoc.setFontStyle('bold');
  564. // pdfDoc.setTextColor(40);
  565. // pdfDoc.text(15,finalY + 7,'CONTROL DE CALIDAD, FICHAS Y LACRES');
  566. // }
  567. });
  568. pdfDoc.rect(13, pdfDoc.autoTable.previous.finalY + 1, pdfDoc.internal.pageSize.getWidth() - 18 , 64, 'S');
  569. pdfDoc.rect(13, pdfDoc.autoTable.previous.finalY + 1, pdfDoc.internal.pageSize.getWidth() - 18 , 72, 'S');
  570. pdfDoc.setFontSize(10);
  571. pdfDoc.setFontStyle('bold');
  572. pdfDoc.setTextColor(10);
  573. pdfDoc.text(14,pdfDoc.autoTable.previous.finalY + 5,'Recomendaciones: ');
  574. pdfDoc.setFontSize(10);
  575. pdfDoc.setFontStyle('normal');
  576. pdfDoc.setTextColor(40);
  577. pdfDoc.text(self.valorNull(doc.recommendations), 14,pdfDoc.autoTable.previous.finalY + 10, {maxWidth:188,align:'justify'});
  578. pdfDoc.setFontSize(10);
  579. pdfDoc.setFontStyle('bold');
  580. pdfDoc.setTextColor(10);
  581. pdfDoc.text(14,pdfDoc.autoTable.previous.finalY + 20,'Epicrisis:');
  582. pdfDoc.setFontSize(10);
  583. pdfDoc.setFontStyle('normal');
  584. pdfDoc.setTextColor(40);
  585. pdfDoc.text(30,pdfDoc.autoTable.previous.finalY + 20, self.valorNull(doc.epicrisis));
  586. pdfDoc.setFontSize(10);
  587. pdfDoc.setFontStyle('bold');
  588. pdfDoc.setTextColor(40);
  589. pdfDoc.text(80,pdfDoc.autoTable.previous.finalY + 20,'Clasificación de la Atención: ');
  590. pdfDoc.setFontSize(10);
  591. pdfDoc.setFontStyle('normal');
  592. pdfDoc.setTextColor(40);
  593. pdfDoc.text(125,pdfDoc.autoTable.previous.finalY + 20, self.valorNull(doc.clasificacion));
  594. pdfDoc.setFontSize(10);
  595. pdfDoc.setFontStyle('bold');
  596. pdfDoc.setTextColor(10);
  597. pdfDoc.text(14,pdfDoc.autoTable.previous.finalY + 25,'Diagnóstico Presuntivo:');
  598. pdfDoc.setFontSize(10);
  599. pdfDoc.setFontStyle('normal');
  600. pdfDoc.setTextColor(40);
  601. pdfDoc.text(14,pdfDoc.autoTable.previous.finalY + 30, self.valorNull(doc.presuntivo));
  602. pdfDoc.setFontSize(10);
  603. pdfDoc.setFontStyle('bold');
  604. pdfDoc.setTextColor(40);
  605. pdfDoc.text(14,pdfDoc.autoTable.previous.finalY + 40,'Firma y Sello Profesional SIS');
  606. pdfDoc.setFontSize(10);
  607. pdfDoc.setFontStyle('normal');
  608. pdfDoc.setTextColor(40);
  609. pdfDoc.text(110,pdfDoc.autoTable.previous.finalY + 40,'Firma Paciente o Responsable');
  610. pdfDoc.setFontSize(10);
  611. pdfDoc.setFontStyle('bold');
  612. pdfDoc.setTextColor(40);
  613. pdfDoc.text(14,pdfDoc.autoTable.previous.finalY + 45,'Paramédico');
  614. pdfDoc.setFontSize(10);
  615. pdfDoc.setFontStyle('normal');
  616. pdfDoc.setTextColor(40);
  617. pdfDoc.addImage("data:image/png;base64," + self.valorNull(doc.signature_image_paramedico), 'PNG', 40, pdfDoc.autoTable.previous.finalY + 38, 18, 15);
  618. pdfDoc.setFontSize(10);
  619. pdfDoc.setFontStyle('normal');
  620. pdfDoc.setTextColor(40);
  621. // pdfDoc.text(65,pdfDoc.autoTable.previous.finalY + 60, self.valorNull(doc.user_image));
  622. pdfDoc.addImage("data:image/png;base64," + self.valorNull(doc.paramedico_image), 'PNG', 65, pdfDoc.autoTable.previous.finalY + 30, 25, 15);
  623. pdfDoc.setFontSize(10);
  624. pdfDoc.setFontStyle('normal');
  625. pdfDoc.setTextColor(40);
  626. pdfDoc.text(110,pdfDoc.autoTable.previous.finalY + 45,'C.I.Nª:');
  627. pdfDoc.setFontSize(10);
  628. pdfDoc.setFontStyle('normal');
  629. pdfDoc.setTextColor(40);
  630. pdfDoc.text(120,pdfDoc.autoTable.previous.finalY + 45, self.valorNull(doc.presuntivo));
  631. pdfDoc.setFontSize(10);
  632. pdfDoc.setFontStyle('normal');
  633. pdfDoc.setTextColor(40);
  634. // var imgData = 'data:image/jpeg;base64,'+ Base64.encode('doc.signature_image_paciente');
  635. pdfDoc.addImage("data:image/png;base64," + self.valorNull(doc.signature_image_paciente), 'PNG', 160, pdfDoc.autoTable.previous.finalY + 35, 18, 15);
  636. //pdfDoc.text(170,pdfDoc.autoTable.previous.finalY + 50, self.valorNull(imgData));
  637. pdfDoc.setFontSize(10);
  638. pdfDoc.setFontStyle('bold');
  639. pdfDoc.setTextColor(40);
  640. pdfDoc.text(14,pdfDoc.autoTable.previous.finalY + 55,'Médico');
  641. pdfDoc.setFontSize(10);
  642. pdfDoc.setFontStyle('normal');
  643. pdfDoc.setTextColor(40);
  644. pdfDoc.addImage("data:image/png;base64," + self.valorNull(doc.signature_image_medico), 'PNG', 55, pdfDoc.autoTable.previous.finalY + 50, 18, 15);
  645. // pdfDoc.text(30,pdfDoc.autoTable.previous.finalY + 60, self.valorNull(doc.signature_image_medico));
  646. pdfDoc.setFontSize(10);
  647. pdfDoc.setFontStyle('normal');
  648. pdfDoc.setTextColor(40);
  649. // pdfDoc.text(65,pdfDoc.autoTable.previous.finalY + 60, self.valorNull(doc.user_image));
  650. pdfDoc.addImage("data:image/png;base64," + self.valorNull(doc.user_image), 'PNG', 75, pdfDoc.autoTable.previous.finalY + 45, 25, 15);
  651. pdfDoc.setFontSize(10);
  652. pdfDoc.setFontStyle('bold');
  653. pdfDoc.setTextColor(40);
  654. pdfDoc.text(14,pdfDoc.autoTable.previous.finalY + 60,'Informado a: ');
  655. pdfDoc.setFontSize(10);
  656. pdfDoc.setFontStyle('normal');
  657. pdfDoc.setTextColor(40);
  658. pdfDoc.text(37,pdfDoc.autoTable.previous.finalY + 60, self.valorNull(doc.informado));
  659. pdfDoc.setFontSize(10);
  660. pdfDoc.setFontStyle('bold');
  661. pdfDoc.setTextColor(40);
  662. pdfDoc.text(110,pdfDoc.autoTable.previous.finalY + 60,'Entrega a: ');
  663. pdfDoc.setFontSize(10);
  664. pdfDoc.setFontStyle('normal');
  665. pdfDoc.setTextColor(40);
  666. pdfDoc.text(129,pdfDoc.autoTable.previous.finalY + 60, self.valorNull(doc.entregado));
  667. pdfDoc.setFontSize(10);
  668. pdfDoc.setFontStyle('bold');
  669. pdfDoc.setTextColor(40);
  670. pdfDoc.text(70,pdfDoc.autoTable.previous.finalY + 70,'"EXCELENCIA EN SERVICIOS DE SALUD"');
  671. pdfDoc.save('HISTORIA CLINICA PRE-HOSPITALAR.pdf');
  672. },
  673. });
  674. if (instance.web && instance.web.FormView) {
  675. instance.web.FormView.include({
  676. load_form: function (record) {
  677. this._super.apply(this, arguments);
  678. if (this.model !== 'clinic.history') return;
  679. local.parentInstance = this;
  680. if (local.widgetInstance) {
  681. local.widgetInstance.updateId(record.id);
  682. }
  683. local.widgetInstance = new local.ClinicHistorymedicWidget(this);
  684. var elemento = this.$el.find('.oe_form_sheet.oe_form_sheet_width');
  685. elemento = elemento.find('.oe_right.oe_button_box.clinichistorymedic_button_box');
  686. local.widgetInstance.appendTo(elemento);
  687. local.widgetInstance.updateId(record.id);
  688. }
  689. });
  690. }
  691. };