Adding new drug definitions

We are a VR studio currently working on a VR emergency trauma room simulation focused on communication and learning of algorithms.
The application is being developed using Unreal Engine and we’re currently looking into using the Pulse Physiology Engine to drive the underying patient simulation.
Our customer requested a list of drugs that should be available. Of these, 9 drugs aren’t already available as a json file in Pulse (list below).

How would you even start to implement these drugs? The the parameters list and methodology is a good start, but the customer had a look at it and
E.g.: Are there any parameters absolutely required, and some less?
Is there some guideline on how to implement new drugs/medication?
The customer is a large-scale hospital in Germany and could provide the expertise of a Pharmacologist and/or money.
We are just not sure how to get these drugs implemented as quickly as possible.

Thanks in advance for any insight you can provide into this topic.

Marcel from Northdocks

List of drugs:

  • Lidocaine
  • Urapidil
  • Metoprolol (ß-Blocker)
  • Clopidogrel
  • Low molecular weight Heparin
  • recombinant plasminogen activator (rtPA)
  • Dimetidene/Ranitine
  • Risperdone/Haloperidol
  • Levetiracetam


Adding drugs is relatively straight forward. I am glad you found the documentation. There are two steps: 1) Pharmacokinetics and 2) Pharmacodynamics. We use a spreadsheet in the repository to make it easy to add drugs.

Each parameter is listed and if not required it is noted. There are two ways to calculate clearance, makign some of those parameters optional depending on the method chosen, otherwise the parameters are required.

To create a new drug, you can insert new columns in the spreadsheet, make sure you get the hidden columns, as well. Once you have added the parameters you can regenerate data as noted on the wiki.

You can also create jsons directly if that is easier for you.

Generally, I find the PK parameters and then test the engine with those by running a scenario with the drug matching conditions in the literature I have and plotting against a plasma validation curve (you have probably seen these in the documentation). Sometimes there are a range of the PK values you can try to get a good fit. Once I am satisfied with the fit of the plasma concentration curve to the experimental/literature data, then I move to the pharmacodynamic (PD) model. You can then add these values to the spreadsheet. You will need to estimate the EC50 value as described in our documentation and then apply the PD effects. So, if you want 20% increase in heart rate then you can put in a 0.2, if you want a 20% decrease, -0.2 and so on.

You do not need to add partition coefficients. These are calculated by the engine from the PK parameters. We do give the option of directly entering these, but I don’t recommend it. :slight_smile:

We do not have a topical skin route for lidocaine, if you are looking to use it that way. I also see at least one anticonvulsant on your drug list, we do not have a mechanism for this currently in the engine.

If you have more questions or are interested in getting assistance adding and testing drugs, feel free to reach out to me at to set up a time to talk.


Wow, thank you for that detailed answer Rachel! Really helpful.
I’ll take a look at it and talk it back with our customer.