Cleaning up conditional statements regarding new values
You can use the null-coalescing operator ?? like this:

NewPosition = (newValues["Position"] ?? "").ToString();


The core of this approach is this expression:

newValues["Position"] ?? ""


The ?? operator evaluates the left expression first (i.e. newValues["Position"]), and uses it as the result if it's not null. If the first expression is null, the second expression is evaluated, and its result is returned as the overall result of the expression.

For the last one, use ?:

NewAppt = (newValues["Appts"] != null) ? 1 : 0;