Welcome to the world of reporting.
Unfortunately everyone's definition of a mock shell is often different so you usually need to roll your own. Fortunately there's lots of examples to get you started. QC isn't as popular, but clinical reporting is exactly the same concept and there are thousands of examples out there.
You can search lexjansen.com for your topics and you'll find many user written examples.
Here are two in the Knowledge Library to help get you started, that cover demographic summaries and data specification macros:
https://communities.sas.com/t5/SAS-Communities-Library/Demographic-Table-and-Subgroup-Summary-Macro-...
https://communities.sas.com/t5/SAS-Communities-Library/Library-Datasets-Summary-Macro-DATA-SPECS/ta-...
A quick way for PROC FREQ:
https://gist.github.com/statgeek/e0903d269d4a71316a4e
Here's some instructions and explanations on how to capture output that is shown.
https://blogs.sas.com/content/sastraining/2017/03/31/capturing-output-from-any-procedure-with-an-ods...
Macro tutorials are below. Before you start macros, first ensure you have a working prototype then convert your program to a macro!!!!!!!!!!!!!
UCLA introductory tutorial on macro variables and macros
https://stats.idre.ucla.edu/sas/seminars/sas-macros-introduction/
Tutorial on converting a working program to a macro
This method is pretty robust and helps prevent errors and makes it much easier to debug your code. Obviously biased, because I wrote it 🙂 https://github.com/statgeek/SAS-Tutorials/blob/master/Turning%20a%20program%20into%20a%20macro.md
Examples of common macro usage
https://communities.sas.com/t5/SAS-Communities-Library/SAS-9-4-Macro-Language-Reference-Has-a-New-Ap...