Presentacion.Consentimientos.java Source code

Java tutorial

Introduction

Here is the source code for Presentacion.Consentimientos.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Presentacion;

import AccesoDatos.OpConsentimientos;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfWriter;
import java.awt.Desktop;
import java.awt.Image;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;

/**
 * Esta clase permite pintar la ventana Consentimientos, con sus respectivos componentes, para el manejo de dicha informacin
 * @author Cristian A. Hoyos Jaramillo
 * @author Daniela Estrada Monsalve
 * @author Yeisson A. Ochoa Villa
 */
public class Consentimientos extends javax.swing.JFrame {
    Map<Integer, String> p;
    Map<String, String> pr;
    File file = null;

    public Consentimientos() {
        try {
            initComponents();
            setIconImage(new ImageIcon(getClass().getResource("/Imagenes/agreement-icon.png")).getImage());
            FechaConsentimiento.setDate(new Date());
            txtNConsentimiento.setText(OpConsentimientos.obtenerCodigo());
        } catch (SQLException ex) {
            Logger.getLogger(Consentimientos.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        labelFecha = new javax.swing.JLabel();
        FechaConsentimiento = new com.toedter.calendar.JDateChooser();
        labelCodigo = new javax.swing.JLabel();
        txtNConsentimiento = new java.awt.TextField();
        labelDoc = new javax.swing.JLabel();
        txtDocPac = new java.awt.TextField();
        btnBusquedaPac = new javax.swing.JButton();
        jcPaciente = new javax.swing.JComboBox();
        labelTitulo = new javax.swing.JLabel();
        labelObligatorios = new javax.swing.JLabel();
        txtNHC = new java.awt.TextField();
        labelNHistoriaClinica = new javax.swing.JLabel();
        btnCrearConsentimientos = new javax.swing.JButton();
        btnBuscarConsentimientos = new javax.swing.JButton();
        btnLimpiarConsentimientos = new javax.swing.JButton();
        btnSalirConsentimientos = new javax.swing.JButton();
        btnCargarAdjunto = new javax.swing.JButton();
        jlabelImagen = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        labelProfesional = new javax.swing.JLabel();
        txtDocProf = new java.awt.TextField();
        btnBusquedaProf = new javax.swing.JButton();
        jcProfesional = new javax.swing.JComboBox();
        btnImprimir = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(1280, 730));
        setResizable(false);
        getContentPane().setLayout(null);

        labelFecha.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        labelFecha.setText("*Fecha:");
        getContentPane().add(labelFecha);
        labelFecha.setBounds(40, 120, 50, 15);

        FechaConsentimiento.setDateFormatString("dd-MM-yyyy");
        FechaConsentimiento.setEnabled(false);
        FechaConsentimiento.setName("FechaN"); // NOI18N
        getContentPane().add(FechaConsentimiento);
        FechaConsentimiento.setBounds(220, 120, 181, 22);

        labelCodigo.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        labelCodigo.setText("*Cdigo Consentimiento:");
        getContentPane().add(labelCodigo);
        labelCodigo.setBounds(40, 180, 140, 15);

        txtNConsentimiento.setEnabled(false);
        getContentPane().add(txtNConsentimiento);
        txtNConsentimiento.setBounds(220, 180, 130, 19);

        labelDoc.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        labelDoc.setText("*Documento Paciente:");
        getContentPane().add(labelDoc);
        labelDoc.setBounds(40, 300, 141, 15);

        txtDocPac.setBackground(new java.awt.Color(255, 255, 255));
        getContentPane().add(txtDocPac);
        txtDocPac.setBounds(220, 300, 140, 19);

        btnBusquedaPac.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/search.png"))); // NOI18N
        btnBusquedaPac
                .setToolTipText("La bsqueda se  puede generar a partir de los primeros nmeros del documento");
        btnBusquedaPac.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBusquedaPacActionPerformed(evt);
            }
        });
        getContentPane().add(btnBusquedaPac);
        btnBusquedaPac.setBounds(370, 290, 50, 30);

        jcPaciente.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Seleccione" }));
        jcPaciente.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jcPacienteItemStateChanged(evt);
            }
        });
        getContentPane().add(jcPaciente);
        jcPaciente.setBounds(440, 300, 230, 27);

        labelTitulo.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        labelTitulo.setText("CONSENTIMIENTOS");
        getContentPane().add(labelTitulo);
        labelTitulo.setBounds(180, 20, 120, 15);

        labelObligatorios.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        labelObligatorios.setText("Los campos con * son obligatorios");
        getContentPane().add(labelObligatorios);
        labelObligatorios.setBounds(130, 50, 210, 15);

        txtNHC.setEnabled(false);
        getContentPane().add(txtNHC);
        txtNHC.setBounds(220, 240, 130, 19);

        labelNHistoriaClinica.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        labelNHistoriaClinica.setText("*Nmero Historia Clnica:");
        getContentPane().add(labelNHistoriaClinica);
        labelNHistoriaClinica.setBounds(40, 240, 140, 15);

        btnCrearConsentimientos.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/add.png"))); // NOI18N
        btnCrearConsentimientos.setText("Crear");
        btnCrearConsentimientos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCrearConsentimientosActionPerformed(evt);
            }
        });
        getContentPane().add(btnCrearConsentimientos);
        btnCrearConsentimientos.setBounds(50, 660, 130, 34);

        btnBuscarConsentimientos.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/search.png"))); // NOI18N
        btnBuscarConsentimientos.setText("Buscar");
        btnBuscarConsentimientos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarConsentimientosActionPerformed(evt);
            }
        });
        getContentPane().add(btnBuscarConsentimientos);
        btnBuscarConsentimientos.setBounds(480, 660, 125, 34);

        btnLimpiarConsentimientos.setIcon(
                new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Actions-edit-clear-icon.png"))); // NOI18N
        btnLimpiarConsentimientos.setText("Limpiar");
        btnLimpiarConsentimientos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLimpiarConsentimientosActionPerformed(evt);
            }
        });
        getContentPane().add(btnLimpiarConsentimientos);
        btnLimpiarConsentimientos.setBounds(890, 660, 137, 34);

        btnSalirConsentimientos
                .setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/Log-Out-icon.png"))); // NOI18N
        btnSalirConsentimientos.setText("Salir");
        btnSalirConsentimientos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSalirConsentimientosActionPerformed(evt);
            }
        });
        getContentPane().add(btnSalirConsentimientos);
        btnSalirConsentimientos.setBounds(1090, 660, 137, 34);

        btnCargarAdjunto.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/upload.png"))); // NOI18N
        btnCargarAdjunto.setText("Cargar");
        btnCargarAdjunto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCargarAdjuntoActionPerformed(evt);
            }
        });
        getContentPane().add(btnCargarAdjunto);
        btnCargarAdjunto.setBounds(260, 660, 130, 34);

        jlabelImagen.setBackground(new java.awt.Color(255, 255, 255));
        jlabelImagen.setAutoscrolls(true);
        jlabelImagen.setPreferredSize(new java.awt.Dimension(700, 700));
        getContentPane().add(jlabelImagen);
        jlabelImagen.setBounds(700, 60, 540, 560);

        jLabel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Adjunto",
                javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION));
        getContentPane().add(jLabel2);
        jLabel2.setBounds(690, 34, 560, 600);

        labelProfesional.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N
        labelProfesional.setText("*Registro del Profesional:");
        getContentPane().add(labelProfesional);
        labelProfesional.setBounds(40, 360, 140, 13);

        txtDocProf.setBackground(new java.awt.Color(255, 255, 255));
        getContentPane().add(txtDocProf);
        txtDocProf.setBounds(220, 350, 140, 19);

        btnBusquedaProf.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/search.png"))); // NOI18N
        btnBusquedaProf
                .setToolTipText("La bsqueda se  puede generar a partir de los primeros nmeros del documento");
        btnBusquedaProf.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBusquedaProfActionPerformed(evt);
            }
        });
        getContentPane().add(btnBusquedaProf);
        btnBusquedaProf.setBounds(370, 340, 50, 30);

        jcProfesional.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Seleccione" }));
        getContentPane().add(jcProfesional);
        jcProfesional.setBounds(440, 350, 230, 20);

        btnImprimir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/print.png"))); // NOI18N
        btnImprimir.setText("Imprimir");
        btnImprimir.setEnabled(false);
        btnImprimir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnImprimirActionPerformed(evt);
            }
        });
        getContentPane().add(btnImprimir);
        btnImprimir.setBounds(680, 660, 130, 34);

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/fondo.jpg"))); // NOI18N
        jLabel1.setText("jLabel1");
        getContentPane().add(jLabel1);
        jLabel1.setBounds(0, 0, 1444, 931);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    /**
     * Bsqueda de los pacientes coincidentes segn un carcter ingresado
     * @param evt 
     */
    private void btnBusquedaPacActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBusquedaPacActionPerformed
        if (txtDocPac.getText() == null || txtDocPac.getText().trim().isEmpty()) {
            JOptionPane.showMessageDialog(null,
                    "Debe ingresar por lo menos un carcter del nmero de identificacin del paciente",
                    "Gestin Asdesilla", JOptionPane.ERROR_MESSAGE);
        } else {
            try {
                jcPaciente.removeAllItems();
                p = OpConsentimientos.obtenerPacientes(txtDocPac.getText());
                Iterator it = p.keySet().iterator();
                if (p.size() > 0) {
                    //JOptionPane.showMessageDialog(null, "Se han encontrado coincidencias");
                } else {
                    //JOptionPane.showMessageDialog(null, "No se han encontrado coincidencias");
                }
                jcPaciente.addItem("Seleccione");
                while (it.hasNext()) {
                    jcPaciente.addItem(p.get(it.next()));
                }
                //txtDocPac.setText("");
            } catch (SQLException ex) {
                Logger.getLogger(Evaluaciones.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }//GEN-LAST:event_btnBusquedaPacActionPerformed

    /**
     * Carga el cdigo de la historia clinica asociado, segn el paciente seleccionado
     * @param evt 
     */
    private void jcPacienteItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jcPacienteItemStateChanged
        if (jcPaciente.getItemCount() > 0) {
            if (!jcPaciente.getSelectedItem().equals("Seleccione")) {
                try {
                    p = OpConsentimientos.obtenerPacientes();
                    for (Map.Entry<Integer, String> historiaClinica : p.entrySet()) {
                        if (jcPaciente.getSelectedItem().toString().equals(historiaClinica.getValue())) {
                            txtNHC.setText(String.valueOf(historiaClinica.getKey()));
                        }
                    }
                } catch (SQLException ex) {
                    Logger.getLogger(Evaluaciones.class.getName()).log(Level.SEVERE, null, ex);
                }
            } else {
                txtNHC.setText("");
            }
        }
    }//GEN-LAST:event_jcPacienteItemStateChanged

    /**
     * Llama al mtodo guardarConsentimiento
     * @param evt 
     */
    private void btnCrearConsentimientosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCrearConsentimientosActionPerformed
        guardarConsentimiento();
    }//GEN-LAST:event_btnCrearConsentimientosActionPerformed

    /**
     * Llama a la ventana para la visualizacin de los registros
     * @param evt 
     */
    private void btnBuscarConsentimientosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarConsentimientosActionPerformed
        new ConsentimientosRegistros().setVisible(true);
    }//GEN-LAST:event_btnBuscarConsentimientosActionPerformed

    /**
     * Limpia todos los campos del formulario, asignandoles el valor por defecto
     * @param evt 
     */
    private void btnLimpiarConsentimientosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLimpiarConsentimientosActionPerformed
        try {
            FechaConsentimiento.setDate(new Date());
            jcPaciente.setEnabled(true);
            jcPaciente.removeAllItems();
            jcPaciente.addItem("Seleccione");
            jcProfesional.setEnabled(true);
            jcProfesional.removeAllItems();
            jcProfesional.addItem("Seleccione");
            txtNHC.setText("");
            txtDocPac.setEnabled(true);
            txtDocPac.setText("");
            txtDocProf.setEnabled(true);
            txtDocProf.setText("");
            txtNConsentimiento.setText(OpConsentimientos.obtenerCodigo());
            jlabelImagen.setIcon(null);
            file = null;
            OpConsentimientos.setAdjunto(null);
            btnBusquedaPac.setEnabled(true);
            btnBusquedaProf.setEnabled(true);
            btnCrearConsentimientos.setEnabled(true);
            btnCargarAdjunto.setEnabled(true);
            btnImprimir.setEnabled(false);
        } catch (SQLException ex) {
            Logger.getLogger(Consentimientos.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_btnLimpiarConsentimientosActionPerformed

    /**
     * Regresa al men principal
     * @param evt 
     */
    private void btnSalirConsentimientosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSalirConsentimientosActionPerformed
        new Menu().setVisible(true);
        this.hide();
    }//GEN-LAST:event_btnSalirConsentimientosActionPerformed

    /**
     * Permite buscar y seleccionar el adjunto
     * @param evt 
     */
    private void btnCargarAdjuntoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCargarAdjuntoActionPerformed
        FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivos de imagen", "bmp", "jpg", "png",
                "tiff", "tif");
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setFileFilter(filter);
        fileChooser.setAcceptAllFileFilterUsed(false);
        fileChooser.setDialogTitle("Abrir archivo...");
        int result = fileChooser.showOpenDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            file = fileChooser.getSelectedFile();
            ImageIcon fot = new ImageIcon(file.toString());
            Icon icono = new ImageIcon(fot.getImage().getScaledInstance(jlabelImagen.getWidth(),
                    jlabelImagen.getHeight(), Image.SCALE_SMOOTH));
            jlabelImagen.setIcon(icono);
            this.repaint();
        }
    }//GEN-LAST:event_btnCargarAdjuntoActionPerformed

    /**
     * Bsqueda de los profesionales coincidentes segn un carcter ingresado
     * @param evt 
     */
    private void btnBusquedaProfActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBusquedaProfActionPerformed
        if (txtDocProf.getText() == null || txtDocProf.getText().trim().isEmpty()) {
            JOptionPane.showMessageDialog(null,
                    "Debe ingresar por lo menos un carcter del nmero de registro del profesional",
                    "Gestin Asdesilla", JOptionPane.ERROR_MESSAGE);
        } else {
            try {
                jcProfesional.removeAllItems();
                pr = OpConsentimientos.obtenerProfesionales(txtDocProf.getText());
                Iterator it = pr.keySet().iterator();
                if (pr.size() > 0) {
                    //JOptionPane.showMessageDialog(null, "Se han encontrado coincidencias");
                } else {
                    //JOptionPane.showMessageDialog(null, "No se han encontrado coincidencias");
                }
                jcProfesional.addItem("Seleccione");
                while (it.hasNext()) {
                    jcProfesional.addItem(pr.get(it.next()));
                }
                //txtDocProf.setText("");
            } catch (SQLException ex) {
                Logger.getLogger(Fisioterapia.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }//GEN-LAST:event_btnBusquedaProfActionPerformed

    /**
     * Mtodo que permite generar el informe con base en el archivo adjunto del consentimiento
     * @param evt 
     */
    private void btnImprimirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnImprimirActionPerformed
        JFileChooser elegirCarpeta = new JFileChooser();
        elegirCarpeta.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int o = elegirCarpeta.showOpenDialog(this);
        if (o == JFileChooser.APPROVE_OPTION) {
            String path = elegirCarpeta.getSelectedFile().getAbsolutePath();
            String diaFecha = String.valueOf(FechaConsentimiento.getCalendar().get(Calendar.DAY_OF_MONTH));
            String mesFecha = String.valueOf(FechaConsentimiento.getCalendar().get(Calendar.MONTH) + 1);
            String annoFecha = String.valueOf(FechaConsentimiento.getCalendar().get(Calendar.YEAR));
            String fecha = diaFecha + "-" + mesFecha + "-" + annoFecha;
            try {
                File informe = new File(path + "\\Consentimiento N" + txtNConsentimiento.getText() + " "
                        + jcPaciente.getSelectedItem() + " (" + fecha + ").pdf");
                if (informe.exists()) {
                    informe.delete();
                }
                try {
                    String imagen = path + "\\Consentimiento N" + txtNConsentimiento.getText() + " "
                            + jcPaciente.getSelectedItem() + " (" + fecha + ").jpg";
                    File outputfile = new File(imagen);
                    ImageIO.write((RenderedImage) OpConsentimientos.getAdjunto(), "jpg", outputfile);
                    Document document = new Document();
                    FileOutputStream fos = new FileOutputStream(informe);
                    PdfWriter writer = PdfWriter.getInstance(document, fos);
                    writer.open();
                    document.open();
                    com.itextpdf.text.Image img = com.itextpdf.text.Image.getInstance(imagen);
                    img.scalePercent(45);
                    document.add(img);
                    outputfile.delete();
                    document.close();
                    writer.close();
                } catch (IOException | DocumentException ex) {
                    Logger.getLogger(Consentimientos.class.getName()).log(Level.SEVERE, null, ex);
                }
                Desktop.getDesktop().open(informe);
            } catch (IOException ex) {
                Logger.getLogger(Consentimientos.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }//GEN-LAST:event_btnImprimirActionPerformed

    /**
     * @param args the command line arguments
     */
    //public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    /*try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(Consentimientos.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(Consentimientos.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(Consentimientos.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(Consentimientos.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }*/
    //</editor-fold>

    /* Create and display the form */
    /*java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new Consentimientos().setVisible(true);
        }
    });
    }*/
    // Variables declaration - do not modify//GEN-BEGIN:variables
    public static com.toedter.calendar.JDateChooser FechaConsentimiento;
    private javax.swing.JButton btnBuscarConsentimientos;
    public static javax.swing.JButton btnBusquedaPac;
    public static javax.swing.JButton btnBusquedaProf;
    public static javax.swing.JButton btnCargarAdjunto;
    public static javax.swing.JButton btnCrearConsentimientos;
    public static javax.swing.JButton btnImprimir;
    private javax.swing.JButton btnLimpiarConsentimientos;
    private javax.swing.JButton btnSalirConsentimientos;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    public static javax.swing.JComboBox jcPaciente;
    public static javax.swing.JComboBox jcProfesional;
    public static javax.swing.JLabel jlabelImagen;
    private javax.swing.JLabel labelCodigo;
    private javax.swing.JLabel labelDoc;
    private javax.swing.JLabel labelFecha;
    private javax.swing.JLabel labelNHistoriaClinica;
    private javax.swing.JLabel labelObligatorios;
    private javax.swing.JLabel labelProfesional;
    private javax.swing.JLabel labelTitulo;
    public static java.awt.TextField txtDocPac;
    public static java.awt.TextField txtDocProf;
    public static java.awt.TextField txtNConsentimiento;
    public static java.awt.TextField txtNHC;

    // End of variables declaration//GEN-END:variables
    /**
     * Permite guardar la informacin del consentimiento 
     * con base en los datos ingresados
     */
    public void guardarConsentimiento() {
        String diaFecha, mesFecha, annoFecha, fecha, hc, codigo, profesional = "Seleccione";
        diaFecha = String.valueOf(FechaConsentimiento.getCalendar().get(Calendar.DAY_OF_MONTH));
        mesFecha = String.valueOf(FechaConsentimiento.getCalendar().get(Calendar.MONTH) + 1);
        annoFecha = String.valueOf(FechaConsentimiento.getCalendar().get(Calendar.YEAR));
        fecha = diaFecha + "/" + mesFecha + "/" + annoFecha;
        hc = txtNHC.getText();
        codigo = txtNConsentimiento.getText();
        if (!"Seleccione".equals(jcProfesional.getSelectedItem().toString())) {
            for (Map.Entry<String, String> profesionales : pr.entrySet()) {
                String u = profesionales.getKey();
                if (jcProfesional.getSelectedItem().toString().equals(profesionales.getValue())) {
                    profesional = u;
                }
            }
        }

        if ((fecha == null || fecha.trim().isEmpty()) || (hc == null || hc.trim().isEmpty())
                || (codigo == null || codigo.trim().isEmpty()) || (file == null)
                || (profesional.equals("Seleccione"))) {
            JOptionPane.showMessageDialog(null, "Se deben diligenciar todos los campos obligatorios",
                    "Gestin Asdesilla", JOptionPane.ERROR_MESSAGE);
        } else {
            try {
                OpConsentimientos.guardar(fecha, hc, profesional, file);
                FechaConsentimiento.setDate(new Date());
                jcPaciente.removeAllItems();
                jcPaciente.addItem("Seleccione");
                jcProfesional.removeAllItems();
                jcProfesional.addItem("Seleccione");
                txtDocPac.setText("");
                txtDocProf.setText("");
                txtNHC.setText("");
                txtNConsentimiento.setText(OpConsentimientos.obtenerCodigo());
                jlabelImagen.setIcon(null);
                file = null;
            } catch (FileNotFoundException | SQLException ex) {
                Logger.getLogger(Consentimientos.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}