Tuesday, June 28, 2011

Webpage Prototypes

I've been prototyping First EMT using html5 and css3. Things are starting to look pretty sexy. Right now I'm trying to find a work around to display video in a pretty popup. My first thought was the lightbox jQuery plugin. That doesn't support video though. There doesn't seem to be a very good video alternative with the same look. I think what I'm going to have to do is hack something together that looks similar. I'll post a tutorial tomorrow with the best method I come up with.

In other news, JT and I are going to start putting our prototypes online. We're going to put our source up on github tomorrow. I also want to look at hosting the webpages on Red Hat's cloud app service, Open Shift. Updates tomorrow.

Thursday, June 23, 2011

Design Design Design

They say you should always measure twice and cut once. Well that's our take to project design. This past week we drew up a bunch of paper prototype interfaces. These are basically just pen and paper representations of our interface layout. JT and I had several potential users look over the paper diagrams and give us input. We ended up making a great connection with Matt Purcel, President of the RIT Ambulance. Doctor James Sutton was also able to give us a lot of great input about how to improve our design.

Now that our design is coming to fruition I can finally start coding. Time to start reading up on HTML 5, CSS 3.0 and Javascript. If I run into any interesting problems I plan on writing up a tutorial here.

Thursday, June 16, 2011

Design concerns in a multilingual application

One of our biggest design concerns for First EMT is creating an interface that is universally accessible regardless of language, culture, or education. To make language selection universally accessible we are using a combination of a flag icon, text, and audio stating the language a button selects.

One part of the program will have phrases that a health care provider may want to say to a patient. We originally were going to record audio of each phrase. After speaking with Dr. James Sutton we actually learned that some cultures can be pretty "freaked out" by random talking boxes. As a solution we plan on recording video of translators speaking. This will also allow us to incorporate American Sign Language.

Monday, June 13, 2011

Internationalization in PHP


Our current game plan with First EMT is to build a Javascript and PHP web application so I've been looking at ways to do internationalization in PHP. If you're writing code that needs to be accessible in many different languages, internationalization is a must. Instead of hard coding text you create a variable for every body of text in your interface. Then you store translation files for every language your UI must support. By changing your locale variable you can quickly and easily switch the language your UI displays. If you make the translation files human readable it is also very easy to add new languages by simply hiring a professional translator for a few hours of work.

My first searches seemed fruitful... I found this documentation describing Resource Bundles. It seemed great until I noticed it was under the header "Future Directions". I'm a fairly proficient programmer but I'm certainly not ready to write a patch to PHP... time to look at other options...

The best option I've found so far is called Zend_Translate. Zend's translate framework is really flexible. You can provide something as basic as arrays of words to translate or as complex as importing a Translation Memory file and dynamically translating everything. For my purposes I think I'm going to use the TMX adapter. TMX is an extension of XML and it's an industry standard for this sort of application. It can be modified in any XML editor which makes it very easy to add new translations. An example TMX file would be something like:


  1. <?xml version="1.0" ?>
  2. <!DOCTYPE tmx SYSTEM "tmx14.dtd">
  3. <tmx version="1.4">
  4. <header creationtoolversion="1.0.0" datatype="winres"segtype="sentence"
  5.         adminlang="en-us" srclang="de-at" o-tmf="abc"
  6.         creationtool="XYZTool" >
  7. </header>
  8. <body>
  9. <tu tuid='message1'>
  10. <tuv xml:lang="de"><seg>Nachricht1</seg></tuv>
  11. <tuv xml:lang="en"><seg>message1</seg></tuv>
  12. </tu>
  13. <tu tuid='message2'>
  14. <tuv xml:lang="de"><seg>Nachricht2</seg></tuv>
  15. <tuv xml:lang="en"><seg>message2</seg></tuv>
  16. </tu>
  17. </body>
  18. </tmx>


This example is straight from the Zend Framework website.

Wednesday, June 8, 2011

Research

Starting to find some good articles to use for our project and the paper later on in the summer. I'm going to aggregate them here for my own use :-P

These articles will be good for pointing out the existence of language barriers and the problems they cause in the medical profession:

Lost in translation? pediatric preventive care and language barriers
http://www.sciencedirect.com/science/article/pii/S0022347605011194


Language barriers and the use of interpreters in the public health services. A questionnaire-based survey
http://www.sciencedirect.com/science/article/pii/S0738399110002697

One of the ideas we've been throwing around was a what-if scenario where ambulances could have a 3G connection and send information from the tablet to the hospital before the patient arrives. It turns out this has already been an idea.

http://v-scheiner.brunel.ac.uk/bitstream/2438/2430/1/Ambulance%203G.pdf

We'll have to see if the Rochester area ambulances have 3G connections.

I am also interested in the translation aspect of the project. I want to make sure whatever translation we're using will be correct. Often times machine translation will have errors. This is obviously unacceptable for medical practice. We may need to look at simply providing hard-coded translation for the forms and leave MT for the open ended, less-important questions.

open source translation: http://www.apertium.org/

Tuesday, June 7, 2011

First EMT

So I'm doing research again this summer. This time around I'm working on First EMT. First Encounter Medical Translator will be an EMT assistant providing several multilingual or language independent tools for first responders. I'm going to be working with my buddy JT throughout the summer. You can follow his blog here: http://www.jtmengel.com.

Medical professionals today run into problems with patients who do not speak English. Obviously they must help these people but communication can be very difficult. We're going to design a tablet-based system that will allow first responders to gather data in a number of different languages. It will also have a diagram of a person where a patient can zoom in and let an EMT know where they're injured. We may also add a page where an EMT can pull up common questions in several different languages so they can verbally ask things like "who is your primary doctor?" or "do you have any allergies?".

This first week we will be writing up the design documents and figuring out exactly what our user experience is going to be. I'm also going to be researching options for translation since Google is dropping their translation API (link). Moses looks like a good alternative. I'll be posting more information on it as I learn more.

I'm very excited about this project and can't wait to get cracking hacking.