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 El programa nos pregunta por el nombre del modelo de informe que deseamos configurar: Por defecto el modelo que aparece es PACIENTES, que es el que se invoca cuando se pulsa en el botón desde la ficha del paciente.
Una vez seleccionado el modelo que vamos a editar nos aparece la pantalla de configuración: En el lado de la derecha tenemos las tablas de datos disponibles para incluir en el informe:
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
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)
|