diff --git a/README.md b/README.md index 2840dbd8..63f2f550 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Introduction -RadRisks is a tool that allows radiation protection professionals to calculate the lifetime risk per unit intake by inhalation or ingestion for a specific radionuclide over a specified period of time. It is currently in development and being built with Tauri, React, Typescript, Tailwind CSS, and Rust. +RadRisks is a tool that allows radiation protection professionals to calculate the lifetime risk per unit intake by inhalation or ingestion for a specific radionuclide over a specified period of time. It is built with Tauri, React, Typescript, Tailwind CSS, and Rust. # Installation @@ -28,8 +28,9 @@ npm install ``` npm run tauri dev ``` -# Previous Release -The previous release, 2.2.1, can be installed at [epa.gov](https://www.epa.gov/radiation/tools-calculating-radiation-dose-and-risk). + +# Previous Program +The previous program, RiskTab, can be installed at [epa.gov](https://www.epa.gov/radiation/tools-calculating-radiation-dose-and-risk). # License diff --git a/package-lock.json b/package-lock.json index 013b7f02..005ffb7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "radrisks", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "radrisks", - "version": "1.0.0", + "version": "1.0.1", "dependencies": { "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", diff --git a/package.json b/package.json index 699a9aa3..ae0fb61a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "radrisks", "private": true, - "version": "1.0.0", + "version": "1.0.1", "type": "module", "scripts": { "dev": "vite", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index dac22141..ff57314c 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2010,7 +2010,7 @@ dependencies = [ [[package]] name = "radrisks" -version = "1.0.0" +version = "1.0.1" dependencies = [ "bincode", "serde", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index e20df8c9..f0218f42 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "radrisks" -version = "1.0.0" +version = "1.0.1" description = "A tool that allows a user to estimate the risk of different types of cancer from the inhalation or ingestion of radioactive material" authors = ["David Borrego", "Ben Nguyen"] license = "BSD-3-Clause" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index bd452113..35d09b5f 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -7,7 +7,7 @@ }, "package": { "productName": "RadRisks", - "version": "1.0.0" + "version": "1.0.1" }, "tauri": { "allowlist": { diff --git a/src/components/CalculationsTable.tsx b/src/components/CalculationsTable.tsx index 10b3c44d..838c3c5f 100644 --- a/src/components/CalculationsTable.tsx +++ b/src/components/CalculationsTable.tsx @@ -1,8 +1,7 @@ import { invoke } from '@tauri-apps/api/tauri'; import { useEffect, useState } from 'react'; import { cancers } from '../data/cancers'; -import { InputData, OutputData, Calculation } from '../utils'; - +import { InputData, OutputData, Calculation, TableColumn, RiskCoefficientColumn } from '../utils'; const CalculationsTable = ({ calculation, setTxtTables }: { calculation: Calculation | {}, setTxtTables: React.Dispatch> }) => { const [tables, setTables] = useState([]); @@ -210,13 +209,13 @@ const CalculationsTable = ({ calculation, setTxtTables }: { calculation: Calcula {Object.entries(table).map((entries: [string, number[]], j) => { return ( - {entries[0]} - {entries[1][0].toExponential(2)} - {entries[1][1].toExponential(2)} - {entries[1][2].toExponential(2)} - {entries[1][3].toExponential(2)} - {entries[1][4].toExponential(2)} - {entries[1][5].toExponential(2)} + {entries[TableColumn.Age]} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.MaleMortality].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.FemaleMortality].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.BothMortality].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.MaleMorbidity].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.FemaleMorbidity].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.BothMorbidity].toExponential(2)} ); })} diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx index af952777..4dc0ccca 100644 --- a/src/components/Modal.tsx +++ b/src/components/Modal.tsx @@ -35,7 +35,7 @@ const Modal = ({ darkMode, isOpen, setOpen }: { darkMode: boolean, isOpen: boole @@ -44,7 +44,7 @@ const Modal = ({ darkMode, isOpen, setOpen }: { darkMode: boolean, isOpen: boole
calculations flow -

Learn more at the RadRisks Wiki.

+

Learn more at the RadRisks Wiki.

} @@ -55,7 +55,7 @@ const Modal = ({ darkMode, isOpen, setOpen }: { darkMode: boolean, isOpen: boole

Made with Tauri, React, Typescript, Rust, and Tailwind CSS.


-

See the code on GitHub.

+

See the code on GitHub.

}
diff --git a/src/components/RiskCoefficientsTable.tsx b/src/components/RiskCoefficientsTable.tsx index 03677b0a..47fdb8d8 100644 --- a/src/components/RiskCoefficientsTable.tsx +++ b/src/components/RiskCoefficientsTable.tsx @@ -1,6 +1,6 @@ import { invoke } from '@tauri-apps/api/tauri' import { useEffect, useState } from 'react' -import { InputData } from '../utils'; +import { InputData, TableColumn, RiskCoefficientColumn } from '../utils'; const RiskCoefficientsTable = ({ radionuclide, cancer, intakeMethod }: { radionuclide: string, cancer: string, intakeMethod: string }) => { const [tables, setTables] = useState([]); @@ -51,13 +51,13 @@ const RiskCoefficientsTable = ({ radionuclide, cancer, intakeMethod }: { radionu {Object.entries(table).map((entries: [string, number[]], j) => { return ( - {entries[0]} - {entries[1][0].toExponential(2)} - {entries[1][1].toExponential(2)} - {entries[1][2].toExponential(2)} - {entries[1][3].toExponential(2)} - {entries[1][4].toExponential(2)} - {entries[1][5].toExponential(2)} + {entries[TableColumn.Age]} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.MaleMortality].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.FemaleMortality].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.BothMortality].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.MaleMorbidity].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.FemaleMorbidity].toExponential(2)} + {entries[TableColumn.RiskCoefficients][RiskCoefficientColumn.BothMorbidity].toExponential(2)} ); })} diff --git a/src/components/SurvTable.tsx b/src/components/SurvTable.tsx index f0191efe..a202d708 100644 --- a/src/components/SurvTable.tsx +++ b/src/components/SurvTable.tsx @@ -2,6 +2,21 @@ import { invoke } from '@tauri-apps/api/tauri' import { useEffect, useState } from 'react' import { InputData } from '../utils'; +const enum SurvFunction { + Age, + SurvData +} + +const enum SurvDataColumn { + CombinedSurvival, + MaleSurvival, + FemaleSurvival, + CombinedLifetime, + MaleLifetime, + FemaleLifetime, + CombinedRatio +} + const SurvTable = () => { const [surv, setSurv] = useState({}); @@ -36,14 +51,14 @@ const SurvTable = () => { {Object.entries(surv).map((entries: [string, number[]], i) => { return ( - {entries[0]} - {entries[1][0].toExponential(3)} - {entries[1][1].toExponential(3)} - {entries[1][2].toExponential(3)} - {entries[1][3].toFixed(3)} - {entries[1][4].toFixed(3)} - {entries[1][5].toFixed(3)} - {entries[1][6].toFixed(3)} + {entries[SurvFunction.Age]} + {entries[SurvFunction.SurvData][SurvDataColumn.CombinedSurvival].toExponential(3)} + {entries[SurvFunction.SurvData][SurvDataColumn.MaleSurvival].toExponential(3)} + {entries[SurvFunction.SurvData][SurvDataColumn.FemaleSurvival].toExponential(3)} + {entries[SurvFunction.SurvData][SurvDataColumn.CombinedLifetime].toFixed(3)} + {entries[SurvFunction.SurvData][SurvDataColumn.MaleLifetime].toFixed(3)} + {entries[SurvFunction.SurvData][SurvDataColumn.FemaleLifetime].toFixed(3)} + {entries[SurvFunction.SurvData][SurvDataColumn.CombinedRatio].toFixed(3)} ); })} diff --git a/src/components/UsageTable.tsx b/src/components/UsageTable.tsx index aa71a726..f61470db 100644 --- a/src/components/UsageTable.tsx +++ b/src/components/UsageTable.tsx @@ -2,6 +2,20 @@ import { invoke } from '@tauri-apps/api/tauri' import { useEffect, useState } from 'react' import { InputData } from '../utils'; +const enum UsageFunction { + Age, + UsageData +} + +const enum UsageDataColumn { + MaleInhalation, + FemaleInhalation, + MaleTapwater, + FemaleTapwater, + MaleDietary, + FemaleDietary +} + const UsageTable = () => { const [usage, setUsage] = useState({}); @@ -35,13 +49,13 @@ const UsageTable = () => { {Object.entries(usage).map((entries: [string, number[]], i) => { return ( - {entries[0]} - {entries[1][0].toExponential(3)} - {entries[1][1].toExponential(3)} - {entries[1][2].toExponential(3)} - {entries[1][3].toExponential(3)} - {entries[1][4].toExponential(3)} - {entries[1][5].toExponential(3)} + {entries[UsageFunction.Age]} + {entries[UsageFunction.UsageData][UsageDataColumn.MaleInhalation].toExponential(3)} + {entries[UsageFunction.UsageData][UsageDataColumn.FemaleInhalation].toExponential(3)} + {entries[UsageFunction.UsageData][UsageDataColumn.MaleTapwater].toExponential(3)} + {entries[UsageFunction.UsageData][UsageDataColumn.FemaleTapwater].toExponential(3)} + {entries[UsageFunction.UsageData][UsageDataColumn.MaleDietary].toExponential(3)} + {entries[UsageFunction.UsageData][UsageDataColumn.FemaleDietary].toExponential(3)} ); })} diff --git a/src/utils.ts b/src/utils.ts index 74c21961..1e72b20c 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,5 +1,19 @@ import { invoke } from "@tauri-apps/api/tauri"; +export const enum TableColumn { + Age, + RiskCoefficients +} + +export const enum RiskCoefficientColumn { + MaleMortality, + FemaleMortality, + BothMortality, + MaleMorbidity, + FemaleMorbidity, + BothMorbidity +} + export interface Calculation { radionuclide: string; formattedRadionuclide: string;