-
Notifications
You must be signed in to change notification settings - Fork 1
NCICTAPI User Manual
Endpoint:
POST https://ncict-xxxxx.xxxxx.xxx/param
Content-Type: application/json
The domain name and cloud server will be configured once the commercial licensing agreement is executed.
For local testing:
POST http://localhost:8080/param
Content-Type: application/json
The API accepts one JSON object per request. GUI Batch uses CSV format, but the calculation parameters are the same as the API JSON parameters. In GUI Batch CSV files edited with Excel, custom_ma values may be entered across multiple cells starting at the custom_ma column.
Recommended parameter order:
dose_target, age, sex, height, weight, wed, start, end, kvp, tcm_strength, head_body, ctdivol, custom_ma
| parameter | required | definition |
|---|---|---|
dose_target |
yes | Dose target. Use patient, fetus, or mother. |
age |
yes | For patient, enter numeric age in years. For fetus or mother, enter gestational age as week text: 8wk, 10wk, 15wk, 20wk, 25wk, 30wk, 35wk, or 38wk. |
sex |
required for patient
|
Patient sex. Use f or m. Ignored for fetus and mother. |
height |
optional | Patient height in cm. Used for closest phantom matching when available. |
weight |
optional | Patient weight in kg. Used for closest phantom matching when available. |
wed |
optional | Water equivalent diameter in cm. Used for closest phantom matching when available. |
start |
yes | Scan start location from the top of the head in cm, or a landmark ID from 1001 to 1010. |
end |
yes | Scan end location from the top of the head in cm, or a landmark ID from 1001 to 1010. |
kvp |
yes | Tube potential in kVp. |
tcm_strength |
yes | Tube current modulation strength from 0 to 1. Use -1 when providing custom_ma. |
head_body |
yes | CTDI phantom selection. Use 1 for 16-cm CTDI phantom and 2 for 32-cm CTDI phantom. |
ctdivol |
yes | Volumetric CT dose index in mGy. |
custom_ma |
required when tcm_strength = -1
|
Array of slice-specific mA values. Each value must be greater than 0. |
For patient, the API automatically selects a phantom group from age and sex:
- age < 20 and
sex = f: pediatric female - age < 20 and
sex = m: pediatric male - age >= 20 and
sex = f: adult female - age >= 20 and
sex = m: adult male
When height, weight, or wed is provided, the API selects the closest available size-dependent phantom. If these values are omitted, the API uses age-based matching.
For fetus and mother, use gestational age text in the age field. Supported values are:
8wk, 10wk, 15wk, 20wk, 25wk, 30wk, 35wk, 38wk
start and end can be entered either as scan locations in cm or as anatomical landmark IDs. If one value is a landmark ID, the other must also be a landmark ID.
| protocol | scan start landmark ID | scan end landmark ID |
|---|---|---|
| head | 1001 | 1003 |
| neck | 1002 | 1005 |
| chest | 1004 | 1007 |
| abdomen | 1006 | 1008 |
| pelvis | 1008 | 1009 |
| AP | 1006 | 1009 |
| CAP | 1004 | 1009 |
| whole body | 1001 | 1010 |
After landmark conversion, the scan range must satisfy:
0 <= start < end <= 190
{
"dose_target": "patient",
"age": 10,
"sex": "f",
"height": 150,
"weight": 50,
"wed": 20,
"start": 0,
"end": 20,
"kvp": 120,
"tcm_strength": 0,
"head_body": 1,
"ctdivol": 20
}When tcm_strength is -1, custom_ma is required.
{
"dose_target": "patient",
"age": 10,
"sex": "f",
"wed": 25,
"start": 0,
"end": 20,
"kvp": 120,
"tcm_strength": -1,
"head_body": 1,
"ctdivol": 20,
"custom_ma": [110, 115, 120, 130, 128, 121, 118]
}{
"dose_target": "fetus",
"age": "38wk",
"start": 1004,
"end": 1009,
"kvp": 120,
"tcm_strength": 0,
"head_body": 2,
"ctdivol": 20
}{
"dose_target": "mother",
"age": "30wk",
"start": 1004,
"end": 1009,
"kvp": 120,
"tcm_strength": 0,
"head_body": 2,
"ctdivol": 20
}The following request returns 400 because all custom_ma values must be greater than 0.
{
"dose_target": "patient",
"age": 10,
"sex": "f",
"start": 0,
"end": 20,
"kvp": 120,
"tcm_strength": -1,
"head_body": 1,
"ctdivol": 20,
"custom_ma": [110, 0, 120]
}Successful responses return HTTP 200 and a JSON object containing matched phantom information and organ doses.
| metadata key | definition |
|---|---|
dose_target |
Requested dose target. |
age |
Patient age in years, or gestational age such as 38wk. |
sex |
Patient sex for patient dose target. |
phantom_group |
Matched phantom group. |
wed_cm |
Input WED in cm, or -1 when WED was not provided. |
matched_height_cm |
Matched phantom height in cm. |
matched_weight_kg |
Matched phantom weight in kg for patient. |
matched_fetal_age_weeks |
Matched gestational age in weeks for fetus or mother. |
Dose values are returned as strings formatted to two decimal places.
| output key | definition |
|---|---|
brain |
Brain dose in mGy |
pituitary gland |
Pituitary gland dose in mGy |
lens |
Lens dose in mGy |
eye balls |
Eye balls dose in mGy |
salivary glands |
Salivary glands dose in mGy |
oral cavity |
Oral cavity dose in mGy |
spinal cord |
Spinal cord dose in mGy |
thyroid |
Thyroid dose in mGy |
esophagus |
Esophagus dose in mGy |
trachea |
Trachea dose in mGy |
thymus |
Thymus dose in mGy |
lungs |
Lungs dose in mGy |
breast |
Breast dose in mGy |
heart wall |
Heart wall dose in mGy |
heart la |
Heart left atrium dose in mGy |
heart ra |
Heart right atrium dose in mGy |
heart lv |
Heart left ventricle dose in mGy |
heart rv |
Heart right ventricle dose in mGy |
heart lvm |
Heart left ventricular myocardium dose in mGy |
heart lmca |
Heart left main coronary artery dose in mGy |
heart lada |
Heart left anterior descending artery dose in mGy |
heart lca |
Heart left circumflex artery dose in mGy |
heart rca |
Heart right coronary artery dose in mGy |
heart av |
Heart aortic valve dose in mGy |
heart mv |
Heart mitral valve dose in mGy |
heart pv |
Heart pulmonary valve dose in mGy |
heart tv |
Heart tricuspid valve dose in mGy |
stomach wall |
Stomach wall dose in mGy |
liver |
Liver dose in mGy |
gall bladder |
Gall bladder dose in mGy |
adrenals |
Adrenals dose in mGy |
spleen |
Spleen dose in mGy |
pancreas |
Pancreas dose in mGy |
kidney |
Kidney dose in mGy |
small intestine |
Small intestine dose in mGy |
colon |
Colon dose in mGy |
rectosigmoid |
Rectosigmoid dose in mGy |
urinary bladder |
Urinary bladder dose in mGy |
prostate |
Prostate dose in mGy |
uterus |
Uterus dose in mGy |
testes |
Testes dose in mGy |
ovaries |
Ovaries dose in mGy |
skin |
Skin dose in mGy |
muscle |
Muscle dose in mGy |
blood vessel |
Blood vessel dose in mGy |
active marrow |
Active marrow dose in mGy |
shallow marrow |
Shallow marrow dose in mGy |
effective dose msv |
Effective dose in mSv |
Invalid requests return HTTP 400 with an error message. Common validation errors include:
- missing required input
- unsupported
dose_target - missing or invalid
sexforpatient - invalid pregnant phantom age format
- invalid
kvp,tcm_strength,head_body, orctdivol - mixed scan range format, such as one landmark ID and one cm location
- invalid scan range after landmark conversion
- missing or invalid
custom_mawhentcm_strength = -1
Server-side calculation or installation problems return HTTP 500 with an error message.