Author image Λόρδος Σπύρος Δεναξάς

NAME

Medical::DukePTP - Calculate the Duke pre-test probability of CAD

VERSION

Version 0.3

SYNOPSIS

    use Medical::DukePTP;
    
    my $rh_params = { 
        'smoking'      => 1,
        'diabetes'     => 1,
        'age'          => 55,
        'sex'          => 'male',
        'chest_pain'   => 'typical',
    };

    my $ptp = Medical::DukePTP::ptp( $rh_params );

BACKGROUND

Important diagnostic and prognostic outcomes can be predicted from information collected by the physician as a part of the initial assessement. Despite the fact that much of the clinical information collected by a physician is "soft" or subjective data, predictions of outcome based on the information from the initial evaluation are accurate and can be deployed in order to identify "high" and "low" risk patients.

This module implements the Duke pre-test probability of a patient having significant Coronary Artery Disease. This is accomplished by taking into consideration symptom typicality, sex, age and cardiovascular risk factors such as diabetes or high cholesterol.

The method is based on:

    Pryor D.B. et al., "Value of the history and physical in 
    identifying patients at increased risk of CAD", Ann Int Med 1993, 118:81-90

The PubMed entry for the paper:

http://www.ncbi.nlm.nih.gov/pubmed/8416322?ordinalpos=&itool=EntrezSystem2.PEntrez.Pubmed.Pubmed_ResultsPanel.SmartSearch&log$=citationsensor

FUNCTIONS

ptp

Accepts a reference to a hash with parameters and returns a scalar which denotes the pre-test probability of coronary artery disease. Note that the value is rounded upwards.

Required parameters include:

    sex : 'male' or 'female'
    age : numerical age of patient
    

Optional parameters

    chest_pain     : 'typical' or 'atypical'
    previous_MI    : history of previous Myocardial Infarction (1 for yes)
    ECG_Q_wave     : ECG Q waves of previous Myocardial Infarction (1 for yes) 
    ECG_ST-T_wave  : ECG ST changes at rest (1 for yes)
    smoking        : current smoker (1 for yes)
    hyperlipidemia : cholesterol > 6.5 mmol/l (>250 mg/dl) (1 for yes)
    diabetes       : diabetic (1 for yes)
    

This function will return undef on error.

AUTHOR

Spiros Denaxas, <s.denaxas at gmail.com>

SOURCE CODE

The source code can be found on github https://github.com/spiros/Medical-DukePTP

BUGS

Please report any bugs or feature requests to bug-medical-dukeptp at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Medical-DukePTP. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Medical::DukePTP

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2011 Spiros Denaxas.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.