← Back to team overview

dhis2-devs team mailing list archive

Re: Dataset vs. import/export vs. dael-dataset integrity checking

 

Hi,

Slightly confusing to discuss this in two different email threads....

Bob, in that other thread you said that you could look up the periodtype for
a datavalue through its period?
Then why go via the dataset?

Ola



On 20 May 2010 13:38, Bob Jolliffe <bobjolliffe@xxxxxxxxx> wrote:

> Hi Ola, Kim
>
> On 20 May 2010 10:21, Ola Hodne Titlestad <olatitle@xxxxxxxxx> wrote:
> > Hi Kim Anh,
> >
> > I am not sure I fully understand your problem.
> > Maybe you could show us a few examples of data sets, data elements
> (English
> > translations) and different period types to illustrate your problem?
> > Thanks.
> >
> > Note that saving values with different period types for the same data
> > element will easily become messy and end in duplicate and overlapping
> data
> > that the system will not mange well.
> > So this constraint is important in keeping any DHIS database consistent
> and
> > should not be violated. In fact there should be some validation of this
> in
> > data entry and data import as well, and not just in the manually run
> > integrity checks.
>
> I think Kim's point is that there is no such constraint.  DataValues
> with the same Dataelement can indeed be of different period types and
> I'm assuming this was by design.  We'd have to trawl through some data
> to see how often this is actually the case.
>
> So when importing datavalues from "somewhere" those datavalues will
> have a period and periodtype, but in order to capture that in dhis
> they would first have to be members of a dataset.  And note that is
> for the sole purpose of attaching a periodtype.  So I can understand
> the reluctance.  I've had similar headaches with datasets and sdmx
> which I haven't quite solved either.
>
> To make matters slightly worse, in order to find the period type of a
> data value you have to infer the dataset first by looking at the
> dataelement and the orgunit in combination.  So for a datavalue:
>
> dataset = f(orgunit, dataelement); and
> PeriodType = g(dataset);
>
> So its a slightly untidy arrangement which I guess has evolved over time.
>
> Possible resolutions:
> Once we have a form object (which I believe is coming) much of the
> rationale for the dataset (collecting dataelements which match
> collection instruments) might fall away.  In which case we'd have a
> few possibilities:
> (i)  make the period type a first-class property of the dataelement -
> might or might not be possible (see data trawling above); or
> (ii) make the period type an attribute of the datavalue (which makes
> the datavalue storage bigger); or
> (iii) make the period type an implicit category of the categorycombo.
>
> Note that (ii) offers the maximum flexibility and (i) and (iii) are
> logically very similar.  I think I would go for (i) as the best
> compromise.
>
> In the short term what Ola suggests is probably the best approach.
> Even though its not a hard constraint, it is worth trying to treat
> dataelements as if they have a fixed period type - and creating
> multiple dataelements for multiple periodtypes.
>
> Regards
> Bob
>
> >
> > In your case it sounds like you need multiple data elements with
> different
> > period types. The use calculated data elements or indicators, or some
> custom
> > aggregated reports to combine the data with different period types for
> data
> > analysis.
> >
> > The best solution is the non-technical one, to enforce the same data
> > collection frequency for all orgunits, and that way achieve a more
> > consistent data warehouse. I understand that this might be difficult to
> > achieve though.
> >
> > Note that the reporting frequency (data export up the hierarchy or report
> > generation) does not have to be the same as the data entry frequency. The
> > important point is to make sure data is collected for the same period
> type
> > across units at the lowest level.
> >
> > Ola
> > ---------------
> >
> >
> >
> > On 20 May 2010 11:02, Kim-Anh Vo <catakim@xxxxxxxxx> wrote:
> >>
> >> Hi all,
> >>
> >> The subject I have given out: "Dataset vs. import/export vs.
> dael-dataset
> >> integrity checking" appears when I am working on building an
> >> integrated-health database.
> >>
> >> The points for the above objects:
> >> 1. Dataset (or discussed as dataelementSet): is a list of dataelements
> for
> >> entry, import/export, etc.
> >> 2. Import/Export datavalue (or maybe called dataelementValue) is based
> on
> >> dataset, it means that dataelement value is only exported/imported by
> being
> >> included in at least one dataset.
> >> 3. Dataset-integrity checking to find the violate: Data elements
> assigned
> >> to data sets with different period types
> >>
> >> See the above under a data warehouse (or just a central data repository)
> >> situation: all daels, datavalues, etc. from local databases would be
> >> imported into that sys.
> >>
> >> Back to the objects vs. DHIS2, there are some issues:
> >>
> >> iss1) Data (dataelementvalue) imported from many sources from diff local
> >> places (nations, provinces, dis., etc.) SO a unified dataset with a
> unified
> >> period for all is unlikely possible. As a result of this," dael-dataset
> >> integrity checking" criterion is hard to be fulfilled
> >>
> >> iss2) Data import/export all the time goes with datasets so everytime
> >> importing/exporting datavalues, dataset is an attached element for the
> tasks
> >> with the additionally important info: period, ou, etc. of the
> dataelements.
> >> So, whether the repository (data warehouse) needs that local dataset or
> not
> >> they (reluctantly-imported-dataset) do exist!
> >> And of course, as a central data house/repository: import/export is a
> >> basic function, so will we find another criterion for checking-out the
> >> dael-dataset-integrity for a data warehouse/repository?
> >>
> >> Any ideas?
> >>
> >> --
> >> --
> >> Best regards,
> >> Kim-Anh Vo
> >>
> >> +84.906612246
> >> kavo@xxxxxxxxxx
> >> Coordinator of HISP(hisp.info) in Vietnam
> >> Master of Information Systems
> >> at the University of Oslo
> >> ------------------------------------
> >> join facebook at www.facebook.com join LinkedIn at www.linkedin.com
> >>
> >> _______________________________________________
> >> 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
> >>
> >
> >
> > _______________________________________________
> > 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