← Back to team overview

dhis2-devs team mailing list archive

Re: Should we remove the Source object?

 

2009/8/26 Abyot Gizaw <abyota@xxxxxxxxx>

>
>
> 2009/8/26 Lars Helge Øverland <larshelge@xxxxxxxxx>
>
>> 2009/8/26 Abyot Gizaw <abyota@xxxxxxxxx>:
>> >
>> >
>> > 2009/8/26 Lars Helge Øverland <larshelge@xxxxxxxxx>
>> >>
>> >> Hi,
>> >>
>> >> I have been thinking about removing the Source object from the API.
>> >> The abstract Source class was introduced in the model in order to
>> >> allow for multiple implementations of Sources in the system. Currently
>> >> we only have the OrganisationUnit object extending Source. We now see
>> >> eg. with Abyot's CHIS module that even if we need a new kind of
>> >> Source; the Patient, we still need the OrganisationUnit reference in
>> >> DataValue.
>> >
>> > I am not using it !
>> >
>>
>> OK but in all your design proposals there is a PatientDataValue object
>> with a reference to Source, meaning that you don't reuse the DataValue
>> object and associate it with a Patient Source implementation.
>>
>> This is the last I've seen:
>>
>>
>> http://mail.google.com/mail/?ui=2&ik=b4dafba814&view=att&th=121c110ad771e794&attid=0.1&disp=inline&realattid=f_fvpi020h1&zw
>
>
> Yes that was the initial design ...... but now with employing OpenMRS for
> patient value storage that will be obsolete. If back to that design ... then
> I can refer OrgUnit.
>

I hadn't realized you had finally decided to go this route.  Different
thread, but will be interesting to hear how you find it.  Basically same
approach as Saptarshi's leprosy module?

Back to the source, there is one possible constraint I am thinking.
Currently the thing about an orgunit which makes it a bit special is that it
is part of the orgunit hierarchy.  What happens (or does it ever happen?)
when you want to import data from some ad hoc source outside of the
hierarchy - maybe a survey for analysis or something like that?  You either
have to allow for this different kind of source or probably its better to
just disallow it and use a new instance of database instead.

By removing source we will be saying unequivicably that:
(i) all datavalues are associated with an orgunit; and
(ii) that orgunit is part of a single hierarchy

That's neat enough for me.  And I think reflects current concrete
experience.

Regards
Bob


>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References