From 29f670bf3f15cfd6de59e3797374f6ce2c0c5333 Mon Sep 17 00:00:00 2001 From: XiTatiON Date: Wed, 12 Nov 2025 21:41:56 +1100 Subject: [PATCH 1/9] Robby's profile tuning guide --- docs/EN/GettingHelp/ProfileTuning.md | 94 ++++++++++++++++++ .../troubleshooting/profile/IOB_Chart.png | Bin 0 -> 11784 bytes 2 files changed, 94 insertions(+) create mode 100644 docs/EN/GettingHelp/ProfileTuning.md create mode 100644 docs/EN/images/troubleshooting/profile/IOB_Chart.png diff --git a/docs/EN/GettingHelp/ProfileTuning.md b/docs/EN/GettingHelp/ProfileTuning.md new file mode 100644 index 000000000000..4982f9d1011b --- /dev/null +++ b/docs/EN/GettingHelp/ProfileTuning.md @@ -0,0 +1,94 @@ +# Tweaking AAPS Profile + +**This is NOT a medical advice, please work with your care team for proper support and advice on your Diabetes management.** + +This guide provides advice originally written up by @Robby from Discord on tips and tricks to help tune your **AAPS** Profile. + +This guide is mainly trying to find/explain logic to the OpenAPS algorithm results with a given profile, and provide information of which values to adjust when certain outcomes are observed. + +## Profile setting change process +Over several days carefully observe and compare what is happening with your Blood Glucose Levels (BG) and your Insulin on Board (IOB). Keep an eye out for patterns that happen around the same time of day. +It's important to do this over several days and never use the data you observe from a single day to make **profile** adjustment decisions. +After you have observed a repeatable pattern of behaviors, e.g. at 1PM you see a spike in BG, and a low IOB value, only then start to make small changes to your profile. +It's important to limit the changes you make to one thing at a time. E.g. increase your basil by .5 around 1PM. +After every change it's important to monitor the impact this has on your BG and IOB for the next few days. +Repeat this pattern of observe, decide, change. + +**Don't Rush, go slow!** + +## Recommended settings and situation and advice while tweaking +- Do all testing with closed loop enabled. +- COB=0* + - *meaning that the meal is digested, and there are no more carbs in your body. AAPS might indicate COB=0 while you still have carbs on board. +- No physical activities. +- No stress. +- No illness. +- Turn OFF AutoSens so that it will not try to adapt your profile. +- Before starting to tweak IC or ISF value, it is important to have set a very good basal rate. +- With a good basal rate in profile, when you are on target with COB=0* and IOB=0, you will remain constantly on target whatever your ISF (it's only when you are +away from the target that a good ISF value is important). +- You need to check the actual IOB but also, the IOB chart to see how was the IOB during the past few hours. + ![IOB Chart](../images/troubleshooting/profile/IOB_Chart.png) + - This chart shows negative IOB during early morning hours. (IA= IOB GA=COB) + + +## Profile definitions +A **strong** profile indicates some combintation of the the following: +- ISF number is too small +- The basal number is too big +- IC number is too small + +## IOB Observations +If you observe the following patterns after a few days, consider the following changes + +### IOB positive +- Basal is not strong enough + +### IOB negative +- Basil too strong +- Previous meal: too much bolus +- Effects from past exercise/physical activity + +## BG Target Observations + +### Stuck High +- ISF is not strong enough +- Basil might not be strong enough +- A security (MaxIOB ?) might have kicked in + +### Stuck Low +- ISF too strong +- Basil too strong (if also negative IOB) + +### Rollercoaster +- ISF too strong + +## BG After Meals Observations + +### Fast rise and go high +- Consider doing a pre-bolus +- Bolus not strong enough + +### Fast rise and go low +- Consider doing a pre-bolus +- Bolus too strong + +## How to calculate your C/I +1. First, you need the correct basal settings in your profile. +2. Start on target, better without negative IOB. +3. Record the total insulin given in the pump tab (or pump history) and call it **Start insulin**. +4. Very accurately measure a known portion of carbs, and record the start time and **Start IOB**. Then enter carbs and bolus information into **AAPS** using the current configured CI. Don't forget to eat the carbs. +5. After some hours, when COB=0* and you're back on target, record end time, and note down the **End IOB**, check the total insulin given as before and call it **End insulin**. + ***NOTE:** The time frame is NOT important, as long as it is longer than your digestion* +6. From the difference between **Start** and **End** insulin amount, subtract/add the difference end IOB - start IOB. Then subtract the basal insulin calculated from your profile settings. +7. You'll have the total insulin used to “digest” your carbs. Calculate your C/I. + +### Other Considerations while calculating your C/I +- With a profile that has correct basal(s), during any time frame, you stay on target and have an IOB near 0. You get your profile basal only. +- You add carbs and bolus to this mix. Wait till your body digests all the carbs and be back on target. Your insulin usage will be the sum of your basal + the insulin needed for the carbs. You calculate the insulin used for your basal (by using your profile) and the surplus will be the insulin used to digest the carbs. +- If the time frame is too short, there will be carbs undigested, thus your "insulin needed for the carbs" will be wrong. +- If the time frame is too long, nothing bad will happen. You'll use all your carbs and you'll get more basal. At the end, you'll subtract the basal from the total insulin used, the extended time frame (with more basal use) will not affect the result. + + + + diff --git a/docs/EN/images/troubleshooting/profile/IOB_Chart.png b/docs/EN/images/troubleshooting/profile/IOB_Chart.png new file mode 100644 index 0000000000000000000000000000000000000000..5e47491cf27b0417496af593502c81dc6674674b GIT binary patch literal 11784 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 Date: Wed, 12 Nov 2025 21:46:57 +1100 Subject: [PATCH 2/9] Fixed line break --- docs/EN/GettingHelp/ProfileTuning.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/EN/GettingHelp/ProfileTuning.md b/docs/EN/GettingHelp/ProfileTuning.md index 4982f9d1011b..a2548d58f89a 100644 --- a/docs/EN/GettingHelp/ProfileTuning.md +++ b/docs/EN/GettingHelp/ProfileTuning.md @@ -7,7 +7,8 @@ This guide provides advice originally written up by @Robby from Discord on tips This guide is mainly trying to find/explain logic to the OpenAPS algorithm results with a given profile, and provide information of which values to adjust when certain outcomes are observed. ## Profile setting change process -Over several days carefully observe and compare what is happening with your Blood Glucose Levels (BG) and your Insulin on Board (IOB). Keep an eye out for patterns that happen around the same time of day. +Over several days carefully observe and compare what is happening with your Blood Glucose Levels (BG) and your Insulin on Board (IOB). +Keep an eye out for patterns that happen around the same time of day. It's important to do this over several days and never use the data you observe from a single day to make **profile** adjustment decisions. After you have observed a repeatable pattern of behaviors, e.g. at 1PM you see a spike in BG, and a low IOB value, only then start to make small changes to your profile. It's important to limit the changes you make to one thing at a time. E.g. increase your basil by .5 around 1PM. From 3145357bbc91d962beca2b3577b0e5050c08e5a3 Mon Sep 17 00:00:00 2001 From: Robrub <76626474+robertrub@users.noreply.github.com> Date: Thu, 13 Nov 2025 19:30:55 +0100 Subject: [PATCH 3/9] Clarify language and improve guidance in Profile Tuning Updated language for clarity and consistency in the guide. Adjusted sections on profile setting changes and recommended settings for better understanding. --- docs/EN/GettingHelp/ProfileTuning.md | 36 +++++++++++++++------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/docs/EN/GettingHelp/ProfileTuning.md b/docs/EN/GettingHelp/ProfileTuning.md index a2548d58f89a..2f634bb78203 100644 --- a/docs/EN/GettingHelp/ProfileTuning.md +++ b/docs/EN/GettingHelp/ProfileTuning.md @@ -4,30 +4,31 @@ This guide provides advice originally written up by @Robby from Discord on tips and tricks to help tune your **AAPS** Profile. -This guide is mainly trying to find/explain logic to the OpenAPS algorithm results with a given profile, and provide information of which values to adjust when certain outcomes are observed. +This guide is mainly trying to find/explain the logic of the OpenAPS algorithm results with a given profile, and provide information about which values to adjust when certain situations are observed. -## Profile setting change process -Over several days carefully observe and compare what is happening with your Blood Glucose Levels (BG) and your Insulin on Board (IOB). -Keep an eye out for patterns that happen around the same time of day. +## Changing the profile settings, how to process +Carefully observe and compare, **over several days**, what is happening with your Blood Glucose Levels (BG) and your Insulin on Board (IOB). +Keep an eye out for patterns that happen around the same time (almost) everyday. It's important to do this over several days and never use the data you observe from a single day to make **profile** adjustment decisions. -After you have observed a repeatable pattern of behaviors, e.g. at 1PM you see a spike in BG, and a low IOB value, only then start to make small changes to your profile. +After you have observed a repeatable pattern of behaviors, e.g. at 1PM you see a spike in BG or a negative IOB value, only then start to make small changes to your profile. It's important to limit the changes you make to one thing at a time. E.g. increase your basil by .5 around 1PM. After every change it's important to monitor the impact this has on your BG and IOB for the next few days. Repeat this pattern of observe, decide, change. **Don't Rush, go slow!** -## Recommended settings and situation and advice while tweaking +## Recommended settings and advice while tweaking - Do all testing with closed loop enabled. +- On the secondary charts: on chart 1, use IOB, COB and SENS. On chart 2, use DEV and -BGI - COB=0* - *meaning that the meal is digested, and there are no more carbs in your body. AAPS might indicate COB=0 while you still have carbs on board. - No physical activities. - No stress. - No illness. -- Turn OFF AutoSens so that it will not try to adapt your profile. -- Before starting to tweak IC or ISF value, it is important to have set a very good basal rate. -- With a good basal rate in profile, when you are on target with COB=0* and IOB=0, you will remain constantly on target whatever your ISF (it's only when you are -away from the target that a good ISF value is important). +- Turn OFF AutoSens and DynISF so that they will not try to adapt your profile. +- Before starting to tweak IC or ISF value, it is important to have set correct basal rates. +- When your basal rate in profile is correct, when you are on target with COB=0* and IOB=0, you will remain constantly on target whatever your ISF (ISF is only used when you are +higher than your target). - You need to check the actual IOB but also, the IOB chart to see how was the IOB during the past few hours. ![IOB Chart](../images/troubleshooting/profile/IOB_Chart.png) - This chart shows negative IOB during early morning hours. (IA= IOB GA=COB) @@ -46,20 +47,20 @@ If you observe the following patterns after a few days, consider the following c - Basal is not strong enough ### IOB negative -- Basil too strong +- Basal too strong - Previous meal: too much bolus -- Effects from past exercise/physical activity +- May be the effects from past exercise/physical activity ## BG Target Observations ### Stuck High -- ISF is not strong enough -- Basil might not be strong enough -- A security (MaxIOB ?) might have kicked in +- ISF is not strong enough (the calculated insulin is too weak) +- Basal might not be strong enough (SMBs do not have enough "basal stock" to use) +- A security (MaxIOB ?) might have kicked in and is limiting insulin injection. For the limitations, look in the OpenSMB tab ### Stuck Low - ISF too strong -- Basil too strong (if also negative IOB) +- Basal too strong (if also negative IOB) ### Rollercoaster - ISF too strong @@ -67,8 +68,9 @@ If you observe the following patterns after a few days, consider the following c ## BG After Meals Observations ### Fast rise and go high +- Food contains fast carbs - Consider doing a pre-bolus -- Bolus not strong enough +- Bolus (IC or injected %) not strong enough ### Fast rise and go low - Consider doing a pre-bolus From 1a5d6d76f22231e6cc27290953f751b1db583591 Mon Sep 17 00:00:00 2001 From: Robrub <76626474+robertrub@users.noreply.github.com> Date: Fri, 14 Nov 2025 10:12:08 +0100 Subject: [PATCH 4/9] Revise the final part of Profile Tuning documentation for accuracy Updated terminology and improved clarity in the Profile Tuning guide. --- docs/EN/GettingHelp/ProfileTuning.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/EN/GettingHelp/ProfileTuning.md b/docs/EN/GettingHelp/ProfileTuning.md index 2f634bb78203..606bfa625762 100644 --- a/docs/EN/GettingHelp/ProfileTuning.md +++ b/docs/EN/GettingHelp/ProfileTuning.md @@ -72,21 +72,21 @@ If you observe the following patterns after a few days, consider the following c - Consider doing a pre-bolus - Bolus (IC or injected %) not strong enough -### Fast rise and go low -- Consider doing a pre-bolus +### Fast rise and then go low +- Consider doing a pre-bolus, profile might be too agressive (over correction of the raise) - Bolus too strong -## How to calculate your C/I +## How to calculate your IC 1. First, you need the correct basal settings in your profile. 2. Start on target, better without negative IOB. -3. Record the total insulin given in the pump tab (or pump history) and call it **Start insulin**. -4. Very accurately measure a known portion of carbs, and record the start time and **Start IOB**. Then enter carbs and bolus information into **AAPS** using the current configured CI. Don't forget to eat the carbs. +3. Record the total insulin given in the pump tab (or pump history) and call it **Start insulin** +C4. Very accurately measure a known portion of carbs, and record the start time and **Start IOB**. Then enter carbs and bolus information into **AAPS** using the wizard (with the current configured CI). Don't forget to eat the carbs ;) 5. After some hours, when COB=0* and you're back on target, record end time, and note down the **End IOB**, check the total insulin given as before and call it **End insulin**. ***NOTE:** The time frame is NOT important, as long as it is longer than your digestion* 6. From the difference between **Start** and **End** insulin amount, subtract/add the difference end IOB - start IOB. Then subtract the basal insulin calculated from your profile settings. -7. You'll have the total insulin used to “digest” your carbs. Calculate your C/I. +7. You'll have the total insulin used to “digest” your carbs. Calculate your IC. -### Other Considerations while calculating your C/I +### Explanations for the IC calculations - With a profile that has correct basal(s), during any time frame, you stay on target and have an IOB near 0. You get your profile basal only. - You add carbs and bolus to this mix. Wait till your body digests all the carbs and be back on target. Your insulin usage will be the sum of your basal + the insulin needed for the carbs. You calculate the insulin used for your basal (by using your profile) and the surplus will be the insulin used to digest the carbs. - If the time frame is too short, there will be carbs undigested, thus your "insulin needed for the carbs" will be wrong. From 37ea3308409f691f63bc4aa9ad96742be81cfc52 Mon Sep 17 00:00:00 2001 From: XiTatiON <1818975+xitation@users.noreply.github.com> Date: Tue, 25 Nov 2025 14:06:01 +1100 Subject: [PATCH 5/9] Revise Profile Tuning guide for clarity and accuracy Updated the profile tuning guide for clarity and consistency, including corrections to terminology and formatting. --- docs/EN/GettingHelp/ProfileTuning.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/docs/EN/GettingHelp/ProfileTuning.md b/docs/EN/GettingHelp/ProfileTuning.md index 606bfa625762..3482697bcd80 100644 --- a/docs/EN/GettingHelp/ProfileTuning.md +++ b/docs/EN/GettingHelp/ProfileTuning.md @@ -7,18 +7,21 @@ This guide provides advice originally written up by @Robby from Discord on tips This guide is mainly trying to find/explain the logic of the OpenAPS algorithm results with a given profile, and provide information about which values to adjust when certain situations are observed. ## Changing the profile settings, how to process -Carefully observe and compare, **over several days**, what is happening with your Blood Glucose Levels (BG) and your Insulin on Board (IOB). -Keep an eye out for patterns that happen around the same time (almost) everyday. -It's important to do this over several days and never use the data you observe from a single day to make **profile** adjustment decisions. -After you have observed a repeatable pattern of behaviors, e.g. at 1PM you see a spike in BG or a negative IOB value, only then start to make small changes to your profile. -It's important to limit the changes you make to one thing at a time. E.g. increase your basil by .5 around 1PM. -After every change it's important to monitor the impact this has on your BG and IOB for the next few days. -Repeat this pattern of observe, decide, change. +1. Ensure you have read and understand the recommended settings and advice below, not following this advice will make the whole process more complex and less likely to get well tuned profile. +2. Carefully observe and compare, **over several days**, what is happening with your Blood Glucose Levels (BG) and your Insulin on Board (IOB). +3. Keep an eye out for patterns that happen around the same time (almost) everyday. +4. It's important to do this over several days and never use the data you observe from a single day to make **profile** adjustment decisions. +5. After you have observed a repeatable pattern of behaviours, e.g. at 1PM you see a spike in BG or a negative IOB value, only then start to make small changes to your profile. +6. It's important to limit the changes you make to one thing at a time. E.g. increase your basil by .5 around 1PM. +7. After every change it's important to monitor the impact this has on your BG and IOB for the next few days. +8. Repeat this pattern of observe, decide, change. **Don't Rush, go slow!** ## Recommended settings and advice while tweaking - Do all testing with closed loop enabled. +- Turn OFF all automations. +- Do not take manual user actions (manual bolus, temp targets etc) while testing, let the system use the profile settings only. - On the secondary charts: on chart 1, use IOB, COB and SENS. On chart 2, use DEV and -BGI - COB=0* - *meaning that the meal is digested, and there are no more carbs in your body. AAPS might indicate COB=0 while you still have carbs on board. @@ -31,11 +34,11 @@ Repeat this pattern of observe, decide, change. higher than your target). - You need to check the actual IOB but also, the IOB chart to see how was the IOB during the past few hours. ![IOB Chart](../images/troubleshooting/profile/IOB_Chart.png) - - This chart shows negative IOB during early morning hours. (IA= IOB GA=COB) + - This chart shows negative IOB during early morning hours. (IA=IOB GA=COB) ## Profile definitions -A **strong** profile indicates some combintation of the the following: +A **strong** profile indicates some combination of the the following: - ISF number is too small - The basal number is too big - IC number is too small @@ -62,7 +65,7 @@ If you observe the following patterns after a few days, consider the following c - ISF too strong - Basal too strong (if also negative IOB) -### Rollercoaster +### Rollercoaster - ISF too strong ## BG After Meals Observations @@ -73,7 +76,7 @@ If you observe the following patterns after a few days, consider the following c - Bolus (IC or injected %) not strong enough ### Fast rise and then go low -- Consider doing a pre-bolus, profile might be too agressive (over correction of the raise) +- Consider doing a pre-bolus, profile might be too aggressive (over correction of the raise) - Bolus too strong ## How to calculate your IC From 4459e9e75d34cff3c8665a13bc75fa9156922768 Mon Sep 17 00:00:00 2001 From: XiTatiON Date: Tue, 25 Nov 2025 15:14:45 +1100 Subject: [PATCH 6/9] Added profile turning to main index page --- docs/EN/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/EN/index.md b/docs/EN/index.md index fe118106cfe5..8ce471e1de4b 100644 --- a/docs/EN/index.md +++ b/docs/EN/index.md @@ -161,6 +161,7 @@ Updating to a new version of AAPS <./Maintenance/UpdateToNewVersion.md> Where can I get help with AAPS <./GettingHelp/WhereCanIGetHelp.md> General troubleshooting <./GettingHelp/GeneralTroubleshooting.md> - Bluetooth troubleshooting <./GettingHelp/BluetoothTroubleshooting.md> +Profile Tuning Guide - <./GettingHelp/ProfileTuning.md> Troubleshooting Android Studio <./GettingHelp/TroubleshootingAndroidStudio.md> Accessing logfiles <./GettingHelp/AccessingLogFiles.md> ``` From fbee75872d82bd27ccd10b966ce64c067ebed89a Mon Sep 17 00:00:00 2001 From: Patrick Sonnerat Date: Mon, 22 Dec 2025 21:28:41 +0100 Subject: [PATCH 7/9] Amended from documenters work --- docs/EN/GettingHelp/ProfileTuning.md | 181 ++++++++++++++++----------- 1 file changed, 109 insertions(+), 72 deletions(-) diff --git a/docs/EN/GettingHelp/ProfileTuning.md b/docs/EN/GettingHelp/ProfileTuning.md index 3482697bcd80..4fa85d0c793b 100644 --- a/docs/EN/GettingHelp/ProfileTuning.md +++ b/docs/EN/GettingHelp/ProfileTuning.md @@ -1,100 +1,137 @@ -# Tweaking AAPS Profile +# **Tweaking the AAPS' Profile** -**This is NOT a medical advice, please work with your care team for proper support and advice on your Diabetes management.** +```{admonition} This is NOT a medical advice +:class: warning +Please work with your care team for support and advice on your diabetes management.
+Use this guide only once you have [set up your **Profile** correctly](https://androidaps.readthedocs.io/en/latest/SettingUpAaps/YourAapsProfile.md), following all **AAPS** objectives. +``` -This guide provides advice originally written up by @Robby from Discord on tips and tricks to help tune your **AAPS** Profile. +This guide explains the logic of the OpenAPS algorithm results with a given __Profile__, and provides information about which values to adjust when certain situations are observed. The suggestions about basal testing below may diverge from what your care team advises -This guide is mainly trying to find/explain the logic of the OpenAPS algorithm results with a given profile, and provide information about which values to adjust when certain situations are observed. +Using **closed loop** may make basal testing easier and may significantly reduce the hypo risk if your __Profile__ basal is too strong. -## Changing the profile settings, how to process -1. Ensure you have read and understand the recommended settings and advice below, not following this advice will make the whole process more complex and less likely to get well tuned profile. -2. Carefully observe and compare, **over several days**, what is happening with your Blood Glucose Levels (BG) and your Insulin on Board (IOB). -3. Keep an eye out for patterns that happen around the same time (almost) everyday. -4. It's important to do this over several days and never use the data you observe from a single day to make **profile** adjustment decisions. -5. After you have observed a repeatable pattern of behaviours, e.g. at 1PM you see a spike in BG or a negative IOB value, only then start to make small changes to your profile. -6. It's important to limit the changes you make to one thing at a time. E.g. increase your basil by .5 around 1PM. -7. After every change it's important to monitor the impact this has on your BG and IOB for the next few days. -8. Repeat this pattern of observe, decide, change. +## **Changing profile's settings, how to proceed** -**Don't Rush, go slow!** +1. Ensure you have read and understand __AAPS’__ recommended settings and advice below. Not following this advice will make the whole process problematic and less likely to get a well tuned __Profile__ +2. Carefully observe and compare, **over several days**, what is happening with your __BG__ and __IOB__. +3. Keep an eye out for patterns that happen around the same time (almost) everyday. +4. It's important to do this over several days. Poor results tend to be yielded from using data observed on a single day to make __Profile’s__ adjustment decisions. +5. After you have observed a repeatable pattern of behavior, e.g. at 1PM you see a spike in __BG__ or a negative __IOB__ value, only then start to make small changes to your __Profile__. +6. It's important to limit the changes you make to one thing at a time. E.g. increase your basal by 10% around 1PM. +7. After every change, it's important to monitor the impact on your __BG__ and __IOB__ for the next few days. +8. Repeat this pattern, observe, decide, tweak again if needed -## Recommended settings and advice while tweaking -- Do all testing with closed loop enabled. -- Turn OFF all automations. -- Do not take manual user actions (manual bolus, temp targets etc) while testing, let the system use the profile settings only. -- On the secondary charts: on chart 1, use IOB, COB and SENS. On chart 2, use DEV and -BGI -- COB=0* - - *meaning that the meal is digested, and there are no more carbs in your body. AAPS might indicate COB=0 while you still have carbs on board. +Don't rush, go slow! + +## **Recommended settings and advice while tweaking basal** + +- Do all testing with [closed loop enabled](#AapsScreens-loop-status). +- **Turn OFF all [automations](../DailyLifeWithAAPS/Automations.md)** +- **Turn OFF [DynISF](#Open-APS-features-DynamicISF), [AutoISF](../AdvancedOptions/DevBranch.md), [AutoSens](#Open-APS-features-autosens)** so that they will not try to adapt your profile. +- Do not make manual user actions (manual bolus, temp targets etc…) while testing: let the system use the **Profile** settings only. +- For the [additional graphs](#AapsScreens-section-g-additional-graphs): on graph 1, use Insulin On Board, Carbs On Board (and Sensitivity change). On graph 2, use Deviations and Blood Glucose Impact. When asking for advice, always include those on your screenshots. +- COB=0[*](#profiletuning-cob-zero) - No physical activities. - No stress. -- No illness. -- Turn OFF AutoSens and DynISF so that they will not try to adapt your profile. -- Before starting to tweak IC or ISF value, it is important to have set correct basal rates. -- When your basal rate in profile is correct, when you are on target with COB=0* and IOB=0, you will remain constantly on target whatever your ISF (ISF is only used when you are -higher than your target). -- You need to check the actual IOB but also, the IOB chart to see how was the IOB during the past few hours. - ![IOB Chart](../images/troubleshooting/profile/IOB_Chart.png) - - This chart shows negative IOB during early morning hours. (IA=IOB GA=COB) - - -## Profile definitions -A **strong** profile indicates some combination of the the following: -- ISF number is too small -- The basal number is too big -- IC number is too small - -## IOB Observations +- No illness. +- No extreme weather like high or low temperatures. +- If your [basal rate profile](#your-aaps-profile-basal-rates) is correct, when you are on target with COB=0[*](#profiletuning-cob-zero) and IOB=0, you will remain constantly on target whatever your ISF (ISF is only used when you are higher than your target). +- You need to check the actual IOB but also, the IOB chart to see how the IOB was during the past few hours. + +(profiletuning-cob-zero)= + +***COB = 0** + +Meaning that the meal is digested, and there are no more carbs in your body. + +AAPS might indicate [COB=0 while you still have carbs on board](../DailyLifeWithAAPS/CobCalculation.md). + +## **[Profile](../SettingUpAaps/YourAapsProfile.md) definitions** + +A too **strong Profile** indicates some combination of the following: + +- [ISF](#insulin-sensitivity-factor-isf) number is too small +- The [basal](#basal-rates) number is too big +- [I:C](#insulin-to-carb-ratio-icr) number is too small + +## **IOB Observations** + +*Note: you can also use Loopalyzer IOB graph in Nightscout reports to view IOB on several days.* + If you observe the following patterns after a few days, consider the following changes -### IOB positive -- Basal is not strong enough +### **IOB positive** + +- **Profile** basal might not be strong enough (this could also be because of things like unannounced food, illness, bad site absorption, etc.) + + ![Positive IOB](../images/troubleshooting/profiletuning/PositiveInsulin.png) + +### **IOB negative** + +- Default basal too strong +- May be the effect from past exercise/physical activity + +![Negative IOB](../images/troubleshooting/profiletuning/NegativeInsulin.png) + +- Previous meal: too much bolus (which resulted in a very long zero temp basal) -### IOB negative -- Basal too strong -- Previous meal: too much bolus -- May be the effects from past exercise/physical activity + ![Negative IOB](../images/troubleshooting/profiletuning/NegativeInsulin2.png) -## BG Target Observations +## **BG Target Observations** -### Stuck High -- ISF is not strong enough (the calculated insulin is too weak) -- Basal might not be strong enough (SMBs do not have enough "basal stock" to use) -- A security (MaxIOB ?) might have kicked in and is limiting insulin injection. For the limitations, look in the OpenSMB tab +### **Stuck High** -### Stuck Low -- ISF too strong -- Basal too strong (if also negative IOB) +- __ISF__ ‘s number is high and not strong enough (calculated insulin is too weak) -### Rollercoaster -- ISF too strong +![Stuck High](../images/troubleshooting/profiletuning/StuckHigh.png) -## BG After Meals Observations +- __Profile__ basal might not be strong enough (SMBs do not have enough "basal stock" to use) +- A security ([MaxIOB](#Open-APS-features-maximum-total-iob-openaps-cant-go-over)?) might have kicked in and is limiting insulin injection. Verify in the [SMB](#Open-APS-features-super-micro-bolus-smb) tab. +- Technical issue: site absorption, infusion set, ... + +### **Stuck Low** + +- __ISF__ too strong and the number needs to be raised higher +- __Profile__ basal too strong (if also negative IOB) + +### **Rollercoaster (ups and downs)** + +- **ISF** too strong? See your [AAPS Profile](#your-aaps-profile-insulin-sensitivity-factor) + +![Rollercoaster](../images/troubleshooting/profiletuning/StrongISF.png) + +## **BG After Meals Observations** + +### **Fast rise and BG going high** -### Fast rise and go high - Food contains fast carbs - Consider doing a pre-bolus - Bolus (IC or injected %) not strong enough -### Fast rise and then go low +![Rise High](../images/troubleshooting/profiletuning/FastRise.png) + +### **Fast rise and then BG going low** + - Consider doing a pre-bolus, profile might be too aggressive (over correction of the raise) - Bolus too strong -## How to calculate your IC -1. First, you need the correct basal settings in your profile. -2. Start on target, better without negative IOB. -3. Record the total insulin given in the pump tab (or pump history) and call it **Start insulin** -C4. Very accurately measure a known portion of carbs, and record the start time and **Start IOB**. Then enter carbs and bolus information into **AAPS** using the wizard (with the current configured CI). Don't forget to eat the carbs ;) -5. After some hours, when COB=0* and you're back on target, record end time, and note down the **End IOB**, check the total insulin given as before and call it **End insulin**. - ***NOTE:** The time frame is NOT important, as long as it is longer than your digestion* -6. From the difference between **Start** and **End** insulin amount, subtract/add the difference end IOB - start IOB. Then subtract the basal insulin calculated from your profile settings. -7. You'll have the total insulin used to “digest” your carbs. Calculate your IC. - -### Explanations for the IC calculations -- With a profile that has correct basal(s), during any time frame, you stay on target and have an IOB near 0. You get your profile basal only. -- You add carbs and bolus to this mix. Wait till your body digests all the carbs and be back on target. Your insulin usage will be the sum of your basal + the insulin needed for the carbs. You calculate the insulin used for your basal (by using your profile) and the surplus will be the insulin used to digest the carbs. -- If the time frame is too short, there will be carbs undigested, thus your "insulin needed for the carbs" will be wrong. -- If the time frame is too long, nothing bad will happen. You'll use all your carbs and you'll get more basal. At the end, you'll subtract the basal from the total insulin used, the extended time frame (with more basal use) will not affect the result. +## **[How to calculate your I:C](https://androidaps.readthedocs.io/en/latest/SettingUpAaps/YourAapsProfile.html#id12)** + +1. First, you need the correct default basal settings in your **Profile**. +2. Start on target, better without negative IOB. +3. Record the total insulin given in the pump tab (or pump history) and call it Start insulin C4. Very accurately measure a known portion of carbs, and record the start time and Start IOB. Then enter carbs and bolus information into AAPS using the wizard (with the current configured CI). Don't forget to eat the carbs ;) +4. After some hours, when COB=0[*](#profiletuning-cob-zero) and you're back on target, record end time, and note down the End IOB, check the total insulin given as before and call it End insulin. + *NOTE: The time frame is NOT important, as long as it is longer than your digestion* +5. From the difference between Start and End insulin amount, subtract/add the difference end IOB - start IOB. Then subtract the basal insulin calculated from your profile settings. +6. If __BG__ is in target, you'll have the total insulin used to “digest” your carbs. Calculate your **I:C**. + +### **Explanations for the I:C calculations** +- With a **Profile** that has the correct default basal rate, during any time frame, you should stay on target and have an IOB near 0. You get your **Profile** basal only. +- You add carbs and bolus to this mix. Wait till your body digests all the carbs and be back on **BG** target. Your insulin usage will be the sum of your basal + the insulin needed for the carbs. You calculate the insulin used for your basal (by using your **Profile**) and the surplus will be the insulin used to digest the carbs. +- If the time frame is too short, there will be carbs undigested, thus your "insulin needed for the carbs" will be wrong. +- If the time frame is too long, nothing bad will happen. You'll use all your carbs and you'll get more basal. At the end, you'll subtract the basal from the total insulin used, the extended time frame (with more basal use) will not affect the result. +Originally written up by @Robby (Discord) on tips and tricks to help tune your AAPS Profile, reviewed and edited by the community (thank you!). From 35eac789103f7df186caabcfbcf301cb6f8e2b81 Mon Sep 17 00:00:00 2001 From: Patrick Sonnerat Date: Mon, 22 Dec 2025 21:45:37 +0100 Subject: [PATCH 8/9] Update link for calculating I:C ratio Use anchor --- docs/EN/GettingHelp/ProfileTuning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/EN/GettingHelp/ProfileTuning.md b/docs/EN/GettingHelp/ProfileTuning.md index 4fa85d0c793b..61042eb513d7 100644 --- a/docs/EN/GettingHelp/ProfileTuning.md +++ b/docs/EN/GettingHelp/ProfileTuning.md @@ -117,7 +117,7 @@ If you observe the following patterns after a few days, consider the following c -## **[How to calculate your I:C](https://androidaps.readthedocs.io/en/latest/SettingUpAaps/YourAapsProfile.html#id12)** +## **[How to calculate your I:C](#your-aaps-profile-insulin-to-carbs-ratio)** 1. First, you need the correct default basal settings in your **Profile**. 2. Start on target, better without negative IOB. From 72e1175465864c679c142045ee0996cf530cf4c3 Mon Sep 17 00:00:00 2001 From: Patrick Sonnerat Date: Mon, 22 Dec 2025 21:48:30 +0100 Subject: [PATCH 9/9] Delete docs/EN/images/troubleshooting/profile directory Moved to troubleshooting/profiletuning --- .../troubleshooting/profile/IOB_Chart.png | Bin 11784 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/EN/images/troubleshooting/profile/IOB_Chart.png diff --git a/docs/EN/images/troubleshooting/profile/IOB_Chart.png b/docs/EN/images/troubleshooting/profile/IOB_Chart.png deleted file mode 100644 index 5e47491cf27b0417496af593502c81dc6674674b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11784 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