Calculator uses clinical, ultrasound variables to predict thyroid cancer risk
Sex: F, M
Age: Numeric variable
Diameter: Numeric variable
Composition: Solid, p-Solid, p-Cystic, Cyst
Echogenicity: MarkedHypo, MildHypo, Isoecho, Hyperecho
MacroCalcification: None, Presence, EntirelyCalcified
RimCalcification: None, Presence
Margin: Smooth, Spiculated_Microlobulated, ill-defined
Punctate: None, Presence
Shape: Parallel, NP
GET https://tirads.cdss.co.kr/Predict.php — all variables are passed as URL query
parameters. The request is stateless and idempotent, so a simple GET is the natural fit:
a result can be reproduced, bookmarked, or shared just by keeping the URL.
https://tirads.cdss.co.kr/Predict.php?&Sex=F&Age=32&Diameter=32&Composition=Solid&Echogenicity=MildHypo&MacroCalcification=EntirelyCalcified&RimCalcification=Presence&Margin=ill-defined&Punctate=Presence&Shape=Parallel
curl -G "https://tirads.cdss.co.kr/Predict.php" \
--data-urlencode "Sex=F" \
--data-urlencode "Age=32" \
--data-urlencode "Diameter=32" \
--data-urlencode "Composition=Solid" \
--data-urlencode "Echogenicity=MildHypo" \
--data-urlencode "MacroCalcification=EntirelyCalcified" \
--data-urlencode "RimCalcification=Presence" \
--data-urlencode "Margin=ill-defined" \
--data-urlencode "Punctate=Presence" \
--data-urlencode "Shape=Parallel"
import requests
params = {
"Sex": "F", "Age": 32, "Diameter": 32,
"Composition": "Solid", "Echogenicity": "MildHypo",
"MacroCalcification": "EntirelyCalcified", "RimCalcification": "Presence",
"Margin": "ill-defined", "Punctate": "Presence", "Shape": "Parallel",
}
r = requests.get("https://tirads.cdss.co.kr/Predict.php", params=params)
print(r.json()) # ['81.35/4 (10-40%)']
A JSON array with one string: ["81.35/4 (10-40%)"]
81.35 — AI-predicted malignancy probability (%)
4 — K-TIRADS category
(10-40%) — expected malignancy-rate range for that K-TIRADS category
Unknown values for a categorical variable return an error — use exactly the levels listed above.