Regarding GSoC and contribution to DHIS2 : Scriptable SMS parsing

Hi all,

I came to know about DHIS2 through GSoC and found the work being done by the organisation really interesting and would love to contribute. I found the project Scriptable SMS Parsing particularly interesting as I have worked on something similar in the past where I had built an SMS based customer engagement system for retail shops. I have also worked on parsing while implementing a project in Machine Learning (for extracting features from data).

One way this project can be done is by using Ruby on Rails as the web framework for the interface. The interface receives the SMS [content, phone number etc.] (sent to the interface by the SMS API provider like Twilio, Exotel(only for India) etc. by making an HTTP request to the interface). The contents of the SMS are then parsed (Preferably in Ruby scripting language) and then the response is sent back to the phone after calling the Web API. Now, one of the most important thing is designing the user interface so as to increase customization and mapping incoming textual data to data elements in DHIS2. The way this can be done is to provide various options like regex based (For advanced users) as well as intuitive UI based (for others) ways to create formats and mapping the various parameters received from the SMS to the appropriate web API data elements. The interaction with people (sending SMS) can be made continuous [if required] (where the new sms query is dependent on past queries by the user which can be recognized by phone number or ID) by storing the data of past queries in a database.

One feature I believe will be very useful is to provide an interface to test the SMS pattern where the tester enters the sample SMS and the interface returns a sample output to the tester. Also the design should warn the format creator when the SMS text length may increase the maximum size allowed for a single SMS (Usually 160 characters). An advanced version can also suggest ways of shortening the format to bring it in the limit. If the limit exceeds 160 characters, the SMS can be broken down into 2 where the 1st one is stored in the database till the 2nd one arrives.

It would be great if you could give some feedback, suggestions and tips about things I may have missed out or not considered. The tools suggested here (like Ruby on Rails, Ruby etc.) are the once I have used in the past to build something similar. However, I consider myself a quick learner and can learn new tools if required. I can also make a prototype before the application period ends if required. On a final note, I am very enthusiastic about the project and the way it can be used to improve public health and save lives.

Looking forward to your reply.

Regards,

Peeyush Agarwal

Second Year Undergraduate,

Department of Computer Science and Engineering,

Indian Institute of Technology Kanpur, India

http://home.iitk.ac.in/~peeyusha

Hi Peeyush,

Welcome to the team.

A good start would be to download, install and play around with

DHIS2. That will give you a feel for what we have and which
improvements would be needed. You can also look at the source code,
seeing which tools and languages are already in use will give you
pointers to what will be the preferred tools in your project. As you
will see, we have a lot of the SMS infrastructure in place already,
the scriptable parser will live side by side with the key-value
parser and other parsers.

A precise specification should follow from several requirements on

both the technical side and on what is needed in the deployment
around the world, and we would need to make sure that a project
would be possible to get through in the time you have at your
disposal.

Br,

_Andreas_
ยทยทยท

On 10. mars 2014 06:11, Peeyush Agarwal
wrote:

          Hi

all,

          I came to know about DHIS2 through GSoC and found the work

being done by the organisation really interesting and
would love to contribute. I found the project ** Scriptable
SMS Parsing** particularly interesting as I have ** worked
on something similar in the past** where I had built
an SMS based customer engagement system for retail shops.
I have also worked on parsing while implementing a project
in Machine Learning (for extracting features from data).

** One
way this project can be done** is by using Ruby on
Rails as the web framework for the interface. ** The
interface receives the SMS** [content, phone number
etc.] (sent to the interface by the SMS API provider like
Twilio, Exotel (only
for India) etc. by making an HTTP request to the
interface). The contents of the SMS are then parsed (Preferably
in Ruby scripting language) and then the ** response is
sent back to the phone after calling the Web API** . Now, one of the most
important thing is designing the user interface so
as to increase customization and mapping incoming textual
data to data elements in DHIS2. The way this can be done
is to ** provide various options like regex based (For
advanced users) as well as intuitive UI based (for
others) ways to create formats and mapping the various
parameters received from the SMS to the appropriate web
API data elements**. The ** interaction with people
(sending SMS) can be made continuous** [if required]
(where the new sms query is dependent on past queries by
the user which can be recognized by phone number or ID) by
storing the data of past queries in a database.

          One

feature I believe will be very useful is to ** provide an
interface to test the SMS pattern where the tester
enters the sample SMS and the interface returns a sample
output to the tester**. Also the ** design should
warn the format creator when the SMS text length may
increase the maximum size allowed for a single SMS**
(Usually 160 characters). An advanced version can also
suggest ways of shortening the format to bring it in the
limit. ** If the limit exceeds 160 characters, the SMS
can be broken down into 2 where the 1st one is stored in
the database till the 2nd one arrives.**

It would be great if you could give some ** feedback,
suggestions and tips about things I may have missed
out or not considered** . The tools suggested here
(like Ruby on Rails, Ruby etc.) are the once I have used
in the past to build something similar. However, I
consider myself a quick learner and can learn new tools
if required. I can also make a prototype before the
application period ends if required. On a final note, I
am very enthusiastic about the project and the way it
can be used to improve public health and save lives.

          Looking

forward to your reply.

Regards,

          Peeyush

Agarwal

          Second

Year Undergraduate,

          Department

of Computer Science and Engineering,

          Indian

Institute of Technology Kanpur, India

http://home.iitk.ac.in/~peeyusha

_______________________________________________
Mailing list: Post to : Unsubscribe : More help :

-- Peder Andreas Nergaard, Mobile Coordinator
HISP/DHIS2, Department of Informatics, University of Oslo
p: +47 922 47 500 - s: peder.andreas.nergaard - e:

https://launchpad.net/~dhis2-devsdhis2-devs@lists.launchpad.nethttps://launchpad.net/~dhis2-devshttps://help.launchpad.net/ListHelphttp://www.dhis2.org/andreasn@ifi.uio.no