Time above MIC (WinNonlin 5.2.1) [🇷 for BE/BA]
Dear Ace!
OK, since Pharsight invited my to become a WinNonlin 6 beta tester, I’m just digging a little bit deeper into this stuff.
I must correct myself – it’s already there, but until today I didn’t find it myself (in the online help: Noncompartmental Analysis > Therapeutic response).
From your workbook, open NCA model 200. After performing the usual steps (dragging time and concentration to the respective fields, entering dose,…) goto
Now for the surprise:
If the workbook contains only data from 12–120h, WinNonlin comes up with 109.3966 (and TimeLow 10.6034) which adds up nicely to 120h, but nobody asked for it. Next I added a new time-column subtracting 12h from the original ones (i.e., running from 0–108h). Results: TimeHgh 101.5885 and TimeLow 6.4115…
Again not the 102.5h we would expect from the reference, your wonderful R-code and my quickshot in Excel.
Next I suspected some kind of interpolation issue, because I’ve set my default in WinNonlin to lin/log interpolation
I don’t know how the result is calculated…
Next step:
A simple triangle – MIC set to 0.5; expected t≥0.5 = 1 → Bingo!
So maybe it’s a problem with adding segments:
Expected 2, reported 2…
I checked some of my old datasets and always got differences to WinNonlin’s results (never more than 5%, but also no agreement in a single case).
Another example:
Don’t be shocked about the profile – that’s a formulation with two absorption phases. I wanted to calculate the Half Value Duration (time interval where C ≥ 50% Cmax, aka HVD). Unfortunately it’s not possible to enter a formula in the respective column – in column
.
Therefore, the calculation has to be done somewhere else… In the example Cmax/2=2.268.
Now let’s do it the hard way: the first intersection is between 1 and 1.5 [1.144<2.268<2.399], the second one between 6 and 9 [3.387>2.268>1.643].
No fiddling around with linear regression, just a plain linear interpolation (paper, pencil, brain).
The first intersection is 1.5+(1–1.5)×(2.268–2.399)/(1.144–2.399)=1.4478, the second one 9+(6–9)×(2.268–1.643)/(3.387–1.643) = 7.9249. HVD = 7.9249–1.4478 = 6.4771.
WinNonlin comes up with 6.2153.
Now I got the idea that WinNonlin might interpolate logarithmically in the decreasing part 9+(6–9)×(log(2.268)–log(1.643))/(log(3.387)-log(1.643)) = 9+(6–9)×(0.8189–0.49652)/(1.21994–0.49652) = 7.6631. HVD = 7.6631–1.4478 = 6.2153; Q.E.D.!![[image]](img/uploaded/image28.png)
Actually this algorithm is reasonable (following the same logic as the lin-up/log-down option in AUC calculation) – but it’s not documented, and I couldn’t find a way to change this setting.
The green line shows the intersection in linear scale (conventional method).
In logarithmic scale it’s clear that WinNonlin’s method (blue line) intersects the curve just at the right spot.
IMHO the method is nice, if stated in the protocol – and you don’t have to struggle in recalculating old studies or comparing your data with the literature – which may drive you nuts.
![[image]](img/uploaded/image2.png)
❝ ❝ I searched in […] the manual of WinNonLin, but couldn't find any references.
❝
❝ It's not implemented in WinNonlin; but I'm right now at a conference in London where one of the lecturers is Jason Chittenden from Pharsight - I will ask him.
OK, since Pharsight invited my to become a WinNonlin 6 beta tester, I’m just digging a little bit deeper into this stuff.
I must correct myself – it’s already there, but until today I didn’t find it myself (in the online help: Noncompartmental Analysis > Therapeutic response).
From your workbook, open NCA model 200. After performing the usual steps (dragging time and concentration to the respective fields, entering dose,…) goto
Model > Therapeutic Response…
; in the tab Therapeutic Response
enter 0.517 to the field Lower
. Click and run the calculation. You find the time above MIC (0.517) in the new workbook in the field TimeHgh
.Now for the surprise:
If the workbook contains only data from 12–120h, WinNonlin comes up with 109.3966 (and TimeLow 10.6034) which adds up nicely to 120h, but nobody asked for it. Next I added a new time-column subtracting 12h from the original ones (i.e., running from 0–108h). Results: TimeHgh 101.5885 and TimeLow 6.4115…
Again not the 102.5h we would expect from the reference, your wonderful R-code and my quickshot in Excel.

Next I suspected some kind of interpolation issue, because I’ve set my default in WinNonlin to lin/log interpolation
Tools > Options > Models > Default Parameter Options > NCA calculation method > Linear Trapezoidal (Linear/Log Interpolation)
. Changing to Linear Trapezoidal (Linear Interpolation)
gave the same result.I don’t know how the result is calculated…
Next step:
x | y
---+---
0 | 0
1 | 1
2 | 0
A simple triangle – MIC set to 0.5; expected t≥0.5 = 1 → Bingo!
So maybe it’s a problem with adding segments:
x | y
---+---
0 | 0
1 | 1
2 | 0
3 | 1
4 | 0
Expected 2, reported 2…
I checked some of my old datasets and always got differences to WinNonlin’s results (never more than 5%, but also no agreement in a single case).
Another example:
t | C
--------+------
0.0000 | BQL
0.5167 | BQL
1.0000 | 1.144
1.5000 | 2.399
2.0000 | 3.226
2.5000 | 3.236
3.0000 | 2.943
3.5000 | 2.776
4.0000 | 3.393
4.5000 | 4.536
5.0000 | 3.934
6.0000 | 3.387
9.0000 | 1.643
12.0333 | 0.717
16.0167 | 0.231
24.0500 | BQL
Don’t be shocked about the profile – that’s a formulation with two absorption phases. I wanted to calculate the Half Value Duration (time interval where C ≥ 50% Cmax, aka HVD). Unfortunately it’s not possible to enter a formula in the respective column – in column
B
there’s the value of Cmax, but entering =B1*0.5
to cell C1
gives Must enter numeric value 
Therefore, the calculation has to be done somewhere else… In the example Cmax/2=2.268.
Now let’s do it the hard way: the first intersection is between 1 and 1.5 [1.144<2.268<2.399], the second one between 6 and 9 [3.387>2.268>1.643].
No fiddling around with linear regression, just a plain linear interpolation (paper, pencil, brain).
The first intersection is 1.5+(1–1.5)×(2.268–2.399)/(1.144–2.399)=1.4478, the second one 9+(6–9)×(2.268–1.643)/(3.387–1.643) = 7.9249. HVD = 7.9249–1.4478 = 6.4771.
WinNonlin comes up with 6.2153.

Now I got the idea that WinNonlin might interpolate logarithmically in the decreasing part 9+(6–9)×(log(2.268)–log(1.643))/(log(3.387)-log(1.643)) = 9+(6–9)×(0.8189–0.49652)/(1.21994–0.49652) = 7.6631. HVD = 7.6631–1.4478 = 6.2153; Q.E.D.!
![[image]](img/uploaded/image28.png)
Actually this algorithm is reasonable (following the same logic as the lin-up/log-down option in AUC calculation) – but it’s not documented, and I couldn’t find a way to change this setting.
![[image]](img/uploaded/image1.png)
In logarithmic scale it’s clear that WinNonlin’s method (blue line) intersects the curve just at the right spot.

IMHO the method is nice, if stated in the protocol – and you don’t have to struggle in recalculating old studies or comparing your data with the literature – which may drive you nuts.
![[image]](img/uploaded/image2.png)
—
Dif-tor heh smusma 🖖🏼 Довге життя Україна!![[image]](https://static.bebac.at/pics/Blue_and_yellow_ribbon_UA.png)
Helmut Schütz
![[image]](https://static.bebac.at/img/CC by.png)
The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
Dif-tor heh smusma 🖖🏼 Довге життя Україна!
![[image]](https://static.bebac.at/pics/Blue_and_yellow_ribbon_UA.png)
Helmut Schütz
![[image]](https://static.bebac.at/img/CC by.png)
The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
Complete thread:
- Calculation of time above MIC Aceto81 2008-06-26 16:31 [🇷 for BE/BA]
- Calculation of time above MIC Helmut 2008-06-26 18:58
- Calculation of time above MIC Aceto81 2008-06-26 21:50
- Calculation of time above MIC Helmut 2008-06-27 00:18
- Calculation of time above MIC Helmut 2008-06-29 02:24
- Calculation of time above MIC Aceto81 2008-06-30 15:50
- Therapeutic Occupancy Time / MEC Helmut 2008-06-30 16:45
- Calculation of time above MIC Aceto81 2008-06-30 15:50
- Time above MIC (WinNonlin 5.2.1)Helmut 2008-08-08 20:38
- Time above MIC (WinNonlin 5.2.1) Aceto81 2008-08-12 09:56
- Time above MIC (WinNonlin 5.2.1) Helmut 2008-08-12 12:32
- Time above MIC (R function) Aceto81 2008-08-13 11:19
- Time above MIC (R function) Helmut 2008-08-13 13:18
- Time above MIC (R function) Aceto81 2008-08-13 15:35
- Time above MIC (R function) Helmut 2008-08-13 13:18
- Phoenix-WinNonlin 6.0 released 29 May 2009 SDavis 2009-06-04 10:55
- Phoenix-WinNonlin 6.0 Helmut 2009-06-04 11:57
- Phoenix-WinNonlin 6.0 - introductory webinars SDavis 2009-06-04 18:50
- Phoenix-WinNonlin 6.0 - introductory webinars Helmut 2009-06-04 23:40
- Phoenix-WinNonlin 6.0 - introductory webinars SDavis 2009-06-04 18:50
- Phoenix-WinNonlin 6.0 Helmut 2009-06-04 11:57
- Time above MIC (R function) Aceto81 2008-08-13 11:19
- Time above MIC (WinNonlin 5.2.1) Helmut 2008-08-12 12:32
- TimeLow Astea 2017-10-28 22:15
- PHX/WNL 8.0 vs. previous releases Helmut 2017-10-28 23:20
- PHX/WNL 8.0 vs. previous releases Astea 2017-10-28 23:49
- Occupancy, Half Value Duration, Plateau Time in Phoenix/WinNonlin 8 Helmut 2017-10-30 13:18
- Occupancy, Half Value Duration, Plateau Time in Phoenix/WinNonlin 8 Astea 2017-10-31 01:12
- Intersections Helmut 2017-10-31 12:32
- nobody needs it... Astea 2017-10-31 18:24
- Intersections Helmut 2017-10-31 12:32
- Occupancy, Half Value Duration, Plateau Time in Phoenix/WinNonlin 8 Astea 2017-10-31 01:12
- PHX/WNL 8.0 vs. previous releases Helmut 2017-10-28 23:20
- Time above MIC (WinNonlin 5.2.1) Aceto81 2008-08-12 09:56
- Calculation of time above MIC Aceto81 2008-06-26 21:50
- Calculation of time above MIC Helmut 2008-06-26 18:58