Forum OpenACS Q&A: Suitability of OpenACS
it's been a while since I last posted here. I've been busy with other things, and my personal openacs 3.x based website still does what I want it to. But now I find myself in the position of having to build some webservices, and OpenACS comes back in scope. I'll give a bit of background first, and then I'll get into the specifics. Over the last couple of years I've been working for a obstetrician. What started as a single practice with a specialty in early gestation fetal ultrasound turned into an organisation with six locatations in the Rotterdam area in the Netherlands where we do (mostly) first trimester screening and stuctural fetal exams at around 20 weeks, and all which is closely related to that. I started out by stringing back-end systems together with Tcl, creating the infrastructure for needs. Almost all development so far has been about our own internal system of a patient database, appointment systems, biometrics collection and ultrasound image storage and retrieval. This mostly works, but is closed and cannot easily be shared online with our patients and referrers.
We want to transform this system to a more open system and add a lot of additional things in the future. We have plenty of ideas, but let me sum up our core needs for which I'd like to have some feedback about the suitability of OpenACS as it is at the moment.
1. Online Patient Registration
We want people to register themselves on our site, so they themselves can enter their personal information, insurance details and current and previous pregnancy information. This information will be fed through an online (SOAP) insurance details check and should feed into the (sybase) patient database.
2. Feedback of exam results to the refering obstetrician.
Once an exam is done, we want to post results in some form of 'inbox' where we post text, PDF reports and possibly ultrasound images (just jpegs).
About 60% of all births in the Netherlands are home births, to facilitate this there are a lot of obstetricians practices through out the country. We have about 15 such referrers in our service area.
This information is very private, as it contains both medical and personal details. We need strong authentication before allowing access to this information.
3. Feedback of exam results and some ultrasound images to the patients themselves.
This information is less private, as patients will have to opt-in and acknowledge that we'll try to keep it private but there is a real risk that others can access it.
4. A system to manage appointments
Basically, this will be a web-based calendar where both we ourselves and our referers can register appointments for the six locations. We currently use Lotus Notes for this, but this is expensive. Additionally we would like to allow patients to change their appointments if they need to. So there should be restricted views, where you can only see your own appointment details and just available and unavailable time slots.
5. A peer review system
We have a scaling problem. Ultrasound images are really hard things to judge correctly. At the moment everything is checked by just one or two people at a central location before the exam results are sent to the refering obstetrician. What we would like to do is have staff anonymously rate each others' ultrasound images for imaging quality and correctness of measurements. This will probably be a 'yes, this is ok', 'I am unsure' and 'No, this image not okay' tristate or something. We want to use this system to improve the overall quality of our staff and have a system where we do not overload the few specialists we have.
I'll keep my wishlist to these five items for now, as most others we have are closely related to these five items.
What I'd like to hear is how closely current features in OpenACS match the functionality we would like to have. We don't mind spending time expanding existing functionality, but I would prefer not starting from scratch.
Regards,
- Pascal.
Sounds like an interesting project. If you are considering using the most recent version of OpenACS it would be a good fit. Here are some starting points.
1. We certainly have registration and collecting data solutions. One interesting project you might want to look at is out of UCLA Medical School. http://med.openacs.org/xowiki/en/UCLA_Case_Studies It is a Package called PTracker and they use it tracking patients through medical protocols. It might be overkill for what you are doing but you'll probably find it interesting.
There are web services solutions for OpenACS, a couple different ones, you should read the forums and see which one will fit your needs.
2 and 3 - Posting individual patient results, you could either use dotFolio (perhaps overkill) or file storage with some custom permissions. Not sure what your requirements are for strong authentication. MGH uses LDAP to let users log in from thier internal network. Not sure if that would work for you, perhaps checking IP in addition to username and password or a random number generator? That will require some extension to the toolkit but shouldn't be too bad.
4. I'd start with one of the Room or Resource reservation packages and customize from there. There is one in CVS and again the same group at UCLA wrote one recently.
5. There is a ratings package you can use to manage the ratings. We would probably use Dynamic Types to collect the ultrasounds and the measurements. There is a wiki page on dynamic types here: https://openacs.org/xowiki/dynamic-types and a discussion of another medical site that uses dynamic types here: http://med.openacs.org/xowiki/en/Case_Studies
Are you looking to create a new system with OpenACS 5x or extend your current 3x system or create a new system and integrate it with your current 3x system?
Hope these answers help,
2) Project Open is or has undergone a security audit, so I am fairly certain that we do not run into troubles with security of the data. Though with patient data it still might reguire a special security check, depending on the legislation in the netherlands.
Obviously you would like this linked with a specific patient and the doctor uploading this. In contacts you do have the ability to store files with a patient and make the doctor a referral. We did implement this once for a retirement home facility as a Customer Relationship management. That way it is easy for your to see which patients a doctor is treating, which he referred to you, who a patient was referred from, who is the active doctor, what are the relatives, who is the power of attorney, you name it (whatever information you choose to save and the links).
3) Probably dotfolio is overkill. I would allow them to view their own page in contacts (which they need to view anyway for editing their personal data) and include additional portlets depending on the functionality needed (e.g. if you are using assessment to do your exams then display the list of assessments / exams taken).
4) If I am not mistaken the University of Mannheim has something like that developed. Other than that, we use room reservation to schedule "appointments" with the ships in our sailing club, so you should probably be fine with that.
5) Ratings. Is already included with file storage (or could be done really easily).
Would you be interested in Mobile integration, allowing the doctors to fill out the exams while doing the home visits?
thanks for the response. pTracker doesn't seem too much overkill. Although we're not running a clinical trial, we are very definitely following a protocol. Also, part of this protocol requires us to prove we're keeping up quality. This could definitely be part of it. Is it available to others?
Contacts do sound more lightweight, and may be more of a match - I'll need to install OACS to see how they work, I guess.
Add to that the room scheduler and I am mostly happy already.
As for the strong authentication, I'll likely need to keep the private data away from the main web application. I'll probably keep that on an isolated server, or some proxy/gateway arangement.
I'll probably need something more complex than simple ratings, but it may be a good start.
Overall, I'll install OpenACS and see for myself what it can do for us.
Thanks,
- Pascal.