AJAX concept search in HTML Form Entry

classic Classic list List threaded Threaded
16 messages Options
Darius Jazayeri-2 Darius Jazayeri-2
Reply | Threaded
Open this post in threaded view
|

AJAX concept search in HTML Form Entry

Hi All,

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

-Darius

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.

[hidden email] from OpenMRS Implementers' mailing list

htmlform-conceptajax.png (197K) Download Attachment
Burke Mamlin Burke Mamlin
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

The approach used by Microsoft CUI SingeConceptMatching widget is a text box that becomes button-ish once a choice is made, but if you click on it you see the text box again and can edit.  Aside from search delays, the idea works pretty well.

As a dev-ish aside:  Is the 'style="autosuggest"' a CSS setting?  If not, -100 for using a "style" attribute in "HTML" that is not for CSS (use "type" to mimic text input element convention or use a non-HTML-keyword name like "flavor" or "mode").

Cheers,

-Burke

On Jul 27, 2010, at 7:33 PM, Darius Jazayeri wrote:

Hi All,

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

-Darius

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.

[hidden email] from OpenMRS Implementers' mailing list
Darius Jazayeri-3 Darius Jazayeri-3
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

Sadly I cannot view that demo since silverlight doesn't work on linux, but what you're describing sounds good.

-Darius

PS- My apologies for style="autosuggest". That's a consequence of my prior -100 decision to have <obs ... style="radio|checkbox"/>

On Tue, Jul 27, 2010 at 9:03 PM, Burke Mamlin <[hidden email]> wrote:
The approach used by Microsoft CUI SingeConceptMatching widget is a text box that becomes button-ish once a choice is made, but if you click on it you see the text box again and can edit.  Aside from search delays, the idea works pretty well.

As a dev-ish aside:  Is the 'style="autosuggest"' a CSS setting?  If not, -100 for using a "style" attribute in "HTML" that is not for CSS (use "type" to mimic text input element convention or use a non-HTML-keyword name like "flavor" or "mode").

Cheers,

-Burke


On Jul 27, 2010, at 7:33 PM, Darius Jazayeri wrote:

Hi All,

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

-Darius

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.

[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Burke Mamlin Burke Mamlin
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

On Jul 28, 2010, at 12:08 AM, Darius Jazayeri wrote:

Sadly I cannot view that demo since silverlight doesn't work on linux, but what you're describing sounds good.

hopefully you can view flash...

Here's a brief demo of the Microsoft CUI concept matching widget:


-Darius

PS- My apologies for style="autosuggest". That's a consequence of my prior -100 decision to have <obs ... style="radio|checkbox"/>

On Tue, Jul 27, 2010 at 9:03 PM, Burke Mamlin <[hidden email]> wrote:
The approach used by Microsoft CUI SingeConceptMatching widget is a text box that becomes button-ish once a choice is made, but if you click on it you see the text box again and can edit.  Aside from search delays, the idea works pretty well.

As a dev-ish aside:  Is the 'style="autosuggest"' a CSS setting?  If not, -100 for using a "style" attribute in "HTML" that is not for CSS (use "type" to mimic text input element convention or use a non-HTML-keyword name like "flavor" or "mode").

Cheers,

-Burke


On Jul 27, 2010, at 7:33 PM, Darius Jazayeri wrote:

Hi All,

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

-Darius

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.

[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Michael Downey Michael Downey
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

In reply to this post by Darius Jazayeri-3
Tried this yet?
http://www.mono-project.com/Moonlight

-Michael

On Wed, Jul 28, 2010 at 12:08 AM, Darius Jazayeri <[hidden email]> wrote:
Sadly I cannot view that demo since silverlight doesn't work on linux, but what you're describing sounds good.

[hidden email] from OpenMRS Implementers' mailing list
Darius Jazayeri-3 Darius Jazayeri-3
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

I have moonlight 2.3 installed, but I haven't been able to view the MS CUI demos, sadly.

-Darius

On Tue, Jul 27, 2010 at 9:40 PM, Michael Downey <[hidden email]> wrote:
Tried this yet?
http://www.mono-project.com/Moonlight

-Michael


On Wed, Jul 28, 2010 at 12:08 AM, Darius Jazayeri <[hidden email]> wrote:
Sadly I cannot view that demo since silverlight doesn't work on linux, but what you're describing sounds good.

[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
davandyke davandyke
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

In reply to this post by Darius Jazayeri-2
What is the purpose for clicking a button first in order to see the autosuggesting text field?  Can it just start as the text field, eliminating the first click?  The first option seems more clear to me, but the advantage of the second is it doesn't need to be modified for a non-English form.  Keep in mind I don't have much knowledge about the development side of this (although am a user of EPIC in the U.S.).

David Van Dyke

On Tue, Jul 27, 2010 at 6:33 PM, Darius Jazayeri <[hidden email]> wrote:
Hi All,

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

-Darius

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.

[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Friedman, Roger (CDC/CGH/DGHA) (CTR) Friedman, Roger (CDC/CGH/DGHA) (CTR)
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

Rather than a switch between buttonish and textish, I would like to see a text box with a contained button, like a combo box, a date widget or a file search box.  There should be a parameter to specify that when a concept is typed that's not in the domain, concept_proposal should be invoked.

 

It appears that the answerClasses parameter refers to concept_class.  In addition, there should be the option to use a concept set to identify the domain.

 

I am not sure what is happening to concept mapping, but it should be possible to do a hierarchical selection based on a concept mapping such as ICD10.

 

The conceptID (and concept set for the domain as requested above) should accept mapped concepts (that is, symbolic references to concepts as discussed recently, not concept maps like ICD10).  (Can we have some terminology help to distinguish these two uses of "concept" and "map"?)

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of David Van Dyke
Sent: Wednesday, July 28, 2010 12:47 AM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

What is the purpose for clicking a button first in order to see the autosuggesting text field?  Can it just start as the text field, eliminating the first click?  The first option seems more clear to me, but the advantage of the second is it doesn't need to be modified for a non-English form.  Keep in mind I don't have much knowledge about the development side of this (although am a user of EPIC in the U.S.).

 

David Van Dyke

On Tue, Jul 27, 2010 at 6:33 PM, Darius Jazayeri <[hidden email]> wrote:

Hi All,

 

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

 

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

 

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

 

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

 

-Darius

 

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.


[hidden email] from OpenMRS Implementers' mailing list

 


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Andrew Kanter Andrew Kanter
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

This is definitely interesting from a UI perspective but the searching within a form building process is different from form completion process. Seeing the concepts in a hierarchical representation based on an underlying ontology is useful when building forms, possibly when completing forms, and maybe more so for a dynamic encounter-based documentation/decision-support engine. I know from work in the USA that the latter becomes very important when rules fire for different concepts or there are payment implications of certain concepts.

Our data dictionary primarily uses SNOMED CT as the ontology of choice (although RxNORM is better for the drugs). We do have ICD-10 WHO maps as well, but SNOMED is more granular and more complete.

Happy to discuss this more if people are interested... particularly at the implementors meeting in Cape Town.

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



From: "Friedman, Roger (CDC/CGH/DGHA) (CTR)" <[hidden email]>
To: [hidden email]
Sent: Wed, July 28, 2010 10:07:22 AM
Subject: Re: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

Rather than a switch between buttonish and textish, I would like to see a text box with a contained button, like a combo box, a date widget or a file search box.  There should be a parameter to specify that when a concept is typed that's not in the domain, concept_proposal should be invoked.

 

It appears that the answerClasses parameter refers to concept_class.  In addition, there should be the option to use a concept set to identify the domain.

 

I am not sure what is happening to concept mapping, but it should be possible to do a hierarchical selection based on a concept mapping such as ICD10.

 

The conceptID (and concept set for the domain as requested above) should accept mapped concepts (that is, symbolic references to concepts as discussed recently, not concept maps like ICD10).  (Can we have some terminology help to distinguish these two uses of "concept" and "map"?)

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of David Van Dyke
Sent: Wednesday, July 28, 2010 12:47 AM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

What is the purpose for clicking a button first in order to see the autosuggesting text field?  Can it just start as the text field, eliminating the first click?  The first option seems more clear to me, but the advantage of the second is it doesn't need to be modified for a non-English form.  Keep in mind I don't have much knowledge about the development side of this (although am a user of EPIC in the U.S.).

 

David Van Dyke

On Tue, Jul 27, 2010 at 6:33 PM, Darius Jazayeri <[hidden email]> wrote:

Hi All,

 

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

 

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

 

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

 

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

 

-Darius

 

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.


[hidden email] from OpenMRS Implementers' mailing list

 


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list

[hidden email] from OpenMRS Implementers' mailing list
James Arbaugh James Arbaugh
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

In reply to this post by Darius Jazayeri-2

We’re so excited progress is finally being made on this front.

 

I agree with David Van Dyke, if we could skip the initial button press it would streamline the process.  We could tab from one field to the next, and just start typing the text to search for the concept.  It’s just look like a text box, until you start typing.

 

Have just a text box to start typing the text of the concept you’re looking for, and it provides the list of matching concepts, the same as the new allergies and problem list in OpenMRS 1.7 beta, or like Google’s search box that gives automatic suggestions.  Then select the concept you’re looking for, either by clicking  it or, by using the arrow keys and enter key.  If a concept is not selected and you move to the next field, have the field turn red, like existing error fields.  If not corrected choose the “OTHER” concept, and enter the text in the comments field in the record.  (This would allow data entry to continue for concepts that don’t exist as concepts; but this might promote sloppy data entry.  Later the concepts could be created and the obs updated manually.  Perhaps this should be controlled by a global property?  Perhaps it should have a popup verification message, or a message in a pink box beside the text box? You have entered an unknown concept.  Using concept “OTHER”?  A concept proposal may be better as Roger suggested, but the proposed concept should be allowed to be used so data entry can continue. I’d be interested in comments from the community, if this is a good idea or not.)  You could have a red “X” like in the allergies and problem list to remove the selected concept.  When clicked, it would clear the text box and return the curser to start typing new text, or tab to the next field.  The “X” would be multilingual.

 

I assume there will be an optional tag, “showDate="true"” to be able to capture the obs_datetime for these searchable concepts, overriding the encounter_datetime which it would use by default.

 

Being able to do a concept search based on a concept mapping would be helpful.  Roger’s comment got me thinking on that.  For example, searching for “ICD9: 084.6” or “084.6” or “ICD10: B24” or “B24” to pull up “MALARIA UNSPECIFIED.”  Before concept mappings, we used the ICD9 code as a short name or synonym for the concepts to allow this search capability.  But this would be beyond the scope of this project, and should perhaps be implemented separately from this ticket in the main core concept search mechanism.  Andy, how would this work?  Shall I create a new ticket for this?

 

I’d try to stay away from technology that requires additional browser plug-ins, etc.

 

Thanks for your considerations!

 

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Darius Jazayeri
Sent: Tuesday, July 27, 2010 6:34 PM
To: [hidden email]
Subject: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

Hi All,

 

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

 

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

 

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

 

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

 

-Darius

 

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Darius Jazayeri-3 Darius Jazayeri-3
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

So, to bring this back to the limited point that we're trying to answer for Xiaohu, I'd propose:
  • The widget should look like a regular text field, that you can reach by tabbing
    • I would prefer some visual cue that this is an autosuggest, but this may not be necessary.
  • As you type, you get suggestions appearing below, which you can pick by the mouse, or the down arrow. (I.e. do whatever jquery's autosuggest does naturally.) Do NOT follow the example in the MSCUI video where you have to click on the Find button.
  • If you do not select a legal concept, it should "break", but we have varying opinions on how:
    • My original thought was that if you don't select a concept, and you leave the widget, whatever you typed is discarded.
    • James says it should leave your text there, but turn red, and submit as "Other".
    • Roger would like to allow concept proposals. Executive decision: we will NOT do that now. (HTML Form Entry doesn't support proposals, so I'd like to do the autosuggest widget as one ticket, and concept proposals as a second.)
    • => I propose the following behavior when you exit the text field:
      • if it contains text, but you have not selected a legal concept, then it turns red, and the form cannot be submitted. (I don't want to turn typos into "Other".)
      • if it is blank, it turns green (and empty). (e.g. if you tab through, or type something, then erase it)
      • If you've selected a legal concept, it turns green
    • => Any strong disagreements here?
  • If we go with my "legal results turn green" proposal, that is sufficient to signal "this has been checked--it's not just the plain text you typed". So we do not need to make the text field turn into a label with an edit button (as in my mockups) or turn into a label-like thing (as in the MSCUI video)
-Darius

On Wed, Jul 28, 2010 at 9:00 AM, James Arbaugh <[hidden email]> wrote:

We’re so excited progress is finally being made on this front.

 

I agree with David Van Dyke, if we could skip the initial button press it would streamline the process.  We could tab from one field to the next, and just start typing the text to search for the concept.  It’s just look like a text box, until you start typing.

 

Have just a text box to start typing the text of the concept you’re looking for, and it provides the list of matching concepts, the same as the new allergies and problem list in OpenMRS 1.7 beta, or like Google’s search box that gives automatic suggestions.  Then select the concept you’re looking for, either by clicking  it or, by using the arrow keys and enter key.  If a concept is not selected and you move to the next field, have the field turn red, like existing error fields.  If not corrected choose the “OTHER” concept, and enter the text in the comments field in the record.  (This would allow data entry to continue for concepts that don’t exist as concepts; but this might promote sloppy data entry.  Later the concepts could be created and the obs updated manually.  Perhaps this should be controlled by a global property?  Perhaps it should have a popup verification message, or a message in a pink box beside the text box? You have entered an unknown concept.  Using concept “OTHER”?  A concept proposal may be better as Roger suggested, but the proposed concept should be allowed to be used so data entry can continue. I’d be interested in comments from the community, if this is a good idea or not.)  You could have a red “X” like in the allergies and problem list to remove the selected concept.  When clicked, it would clear the text box and return the curser to start typing new text, or tab to the next field.  The “X” would be multilingual.

 

I assume there will be an optional tag, “showDate="true"” to be able to capture the obs_datetime for these searchable concepts, overriding the encounter_datetime which it would use by default.

 

Being able to do a concept search based on a concept mapping would be helpful.  Roger’s comment got me thinking on that.  For example, searching for “ICD9: 084.6” or “084.6” or “ICD10: B24” or “B24” to pull up “MALARIA UNSPECIFIED.”  Before concept mappings, we used the ICD9 code as a short name or synonym for the concepts to allow this search capability.  But this would be beyond the scope of this project, and should perhaps be implemented separately from this ticket in the main core concept search mechanism.  Andy, how would this work?  Shall I create a new ticket for this?

 

I’d try to stay away from technology that requires additional browser plug-ins, etc.

 

Thanks for your considerations!

 

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Darius Jazayeri
Sent: Tuesday, July 27, 2010 6:34 PM

Subject: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

Hi All,

 

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

 

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

 

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

 

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

 

-Darius

 

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Andrew Kanter Andrew Kanter
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

Seems good to me, although not exactly why a null field should be green... But I don't use HTML forms so leave that to you. Overall, as we are looking to be able to run more and more offline, I wonder whether a full database search should be performed as you type. Perhaps the object could look locally in the HTML first, to see if there are choices to select from, but then do a database call once no hits are found...

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



From: Darius Jazayeri <[hidden email]>
To: [hidden email]
Sent: Wed, July 28, 2010 1:04:36 PM
Subject: Re: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

So, to bring this back to the limited point that we're trying to answer for Xiaohu, I'd propose:
  • The widget should look like a regular text field, that you can reach by tabbing
    • I would prefer some visual cue that this is an autosuggest, but this may not be necessary.
  • As you type, you get suggestions appearing below, which you can pick by the mouse, or the down arrow. (I.e. do whatever jquery's autosuggest does naturally.) Do NOT follow the example in the MSCUI video where you have to click on the Find button.
  • If you do not select a legal concept, it should "break", but we have varying opinions on how:
    • My original thought was that if you don't select a concept, and you leave the widget, whatever you typed is discarded.
    • James says it should leave your text there, but turn red, and submit as "Other".
    • Roger would like to allow concept proposals. Executive decision: we will NOT do that now. (HTML Form Entry doesn't support proposals, so I'd like to do the autosuggest widget as one ticket, and concept proposals as a second.)
    • => I propose the following behavior when you exit the text field:
      • if it contains text, but you have not selected a legal concept, then it turns red, and the form cannot be submitted. (I don't want to turn typos into "Other".)
      • if it is blank, it turns green (and empty). (e.g. if you tab through, or type something, then erase it)
      • If you've selected a legal concept, it turns green
    • => Any strong disagreements here?
  • If we go with my "legal results turn green" proposal, that is sufficient to signal "this has been checked--it's not just the plain text you typed". So we do not need to make the text field turn into a label with an edit button (as in my mockups) or turn into a label-like thing (as in the MSCUI video)
-Darius

On Wed, Jul 28, 2010 at 9:00 AM, James Arbaugh <[hidden email]> wrote:

We’re so excited progress is finally being made on this front.

 

I agree with David Van Dyke, if we could skip the initial button press it would streamline the process.  We could tab from one field to the next, and just start typing the text to search for the concept.  It’s just look like a text box, until you start typing.

 

Have just a text box to start typing the text of the concept you’re looking for, and it provides the list of matching concepts, the same as the new allergies and problem list in OpenMRS 1.7 beta, or like Google’s search box that gives automatic suggestions.  Then select the concept you’re looking for, either by clicking  it or, by using the arrow keys and enter key.  If a concept is not selected and you move to the next field, have the field turn red, like existing error fields.  If not corrected choose the “OTHER” concept, and enter the text in the comments field in the record.  (This would allow data entry to continue for concepts that don’t exist as concepts; but this might promote sloppy data entry.  Later the concepts could be created and the obs updated manually.  Perhaps this should be controlled by a global property?  Perhaps it should have a popup verification message, or a message in a pink box beside the text box? You have entered an unknown concept.  Using concept “OTHER”?  A concept proposal may be better as Roger suggested, but the proposed concept should be allowed to be used so data entry can continue. I’d be interested in comments from the community, if this is a good idea or not.)  You could have a red “X” like in the allergies and problem list to remove the selected concept.  When clicked, it would clear the text box and return the curser to start typing new text, or tab to the next field.  The “X” would be multilingual.

 

I assume there will be an optional tag, “showDate="true"” to be able to capture the obs_datetime for these searchable concepts, overriding the encounter_datetime which it would use by default.

 

Being able to do a concept search based on a concept mapping would be helpful.  Roger’s comment got me thinking on that.  For example, searching for “ICD9: 084.6” or “084.6” or “ICD10: B24” or “B24” to pull up “MALARIA UNSPECIFIED.”  Before concept mappings, we used the ICD9 code as a short name or synonym for the concepts to allow this search capability.  But this would be beyond the scope of this project, and should perhaps be implemented separately from this ticket in the main core concept search mechanism.  Andy, how would this work?  Shall I create a new ticket for this?

 

I’d try to stay away from technology that requires additional browser plug-ins, etc.

 

Thanks for your considerations!

 

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Darius Jazayeri
Sent: Tuesday, July 27, 2010 6:34 PM

Subject: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

Hi All,

 

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

 

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

 

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

 

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

 

-Darius

 

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list

[hidden email] from OpenMRS Implementers' mailing list
Alvin Marcelo Alvin Marcelo
Reply | Threaded
Open this post in threaded view
|

An ERP module for OMRS?

In reply to this post by Friedman, Roger (CDC/CGH/DGHA) (CTR)
Dear all,

Is anyone working on an enterprise resource planning module that plugs into OpenMRS?

Our OMRS users are now asking for billing, inventory, etc...

Thanks in advance.

Alvin

_________________________________________

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]
sunbiz sunbiz
Reply | Threaded
Open this post in threaded view
|

Re: An ERP module for OMRS?

We are developing and have been committing all our code to the repository for the billing, inventory (simplepharmacy) and simplefinance modules. We are building these for our use-cases and will be soon releasing v1 of the modules... Aug15th is our deadline and we should have those in the module repository then...

---
Regards,
Saptarshi PURKAYASTHA
Director R & D, HISP India
Health Information Systems Programme

My Tech Blog:  http://sunnytalkstech.blogspot.com
You Live by CHOICE, Not by CHANCE


On 29 July 2010 06:12, Alvin Marcelo <[hidden email]> wrote:
Dear all,

Is anyone working on an enterprise resource planning module that plugs into OpenMRS?

Our OMRS users are now asking for billing, inventory, etc...

Thanks in advance.

Alvin

_________________________________________

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
James Arbaugh James Arbaugh
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

In reply to this post by Darius Jazayeri-3

I like what you have proposed. 

 

Would it be possible to have a comments tag, to show a text box to input comments related to that observation?  This would also be helpful on other types of input too, if it’s not already possible.  Now our data entry clerk enters the form, and then searches for the encounter to add the comments for that observation.

 

Thanks,

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Darius Jazayeri
Sent: Wednesday, July 28, 2010 12:05 PM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

So, to bring this back to the limited point that we're trying to answer for Xiaohu, I'd propose:

  • The widget should look like a regular text field, that you can reach by tabbing
    • I would prefer some visual cue that this is an autosuggest, but this may not be necessary.
  • As you type, you get suggestions appearing below, which you can pick by the mouse, or the down arrow. (I.e. do whatever jquery's autosuggest does naturally.) Do NOT follow the example in the MSCUI video where you have to click on the Find button.
  • If you do not select a legal concept, it should "break", but we have varying opinions on how:
    • My original thought was that if you don't select a concept, and you leave the widget, whatever you typed is discarded.
    • James says it should leave your text there, but turn red, and submit as "Other".
    • Roger would like to allow concept proposals. Executive decision: we will NOT do that now. (HTML Form Entry doesn't support proposals, so I'd like to do the autosuggest widget as one ticket, and concept proposals as a second.)
    • => I propose the following behavior when you exit the text field:
      • if it contains text, but you have not selected a legal concept, then it turns red, and the form cannot be submitted. (I don't want to turn typos into "Other".)
      • if it is blank, it turns green (and empty). (e.g. if you tab through, or type something, then erase it)
      • If you've selected a legal concept, it turns green
    • => Any strong disagreements here?
  • If we go with my "legal results turn green" proposal, that is sufficient to signal "this has been checked--it's not just the plain text you typed". So we do not need to make the text field turn into a label with an edit button (as in my mockups) or turn into a label-like thing (as in the MSCUI video)

-Darius

 

On Wed, Jul 28, 2010 at 9:00 AM, James Arbaugh <[hidden email]> wrote:

We’re so excited progress is finally being made on this front.

 

I agree with David Van Dyke, if we could skip the initial button press it would streamline the process.  We could tab from one field to the next, and just start typing the text to search for the concept.  It’s just look like a text box, until you start typing.

 

Have just a text box to start typing the text of the concept you’re looking for, and it provides the list of matching concepts, the same as the new allergies and problem list in OpenMRS 1.7 beta, or like Google’s search box that gives automatic suggestions.  Then select the concept you’re looking for, either by clicking  it or, by using the arrow keys and enter key.  If a concept is not selected and you move to the next field, have the field turn red, like existing error fields.  If not corrected choose the “OTHER” concept, and enter the text in the comments field in the record.  (This would allow data entry to continue for concepts that don’t exist as concepts; but this might promote sloppy data entry.  Later the concepts could be created and the obs updated manually.  Perhaps this should be controlled by a global property?  Perhaps it should have a popup verification message, or a message in a pink box beside the text box? You have entered an unknown concept.  Using concept “OTHER”?  A concept proposal may be better as Roger suggested, but the proposed concept should be allowed to be used so data entry can continue. I’d be interested in comments from the community, if this is a good idea or not.)  You could have a red “X” like in the allergies and problem list to remove the selected concept.  When clicked, it would clear the text box and return the curser to start typing new text, or tab to the next field.  The “X” would be multilingual.

 

I assume there will be an optional tag, “showDate="true"” to be able to capture the obs_datetime for these searchable concepts, overriding the encounter_datetime which it would use by default.

 

Being able to do a concept search based on a concept mapping would be helpful.  Roger’s comment got me thinking on that.  For example, searching for “ICD9: 084.6” or “084.6” or “ICD10: B24” or “B24” to pull up “MALARIA UNSPECIFIED.”  Before concept mappings, we used the ICD9 code as a short name or synonym for the concepts to allow this search capability.  But this would be beyond the scope of this project, and should perhaps be implemented separately from this ticket in the main core concept search mechanism.  Andy, how would this work?  Shall I create a new ticket for this?

 

I’d try to stay away from technology that requires additional browser plug-ins, etc.

 

Thanks for your considerations!

 

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Darius Jazayeri
Sent: Tuesday, July 27, 2010 6:34 PM

Subject: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

Hi All,

 

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

 

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

 

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

 

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

 

-Darius

 

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list

 


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Darius Jazayeri-3 Darius Jazayeri-3
Reply | Threaded
Open this post in threaded view
|

Re: AJAX concept search in HTML Form Entry

Maybe we could add an showCommentField="true" and showAccessionNumber="true" to the <obs/> tag. (This would look just like the showDateField if I'm remembering correctly.)

Can you make a ticket?

-Darius

On Thu, Jul 29, 2010 at 3:47 PM, James Arbaugh <[hidden email]> wrote:

I like what you have proposed. 

 

Would it be possible to have a comments tag, to show a text box to input comments related to that observation?  This would also be helpful on other types of input too, if it’s not already possible.  Now our data entry clerk enters the form, and then searches for the encounter to add the comments for that observation.

 

Thanks,

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Darius Jazayeri
Sent: Wednesday, July 28, 2010 12:05 PM

Subject: Re: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

So, to bring this back to the limited point that we're trying to answer for Xiaohu, I'd propose:

  • The widget should look like a regular text field, that you can reach by tabbing
    • I would prefer some visual cue that this is an autosuggest, but this may not be necessary.
  • As you type, you get suggestions appearing below, which you can pick by the mouse, or the down arrow. (I.e. do whatever jquery's autosuggest does naturally.) Do NOT follow the example in the MSCUI video where you have to click on the Find button.
  • If you do not select a legal concept, it should "break", but we have varying opinions on how:
    • My original thought was that if you don't select a concept, and you leave the widget, whatever you typed is discarded.
    • James says it should leave your text there, but turn red, and submit as "Other".
    • Roger would like to allow concept proposals. Executive decision: we will NOT do that now. (HTML Form Entry doesn't support proposals, so I'd like to do the autosuggest widget as one ticket, and concept proposals as a second.)
    • => I propose the following behavior when you exit the text field:
      • if it contains text, but you have not selected a legal concept, then it turns red, and the form cannot be submitted. (I don't want to turn typos into "Other".)
      • if it is blank, it turns green (and empty). (e.g. if you tab through, or type something, then erase it)
      • If you've selected a legal concept, it turns green
    • => Any strong disagreements here?
  • If we go with my "legal results turn green" proposal, that is sufficient to signal "this has been checked--it's not just the plain text you typed". So we do not need to make the text field turn into a label with an edit button (as in my mockups) or turn into a label-like thing (as in the MSCUI video)

-Darius

 

On Wed, Jul 28, 2010 at 9:00 AM, James Arbaugh <[hidden email]> wrote:

We’re so excited progress is finally being made on this front.

 

I agree with David Van Dyke, if we could skip the initial button press it would streamline the process.  We could tab from one field to the next, and just start typing the text to search for the concept.  It’s just look like a text box, until you start typing.

 

Have just a text box to start typing the text of the concept you’re looking for, and it provides the list of matching concepts, the same as the new allergies and problem list in OpenMRS 1.7 beta, or like Google’s search box that gives automatic suggestions.  Then select the concept you’re looking for, either by clicking  it or, by using the arrow keys and enter key.  If a concept is not selected and you move to the next field, have the field turn red, like existing error fields.  If not corrected choose the “OTHER” concept, and enter the text in the comments field in the record.  (This would allow data entry to continue for concepts that don’t exist as concepts; but this might promote sloppy data entry.  Later the concepts could be created and the obs updated manually.  Perhaps this should be controlled by a global property?  Perhaps it should have a popup verification message, or a message in a pink box beside the text box? You have entered an unknown concept.  Using concept “OTHER”?  A concept proposal may be better as Roger suggested, but the proposed concept should be allowed to be used so data entry can continue. I’d be interested in comments from the community, if this is a good idea or not.)  You could have a red “X” like in the allergies and problem list to remove the selected concept.  When clicked, it would clear the text box and return the curser to start typing new text, or tab to the next field.  The “X” would be multilingual.

 

I assume there will be an optional tag, “showDate="true"” to be able to capture the obs_datetime for these searchable concepts, overriding the encounter_datetime which it would use by default.

 

Being able to do a concept search based on a concept mapping would be helpful.  Roger’s comment got me thinking on that.  For example, searching for “ICD9: 084.6” or “084.6” or “ICD10: B24” or “B24” to pull up “MALARIA UNSPECIFIED.”  Before concept mappings, we used the ICD9 code as a short name or synonym for the concepts to allow this search capability.  But this would be beyond the scope of this project, and should perhaps be implemented separately from this ticket in the main core concept search mechanism.  Andy, how would this work?  Shall I create a new ticket for this?

 

I’d try to stay away from technology that requires additional browser plug-ins, etc.

 

Thanks for your considerations!

 

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Darius Jazayeri
Sent: Tuesday, July 27, 2010 6:34 PM

Subject: [OPENMRS-IMPLEMENTERS] AJAX concept search in HTML Form Entry

 

Hi All,

 

Xiaohu is working on the HTML Form Entry module for summer of code, and he's currently adding a concept-select-via-ajax widget that you'd invoke like:

 

<obs conceptId="123" labelText="Final diagnosis" answerClasses="Diagnosis" style="autosuggest"/>

 

I'd like some low-level comments from eventual users on how they'd prefer this widget to work. Specifically, should the widget look like a regular text field, that has constrained inputs? Should it look like a button that you click to see the autosuggesting text field? Should it look like plain text, with a button next to it? How should cancel behavior work?

 

I've attached an image showing two ways it could work. I prefer the second. But feel free to vote for either, or describe the exact behavior you want, or give us a link to a website whose behavior you'd like us to copy.

 

-Darius

 

PS- This tag isn't going to handle the "Add Another"--a separate tag will handle dynamic repeats. And I know some people have already worked on this. That's okay.


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list

 


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list