using DataFramesMeta
using ReadStatTables
using Statistics
using Dates
include("con-fun.jl")
find_next_nominal_time (generic function with 1 method)
Mohammed Shas
path = joinpath(@__DIR__, "..", "Datasets") |> normpath
pc = @chain readstat(joinpath(path, "pc1.xpt")) DataFrame convert_blanks_to_missing
ex = @chain readstat(joinpath(path, "ex1.xpt")) DataFrame convert_blanks_to_missing
first(ex, 5)
Row | STUDYID | DOMAIN | USUBJID | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | VISITNUM | VISIT | VISITDY | EXSTDTC | EXSTDY |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String15 | Float64 | String15 | Float64 | String3 | String15 | String7 | String15 | Float64 | String15 | Float64 | String31 | Float64 | |
1 | DAPA01 | EX | DAPA01-001 | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2.0 | Period 1 Day 1 | 1.0 | 2022-06-10 09:30:00 | 1.0 |
2 | DAPA01 | EX | DAPA01-001 | 2.0 | Dapagliflozin | 5.0 | mg | Capsule | ONCE | Oral | 3.0 | Period 2 Day 1 | 8.0 | 2022-06-17 09:30:00 | 8.0 |
3 | DAPA01 | EX | DAPA01-001 | 3.0 | Dapagliflozin | 10.0 | mg | Capsule | ONCE | Oral | 4.0 | Period 3 Day 1 | 15.0 | 2022-06-25 09:30:00 | 15.0 |
4 | DAPA01 | EX | DAPA01-001 | 4.0 | Dapagliflozin | 25.0 | mg | Capsule | ONCE | Oral | 5.0 | Period 4 Day 1 | 22.0 | 2022-07-02 11:30:00 | 22.0 |
5 | DAPA01 | EX | DAPA01-002 | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2.0 | Period 1 Day 1 | 1.0 | 2022-03-12 09:08:00 | 1.0 |
param_lookup = DataFrame(
PCTESTCD = ["DAPA", "DOSE"],
PARAMCD = ["DAPA", "DOSE"],
PARAM = ["Pharmacokinetic concentration of Dapagliflozin", "Dapagliflozin Dose"],
PARAMN = [1, 2]
)
dose_freq_lookup = DataFrame(
CDISC_VALUE = ["QD", "BID", "TID", "QID"],
HOURS_BETWEEN_DOSES = [24, 12, 8, 6]
)
Row | CDISC_VALUE | HOURS_BETWEEN_DOSES |
---|---|---|
String | Int64 | |
1 | QD | 24 |
2 | BID | 12 |
3 | TID | 8 |
4 | QID | 6 |
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String15 | Float64 | String7 | String15 | String15 | String7 | String15 | Float64 | String7 | String7 | String15 | String15 | Float64 | String31 | Float64 | String31 | Float64 | Float64? | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 |
2 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 |
3 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 |
4 | DAPA01 | PC | DAPA01-001 | 4.0 | DAPA | Dapagliflozin | 109.353 | ng/mL | 109.353 | 109.353 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:00:00 | 1.0 | 0.5-HR POSTDOSE | 0.5 | 1.0 |
5 | DAPA01 | PC | DAPA01-001 | 5.0 | DAPA | Dapagliflozin | 66.4814 | ng/mL | 66.4814 | 66.4814 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:15:00 | 1.0 | 0.75-HR POSTDOSE | 0.75 | 1.0 |
pc_prep = @chain pc begin
@rtransform :ADTM = parse_datetime_column(:PCDTC)
@rtransform :ADT = isnothing(:ADTM) || ismissing(:ADTM) ? missing : Date(:ADTM)
@rtransform :ATM = isnothing(:ADTM) || ismissing(:ADTM) ? missing : Time(:ADTM)
@rtransform begin
:EVID = 0
:DRUG = :PCTEST
:NFRLT = :VISITDY == 1 ? 0 : 24 * :VISITDY
end
end
first(pc_prep, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String15 | Float64 | String7 | String15 | String15 | String7 | String15 | Float64 | String7 | String7 | String15 | String15 | Float64 | String31 | Float64 | String31 | Float64 | Float64? | DateTime | Date | Time | Int64 | String15 | Real | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 |
2 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 |
3 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 |
4 | DAPA01 | PC | DAPA01-001 | 4.0 | DAPA | Dapagliflozin | 109.353 | ng/mL | 109.353 | 109.353 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:00:00 | 1.0 | 0.5-HR POSTDOSE | 0.5 | 1.0 | 2022-06-10T10:00:00 | 2022-06-10 | 10:00:00 | 0 | Dapagliflozin | 0 |
5 | DAPA01 | PC | DAPA01-001 | 5.0 | DAPA | Dapagliflozin | 66.4814 | ng/mL | 66.4814 | 66.4814 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:15:00 | 1.0 | 0.75-HR POSTDOSE | 0.75 | 1.0 | 2022-06-10T10:15:00 | 2022-06-10 | 10:15:00 | 0 | Dapagliflozin | 0 |
ex_prep = @chain ex begin
@rsubset :EXDOSE > 0
@rtransform :EXENDTC = :EXSTDTC
@rtransform :ASTDTM = parse_datetime_column(:EXSTDTC)
@rtransform @passmissing :AENDTM = parse_datetime_column(:EXENDTC)
@rtransform :ASTDT = Date(:ASTDTM)
@rtransform @passmissing :AENDT = Date(:AENDTM)
@rtransform :AENDTM = ismissing(:AENDTM) ? :ASTDTM : :AENDTM
@rtransform :ADTM = :ASTDTM
@rtransform begin
:EVID = 1
:NFRLT = :VISITDY == 1 ? 0 : 24 * :VISITDY
end
end
first(ex_prep, 5)
Row | STUDYID | DOMAIN | USUBJID | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | VISITNUM | VISIT | VISITDY | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | ADTM | EVID | NFRLT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String15 | Float64 | String15 | Float64 | String3 | String15 | String7 | String15 | Float64 | String15 | Float64 | String31 | Float64 | String31 | DateTime | DateTime | Date | Date | DateTime | Int64 | Real | |
1 | DAPA01 | EX | DAPA01-001 | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2.0 | Period 1 Day 1 | 1.0 | 2022-06-10 09:30:00 | 1.0 | 2022-06-10 09:30:00 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 2022-06-10 | 2022-06-10 | 2022-06-10T09:30:00 | 1 | 0 |
2 | DAPA01 | EX | DAPA01-001 | 2.0 | Dapagliflozin | 5.0 | mg | Capsule | ONCE | Oral | 3.0 | Period 2 Day 1 | 8.0 | 2022-06-17 09:30:00 | 8.0 | 2022-06-17 09:30:00 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | 2022-06-17 | 2022-06-17 | 2022-06-17T09:30:00 | 1 | 192.0 |
3 | DAPA01 | EX | DAPA01-001 | 3.0 | Dapagliflozin | 10.0 | mg | Capsule | ONCE | Oral | 4.0 | Period 3 Day 1 | 15.0 | 2022-06-25 09:30:00 | 15.0 | 2022-06-25 09:30:00 | 2022-06-25T09:30:00 | 2022-06-25T09:30:00 | 2022-06-25 | 2022-06-25 | 2022-06-25T09:30:00 | 1 | 360.0 |
4 | DAPA01 | EX | DAPA01-001 | 4.0 | Dapagliflozin | 25.0 | mg | Capsule | ONCE | Oral | 5.0 | Period 4 Day 1 | 22.0 | 2022-07-02 11:30:00 | 22.0 | 2022-07-02 11:30:00 | 2022-07-02T11:30:00 | 2022-07-02T11:30:00 | 2022-07-02 | 2022-07-02 | 2022-07-02T11:30:00 | 1 | 528.0 |
5 | DAPA01 | EX | DAPA01-002 | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2.0 | Period 1 Day 1 | 1.0 | 2022-03-12 09:08:00 | 1.0 | 2022-03-12 09:08:00 | 2022-03-12T09:08:00 | 2022-03-12T09:08:00 | 2022-03-12 | 2022-03-12 | 2022-03-12T09:08:00 | 1 | 0 |
ex_exp = @chain ex_prep begin
leftjoin(dose_freq_lookup, on = [:EXDOSFRQ => :CDISC_VALUE])
end
first(ex_exp, 5)
Row | STUDYID | DOMAIN | USUBJID | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | VISITNUM | VISIT | VISITDY | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | ADTM | EVID | NFRLT | HOURS_BETWEEN_DOSES |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String15 | Float64 | String15 | Float64 | String3 | String15 | String7 | String15 | Float64 | String15 | Float64 | String31 | Float64 | String31 | DateTime | DateTime | Date | Date | DateTime | Int64 | Real | Int64? | |
1 | DAPA01 | EX | DAPA01-001 | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2.0 | Period 1 Day 1 | 1.0 | 2022-06-10 09:30:00 | 1.0 | 2022-06-10 09:30:00 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 2022-06-10 | 2022-06-10 | 2022-06-10T09:30:00 | 1 | 0 | missing |
2 | DAPA01 | EX | DAPA01-001 | 2.0 | Dapagliflozin | 5.0 | mg | Capsule | ONCE | Oral | 3.0 | Period 2 Day 1 | 8.0 | 2022-06-17 09:30:00 | 8.0 | 2022-06-17 09:30:00 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | 2022-06-17 | 2022-06-17 | 2022-06-17T09:30:00 | 1 | 192.0 | missing |
3 | DAPA01 | EX | DAPA01-001 | 3.0 | Dapagliflozin | 10.0 | mg | Capsule | ONCE | Oral | 4.0 | Period 3 Day 1 | 15.0 | 2022-06-25 09:30:00 | 15.0 | 2022-06-25 09:30:00 | 2022-06-25T09:30:00 | 2022-06-25T09:30:00 | 2022-06-25 | 2022-06-25 | 2022-06-25T09:30:00 | 1 | 360.0 | missing |
4 | DAPA01 | EX | DAPA01-001 | 4.0 | Dapagliflozin | 25.0 | mg | Capsule | ONCE | Oral | 5.0 | Period 4 Day 1 | 22.0 | 2022-07-02 11:30:00 | 22.0 | 2022-07-02 11:30:00 | 2022-07-02T11:30:00 | 2022-07-02T11:30:00 | 2022-07-02 | 2022-07-02 | 2022-07-02T11:30:00 | 1 | 528.0 | missing |
5 | DAPA01 | EX | DAPA01-002 | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2.0 | Period 1 Day 1 | 1.0 | 2022-03-12 09:08:00 | 1.0 | 2022-03-12 09:08:00 | 2022-03-12T09:08:00 | 2022-03-12T09:08:00 | 2022-03-12 | 2022-03-12 | 2022-03-12T09:08:00 | 1 | 0 | missing |
ex_exp1 = @chain ex_exp begin
@rtransform :AVISIT = "Day $(:VISIT)"
@rtransform :DRUG = :EXTRT
@rtransform :ADT = Date(:ADTM)
@rtransform :ASTTM = Time(:ASTDTM)
@rtransform :AENTM = Time(:AENDTM)
# @rtransform :ADY = Dates.value(:ADT - :TRTSDT) + 1
end
first(ex_exp1, 5)
Row | STUDYID | DOMAIN | USUBJID | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | VISITNUM | VISIT | VISITDY | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | ADTM | EVID | NFRLT | HOURS_BETWEEN_DOSES | AVISIT | DRUG | ADT | ASTTM | AENTM |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String15 | Float64 | String15 | Float64 | String3 | String15 | String7 | String15 | Float64 | String15 | Float64 | String31 | Float64 | String31 | DateTime | DateTime | Date | Date | DateTime | Int64 | Real | Int64? | String | String15 | Date | Time | Time | |
1 | DAPA01 | EX | DAPA01-001 | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2.0 | Period 1 Day 1 | 1.0 | 2022-06-10 09:30:00 | 1.0 | 2022-06-10 09:30:00 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 2022-06-10 | 2022-06-10 | 2022-06-10T09:30:00 | 1 | 0 | missing | Day Period 1 Day 1 | Dapagliflozin | 2022-06-10 | 09:30:00 | 09:30:00 |
2 | DAPA01 | EX | DAPA01-001 | 2.0 | Dapagliflozin | 5.0 | mg | Capsule | ONCE | Oral | 3.0 | Period 2 Day 1 | 8.0 | 2022-06-17 09:30:00 | 8.0 | 2022-06-17 09:30:00 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | 2022-06-17 | 2022-06-17 | 2022-06-17T09:30:00 | 1 | 192.0 | missing | Day Period 2 Day 1 | Dapagliflozin | 2022-06-17 | 09:30:00 | 09:30:00 |
3 | DAPA01 | EX | DAPA01-001 | 3.0 | Dapagliflozin | 10.0 | mg | Capsule | ONCE | Oral | 4.0 | Period 3 Day 1 | 15.0 | 2022-06-25 09:30:00 | 15.0 | 2022-06-25 09:30:00 | 2022-06-25T09:30:00 | 2022-06-25T09:30:00 | 2022-06-25 | 2022-06-25 | 2022-06-25T09:30:00 | 1 | 360.0 | missing | Day Period 3 Day 1 | Dapagliflozin | 2022-06-25 | 09:30:00 | 09:30:00 |
4 | DAPA01 | EX | DAPA01-001 | 4.0 | Dapagliflozin | 25.0 | mg | Capsule | ONCE | Oral | 5.0 | Period 4 Day 1 | 22.0 | 2022-07-02 11:30:00 | 22.0 | 2022-07-02 11:30:00 | 2022-07-02T11:30:00 | 2022-07-02T11:30:00 | 2022-07-02 | 2022-07-02 | 2022-07-02T11:30:00 | 1 | 528.0 | missing | Day Period 4 Day 1 | Dapagliflozin | 2022-07-02 | 11:30:00 | 11:30:00 |
5 | DAPA01 | EX | DAPA01-002 | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2.0 | Period 1 Day 1 | 1.0 | 2022-03-12 09:08:00 | 1.0 | 2022-03-12 09:08:00 | 2022-03-12T09:08:00 | 2022-03-12T09:08:00 | 2022-03-12 | 2022-03-12 | 2022-03-12T09:08:00 | 1 | 0 | missing | Day Period 1 Day 1 | Dapagliflozin | 2022-03-12 | 09:08:00 | 09:08:00 |
adpc_first_dose = @chain ex_exp1 begin
@rsubset :EXDOSE > 0 && !ismissing(:ASTDTM)
combine(groupby(_,[:STUDYID, :USUBJID, :DRUG]),:ASTDTM => (x->minimum(x)) => :FANLDTM)
leftjoin(pc_prep,_,on = [:STUDYID, :USUBJID, :DRUG], makeunique=true)
@rsubset !ismissing(:FANLDTM)
@rtransform :AVISITN = (:NFRLT ÷ 24) + 1
@rtransform :AVISIT = "Day $(:VISIT)"
end
first(adpc_first_dose, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String15 | Float64 | String7 | String15 | String15 | String7 | String15 | Float64 | String7 | String7 | String15 | String15 | Float64 | String31 | Float64 | String31 | Float64 | Float64? | DateTime | Date | Time | Int64 | String15 | Real | DateTime? | Real | String | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 |
2 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 |
3 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 |
4 | DAPA01 | PC | DAPA01-001 | 4.0 | DAPA | Dapagliflozin | 109.353 | ng/mL | 109.353 | 109.353 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:00:00 | 1.0 | 0.5-HR POSTDOSE | 0.5 | 1.0 | 2022-06-10T10:00:00 | 2022-06-10 | 10:00:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 |
5 | DAPA01 | PC | DAPA01-001 | 5.0 | DAPA | Dapagliflozin | 66.4814 | ng/mL | 66.4814 | 66.4814 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:15:00 | 1.0 | 0.75-HR POSTDOSE | 0.75 | 1.0 | 2022-06-10T10:15:00 | 2022-06-10 | 10:15:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 |
adpc_nom_next = @chain adpc_first_dose begin
find_previous_dose(ex_exp1)
find_next_dose(ex_exp1)
find_previous_nominal_time(ex_exp1)
find_next_nominal_time(ex_exp1)
end
first(adpc_nom_next, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT | AVISIT_prev | ADTM_prev | AENDTM_prev | EXDOSE_prev | EXDOSE_next | AVISIT_next | ADTM_next | AENDTM_next | NFRLT_prev | NFRLT_next |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String | Float64 | String7 | String15 | String15 | String7 | String15 | Float64 | String7 | String7 | String15 | String15 | Float64 | String31 | Float64 | String31 | Float64 | Float64? | DateTime | Date | Time | Int64 | String15 | Real | DateTime? | Real | String | String? | DateTime? | DateTime? | Float64? | Float64? | String? | DateTime? | DateTime? | Float64? | Float64 | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 |
2 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 |
3 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 |
4 | DAPA01 | PC | DAPA01-001 | 4.0 | DAPA | Dapagliflozin | 109.353 | ng/mL | 109.353 | 109.353 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:00:00 | 1.0 | 0.5-HR POSTDOSE | 0.5 | 1.0 | 2022-06-10T10:00:00 | 2022-06-10 | 10:00:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 |
5 | DAPA01 | PC | DAPA01-001 | 5.0 | DAPA | Dapagliflozin | 66.4814 | ng/mL | 66.4814 | 66.4814 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:15:00 | 1.0 | 0.75-HR POSTDOSE | 0.75 | 1.0 | 2022-06-10T10:15:00 | 2022-06-10 | 10:15:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 |
adpc_arrlt = vcat(adpc_nom_next, ex_exp1,cols = :union)
adpc_arrlt.USUBJID = String.(adpc_arrlt.USUBJID)
adpc_arrlt.DRUG = String.(adpc_arrlt.DRUG)
adpc_arrlt = @chain adpc_arrlt begin
@groupby([:USUBJID, :DRUG])
@transform(
:maxdate = begin
ev0_idx = (:EVID .== 0) .&& .!ismissing.(:ADT)
isempty(:ADT[ev0_idx]) ? missing : maximum(:ADT[ev0_idx])
end,
:FANLDTM = minimum(skipmissing(:FANLDTM)),
:min_NFRLT = minimum(skipmissing(:NFRLT_prev))
)
@rsubset(:ADT <= :maxdate || ismissing(:maxdate))
@rtransform :AFRLT = ismissing(:FANLDTM) || ismissing(:ADTM) ?
missing : Dates.value(:ADTM - :FANLDTM) / 3600000
@rtransform :ARRLT = ismissing(:ADTM_prev) || ismissing(:ADTM) ?
missing : Dates.value(:ADTM - :ADTM_prev) / 3600000
@rtransform :AXRLT = ismissing(:ADTM_next) || ismissing(:ADTM) ?
missing : Dates.value(:ADTM - :ADTM_next) / 3600000
@rtransform :ARRLT = (:EVID == 1) ? 0 : ismissing(:ARRLT) ? :AXRLT : :ARRLT
@rtransform :PCRFTDTM = (:EVID == 1) ? :ADTM :
ismissing(:ADTM_prev) ? :ADTM_next : :ADTM_prev
@rtransform @passmissing begin
:FANLDT = Date(:FANLDTM)
:FANLTM = Time(:FANLDTM)
:PCRFTDT = Date(:PCRFTDTM)
:PCRFTTM = Time(:PCRFTDTM)
end
end
first(adpc_arrlt, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT | AVISIT_prev | ADTM_prev | AENDTM_prev | EXDOSE_prev | EXDOSE_next | AVISIT_next | ADTM_next | AENDTM_next | NFRLT_prev | NFRLT_next | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | maxdate | min_NFRLT | AFRLT | ARRLT | AXRLT | PCRFTDTM | FANLDT | FANLTM | PCRFTDT | PCRFTTM |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String | Float64? | String7? | String15? | String15? | String7? | String15? | Float64? | String7? | String7? | String15? | String15 | Float64 | String31? | Float64? | String31? | Float64? | Float64? | DateTime | Date | Time? | Int64 | String | Real | DateTime | Real? | String | String? | DateTime? | DateTime? | Float64? | Float64? | String? | DateTime? | DateTime? | Float64? | Float64? | Float64? | String15? | Float64? | String3? | String15? | String7? | String15? | String31? | Float64? | String31? | DateTime? | DateTime? | Date? | Date? | Int64? | Time? | Time? | Date | Float64 | Float64 | Real | Float64? | DateTime | Date | Time | Date | Time | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 |
2 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.05 | 0.05 | -167.95 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 |
3 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.35 | 0.35 | -167.65 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 |
4 | DAPA01 | PC | DAPA01-001 | 4.0 | DAPA | Dapagliflozin | 109.353 | ng/mL | 109.353 | 109.353 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:00:00 | 1.0 | 0.5-HR POSTDOSE | 0.5 | 1.0 | 2022-06-10T10:00:00 | 2022-06-10 | 10:00:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.5 | 0.5 | -167.5 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 |
5 | DAPA01 | PC | DAPA01-001 | 5.0 | DAPA | Dapagliflozin | 66.4814 | ng/mL | 66.4814 | 66.4814 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:15:00 | 1.0 | 0.75-HR POSTDOSE | 0.75 | 1.0 | 2022-06-10T10:15:00 | 2022-06-10 | 10:15:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.75 | 0.75 | -167.25 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 |
adpc_nrrlt = @chain adpc_arrlt begin
@rtransform begin
:NRRLT = :EVID == 1 ? 0.0 :
ismissing(:NFRLT_prev) ? :NFRLT - :min_NFRLT :
:NFRLT - :NFRLT_prev
:NXRLT = :EVID == 1 ? 0.0 :
:NFRLT - :NFRLT_next
end
end
first(adpc_nrrlt, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT | AVISIT_prev | ADTM_prev | AENDTM_prev | EXDOSE_prev | EXDOSE_next | AVISIT_next | ADTM_next | AENDTM_next | NFRLT_prev | NFRLT_next | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | maxdate | min_NFRLT | AFRLT | ARRLT | AXRLT | PCRFTDTM | FANLDT | FANLTM | PCRFTDT | PCRFTTM | NRRLT | NXRLT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String | Float64? | String7? | String15? | String15? | String7? | String15? | Float64? | String7? | String7? | String15? | String15 | Float64 | String31? | Float64? | String31? | Float64? | Float64? | DateTime | Date | Time? | Int64 | String | Real | DateTime | Real? | String | String? | DateTime? | DateTime? | Float64? | Float64? | String? | DateTime? | DateTime? | Float64? | Float64? | Float64? | String15? | Float64? | String3? | String15? | String7? | String15? | String31? | Float64? | String31? | DateTime? | DateTime? | Date? | Date? | Int64? | Time? | Time? | Date | Float64 | Float64 | Real | Float64? | DateTime | Date | Time | Date | Time | Float64 | Float64 | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 |
2 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.05 | 0.05 | -167.95 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 |
3 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.35 | 0.35 | -167.65 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 |
4 | DAPA01 | PC | DAPA01-001 | 4.0 | DAPA | Dapagliflozin | 109.353 | ng/mL | 109.353 | 109.353 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:00:00 | 1.0 | 0.5-HR POSTDOSE | 0.5 | 1.0 | 2022-06-10T10:00:00 | 2022-06-10 | 10:00:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.5 | 0.5 | -167.5 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 |
5 | DAPA01 | PC | DAPA01-001 | 5.0 | DAPA | Dapagliflozin | 66.4814 | ng/mL | 66.4814 | 66.4814 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:15:00 | 1.0 | 0.75-HR POSTDOSE | 0.75 | 1.0 | 2022-06-10T10:15:00 | 2022-06-10 | 10:15:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.75 | 0.75 | -167.25 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 |
adpc_aval = @chain adpc_nrrlt begin
@rtransform :PARCAT1 = :PCSPEC
@rtransform :ATPTN = (:EVID == 1) ? 0 : :PCTPTNUM
@rtransform :ATPT = (:EVID == 1) ? "Dose" : :PCTPT
@rtransform :ATPTREF = (:EVID == 1) ? :AVISIT : (ismissing(:AVISIT_prev) ? :AVISIT_next : :AVISIT_prev)
@rtransform :ABLFL = (:ATPT == "Pre-dose") ? "Y" : missing
@rtransform :BASETYPE = string(:ATPTREF, " Baseline")
@rtransform :DOSEA = (:EVID == 1) ? :EXDOSE : (ismissing(:EXDOSE_prev) ? :EXDOSE_next : :EXDOSE_prev)
@rtransform :DOSEU = "mg"
@rtransform :FRLTU = "h"
@rtransform :RRLTU = "h"
@rtransform :PARAMCD = coalesce(:PCTESTCD, "DOSE")
@rtransform :ALLOQ = :PCLLOQ
@rtransform :AVAL =
(:EVID == 1) ? :EXDOSE :
((:PCSTRESC == "<BLQ" && !ismissing(:NFRLT) && :NFRLT == 0) ? 0 :
((:PCSTRESC == "<BLQ" && !ismissing(:NFRLT) && :NFRLT > 0) ?
(ismissing(:ALLOQ) ? missing :
let m = match(r"^([\d.]+)", string(:ALLOQ))
m === nothing ? missing : 0.5 * parse(Float64, m.captures[1])
end) :
(!ismissing(:PCSTRESN) ? :PCSTRESN : missing)))
@rtransform :AVALU = (:EVID == 1) ? :EXDOSU : :PCSTRESU
@rtransform :AVALCAT1 = (!ismissing(:PCSTRESC) && :PCSTRESC == "<BLQ") ? "<BLQ" :
(ismissing(:AVAL) ? missing : string(round(:AVAL, sigdigits=3)))
@rtransform :SRCDOM = :DOMAIN
@rtransform :SRCVAR = "SEQ"
@rtransform :SRCSEQ = coalesce(:PCSEQ, :EXSEQ)
end
first(adpc_aval, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT | AVISIT_prev | ADTM_prev | AENDTM_prev | EXDOSE_prev | EXDOSE_next | AVISIT_next | ADTM_next | AENDTM_next | NFRLT_prev | NFRLT_next | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | maxdate | min_NFRLT | AFRLT | ARRLT | AXRLT | PCRFTDTM | FANLDT | FANLTM | PCRFTDT | PCRFTTM | NRRLT | NXRLT | PARCAT1 | ATPTN | ATPT | ATPTREF | ABLFL | BASETYPE | DOSEA | DOSEU | FRLTU | RRLTU | PARAMCD | ALLOQ | AVAL | AVALU | AVALCAT1 | SRCDOM | SRCVAR | SRCSEQ |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String | Float64? | String7? | String15? | String15? | String7? | String15? | Float64? | String7? | String7? | String15? | String15 | Float64 | String31? | Float64? | String31? | Float64? | Float64? | DateTime | Date | Time? | Int64 | String | Real | DateTime | Real? | String | String? | DateTime? | DateTime? | Float64? | Float64? | String? | DateTime? | DateTime? | Float64? | Float64? | Float64? | String15? | Float64? | String3? | String15? | String7? | String15? | String31? | Float64? | String31? | DateTime? | DateTime? | Date? | Date? | Int64? | Time? | Time? | Date | Float64 | Float64 | Real | Float64? | DateTime | Date | Time | Date | Time | Float64 | Float64 | String7? | Real | Abstract… | String | Missing | String | Float64 | String | String | String | Abstract… | String15? | Float64 | InlineSt… | String | String3 | String | Float64 | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.0 | 0-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 |
2 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.05 | 0.05 | -167.95 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.05 | 0.05-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 141.892 | ng/mL | 142.0 | PC | SEQ | 2.0 |
3 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.35 | 0.35 | -167.65 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.35 | 0.35-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 116.228 | ng/mL | 116.0 | PC | SEQ | 3.0 |
4 | DAPA01 | PC | DAPA01-001 | 4.0 | DAPA | Dapagliflozin | 109.353 | ng/mL | 109.353 | 109.353 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:00:00 | 1.0 | 0.5-HR POSTDOSE | 0.5 | 1.0 | 2022-06-10T10:00:00 | 2022-06-10 | 10:00:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.5 | 0.5 | -167.5 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.5 | 0.5-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 109.353 | ng/mL | 109.0 | PC | SEQ | 4.0 |
5 | DAPA01 | PC | DAPA01-001 | 5.0 | DAPA | Dapagliflozin | 66.4814 | ng/mL | 66.4814 | 66.4814 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:15:00 | 1.0 | 0.75-HR POSTDOSE | 0.75 | 1.0 | 2022-06-10T10:15:00 | 2022-06-10 | 10:15:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.75 | 0.75 | -167.25 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.75 | 0.75-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 66.4814 | ng/mL | 66.5 | PC | SEQ | 5.0 |
dtype = @chain adpc_aval begin
@select Not([:PCRFTDT, :PCRFTTM])
@rtransform(
:ABLFL = "Y",
:ATPTREF = :AVISIT_next,
:NRRLT = :NXRLT,
:PCRFTDTM = :ADTM_next,
:DOSEA = :EXDOSE_next,
:BASETYPE = string(:AVISIT_next, " Baseline"),
:ATPT = "Pre-dose",
:ATPTN = -0.5,
:DTYPE = "COPY"
)
@rtransform begin
:PCRFTDT = ismissing(:PCRFTDTM) ? missing : Date(:PCRFTDTM)
:PCRFTTM = ismissing(:PCRFTDTM) ? missing : Dates.format(:PCRFTDTM, "HH:MM:SS")
end
end
first(dtype, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT | AVISIT_prev | ADTM_prev | AENDTM_prev | EXDOSE_prev | EXDOSE_next | AVISIT_next | ADTM_next | AENDTM_next | NFRLT_prev | NFRLT_next | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | maxdate | min_NFRLT | AFRLT | ARRLT | AXRLT | PCRFTDTM | FANLDT | FANLTM | NRRLT | NXRLT | PARCAT1 | ATPTN | ATPT | ATPTREF | ABLFL | BASETYPE | DOSEA | DOSEU | FRLTU | RRLTU | PARAMCD | ALLOQ | AVAL | AVALU | AVALCAT1 | SRCDOM | SRCVAR | SRCSEQ | DTYPE | PCRFTDT | PCRFTTM |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String | Float64? | String7? | String15? | String15? | String7? | String15? | Float64? | String7? | String7? | String15? | String15 | Float64 | String31? | Float64? | String31? | Float64? | Float64? | DateTime | Date | Time? | Int64 | String | Real | DateTime | Real? | String | String? | DateTime? | DateTime? | Float64? | Float64? | String? | DateTime? | DateTime? | Float64? | Float64? | Float64? | String15? | Float64? | String3? | String15? | String7? | String15? | String31? | Float64? | String31? | DateTime? | DateTime? | Date? | Date? | Int64? | Time? | Time? | Date | Float64 | Float64 | Real | Float64? | DateTime? | Date | Time | Float64 | Float64 | String7? | Float64 | String | String? | String | String | Float64? | String | String | String | Abstract… | String15? | Float64 | InlineSt… | String | String3 | String | Float64 | String | Date? | String? | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 1 Day 1 | Y | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | COPY | 2022-06-10 | 09:30:00 |
2 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.05 | 0.05 | -167.95 | 2022-06-17T09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 2 Day 1 | Y | Day Period 2 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 141.892 | ng/mL | 142.0 | PC | SEQ | 2.0 | COPY | 2022-06-17 | 09:30:00 |
3 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.35 | 0.35 | -167.65 | 2022-06-17T09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 2 Day 1 | Y | Day Period 2 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 116.228 | ng/mL | 116.0 | PC | SEQ | 3.0 | COPY | 2022-06-17 | 09:30:00 |
4 | DAPA01 | PC | DAPA01-001 | 4.0 | DAPA | Dapagliflozin | 109.353 | ng/mL | 109.353 | 109.353 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:00:00 | 1.0 | 0.5-HR POSTDOSE | 0.5 | 1.0 | 2022-06-10T10:00:00 | 2022-06-10 | 10:00:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.5 | 0.5 | -167.5 | 2022-06-17T09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 2 Day 1 | Y | Day Period 2 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 109.353 | ng/mL | 109.0 | PC | SEQ | 4.0 | COPY | 2022-06-17 | 09:30:00 |
5 | DAPA01 | PC | DAPA01-001 | 5.0 | DAPA | Dapagliflozin | 66.4814 | ng/mL | 66.4814 | 66.4814 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 10:15:00 | 1.0 | 0.75-HR POSTDOSE | 0.75 | 1.0 | 2022-06-10T10:15:00 | 2022-06-10 | 10:15:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.75 | 0.75 | -167.25 | 2022-06-17T09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 2 Day 1 | Y | Day Period 2 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 66.4814 | ng/mL | 66.5 | PC | SEQ | 5.0 | COPY | 2022-06-17 | 09:30:00 |
adpc_dtype = @chain vcat(adpc_aval, dtype; cols = :union) begin
sort!([:STUDYID, :USUBJID, :BASETYPE, :ADTM, :NFRLT])
@rtransform :MRRLT = (!ismissing(:ARRLT) && :ARRLT < 0) ? 0 : :ARRLT
@rtransform :ANL01FL = "Y"
@rtransform :ANL02FL = ismissing(:DTYPE) ? "Y" : missing
end
first(adpc_dtype, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT | AVISIT_prev | ADTM_prev | AENDTM_prev | EXDOSE_prev | EXDOSE_next | AVISIT_next | ADTM_next | AENDTM_next | NFRLT_prev | NFRLT_next | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | maxdate | min_NFRLT | AFRLT | ARRLT | AXRLT | PCRFTDTM | FANLDT | FANLTM | PCRFTDT | PCRFTTM | NRRLT | NXRLT | PARCAT1 | ATPTN | ATPT | ATPTREF | ABLFL | BASETYPE | DOSEA | DOSEU | FRLTU | RRLTU | PARAMCD | ALLOQ | AVAL | AVALU | AVALCAT1 | SRCDOM | SRCVAR | SRCSEQ | DTYPE | MRRLT | ANL01FL | ANL02FL |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String | Float64? | String7? | String15? | String15? | String7? | String15? | Float64? | String7? | String7? | String15? | String15 | Float64 | String31? | Float64? | String31? | Float64? | Float64? | DateTime | Date | Time? | Int64 | String | Real | DateTime | Real? | String | String? | DateTime? | DateTime? | Float64? | Float64? | String? | DateTime? | DateTime? | Float64? | Float64? | Float64? | String15? | Float64? | String3? | String15? | String7? | String15? | String31? | Float64? | String31? | DateTime? | DateTime? | Date? | Date? | Int64? | Time? | Time? | Date | Float64 | Float64 | Real | Float64? | DateTime? | Date | Time | Date? | Any | Float64 | Float64 | String7? | Real | Abstract… | String? | String? | String | Float64? | String | String | String | Abstract… | String15? | Float64 | InlineSt… | String | String3 | String | Float64 | String? | Real | String | String? | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.0 | 0-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | missing | 0.0 | Y | Y |
2 | DAPA01 | EX | DAPA01-001 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | Period 1 Day 1 | 2.0 | missing | missing | missing | missing | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | missing | 1 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | missing | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2022-06-10 09:30:00 | 1.0 | 2022-06-10 09:30:00 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 2022-06-10 | 2022-06-10 | missing | 09:30:00 | 09:30:00 | 2022-07-03 | 0.0 | 0.0 | 0 | missing | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | missing | 0 | Dose | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DOSE | missing | 5.0 | mg | 5.0 | EX | SEQ | 1.0 | missing | 0 | Y | Y |
3 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 1 Day 1 | Y | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | COPY | 0.0 | Y | missing |
4 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.05 | 0.05 | -167.95 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.05 | 0.05-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 141.892 | ng/mL | 142.0 | PC | SEQ | 2.0 | missing | 0.05 | Y | Y |
5 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.35 | 0.35 | -167.65 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.35 | 0.35-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 116.228 | ng/mL | 116.0 | PC | SEQ | 3.0 | missing | 0.35 | Y | Y |
adpc_base = @chain adpc_dtype begin
groupby([:STUDYID, :USUBJID, :PARAMCD, :PARCAT1, :BASETYPE])
@transform :BASE = begin
base_vals = :AVAL[ .!ismissing.(:ABLFL) .& (:ABLFL .== "Y") ]
isempty(base_vals) ? missing : base_vals[1]
end
end
first(adpc_base, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT | AVISIT_prev | ADTM_prev | AENDTM_prev | EXDOSE_prev | EXDOSE_next | AVISIT_next | ADTM_next | AENDTM_next | NFRLT_prev | NFRLT_next | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | maxdate | min_NFRLT | AFRLT | ARRLT | AXRLT | PCRFTDTM | FANLDT | FANLTM | PCRFTDT | PCRFTTM | NRRLT | NXRLT | PARCAT1 | ATPTN | ATPT | ATPTREF | ABLFL | BASETYPE | DOSEA | DOSEU | FRLTU | RRLTU | PARAMCD | ALLOQ | AVAL | AVALU | AVALCAT1 | SRCDOM | SRCVAR | SRCSEQ | DTYPE | MRRLT | ANL01FL | ANL02FL | BASE |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String | Float64? | String7? | String15? | String15? | String7? | String15? | Float64? | String7? | String7? | String15? | String15 | Float64 | String31? | Float64? | String31? | Float64? | Float64? | DateTime | Date | Time? | Int64 | String | Real | DateTime | Real? | String | String? | DateTime? | DateTime? | Float64? | Float64? | String? | DateTime? | DateTime? | Float64? | Float64? | Float64? | String15? | Float64? | String3? | String15? | String7? | String15? | String31? | Float64? | String31? | DateTime? | DateTime? | Date? | Date? | Int64? | Time? | Time? | Date | Float64 | Float64 | Real | Float64? | DateTime? | Date | Time | Date? | Any | Float64 | Float64 | String7? | Real | Abstract… | String? | String? | String | Float64? | String | String | String | Abstract… | String15? | Float64 | InlineSt… | String | String3 | String | Float64 | String? | Real | String | String? | Float64? | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.0 | 0-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | missing | 0.0 | Y | Y | 157.021 |
2 | DAPA01 | EX | DAPA01-001 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | Period 1 Day 1 | 2.0 | missing | missing | missing | missing | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | missing | 1 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | missing | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2022-06-10 09:30:00 | 1.0 | 2022-06-10 09:30:00 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 2022-06-10 | 2022-06-10 | missing | 09:30:00 | 09:30:00 | 2022-07-03 | 0.0 | 0.0 | 0 | missing | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | missing | 0 | Dose | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DOSE | missing | 5.0 | mg | 5.0 | EX | SEQ | 1.0 | missing | 0 | Y | Y | missing |
3 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 1 Day 1 | Y | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | COPY | 0.0 | Y | missing | 157.021 |
4 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.05 | 0.05 | -167.95 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.05 | 0.05-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 141.892 | ng/mL | 142.0 | PC | SEQ | 2.0 | missing | 0.05 | Y | Y | 157.021 |
5 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.35 | 0.35 | -167.65 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.35 | 0.35-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 116.228 | ng/mL | 116.0 | PC | SEQ | 3.0 | missing | 0.35 | Y | Y | 157.021 |
adpc_chg = @chain adpc_base begin
@rtransform :CHG = (!ismissing(:AVISITN) && :AVISITN > 0 && !ismissing(:AVAL) && !ismissing(:BASE)) ?
:AVAL - :BASE : missing
end
first(adpc_chg, 5)
Row | STUDYID | DOMAIN | USUBJID | PCSEQ | PCTESTCD | PCTEST | PCORRES | PCORRESU | PCSTRESC | PCSTRESN | PCSTRESU | PCSPEC | PCLLOQ | VISIT | VISITNUM | PCDTC | PCDY | PCTPT | PCTPTNUM | VISITDY | ADTM | ADT | ATM | EVID | DRUG | NFRLT | FANLDTM | AVISITN | AVISIT | AVISIT_prev | ADTM_prev | AENDTM_prev | EXDOSE_prev | EXDOSE_next | AVISIT_next | ADTM_next | AENDTM_next | NFRLT_prev | NFRLT_next | EXSEQ | EXTRT | EXDOSE | EXDOSU | EXDOSFRM | EXDOSFRQ | EXROUTE | EXSTDTC | EXSTDY | EXENDTC | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | maxdate | min_NFRLT | AFRLT | ARRLT | AXRLT | PCRFTDTM | FANLDT | FANLTM | PCRFTDT | PCRFTTM | NRRLT | NXRLT | PARCAT1 | ATPTN | ATPT | ATPTREF | ABLFL | BASETYPE | DOSEA | DOSEU | FRLTU | RRLTU | PARAMCD | ALLOQ | AVAL | AVALU | AVALCAT1 | SRCDOM | SRCVAR | SRCSEQ | DTYPE | MRRLT | ANL01FL | ANL02FL | BASE | CHG |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String3 | String | Float64? | String7? | String15? | String15? | String7? | String15? | Float64? | String7? | String7? | String15? | String15 | Float64 | String31? | Float64? | String31? | Float64? | Float64? | DateTime | Date | Time? | Int64 | String | Real | DateTime | Real? | String | String? | DateTime? | DateTime? | Float64? | Float64? | String? | DateTime? | DateTime? | Float64? | Float64? | Float64? | String15? | Float64? | String3? | String15? | String7? | String15? | String31? | Float64? | String31? | DateTime? | DateTime? | Date? | Date? | Int64? | Time? | Time? | Date | Float64 | Float64 | Real | Float64? | DateTime? | Date | Time | Date? | Any | Float64 | Float64 | String7? | Real | Abstract… | String? | String? | String | Float64? | String | String | String | Abstract… | String15? | Float64 | InlineSt… | String | String3 | String | Float64 | String? | Real | String | String? | Float64? | Float64? | |
1 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.0 | 0-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | missing | 0.0 | Y | Y | 157.021 | 0.0 |
2 | DAPA01 | EX | DAPA01-001 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | Period 1 Day 1 | 2.0 | missing | missing | missing | missing | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | missing | 1 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | missing | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 1.0 | Dapagliflozin | 5.0 | mg | Injection | ONCE | Intravenous | 2022-06-10 09:30:00 | 1.0 | 2022-06-10 09:30:00 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 2022-06-10 | 2022-06-10 | missing | 09:30:00 | 09:30:00 | 2022-07-03 | 0.0 | 0.0 | 0 | missing | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | missing | 0 | Dose | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DOSE | missing | 5.0 | mg | 5.0 | EX | SEQ | 1.0 | missing | 0 | Y | Y | missing | missing |
3 | DAPA01 | PC | DAPA01-001 | 1.0 | DAPA | Dapagliflozin | 157.021 | ng/mL | 157.021 | 157.021 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:30:00 | 1.0 | 0-HR POSTDOSE | 0.0 | 1.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | 5.0 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.0 | 0.0 | 0.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 1 Day 1 | Y | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | COPY | 0.0 | Y | missing | 157.021 | 0.0 |
4 | DAPA01 | PC | DAPA01-001 | 2.0 | DAPA | Dapagliflozin | 141.892 | ng/mL | 141.892 | 141.892 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:33:00 | 1.0 | 0.05-HR POSTDOSE | 0.05 | 1.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.05 | 0.05 | -167.95 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.05 | 0.05-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 141.892 | ng/mL | 142.0 | PC | SEQ | 2.0 | missing | 0.05 | Y | Y | 157.021 | -15.129 |
5 | DAPA01 | PC | DAPA01-001 | 3.0 | DAPA | Dapagliflozin | 116.228 | ng/mL | 116.228 | 116.228 | ng/mL | plasma | 0.1 ng/mL | Period 1 Day 1 | 2.0 | 2022-06-10 09:51:00 | 1.0 | 0.35-HR POSTDOSE | 0.35 | 1.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | Dapagliflozin | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 5.0 | 5.0 | Day Period 2 Day 1 | 2022-06-17T09:30:00 | 2022-06-17T09:30:00 | missing | 0.0 | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | missing | 2022-07-03 | 0.0 | 0.35 | 0.35 | -167.65 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 2022-06-10 | 09:30:00 | 0.0 | 0.0 | plasma | 0.35 | 0.35-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 116.228 | ng/mL | 116.0 | PC | SEQ | 3.0 | missing | 0.35 | Y | Y | 157.021 | -40.793 |
adpc_aseq = @chain adpc_chg begin
groupby([:STUDYID, :USUBJID])
@transform :ASEQ = 1:length(:STUDYID)
@select(Not([:DOMAIN, :PCSEQ, :DRUG, :EVID, :AXRLT, :NXRLT, :VISITDY]))
@select(Not(r"^orig"))
@select(Not(r"^min"))
@select(Not(r"^max"))
@select(Not(r"^EX"))
@select(Not(r"next$"))
@select(Not(r"prev$"))
@select(Not(r"^PC"))
leftjoin(param_lookup[:, Not(:PCTESTCD)], on = :PARAMCD)
end
first(adpc_aseq, 5)
Row | STUDYID | USUBJID | VISIT | VISITNUM | ADTM | ADT | ATM | NFRLT | FANLDTM | AVISITN | AVISIT | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | AFRLT | ARRLT | FANLDT | FANLTM | NRRLT | PARCAT1 | ATPTN | ATPT | ATPTREF | ABLFL | BASETYPE | DOSEA | DOSEU | FRLTU | RRLTU | PARAMCD | ALLOQ | AVAL | AVALU | AVALCAT1 | SRCDOM | SRCVAR | SRCSEQ | DTYPE | MRRLT | ANL01FL | ANL02FL | BASE | CHG | ASEQ | PARAM | PARAMN |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String7 | String | String15 | Float64 | DateTime | Date | Time? | Real | DateTime | Real? | String | DateTime? | DateTime? | Date? | Date? | Int64? | Time? | Time? | Float64 | Real | Date | Time | Float64 | String7? | Real | Abstract… | String? | String? | String | Float64? | String | String | String | Abstract… | String15? | Float64 | InlineSt… | String | String3 | String | Float64 | String? | Real | String | String? | Float64? | Float64? | Int64 | String? | Int64? | |
1 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | 0.0 | 0.0 | 2022-06-10 | 09:30:00 | 0.0 | plasma | 0.0 | 0-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | missing | 0.0 | Y | Y | 157.021 | 0.0 | 1 | Pharmacokinetic concentration of Dapagliflozin | 1 |
2 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:30:00 | 2022-06-10 | missing | 0 | 2022-06-10T09:30:00 | missing | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 2022-06-10 | 2022-06-10 | missing | 09:30:00 | 09:30:00 | 0.0 | 0 | 2022-06-10 | 09:30:00 | 0.0 | missing | 0 | Dose | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DOSE | missing | 5.0 | mg | 5.0 | EX | SEQ | 1.0 | missing | 0 | Y | Y | missing | missing | 2 | Dapagliflozin Dose | 2 |
3 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | 0.0 | 0.0 | 2022-06-10 | 09:30:00 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 1 Day 1 | Y | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | COPY | 0.0 | Y | missing | 157.021 | 0.0 | 3 | Pharmacokinetic concentration of Dapagliflozin | 1 |
4 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | 0.05 | 0.05 | 2022-06-10 | 09:30:00 | 0.0 | plasma | 0.05 | 0.05-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 141.892 | ng/mL | 142.0 | PC | SEQ | 2.0 | missing | 0.05 | Y | Y | 157.021 | -15.129 | 4 | Pharmacokinetic concentration of Dapagliflozin | 1 |
5 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | 0.35 | 0.35 | 2022-06-10 | 09:30:00 | 0.0 | plasma | 0.35 | 0.35-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 116.228 | ng/mL | 116.0 | PC | SEQ | 3.0 | missing | 0.35 | Y | Y | 157.021 | -40.793 | 5 | Pharmacokinetic concentration of Dapagliflozin | 1 |
for col in names(adpc_aseq)
adpc_aseq[!, col] = replace(adpc_aseq[!, col], missing => "missing")
end
first(adpc_aseq, 5)
Row | STUDYID | USUBJID | VISIT | VISITNUM | ADTM | ADT | ATM | NFRLT | FANLDTM | AVISITN | AVISIT | ASTDTM | AENDTM | ASTDT | AENDT | HOURS_BETWEEN_DOSES | ASTTM | AENTM | AFRLT | ARRLT | FANLDT | FANLTM | NRRLT | PARCAT1 | ATPTN | ATPT | ATPTREF | ABLFL | BASETYPE | DOSEA | DOSEU | FRLTU | RRLTU | PARAMCD | ALLOQ | AVAL | AVALU | AVALCAT1 | SRCDOM | SRCVAR | SRCSEQ | DTYPE | MRRLT | ANL01FL | ANL02FL | BASE | CHG | ASEQ | PARAM | PARAMN |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String | String | String | Any | Any | Any | Any | Any | Any | Any | String | Any | Any | Any | Any | Any | Any | Any | Any | Any | Any | Any | Any | String | Any | Abstract… | String | String | String | Any | String | String | String | Abstract… | String | Any | String | String | String | String | Any | String | Any | String | String | Any | Any | Any | String | Any | |
1 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | 0.0 | 0.0 | 2022-06-10 | 09:30:00 | 0.0 | plasma | 0.0 | 0-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | missing | 0.0 | Y | Y | 157.021 | 0.0 | 1 | Pharmacokinetic concentration of Dapagliflozin | 1 |
2 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:30:00 | 2022-06-10 | missing | 0 | 2022-06-10T09:30:00 | missing | Day Period 1 Day 1 | 2022-06-10T09:30:00 | 2022-06-10T09:30:00 | 2022-06-10 | 2022-06-10 | missing | 09:30:00 | 09:30:00 | 0.0 | 0 | 2022-06-10 | 09:30:00 | 0.0 | missing | 0 | Dose | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DOSE | missing | 5.0 | mg | 5.0 | EX | SEQ | 1.0 | missing | 0 | Y | Y | missing | missing | 2 | Dapagliflozin Dose | 2 |
3 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:30:00 | 2022-06-10 | 09:30:00 | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | 0.0 | 0.0 | 2022-06-10 | 09:30:00 | 0.0 | plasma | -0.5 | Pre-dose | Day Period 1 Day 1 | Y | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 157.021 | ng/mL | 157.0 | PC | SEQ | 1.0 | COPY | 0.0 | Y | missing | 157.021 | 0.0 | 3 | Pharmacokinetic concentration of Dapagliflozin | 1 |
4 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:33:00 | 2022-06-10 | 09:33:00 | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | 0.05 | 0.05 | 2022-06-10 | 09:30:00 | 0.0 | plasma | 0.05 | 0.05-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 141.892 | ng/mL | 142.0 | PC | SEQ | 2.0 | missing | 0.05 | Y | Y | 157.021 | -15.129 | 4 | Pharmacokinetic concentration of Dapagliflozin | 1 |
5 | DAPA01 | DAPA01-001 | Period 1 Day 1 | 2.0 | 2022-06-10T09:51:00 | 2022-06-10 | 09:51:00 | 0 | 2022-06-10T09:30:00 | 1 | Day Period 1 Day 1 | missing | missing | missing | missing | missing | missing | missing | 0.35 | 0.35 | 2022-06-10 | 09:30:00 | 0.0 | plasma | 0.35 | 0.35-HR POSTDOSE | Day Period 1 Day 1 | missing | Day Period 1 Day 1 Baseline | 5.0 | mg | h | h | DAPA | 0.1 ng/mL | 116.228 | ng/mL | 116.0 | PC | SEQ | 3.0 | missing | 0.35 | Y | Y | 157.021 | -40.793 | 5 | Pharmacokinetic concentration of Dapagliflozin | 1 |