Add reason for change

Notes

  • The FHIR resource (which we will likely be basing our object around) supports two coded fields '"substitution_type" and "substitution_reason".  We can probably use one or both of these fields for this.  It looks like in FHIR both only include a limited set of concepts, so we'd need to determine if these are sufficient, or we need a more open-ended set?