OHDSI Home | Forums | Wiki | Github

Fluids in drug exposure

Dear all,

Finalising the first iteration our new ICU OMOP ETL, I’ve gotten stuck on an issue that is perhaps quite idiosyncratic to emergency, intensive and peri-operative medicine: fluids as drugs. Fluids are both given in their own right for volume expansion but relatively large volumes actually come from the solvents in infusions of active ingredients. One prominent example is patients with septic shock who, often, receive vast amounts of intravenous fluids (see, e.g., table 2 (p. 2464) here: https://www.nejm.org/doi/pdf/10.1056/NEJMoa2202707). Thus, in our setting (intensive care), the need to capture and express this in our CDM is real as it’s an important aspect of our patient’s phenotype.

I believe the administration of intravenous fluids should yield one drug exposure (and the unit should be mL or L), while every administration of a drug infusion should yields two drugs exposures: the active ingredient (unit something like mg, mmol or IU) and a certain solvent volume given to the patient. Here are a few simple examples that represent our source administration data:

drug_name start end amount amount_unit volume_ml solvent
norepinephrine 2023-01-01 06:00:00 2023-01-01 07:00:00 4.8 mg 6 Isotonic saline
ringer_lactate 2023-01-01 06:00:00 2023-01-01 10:00:00 NA NA 1000 NA
novorapid 2023-01-01 07:00:00 2023-01-01 08:00:00 10 IU 10 5% in NaCl

Essentially, these 3 source rows should produce 5 drug exposure rows (2 for the active ingredients and 3 for the given volumes). Having queried drug_strength (also through concept_ancestor) and concept_relationship (looking for any relationships involving units that are standard concepts), I cannot find a good way to do this as the quantity of e.g. NaCl would resolve to mmol, it seems, which isn’t what I want to represent.

There are some threads around regarding infusions, but they focused more on how to capture infusion rates which is distinct from this challenge; since we have those data as well, I’d be happy to know if the community landed on any conventions in this regard as the threads didn’t really seem to suggest so.

I’m aware I might be missing something obvious, and in that case I hope to be enlightened. If we do turn out to be the first ones with this challenge, I’d be happy to chip in with a proposed solution and would greatly appreciate if you could point me to the good people with whom I should discuss this. Also, if others have similar data, I’d love to hear from you–especially if new community conventions are to be devised.



All legitimate questions, and we try to have pragmatic solutions for them. One problem that comes up is the choice of what are the active ingredients and what are excipients. NaCl falls into the first category with the Ringer solution, and into the second for norephinephrine and novorapid.

The question is whether this is a Quantified Clinical Drug and was given in full. If so, it would be “6 mL norepinephrine 0.8 mg/mL injection” (the fact that the solvent is saline is irrelevant) and you would just drop the concept ID and be done. Turns out it is not. There is a clinical drug Norepinephrine 0.08 MG/ML Injection, but it only comes in 50 or 950 mL quantities.

What do you do? You record the Clinical Drug Component norepinephrine 0.08 MG/ML and put 4.8 into the quantity field. The DRUG_STRENGTH table tells you that the unit is 8576, i.e. mg, but obviously you already see that in the name of the Drug Component. Alternatively, you record the îngredient and a quantity of 4.8.

Again, you try to find the drug product of a 1 L Ringer Lactate solution, which not surprisingly exists. Just record concept ID 36944447.

Same exercise as in the norepinephrine record, except “NovoRapid” is a brand name, not an ingredient. So, you are looking for the Quantified Branded Drug “10 mL insulin aspart, human 1 UNT/mL injection [NovoRapid]” or so. Turns out nobody sells insulin aspartate at the concentration of 1 unit/mL (they do that with other insulin preparations), which means there is no such drug product, and not even a Drug Component. That leaves you with recording the ingredient and the quantity=10.

Generally, the volume is irrelevant for most drugs. They are solved in small amounts. For norepinephrine and NovoRapid the provider could have put it into 5, 10 or 20 mL making no difference to the effect. For the Ringer solution really the active ingredients aren’t the salts or the lactate, but the water. Had you not found the one liter bottle, or had the source record been an odd value, you could always modify the quantity given (e.g. 0.5 for half a bottle). Theoretically, you could even put in the ingredient water and quantity 1000, but I doubt anybody does that.

Bottom line: Find the most detailed standard concept in the Drug domain, and modify the quantity if necessary. For ingredients and Drug Components the quantity is measured in the unit provided in DRUG_STRENGTH, for everything else the quantity denotes the number or fraction of the drug product.

Hi @Christian_Reich,

Thank you for your thorough and clear answers to my questions. Still wrapping my head around filling in the quantity field correctly, but the Ringer example is a good one in the end. So, for isotonic saline infusion, we should simply use 42479436 1000 ML Sodium Chloride 9 MG/ML Injectable Solution and set quantity to 1 if a full litre was given, right?

By extension, would it be considered too unorthodox to actually put a drug exposure record of 42479436 1000 ML Sodium Chloride 9 MG/ML Injectable Solution with quantity = 0.010, for the novorapid example? In these examples, obviously 6 mL and 10 mL are nothing compared to 1000 mL, but in the end, the volumes of all these drugs delivered through infusions actually can add up–and when they do, it says something about the patients that we’d like to capture. Fluid therapy is quite important in intensive care, and I’d just like to retain as much information as possible knowing that this doesn’t apply to many other use cases around.


Exactly. Except people tend to set the quantity to NULL, assuming 1. We need to set the conventions for that.

Sure. Doesn’t hurt at all. For a healthy person, that is akin to a grain of salt and a sip of some beverage. In ICU, where you sometimes control input and output tightly, this may be useful information. On the other hand, we are not managing individual patient care. We are looking for general outcomes of interventions. And I doubt you would be able to detect any effect of these small doses of salt water. But again, no harm.

Yeah, conventions would be nice. We have maaaany observations with 2500 or 750 mL of NaCl, where we should really put 2.5 and 0.75 so the actual quantities can be retrieved for analysis. I’d be happy to help with this work.

Yeah, but if you have 4 pumps running at 10 mL/hour for 24 hours, that’s still almost 1 L of salt water in that day at which point it starts to become significant. Both for characterisation (of patients and clinical practice) and for covariate/feature definitions.

Thanks for your help!