Combination Drug Dosing

Hello, could I get some help with simulating a combination (2 drugs) dosing regimen on a single subject?

I tried the following, but I’m getting an error:

subject1 = Subject(id=1, evs=[regimenA1,regimenB1])

Are multiple dosage forms supported under the Subject function?

Hi Donald,

Welcome to Pumas! Could you provide more details on exactly what you are trying to do for combination drug therapy? If you have two DosageRegimens as in your example you can do something like this.

julia> regimenA1 = DosageRegimen(100, time=0)
DosageRegimen(1×9 DataFrame
│ Row │ time    │ cmt   │ amt     │ evid │ ii      │ addl  │ rate    │ duration │ ss   │
│     │ Float64 │ Int64 │ Float64 │ Int8 │ Float64 │ Int64 │ Float64 │ Float64  │ Int8 │
├─────┼─────────┼───────┼─────────┼──────┼─────────┼───────┼─────────┼──────────┼──────┤
│ 1   │ 0.0     │ 1     │ 100.0   │ 1    │ 0.0     │ 0     │ 0.0     │ 0.0      │ 0    │)

julia> regimenB1 = DosageRegimen(50, time=0)
DosageRegimen(1×9 DataFrame
│ Row │ time    │ cmt   │ amt     │ evid │ ii      │ addl  │ rate    │ duration │ ss   │
│     │ Float64 │ Int64 │ Float64 │ Int8 │ Float64 │ Int64 │ Float64 │ Float64  │ Int8 │
├─────┼─────────┼───────┼─────────┼──────┼─────────┼───────┼─────────┼──────────┼──────┤
│ 1   │ 0.0     │ 1     │ 50.0    │ 1    │ 0.0     │ 0     │ 0.0     │ 0.0      │ 0    │)

julia> combregimen = DosageRegimen(regimenA1, regimenB1)
DosageRegimen(2×9 DataFrame
│ Row │ time    │ cmt   │ amt     │ evid │ ii      │ addl  │ rate    │ duration │ ss   │
│     │ Float64 │ Int64 │ Float64 │ Int8 │ Float64 │ Int64 │ Float64 │ Float64  │ Int8 │
├─────┼─────────┼───────┼─────────┼──────┼─────────┼───────┼─────────┼──────────┼──────┤
│ 1   │ 0.0     │ 1     │ 100.0   │ 1    │ 0.0     │ 0     │ 0.0     │ 0.0      │ 0    │
│ 2   │ 0.0     │ 1     │ 50.0    │ 1    │ 0.0     │ 0     │ 0.0     │ 0.0      │ 0    │)

julia> s1 = Subject(id=1, evs=combregimen, cvs=(drug=["A","B"],))
Subject
  ID: 1
  Events: 2
  Covariates: (drug = ["A", "B"],)


julia> DataFrame(s1)
2×12 DataFrame
│ Row │ id     │ amt     │ dose    │ tad     │ time    │ evid │ cmt   │ ss   │ ii      │ base_time │ rate_dir │ drug   │
│     │ String │ Float64 │ Float64 │ Float64 │ Float64 │ Int8 │ Int64 │ Int8 │ Float64 │ Float64   │ Int8     │ String │
├─────┼────────┼─────────┼─────────┼─────────┼─────────┼──────┼───────┼──────┼─────────┼───────────┼──────────┼────────┤
│ 1   │ 1      │ 100.0   │ 100.0   │ 0.0     │ 0.0     │ 1    │ 1     │ 0    │ 0.0     │ 0.0       │ 1        │ A      │
│ 2   │ 1      │ 50.0    │ 100.0   │ 0.0     │ 0.0     │ 1    │ 1     │ 0    │ 0.0     │ 0.0       │ 1        │ B      │

Essentially, the DosageRegimen can not only create individual regimens, but also can combine multiple DosageRegimens together as shown above. To differentiate that the first drug was A and the second was B, I just added a cvs (covariates) to the Subject.
Note: Since we are dealing with only one covariate, notice the trailing , after the specification of the covariate.

Hope this helps.

Vijay