Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added instructions about making the zip file

...

Note

Attached is a zip file containing a DSD for two indicators.

...

This example zip file will be used in the following examples to illustrate how to 'read' SDMX-HD packages, and prepare them to work with the OpenMRS integration.

SDMX-HD_example.zip

Package File Structure

...

If you look at the contents of the .zip file above, you'll notice that in the root of the archive is a file called DSD.xml.   If you are building this an SDMX message .zip file from scratch, you always need to make sure that the DSD.xml file is in the root of the archive.  This , which might not be the case if you use a GUI archiver application. To ensure that the zip file is created correctly you can use the command line zip application, e.g.

Code Block
bash
bash

cd <directory-containing-dsd-file>
zip -r <name-of-output-zip-file> . -x *.*~ *.DS_Store *.bak

The DSD.xml file is the main descriptor file for the data set definition of the indicators that you are trying to export.   DSD.xml contains It contains all of the concepts, codeLists, indicator disaggregation and indicator hierarchy descriptions, and key families for your export - -   all of which affect the structure of the indicator output.

The example package above was developed as an experiment to determine what the 'rules' are for exporting data in SDMX format.   The ultimate goal of this work is to create a new SDMX-HD descriptor package for the 2012 Rwanda TracNET indicators.   If you are building a new export, you could use the example file as a template for getting started.  You You just need to add your own indicators, disaggregations, and indicator hierarchy.

This example DSD is built on a WHO-published example.   Many of the included files aren't used.   The best way to determine what's important in a DSD is to look in the KeyFamily section and work backwards.

How Indicators Are Defined: 

The way the OpenMRS SDMX-HD module determines what elements are 'indicators' as follows: 

1) a Dimension defined in the KeyFamily section in the DSD is found that is mapped to CL_INDICATOR:

...

In the example above, you can follow the pointers to find the indicators.   The CodeList CL_INDICATOR referenced by the indicator dimension points to CL_INDICATOR, which is defined in the CodeList section of the DSD (just do a string search).   You will see that CL_INDICATOR is defined by the following line in DSD.xml:

...

The contents of this file are fairly easy to read.   This file defines a list of indicators:

...