Modelo de informe

Top  Previous  Next

Se pueden definir diferentes modelos de informe para presentar los datos de un paciente.

Como editor de modelos de informe se está utilizando FastReport

Para configurar el modelo de informe, desde una ficha de un paciente pulsamos en btnconfinforme

El programa nos pregunta por el nombre del modelo de informe que deseamos configurar:

informes1

Por defecto el modelo que aparece es PACIENTES, que es el que se invoca cuando se pulsa en el botón btninforme desde la ficha del paciente.

 

Una vez seleccionado el modelo que vamos a editar nos aparece la pantalla de configuración:

informes2

En el lado de la derecha tenemos las tablas de datos disponibles para incluir en el informe:

 

EfectosAdversos
Embarazos
EnsayosClinicos
Ingresos
Lipodistrofia
Paciente
Patologías
ProblemasB
ProblemasC
Procedimientos
Resistencias
Revisiones
RevisionesVHC
Serologias
Tratamientos
TratamientoVHC
TratamientoVIH
VHC
VIH

 

En Paciente tenemos los datos de la tabla correspondiente (un sólo registro por paciente: nº historia, nombre, apellidos, sexo, etc)

En Revisiones tenemos los datos de las revisiones, posicionado en el registro desde el que se ha invocado el informe.

En Tratamientos están los datos de los tratamientos activos (sin fecha de finalización)

En TratamientoVIH tenemos los datos de los escalores TAR.

 

Al finalizar, cuando salimos de este editor de modelos de informes, si se ha efectuado algún cambio, el programa nos preguntará si queremos guardarlo en la base de datos. Si no lo guardamos los cambios efectuados se perderán.

 

Para invocar desde la ficha de paciente otros modelos de informe diferente del modelo PACIENTES se utiliza el botón btninformes

 

Variables cualitativas

 

Dado que las variables cualitativas se guardan en la base de datos como códigos numéricos para obtener su contenido en los informes es necesario un poco de "código". Hay que añadir el siguiente código:

 

//-------------------------------------------------------------------------------------

{ Evento para presentar las categorías por nombre }                                                                                                                  

procedure CategoriaOnAfterData(Sender: TfrxComponent);

var

texto,campo,nombre: string;

 

begin        

if (Value = null) then begin                          

 TfrxMemoView(Sender).Text := '';

 exit;            

end;

 

campo := TfrxMemoView(Sender).DataField;

 

if (campo = '') or (TfrxMemoView(Sender).DataSet.UserName = '')                            

then exit;

 

nombre := TfrxMemoView(Sender).DataSet.UserName+'."'+campo+'"';                        

 

 TfrxMemoView(Sender).DataField := '';

 

 texto := GetCategoria(campo,Get(nombre));

 if (texto <> '') then                                                  

  TfrxMemoView(Sender).Text := texto

 else begin

  TfrxMemoView(Sender).DataField := campo;                      

 end;

 

end;

//-------------------------------------------------------------------------------------

 

En los objetos de texto para presentar resultados de campos de variables cualitativas hay que asignar el evento OnAfterData a este código.

 

Resultados de las pruebas analíticas y pruebas complementarias

 

Se puede incluir los resultados de las pruebas analíticas y complementarias insertando el siguiente código:

//-------------------------------------------------------------------                                                                                                                                        

procedure PruebasBeforePrint(Sender: TfrxComponent);

 

begin          

TfrxMemoView(Sender).Text := GetPruebas(TfrxMemoView(Sender).Text,false);

end;        

//-------------------------------------------------------------------

 

Si se coloca un campo con el texto TODO al que se asigna al evento OnBeforePrint este código se presentarán todos los resultados de todas las pruebas.

 

Se pueden intercalar los resultados por perfiles. Así por ejemplo si se indica [ANALITICA.Bioquímica] se incluye sólo los resultados de las pruebas del perfil de bioquímica, si se indica [ANALITICA.Serología] se insertarán sólo los resultados de serología, si ponemos [IMAGEN.RX] los resultados de las radiografías.

Si indicamos [ANALITICA] se presentan los resultados de todos los perfiles de pruebas analíticas (Hemograma, Bioquímica, etc)