Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.

# Thread: Medical risk calculator - three inputs

1. ## Medical risk calculator - three inputs

Hi all,

I'm trying my hand at jscript for the first time (au fait with html and css). I'd like to build a medical risk calculator to sit in a side block on a drupal site. The html form is done.

Input x is the size of an aneurysm and input will be in text and then parsed into ranges (0-7mm, 7-10mm and 10+mm)
Input y is location of aneurysm and consists of three options, a, b & c.
Input z is yes / no radio button
Output (risk) should update each time input is changed (no submit button).

Each combination of these variables should produce two linked risk values (% in one year and % in five years). The number of potential outputs is thus 3x3x2 = 18 (so it's not really a calculation, more a lookup). I am imagining some sort of 18-faceted list of functions like this:

If x=1 AND y=1 AND z=1 THEN output Risk combo 1
IF x=2 AND y=1 AND z=1 THEN output Risk combo 2
IF x=3 AND y=1 AND z=1 THEN output Risk combo 3
IF x=1 AND y=2 AND z=1 THEN output Risk combo 4
IF x=2 AND y=2 AND z=1 THEN output Risk combo 5
IF x=3 AND y=2 AND z=1 THEN output Risk combo 6
IF x=1 AND y=3 AND z=1 THEN output Risk combo 7
IF x=2 AND y=3 AND z=1 THEN output Risk combo 8
IF x=3 AND y=3 AND z=1 THEN output Risk combo 9
If x=1 AND y=1 AND z=2 THEN output Risk combo 10
IF x=2 AND y=1 AND z=2 THEN output Risk combo 11
IF x=3 AND y=1 AND z=2 THEN output Risk combo 12
IF x=1 AND y=2 AND z=2 THEN output Risk combo 13
IF x=2 AND y=2 AND z=2 THEN output Risk combo 14
IF x=3 AND y=2 AND z=2 THEN output Risk combo 15
IF x=1 AND y=3 AND z=2 THEN output Risk combo 16
IF x=2 AND y=3 AND z=2 THEN output Risk combo 17
IF x=3 AND y=3 AND z=2 THEN output Risk combo 18

How should one best go about performing these functions?

• since you mentioned a lookup-table, what about a nested Array?
PHP Code:
``` // though you need to use a 0-based index in your <input>svar risks = [ // x-level    [ // y-level        [risk combo 1, risk combo 2], // z-level        [risk combo 3, risk combo 4],        [risk combo 5, risk combo 6]    ],    [        [risk combo 7, risk combo 8],        [risk combo 9, risk combo 10],        [risk combo 11, risk combo 12]    ],    [        [risk combo 13, risk combo 14],        [risk combo 15, risk combo 16],        [risk combo 17, risk combo 18]    ]]// access would work like// remember, it's zero-indexedvar combo = risks[x][y][z];  ```

• Thanks for your suggestion - will read around this approach and give it a try!

• if you don’t have numbers as input value, you could do the same with an object.
PHP Code:
``` var risks = {  "category 1": {    "class 1" : {      "subclass 1": "combo 1",      "subclass 2": "combo 2"    // etc.    },    "class 2" : {      // etc.    }  },  "category 2": {    // etc.  }};  ```

•

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•