CAD Risk Calculator
Contributed by Dr. David Page. The probability values are expressed as the percentage of patients with significant coronary artery disease on angiography. Combined data from Diamond, Forrester, N Engl J Med 1979 and Weiner, Ryan, McCabe, N Engl J Med 1979.
CADRisk.html
—
HTML,
11Kb
File contents
<html>
<head>
<title>CAD Probability</title>
<style type="text/css">
p.title{
text-transform: uppercase;
font-size: 16;
font-family: Arial;
font-weight: bolder;
text-align: left;
color: black;
}
p.heading{
font-size: 12;
font-family: Arial;
font-weight: bolder;
text-align: left;
vertical-align: top;
color: black;
}
p.normaltext{
font-size: 12;
font-family: Arial;
font-weight: normal;
text-align: left;
vertical-align: top;
color: black;
}
td.heading1{
font-size: 12;
font-family: Arial;
font-weight: bold;
text-align: left;
vertical-align: top;
color: white;
background-color:black ;
border-width: 1;
}
td.QuestionHeading{
font-size: 12;
font-family: Arial;
font-weight: bold;
text-align: left;
vertical-align: top;
color: white;
background-color: #505050;
border-width: 1;
}
td.AnswerHeading{
font-size: 12;
font-family: Arial;
font-weight: bold;
text-align: center;
vertical-align: top;
color: white;
background-color: #505050;
border-width: 1;
}
tr.odd{
background-color: #ffffff;
}
tr.even{
background-color: #dddddd;
}
td.question{
font-size: 12;
font-family: Arial;
font-weight: normal;
text-align: left;
vertical-align: top;
color: black;
border-width: 1;
}
td.answer{
font-size: 12;
font-family: Arial;
font-weight: bold;
text-align: center;
vertical-align: middle;
color: black;
border-width: 1;
}
td.normaltext{
width: 100%;
font-size: 12;
font-family: Arial;
font-weight: normal;
text-align: left;
vertical-align: top;
color: black;
background-color: white;
border-width: 0;
}
input.formtext{
width: 100%;
height: 100%;
font-size: 12;
font-family: Arial;
font-weight: normal;
text-align: left;
vertical-align: top;
color: black;
background-color: white;
border-width: 1;
border-style: solid;
}
textarea.formtext{
width: 100%;
height: auto;
font-size: 12;
font-family: Arial;
font-weight: normal;
text-align: left;
vertical-align: top;
color: black;
background-color: white;
border-width: 1;
border-style: solid;
}
</style>
<!-------Script to maximize window on loading----------->
<script language="JavaScript1.2">
<!--
top.window.moveTo(0,0);
if (document.all) {
top.window.resizeTo(screen.availWidth,screen.availHeight);
}
else if (document.layers||document.getElementById) {
if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth){
top.window.outerHeight = screen.availHeight;
top.window.outerWidth = screen.availWidth;
}
}
//-->
</script>
<!----------End maximizing window scipt---------->
<!-- CSS Script that removes textarea and textbox borders when printing ---(put this inbetween <header></header>)----------------->
<style type="text/css" media="print">
.DoNotPrint {
display: none;
}
.noborder {
scrollbar-3dlight-color: transparent;
scrollbar-3dlight-color: transparent;
scrollbar-arrow-color: transparent;
scrollbar-base-color: transparent;
scrollbar-darkshadow-color: transparent;
scrollbar-face-color: transparent;
scrollbar-highlight-color: transparent;
scrollbar-shadow-color: transparent;
scrollbar-track-color: transparent;
background: transparent;
overflow: hidden;
border : 0px;
}
</style>
<!-- ----------------------------------------------------------------------------------------- -->
<script type="text/javascript" language="javascript">
function passGender(){
if (document.getElementById("Gender").value == "M") {
document.getElementById("Male").checked = true;
}
else if (document.getElementById("Gender").value == "F") {
document.getElementById("Female").checked = true;
}
}
function passAge() {
if ((document.getElementById("Age").value <40)&&(document.getElementById("Age").value >=30)){
document.getElementById("30").checked =true;
}
else if ((document.getElementById("Age").value <50)&&(document.getElementById("Age").value >=40)){
document.getElementById("40").checked =true;
}
else if ((document.getElementById("Age").value <60)&&(document.getElementById("Age").value >=50)){
document.getElementById("50").checked =true;
}
else if ((document.getElementById("Age").value <70)&&(document.getElementById("Age").value >=60)){
document.getElementById("40").checked =true;
}
else if ((document.getElementById("Age").value <30)){
document.getElementById("warning").style.background='red';
}
else if ((document.getElementById("Age").value >=70)){
document.getElementById("warning").style.background='red';
}
}
function getCheckedValue(radioObj) {
if(!radioObj){
return parseInt(0);
}
var radioLength = radioObj.length;
if(radioLength == undefined){
if(radioObj.checked){
return parseInt(radioObj.value);
}
else {
return parseInt(value);
}
}
for(var i = 0; i < radioLength; i++) {
if(radioObj[i].checked) {
return parseInt(radioObj[i].value);
}
}
return parseInt(0);
}
function TotalScore(){
var i = 0;
var j = 0;
var k = 0;
var L = 0;
i += getCheckedValue(document.FormName.Age);
j += getCheckedValue(document.FormName.Gender);
k += getCheckedValue(document.FormName.Symptom);
if (i==30 && j==1 && k==100 ) {
L = 4;
}
if (i==40 && j==1 && k==100 ) {
L = 13;
}
if (i==50 && j==1 && k==100 ) {
L = 20;
}
if (i==60 && j==1 && k==100 ) {
L = 27;
}
if (i==30 && j==2 && k==100 ) {
L = 2;
}
if (i==40 && j==2 && k==100 ) {
L = 3;
}
if (i==50 && j==2 && k==100 ) {
L = 2;
}
if (i==60 && j==2 && k==100 ) {
L = 2;
}
if (i==30 && j==1 && k==200 ) {
L = 34;
}
if (i==40 && j==1 && k==200 ) {
L = 51;
}
if (i==50 && j==1 && k==200 ) {
L = 65;
}
if (i==60 && j==1 && k==200 ) {
L = 72;
}
if (i==30 && j==2 && k==200 ) {
L = 12;
}
if (i==40 && j==2 && k==200 ) {
L = 22;
}
if (i==50 && j==2 && k==200 ) {
L = 31;
}
if (i==60 && j==2 && k==200 ) {
L = 51;
}
if (i==30 && j==1 && k==300 ) {
L = 76;
}
if (i==40 && j==1 && k==300 ) {
L = 87;
}
if (i==50 && j==1 && k==300 ) {
L = 93;
}
if (i==60 && j==1 && k==300 ) {
L = 94;
}
if (i==30 && j==2 && k==300 ) {
L = 26;
}
if (i==40 && j==2 && k==300 ) {
L = 55;
}
if (i==50 && j==2 && k==300 ) {
L = 73;
}
if (i==60 && j==2 && k==300 ) {
L = 86;
}
document.FormName.Score.value = L;
}
</script>
</head>
<body onload="passAge();passGender();">
<form method="post" action="" name="FormName">
<p class="title">
Pretest probability of coronary artery disease in patients with
</p>
<p class="title">
chest pain according to age, gender and symptoms.
</p>
<p>
The probability values are expressed as the percentage of patients with significant coronary artery disease on angiography.
</p>
<p>
Combined data from Diamond, Forrester, N Engl J Med 1979 and Weiner, Ryan, McCabe, N Engl J Med 1979.
</p>
<div name="demographics">
<table width="700">
<tr>
<td class="heading1" width=25%>Patient name</td>
<td class="formtext"><input class="formtext" name="PatientName" type="text" oscarDB=patient_name>
</tr>
<tr>
<td class="heading1">Date:</td>
<td class="formtext"><input class="formtext" name="TodaysDate" type="text" oscarDB=today>
</tr>
<tr>
<td class="heading1">Patients age:</td>
<td class="formtext"><input class="formtext" name="Age" id="Age" type="text" oscarDB=age>
</tr>
<tr>
<td class="heading1">Sex:</td>
<td class="formtext"><input class="formtext" name="Gender" id="Gender" type="text" oscarDB=sex>
</tr>
</table>
</div>
<br>
<div name="warning">
<table width="700">
<tr>
<td width=100% id="warning">This application is not suitable for patients younger than 30 or older than 69 years of age!</td>
</table>
</div>
<br>
<div name="Questionnaire">
<table width="700">
<tr class="even">
<td class="answer"><input type="radio" name="Age" id="30" value="30"></td>
<td class="question"><p class="normal">Age 30-39 yrs</p></td>
<td class="answer"><input type="radio" name="Age" id="40" value="40"></td>
<td class="question"><p class="normal">Age 40-49 yrs</p></td>
<td class="answer"><input type="radio" name="Age" id="50" value="50"></td>
<td class="question"><p class="normal">Age 50-59 yrs</p></td>
<td class="answer"><input type="radio" name="Age" id="60" value="60"></td>
<td class="question"><p class="normal">Age 60-69 yrs</p></td>
<tr>
<tr class="even">
<td class="answer"><input type="radio" name="Gender" id ="Male" value="1"></td>
<td class="question"><p class="normal">Male </p></td>
<td class="answer"><input type="radio" name="Gender" id="Female" value="2"></td>
<td class="question"><p class="normal">Female</p></td>
</tr>
</table>
<br>
<br>
<table width="700">
<tr>
<td class="heading1" colspan="2">Pain description:</td>
</tr>
</table>
<table width="700">
<tr class="even">
<td class="answer"><input type="radio" name="Symptom" id="Nonanginal" value="100"></td>
<td class="question"><p class="normal">Nonanginal pain</p></td>
<td class="answer"><input type="radio" name="Symptom" id="Atypical" value="200"></td>
<td class="question"><p class="normal">Atypical angina</p></td>
<td class="answer"><input type="radio" name="Symptom" id="Typical" value="300"></td>
<td class="question"><p class="normal">Typical angina</p></td>
</tr>
</table>
<br>
<table width="700">
<tr>
<td><input type="button" onclick="TotalScore()" value="Calculate pretest probability of coronary heart disease"></td>
<td><input type="text" name="Score" size="10" value="">%</td>
</tr>
</table>
</div>
<br>
<br>
<div name="Application" class="DoNotPrint">
<table width="700">
<tr>
<td class="heading1" colspan="2">Recommendations</td>
</tr>
<tr id="severe">
<td></td>
<td> </td>
</tr>
<tr id="moderate">
<td></td>
<td> </td>
</tr>
<tr id="mild">
<td></td>
<td></td>
</tr>
</table>
<br>
<br>
<!-- The submit/print/reset buttons ------------------------------------------------------------->
<div name="FunctionButtons" class="DoNotPrint">
<table>
<tr>
<td class="subjectline">
Subject: <input name="subject" size="40" type="text">
<input value="Submit" name="SubmitButton" type="submit">
<input value="Reset" name="ResetButton" type="reset">
<input value="Print" name="PrintButton" onclick="javascript:window.print()" type="button">
</td>
</tr>
</table>
</div>
</form>
<!-- ------End of submit/print/reset buttons----------------------------------------------------->
</body>
</html>

