@Override
 public int hashCode() {
   int result = encounterDateTime != null ? encounterDateTime.hashCode() : 0;
   result = 31 * result + (visitStartDateTime != null ? visitStartDateTime.hashCode() : 0);
   result = 31 * result + (targetObsRelation != null ? targetObsRelation.hashCode() : 0);
   result =
       31 * result
           + (encounterTransactionObservation != null
               ? encounterTransactionObservation.hashCode()
               : 0);
   result = 31 * result + (groupMembers != null ? groupMembers.hashCode() : 0);
   result = 31 * result + (providers != null ? providers.hashCode() : 0);
   result = 31 * result + (isAbnormal != null ? isAbnormal.hashCode() : 0);
   result = 31 * result + (duration != null ? duration.hashCode() : 0);
   result = 31 * result + (type != null ? type.hashCode() : 0);
   result = 31 * result + conceptSortWeight;
   return result;
 }