[Care2x-general] Fw: Re: [Care2002-developers] about patients andpersonnel in the same table

esem en fcampus.com.ar esem en fcampus.com.ar
Sab Nov 13 14:01:49 CET 2004



Hola a Todos.
Me parece excelente tu idea Juan.
Juan dijo:   (Hasta aca solo se redefinen, cambian los nombres, el programa
es mas
legible pero la funcionalidad es la misma. Ahora al incluir el archivo
de classes se puede cargar uno personalizado como se hace con los de
idioma. Mi propuesta es crear /include/classes/es-ar para poner las
classes personalizadas. Los cambios son los care_person por
care_patient o care_employee segun corresponda y ademas cargar el
personalizado si estuviera y si no el default.)

Me parece que esta propuesta es la mas acertada para poder avanzar en el
proyecto CARE2XL, por que según leo  los mensajes que van y vienen a care
central no hay intención de modificar las tablas por parte de CARE central.
Walter dijo:             (Juan, Elpidio dice que ya ha considerado eso mucho
tiempo atrás, ahora....
hay que dejar unos días a que terminen de pelear para proponer esto pero
según él, ya esta considerado desde mucho antes y no fue cambiado.)

 Según propone Juan de esta manera se podría personalizar para cada país de
Latinoamérica, ayer mismo estuvimos charlando con Alberto en la charla que
dio sobre CARE2xl En la CaFelug 12 Nov UADE con personas que llegaron de
México que les interesa instalarlo en México, en ese caso se podría llegar a
personalizar con include/classes/es-mx y correrían todas las modificaciones
que se necesiten realizar para utilizar el sistema para México o cualquier
otro país o región de Latinoamérica dado que cada región de Latinoamérica
tiene sus particularidades en cuanto a seguros de salud obras sociales y
demás

Salu2 Daniel

----- Original Message -----
From: "Juan Rossano" <juanrossano en gmail.com>
To: "Lista del Proyecto Care2x-L" <care2x-general en lists.ourproject.org>
Sent: Friday, November 12, 2004 5:47 PM
Subject: Re: [Care2x-general] Fw: Re: [Care2002-developers] about patients
andpersonnel in the same table


Estimados colegas:

Les informo que pude adelantar del archivo personas. Si bien es cierto
que concecptualmente la herencia permite reusar una clase siempre esta
ligada a la implementacion hecha en cada sistema. Y comento brevemente
(podremos ampliarlo como tema) que no solo es un problema de seguridad
que se vea al personal quien puede ver paciente sin que puede
considerarse de igual o mas gravedad que quien accede al personal
pueda ver datos del paciente; con el tema de la confidencialidad y del
Habeas Data merece una consideracion.
En el archivo de carga del personal llama a las dos clases (la de
persona y la de personal) y cualquier redefinicion ahi puede traer un
efecto colateral en otra parte del sistema. Estuve viendo como esta
armado el sistema, analizando como hacer la implementacion y haciendo
pruebas. Y en realidad habria que hacer un cambio en la estructura
proponiendolo al grupo central; me explico. En
include/care_api_classes esta la clase personal. Haciendo uso de la
herencia se pueden crear dos clases: paciente y empleado. Son
simplemente derivadas de person y solo se redefinen coneptualmente
para usarlas en los programa correspondiente. Dejandolo como esta
siguen abriendo la base care_person con lo que a ellos no les modifica
nada, pero permite la implementacion en distintas bases. Me explico:

Paso 1:

/include/care_api_classes/care_employee.php

<?php
/**
* @package care_api
*/
/**
*/
require_once($root_path.'include/care_api_classes/class_person.php');
/**
*  Person methods.
*
* Note this class should be instantiated only after a "$db" adodb
connector object  has been established by an adodb instance
* @author Elpidio Latorilla
* @version beta 2.0.1
* @copyright 2002,2003,2004,2005,2005 Elpidio Latorilla
* @package care_api
* aporte Juan Rossano - Grupo Biolinux (Care2l)
*/
class Employee extends Person {
/**
* Table name for person registration data.
* @var string
*/
}
?>

/include/care_api_classes/care_patient.php

<?php
/**
* @package care_api
*/
/**
*/
require_once($root_path.'include/care_api_classes/class_person.php');
/**
*  Person methods.
*
* Note this class should be instantiated only after a "$db" adodb
connector object  has been established by an adodb instance
* @author Elpidio Latorilla
* @version beta 2.0.1
* @copyright 2002,2003,2004,2005,2005 Elpidio Latorilla
* @package care_api
* aporte Juan Rossano - Grupo Biolinux (Care2l)
*/
class Patient extends Person {
/**
* Table name for person registration data.
* @var string
*/
}
?>

Hasta aca solo se redefinen, cambian los nombres, el programa es mas
legible pero la funcionalidad es la misma. Ahora al incluir el archivo
de classes se puede cargar uno personalizado como se hace con los de
idioma. Mi propuesta es crear /include/classes/es-ar para poner las
classes personalizadas. Los cambios son los care_person por
care_patient o care_employee segun corresponda y ademas cargar el
personalizado si estuviera y si no el default.
Entonces el codigo php donde decia:
require_once($root_path.'include/care_api_classes/class_person.php');
require_once($root_path.'include/care_api_classes/class_personell.php');

queda:
if
(file_exists('include/classes/'.$GLOBALCONFIG['language_default'].'/class_em
ployee.php'))
{
require_once($root_path.'include/classes/'.$GLOBALCONFIG['language_default']
.'/class_employee.php');
} else {
require_once($root_path.'include/care_api_classes/class_employee.php');
}
if
(file_exists('include/classes/'.$GLOBALCONFIG['language_default'].'/class_pe
rsonell.php'))
{
require_once($root_path.'include/classes/'.$GLOBALCONFIG['language_default']
.'/class_personell.php');
} else {
require_once($root_path.'include/care_api_classes/class_personell.php');
}

Esto permite que pongamos en nuestra personalizacion las clases
correspondiente dejandolas asi:

/include/care_api_classes/care_employee.php

<?php
/**
* @package care_api
*/
/**
*/
require_once($root_path.'include/care_api_classes/class_person.php');
/**
*  Person methods.
*
* Note this class should be instantiated only after a "$db" adodb
connector object  has been established by an adodb instance
* @author Elpidio Latorilla
* @version beta 2.0.1
* @copyright 2002,2003,2004,2005,2005 Elpidio Latorilla
* @package care_api
* aporte Juan Rossano - Grupo Biolinux (Care2l)
*/
class Employee extends Person {
/**
* Table name for person registration data.
* @var string
*/
        $this->tb_person='care_employee';
}
?>

/include/care_api_classes/care_patient.php

<?php
/**
* @package care_api
*/
/**
*/
require_once($root_path.'include/care_api_classes/class_person.php');
/**
*  Person methods.
*
* Note this class should be instantiated only after a "$db" adodb
connector object  has been established by an adodb instance
* @author Elpidio Latorilla
* @version beta 2.0.1
* @copyright 2002,2003,2004,2005,2005 Elpidio Latorilla
* @package care_api
* aporte Juan Rossano - Grupo Biolinux (Care2l)
*/
class Patient extends Person {
/**
* Table name for person registration data.
* @var string
*/
        $this->tb_person='care_patient';
}
?>

consiguiendo separar las tablas en pacientes y empleados (care_patient
y care_employee)
¿Me explique? ¿Que opinan?

Saludos

Juan Rossano

On Tue, 9 Nov 2004 23:31:47 -0300, Juan Rossano <juanrossano en gmail.com>
wrote:
> En OOP la herencia permite crear una subclase a partir de otra para
> agregar funcionalidad. En nuestro caso seria crear class_employee a
> partir de class_person (conceptualmente, tengo que confirmar si son
> esas). Pero no es tan simple por dos temas. Por un lado nos alejamos
> del central ya que tenemos que cambiar las llamadas a class_person por
> class_employee y en segundo lugar porque sigue siendo un tema donde
> hacemos el cambio por el agregado de funcionalidad. Si la instancias a
> las clases se crean en los php personalizados para el idioma es mas
> adaptable, pero nosotros tendriamos que redefinir la clase o la
> propiedad desde un php llamado despues de la creacion de la instancia.
> Igualmente voy a hacer pruebas y despues les cuento; pero queria
> ponerlos al tanto de los conceptos.
> Saludos
>
> Juan
>

_______________________________________________
Care2x-general mailing list
Care2x-general en lists.ourproject.org
http://lists.ourproject.org/cgi-bin/mailman/listinfo/care2x-general




Más información sobre la lista de distribución Care2x-general