|Don't ask to ask, just ask|
blaise and perlby aufrank (Pilgrim)
|on Jul 02, 2002 at 21:01 UTC||Need Help??|
aufrank has asked for the wisdom of the Perl Monks concerning the following question:
Just recently started to delve into the resources here, couldn't be more impressed. I'm curious if anyone out there has experience with an application called Blaise, developed by Statistics Netherlands and distributed by <a href="http://www.westat.com/blaise/"Westat". We use it to develop Computer Aided Personal Interviews (CAPIs) for use in Genetic Epi studies.
This program, Blaise, allows you to quickly set up blocks of code that then appear as questions and fields on a gui which you follow through the interview. The application is great for gathering data, as its extremely easy to whip up a nice looking survey, but it's proven to be a beast to get the data out once Blaise has a hold of it.
As you go through Blaise's Data Entry Program (the gui to the script you wrote), information gets dumped to some propietary files, most notably *.bdb, where * is the name of the data model you were working with. This file is not just a simple text file, but rather can only be viewed through an internal viewer program.
It is possible to export data from a .bdb file, but it is a big pain. Blaise includes support for "Manipula", which are basically translation guides that explicitly tell Blaise how to translate each block of the original script into text. The scripts we use are hugely involved and contain many many different branches and modules, and so the prospect of writing Manipula for each of these elements could not be less appealing.
I would like nothing better than to be able to interface directly with the *.bdb files through perl, but am not sure if this is a reasonable pursuit. It has occurred to me that perhaps I would be best served trying to write a DBD for the DBI. My questions to you are:
a) is there anyone else who uses or has used Blaise? If so, how do you extract data from the proprietary files once it is gathered? Has perl been a part of your solution? and
b) what sorts of methods are likely to be successful in trying to get non-plaintext data out of a file, given the knowledge that hidden somewhere within is what looks very much like an RDB? and
c) if I were to attempt to create a DBD, what sort of knowledge of the file format would I need to gather, and how viable is a pureperl solution as opposed to a DBD written in C?
I plan on making similar postings to comp.lang.perl.misc and perl.dbi.users within the next day or two, unless any of you think that is unwise.
thanks in advance for any advice, especially regarding other places to direct my queries