/**
   * Updating status of DO in Database. This function is called from removeDataObjectFromNode. Here
   * we are not removing entry from DB since we would require meta data information about DO at each
   * node in workflow.
   *
   * @param workflowId
   * @param nodeId
   * @param dataObject
   */
  private void updateDataObjectStatusInDBQueue(
      String workflowId, String nodeId, IHICData dataObject) {
    HashMap<String, Object> doDetails = dataObject.getDataObjectDetails();
    try {
      // This makes sure that the current call is pertaining to Workflow tool
      if (!isPatientSchedulePresentInFormValues(dataObject)) return;

      Hashtable<String, Object> metaData =
          HashUtil.removeNonRequiredKeysFromHashtable(
              ApplicationConstant.REQUIRED_KEYS_FOR_UNIQUE_DO,
              (Hashtable<String, Object>) doDetails.get(CoreConstants.DATAOBJECT_FORM_VALUES));

      DataObjectQueueImpl.setDataObjectAsCompleted(
          workflowId,
          nodeId,
          StringUtil.getString(doDetails.get(CoreConstants.DATAOBJECT_USER_ID)),
          StringUtil.getString(doDetails.get(CoreConstants.DATAOBJECT_UNIQUE_ID)),
          metaData);
    } catch (WorkflowComponentException e) {
      e.printStackTrace();
    }
  }