Professional Documents
Culture Documents
Foryou
FrancisSmart
VideoIntroduction
View5MinuteVideo
Foundathttps://opendatakit.org/
WhatarethebenefitsofUsingMobile
DataCollection?
Imagefromwaterfortheages.org
Imagefrom:www.poimapper.com
BenefitsofUsingMobileDataCollection
Datacanbeuploadedasitiscollected/needed.
Errorcheckingcanbeembeddedintothe
collectionsdevice.
Dataisbothcollectedanddigitized
simultaneously,reducinglaborcostsand
potentialtransmissionerrors.
Mediadatacanbeeasilycollectedand
integrated:suchphotos,videos,audiorecordings,
orGPS.
Complexdatacanhaveembeddedinstructions.
Verificationcheckscanbeembeddedintothe
device(photooffield/family/GPSetc.)
MajorBenefitsofUsingODK
ODKisfree.Thecostofmobiledatacollection
softwareisgenerallyexorbitant.
ODKsupportfree.Mostcompaniesprovide
supportfortheirproductsonlyatsignificant
additionalcosts.
ODKisopensource.ODKiscreatedbypublic
researchinstitutionsforpublicresearch.
ODKOpenDataKit
CreatedbyUniversityofWashington ComputerScienceandEngineering
https://opendatakit.org/
SelectedODKUsers,Projects,orFunders
ImplementationList
Hasprojectsin37countriesand1atthe
InternationalSpaceStation
ODKisdeployedontensofthousandsof
devicessubmittinghundredsofthousandsof
formsaday.
52CompanieslistODKformbuildingand
deploymentservicesontheODKwebsite.
SelectedODKImplementationCompanies
SoftwareComponentsIntroducedinthisworkshop
3.CloudServer:ODK
Aggregate
2.FormCreator:XLSForm
5.RealTime
Graphs:Google
FusionTables
1.MobileDeviceSoftware:ODKCollect
4.DataAccess:ODK
Briefcase
Slightlymodifiedimagefromwww.pma2020.org
SoftwareComponentsOutline
Day1
1. ODKCollect
2. ODKXLSForm BasicUses
3. ODKAggregate FormUpload,MediaUpload,Form
Download
4. ODKBriefcase Submittedforms
Day2
1. ODKXLSForm AdvancedUses
2. ODKAggregatePublish/GoogleFusionTables
3. Completion Certificates
1.ODKCollect
Easyswiperighttoleftnavigation.
Easyinstallation(androidappsstore).
Candelivertext,images,video,andsound.
Cancollecttext,video,sound,GPS.
ShowDemoFormonAndroid
2.XLSForm Builder
BuildformsinMSExcel.
Onelineperentry.(Documentationhttp://xlsform.org/)
(Draganddropexcelfileintoxlsform.exe)
IfnoerrorsthenXLSform.exewillsavexls convertedfile
infolderWorkshop\xlsform\output.
2.XLSForm Builder
Nowletuslookathowto
buildanODKform!
2.XLSForm Builder
FindTwoDocumentsODK1.xlsxandODK2.xlsx
ThesearesampleODKforms.
Startwithodk1.xlsx
Openodk1.xlsx
2.XLSForm Builder
Tabs:
Survey provideslistofitemstobegivento
user.
Choices provideslistofchoicesfromwhich
selecttypeitemswilldraw.
Settings areformspecificattributessuchas
formtitleandid.
2.XLSForm Builder>SurveyTab
Manyoftheobjectsinodk1.xlsxhavemouseover
helpavailable.
2.XLSForm Builder>SurveyTab
Eachrowisanitem.Itemreferstoeitheraninput
oroutputobject.
2.XLSForm Builder>SurveyTab
Eachcolumnisanitemattribute.
2.XLSForm Builder>SurveyTab
Usecellcoloringoptionstoorganizeitems.Blank
rowswillnotbeevaluated.
2.XLSForm Builder>SurveyTab
Mostitemattributesareoptional.However,type and
namearerequired forallitems.
2.XLSForm Builder>SurveyTab
Type isthemostbasicdefiningfeatureofanitem.Itmustbe
selectedfromalistofavailabletypes.Typesarecase
sensitive.
Name isthenameanitemisidentifiedby.Itmaybe
composedofletters,numbers,and_.However,itmuststart
witheitheraletteror_.
2.XLSForm Builder>SurveyTab
Someattributesallowforanalternativelanguage
optiontobeselected.Theattributelabel isan
exampleofthis.
2.XLSForm Builder>SurveyTab>Basictypes
Note itemsdisplaytexttouser.
Labelisthetextdisplayedtotheuser.Anote type
itemwillnotsaveanyuserinputdata.
2.XLSForm Builder>SurveyTab>Basictypes
Acknowledge itemsgiveamessagetotheuser.
2.XLSForm Builder>SurveyTab>Basictypes
Integer itemsallowtheusertoinputaninteger
(wholenumber:1,3,12,3,9283,etc.)
2.XLSForm Builder>SurveyTab>Basictypes
Decimalitemsallowtheusertoinputanumberwith
decimalplaces(3.14159,92,2.34,etc.).
Decimal itemsaremoregeneral(acceptmoreoptions)than
integeritems.
2.XLSForm Builder>SurveyTab>Basictypes
Textitemsallowtheusertoinputatextvalue(Joao,
Purchase,34,etc.)
Textitemsarethemostgeneralformofinput.All
otherbasicinputclasscouldbepassedtotext
items.
2.XLSForm Builder>SurveyTab>Basictypes
Ingeneralwewanttochoosetheinputtypewhich
accountsforallpossibleinputneedswhilealso
beingasrestrictiveaspossible,inorderto
minimizeerrors. Therefore,text itemsshouldbe
theleastpreferred.
2.XLSForm Builder>SurveyTab>Basictypes
Exercise1
LookatSampleHouseholdSurvey Part1.Chooseyourpreferred
itemtypeforitemsA0A10usingthebasictypes:
1. note
2. acknowledge
3. decimal
4. integer
5. text
(IgnoretheODKLogiccolumnfornow.)
2.XLSForm Builder>SurveyTab>Selectiontypes
Howwasthat?
Didanyoftheitemtypesseemapoorfitforthesurvey
questions?
2.XLSForm Builder>SurveyTab>Selectiontypes
Howwasthat?
Didanyoftheitemtypesseemapoorfitforthesurvey
questions?
QuestionsA7andA10probablyseemproblematic.
A7.Gender:___Male___Female
A10.ProvinceofResidence:___Gaza___Inhambane
___Maputo
Forthesetypesofquestionswehaveadifferentitemtype.
2.XLSForm Builder>SurveyTab>Selectiontypes
select_one listnametypeitemsallowitemstohave
answersrestrictedtoonlythoseappearingonadefinedlist.
Inthiscasealistnamedyes_no.
2.XLSForm Builder>SurveyTab>Selectiontypes
Inordertoseewhatlistofchoiceavailableforlistyes_no
welookatthechoicestab.
Wecanseethereisreallyonlytwooptionsavailable,Yes
andNo,unsurprisingly.Inthiscasenameisthevalue
returnedtothedataforeachchoice.
2.XLSForm Builder>SurveyTab>Selectiontypes
Sometimeswewanttohaveaspecificlistofoptionsaswell
astheoptionofamoregeneralresponseselect_one
listnamecombinedwithtexttypeitemsmakethis
possible.
Note:Thereisspeciallogicrelatingtothetext itemwhich
allowsittoappearonlyconditionalupona6beingother.
Wewillintroducethislater.
2.XLSForm Builder>SurveyTab>Selectiontypes
Inordertoseewhatlistofchoiceavailableforlistyes_no
welookatthechoicestab.
Wecanseethereisnowthreeoptionsavailablenow:Yes,
No,andother.
2.XLSForm Builder>SurveyTab>Selectiontypes
Sometimeswewanttoallowmultiplechoicesfromout
selectionlisttobeselected.select_multiple list_name
makesthisfeaturepossible.
Note:Thereisspeciallogicrelatingtothetext itemA8
whichallowsittoappearonlyconditionalupona7having
otherselected.Moreonthisthislater.
2.XLSForm Builder>SurveyTab>Selecttypes
Exercise2
LookatSampleHouseholdSurvey Part2.Chooseyourpreferred
itemtypeforitemsB0B3usingthebasictypes:
1. select_one listname
2. select_one listname_other
3. select_multiple listname
4. select_multiple listname_other
(IgnoretheODKLogiccolumnfornow.)
2.XLSForm Builder>SurveyTab>FormLogic
Oneofthemajorbenefitsofbeingabletododigitaldata
collectionisuseofinternallogictocontrolinputs.ODK
hasseveralobjectattributesavailabletoprovideinput
controls.
2.XLSForm Builder>SurveyTab>FormLogic
constraint attributeisusedtorestrictinput
optionsavailable.Theconstraintmustbetruein
orderfortheinputtobeaccepted.
Forb3thismeansthattheinputvaluemustbe
greaterthan0.The(.)isaplaceholderforthe
valueofb3.
2.XLSForm Builder>SurveyTab>FormLogic
odk usesmacrotypenotation(${name})to
referenceinputvaluesindifferentitems.
Forb5thismeansthattheinputvaluemustbe
lessthanthevalueinputforb3.
2.XLSForm Builder>SurveyTab>FormLogic
required attributeworkssimilartotheconstraint
exceptthatitrequiresthecurrentitemtohavea
valueinordertoadvancethesurvey
Itcanalsotakelogicaloperators.
2.XLSForm Builder>SurveyTab>FormLogic
relevantattributespecifiesaconditionunder
whichitemisnotdisplayed.Bydefaultallitems
aredisplayed.Ifrelevantisfalsethenthe
currentitemisnotdisplayed.
Inthiscase,b9askswhethertoskipthenext
question.Iftheanswerisno(0)thendisplaythe
nextquestion.
2.XLSForm Builder>SurveyTab>FormLogic
calculationattributecombinedwithcalculate
typeallowsforimpendentevaluationofmathor
logic.
Inthiscase,b7isequaltob3+b4+b5.
2.XLSForm Builder>SurveyTab>FormLogic
Odk usescommonlogicaloperators.
x=y>xisequaltoy
x>y>xisgreaterthany
x>=y>xisgreaterthanorequaltoy
x<y>xislessthany
x<=y>xislessthanorequaltoy
Aswellasspecialalookupfunctionforselect_multiple.
selected(x,y)>yisinx
Logicaloperatorscanalsobecombinedwiththemodifiers.
x=yandx>z>xisequaltoyandxisgreaterthanz
x<yorx>z>xislessthanyorxisgreaterthanz
not(x=y)>xisnotequaltoy
x!=y>xisnotequaltoy
2.XLSForm Builder>SurveyTab>FormLogic
Exercise ExpressinODKsytaxforthefollowinglogic:
1.
2.
3.
4.
5.
6.
7.
8.
Thecurrentvalueisgreaterthan0. .>0.>0
Thecurrentbalueislessthanitema4..<${a4}
Thecurrentvalueisgreaterthanorequalto18and
lessthan120. .>=18and.<120
Thecurrentvalueisnotequal10.not(.=10)
Thecurrentvalueisequaltoa5ora6..=${a5}or
.=${a6}
Thecurrentvalueisgreaterthana5plusa6..>${a5}+
${a6}
Thecurrentvalueisnotequaltoa5ora6.not(.=${a5}
or.=${a6})
Oneofthecurrentselectionsisother.selected(.,
other)
2.XLSForm Builder>SurveyTab>FormLogic
Exercise ExpressinODKsytaxforthefollowinglogic:
1.
2.
3.
4.
5.
6.
7.
8.
Thecurrentvalueisgreaterthan0. .>0
Thecurrentbalueislessthanitema4..<${a4}
Thecurrentvalueisgreaterthanorequalto18and
lessthan120..>=18and.<120
Thecurrentvalueisnotequal10.not(.=10)
Thecurrentvalueisequaltoa5ora6..=${a5}or
.=${a6}
Thecurrentvalueisgreaterthana5plusa6..>${a5}+
${a6}
Thecurrentvalueisnotequaltoa5ora6.not(.=${a5}
or.=${a6})
Oneofthecurrentselectionsisother.selected(.,
other)
2.XLSForm Builder>SurveyTab>FormLogic
LogicalAttributesExcercise
Usethefollowingattributetypestodefine
appropriatelogicforhouseholdsurveypart1and
part2.
Attributes:
relevant
constraint
required
calculate
2.XLSForm Builder>SurveyTab
FinalExerciseoftheDay
CodeallofhouseholdsurveyPart1andPart2as
andODKexcelform.(Hint,useodk1asastarting
place.)