Short patient code for SMS

14 messages Options
Embed this post
Permalink
Andrew Kanter

Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?

Oh, and we need to figure out a plan in the next week... :)

-Andy
 --------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Gerry Douglas

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
Andy,

YES, we are in the process of of switching over to a Base30 solution, 5 digits plus a 6th check digit.  I've copied Soyapi Mumba, who is out head of software development here in Malawi.  We have dropped 6 alphabetic characters so they should not be confused with numbers.

We can share more details if you are interested.

G.

On Fri, Nov 6, 2009 at 2:07 PM, Andrew Kanter <[hidden email]> wrote:
We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?

Oh, and we need to figure out a plan in the next week... :)

-Andy
 --------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter




[hidden email] from OpenMRS Implementers' mailing list
Bailey, Christopher Tomlin

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
In addition, we are wondering what would be the best solution if a central MOH wanted to manage ID generation with a minimum of infrastructure, without having to delegate it to the districts with embedded geographic intelligence in the number itself. Any thoughts?


From: [hidden email] [mailto:[hidden email]] On Behalf Of Gerry Douglas
Sent: 06 November 2009 13:11
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

Andy,

YES, we are in the process of of switching over to a Base30 solution, 5 digits plus a 6th check digit.  I've copied Soyapi Mumba, who is out head of software development here in Malawi.  We have dropped 6 alphabetic characters so they should not be confused with numbers.

We can share more details if you are interested.

G.

On Fri, Nov 6, 2009 at 2:07 PM, Andrew Kanter <[hidden email]> wrote:
We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?

Oh, and we need to figure out a plan in the next week... :)

-Andy
 --------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter




[hidden email] from OpenMRS Implementers' mailing list
[hidden email] from OpenMRS Implementers' mailing list
Boucher, Phillipe Jean-Pierre

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Gerry Douglas
Some javascript/style in this post has been disabled (why?)

Hi all,

 

5 digits in base30 will give you 24 300 000 distinct IDs, so two orders of magnitude beyond Andy's immediate need - do you have a sense of the lifetime of these identifiers and do you have specific security considerations that need to be met?

 

P

 

 

Philippe Boucher
Health Care Informatics unit, department of Health Statistics and Informatics
World Health Organization,
20 Appia, 1211 Geneva 27, Switzerland
email: [hidden email]
+41 22 791 3688


From: [hidden email] [mailto:[hidden email]] On Behalf Of Gerry Douglas
Sent: 06 November 2009 13:11
To: Andrew Kanter
Cc: [hidden email]; Boucher, Phillipe Jean-Pierre; Soyapi Mumba
Subject: Re: Short patient code for SMS

 

Andy,

YES, we are in the process of of switching over to a Base30 solution, 5 digits plus a 6th check digit.  I've copied Soyapi Mumba, who is out head of software development here in Malawi.  We have dropped 6 alphabetic characters so they should not be confused with numbers.

We can share more details if you are interested.

G.

On Fri, Nov 6, 2009 at 2:07 PM, Andrew Kanter <[hidden email]> wrote:

We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?

Oh, and we need to figure out a plan in the next week... :)

-Andy
 --------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter

 


[hidden email] from OpenMRS Implementers' mailing list
Soyapi Mumba

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Gerry Douglas
Andy

Here's our ruby code for converting a number to Base30. We haven't
added the code to appending a check digit yet.

For up to 200,000 entries using a phone keypad, you should be able to
remove the letters that are hard to type from the list.

Hope it helps

#---
def to_base(number,to_base = 30)
   # we are taking out the following letters B, I, O, Q, S, Z because
they might be mistaken for 8, 1, 0, 0, 5, 2 respectively
   base_map = ['0',"1","2","3","4","5","6","7","8","9","A","C","D","E","F","G","H","J","K","L","M","N","P","R",
 "T","U","V","W","X","Y"]

   results = ''
   quotient = number.to_i

   while quotient > 0
     results = base_map[quotient % to_base] + results
     quotient = (quotient / to_base)
   end
   results
end
#---

On Fri, Nov 6, 2009 at 2:10 PM, Gerry Douglas <[hidden email]> wrote:

> Andy,
>
> YES, we are in the process of of switching over to a Base30 solution, 5
> digits plus a 6th check digit.  I've copied Soyapi Mumba, who is out head of
> software development here in Malawi.  We have dropped 6 alphabetic
> characters so they should not be confused with numbers.
>
> We can share more details if you are interested.
>
> G.
>
> On Fri, Nov 6, 2009 at 2:07 PM, Andrew Kanter <[hidden email]> wrote:
>>
>> We are about to roll out a wide scale community health worker management
>> program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to
>> use the AMPATH method of predefining acceptable IDs for all the persons in
>> our villages. We'd like to also be able to autogenerate IDs if entered
>> manually through ChildCount or OMRS. Since these ids would be used in SMS
>> messages, we want to keep them as short as possible, yet still capture up to
>> 200,000 people and still have a check digit.  Any ideas how we can do this
>> with the existing modules? Alphanumeric codes seem like a potential idea,
>> but do checkdigits work with them? Also, I think there are some letters
>> which are hard to type into a phone... seems like we'd want to exclude them.
>> Anyone done anything like this?
>>
>> Oh, and we need to figure out a plan in the next week... :)
>>
>> -Andy
>>  --------------------
>> Andrew S. Kanter, MD MPH
>>
>>
>> - Director of Health Information Systems/Medical Informatics
>> Millennium Villages Project, Earth Institute, Columbia University
>> - Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
>> Columbia University
>>
>>
>> Email: [hidden email]
>> Mobile: +1 (646) 469-2421
>> Office: +1 (212) 305-4842
>> Skype: akanter-ippnw
>> Yahoo: andy_kanter
>>
>>
>
>



--
Soyapi Mumba
Baobab Health
P O Box 31797, Lilongwe 3, Malawi
http://baobabhealth.org
+265 999 953 449

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Boucher, Phillipe Jean-Pierre

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Bailey, Christopher Tomlin
Some javascript/style in this post has been disabled (why?)

Hi

Would the MoH  want to simply manage ID generation, or would it also want to keep track of assignment of an ID to an individual, ie keep a master index?

 

P

 

 

Philippe Boucher
Health Care Informatics unit, department of Health Statistics and Informatics
World Health Organization,
20 Appia, 1211 Geneva 27, Switzerland
email: [hidden email]
+41 22 791 3688


From: [hidden email] [mailto:[hidden email]] On Behalf Of Bailey, Christopher Tomlin
Sent: 06 November 2009 13:40
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

 

In addition, we are wondering what would be the best solution if a central MOH wanted to manage ID generation with a minimum of infrastructure, without having to delegate it to the districts with embedded geographic intelligence in the number itself. Any thoughts?

 


From: [hidden email] [mailto:[hidden email]] On Behalf Of Gerry Douglas
Sent: 06 November 2009 13:11
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

Andy,

YES, we are in the process of of switching over to a Base30 solution, 5 digits plus a 6th check digit.  I've copied Soyapi Mumba, who is out head of software development here in Malawi.  We have dropped 6 alphabetic characters so they should not be confused with numbers.

We can share more details if you are interested.

G.

On Fri, Nov 6, 2009 at 2:07 PM, Andrew Kanter <[hidden email]> wrote:

We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?

Oh, and we need to figure out a plan in the next week... :)

-Andy
 --------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter

 


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
[hidden email] from OpenMRS Implementers' mailing list
Paul Biondich-2

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Andrew Kanter
Interesting set of considerations.  Never have thought about this, but  
I'm intrigued.

Andy, so what you're asking is:   what's the most efficient way to  
compress a patient unique identifier for transmission over SMS?  Is  
your cohort size limited to 200k or would you want larger sizes?  In  
short, what's the largest cohort you might be interested in?

-Paul

On Nov 6, 2009, at 7:07 AM, Andrew Kanter wrote:

> We are about to roll out a wide scale community health worker  
> management program using OpenMRS and ChildCount (RapidSMS). To do  
> this, we'd like to use the AMPATH method of predefining acceptable  
> IDs for all the persons in our villages. We'd like to also be able  
> to autogenerate IDs if entered manually through ChildCount or OMRS.  
> Since these ids would be used in SMS messages, we want to keep them  
> as short as possible, yet still capture up to 200,000 people and  
> still have a check digit.  Any ideas how we can do this with the  
> existing modules? Alphanumeric codes seem like a potential idea, but  
> do checkdigits work with them? Also, I think there are some letters  
> which are hard to type into a phone... seems like we'd want to  
> exclude them. Anyone done anything like this?
>
> Oh, and we need to figure out a plan in the next week... :)
>
> -Andy
> --------------------
> Andrew S. Kanter, MD MPH
>
>
> - Director of Health Information Systems/Medical Informatics
> Millennium Villages Project, Earth Institute, Columbia University
> - Asst. Prof. of Clinical Biomedical Informatics and Clinical  
> Epidemiology
> Columbia University
>
>
> Email: [hidden email]
> Mobile: +1 (646) 469-2421
> Office: +1 (212) 305-4842
> Skype: akanter-ippnw
> Yahoo: andy_kanter
>
> _________________________________________
>
> To unsubscribe from OpenMRS Implementers' mailing list, send an e-
> mail to [hidden email] with "SIGNOFF openmrs-implement-
> l" in the  body (not the subject) of your e-mail.
>
> [mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-
> l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Burke Mamlin

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Andrew Kanter
At AMPATH, we pre-generate identifiers and then print out cards to  
(physically) ensure that identifiers cannot be re-used.  Since the id  
cards module pulls from a pool of pre-generated identifiers instead of  
generating them on the fly, it's largely agnostic to the identifier  
format.

-Burke

On Nov 6, 2009, at 7:07 AM, Andrew Kanter wrote:

> We are about to roll out a wide scale community health worker  
> management program using OpenMRS and ChildCount (RapidSMS). To do  
> this, we'd like to use the AMPATH method of predefining acceptable  
> IDs for all the persons in our villages. We'd like to also be able  
> to autogenerate IDs if entered manually through ChildCount or OMRS.  
> Since these ids would be used in SMS messages, we want to keep them  
> as short as possible, yet still capture up to 200,000 people and  
> still have a check digit.  Any ideas how we can do this with the  
> existing modules? Alphanumeric codes seem like a potential idea, but  
> do checkdigits work with them? Also, I think there are some letters  
> which are hard to type into a phone... seems like we'd want to  
> exclude them. Anyone done anything like this?
>
> Oh, and we need to figure out a plan in the next week... :)
>
> -Andy
> --------------------
> Andrew S. Kanter, MD MPH
>
>
> - Director of Health Information Systems/Medical Informatics
> Millennium Villages Project, Earth Institute, Columbia University
> - Asst. Prof. of Clinical Biomedical Informatics and Clinical  
> Epidemiology
> Columbia University
>
>
> Email: [hidden email]
> Mobile: +1 (646) 469-2421
> Office: +1 (212) 305-4842
> Skype: akanter-ippnw
> Yahoo: andy_kanter
>
> _________________________________________
>
> To unsubscribe from OpenMRS Implementers' mailing list, send an e-
> mail to [hidden email] with "SIGNOFF openmrs-implement-
> l" in the  body (not the subject) of your e-mail.
>
> [mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-
> l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Andrew Kanter

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Paul Biondich-2
Well, folks... I think we are starting to see some interesting discussion of the use case here.  For MVP, I took the discussion off list, but am happy to bring it back if people are interested...

Rob had an interesting observation:

> Just a thought about the phone keyboard issue: if we use just 0 - 9 and a, d, g, j, m, p, t, w then we have 18 digits, and a 5-digit code would have 1,889,568 distinct codes.

> Regards,
> Rob
 
I think we want to think very carefully about the implications for use on the cell phones. Switching between alpha and numeric should be considered. If you type on the phone, it is often harder to add the numeric if in alpha mode (have to hold the key down long enough, etc.).

For MVP, we are going to want to have a system which generates at least 200K codes (for the 100K within the cluster of villages plus 100K of nearby people who will be visiting our clinics).

However, if we want the system to be robust enough to handle a whole district, then the number will need to be larger. One caveat... we don't want our CHWs to have to enter long codes for every visit just to accommodate the needs of districts that they will never have to deal with... so keeping the codes short for now is important.

We would want to use the AMPATH method of pre-generating the codes for assignment in the field. We would also want to be able to generate a new ID on the fly via SMS and not have this conflict. I also think that the MRNGEN function in OMRS would also want to be able to generate a new ID which is not already assigned to others.

Keeping all of this unique and non-overlapping will be interesting. However, I think it sort of already falls into the domain of the existing MRNGEN, ID and probably Xforms modules....

We need to have a plan by the end of next week and a working version by the end of the month... who's interested in tackling this (we have $)?

:)

Andy--------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter



----- Original Message ----
From: Paul Biondich <[hidden email]>
To: [hidden email]
Sent: Fri, November 6, 2009 10:55:28 AM
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

Interesting set of considerations.  Never have thought about this, but I'm intrigued.

Andy, so what you're asking is:   what's the most efficient way to compress a patient unique identifier for transmission over SMS?  Is your cohort size limited to 200k or would you want larger sizes?  In short, what's the largest cohort you might be interested in?

-Paul

On Nov 6, 2009, at 7:07 AM, Andrew Kanter wrote:

> We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?
>
> Oh, and we need to figure out a plan in the next week... :)
>
> -Andy
> --------------------
> Andrew S. Kanter, MD MPH
>
>
> - Director of Health Information Systems/Medical Informatics
> Millennium Villages Project, Earth Institute, Columbia University
> - Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
> Columbia University
>
>
> Email: [hidden email]
> Mobile: +1 (646) 469-2421
> Office: +1 (212) 305-4842
> Skype: akanter-ippnw
> Yahoo: andy_kanter
>
> _________________________________________
>
> To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.
>
> [mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Friedman, Roger (CDC/CCID/NCHHSTP) (CTR)

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
Back in school we learned an algorithm based on frequency for developing a variable-length code to minimize code length (Grey coding?, Hamming coding?).  Suppose you had 80,000 people in your villages and there's no a priori way to know how often they're going to come in, you give them 00001 to 80000 (5 digits).  Then you give the 80,000 neighbors 900001 to 980000 (6 digits), then you give the rest of the world 9900000001 to 9999999999 (10 digits).  Or think of it like the old US telephone number system -- everyone had a 7-digit number unique within their area code, the second digit of which could not be 0 or 1; the area codes were 3 digits, the second of which was always 0 or 1; if someone dialed a number, the second digit of which was 0 or 1, the system expected 10 digits, else it expected 7.

Re check digits: What I hear people who are using higher bases (18, 30) saying is that you compute your check digit in base 10, then you convert the resuling number to the higher base.  However, there should be a check digit algorithm with the same (or better) properties as the base 10 algorithms but working in the higher base.

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Andrew Kanter
Sent: Friday, November 06, 2009 1:06 PM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

Well, folks... I think we are starting to see some interesting discussion of the use case here.  For MVP, I took the discussion off list, but am happy to bring it back if people are interested...

Rob had an interesting observation:

> Just a thought about the phone keyboard issue: if we use just 0 - 9 and a, d, g, j, m, p, t, w then we have 18 digits, and a 5-digit code would have 1,889,568 distinct codes.

> Regards,
> Rob
 
I think we want to think very carefully about the implications for use on the cell phones. Switching between alpha and numeric should be considered. If you type on the phone, it is often harder to add the numeric if in alpha mode (have to hold the key down long enough, etc.).

For MVP, we are going to want to have a system which generates at least 200K codes (for the 100K within the cluster of villages plus 100K of nearby people who will be visiting our clinics).

However, if we want the system to be robust enough to handle a whole district, then the number will need to be larger. One caveat... we don't want our CHWs to have to enter long codes for every visit just to accommodate the needs of districts that they will never have to deal with... so keeping the codes short for now is important.

We would want to use the AMPATH method of pre-generating the codes for assignment in the field. We would also want to be able to generate a new ID on the fly via SMS and not have this conflict. I also think that the MRNGEN function in OMRS would also want to be able to generate a new ID which is not already assigned to others.

Keeping all of this unique and non-overlapping will be interesting. However, I think it sort of already falls into the domain of the existing MRNGEN, ID and probably Xforms modules....

We need to have a plan by the end of next week and a working version by the end of the month... who's interested in tackling this (we have $)?

:)

Andy--------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter



----- Original Message ----
From: Paul Biondich <[hidden email]>
To: [hidden email]
Sent: Fri, November 6, 2009 10:55:28 AM
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

Interesting set of considerations.  Never have thought about this, but I'm intrigued.

Andy, so what you're asking is:   what's the most efficient way to compress a patient unique identifier for transmission over SMS?  Is your cohort size limited to 200k or would you want larger sizes?  In short, what's the largest cohort you might be interested in?

-Paul

On Nov 6, 2009, at 7:07 AM, Andrew Kanter wrote:

> We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?
>
> Oh, and we need to figure out a plan in the next week... :)
>
> -Andy
> --------------------
> Andrew S. Kanter, MD MPH
>
>
> - Director of Health Information Systems/Medical Informatics
> Millennium Villages Project, Earth Institute, Columbia University
> - Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
> Columbia University
>
>
> Email: [hidden email]
> Mobile: +1 (646) 469-2421
> Office: +1 (212) 305-4842
> Skype: akanter-ippnw
> Yahoo: andy_kanter
>
> _________________________________________
>
> To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.
>
> [mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Ime Asangansi

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Andrew Kanter
> we don't want our CHWs to have to enter long codes for
>
Hi Andy,

> we don't want our CHWs to have to enter long codes for
> every visit just to accommodate the needs of districts that they will
> never have to deal with... so keeping the codes short for now is
> important.

Interesting discussion...
But I would think that even when the code is short, having CHWs enter digits for a large number of people introduces a wide margin of error.
Wouldn't you consider having an application (such as a J2ME based app) with an interface to simply choose (like a dropdown)...

My suspicion is that this approach could introduce errors on the side of data capture - errors that would be difficult (and painful) to trace.

Ime







----- Original Message ----
From: Paul Biondich <[hidden email]>
To: [hidden email]
Sent: Fri, November 6, 2009 10:55:28 AM
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

Interesting set of considerations.  Never have thought about this, but I'm intrigued.

Andy, so what you're asking is:   what's the most efficient way to compress a patient unique identifier for transmission over SMS?  Is your cohort size limited to 200k or would you want larger sizes?  In short, what's the largest cohort you might be interested in?

-Paul

On Nov 6, 2009, at 7:07 AM, Andrew Kanter wrote:

> We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?
>
> Oh, and we need to figure out a plan in the next week... :)
>
> -Andy
> --------------------
> Andrew S. Kanter, MD MPH
>
>
> - Director of Health Information Systems/Medical Informatics
> Millennium Villages Project, Earth Institute, Columbia University
> - Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
> Columbia University
>
>
> Email: [hidden email]
> Mobile: +1 (646) 469-2421
> Office: +1 (212) 305-4842
> Skype: akanter-ippnw
> Yahoo: andy_kanter
>
> _________________________________________
>
> To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.
>
> [mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]


_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Andrew Kanter

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
Ime,
I think this is an important issue we will have to resolve... we think there is a balance between running an SMS application which requires nothing on the phone, to a more CommCare/OpenROSA-like program which can run forms. We are definitely interested in continuing the work with OpenROSA and Daniel for form entry (and this will likely eventually replace SMS) but we are moving quickly and need something widely applicable, easy to deploy and quick to implement.

Eventually, I imagine MVP to use a hybrid of systems feeding into MGV-Net and DHIS among others.

-Andy
 --------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter



----- Original Message ----
From: Ime Asangansi <[hidden email]>
To: [hidden email]
Sent: Sat, November 7, 2009 6:18:57 AM
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

> we don't want our CHWs to have to enter long codes for
>
Hi Andy,

> we don't want our CHWs to have to enter long codes for
> every visit just to accommodate the needs of districts that they will
> never have to deal with... so keeping the codes short for now is
> important.

Interesting discussion...
But I would think that even when the code is short, having CHWs enter digits for a large number of people introduces a wide margin of error.
Wouldn't you consider having an application (such as a J2ME based app) with an interface to simply choose (like a dropdown)...

My suspicion is that this approach could introduce errors on the side of data capture - errors that would be difficult (and painful) to trace.

Ime







----- Original Message ----
From: Paul Biondich <[hidden email]>
To: [hidden email]
Sent: Fri, November 6, 2009 10:55:28 AM
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

Interesting set of considerations.  Never have thought about this, but I'm intrigued.

Andy, so what you're asking is:   what's the most efficient way to compress a patient unique identifier for transmission over SMS?  Is your cohort size limited to 200k or would you want larger sizes?  In short, what's the largest cohort you might be interested in?

-Paul

On Nov 6, 2009, at 7:07 AM, Andrew Kanter wrote:

> We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?
>
> Oh, and we need to figure out a plan in the next week... :)
>
> -Andy
> --------------------
> Andrew S. Kanter, MD MPH
>
>
> - Director of Health Information Systems/Medical Informatics
> Millennium Villages Project, Earth Institute, Columbia University
> - Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
> Columbia University
>
>
> Email: [hidden email]
> Mobile: +1 (646) 469-2421
> Office: +1 (212) 305-4842
> Skype: akanter-ippnw
> Yahoo: andy_kanter
>
> _________________________________________
>
> To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.
>
> [mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]


_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Zeshan Rajput

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ime Asangansi
I've been thinking about MPV's scenario as well. In your messaging scenario, can you take advantage of temporality of a message sequence?

Simple scenario - a user uses an SMS message to request a child's information. Your server receives said request and registers that healthcare worker's cellphone number to that child's ID temporarily. Subsequent requests or data input messages are automatically assumed to be against that child's records until a time limit passes or the healthcare worker requests another child's information. Advantages here might be that you enter the normal patient ID once (without the need for a hashing algorithm), and subsequent messages can interact with the data. You could get around issue like a lost new patient ID message (I.e. data might accidentally be input into the last child's records) by an ACK message sent from your server. If there's an issue of multiple children in a household, you could augment this with a reduced ID set (i.e. children 1, 2, 3, 4, and 5 live in a house) and still take advantage of reduced ID lengths. You could also use a hybrid approach - after a healthcare worker inputs a patient's normal ID, they receive a shortened "temporary ID" they can head subsequent messages with that expires in a few hours or a day.

Another idea is if you can register which children a healthcare worker will see in advance (i.e. healthcare worker Zed will see children 1 - 45 today), then you can use those numbers instead of the full IDs.

The reason I'm thinking away from J2ME based apps is because some of the ideas that interest me most deal with patients interacting with their own data, and I can't guarantee a mobile phone will have capabilities beyond SMS (if I can even say that much). I'm trying to plan from the most generic sense, but a messaging module in OpenMRS could have separate methods for phones with various capabilities (i.e. one module deals only in SMS messages, one handles a J2ME compliant phone, etc).

I'm assuming a lot about your workflow at MPV, and I apologize for not knowing it better. I'm not sure I can get a messaging module in OpenMRS done in the timeframe you have for your project's needs, but I'd love to learn more so I can plan for it and others like it.

Cheers,
-Zeshan
________________________________________
From: [hidden email] [[hidden email]] On Behalf Of Ime Asangansi [[hidden email]]
Sent: Saturday, November 07, 2009 6:18 AM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

> we don't want our CHWs to have to enter long codes for
>
Hi Andy,

> we don't want our CHWs to have to enter long codes for
> every visit just to accommodate the needs of districts that they will
> never have to deal with... so keeping the codes short for now is
> important.

Interesting discussion...
But I would think that even when the code is short, having CHWs enter digits for a large number of people introduces a wide margin of error.
Wouldn't you consider having an application (such as a J2ME based app) with an interface to simply choose (like a dropdown)...

My suspicion is that this approach could introduce errors on the side of data capture - errors that would be difficult (and painful) to trace.

Ime







----- Original Message ----
From: Paul Biondich <[hidden email]>
To: [hidden email]
Sent: Fri, November 6, 2009 10:55:28 AM
Subject: Re: [OPENMRS-IMPLEMENTERS] Short patient code for SMS

Interesting set of considerations.  Never have thought about this, but I'm intrigued.

Andy, so what you're asking is:   what's the most efficient way to compress a patient unique identifier for transmission over SMS?  Is your cohort size limited to 200k or would you want larger sizes?  In short, what's the largest cohort you might be interested in?

-Paul

On Nov 6, 2009, at 7:07 AM, Andrew Kanter wrote:

> We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?
>
> Oh, and we need to figure out a plan in the next week... :)
>
> -Andy
> --------------------
> Andrew S. Kanter, MD MPH
>
>
> - Director of Health Information Systems/Medical Informatics
> Millennium Villages Project, Earth Institute, Columbia University
> - Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
> Columbia University
>
>
> Email: [hidden email]
> Mobile: +1 (646) 469-2421
> Office: +1 (212) 305-4842
> Skype: akanter-ippnw
> Yahoo: andy_kanter
>
> _________________________________________
>
> To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.
>
> [mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]


_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]
Jeff Rafter

Re: Short patient code for SMS

Reply Threaded More More options
Print post
Permalink
In reply to this post by Andrew Kanter
Hi Andy/all

Sorry I am late to the discussion, I was having a baby! Andy, is there a way forward on this yet? I am really interested to see what MVP will come up with here as it definitely has applicability widely.

Thanks,
Jeff Rafter

On Fri, Nov 6, 2009 at 4:07 AM, Andrew Kanter <[hidden email]> wrote:
We are about to roll out a wide scale community health worker management program using OpenMRS and ChildCount (RapidSMS). To do this, we'd like to use the AMPATH method of predefining acceptable IDs for all the persons in our villages. We'd like to also be able to autogenerate IDs if entered manually through ChildCount or OMRS. Since these ids would be used in SMS messages, we want to keep them as short as possible, yet still capture up to 200,000 people and still have a check digit.  Any ideas how we can do this with the existing modules? Alphanumeric codes seem like a potential idea, but do checkdigits work with them? Also, I think there are some letters which are hard to type into a phone... seems like we'd want to exclude them. Anyone done anything like this?

Oh, and we need to figure out a plan in the next week... :)

-Andy
 --------------------
Andrew S. Kanter, MD MPH


- Director of Health Information Systems/Medical Informatics
Millennium Villages Project, Earth Institute, Columbia University
- Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University


Email: [hidden email]
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter

_________________________________________

To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to [hidden email] with "SIGNOFF openmrs-implement-l" in the  body (not the subject) of your e-mail.

[mailto:[hidden email]?body=SIGNOFF%20openmrs-implement-l]


[hidden email] from OpenMRS Implementers' mailing list