As Paul has stated, there really isn't a good way to get the "status" of a short-lived process because being able to get such a status goes against what a short-lived process is intended for. Typically a short-lived process would run and promptly return any outputs to you. Personally, I like to distinguish long-lived versus short-lived by associating user steps with long-lived and their absence with short-lived (since short-lived processes can't have any user steps anyway). If you are still wanting to be able to retrieve the status of your process, I might encourage you to make it long-lived instead. This way, the tb_process_instance table can be used to check the process's status via its complete_time column. Alternatively, you could have a status variable in the orchestration itself such as a string you could update whenever you want to update the status. Since all process variables for long-lived processes are stored in the database, you could check this value to see where you're at with the process.
If you have any questions, please do let me know. You can email me directly or just respond on these forums. Good luck!
Cardinal Solutions Group