What I Did
Refactored and reengineered the Vetronics ECG expert system diagnostic engine to be more dynamic for expanding the range of diagnosis for a given animal and ability to add capabilities for more species.
I ported the FORTRAN code to C language using modular programming techniques. Functionality was added to have the diagnostic patterns stored externally in a database. This allowed for the ability to update the capability range without having to revise and re-validate the software. I also constructed basic build infrastructure using make utility and version control system.
Who is Vetronics
Vetronics was the first company to develop and market an automated electrocardiograms analyzer. Initially developed by Vetronics founder Professors Jorge Aunon and Clare McGillem of the Purdue University School of Electrical Engineering and Professor Walter Weirich of the Purdue School of Veterinary Medicine. The software was written in FORTRAN and initial diagnostic patterns were hard-coded in the program. There were 20 canine diagnostic patterns and 17 feline diagnostic patterns available with the initial commercial version.
The company has since been acquired BASi.
How It Works:
Starting with an ECG, the software encodes each waveform segments and then attempts to pattern match them against all known patterns. It then weights how close the pattern matches the known patterns to give a statistical confidence with it’s analysis. Initially, each pattern was hard-code in the FORTRAN source.
The ECG the heart’s electrical activity.
P is the waveform generated by the firing of the pacemaker and depolarization of the atria.
Q is the first phase of ventricular depolarization and represents the electrical activity coming from the ventricular system. Not all normal ECGs will have a visible Q wave.
R is the largest waveform in most ECG leads and represents the electrical activity of the apex and free walls of the ventricles.
S is the first phase of depolarization of the ventricles and originates from the muscle at the base of the heart. Not all normal ECGs will have an S wave.
T is the repolarization of the ventricles.
Currently they support the following diagnostics:
|Canine Diagnosis 42 Total||Feline Diagnosis 33 Total|
|Accelerated Idioventricular Rhythm||Accelerated Idioventricular Rhythm|
|All ECG Parameters Within Normal Limits||All ECG Parameters Within Normal Limits|
|Atrial Fibrillation||Atrial Enlargement|
|Atrial Premature Contraction (APC’s)||Atrial Fibrillation|
|Atrial Standstill/Possible High Serum Potassium||Atrial Premature Contractions May Be Occurring|
|Atrial Tachycardia||Atrial Standstill/Possible High Serum Potassium|
|AV Nodal Beats||AV Nodal Beats|
|Biatrial Enlargement||First Degree Heart Block|
|Biventricular Enlargement||Left Anterior Fascicular Block|
|First Degree Heart Block||Left Bundle Branch Block|
|Fusion Beats Have Occurred||Left Ventricular Enlargement|
|Left Anterior Fascicular Block||Left Ventricular Enlargement May Be Developing|
|Left Bundle Branch Block||Normal Sinus Rhythm|
|Left Ventricular Dilatation||Pre-Excitation Syndrome|
|Left Ventricular Hypertrophy||Prolonged Q-T Interval|
|Low Amplitude QRS Complexes||PVC’s Found|
|Multifocal Premature Ventricular Contractions||PVC’s May Be Occurring–Repeat Measurement To Verify|
|Normal Sinus Rhythm||Right Bundle Branch Block|
|P-Mitrale||Right Ventricular Enlargement|
|P-Pulmonale||Second Degree Heart Block, Mobitz Type I|
|Paroxysmal Ventricular Tachycardia||Second Degree Heart Block, Mobitz Type II|
|Prolonged Q-T Interval||Shortened Q-T Interval|
|PVC’s Found||Sinus Arrest|
|PVC’s May Be Occurring–Repeat Measurement To Verify||Sinus Arrhythmia|
|Right Bundle Branch Block||Sinus Bradycardia|
|Right Ventricular Enlargement||Sinus Tachycardia|
|Second Degree Heart Block, Mobitz Type IA||Some ECG Parameters Outside Normal Limits|
|Second Degree Heart Block, Mobitz Type IB||Supraventricular Tachycardia|
|Second Degree Heart Block, Mobitz Type IIA||Third Degree Heart Block|
|Second Degree Heart Block, Mobitz Type IIB||Ventricular Bigeminy|
|Shortened Q-T Interval||Ventricular Escape Beats|
|Sinus Arrest||Ventricular Escape Rhythm|
|Sinus Arrhythmia||Ventricular Tachycardia|
|Some ECG Parameters Outside Normal Limits|
|Third Degree Heart Block|
|Ventricular Escape Beats|
|Ventricular Escape Rhythm|