Re: [Dhis2-users] Posting Metadata in dhis2.

2018-02-14 Thread Jason Pickering
Hi Isiah,

The reason for it not working (at least at first glance) is that you are
posing to the /api/metadata endpoint. Thus, you need to tell the server
what you are trying to import. In this case, its organisation units.

I think changing this to

  r <- POST(url, authenticate(dest.user, dest.pass),
body = toJSON(list(organisationUnits=new_org), auto_unbox =
TRUE),
content_type_json())

should work.

The example works because the file

looks like this:


{"created":"2016-08-10","organisationUnits":[{"id":"u6yjgvIMzKn",...


Hope this helps and best regards,

Jason





On Thu, Feb 15, 2018 at 6:34 AM, Isaiah Nyabuto 
wrote:

>
> Dear Jason and Dhis2 Community,
>
> I am following your guide on bootstrapping
> 
>  dhis2 with R while trying to import metadata using the API.
>
> I do not understand why my metadata is not imported. Here are my steps,
> any help will be appreciated.
>
>
> head(org)  name uid   code  parent
>  shortname
> 1 Wikithuki Dispensary Bc371uxfYD5  16925 vpiZlB5cdK7  Wikithuki 
> Dispensary
> 2Gemifa Medical Clinic Z7Lf1n3Fcpi  22907 mEZBjj4fLBT
> Gemifa
> 3   Olympus Medical Clinic NAbQdHuaJFK  22906 PeEcMfBchbr   
> Olympus
> 4 Masaba Community Health Unit tYwHeLSnHyb 600616 QR2K4k8VKF1
> Masaba CHU
> 5Gatunga Health Centre cmay4WXRmhA  12034 IcAegRcGuV6 Gatunga Health 
> Centre
> 6 Cfw Kimangaru Clinic E52UsoBxJVS  11966 vEAFtHnPDrX  CFW Kimangaru 
> Clinic
>  description openingdate closedate comment featuretype  
> coordinates url
> 1 NANA   POINT  
> [37.95263,-0.77819]
> 2 Clinic  NANANONE 
> [34.391914,0.059575]
> 3 Clinic  NANANONE   
> [34.3994,0.059575]
> 4 Community Unit  NANANONE   
> [34.46411,0.19358]
> 5 NANA   POINT   
> [37.9423,-0.29656]
> 6 NANA   POINT  
> [37.53009,-0.54506]
>   contactperson address email phonenumber
> 1NA  NANA  NA
> 2NA  NANA  NA
> 3NA  NANA  NA
> 4NA  NANA  NA
> 5NA  NANA  NA
> 6NA  NANA  NA
>
>
> I followed the following steps to prepare my df for import.
> 1. Removed all the NAs  and columns with entire NAs.
>
> head(new_org)  name uid   code  parent
>  shortname
> 1 Wikithuki Dispensary Bc371uxfYD5  16925 vpiZlB5cdK7  Wikithuki 
> Dispensary
> 2Gemifa Medical Clinic Z7Lf1n3Fcpi  22907 mEZBjj4fLBT
> Gemifa
> 3   Olympus Medical Clinic NAbQdHuaJFK  22906 PeEcMfBchbr   
> Olympus
> 4 Masaba Community Health Unit tYwHeLSnHyb 600616 QR2K4k8VKF1
> Masaba CHU
> 5Gatunga Health Centre cmay4WXRmhA  12034 IcAegRcGuV6 Gatunga Health 
> Centre
> 6 Cfw Kimangaru Clinic E52UsoBxJVS  11966 vEAFtHnPDrX  CFW Kimangaru 
> Clinic
>  description comment featuretype  coordinates url
> 1  POINT  [37.95263,-0.77819]
> 2 ClinicNONE [34.391914,0.059575]
> 3 ClinicNONE   [34.3994,0.059575]
> 4 Community UnitNONE   [34.46411,0.19358]
> 5  POINT   [37.9423,-0.29656]
> 6  POINT  [37.53009,-0.54506]
>
>
> 3. Then post the data as follows.
>
> dest.url <- "http://localhost/dhis/;
> url <- paste0(dest.url, "api/metadata?importStrategy=C
> REATE=NONE")
>   r <- POST(url, authenticate(dest.user, dest.pass),
> body = toJSON(new_org, auto_unbox = TRUE),
> content_type_json())
>   assertthat::assert_that(r$status_code==200)
>
> 4. The body looks like.
>
> jsonlite::toJSON(me, auto_unbox = TRUE)[{"name":"Wikithuki 
> Dispensary","uid":"Bc371uxfYD5","code":"16925","parent":"vpiZlB5cdK7","shortname":"Wikithuki
>  
> Dispensary","description":"","comment":"","featuretype":"POINT","coordinates":"[37.95263,-0.77819]","url":""},{"name":"Gemifa
>  Medical 
> Clinic","uid":"Z7Lf1n3Fcpi","code":"22907","parent":"mEZBjj4fLBT","shortname":"Gemifa","description":"Clinic","comment":"","featuretype":"NONE","coordinates":"[34.391914,0.059575]","url":""},{"name":"Olympus
>  Medical 
> Clinic","uid":"NAbQdHuaJFK","code":"22906","parent":"PeEcMfBchbr","shortname":"Olympus","description":"Clinic","comment":"","featuretype":"NONE","coordinates":"[34.3994,0.059575]","url":""},{"name":"Masaba
>  Community Health 
> 

[Dhis2-users] Posting Metadata in dhis2.

2018-02-14 Thread Isaiah Nyabuto
Dear Jason and Dhis2 Community,

I am following your guide on bootstrapping

 dhis2 with R while trying to import metadata using the API.

I do not understand why my metadata is not imported. Here are my steps, any
help will be appreciated.


head(org)  name uid   code  parent
shortname
1 Wikithuki Dispensary Bc371uxfYD5  16925 vpiZlB5cdK7
Wikithuki Dispensary
2Gemifa Medical Clinic Z7Lf1n3Fcpi  22907 mEZBjj4fLBT
  Gemifa
3   Olympus Medical Clinic NAbQdHuaJFK  22906 PeEcMfBchbr
 Olympus
4 Masaba Community Health Unit tYwHeLSnHyb 600616 QR2K4k8VKF1
  Masaba CHU
5Gatunga Health Centre cmay4WXRmhA  12034 IcAegRcGuV6 Gatunga
Health Centre
6 Cfw Kimangaru Clinic E52UsoBxJVS  11966 vEAFtHnPDrX  CFW
Kimangaru Clinic
 description openingdate closedate comment featuretype
coordinates url
1 NANA   POINT
[37.95263,-0.77819]
2 Clinic  NANANONE
[34.391914,0.059575]
3 Clinic  NANANONE
[34.3994,0.059575]
4 Community Unit  NANANONE
[34.46411,0.19358]
5 NANA   POINT
[37.9423,-0.29656]
6 NANA   POINT
[37.53009,-0.54506]
  contactperson address email phonenumber
1NA  NANA  NA
2NA  NANA  NA
3NA  NANA  NA
4NA  NANA  NA
5NA  NANA  NA
6NA  NANA  NA


I followed the following steps to prepare my df for import.
1. Removed all the NAs  and columns with entire NAs.

head(new_org)  name uid   code
parent shortname
1 Wikithuki Dispensary Bc371uxfYD5  16925 vpiZlB5cdK7
Wikithuki Dispensary
2Gemifa Medical Clinic Z7Lf1n3Fcpi  22907 mEZBjj4fLBT
  Gemifa
3   Olympus Medical Clinic NAbQdHuaJFK  22906 PeEcMfBchbr
 Olympus
4 Masaba Community Health Unit tYwHeLSnHyb 600616 QR2K4k8VKF1
  Masaba CHU
5Gatunga Health Centre cmay4WXRmhA  12034 IcAegRcGuV6 Gatunga
Health Centre
6 Cfw Kimangaru Clinic E52UsoBxJVS  11966 vEAFtHnPDrX  CFW
Kimangaru Clinic
 description comment featuretype  coordinates url
1  POINT  [37.95263,-0.77819]
2 ClinicNONE [34.391914,0.059575]
3 ClinicNONE   [34.3994,0.059575]
4 Community UnitNONE   [34.46411,0.19358]
5  POINT   [37.9423,-0.29656]
6  POINT  [37.53009,-0.54506]


3. Then post the data as follows.

dest.url <- "http://localhost/dhis/;
url <- paste0(dest.url, "api/metadata?importStrategy=C
REATE=NONE")
  r <- POST(url, authenticate(dest.user, dest.pass),
body = toJSON(new_org, auto_unbox = TRUE),
content_type_json())
  assertthat::assert_that(r$status_code==200)

4. The body looks like.

jsonlite::toJSON(me, auto_unbox = TRUE)[{"name":"Wikithuki
Dispensary","uid":"Bc371uxfYD5","code":"16925","parent":"vpiZlB5cdK7","shortname":"Wikithuki
Dispensary","description":"","comment":"","featuretype":"POINT","coordinates":"[37.95263,-0.77819]","url":""},{"name":"Gemifa
Medical 
Clinic","uid":"Z7Lf1n3Fcpi","code":"22907","parent":"mEZBjj4fLBT","shortname":"Gemifa","description":"Clinic","comment":"","featuretype":"NONE","coordinates":"[34.391914,0.059575]","url":""},{"name":"Olympus
Medical 
Clinic","uid":"NAbQdHuaJFK","code":"22906","parent":"PeEcMfBchbr","shortname":"Olympus","description":"Clinic","comment":"","featuretype":"NONE","coordinates":"[34.3994,0.059575]","url":""},{"name":"Masaba
Community Health
Unit","uid":"tYwHeLSnHyb","code":"600616","parent":"QR2K4k8VKF1","shortname":"Masaba
CHU","description":"Community
Unit","comment":"","featuretype":"NONE","coordinates":"[34.46411,0.19358]","url":""},{"name":"Gatunga
Health 
Centre","uid":"cmay4WXRmhA","code":"12034","parent":"IcAegRcGuV6","shortname":"Gatunga
Health 
Centre","description":"","comment":"","featuretype":"POINT","coordinates":"[37.9423,-0.29656]","url":""},{"name":"Cfw
Kimangaru 
Clinic","uid":"E52UsoBxJVS","code":"11966","parent":"vEAFtHnPDrX","shortname":"CFW
Kimangaru 
Clinic","description":"","comment":"","featuretype":"POINT","coordinates":"[37.53009,-0.54506]","url":""}]


What could be the problem there? I get status 200 and still it doesn't
import.


Thank you


-- 

Isaiah Nyabuto
+254 729 572 616
Bsc. Health Records Management & Informatics, JKUAT.
___
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : 

[Dhis2-users] Unidirectional relationships - tracker

2018-02-14 Thread Terence Scott
Dear All

I was wondering whether anyone could assist me.

I am looking to create a unidirectional relationship in tracker capture.
For our example, I am looking to have a suspect animal linked to a specific
patient that is being treated. Therefore, the health professional treating
the patient can determine the necessary treatment based on the outcome of
the investigation into the animal. However, we do not want the people
working in the veterinary sector (those dealing with the animal) to be able
to see the confidential human patient information.

Is there a way to link two programmes without having a relationship? Or
alternatively, is there a way to have a unidirectional relationship?

I understand that automated notifications could be a simple remedy to this,
but this would remove the appealing 'automation' of the system, as one
would need a data capturer in both the clinic and at the vet offices to
capture and record the information from the notifications and match that to
the relevant case.

Any assistance or advice would be appreciated.

Kind regards,
Terence


Terence Scott

Global Alliance for Rabies Control (GARC)
Pan-African Rabies Control Network (PARACON) Steering Committee
terence.sc...@rabiesalliance.org
https://paracon.rabiesalliance.org
Skype: tpscott1987
___
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help   : https://help.launchpad.net/ListHelp


Re: [Dhis2-users] [Dhis2-devs] Program Indicator using data from multiple event stages to find TEA

2018-02-14 Thread Martin Van Aken
Ok, thanks for the clarification. I'll check our concrete situation and see
what are our options there.

Martin

On Wed, Feb 14, 2018 at 10:39 AM, Markus Bekken  wrote:

> Hi Martin,
> to my knowledge the parenthesis work in general, with the exception of
> passing parenthesis into the d2:condition() function: DHIS2-2813
> 
>
> You would be able to write parenthesis in program indicators expressions
> and filters. What is not supported is nested d2: function calls.
>
> Please report if you experience problems with parenthesis outside the
> known issue above.
>
> Markus
>
> 14. feb. 2018 kl. 08:30 skrev Martin Van Aken :
>
> Hi everyone.
>
> Thanks Lars for the answer - we face problems with priorities (hence
> needing parenthesis) there too. Glad to know this will be solved, but what
> would be the possible workarounds in the meantime? I wanted to decompose in
> different indicators, but programIndicators can't use other
> programIndicators (like the "aggregate" indicators does), correct? Any
> other way we would apply our proper priorities ?
>
> Thanks,
>
> Martin
>
> On Wed, Feb 14, 2018 at 8:18 AM, Lars Helge Øverland 
> wrote:
>
>> HI Aaron,
>>
>> that sounds good, glad to hear you got cross-stage calculations to work.
>>
>> Unfortunately program indicator expressions do not support nested
>> parentheses/functions - we plan to develop a new version of our program
>> indicator parser which will be more flexible in this regard.
>>
>> regards,
>>
>> Lars
>>
>>
>> On 13 February 2018 at 20:56, Aaron C White 
>> wrote:
>>
>>> Thanks, Lars and Preeti.  I checked the indicator formulation and found
>>> a problem with a d2:condition() statement using a text option set value.  I
>>> converted it to an integer and was able to see the calculated data across
>>> stages.  I think it might be related to the parentheses issue inside the
>>> condition as a few other recent emails have suggested.  How should the
>>> condition be formulated if you also need to check a text option inside that
>>> condition?  Using double quotes on the outside of the formulation does not
>>> seem to work properly.  i.e. d2:condition("my_de == '3'", true, false)
>>>
>>> Aaron
>>>
>>>
>>> --
>>> Aaron C. White
>>> 919.522.5585 <(919)%20522-5585>
>>>
>>> On Mon, Feb 12, 2018 at 1:34 AM, Lars Helge Øverland 
>>> wrote:
>>>
 Hi Aaron,

 from your description I think enrollment type program indicators will
 be appropriate. Can you tell us a bit more about your usecase? I am
 assuming you want information from two different stages in the *same*
 program. Do you have multiple enrollments per person (TEI) in your program?
 If not I think enrollment indicators will do the job.

 regards,

 Lars


 On 8 February 2018 at 21:49, Aaron C White 
 wrote:

> Hi all,
>
> I'm trying to create a program indicator (or just query to the API
> directly) that evaluates conditions on data elements from two different
> event stages and then be used to find a relevant tracked entity attribute.
>
> From the docs, it seems that a program indicator type of enrollment
> would be most appropriate, but this only works at the aggregate level and
> not at an individual tracked entity instance level.  When I use an event
> type indicator, I don't receive any values back because the indicator
> definition contains data from two stages.
>
> Am I correct in this assessment?  Any thoughts on how to get around
> this?
>
> I've been testing on a v2.28 instance.  A similar reference example
> from the demo server would be the "Weight gain(in g) between birth and 
> last
> postnatal for Child Programme" program indicator.  The one change would be
> that I want to see the weight gain for individual TEIs and view a TEA 
> based
> on the weight gain amount instead of the average over all tracked entity
> instances.
>
> Thanks in advance,
>
> Aaron
>
> --
> Aaron C. White
> 919.522.5585 <(919)%20522-5585>
>
> ___
> Mailing list: https://launchpad.net/~dhis2-devs
> Post to : dhis2-d...@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~dhis2-devs
> More help   : https://help.launchpad.net/ListHelp
>
>


 --
 Lars Helge Øverland
 Lead developer, DHIS 2
 University of Oslo
 Skype: larshelgeoverland
 l...@dhis2.org
 http://www.dhis2.org 


>>>
>>
>>
>> --
>> Lars Helge Øverland
>> Lead developer, DHIS 2
>> University of Oslo
>> Skype: larshelgeoverland
>> l...@dhis2.org
>> http://www.dhis2.org 
>>
>>
>> ___
>> Mailing list: 

Re: [Dhis2-users] [Dhis2-devs] Program Indicator using data from multiple event stages to find TEA

2018-02-14 Thread Markus Bekken
Hi Martin,
to my knowledge the parenthesis work in general, with the exception of passing 
parenthesis into the d2:condition() function: DHIS2-2813 


You would be able to write parenthesis in program indicators expressions and 
filters. What is not supported is nested d2: function calls. 

Please report if you experience problems with parenthesis outside the known 
issue above.

Markus

> 14. feb. 2018 kl. 08:30 skrev Martin Van Aken :
> 
> Hi everyone.
> 
> Thanks Lars for the answer - we face problems with priorities (hence needing 
> parenthesis) there too. Glad to know this will be solved, but what would be 
> the possible workarounds in the meantime? I wanted to decompose in different 
> indicators, but programIndicators can't use other programIndicators (like the 
> "aggregate" indicators does), correct? Any other way we would apply our 
> proper priorities ?
> 
> Thanks,
> 
> Martin
> 
> On Wed, Feb 14, 2018 at 8:18 AM, Lars Helge Øverland  > wrote:
> HI Aaron,
> 
> that sounds good, glad to hear you got cross-stage calculations to work.
> 
> Unfortunately program indicator expressions do not support nested 
> parentheses/functions - we plan to develop a new version of our program 
> indicator parser which will be more flexible in this regard.
> 
> regards,
> 
> Lars
>  
> 
> On 13 February 2018 at 20:56, Aaron C White  > wrote:
> Thanks, Lars and Preeti.  I checked the indicator formulation and found a 
> problem with a d2:condition() statement using a text option set value.  I 
> converted it to an integer and was able to see the calculated data across 
> stages.  I think it might be related to the parentheses issue inside the 
> condition as a few other recent emails have suggested.  How should the 
> condition be formulated if you also need to check a text option inside that 
> condition?  Using double quotes on the outside of the formulation does not 
> seem to work properly.  i.e. d2:condition("my_de == '3'", true, false)
> 
> Aaron
> 
> 
> --
> Aaron C. White
> 919.522.5585 
> On Mon, Feb 12, 2018 at 1:34 AM, Lars Helge Øverland  > wrote:
> Hi Aaron,
> 
> from your description I think enrollment type program indicators will be 
> appropriate. Can you tell us a bit more about your usecase? I am assuming you 
> want information from two different stages in the same program. Do you have 
> multiple enrollments per person (TEI) in your program? If not I think 
> enrollment indicators will do the job.
> 
> regards,
> 
> Lars
> 
> 
> On 8 February 2018 at 21:49, Aaron C White  > wrote:
> Hi all,
> 
> I'm trying to create a program indicator (or just query to the API directly) 
> that evaluates conditions on data elements from two different event stages 
> and then be used to find a relevant tracked entity attribute.  
> 
> From the docs, it seems that a program indicator type of enrollment would be 
> most appropriate, but this only works at the aggregate level and not at an 
> individual tracked entity instance level.  When I use an event type 
> indicator, I don't receive any values back because the indicator definition 
> contains data from two stages.  
> 
> Am I correct in this assessment?  Any thoughts on how to get around this?
> 
> I've been testing on a v2.28 instance.  A similar reference example from the 
> demo server would be the "Weight gain(in g) between birth and last postnatal 
> for Child Programme" program indicator.  The one change would be that I want 
> to see the weight gain for individual TEIs and view a TEA based on the weight 
> gain amount instead of the average over all tracked entity instances. 
> 
> Thanks in advance,
> 
> Aaron
> 
> --
> Aaron C. White
> 919.522.5585 
> ___
> Mailing list: https://launchpad.net/~dhis2-devs 
> 
> Post to : dhis2-d...@lists.launchpad.net 
> 
> Unsubscribe : https://launchpad.net/~dhis2-devs 
> 
> More help   : https://help.launchpad.net/ListHelp 
> 
> 
> 
> 
> 
> -- 
> Lars Helge Øverland
> Lead developer, DHIS 2
> University of Oslo
> Skype: larshelgeoverland
> l...@dhis2.org 
> http://www.dhis2.org 
> 
> 
> 
> 
> 
> -- 
> Lars Helge Øverland
> Lead developer, DHIS 2
> University of Oslo
> Skype: larshelgeoverland
> l...@dhis2.org 
> http://www.dhis2.org 
> 
> 
> ___
> Mailing list: https://launchpad.net/~dhis2-devs 
> 
> Post to : dhis2-d...@lists.launchpad.net 
> 

Re: [Dhis2-users] coordinates not found

2018-02-14 Thread Stian Sandvold
Hi Natalie,

I have included one of the backend developers from the Oslo team, Henning,
in this thread. He will try to help you out.

On Tue, Feb 13, 2018 at 3:27 PM, Natalie Tibbels  wrote:

> Thank you all. Looks like the import didn't actually work (ignored). I've
> attached two files I tried, one simply adding a line
> name and one replacing it. These are simply gml files
> converted from gadm.com.
>
>
> Thanks for any help!​
>
>
>
> ---
> *Natalie Tibbels, MSPH*
> Senior Research Assistant
> 410.370.5048 <(410)%20370-5048> (cell) • natalietib (Skype)
>
> Johns Hopkins Bloomberg School of Public Health
> Center for Communication Programs • ccp.jhu.edu
>
> --
> *From:* Lars Helge Øverland 
> *Sent:* Sunday, February 11, 2018 10:53 PM
> *To:* Patrick Albert Chikumba
> *Cc:* Natalie Tibbels; dhis2-users@lists.launchpad.net
> *Subject:* Re: [Dhis2-users] coordinates not found
>
> Hi Natalia,
>
> in addition to Patrick's comments, it is useful to have a look in the
> organisationunit table in your database and see what actually got imported,
> e.g. with this SQL:
>
> select uid,name,coordinates from organisationunit;
>
> The points should look something like this:
>
> [-12.66,9.38]
>
> best,
>
> Lars
>
>
>
> On 9 February 2018 at 03:41, Patrick Albert Chikumba  > wrote:
>
>> Hi Natalie
>>
>> To which organization units have you imported coordinates? and which ones
>> are you trying to access in GIS module?
>>
>> In other words, describe what you have done. May be you are missing
>> something. Or give example.
>>
>>
>>
>> On Thu, Feb 8, 2018 at 6:57 PM, Natalie Tibbels  wrote:
>>
>>> ​Hi all,
>>>
>>> Trying to set up GIS in my DHIS2 instance. The GML import is successful,
>>> but then when I try to add the layer in GIS, it says "valid coordinates not
>>> found". Any ideas of what to check?
>>>
>>> Thanks,
>>>
>>> Natalie
>>>
>>>
>>>
>>> ---
>>> *Natalie Tibbels, MSPH*
>>> Senior Research Assistant
>>> 410.370.5048 <(410)%20370-5048> (cell) • natalietib (Skype)
>>>
>>> Johns Hopkins Bloomberg School of Public Health
>>> Center for Communication Programs • ccp.jhu.edu
>>>
>>>
>>> ___
>>> Mailing list: https://launchpad.net/~dhis2-users
>>> Post to : dhis2-users@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~dhis2-users
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>> --
>> Patrick Albert Chikumba
>> Computing & IT Department - The Malawi Polytechnic
>> +265 885 123 533, patrick_chiku...@yahoo.com
>> 
>> PhD Student
>> University of Oslo - Dept. of Informatics
>> OSLO, Norway
>> Cell: +47 9575 4367
>> Email: patr...@ifi.uio.no
>>
>> ___
>> Mailing list: https://launchpad.net/~dhis2-users
>> Post to : dhis2-users@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~dhis2-users
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
> --
> Lars Helge Øverland
> Lead developer, DHIS 2
> University of Oslo
> Skype: larshelgeoverland
> l...@dhis2.org
> http://www.dhis2.org 
>
>
> ___
> Mailing list: https://launchpad.net/~dhis2-users
> Post to : dhis2-users@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~dhis2-users
> More help   : https://help.launchpad.net/ListHelp
>
>


-- 
Stian Sandvold
Software developer, DHIS2
University of Oslo
http://www.dhis2.org
___
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help   : https://help.launchpad.net/ListHelp