If there a way to make the "complains of" in ROS bold, and "denies of" unbolded?
He is my current function in VFE.
fn ListBoxResult(cstr,dstr,ostr) {
local fullStr = ""
if (size(cstr) > 0) then
fullStr = "Complains of " + cstr + ". "
endif
if (size(dstr) > 0) then
fullStr = fullstr + "Denies " + dstr + ". "
endif
if (size(ostr) > 0) then
fullStr = fullstr + ostr
endif
return fullStr
}
The formatting of the text is dependent upon the formatting of the control itself. You can get what you want but you will likely need to use two separate controls and you would have to use watcher expressions to control the interaction s between the controls. Does that make sense? Depending on how your form is laid out, you could use two separate check boxes for each ROS item. One checkbox would indicate "complains of" while the other would indicate "denies" the watcher expression would prevent the other checkbox from being checked. This would allow you to set formatting option to bold on the complains of checkbox. I think I would need to see your form to better clarify my response.
I have 2 check boxes and a watcher expression in my form now. This is the rest of what I have.
{/*WATCHER EXPRESSIONS*/}
{
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
/*Function for SetValues Button Denies All*/
{OBSNOW("ROS GEN COMM", ListBoxResult(DOCUMENT.GENERAL,DOCUMENT.LISTBOX,DOCUMENT.MULTI_LINE1))}
{obsnow("ROS HEAD", ListBoxResult(DOCUMENT.HEAD,DOCUMENT.LISTBOX2,DOCUMENT.MULTI_LINE2))}
{obsnow("ROS EYES", ListBoxResult(DOCUMENT.EYES,DOCUMENT.LISTBOX3, DOCUMENT.MULTI_LINE3))}
{obsnow("ROS EARS", ListBoxResult(DOCUMENT.EARS,DOCUMENT.LISTBOX4,DOCUMENT.MULTI_LINE4))}
{obsnow("ROS NOSE", ListBoxResult(DOCUMENT.NOSE,DOCUMENT.LISTBOX5,DOCUMENT.MULTI_LINE5))}
{obsnow("ROSOTHERCOMM", ListBoxResult(DOCUMENT.MOUTH,DOCUMENT.LISTBOX6,DOCUMENT.MULTI_LINE6))}
{obsnow("ROS THROAT", ListBoxResult(DOCUMENT.THROAT,DOCUMENT.LISTBOX7,DOCUMENT.MULTI_LINE7))}
{obsnow("ROS NECK", ListBoxResult(DOCUMENT.NECK,DOCUMENT.LISTBOX8,DOCUMENT.MULTI_LINE8))}
{obsnow("ROS BREAST", ListBoxResult(DOCUMENT.BREAST,DOCUMENT.LISTBOX9,DOCUMENT.MULTI_LINE9))}
{obsnow("ROS RESPIRAT", ListBoxResult(DOCUMENT.RESP,DOCUMENT.LISTBOX10,DOCUMENT.MULTI_LINE10))}
{obsnow("ROS CARD COM", ListBoxResult(DOCUMENT.CARDIO,DOCUMENT.LISTBOX11,DOCUMENT.MULTI_LINE11))}
{obsnow("ROS GI COM", ListBoxResult(DOCUMENT.GI,DOCUMENT.LISTBOX12,DOCUMENT.MULTI_LINE12))}
{obsnow("ROS GU COMM", ListBoxResult(DOCUMENT.GU,DOCUMENT.LISTBOX13,DOCUMENT.MULTI_LINE13))}
{obsnow("ROS GU FEMAL", ListBoxResult(DOCUMENT.MENSTRUAL,DOCUMENT.LISTBOX14,DOCUMENT.MULTI_LINE14))}
{obsnow("ROS NEUHE", ListBoxResult(DOCUMENT.NEURO,DOCUMENT.LISTBOX15,DOCUMENT.MULTI_LINE15))}
{obsnow("ROS SKIN", ListBoxResult(DOCUMENT.SKIN,DOCUMENT.LISTBOX16,DOCUMENT.MULTI_LINE16))}
{obsnow("ROS MSK COMM", ListBoxResult(DOCUMENT.MUSCLE,DOCUMENT.LISTBOX17,DOCUMENT.MULTI_LINE17))}
{obsnow("ROS ENDO", ListBoxResult(DOCUMENT.ENDO,DOCUMENT.LISTBOX18,DOCUMENT.MULTI_LINE18))}
{obsnow("ROS ALLERG", ListBoxResult(DOCUMENT.ALLERGY,DOCUMENT.LISTBOX19,DOCUMENT.MULTI_LINE19))}
{obsnow("ROSPSYCHCOMM", ListBoxResult(DOCUMENT.MENTAL,DOCUMENT.LISTBOX20,DOCUMENT.MULTI_LINE20))}
/*FUNCTION DEFINITIONS*/
fn ListBoxResult(cstr,dstr,ostr) {
local fullStr = ""
if (size(cstr) > 0) then
fullStr = "Complains of " + cstr + ". "
endif
if (size(dstr) > 0) then
fullStr = fullstr + "Denies " + dstr + ". "
endif
if (size(ostr) > 0) then
fullStr = fullstr + ostr
endif
return fullStr
}
fn ListBoxTranslation(label,cstr,dstr,ostr) {
local fullStr = ListBoxResult(cstr,dstr,ostr)
return cfmt(fullStr, "", label + ": ", "B", "
")
}
}
If you don't get an answer that helps, you can email me the .dlg file for the form and I will talke a look at it this weekend.
Katie, I have reviewed your form and can see how it is currently functioning. The review of systems for each body system (e.g. general, eyes, etc.) is currently storing a concatenated text string (i.e. Complains of.... + Denies.... + Optional text) into a single OBS term. For example; the translated text when completing the "General" ROS is being stored in an OBS term labeled "ROS:General". Unfortunately you cannot format portions of text contained within an OBS term without some fancy coding. That said, here are the two options that I would recommend:
1) Write a function that can parse out the items the patient complained of from the OBS term that the text is being stored in and then use two separate data displays to display the complains of text and the denies text respectively. Any additional general comments (the stuff in the multiline text box) would just get appended to the "denies" text string. Translate both data displays in the textual note. The textual note generated might look like this (blue text would be bolded):
General:
Complains of back pain, muscle cramps, stiffness.
Denies arthritis.
Eyes:
Complains of blurring.
Denies irritation,photophobia.
etc...
2)Use a function to generate the formatted text in the note based off of the data being captured by the control variables on the form rather than from the OBS term contents.
I'd be happy to discuss the pros and cons of each method if you would like, but the above options would be my best recommendations at this point.