First, thanks for everyone's efforts on this project. I'll try to help too.
The short list: I
think version control may be useful for Electronic Medical Records
(EMR), and improving patient care by linking Evidenced Based Medicine
(EBM) and Evidence Based Management (EBMgmt). Do you?
The long list: In the late 80's I started w/ a proprietary
DB for medical charting. It didn't work. Until 2002 I practiced
medicine with paper charts but changed to a proprietary electronic
medical record system based on Oracle and also served as a beta site
for the company. Two weeks ago I left the software; a buggy bloated
front end to Oracle isn't the answer. Unfortunately, the company is
ignoring my request for developing a sucessful exit strategy from their
software (5 years of 3k patient's information suffering from vendor
lock). Any Oracle DBA's out there willing to help? I have what appears
to be a 4GB .dmp file that I was hoping to xfer to MySql so at least
not be dependent upon their front end to retrieve archived information.
In the mean time, I finished a shell script for a Fujitsu
scanner that is working nicely. (see attachement) It's included mainly
as an indication of my scripting ability; it interfaces w/ Hylafax too.
I know C but mainly for microprocessors, and am reading the llama book
(I like Perl, it reminds me of C). And here are 3 websites I run
(dspavr.*
1.net::dspcypher.*1.net::iknomed.*1.com::) //remove the *1 and :: -the last is my personal site. I use SVN mostly because that's what sourceforge has as an option, along w/ CVS. However, I plan to install a Arch server later this week.
Frankly,
I don't think a relational database is the answer - it's overkill and
adds 2 troublesome layers; one for complexity and another for skirting
other more fundamental problems in the medicine that no one wants to
admit. << more later, if needed.
Perl for a front end (GUI or shell or CGI) and Arch for the
backend sounds like a real possibility. I would like to know your
perspective on the matter.
Thanks, Patrick Blanchard, M.D. Board Certified in Family Medicine
Fellow, American Academy of Family Physicians
# go to the scanning directory cd /media/med.msc/TIFFCACHE
# clear the screen clear
# obtain user information for future logging
echo "*** Please enter your initials then press the enter key." read USERNAME
echo "*** Welcome back $USERNAME!" echo ""
echo "*** Enter the patient's chart ID (no leading zeros!) then press the enter key"
read CHART
# prepend 0 in front of entry for ((ADDZEROS = (4 - ${#CHART}); ADDZEROS >= 0; ADDZEROS = ADDZEROS - 1)); do CHART="0$CHART" done # end prepending
echo "*** You entered $CHART, is that the chart number you want? (y/n)"
read CONFIRM if [ "$CONFIRM" = y ] then echo "OK, thanks..." else echo "OK, BYE!" exit 0 fi
# gather file information echo "*** First, some questions regarding your document"
echo ""
PS3="Select the catgory number (1 or 2) for the document you are scanning." select catagory in 'Patient Record' 'Insurance Correspondance' do case $catagory in
'Patient Record') echo "You selected Patient Record" break;; 'Insurance Correspondance') echo "You selected Insurance Correspondance"
break;; *) echo -e "$catagory is not a valid selection. Try again\n" 1>&2 REPLY= # causes the menu to be redisplayed ;; esac done # end Patient vs Insurance menu
if [ "$catagory" = 'Patient Record' ] then PS3="Select the type of document you are scanning." select
type in 'Clinic Note' 'Rx Request' 'Lab Order' 'Lab Result' 'Xray
Result' 'Mailer Card' 'New Patient Information' 'Insurance Card' 'Photo
ID'
do case $type in 'Clinic Note') echo "You selected Clinic Note" break;; 'Rx Request') echo "You selected Rx Request" break;;
'Lab Order') echo "You selected Clinic Note" break;; 'Lab Result') echo "You selected Lab Result" break;; 'Xray Result')
echo "You selected Xray Result" break;; 'Mailer Card') echo "You selected Mailer Card" break;; 'New Patient Information')
echo "You selected New Patient Information"
break;; 'Insurance Card') echo "You selected Insurance Card" break;; 'Photo ID') echo "You selected Photo ID" break;;
*) echo -e "$type is not a valid selection. Try again\n" 1>&2 REPLY= # causes the menu to be redisplayed ;; esac done # end document type fi
PS3="Select to scan FRONT ONLY or FRONT AND BACK." select duplex in 'Front only' 'Front and Back' do case $duplex in 'Front only') echo "You selected Front only"
SOURCE="ADF FRONT" break;; 'Front and Back') echo "You selected Front and Back" SOURCE="ADF DUPLEX" break;; *)
echo -e "$duplex is not a valid selection. Try again\n" 1>&2 REPLY= # causes the menu to be redisplayed ;; esac done # end Patient vs Insurance menu
echo "*** Enter a name for the document (maximum of 8 keystrokes!) then press the enter key" read DOCNAME
echo "*** OK already! here goes! ***" echo "*** You should hear the scanner start now...if not, check your shoes."
#user message ... stitching can take a while... echo "Scanning completed. Please wait for assembly of document..."
#parse directory and prepare to stitch w/ tiffcp and output to $DOCUMENT.tif ls /media/med.msc/TIFFCACHE/out*.tif > TEMPFILES FILES=$(cat /media/med.msc/TIFFCACHE/TEMPFILES) export FILES