Data collection and model development
We used the official implementation of ChatGPT v3.5
(https://chat.openai.com; OpenAI) to send and receive answers to
queries. The model was queried to provide typical estimates for the
clearance (CL) and volume of distribution (V) for FVIII based on a
patient body weight (BW) of 70kg. These estimates were used to define
the population PK model and simulate FVIII levels over time.
Examples of queries send to ChatGPT for data collection are as follows:
What are typical CL and V of standard half-life FVIII for a patient of
70kg?
Can you give me references?
To verify the accuracy of the typical PK parameters ChatGPT provided,
existing literature was consulted to compare ChatGPT response to
reported values from previous studies. We additionally requested ChatGPT
to produce the relevant literature along with the typical estimates of
the PK parameters
Next, ChatGPT was queried to produce R code describing a population PK
model using the previously requested typical PK parameters (figure 1).
ChatGPT was iteratively queried to adjust the model to the users
preferences and requirements for a FVIII PK model. At each step,
produced code was transferred to R (v4.1.1. R Core Team 2023) and the
predictions were visualized to inform the next changes to the model.
Examples of queries send to ChatGPT for model development are as
follows:
- in R, can you develop a 1 compartment population PK model of FVIII,
using a typical CL of 2.5 dL/h and a V of 40 dL?
- Can you use allometric body weight scaling on the PK parameters?
- Can you add a baseline of FVIII to the simulated FVIII levels?
Allometric scaling is commonly used on PK parameters to account for
differences in body size13. While patients with
haemophilia A also produce endogenous FVIII, therefore a constant
baseline value to the simulated FVIII levels is
added12.
Shiny applications developmentTo visualize the simulated FVIII levels over time, ChatGPT was asked to
create a Shiny application based on the PK model14.
The application provided a tool for simulating FVIII levels over time.
The application allowed the user to input the patient’s body weight,
baseline FVIII level, duration of the simulation and desired dosing.
Additionally, it included a table output that displayed the simulated
FVIII levels at several time points. The application also included a
dropdown menu for selecting a therapeutic window, with dashed areas
representing treatment windows for major surgery (30-50 IU/dL), intense
physical activity (30-15 IU/dL), high risk activities (5-15 IU/dL), and
mild activities (3-5 IU/dL). The therapeutic windows for FVIII levels
were based on the recommendations by Berntorp et al15.
The following queries were used in ChatGPT for shiny application
development:
- in R, can you visualize the simulations in a shiny application?
- In the shiny application I want to adjust the body weight from 40 to
100 kg with steps of 1kg?
- I also want to choose different doses between 250 and 5000 IU, change
the duration of the simulation and choose a baseline FVIII between 0
and 40 IU/dL.
- Can you add a therapeutic window with dashed lines? The following
therapeutic windows should be added: major surgery 30-50 IU/dL,
intense physical activity 30-15 IU/dL, higher risk activity 5-15
IU/dL, mild activity 3-5 IU/dL.
- Can you add a table below the plot that shows the predicted FVIII
levels at various time points during the simulation?