Fw: Re: [Care2002-developers] about patients and personnel in the same table
Subject: Re: [Care2002-developers] about patients and personnel in the same table ---- Hello Juan and Walter, you can create a new class that inherits the person class and then in its constructor function you just define the new table name for your personnel table (granting the table structure is the same as care_person).: class Personnel extends Person { function Personnel(){ $this->tb_person = 'care_person_personnel'; } } Then in your scripts, you have to use the Personnel class and not the Person class. Elpidio -- Walter Alfonso Núnez Rivera Médico - Programador Pascual de Andagoya 140 Lima 32 Perú
Very Good... manos a la obra. No? Es relativamente simple. Expliquenme un poco para saber si entendi bien. JR --- Walter Nunez <[email protected]> escribió:
Subject: Re: [Care2002-developers] about patients and personnel in the same table ----
Hello Juan and Walter,
you can create a new class that inherits the person class and then in its constructor function you just define the new table name for your personnel table (granting the table structure is the same as care_person).:
class Personnel extends Person {
function Personnel(){ $this->tb_person = 'care_person_personnel'; } }
Then in your scripts, you have to use the Personnel class and not the Person class.
Elpidio
-- Walter Alfonso Núnez Rivera Médico - Programador Pascual de Andagoya 140 Lima 32 Perú
_______________________________________________ Care2x-general mailing list [email protected]
http://lists.ourproject.org/cgi-bin/mailman/listinfo/care2x-general
___________________________________ ¡Llevate a Yahoo! en tu Unifón! Ahora podés usar Yahoo! Messenger en tu Unifón, en cualquier momento y lugar. Encontrá más información en: http://ar.mobile.yahoo.com/sms.html
Basicamente que tenemos que crear una función de construcción para que use la nueva tabla personnel. No es tan simple porque es trabajoso pero bueno, de donde sacará este tio respuestas simples para lo que parece complejo :)). Vamos a crear el class y despues revisar código hasta que nos salgamos con la nuestra. Después de Tucumán por favor que ahora estoy cabezón matando a Mickey mouse. -- Walter Alfonso Núnez Rivera Médico - Programador Pascual de Andagoya 140 Lima 32 Perú
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
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_employee.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_personell.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 <[email protected]> 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
Juan, Elpidio dice que ya ha considerado eso mucho tiempo atras, ahora.... hay que dejar unos días a que terminen de pelear para proponer esto pero segun él, ya esta considerado desde mucho antes y no fue cambiado. Estoy haciendo las consultas con tu firma. -- Walter Alfonso Núnez Rivera Médico - Programador Pascual de Andagoya 140 Lima 32 Perú
Walter, puedes aclarar a que te refieres, por favor... al faltar a primera parte del mensaje de Juan hay que adivinar. Gracias. JR Walter Nunez <[email protected]> wrote: Juan, Elpidio dice que ya ha considerado eso mucho tiempo atras, ahora.... hay que dejar unos días a que terminen de pelear para proponer esto pero segun él, ya esta considerado desde mucho antes y no fue cambiado. Estoy haciendo las consultas con tu firma. -- Walter Alfonso Núnez Rivera Médico - Programador Pascual de Andagoya 140 Lima 32 Perú _______________________________________________ Care2x-general mailing list [email protected] http://lists.ourproject.org/cgi-bin/mailman/listinfo/care2x-general Correo Yahoo! - 6 MB, tecnología antispam ¡gratis! Suscribite ya http://correo.yahoo.com.ar/
Que Elpidio me ha aclarado por privado y también por la lista que ya han considerado antes lo de la tabla y que tienen formas de evitar una fuga no autorizada de información. Ahora lo mismo que responde siempre. Si lo necesitas........ hazlo Quiero preguntar más sobre el tema y enviar los mails de Juan pero estan discutiendo mucho, todo esta subido de tono practicamente peleando con un desarrollador que ya es conocido por agresivo. Hay que esperar un poco que esten colaborativos y no ofuscados. -- Walter Alfonso Núnez Rivera Médico - Programador Pascual de Andagoya 140 Lima 32 Perú
Barbaro. Esto me lleva a una conclusion: nuestra lista es el Jardin del eden... que bueno. JR Walter Nunez <[email protected]> wrote: Que Elpidio me ha aclarado por privado y también por la lista que ya han considerado antes lo de la tabla y que tienen formas de evitar una fuga no autorizada de información. Ahora lo mismo que responde siempre. Si lo necesitas........ hazlo Quiero preguntar más sobre el tema y enviar los mails de Juan pero estan discutiendo mucho, todo esta subido de tono practicamente peleando con un desarrollador que ya es conocido por agresivo. Hay que esperar un poco que esten colaborativos y no ofuscados. -- Walter Alfonso Núnez Rivera Médico - Programador Pascual de Andagoya 140 Lima 32 Perú _______________________________________________ Care2x-general mailing list [email protected] http://lists.ourproject.org/cgi-bin/mailman/listinfo/care2x-general --------------------------------- Ahora podés usar Yahoo! Messenger en tu Unifón, en cualquier momento y lugar. Encontrá más información aquí.
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" <[email protected]> To: "Lista del Proyecto Care2x-L" <[email protected]> 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 <[email protected]> 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 [email protected] http://lists.ourproject.org/cgi-bin/mailman/listinfo/care2x-general
participants (4)
-
esem@fcampus.com.ar -
JR -
Juan Rossano -
Walter Nunez