-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathVisualScripting.txt
More file actions
71 lines (65 loc) · 2.08 KB
/
VisualScripting.txt
File metadata and controls
71 lines (65 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
public PlanSetup Execute(PlanSetup ps)
{
// TODO: Add your code here.
ValidatePlanSetup(ps);
ValidatePlanDose(ps);
ValidateStructureSet(ps);
//2. is the rx valid?
ValidatePrescription(ps);
return null;
}
private void ValidatePrescription(PlanSetup ps)
{
DoseValue fiftyFourGy = new DoseValue(5400, DoseValue.DoseUnit.cGy);
DoseValue sixtyGy = new DoseValue(6000, DoseValue.DoseUnit.cGy);
DoseValue fiftyFiveGy = new DoseValue(5500, DoseValue.DoseUnit.cGy);
DoseValue fiftyGy = new DoseValue(5000, DoseValue.DoseUnit.cGy);
DoseValue pX = ps.TotalDose;
int? n = ps.NumberOfFractions;
if(n == null)
{
throw new ApplicationException("No fractions found");
}
bool valid = false;
if(pX == fiftyFourGy && n.Value == 3)
{
valid = true;
}
else if (pX == sixtyGy && n.Value == 5)
{
valid = true;
}
else if (pX == fiftyFiveGy && n.Value == 5)
{
valid = true;
}
else if (pX == fiftyGy && n.Value == 8)
{
valid = true;
}
if (!valid)
{
throw new ApplicationException("Invalid dose and fractionation");
}
}
private void ValidateStructureSet(PlanSetup ps)
{
if(ps.StructureSet == null)
{
throw new ApplicationException("Structure set is null");
}
}
private void ValidatePlanDose(PlanSetup ps)
{
if (!ps.IsDoseValid)
{
throw new ApplicationException("Dose is not valid");
}
}
private void ValidatePlanSetup(PlanSetup ps)
{
if(ps == null)
{
throw new ApplicationException("Plan is not valid");
}
}