def save_task(self, patient_id,
                  task_type,
                  target_user,
                  work_object_id,
                  comments,
                  subject):
        """
        invokes TouchWorksMagicConstants.ACTION_SAVE_TASK action
        :param patient_id
        :param task_type - EntryMnemonic value from IDX_TASK_ACTION_DE. Dictionary
            values can be looked up using the GetDictionary action.
        :param target_user - TargetUser	Pass in the username of the individual who
            will be assigned the task. Typical delegates can be found by calling GetDelegates.
                It is also possible to assign a task to a team by passing in 'Team'+the ID
                of the corresponding team from the Team_DE dictionary.
                The team can be looked up using the GetDictionary action.
                If the LoginUser is the same as the TargetUser, the task will be marked as
                delegated (and therefore no longer available in GetTask for that LoginUser).
        :param work_object_id - The ID of the item to link to the task,
                such as the medication or note ID. If not needed, 0 can be passed instead.
        :param comments - A comment to set for the task.
        :return: JSON response
        """
        magic = self._magic_json(
            action=TouchWorksMagicConstants.ACTION_SAVE_TASK,
            patient_id=patient_id,
            parameter1=task_type,
            parameter2=target_user,
            parameter3=work_object_id,
            parameter4=comments,
            parameter5=subject)
        response = self._http_request(TouchWorksEndPoints.MAGIC_JSON, data=magic)
        result = self._get_results_or_raise_if_magic_invalid(
            magic,
            response,
            TouchWorksMagicConstants.RESULT_GET_ENCOUNTER_LIST_FOR_PATIENT)
        return result
invokes TouchWorksMagicConstants.ACTION_SAVE_TASK action
        :param patient_id
        :param task_type - EntryMnemonic value from IDX_TASK_ACTION_DE. Dictionary
            values can be looked up using the GetDictionary action.
        :param target_user - TargetUser	Pass in the username of the individual who
            will be assigned the task. Typical delegates can be found by calling GetDelegates.
                It is also possible to assign a task to a team by passing in 'Team'+the ID
                of the corresponding team from the Team_DE dictionary.
                The team can be looked up using the GetDictionary action.
                If the LoginUser is the same as the TargetUser, the task will be marked as
                delegated (and therefore no longer available in GetTask for that LoginUser).
        :param work_object_id - The ID of the item to link to the task,
                such as the medication or note ID. If not needed, 0 can be passed instead.
        :param comments - A comment to set for the task.
        :return: JSON response