Hi Knut,

Yes. And is it possible to do that APIs?

Thank you.


==========================
Isaiah Nyabuto
+254729572616
Bsc. Health Records Management and Informatics

On Feb 15, 2018 16:29, "Knut Staring" <knu...@gmail.com> wrote:

> Hi Isaiah,
>
> When you say "extract", you mean you want to take metadata from one
> instance of DHIS2 and import to another one? That can be done through the
> user interface as described in the user manual:
> https://docs.dhis2.org/master/en/user/html/import_export.html
> https://play.dhis2.org/2.28/dhis-web-importexport/index.action
>
> You can also load metadata from CSV:
> https://docs.dhis2.org/master/en/developer/html/webapi_csv_
> metadata_import.html
>
> On Thu, Feb 15, 2018 at 7:33 AM, Isaiah Nyabuto <isaiahnyab...@gmail.com>
> wrote:
>
>> Hi Jason,
>>
>> Thank you. I am going to look into that keenly.
>> And If I may ask, is there a way I can extract dhis2 metadata that can be
>> imported directly or with minimal transformations?
>>
>> This will be helpful. Thank you.
>>
>> ==========================
>> Isaiah Nyabuto
>> +254729572616 <+254%20729%20572616>
>> Bsc. Health Records Management and Informatics
>>
>> On Feb 15, 2018 15:16, "Jason Pickering" <jason.p.picker...@gmail.com>
>> wrote:
>>
>>> Hi Isaiah,
>>>
>>> You have
>>>
>>>
>>> "parent":"vpiZlB5cdK7"
>>>
>>>
>>> It should be
>>>
>>> parent":{"id":"vpiZlB5cdK7"}}
>>>
>>> Be sure your JSON structure is exactly as it should be, otherwise, you
>>> will get those kinds of errors. Study the example here
>>> <https://raw.githubusercontent.com/jason-p-pickering/dhis2-data-munging/master/ous/ous.json>
>>> .
>>>
>>> Regards,
>>> Jason
>>>
>>>
>>>
>>> On Thu, Feb 15, 2018 at 1:07 PM, Isaiah Nyabuto <isaiahnyab...@gmail.com
>>> > wrote:
>>>
>>>> Thank you for the tip. It still doesn't work.
>>>> what does this error mean?
>>>>
>>>> httr::content(r, "text")
>>>>
>>>> [1] "{\"httpStatus\":\"Internal Server Error\",\"httpStatusCode\":500
>>>> ,\"status\":\"ERROR\",\"message\":\"Can not instantiate value of type
>>>> [simple type, class org.hisp.dhis.organisationunit.OrganisationUnit]
>>>> from String value ('It7fWcKbcZX'); no single-String constructor/factory
>>>> method\\n at [Source: org.apache.catalina.connector.
>>>> CoyoteInputStream@1efec811; line: 1, column: 73] (through reference
>>>> chain: org.hisp.dhis.organisationunit.OrganisationUnit[\\\"parent\\\
>>>> "])\"}"
>>>>
>>>> Anyone?
>>>>
>>>> Thank you.
>>>> ==========================
>>>> Isaiah Nyabuto
>>>> +254729572616 <+254%20729%20572616>
>>>> Bsc. Health Records Management and Informatics
>>>>
>>>> On Feb 15, 2018 13:14, "Jason Pickering" <jason.p.picker...@gmail.com>
>>>> wrote:
>>>>
>>>> All of your fields must have exactly the correct names:
>>>>
>>>> shortname -> shortName
>>>> featuretype-> featureType
>>>>
>>>> Keep hacking at it! You will get there!
>>>>
>>>> Regards,
>>>> Jason
>>>>
>>>>
>>>> On Thu, Feb 15, 2018 at 11:08 AM, Isaiah Nyabuto <
>>>> isaiahnyab...@gmail.com> wrote:
>>>>
>>>>> Hi Jason,
>>>>>
>>>>> Here is some bit of my post data.
>>>>>
>>>>> {"organisationUnits":[{"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":
>>>>>
>>>>>
>>>>> After changing the "uid" to "id",  still it doesn't work.
>>>>>
>>>>> Thank you
>>>>>
>>>>>
>>>>> On Thu, Feb 15, 2018 at 12:14 PM, Jason Pickering <
>>>>> jason.p.picker...@gmail.com> wrote:
>>>>>
>>>>>> Hi Isaiah,
>>>>>>
>>>>>> Post a bit of your JSON here from  
>>>>>> toJSON(list(organisationUnits=new_org),
>>>>>> auto_unbox = TRUE)
>>>>>>
>>>>>> One other problem I noticed as well is this
>>>>>>
>>>>>> [{"name":"Wikithuki Dispensary","uid":"Bc371uxfYD5"
>>>>>>
>>>>>>
>>>>>> It should be
>>>>>>
>>>>>> [{"name":"Wikithuki Dispensary","id":"Bc371uxfYD5"
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Jason
>>>>>>
>>>>>>
>>>>>> On Thu, Feb 15, 2018 at 10:01 AM, Isaiah Nyabuto <
>>>>>> isaiahnyab...@gmail.com> wrote:
>>>>>>
>>>>>>> Hi Jason,
>>>>>>>
>>>>>>> I get an internal server error code: 500, after trying that. Here is
>>>>>>> the response;
>>>>>>>
>>>>>>> httr::content(r, "text")[1] "{\"httpStatus\":\"Internal Server 
>>>>>>> Error\",\"httpStatusCode\":500,\"status\":\"ERROR\",\"message\":\"Can 
>>>>>>> not instantiate value of type [simple type, class 
>>>>>>> org.hisp.dhis.organisationunit.OrganisationUnit] from String value 
>>>>>>> ('It7fWcKbcZX'); no single-String constructor/factory method\\n at 
>>>>>>> [Source: org.apache.catalina.connector.CoyoteInputStream@1efec811; 
>>>>>>> line: 1, column: 73] (through reference chain: 
>>>>>>> org.hisp.dhis.organisationunit.OrganisationUnit[\\\"parent\\\"])\"}"
>>>>>>>
>>>>>>>
>>>>>>> Thank you.
>>>>>>>
>>>>>>> On Thu, Feb 15, 2018 at 10:36 AM, Jason Pickering <
>>>>>>> jason.p.picker...@gmail.com> wrote:
>>>>>>>
>>>>>>>> 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
>>>>>>>> <https://raw.githubusercontent.com/jason-p-pickering/dhis2-data-munging/master/ous/ous.json>
>>>>>>>> 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 <
>>>>>>>> isaiahnyab...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Dear Jason and Dhis2 Community,
>>>>>>>>>
>>>>>>>>> I am following your guide on bootstrapping
>>>>>>>>> <https://github.com/jason-p-pickering/dhis2-data-munging/blob/master/bootstrap/bootstrap.Rmd>
>>>>>>>>>  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
>>>>>>>>> 2        Gemifa Medical Clinic Z7Lf1n3Fcpi  22907 mEZBjj4fLBT         
>>>>>>>>>        Gemifa
>>>>>>>>> 3       Olympus Medical Clinic NAbQdHuaJFK  22906 PeEcMfBchbr         
>>>>>>>>>       Olympus
>>>>>>>>> 4 Masaba Community Health Unit tYwHeLSnHyb 600616 QR2K4k8VKF1         
>>>>>>>>>    Masaba CHU
>>>>>>>>> 5        Gatunga 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                         NA        NA               POINT  
>>>>>>>>> [37.95263,-0.77819]
>>>>>>>>> 2         Clinic          NA        NA                NONE 
>>>>>>>>> [34.391914,0.059575]
>>>>>>>>> 3         Clinic          NA        NA                NONE   
>>>>>>>>> [34.3994,0.059575]
>>>>>>>>> 4 Community Unit          NA        NA                NONE   
>>>>>>>>> [34.46411,0.19358]
>>>>>>>>> 5                         NA        NA               POINT   
>>>>>>>>> [37.9423,-0.29656]
>>>>>>>>> 6                         NA        NA               POINT  
>>>>>>>>> [37.53009,-0.54506]
>>>>>>>>>   contactperson address email phonenumber
>>>>>>>>> 1            NA      NA    NA          NA
>>>>>>>>> 2            NA      NA    NA          NA
>>>>>>>>> 3            NA      NA    NA          NA
>>>>>>>>> 4            NA      NA    NA          NA
>>>>>>>>> 5            NA      NA    NA          NA
>>>>>>>>> 6            NA      NA    NA          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
>>>>>>>>> 2        Gemifa Medical Clinic Z7Lf1n3Fcpi  22907 mEZBjj4fLBT         
>>>>>>>>>        Gemifa
>>>>>>>>> 3       Olympus Medical Clinic NAbQdHuaJFK  22906 PeEcMfBchbr         
>>>>>>>>>       Olympus
>>>>>>>>> 4 Masaba Community Health Unit tYwHeLSnHyb 600616 QR2K4k8VKF1         
>>>>>>>>>    Masaba CHU
>>>>>>>>> 5        Gatunga 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         Clinic                NONE [34.391914,0.059575]
>>>>>>>>> 3         Clinic                NONE   [34.3994,0.059575]
>>>>>>>>> 4 Community Unit                NONE   [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&atomicMode=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.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Jason P. Pickering
>>>>>>>> email: jason.p.picker...@gmail.com
>>>>>>>> tel:+46764147049 <076-414%2070%2049>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> ------------------------------------------------------------
>>>>>>> --------------------
>>>>>>> Isaiah Nyabuto
>>>>>>> +254 729 572 616
>>>>>>> Bsc. Health Records Management & Informatics, JKUAT.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jason P. Pickering
>>>>>> email: jason.p.picker...@gmail.com
>>>>>> tel:+46764147049 <076-414%2070%2049>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> ------------------------------------------------------------
>>>>> --------------------
>>>>> Isaiah Nyabuto
>>>>> +254 729 572 616
>>>>> Bsc. Health Records Management & Informatics, JKUAT.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Jason P. Pickering
>>>> email: jason.p.picker...@gmail.com
>>>> tel:+46764147049 <076-414%2070%2049>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Jason P. Pickering
>>> email: jason.p.picker...@gmail.com
>>> tel:+46764147049 <+46%2076%20414%2070%2049>
>>>
>>
>> _______________________________________________
>> 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
>>
>>
>
>
> --
> Knut Staring
>
> Department of Information, Evidence and Research
> World Health Organization, Geneva, Switzerland
> Office: +41 22 791 3683 Mob1: +33 6 4434 2931 Mob2: +47 9188 0522
> Skype:     knutstar
>
_______________________________________________
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

Reply via email to