2009/5/25 Ola Hodne Titlestad <ol...@ifi.uio.no> > 2009/5/25 Abyot Gizaw <aby...@gmail.com> > >> >> >> 2009/5/25 Ola Hodne Titlestad <ol...@ifi.uio.no> >> >>> On Mon, May 25, 2009 at 1:10 PM, Abyot Gizaw <aby...@gmail.com> wrote: >>> >>>> >>>> >>>> On Mon, May 25, 2009 at 12:53 PM, Ola Hodne Titlestad <ol...@ifi.uio.no >>>> > wrote: >>>> >>>>> Hi Abyot and others, >>>>> >>>>> I am trying to think how this design fits with other use cases that we >>>>> need to suppport, such as maternal death audits or surveillance of >>>>> notifiable diseases which are typical use cases in HISP where we extend >>>>> DHIS >>>>> to the patient level. >>>>> >>>>> How strong is the link/dependency of patient to village and house in >>>>> this design? Will it cater for use cases where patient and possibly >>>>> orgunit >>>>> are the only "location" references? I can see use cases where an orgunit >>>>> is >>>>> reporting patient details of cases/deaths, e.g.a maternal death or a new >>>>> case of a notifiable disease, with or without location details such as >>>>> village and house. Such a scenario would then involve meta data such as >>>>> orgunit, patient, date, and multiple (patient) data elements. >>>> >>>> >>>> Good point! >>>> >>>> What I have in mind with the village/house thing is that it will be >>>> taken as an address for the person/patient so that latter it can be used as >>>> an out-reach point. For the scenario you mentioned, probably we can define >>>> a >>>> dummy/default family/house/village and then the specific orgunit. >>>> >>> >>> OK, that sounds fine. >>> >>> >>>> >>>> >>>> Thank you >>>> Abyot. >>>> >>>> >>>> >>>>> >>>>> >>>>> Another question/concern I have is related to how you represent data >>>>> elements in this model. I can see that an XML object contains a set of >>>>> Data >>>>> Elements. Will Data Elements be created/edited in GUI and then available >>>>> for >>>>> the users to combine in data sets/forms like in DHIS? And will these data >>>>> elements be easily available when aggregation queries are defined by the >>>>> user? >>>>> >>>> >>>> The dataelements I mentioned in my specification are those dataelements >>>> we have/defined in DHIS2. OrganisationUnit, Period, PeriodType are also >>>> objects from DHIS2. >>>> >>>> >>> OK. >>> I was thinking of "patient" data elements. What I mean is, do you plan to >>> use DHIS2 model for data elements also for patient data elements? >>> If so, how to you plan to distinguish between the two types? Will CBHIS >>> then have its own database when DHIS 2 is also running on the same machine? >>> >> >> Patient dataelement? you mean kind of advanced dataelements? if so why >> don't we extend the current dataelement module in DHIS2? Introducing >> advanced or extended_dataelements instead of doing it in CBHIS? >> > > Basically, what I assume is that data elements (things we want to register > data about) for patients are different than for aggregated/statistical data. > Different more in the meaning of the data than in the structure. E.g. things > related to individuals like "Education level", "Name of husband" etc. are > different than aggregated DE of the type: "No of maternal deaths where > mother has no education". Furthermore, patient and aggregate/routine data > elements will also be captured with very different frequencies and also > stored in different data tables (I assume a different data stores for > sensitive patient data and normal aggregated data). That is why I am > thinking that mixing patient and aggregated data elements in the same system > (GUI/database) will be messy for the users and ask how this will be > separated, both in database and in GUI. > Hope that made more sense. > > > >> >> Separate database? I think that will slow down the system - I mean session >> establishment, connection maintenace and the like because there will be >> quite a handfull of objects to be shared from the current DHIS2 datamodel - >> for example dataelement, organisationunit, period and its type, ...... >> > > That was an issue raised by Calle in an earlier mail thread due to security > issues related to patient-level data. >
Yes I got it now. But I am not sure how to balance the very thin boundary between patient-based data and community-based data. For me in the community-based system we just have individuals (not patients) getting standard health service, education, and some benefits available in health extension programs. Thanks Abyot. > > > Ola > ------------ > > >> >> Thank you >> Abyot. >> > > > > >> >> >> >>> >>> Thanks, >>> Ola >>> ------------ >>> >>> >>> >>>> >>>> >>>>> >>>>> best regards, >>>>> Ola Hodne Titlestad >>>>> HISP >>>>> University of Oslo >>>>> >>>>> >>>>> >>>>> 2009/5/25 Abyot Gizaw <aby...@gmail.com> >>>>> >>>>>> >>>>>> On Mon, May 25, 2009 at 11:32 AM, Bob Jolliffe <bobjolli...@gmail.com> >>>>>> wrote: >>>>>> > >>>>>> > Hi Abyot >>>>>> > >>>>>> > Good to see you back :-) >>>>>> >>>>>> Thanks ... came a week back with full of energy :) >>>>>> >>>>>> > >>>>>> > >>>>>> > 2009/5/25 Abyot Gizaw <aby...@gmail.com>: >>>>>> > > Hi All, >>>>>> > > >>>>>> > > In a sort of lose coupling of DHIS2 and CBHIS, I am planning the >>>>>> following >>>>>> > > coding layout for the CBHIS. >>>>>> > > >>>>>> > > dhis-cbhis-api >>>>>> > > dhis-cbhis-service >>>>>> > > dhis2-cbhis-web-(datarecording/report/administration/......) >>>>>> > >>>>>> > A few thoughts and opinions. Feel free to disagree. >>>>>> >>>>>> Oh ya. >>>>>> >>>>>> > >>>>>> > If you follow the approach above then try to implement some sort of >>>>>> > relationship between modules and packages. I think a module can >>>>>> > implement a number of packages, but packages should not be split >>>>>> > between modules. We have a lot of that at present which is >>>>>> confusing. >>>>>> > All of a package should be defined in one module. >>>>>> > >>>>>> > Be clear what goes in the api and what goes in the service layer - >>>>>> > current rule of thumb seems to be that the api should be >>>>>> free-standing >>>>>> > (outside of "technology-choice" implementation lbraries). A >>>>>> > consequence being that the only dependency you would expect to see >>>>>> in >>>>>> > the api pom.xml would be probably junit (lets provide unit tests for >>>>>> > the api). If its about spring, hibernate, jdbc, jsf or what have >>>>>> you >>>>>> > it belongs in a different package in the service module. >>>>>> >>>>>> The spring, hibernate, jdbc ...... stuff is something which we already >>>>>> have and it goes on under dhis-support module. >>>>>> >>>>>> The api is to contain >>>>>> >>>>>> · Person >>>>>> >>>>>> o First_name – string >>>>>> >>>>>> o Last_name – string >>>>>> >>>>>> o Age – (integer) or shall we make it dateOfBirth? Because at >>>>>> somepoint we will register birth! >>>>>> >>>>>> · Family >>>>>> >>>>>> o Husband – person >>>>>> >>>>>> o Wife – person >>>>>> >>>>>> o Daughters – Set<Person> >>>>>> >>>>>> o Sons – Set<Person> >>>>>> >>>>>> o Address – house >>>>>> >>>>>> · House >>>>>> >>>>>> o HouseNo – string >>>>>> >>>>>> o GpsLocation – string >>>>>> >>>>>> · Village >>>>>> >>>>>> o Name – string >>>>>> >>>>>> o Children – Set<House> >>>>>> >>>>>> o Parent – organisationUnit >>>>>> >>>>>> · HealthProgram >>>>>> >>>>>> o Name – string >>>>>> >>>>>> o Freqency – periodType >>>>>> >>>>>> o ProgramPhase – Set<Register> >>>>>> >>>>>> · Register >>>>>> >>>>>> o Name – string >>>>>> >>>>>> o Header – ?XMLObject? >>>>>> >>>>>> o Footer – ?XMLObject? >>>>>> >>>>>> o Columns – ?XMLObject >>>>>> >>>>>> · XMLObject >>>>>> >>>>>> o Set<dataElement> >>>>>> >>>>>> o Set<houseHoldVisit> >>>>>> >>>>>> o date >>>>>> >>>>>> o village >>>>>> >>>>>> o … >>>>>> >>>>>> · ActivityPlan >>>>>> >>>>>> o Owner – person (Health Extension Worker) >>>>>> >>>>>> o Supervisor – person (Medical Officer) >>>>>> >>>>>> o Date – date >>>>>> >>>>>> o Activities – set<PieceOfTask> >>>>>> >>>>>> · PieceOfTask >>>>>> >>>>>> o Where – house >>>>>> >>>>>> o When – date >>>>>> >>>>>> o ForWhom – person >>>>>> >>>>>> o What – houseHoldVisit >>>>>> >>>>>> >>>>>> >>>>>> and some others which I couldn't forsee the whole picture right now >>>>>> and list here. of course exceptions, logics (query), .... will also be >>>>>> part >>>>>> of the api >>>>>> >>>>>> The service is to contain the processing of the api's - database >>>>>> persisting and any other business logic - like querying, activity plan >>>>>> generation, .... >>>>>> >>>>>> Finally the web part is to contain the presentation of the business >>>>>> logic. >>>>>> >>>>>> >>>>>> > >>>>>> > Use the api to enforce business rules which are not enforced via the >>>>>> > database. We don't do enough of that at present. The API sometimes >>>>>> > assumes that its users are always benign. Don't do this. Expect >>>>>> the >>>>>> > worst and code for it. Part of the api should be a definition of >>>>>> > exceptions. >>>>>> > >>>>>> > Is there a really good reason to have dhis-cbhis-api or should cbhis >>>>>> > be a package within dhis-api? I would lean towards having one dhis2 >>>>>> > API. >>>>>> >>>>>> Not really ... just easy plugability and lost coupling. Didn't want to >>>>>> clutter the very strong sense of aggregate system - I just want to >>>>>> contain >>>>>> the objects of individual/patient/person and its related stuff. >>>>>> >>>>>> >>>>>> Thank you >>>>>> Abyot. >>>>>> >>>>>> >>>>>> > >>>>>> > >>>>>> > Regards >>>>>> > Bob >>>>>> > >>>>>> > > dhis-support-xxxxx and dhis-i18n-xxxx and others will be shared >>>>>> from the >>>>>> > > DHIS2 base framework. >>>>>> > > >>>>>> > > >>>>>> > > Any comments or suggestions would be appreciated. >>>>>> > > >>>>>> > > Thank you >>>>>> > > Abyot. >>>>>> > > >>>>>> > > _______________________________________________ >>>>>> > > Mailing list: >>>>>> > > https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs> >>>>>> > > Post to : dhis2-devs@lists.launchpad.net >>>>>> > > Unsubscribe : >>>>>> > > https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs> >>>>>> > > More help : https://help.launchpad.net/ListHelp >>>>>> > > >>>>>> > > >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Mailing list: >>>>>> https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs> >>>>>> Post to : dhis2-devs@lists.launchpad.net >>>>>> Unsubscribe : >>>>>> https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs> >>>>>> More help : https://help.launchpad.net/ListHelp >>>>>> >>>>>> >>>>> >>>> >>> >> >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp