FOR n=1:1000
IF (SBP_After(n,1)<140 && Sampled_AE(n,1)==0) || (SBP_After(n,1)>=140 && SBP_After(n,1)<160 &&
TenYearCVD(n,1)<20 && Sampled_AE(n,1)==0)
TreatResult(n,1) = 1; % Treatment success.
ELSE
TreatResult(n,1) = 0; % Treatment failure.
END
END
% Calculate the treatment success rate.
pTreatSux = (sum(TreatResult(:,1))/1000);
% Classify the SBPs after treatment depending on whether the treatment was successful or not.
CombinedTable = [SBP_After(1000,1),TreatResult(1000,1)];
FOR n = 1:1000
IF CombinedTable(n,2)==1,
ContSBPs = [ContSBPs;CombinedTable(n,1)];
ELSE UncontSBPs = [UncontSBPs;CombinedTable(n,1)];
END
END
% Save the mean SBP and the SD, separately, for the treatment success and failure.
ContSBP = mean(ContSBPs(:)); ContSBPSD = std(ContSBPs(:));
UncontSBP = mean(UncontSBPs(:)); UncontSBPSD = std(UncontSBPs(:));
Figure 6.. Pseudo-code of the function ‘SBP modelling’ included in the hypertension SDDP model
Given the time to enter ‘CVDmodelling’, the last drug used in the drug switching model, the proportion of patients who have a CVD, HF and DM and their mean SBP, the function ‘CVDmodelling’ calculated the CVD and DM related cost and effectiveness in the long-term. Once a group of patients entered ‘CVDmodelling’, they probabilistically went through the health states included in ‘CVDmodelling’, which are well, UA, post-UA, MI, post-MI, stroke, post-stroke, HF, post-HF, DM and death, until 100 years old. The time cycle was set to 3 months between 60 and 61 years old so that the long-term CVD model had the same time cycle with the short-term drug switching model. The annual cycle was used afterwards. The state transition probabilities were saved in StateTransit, which is a 44x11 matrix in the base-case. The same size matrices were used to save the costs and QALYs obtained from each health state in each period. The distribution of the initial health states in ‘CVDmodelling’ (i.e., pUA, pMI, pStroke, pHF, pDM and pDeath) were assigned based on the inputted percentage of the patients who have a CVD, HF or DM.
The initial distribution of health states transferred to the health states in the next period according to the 11x11 transition matrix (i.e., TransMtrix), which was based on the baseline risk of CVD and DM and the RR reduction depending on the type of antihypertensive drugs used. The baseline CVD and DM risk (i.e., BaseCVDrisk), which came from the NICE hypertension model, were adjusted based on the mean CVD risk of the current population, AnnualCVD.
The long-term costs, LTCost, were calculated by the health state costs and the drug costs depending on the drugs selected for each health state. The long-term QALYs, LTQALY, considered the age-dependent utility and the disutility due to the CVD or DM. Where a three-month cycle was used, the state transition probability and the long-term costs and QALYs were adjusted accordingly.
% The function ‘CVDmodelling’ provides the long-term state transition probabilities, mean costs and QALYs for a group of patients who enter ‘CVDmodelling’ from h at t. The inputs are the time to enter ‘CVDmodelling’, the last drug used before enter ‘CVDmodelling’, the percentage of the patients having a CVD, HF and DM and their mean SBP and the SD.
Function [LTCost,LTQaly,LTProb]
= CVDmodelling(t,LastDrug,pCVD,pHF,pDM,SBP,pDeath);
% Call datasets.
[TotalMort,CostEvent,CostDrug,DistCVD,BaseCVDrisk,TrtRR] = Data(Scenario);
% Initialize the key parameters.
StateTransit = zeros(104-Age,11); % State transition matrix.
LTCost = zeros(104-Age,11); % Long-term cost matrix.
LTQaly = zeros(104-Age,11); % Long-term QALY matrix.
% StateTransit, LTCost and LTQaly have a matrix as following:
% ----------------------------------------------------------------
% Well UA p-UA MI p-MI Stroke p-stroke HF post-HF DM Death
% ------:----:--:----:--:----:------:--------:--:-------:--:------
% 60
% 60.25
% 60.50
% 60.75
% 61
% 62
% ...
% ...
% 100
% ----------------------------------------------------------------
% Initial distribution for the health states.
pUA = pCVD*DistCVD(Age,1);
pMI = pCVD*DistCVD(Age,2);
pStroke = pCVD*DistCVD(Age,3);
StateTransit(t,:) = [pWell,pUA,0,pMI,0,pStroke,0,pHF,0,pDM,pDeath];
% Initialize the transition matrix as following:
TransMatrix = zeros(11,11);
% ------------------------------------------------------------------
% Well UA p-UA MI p-MI Stroke p-stroke HF post-HF DM Death
% --------:----:--:----:--:----:------:--------:--:-------:--:-----
% Well
% UA
% p-UA
% MI
% p-MI
% Stroke
% p-Stroke
% HF
% p-HF
% DM
% Death
% --------:----:--:----:--:----:------:--------:--:-------:--:-----
% Calculate the 10-year CVD risk using QRISK2.
TenYearCVD = QRISK2(Gender,Age,AF,RA,RD,TreatHist, Type1DM,Type2DM,BMI,Ethnicity,FamilyHist,SBP,Smoking,11,Townsend);
% Adjust the 10-year CVD risk to the annual risk.
AnnualCVD = 1-power((1-TenYearCVD(:,1)/100),0.1);
% Adjust the baseline CVD risks, which came from the NICE hypertension model, based on the current population’s annual CVD risk.
AdjCVDrisk(:,:) = BaseCVDrisk(:,:)*(AnnualCVD/0.02);
% Generate a treatment scenario for CVD and DM.
DrugForCVDDM = TrtGenerator(Scenario.drug_CVD);
% Given the treatment scenario for CVD and DM, generate a 1x11 matrix including the drug costs for each health states.
cDrug = [CostDrug(LastDrug), ...
CostDrug(DrugForCVDDM(1)), CostDrug(DrugForCVDDM(1))...
CostDrug(DrugForCVDDM(2)), CostDrug(DrugForCVDDM(2))...
CostDrug(DrugForCVDDM(3)), CostDrug(DrugForCVDDM(3))...
CostDrug(DrugForCVDDM(4)), CostDrug(DrugForCVDDM(4))...
CostDrug(DrugForCVDDM(5)), 0];
% Calculate the state transition probabilities and the long-term costs and effectiveness.
| 20>160>140>
Dostları ilə paylaş: |