This is a more general question pertaining to a business need.
At my company many requests come through that require an analyst to run a mini "code snippet". These code snippets could be in SQL, Python, R, or a combination of the languages.
The code is often extremely simple (<30 lines) and either doesn't change or changes minimally from request to request (i.e. the "where" statement of a SQL query might change).
I am wondering what the best way is to give a "non-tech" interface to the users where they can run these code snippets while maintaining version control on my side?
Potential problems I've thought of:
- I want to ensure that the users don't have direct access to the code as they could easily break it.
- Additionally, if there was some way to version control the software that would be ideal as well. I'd rather that an update to Pandas (Python) or any other software/module not break all the scripts. I don't know how this is possible.
- The users have no tech background so running code from the command line, anaconda prompt, git bash or any other cmd like interface is probably not an option.
In our department our operation team is split into analysts and project managers. The analysts role is comprised of the following:
- Query a data warehouse to pull data for the project managers. These requests are things like "how many patients has {x} doctor seen in the past year?". These requests are generally small (<20 lines of SQL code) as well as being repeated (the project manager asks for the same query to be run multiple times a week). Once the data warehouse has been queried, the analyst pulls the resulting table into an Excel and sends over to the project manager.
- Write and run python scripts to automate small, standard processes. For example, the project managers receive standardized XML files that have physician information in them. The project manager will send the XML file over to the analyst, who will run the Python script to extract the data, and send the resulting Excel back over to the project manager.
The question: In the process outlined above, because the project manager is not running either the SQL code (point 1) or the Python script (point 2), the project manager has to email the analyst (which wastes time) and make a request.
Ideal Scenario: For the standard requests (where code has already been written, and does not change) I would like to give the project managers the ability to directly run the code themselves rather than having to reach out to the analysts. This will save time and allow the analysts to work on more meaningful projects. Since the project managers do not have a technology background things like the command line or an IDE are too intimidating, so we are searching for a different solution.
Please let me know if anything is confusing, thank you!