It’s an interesting problem - is there even a way to tie in multiple STT engines, or are you talking about extending an existing model by adding additional vocabulary?
I just went to a long list of medicines and medical procedures and tried speaking them to my Android phone. It appears that 80% of them were recognized, though I tended to steer away from trying to speak things that I didn’t know how they were pronounced. It would be a lot easier if the STT engine already recognized enough of your vocabulary.
Once the STT has run, you will still have a problem of matching to entities in your database. For example, if the person says “blood count”, that could be matched against “complete blood count” or “red cell blood count” or a number of other terms. Even if they say “complete blood count” it could also mean “complete blood count with differential”. For an application like this, I suspect that the precision of the match is crucial for your application.
I faced a similar problem with a skill that matches against a large vocabulary of song names, artist names, album names, genres, and lyrics from songs (obviously the precision is not as important as yours). The database consists of maybe 100,000 terms and I wanted to recognize things like “street fighting by the stones” to be a match against the song “street fighting man” by the artist “The Rolling Stones”. My past experience in NLP led me to understand that users will seldom give a fully qualified query, and the problem becomes how to resolve partial matches. You end having to rank the possible results according to their likelihood. This is essentially a search ranking problem (disclaimer: I worked at Google for 12 years, so this has influenced how I think about NLP).
In order to solve my problem, I ended up using the xapian text search library. This has python bindings so you can both build the index and query the index using python from a skill. Unfortunately the library cannot be installed with pip, so I haven’t been able to distribute my skill to others - it requires installing by hand.