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:
  1. 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?
  2. Can you use allometric body weight scaling on the PK parameters?
  3. 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:
  1. in R, can you visualize the simulations in a shiny application?
  2. In the shiny application I want to adjust the body weight from 40 to 100 kg with steps of 1kg?
  3. 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.
  4. 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.
  5. Can you add a table below the plot that shows the predicted FVIII levels at various time points during the simulation?