text:
Improving prediction models with new markers: a comparison of updating strategies
D. Nieboer1,
Y. Vergouwe1,
Danna P. Ankerst2,3,
Monique J. Roobol4 &
Ewout W. Steyerberg1
New markers hold the promise of improving risk prediction for individual patients. We aimed to compare the performance of different strategies to extend a previously developed prediction model with a new marker.
Our motivating example was the extension of a risk calculator for prostate cancer with a new marker that was available in a relatively small dataset. Performance of the strategies was also investigated in simulations. Development, marker and test sets with different sample sizes originating from the same underlying population were generated. A prediction model was fitted using logistic regression in the development set, extended using the marker set and validated in the test set. Extension strategies considered were re-estimating individual regression coefficients, updating of predictions using conditional likelihood ratios (LR) and imputation of marker values in the development set and subsequently fitting a model in the combined development and marker sets. Sample sizes considered for the development and marker set were 500 and 100, 500 and 500, and 100 and 500 patients. Discriminative ability of the extended models was quantified using the concordance statistic (c-statistic) and calibration was quantified using the calibration slope.
All strategies led to extended models with increased discrimination (c-statistic increase from 0.75 to 0.80 in test sets). Strategies estimating a large number of parameters (re-estimation of all coefficients and updating using conditional LR) led to overfitting (calibration slope below 1). Parsimonious methods, limiting the number of coefficients to be re-estimated, or applying shrinkage after model revision, limited the amount of overfitting. Combining the development and marker set using imputation of missing marker values approach led to consistently good performing models in all scenarios. Similar results were observed in the motivating example.
When the sample with the new marker information is small, parsimonious methods are required to prevent overfitting of a new prediction model. Combining all data with imputation of missing marker values is an attractive option, even if a relatively large marker data set is available.
Markers for disease risk, such as genetic characteristics, imaging, and biomarkers, may be useful to improve clinical prediction models. Incorporating markers in multivariable prediction models should lead to better individualized risk estimates, such that more personalized medicine is achieved [1–3]. Data sets with new marker data are however often relatively small [4]. This poses a challenge since overfitting may easily occur in developing prediction models with limited sample size [5]. A new model with marker data incorporated may then perform worse than a model without, if the latter was based on a substantially larger data set.
Developing a prediction model with limited sample size may lead to too optimistic estimates of predictor effects [6, 7]. Optimistic estimates of predictor effects lead to poor calibration of a prediction model when applied in new patients. Applying shrinkage techniques may limit this problem. In the same spirit as shrinkage, one may consider updating existing prediction models using parsimonious methods rather than refitting all model parameters [8]. Parsimonious updating methods consider fewer parameters that need to be estimated, which is especially relevant in small samples.
Recently, a method was proposed that uses conditional likelihood ratios (CLRs) for extension of an existing prediction model. The CLRs are calculated for the marker values conditional on the predictors in the existing prediction model [9]. The predictions of the existing prediction model are then updated by combining them with the CLRs using Bayes rule.
If individual patient data from the development dataset on which the existing prediction was developed are available, this set can be combined with the new dataset containing information on the new marker. The advantage of this approach is that the extended model may exploit all available data on the predictor effects, although the marker values in the development set are systematically missing. After (multiple) imputation of the missing marker values, an extended prediction model can be developed based on the combined development and marker set.
In this study, we aimed to investigate the performance of different strategies of extending an existing prediction model with a new marker. We specifically focused on the impact of small sample size of the marker set in simulation studies and risks of overfitting. We first introduce a motivating example of men at risk for prostate cancer, followed by a description of various strategies to extend an existing model and results from a simulation study. We conclude with a discussion of our findings and recommendations for the situation that the development data set is or is not available at the time of model updating.
The European Randomized Study of Prostate Cancer (ERSPC) is a large randomized study that provided the basis for a number of clinical prediction models, presented as risk calculators (RCs) [10–12]. One such risk calculator ("ERSPC RC3") estimates the probability of a positive sextant biopsy in previously unscreened men based on three clinical characteristics: prostate-specific antigen (PSA, a continuous variable), prostate volume (a continuous variable), and the result of a digital rectal exam (DRE, a binary variable) [12]. The ERSPC RC3 was developed on a cohort of 3,624 previously un-biopsied men (Table 1). Recently the Prostate Health Index (PHI) has been proposed as a promising marker, which should help to better discriminate between patients with and without prostate cancer (Fig. 1) [13, 14]. We aimed to extend the ERSPC RC3 with the new marker PHI. Data were available from five European sites that collected PHI in addition to the same variables used by ERSPC RC3 (n = 1,243).
Table 1 Characteristics of patients used at the development of ERSPC RC3 (ERSPC section Rotterdam) and characteristics of patients collected at 5 different sites in Europe with information on the additional marker PHI
Density estimate of PHI levels for cases and controls in the marker set
All datasets containing information on PHI showed higher proportions of patients with cancer (42–58 %) compared to the development set (24 %) (Table 1). The marker set from Hamburg showed the highest PSA levels (median 6.5 ng/l), which were far above the PSA levels in the ERSPC development set (median 3.1 ng/l).
We extended the ERSPC RC3 using data from one site to simulate the situation that only a small sample of patients with PHI is available. The extended ERSPC RC3 was subsequently validated in the data from the four sites not used at model extension.
Strategies to extend a prediction model
We considered several strategies to extend an existing prediction model developed using logistic regression with a new marker (Table 2). The first method was not to allow for any updating. This was considered the reference on which the extended models needed to improve upon. The linear predictor lp0 of the existing, previously developed, prediction model is given by:
Table 2 Characteristics of the update methods and number of parameters estimated in the case study of prediction of prostate cancer at biopsy
$$ {\mathrm{lp}}_0=\alpha +{\displaystyle {\sum}_{i=1}^p{\beta}_i{x}_i}, $$
where α is the model intercept, β i are the regression coefficients as available for the existing model, and x i the predictors, with values from the new data set. Various strategies for extending an existing prediction model with a new marker were considered which fell into 3 classes: re-estimation of all regression coefficients, including the coefficient for the new marker; Bayesian updating of predictions using conditional likelihood ratios; and imputation (Table 2). Re-estimation of the regression coefficients and Bayesian updating of predictions using conditional likelihood ratios only require the marker set, while the imputation approach also requires the availability of the development set of the original prediction model.
Re-estimation of regression coefficients
A straightforward way of extending the existing prediction model would be to fit a logistic regression model to the new marker data set only, containing the same variables as required for the existing model in addition to the new marker as predictors. We label this strategy "model revision with extension" [8, 15]. The linear predictor lp1 of this method becomes
$$ {\mathrm{lp}}_1=\widehat{\alpha}+{\displaystyle {\sum}_{i=1}^p{\widehat{\beta}}_i}\;{x}_i+{\widehat{\beta}}_{p+1}\;m, $$
where m is the novel marker, and the hats above parameters denote the associated estimated regression coefficients. Model revision with extension requires the estimation of p + 2 parameters using data from the marker set. In relatively small marker datasets, this strategy may suffer from a tendency to overfit [6, 7]. To mitigate these problems, we additionally consider shrinkage of the refitted coefficients towards the recalibrated regression coefficients ("model extension with shrinkage") [8]. The regression coefficient of the new marker is shrunken towards zero. The recalibrated regression coefficients are obtained by first fitting a logistic regression model with only a single covariate, i.e. the linear predictor of the original prediction model, lp0, to the new marker dataset, yielding \( {\mathrm{lp}}_2=\widehat{\alpha}+{\widehat{\beta}}_{\mathrm{overall}}{\mathrm{lp}}_0 \). The linear predictor of "model revision with shrinkage" is given by
$$ {\mathrm{lp}}_3=\widehat{c}{\mathrm{lp}}_1+\left(1-\widehat{c}\right){\mathrm{lp}}_2, $$
where ĉ is the heuristic shrinkage factor estimated by
$$ \widehat{c}=\frac{ \max \left({\chi}_{\mathrm{revision}-\mathrm{recalibrated}}^2-\mathrm{d}\mathrm{f},0\right)}{\chi_{\mathrm{revision}-\mathrm{recalibrated}}^2}, $$
χ 2revision − recalibrated is the difference in-2 log-likelihood between the extended and recalibrated model, and df is the difference in degrees of freedom of the extended and recalibrated model (p − 1 in our case).
Over fitting may also be limited by reducing the number of estimated parameters. Therefore, we considered a third strategy by including the new marker in the recalibrated prediction model ("recalibration with extension"). Regression coefficients were estimated by fitting a logistic regression model with the linear predictor of the original model and the new marker as predictors:
$$ {\mathrm{lp}}_4=\widehat{\alpha}+{\widehat{\beta}}_{\mathrm{overall}}{\mathrm{lp}}_0+{\widehat{\beta}}_{p+1}m. $$
Conditional likelihood ratio approach
The conditional likelihood ratio (CLR) approach assumes that the new marker data set contains the same predictors x1,…, xp, as the development data set as well as additional information on the new marker m. The LR of observing the marker values conditional on the predictors is estimated as:
$$ \mathrm{L}\mathrm{R} = \frac{f\left(m\Big|{x}_1,\dots, {x}_p,\kern0.5em \mathrm{cancer}\right)}{f\left(m\Big|{x}_1,\dots .,{x}_p,\ \mathrm{no}\ \mathrm{cancer}\right)}. $$
The prior odds of having cancer is given by the existing prediction model: Prior Odds = exp (lp0). The posterior odds is obtained by combination with the LR using Bayes rule:
$$ \mathrm{Posterior}\ \mathrm{Odds} = \mathrm{Prior}\ \mathrm{Odds} \times \mathrm{L}\mathrm{R}. $$
It has previously been proposed to estimate the components of the LR using linear regression when the marker is measured on a continuous scale [9]. The marker set is split into two separate sets, one containing all patients with cancer versus the other without cancer. A linear regression model is fitted in each set, with the marker as outcome and predictors as covariates. The numerator and denominator of the LR can then be estimated by
$$ \mathrm{L}\mathrm{R}=\frac{\phi_{\mu_{\mathrm{cancer}},{\sigma}_{\mathrm{cancer}}(m)}}{\phi_{\mu_{\mathrm{no}\ \mathrm{cancer}},{\sigma}_{\mathrm{no}\ \mathrm{cancer}}(m)}}, $$
where ϕ is the normal density function, μcancer and μno cancer the fitted means of the new marker, and \( \sigma \)cancer and \( \sigma \)no cancer the estimated standard deviations of the residuals of the fitted linear regression models for patients with and without cancer, respectively. We label this approach "CLR".
This approach requires the estimation of 2 (p + 1) + 2 parameters, which may result in overfitted prediction models. To limit the number of parameters that need to be estimated the LR may also be estimated using one linear regression model, with the marker as outcome and the predictors of the existing model and an indicator cancer yes/no as covariates ("CLR simple"). The number of parameters estimated using this approach is p + 3.
Imputation approach
In the imputation approach the development and marker set are both used to fit a prediction model containing the predictors of the existing prediction model plus the new marker. This is complicated by the fact that marker values are systematically missing in the development set. We used multiple imputation with chained equations (mice) to impute the missing marker value 10 times [16]. In each of the completed datasets a model was fitted with logistic regression. Let \( {\widehat{\beta}}_{i,j} \) denote the regression coefficient of predictor x i in the jth completed dataset. The overall estimate of the regression coefficient can be obtained using Rubin's rules [17]. This overall estimate is simply the average of the estimates in each of the 10 completed datasets:
$$ {\widehat{\beta}}_i=\frac{1}{10}{\displaystyle \sum_{j=1}^{10}}{\widehat{\beta}}_{i,j}. $$
We assessed discrimination and calibration of the extended models. Discrimination refers to the ability of a prediction model to discriminate between patients with and without the outcome of interest. Discrimination was quantified using the concordance statistic (c). For a sensible model the c-statistic lies between 0.5 and 1. Where 0.5 means that the model does not discriminate better than flipping a coin and 1 means that the model discriminates perfectly. For a logistic regression model the c-statistic is equivalent to the area under the ROC curve [18]. Calibration measures the agreement between the predicted probabilities and observed outcomes. Calibration of the extended prediction models was quantified using the calibration slope. Ideally the calibration slope should be equal to 1.0 [5, 7].
Motivating example continued
The c statistic of the ERSPC RC3 was around 0.69 in all five marker sets (Table 3). Extending ERSPC RC3 with PHI typically led to an average increase in c of 0.05, from 0.69 to 0.74, across the different validation sets. In one instance "model revision with extension" and "model extension with shrinkage" did not lead to better discrimination.
Table 3 Average and range of c statistic and calibration slopes in the prostate cancer case-study
The calibration of the ERSPC RC3 model with or without the PHI marker was suboptimal in all five marker sets. The calibration slope was smaller than 1, indicating that overall predictor effects were too extreme. Models extended using "CLR" had the poorest calibration slopes, whilst the "CLR simple" and the imputation approach showed slightly better calibration. Calibration slopes of "recalibration with extension" were typically close to one.
Simulation study
The five datasets containing information on the marker PHI formed the basis for generating simulated development and marker samples. Two settings were simulated, one with the logistic regression model as the true underlying model and one with the "CLR method" as true underlying model. In this way, we allowed for a fair comparison between the two approaches: re-estimation of the regression coefficients and the conditional likelihood ratio approach.
The logistic regression model fitted in the five stacked marker sets was considered the true underlying model (Additional file 1: Table S1). It contained the predictors PSA, prostate volume, DRE and PHI. Patients were drawn with replacement from the five stacked PHI datasets and for each patient the probability of a positive sextant biopsy was calculated with the logistic regression model. The binary outcome variable was generated by comparing the probability of a positive sextant biopsy with an independently generated variable u i having a uniform distribution from 0 to 1 with Yi = 1 if pi ≥ ui and 0 otherwise.
The true underlying prior model, i.e. without the marker, for the setting with the CLR method was the model fitted in the ERSPC RC3 data. The true underlying linear regression models, that are the components of the likelihood ratio, were the models fitted in the five stacked marker sets, separately for patients with and without cancer (Additional file 1: Table S1).
The binary outcome was generated based on the probability of a positive sextant biopsy given by the prior model, in a similar way as generating the outcome from a logistic regression model. Subsequently, if the generated outcome was a positive biopsy, a value for PHI was generated by drawing a random number from a normal distribution with mean equal to linear predictor of the regression model of PHI for men with a positive biopsy and standard deviation equal to the associated standard deviation of the residuals in the regression model. If the generated outcome was a negative biopsy, the value for PHI was based on the regression model for PHI for men with a negative biopsy.
We considered three scenarios with varying sample sizes of the development and marker samples: 1) 500 for the development sample and 100 for the marker sample, 2) 100 for the development sample and 500 for the marker sample and 3) 500 for the development sample and 500 for the marker sample. In each scenario we generated 1,000 development and marker samples with the same underlying models.
A prediction model containing PSA, prostate volume and DRE was fitted on the development sample and extended with PHI using the marker sample with re-estimation of the regression coefficients or with the conditional likelihood ratio approach. An independent validation sample was generated with 100,000 patients on whom the performance of the extended prediction models was assessed. The validation sample was generated using the same models as the development and marker sample. Performance measures considered were the c-statistic and the calibration slope. All simulations were done using R 2.14.1 [19], with multiple imputation (10 times) using the mice package [20]. R-scripts used in the simulation studies are available online (Additional files 2 and 3).
When the development sample contained 500 patients and the marker sample 100 patients, the models without the marker PHI showed a c-statistic of 0.69 in the development samples (Fig. 2). Extending the prediction model with the marker showed a c-statistic of around 0.73. "Recalibration with extension", "CLR simple", and the "imputation approach" led to the largest increase in c with relatively low variation.. Models extended with "model revision with extension" and "CLR" showed calibration slopes below one, indicating overfitting in the small marker samples. Other extension methods showed median calibration slopes closer to one, similar to the model without the marker. The choice of true underlying model only influenced the model performance for the "CLR" method, both in discriminative ability and calibration and in all scenarios.
Calibration slope and c-statistic of updated models in a simulation study for development set size 500 and marker set size 100. Outcomes were generated using a logistic regression model and the CLR model as the underlying true models. Box plots are based on 500 simulations
When the marker sample was larger, 500 patients, with the same development sample size of 500, the variation in c-statistic was much lower compared to the scenario with a development sample of 500 and a marker sample of 100 (Fig. 3).
The median calibration slopes were closest to one for the methods "model extension with shrinkage" and "recalibration with extension". The median calibration slope of the models extended using "CLR" was well below one.
When the development sample contained only 100 patients and the marker sample 500 patients, more variation in c-statistic was found than in the other scenarios reflecting the smaller sample size at development (Fig. 4). The methods "model revision with extension", "imputation", and "model revision with shrinkage" showed the largest values for the c-statistic.
The median calibration slope of the prediction models without the marker PHI was well below one, reflecting too extreme predictions due to the small development samples. Re-estimation of the regression coefficients and the "imputation" approach improved the calibration slopes with values close to one. "CLR" and "CLR simple" showed median calibration slopes well below one.
We compared different strategies of extending an existing prediction model with a new marker. We found that when the dataset used to extend the prediction model was small, parsimonious methods led to the largest increase in discriminative ability of the prediction model, but as the available sample size to extend the prediction model increased more extensive extension methods outperformed parsimonious methods. Strategies requiring the estimation of many parameters, such as Bayesian updating with conditional likelihood ratios estimated per outcome ("CLR") and "model revision with extension", resulted in too extreme predictions. Strategies that required estimation of fewer parameters, such as "recalibration with extension" or "CLR simple", and strategies that applied shrinkage, all resulted in well-calibrated predictions for new subjects. The "imputation strategy" also required the estimation of a relatively large number of parameters, i.e. all individual regression coefficients, but the combination of the development and marker sets led to the largest data set possible. This strategy led to more precise estimates of regression coefficients, and consistently well performing prediction models.
The structure for simulating the datasets was based on empirical data, which simplified the data generation procedure and avoided arbitrary choices in predictor distributions and predictor effects [21]. The outcomes were generated from a logistic regression model or from a model that was consistent with the CLR method. This allowed for a fair comparison between prediction models based on logistic regression and based on the CLR methods. As expected, the CLR methods showed lower performance when the true underlying model was a logistic regression model. The methods that fitted logistic regression models were less sensitive to the underlying model generating the outcome.
Our simulation study used patients from one homogeneous underlying population, meaning that the predictor effects in the development and marker sets were assumed to be similar. In practice this may not be the case. Predictor effects in the development and marker sets may be truly different (heterogeneity), or the prediction model may have been overfitted at development [22]. Both heterogeneity and overfitting lead to prediction models with incorrect regression coefficients when applied in the marker set. Methods using conditional likelihood ratios to update predictions do not adjust predictor effects of the existing model. These methods are hence not useful to extend models that have incorrect regression coefficients for the marker set.
Our case study was based on a widely used risk prediction tool for prostate cancer. We illustrate that adding a new marker to such an existing prediction model may lead to substantially better model performance, in particular better discrimination. We recognize that multiple markers may be available, all with the potential to improve discrimination. For parsimony, markers can be selected in a stepwise forward manner [8]. Or multiple markers can be combined in a simple summary score, with the summary score added as a single predictor. This approach was followed for the PHI marker which consists of a combination of the biomarkers PSA, free-PSA and [−2] proPSA [13].
We compared the performance of prediction models in terms of calibration and discrimination. Recently, other measures for clinical usefulness have been suggested to assess the added value of markers, e.g. the net reclassification index (NRI), net benefit, and relative utility [23–25]. All these measures consider the number of true positives and true negatives at particular risk thresholds and are sensitive to the calibration of a prediction model. Miscalibrated prediction models might even show misleading performance when calculating the NRI [26, 27]. The risk of overfitting should hence not be taken lightly as induced by simply refitting a model in a small data set where a new marker is available.
When possible, combining the development and validation sets is preferable, since this uses the full information available in the development set and consequently limits the risk overfitting.
A limitation of this study is that we considered a case study in which relatively few regression coefficients were estimated in the original model (3 in total). We expect that differences between the different strategies would become clearer when considering prediction models containing larger number of predictors, or when smaller marker sets are considered.
This study shows that the "imputation approach" is a suitable strategy to improve prediction models with new markers. This approach combines the data set used at development of the existing prediction model with the new marker data set. With access to only a small marker data set, we recommend parsimonious methods, such as "recalibration with extension" and "CLR simple". Larger marker data sets allow for more extensive updating of the prediction model using "model revision with shrinkage".
CLR:
Conditional likelihood ratio
DRE:
Digital rectal exam
ERSCP:
European randomized study of screening for prostate cancer
PHI:
Prostate health index
PSA:
RC:
Risk calculator
Hlatky MA. Framework for Evaluating Novel Risk Markers. Ann Intern Med. 2012;156(6):468–9.
Riley RD, Hayden JA, Steyerberg EW, Moons KGM, Abrams K, Kyzas PA, Malats N, Briggs A, Schroter S, Altman DG, et al. Prognosis Research Strategy (PROGRESS) 2: Prognostic Factor Research. PLoS Med. 2013;10(2):e1001380.
Steyerberg EW, Moons KGM, Van der Windt DA, Hayden JA, Perel P, Schroter S, Riley RD, Hemingway H, Altman DG, for the PG. Prognosis Research Strategy (PROGRESS) 3: Prognostic Model Research. PLoS Med. 2013;10(2):e1001381.
Brundage MD, Davies D, Mackillop WJ. Prognostic factors in non-small cell lung cancer*: A decade of progress. CHEST J. 2002;122(3):1037–57.
Steyerberg EW. Clinical Prediction Models: A Practical Approach to Development, Validation, and Updating. New York: Springer-Verlag New York; 2009.
Van Houwelingen JC, Le Cessie S. Predictive value of statistical models. Stat Med. 1990;9(11):1303–25.
Harrell FE. Regression Modeling Strategies: With Applications to Linear Models, Logistic Regression, and Survival Analysis. New York: Springer; 2001.
Steyerberg EW, Borsboom GJJM, Van Houwelingen HC, Eijkemans MJC, Habbema JDF. Validation and updating of predictive logistic regression models: a study on sample size and shrinkage. Stat Med. 2004;23(16):2567–86.
Ankerst DP, Koniarski T, Liang Y, Leach RJ, Feng Z, Sanda MG, Partin AW, Chan DW, Kagan J, Sokoll L, et al. Updating risk prediction tools: a case study in prostate cancer. Biom J. 2012;54(1):127–42.
Kranse R, Roobol M, Schröder FH. A graphical device to represent the outcomes of a logistic regression analysis. Prostate. 2008;68(15):1674–80.
Steyerberg EW, Roobol MJ, Kattan MW, van der Kwast TH, De Koning HJ, Schröder FH. Prediction of indolent prostate cancer: validation and updating of a prognostic nomogram. J Urol. 2007;177(1):107–12. discussion 112.
Roobol MJ, Van Vugt HA, Loeb S, Zhu X, Bul M, Bangma CH, Van Leenders AGLJH, Steyerberg EW, Schröder FH. Prediction of prostate cancer risk: the role of prostate volume and digital rectal examination in the ERSPC risk calculators. Eur Urol. 2012;61(3):577–83.
Catalona WJ, Partin AW, Sanda MG, Wei JT, Klee GG, Bangma CH, Slawin KM, Marks LS, Loeb S, Broyles DL, et al. A multicenter study of [−2] pro-prostate specific antigen combined with prostate specific antigen and free prostate specific antigen for prostate cancer detection in the 2.0 to 10.0 ng/ml prostate specific antigen range. J Urol. 2011;185(5):1650–5.
Lughezzani G, Lazzeri M, Haese A, McNicholas T, de la Taille A, Buffi NM, Fossati N, Lista G, Larcher A, Abrate A, et al. Multicenter European External Validation of a Prostate Health Index–based Nomogram for Predicting Prostate Cancer at Extended Biopsy. Eur Urol. 2014;66(5):906–12.
Van Houwelingen HC. Validation, calibration, revision and combination of prognostic survival models. Stat Med. 2000;19(24):3401–15.
Van Buuren S. Flexible Imputation of Missing Data. Boca Raton: Taylor & Francis; 2012.
Rubin DB. Multiple Imputation for Nonresponse in Surveys. New York: Wiley; 1987.
Harrell FE, Califf RM, Pryor DB, Lee KL, Rosati RA. Evaluating the Yield of Medical Tests. JAMA. 1982;247(18):2543–6.
Team RC. In: Team RC, editor. R; A Language and Environment for Statistical Computing. Vienna: R Foundation for Statistical Computing; 2013.
Van Buuren S, Groothuis-Oudshoorn K. mice: Multivariate Imputation by Chained Equations in R. J Stat Softw. 2011;45(3):1–67.
Burton A, Altman DG, Royston P, Holder RL. The design of simulation studies in medical statistics. Stat Med. 2006;25(24):4279–92.
Debray TPA, Vergouwe Y, Koffijberg H, Nieboer D, Steyerberg EW, Moons KGM. A new framework to enhance the interpretation of external validation studies of clinical prediction models. J Clin Epidemiol. 2015;68(3):279–89.
Pencina MJ, D' Agostino RB, Vasan RS. Evaluating the added predictive ability of a new marker: From area under the ROC curve to reclassification and beyond. Stat Med. 2008;27(2):157–72.
Vickers AJ, Elkin EB. Decision Curve Analysis: A Novel Method for Evaluating Prediction Models. Med Decis Mak. 2006;26(6):565–74.
Baker SG. Putting risk prediction in perspective: relative utility curves. J Natl Cancer Inst. 2009;101(22):1538–42.
Hilden J, Gerds TA. A note on the evaluation of novel biomarkers: do not rely on integrated discrimination improvement and net reclassification index. Stat Med. 2014;33(19):3405–14.
Leening MJG, Steyerberg EW, Van Calster B, D'Agostino RB, Pencina MJ. Net reclassification improvement and integrated discrimination improvement require calibrated models: relevance from a marker and model perspective. Stat Med. 2014;33(19):3415–8.
Financial Support: The Netherlands Organization for Scientific Research (ZonMw 9120.8004).
We are not allowed to make the data used in the article available, we have however uploaded our scripts used in the simulation study.
DN: Design, data analysis, interpretation of results, writing of paper, YV design, data analysis, interpretation of results, critical revision of paper, DPA interpretation of results and critical revision of the paper, MJR interpretation of results and critical revision of the paper, EWS design, interpretation of results, critical revision of paper. All authors read and approved the final manuscript.
The study was approved by the hospital ethics committee of the Vita-Salute San Raffaele University, Milan, Italy (Protocol 2PROPSA/13.03.2010) and all patients provided informed consent before being enrolled.
Department of Public Health, Erasmus MC-University Medical Center Rotterdam, P.O. box 2040, 3000, Rotterdam, CA, The Netherlands
D. Nieboer, Y. Vergouwe & Ewout W. Steyerberg
Department of Mathematics, Technical University Munich, Munich, Germany
Danna P. Ankerst
University of Texas Health Science Center at San Antonio, San Antonio, TX, USA
Department of Urology, Erasmus MC-University Medical Center Rotterdam, Rotterdam, The Netherlands
Monique J. Roobol
D. Nieboer
Y. Vergouwe
Ewout W. Steyerberg
Correspondence to D. Nieboer.
Coefficients used for generating datasets in the simulation study. Table containing the coefficients used in generating datasets in the simulation study. (DOCX 13 kb)
Additional file 2:
Script 1. R-scripts for running the simulation study. (R 9 kb)
Script 2. R-script containing functions used for running the simulation study. (R 2 kb)
Nieboer, D., Vergouwe, Y., Ankerst, D.P. et al. Improving prediction models with new markers: a comparison of updating strategies. BMC Med Res Methodol 16, 128 (2016). https://doi.org/10.1186/s12874-016-0231-2
Prediction model
Model updating


I stopped in for a flat repair, and they had me in and out in 30 minutes. Great people, and a very knowledgeable friendly staff. Made a return customer out of me !
Very friendly and knowledgeable staff, attended to my needs without the run around. Explained to me what was needed to repair my vehicle without having to up sell any parts or service that were not necessary at this time.


text:
Overview and Contact Details
The policy describes Cambridge University Engineering Society (CUES)'s processing of personal data routinely collected through our Website and other online presence (e.g. Facebook, Twitter etc.). It seeks to meet our legal obligations under the General Data Protection Regulation (GDPR) 2016/679 and specifically articles 12 to 14 thereof.
Our contact details in relation to these and other matters are as follows:
Address: Cambridge University Engineering Society (CUES), Department of Engineering, Trumpington Street, Cambridge, CB2 1PZ
Email: president@cues.org.uk
What data is collected
Registration on our website involves the collection of your name, contact details, college, matriculation and expected graduation years, subject, payment information and password details.
Our website sets a number of third party cookies that collect tracking information linked to online identifiers. Further information on our website cookies is provided below. We have an online presence on Facebook and they also set cookies which track users through online identifiers. However, this activity is governed by Facebook's own privacy policy which can be found at https://www.facebook.com/policy.php.
Other than information deliberately disclosed by the user (e.g. through publishing a post or sending an electronic message) we do not routinely collect any other information from users.
Purposes and Legal Basis of Processing
Our general purpose for collecting the above information is to administer, improve and sustain the services provided by the Society.
Our legal basis for the above processing is furtherance of the legitimate interests of the Society (GDPR, art. 6(1)(f)).
Our website also sets a number of Google Analytics cookies whose purpose is to provide us with analytic data about use of our website.
Our legal basis for the above processing is your consent (GDPR, art. 6(1)(a)). You have a right to withdraw consent at any time, which you may exercise by deleting these cookies and blocking further storage of them on your device. This does affect the legality of processing prior to such withdrawal.
Period of Storage
Personal data collected online is stored for as long as it is needed to administer or provide services linked to you. Unless you take action to clear or delete these from your device, specific time limits apply to our website cookies:
Google Analytics: up to 2 years
Further Rights
The GDPR grants you a number of rights including to object to processing or to request from us access to, rectification or erasure of data or to the restriction of processing. In many cases, these rights can be exercised through our services (e.g. by changing your contact details within your website account). However, should you could consider this insufficient, you may contact us at the address in order to exercise these rights. You may also raise any issue or complaint with us related with this policy through the same method. You also have the right to lodge a complaint with the UK Information Commissioner's Office (ICO) (details at https://ico.org.uk/make-a-complaint/).

redpajama_set_name: RedPajamaCommonCrawl


text:
require 'cucumber'
require 'flatware/sink'
require 'ostruct'
module Flatware
  module Cucumber
    class Formatter
      Checkpoint = Struct.new :steps, :scenarios do
        def failures?
          scenarios.any?(&:failed?)
        end
      end

      Scenario = Struct.new :name, :file_colon_line, :status do
        def failed?
          status == :failed
        end

        def failed_outside_step?
          false
        end
      end

      def initialize(config)
        # FIXME: can we sneak the sink in through the config?
        config.on_event :test_case_finished, &method(:on_test_case_finished)
        config.on_event :test_step_finished, &method(:on_test_step_finished)
        config.on_event :test_run_finished,  &method(:on_test_run_finished)
        config.on_event :step_activated,     &method(:on_step_activated)
        reset
      end

      private

      def reset
        @steps = []
        @scenarios = []
        @matched_steps = Set.new
      end

      attr_reader :steps, :scenarios, :matched_steps

      def on_test_case_finished(event)
        scenarios << Scenario.new(
          event.test_case.name,
          event.test_case.location.to_s,
          event.result.to_sym
        )
      end

      def on_step_activated(event)
        @matched_steps << event.step_match.location.to_s
      end

      def on_test_step_finished(event)
        result = event.result
        return unless really_a_step?(event.test_step) || result.undefined?

        steps << StepResult.new(
          result.to_sym,
          result.failed? && result.exception
        )
        Sink.client.progress Result.new result.to_sym
      end

      def on_test_run_finished(*)
        Sink.client.checkpoint Checkpoint.new steps, scenarios
        reset
      end

      def really_a_step?(step)
        matched_steps.include?(step.action_location.to_s)
      end
    end
  end
end

redpajama_set_name: RedPajamaGithub


text:
Roadtests
New Clio Renaultsport 200 Turbo
On the back of significant acclaim for New Clio, Renault's now laying down the gauntlet to the "hot" supermini brigade with confirmation of the latest details for the New Clio Renaultsport 200 Turbo.
The new model takes things onto a whole new level, both in terms of overall driver appeal and being able to enjoy every day. Under its sleek five-door bodyshell, New Clio Renaultsport 200 Turbo packs the new Renaultsport-developed 200hp, 1.6-litre turbo petrol engine, as well as its performance arm's first EDC (Efficient Dual Clutch) transmission.
Naturally, there is a liberal sprinkling of Renaultsport's magic, including a few tricks learned from its motor sport success. Combine this with Renault's very latest thinking when it comes to comfort and versatility, and you have a compelling car which is great to drive and easy to live with. But, when the mood takes them, drivers can also let it off its leash to become a genuine performance car, as well as a potent trackday car.
In addition to its sensuous styling, the new Clio Renaultsport 200 Turbo combines class-leading dynamics with impressively reduced fuel consumption and emissions, down by almost a quarter, so that it's even cheaper to own.
The New Clio Renaultsport 200 Turbo is 36kg lighter than its predecessor, and even with its hallmark versatility, it retains startling performance when judged against the stopwatch: the 0-62 mph sprint takes just 6.7 seconds, it can cover 1,000 metres in only 27.1 seconds from a standing start and on a racetrack it is capable of reaching a top speed of 143 mph.
You are spoilt for choice when it comes to colour, the Clio Renaultsport 200 Turbo is available in a choice of five body colours, including the exclusive, emblematic Liquid Yellow.
In contrast to the elegance of the dominant black trim, a number of red details irresistibly draw the eye and structure the shape of the cabin. The choice of red for New Clio, a colour readily associated with the notion of passion', is also evocative of the sporty additions introduced by Renaultsport, with the seatbelts and instrument needles being two striking examples. Red has also been used for the visible stitching, the sports steering wheel's 'straight ahead' position marker, the air-vent surrounds and door panel beading. The gear lever knob, too, comes with red touches which are echoed by the visible stitching of the gear lever gaiter.
The anthracite gearshift paddles are fixed behind the steering wheel, while the grey instrument backgrounds are specific to Clio Renaultsport 200 Turbo. When the engine is fired up, the rev-counter and fuel gauge needles come to life with a fun display.
A long-standing strength of Renaultsport models, the bucket seats come with additional lateral support in order to provide the high level of seating comfort and stability expected of a Clio flagship. They can also be upholstered in black leather with visible red stitching.
The black gloss centre console houses the 7" touchscreen with R-Link and integrated TomTom navigation with a chrome surround.
UK pricing to be confirmed on 28 February. Ordering opens in April with first deliveries in June
Worth Checking - Motoring news - Road Tests
Latest Motoring News
Weekly Motoring news Roundup January 15th
How Will New Technology Impact The Future Of Motoring?
New Era for Renault
TVR begin factory preparation and conversion
Weekly Motoring news Roundup January 8th
New Kia Stinger GT S
New 2021 Jeep Grand Cherokee L
2020 UK car sales
© Copyright 2019 -. All rights reserved. GR (UK)


text:
YouTube TV readying 4K streaming and offline downloads
By What Hi-Fi? published 18 February 21
Extra features and flexibility are on the way
(Image credit: YouTube)
YouTube has announced a new "add-on" package for YouTube TV that lets viewers stream shows in 4K or save them to their DVR for offline viewing.
In a blog post today, YouTube's Chief Product Officer Neal Mohan also told investors the new features would bring "unlimited concurrent streams at home, so the whole family can enjoy YouTube TV on different screens at once."
Currently, YouTube TV users are limited to three concurrent streams whereas rival streaming service Netflix allows 4K streaming on up to four devices – provided you subscribe to its premium tier, of course.
YouTube TV subscribers currently pay $65 per month for 85+ live TV channels, plus a host of on-demand movies and TV shows. It's thought the upcoming 4K "add-on" will trigger a price hike, though YouTube has yet to confirm anything.
There's also no word on what 4K content will be make available. YouTube already offers a handful of 4K movies to buy or rent but there's talk of the company offering major live sporting events – such as the Olympics and the Super Bowl – in 4K, too.
The blog post does make it clear why YouTube TV is raising its game: while most YouTube videos are watched on mobile, TV is the company's "fastest area of growth".
There's no official release date for the new features, but 9to5Google has spotted that the latest version of the YouTube TV app offers offline viewing on selected Android devices.
Our pick of the best streaming services for TV and movies
YouTube TV offers free Chromecast
Stream on: the best TV streaming devices for every budget
What Hi-Fi?, founded in 1976, is the world's leading independent guide to buying and owning hi-fi and home entertainment products. Our comprehensive tests help you buy the very best for your money, with our advice sections giving you step-by-step information on how to get even more from your music and movies. Everything is tested by our dedicated team of in-house reviewers in our custom-built test rooms in London and Bath. Our coveted five-star rating and Awards are recognised all over the world as the ultimate seal of approval, so you can buy with absolute confidence.
Read more about how we test
Best multi-room systems 2022: wireless whole home audio
Best Sonos alternatives 2022: multi-room music systems
Best streaming services for movies and TV shows 2022


April 25, 2019 Covenant drops Piedmont in first round of playoffs Behind the [itching of Andrew Cline, Covenant upset top ranked Piedmont in the opening day of the USA South conference tournament. La Roche's Joe Professori is the latest to set a major record, taking over the program's career hits record with his 222nd hit.
March 10, 2019 Magic Continues as Lions Walk-Off for 6-5 win Over William Peace The Piedmont College baseball team walked off for a 6-5 win on TYLER BURDETTE's two-run single in the bottom of the ninth against William Peace on Sunday evening at Loudermilk Field.
March 5, 2019 Lions Can't Keep Pace With Adrian In 9-7 Loss For the second straight game, the Piedmont College baseball team was unable to battle back from an early deficit in a 9-7 loss to Adrian College Tuesday. Piedmont trailed 4-0 early but mounted a comeback only to allow a four spot to the Bulldogs in the seventh inning and once again trail by four.
March 3, 2019 Lions Drop Series Finale to Pfeiffer 8-5 In the series finale v. Pfeiffer, the Piedmont College baseball team was unable to complete the comeback falling 8-5 to the Falcons. The Lions loaded the bases in the top of the ninth but a pair of strikeouts ended the game.


text:
'Honor me with a check' - Rampage Jackson rejects UFC Hall-of-Fame induction, MMA fame
Quinton "Rampage" Jackson says he won't accept a Hall-of-Fame induction from the UFC.
By Milan Ordoñez@Mr_Ordonez Nov 30, 2021, 6:00am EST
Share All sharing options for: 'Honor me with a check' - Rampage Jackson rejects UFC Hall-of-Fame induction, MMA fame
If you've followed this sport for a long time, you're aware of Quinton Jackson's accomplishments. A former UFC champion, "Rampage" delivered some of the most memorable performances in the past two decades, both inside the Octagon and the squared ring.
Sometime in the future, the UFC will likely induct Jackson into its Hall-of-Fame. But if you ask the 43-year-old veteran, he'd rather receive some form of monetary compensation for his efforts for the company.
"Honor me with a f—ng check," Rampage told Ariel Helwani on Monday's episode of The MMA Hour. "MMA fighters, we're not like baseball players, we're not like football players. We don't get no pension and nothing like that. Those guys that get in the Hall-of-Fame, they got pensions and all that shit. We don't get that shit.
"Honor me with a check. I've got a lot of injuries and pain for making the UFC a lot of money and selling a lot of pay-per-views, selling a lot of tickets. What do I give a f—k about a 'Hall-of-Fame' to be famous?"
Rampage seems to have a complex relationship with the fame that comes with his chosen profession. While he does accept some of it, he generally isn't fond of being in the MMA spotlight.
"MMA fame, what's that? You get a bunch of dudes trying to buy you drinks and shit," he said after Saturday's Triad Combat event. "You feel like a chick whenever you go anywhere. The dudes always want f—ng pictures with you and shit.
"I love my fans. I love Rampage fans. I don't love all MMA fans, but I love our Rampage fans. But sometimes, dudes need to leave me the f—k alone. There are certain times. If I'm eating with my kids, I'm at the club with a hot chick… If I'm with an ugly one, OK, I'll give you a pass. But if I'm with a hot one, leave me the f—k alone."
Rampage, who last saw action against Fedor Emelianenko in 2019, isn't looking forward to a cage return right now. He instead prefers to engage in a boxing match with former world champion Shannon Briggs.


text:
Миртил () — персонаж древнегреческой мифологии. Сын Гермеса.

Служил возничим у царя Эномая. Хозяин Миртила был известен тем, что убивал всех женихов своей дочери Гипподамии. Обязательным условием жениху была поставлена победа в гонке колесниц. Так как Эномай обладал особыми конями, с которыми никто не мог сравниться в быстроте, то он легко догонял соперника и убивал копьём. Миртил, то ли вследствие любви к Гипподамии, то ли из-за обещанной награды, предал Эномая. Перед состязанием с Пелопом Миртил не укрепил должным образом колёса колесницы. В самый ответственный момент повозка Эномая разлетелась, и победу в гонке одержал Пелоп.

По достижении желаемого Пелоп не только не отблагодарил Миртила, но убил, а тело скинул в море. Перед смертью возница проклял Пелопа и весь его род. Проклятие Миртила, преследовавшее род Пелопидов, стало популярным у древнегреческих трагиков. С ним связывали беды и страдания сыновей, внуков и правнуков Пелопа, среди которых были такие знаковые мифологические персонажи как Агамемнон, Менелай, Электра и Орест.

Мифы

Происхождение
По классической версии мифа Миртил был сыном Гермеса и Клеобулы, дочери Эола или Этола. В разных античных источниках и схолиях матерью Миртила называют двух данаид и амазонку . Согласно отличной от других версии Николая Дамасского Миртил был сыном некого Гиперохида и родственником Эномая.

Служба у Эномая
Античные источники представляют Миртила слугой-возничим царя города Писа в Элиде Эномая. Отец Эномая, бог войны Арес, подарил сыну лошадей, с которыми никто не мог сравниться в скорости. Также у Эномая была красавица-дочь Гипподамия. Однако отец не стремился выдавать её замуж. По одной версии мифа, это было связано с пророчеством относительно того, что он погибнет по вине зятя, по другим — вследствие кровосмесительной страсти отца к дочери. Как бы то ни было, Эномай поставил непременным условием женихам Гипподамии победить его в гонке колесниц. Сначала он давал возможность сопернику вырваться вперёд, а затем легко догонял его и поражал копьём. Таким образом, Эномай убил множество женихов своей дочери. Миртил всё это время служил возничим и правил колесницей царя, когда тот преследовал и убивал женихов Гипподамии.

Пелоп, перед тем как бросить вызов Эномаю, сумел уговорить Миртила предать своего хозяина. В античных источниках существует множество вариаций относительно такого поступка Миртила. Согласно Диодору Сицилийскому возницу подкупили, Псевдо-Гигину — пообещали половину царства, Псевдо-Аполлодору и Первому Ватиканскому мифографу совершить измену его уговорила Гипподамия, которую Миртил любил, пообещав провести с ним первую брачную ночь. Миртил либо не закрепил ступицы колёс, либо заменил их на восковые, что привело к катастрофе и поражению Эномая. Существует несколько вариаций мифа относительно того, каким образом погиб царь Писы. По одной из них перед смертью Эномай, поняв, что его предали, проклял Миртила, пожелав ему погибнуть от руки Пелопа.

Несколько иную версию излагает древнегреческий историк Николай Дамасский. Согласно его «Истории», Пелоп с войском пришёл в страну, где правил Эномай. Царь в качестве посла выбрал Миртила. Миртил прибыл к Пелопу с вопросом о его дальнейших планах. Узнав, что тот желает поселиться в стране Эномая, он возразил, что без согласия местного царя это сделать невозможно, и предложил помощь при условии, что после получит в жёны Гипподамию. Пелоп согласился. Миртил рассказал Эномаю, что Пелоп со своим народом хочет отобрать царство. В битве Миртил, будучи возницей Эномая, убил своего царя, тем самым определив исход сражения.

Смерть и посмертные мифы
Согласно всем античным источникам, Миртил погиб от руки Пелопа. При этом существует несколько версий относительно обстоятельств его гибели. Псевдо-Аполлодор считал, что Миртил стал служить Пелопу. В какой-то момент, когда его хозяин отлучился, он попытался овладеть Гипподамией. Пелоп, узнав о случившемся, сбросил Миртила в море. Событие произошло у южной оконечности острова Эвбея мыса Герест. Согласно Первому Ватиканскому мифографу Павсанию, Пелоп сбросил Миртила в море, так как не хотел отдавать положенную ему награду. В честь погибшего юго-западная часть Эгейского моря в античности носила название Миртойского. В версии Николая Дамасского Пелоп, захотев после победы над Эномаем жениться на Гипподамии, отвёл Миртила к морю и убил. Таким образом он смог избавиться от соперника и сделать приятное невесте, отомстив непосредственному убийце её отца.

По одному из локальных мифов, труп Миртила был выброшен на берег. Жители города Феней в Аркадии взяли тело и похоронили у себя, позади храма Гермеса, а после воздавали ежегодные почести. Пелоп, по одному из мифов, желая смягчить силу проклятия Миртила, воздвиг в его честь пустой погребальный холм и совершал жертвоприношения на месте, где потерпела крушение колесница Эномая. Насыпь получила название «Тараксипп» или в дословном переводе «Ужас коней», так как в этом месте лошади теряли самообладание и переставали повиноваться своим возницам.

Перед смертью обманутый возница Эномая проклял своего убийцу и весь его род. Это «проклятие Пелопидов» стало одной из причин последующих несчастий в роду детей (Атрей и Фиест), внуков (Агамемнон, Менелай и Эгисф) и правнуков (Орест, Ифигения и Электра) Пелопа. Даже Платон подчёркивал близорукость Пелопа, который в своих действиях, в том числе убийстве Миртила, руководствовался исключительно сиюминутными целями, не думая о более отдалённых последствиях. В ряде случаев ответственным за отмщение Миртила дому Пелопидов называют его божественного отца Гермеса.

После смерти Гермес поместил своего сына на небо созвездием Возничего.

Происхождение мифа
Антиковеды отмечают, что упоминания о Миртиле отсутствуют в «Илиаде» Гомера и посвящённой Пелопу Олимпийской оде Пиндара (522/518 — 448/438 годы до н. э.). На основании этимологии делается вывод, что имя Миртила характерно для территорий, где были в обращении хетто-лувийские языки, а также расположенных рядом с Малой Азией островов восточной части Эгейского моря. Ульрих фон Виламовиц-Мёллендорф на основании ряда схолий утверждал, что впервые миф о Миртиле был описан в несохранившихся произведениях Ферекида, в которых нашёл отображение местный лесбосский вариант мифа. По нему Эномай был царём острова Лесбос, а состязание с Пелопом происходило на колесницах, запряжённых крылатыми конями, державшими свой путь через Эгейское море к Истму. В пользу этой версии говорит имя деда Миртила по материнской линии Эола, чьей родиной считался Лесбос. Впоследствии, когда локальный миф о Миртиле был подвергнут литературной обработке в произведениях Софокла и Еврипида, он получил широкое распространение по всей Элладе и вне её пределов.

В искусстве

Картины и статуи, вазопись

Восточный фронтон храма Зевса в Олимпии работы Пеония содержал сцену перед состязанием между Пелопом и Эномаем. Посередине был изображён Зевс, справа от верховного бога — Эномай со своей женой Стеропой, четвёрка лошадей, перед которыми стоит Миртил. За возничим находились двое людей, имена которых неизвестны, по всей видимости, конюхи Эномая. Слева от Зевса расположены Пелоп и Гипподамия, возничий, конюхи и лошади Пелопа.

При описании одной из античных картин с мифом о Пелопе и Эномае  упоминает Миртила в числе других персонажей. При этом ось колесницы подпиливает не возница Эномая, а сконфуженный Эрот. Тем самым автор картины подчёркивает наличие заговора между влюблённой парой Пелопом и Гипподамией.

Различные эпизоды мифа о жизни и смерти Миртила нашли отображение на скульптурных композициях погребальных сооружений и в вазописи.

Литература
Проклятие Миртила, преследовавшее дом Пелопидов, стало любимой темой греческих трагиков. В эпоху кризиса аристократии в древнегреческой литературе сложилось немало сказаний о роке, тяготевшем над целыми знатными родами. Такие циклы мифов давали возможность изобразить трагическую судьбу нескольких поколений. Наиболее проработанной тематикой стала история рода Пелопидов. Если Эсхил в тетралогии «Орестея» лишь описывает тяготевший над Пелопидами рок, то Софокл с Еврипидом связывают его непосредственно с проклятьем Миртила. В трагедии Софокла «Электра» содержатся следующие строки:

В трагедии Еврипида «Орест» правнучка Пелопа Электра произносит:

Примечания

Источники и литература

Источники

Литература

Герои древнегреческих мифов
Мифы Элиды
Мифы о Гермесе
Катастеризмы

redpajama_set_name: RedPajamaWikipedia


In this demo, Row mode is enabled for editing by mode of Grid EditSettings as 'Dialog'. You can start editing any row by double clicking on it or clicking on toolbar's Edit button, then the currently selected row will be shown on a dialog. You can change the row values and save edited data to the datasource.


Dental implants are a secure and natural-looking tooth replacement option for those who have lost teeth due to trauma, gum disease or dental decay. They consist of a titanium root device that is implanted directly into the jawbone where the root of the missing tooth had been previously and a porcelain crown. The dental implant procedure has been shown to be extremely safe and effective and has one of the highest success rates of any tooth replacement procedure with few associated risks.
The titanium used in the implant device is entirely compatible with human tissue and therefore poses no rejection risk, while the materials used to make the crown are equally compatible. The most common risk is dislocation of the titanium rod, which is rare and, while inconvenient, poses no actual physical risk to you.
Other risks associated with dental implants are generally avoidable through a thorough screening of patients before the procedure, ensuring they enjoy good dental health. Those who have inadequate bone structure or poor dental health may need treatment before undergoing the implant procedure. In some cases, dental implants can affect the nerves of the mouth or the sinus membrane. These risks cannot be eliminated entirely, but an experienced implant dentist will work to minimize them.
Following post-operative instructions will enable the patient to reduce the risk of swelling, pain, tenderness and infection. Smoking, uncontrolled diabetes, and other health conditions may lead to delayed healing. If you are interested in receiving implants, it is crucial that you discuss your health thoroughly with our West Hollywood dentist for the best results.


In many cases such as disk full or mongodb database is completely damage and can not recover, we have to re-initialise it from scratch. You may simply follow these following steps.
The new database will be re-created with 1 week data in the next "full query". Then running the js scripts so you are able to login MP with "admin:admin"
If you are running MongoDB replica set, you need to refresh secondary nodes too. Otherwise you will experience error "too stale to catch up".


text:
Help us stop £1,000 billion benefit scroungers
Following David Cameron's promise of a crackdown on benefit "fraud", a revolting campaign has been launched in the Sun against "scroungers" and "cheats". Isn't it time for a parallel campaign against corporate fraudsters?
Guy Aitchison
Following David Cameron's promise of a crackdown on benefit "fraud", a revolting campaign has been launched in the Sun against "scroungers" and "cheats". Readers are encouraged to report those they suspect of over-claiming benefits to the Sun who will presumably then expose, humiliate and demonise them as an example to others.
Take a look at the accompanying article. It really is a classic of the genre, worth studying by anyone interested in the "divide and rule" strategies of the corporate media in this country. There's the unrepentant young couple sat grinning in front of their widescreen TV and X-box ("all paid for by YOU"); there's the Somali family living in the Kensington mansion, the "hardline" Muslim cleric, the "Baby Machine", and even the "sick Raoul Moat fan". And no Sun article would be complete, of course, without the patriotic British squaddie fresh back from Afghanistan, juggling a job in construction with fathering a family and volunteering with the TA, doing his country "proud" whilst thousands of the feckless poor put it to "shame".
What the Sun won't say, of course, is that the cost of "benefit fraud" is actually relatively low and has been falling for years. At £1.1 billion it amounts to less than 1% of total benefit expenditure and less than half the costs incurred as a result of administrative errors in the Department for Work and Pensions. So there are clearly improvements which could be made to the system before we unleash the credit agencies on an already stigmatised group and risk deterring legitimate claimants.
But if we really want to make some savings in the welfare system we need to look elsewhere. Even if the government got its administrative house in order and achieved its utterly unrealistic goal of reducing benefit fraud far below what it is already, we're still only talking peanuts, in relative terms, at a mere £3 billion a year. If the government is really serious about saving money on the welfare system, it should follow the real money and take a look at the costs of corporate welfare.
Yes, whilst the costs of welfare fraud amongst the poor have been falling in recent years, the costs of corporate welfare (that staple of Anglo-American capitalism) have sky-rocketed. And I mean, really sky-rocketed. The cost of bailing out the banks since 2008 has added over £1 trillion to the UK's debt. All the while, the bankers who nearly ruined the economy, have been awarding themselves massive bonuses, allowing the "grasping, lazy layabouts to lead a luxury lifestyle funded by you"...as the Sun might put it. This is the real outrage committed against British taxpayers which we are now being asked to pay for.
Cameron and the Sun, of course, would rather you focused your rage on Chris and Jaimie and their flat-screen TV as the cuts begin to hurt. Which raises the question: Where is the left-wing publication with the resources to run an equivalent campaign against corporate welfare scroungers? Shouldn't we be thinking of a parallel campaign, with its own confidential informants' line, to uncover and expose where the real money has gone? Who are these bankers who have made off with our money? How many yachts do they have? Do they need that many?
Part of telling the true story about how we got into this economic mess should involve personalising the narrative I think, just as the tabloids do so successfully with the "baby machine", Somali family et al. Indeed, the Sun's hated gallery of "shameless" claimants are classic tabloid tropes, but apart from "Fred the Shred", the former RBS boss who provoked public fury last year, who are the corporate fraudsters who need to be held to account? It's time they were named and shamed so we can remind ourselves who the real villains are who put the economy in the mess it's in.


text:
The U.S. Department of Transportation has published a Notice of Funding Opportunity (NOFO) for $1.5 billion in grant funding through the Rebuilding American Infrastructure with Sustainability and Equity (RAISE) discretionary grant program for 2023. The popular program helps communities around the country carry out projects with significant local or regional impact.
RAISE discretionary grants help project sponsors at the State and local ...
"Ride & Drive" Event in Hampton Roads
The Hampton Roads Alliance is partnering with the electric commercial vehicle manufacturer, Lion Electric, to bring an electric vehicle "Ride and Drive" event to the Hampton Roads area. This event is organized specifically to encourage and allow representatives from local government institutions to learn about, test, and ride heavy-duty electric vehicles.
The Ride and Drive event will be held on Wednesday, February 1st at Military Circle Mall in Norfolk from 9:00AM to 4:00PM. ...
Join us and Shankar Mukherjee, Vice President of Market Development and Product Management at Virginia Transformer Corporation, on February 16th at 4:00 PM for an in-depth conversation covering the theme "Implementing Next-Gen Smart and Efficient EV Charging Infrastructure!" Shankar will be discussing topics surrounding the effects of lead times on the transformer industry, whether there ...
A Liquefied Petroleum Gas powered school bus at a refueling station in Roanoke in 2015.
On Nov. 30th, 2022 the Department of Energy (DOE) received funding through the Bipartisan Infrastructure Law to renew American's schools within two areas of interest: energy efficiency and health improvements. The program aims to provide funding for public K-12 schools, ...
An Amtrak passenger train. Photo from American-Rails.com.
WASHINGTON, D.C. – The U.S. Department of Transportation (USDOT) today issued a Notice of Funding Opportunity (NOFO) announcing the availability of almost $2.3 billion in funding to expand and modernize intercity passenger rail nationwide through the Federal-State Partnership for Intercity Passenger Rail Grant Program (Partnership Program). Thanks to President ...
Demand for Gas Soars As Record Profits Seen by Oil Corporations
Major Gas Corporations. From Blogspot.
Following Russia's invasion of Ukraine and its ensuing international energy crisis allowed for crude oil producers such as Chevron and Exxon to gouge gasoline prices. These higher prices led to record profits for oil corporations, with CBS News reporting that Exxon Mobil earned $112 billion in total quarterly revenue, double that of the previous year. They additionally report Chevron ...
E85 Annual Fuel Report: Analysis of Shifting Prices in the Gasoline Market for 2022
Location of E85 Stations in Virginia. From the AFDC.
The US market has access to all kinds of fuel types including natural gas, electric, bio-diesel, and gasoline. Renewable ethanol-gasoline is especially prevalent in the United States, with there being a few different variations of the fuel. Most ethanol-gasoline mixtures are ...
Don't Wait! Apply Now for the 2023 Governor's Environmental Excellence Award
Has your company been hard at work to reduce its environmental footprint and a drive to preserve the our green and blue planet? Did you develop an effective technique to combat or reverse environmental damage? Do you want recognition for these achievements?
Consider applying for the 2023 Governor's Environmental ...
$750,000 Awarded to Upper Mattaponi Tribe through Tribal Transit Program
Electric Transportation Vehicles at the 2017 Rally at the Raceway. From VCC Photo Library
Statewide Electric Vehicle Charging Report
Statewide Electric Vehicle Charging ReportDownload
In May and June of 2021, Virginia Clean Cities developed a statewide report for Virginia and Washington D.C. to assess the Commonwealth's Electric Vehicle Charging Infrastructure Projections and 10% Deployment Scenario. The objective of this report is to outline the tools and benefits available to the Commonwealth ...
Page 1 of 2 12


text:
Last edited by Fenrilrajas
3 edition of Chemical hazards to human reproduction found in the catalog.
Chemical hazards to human reproduction
Ian C. T. Nisbet
by Ian C. T. Nisbet
Published 1983 by Noyes Data Corp. in Park Ridge, N.J., U.S.A .
Generative organs -- Diseases.,
Toxicology.,
Reproduction.,
Reproduction -- Drug effects.
Statement Ian C.T. Nisbet, Nathan J. Karch.
Contributions Karch, Nathan J., Clement Associates., Council on Environmental Quality (U.S.)
LC Classifications RC877 .N57 1983
Pagination x, 245 p. :
A chemical hazard is a type of occupational hazard caused by exposure to chemicals in the workplace. Exposure to chemicals in the workplace can cause acute or long-term detrimental health effects. There are many types of hazardous chemicals, including neurotoxins, immune agents, dermatologic agents, carcinogens, reproductive toxins, systemic toxins, asthmagens, pneumoconiotic agents, and. 2. WHAT IS TOXICOLOGY 1. What is toxicology? Toxicology is the science of adverse effects of chemical substances on living organisms. Living organisms include the algae in the sea, animals and people, all flora and fauna. There are no safe substances, all chemicals can be .
60 The mesovarium completely encloses each ovary and oviduct within a single compartment, the ovarian bursa (Figure c). In rodents the ovarian bursa communicates with the peritoneal cavity via a small slit-like opening. Figure c – Rete ovarii (RO) and ovarian bursa (OB) (rat, H&E x10). The ovarian stroma forms the body of the ovary and is composed of spindle-shaped, fibroblast. Reproductive Hazards Workplace Hazards of the Workplace: : Frazier, Hage: Books. Skip to main content. Try Prime Hello, Sign in Account & Lists Sign in Account & Lists Returns & Orders Try Prime Basket. Books Go Search Hello Select your address.
of Risks to Human Reproduction (CERHR) in The CERHR is a publicly accessible resource for information about adverse repro-ductive and/or developmental health effects associated with exposure to environmental and/or occupational chemicals. The CERHR is located at the National Institute of Environmen-tal Health Sciences (NIEHS) of the NationalFile Size: 4MB. 1 Introduction. D isorders of human reproduction and development affect a substantial number of individuals of all ages and have long-standing implications for the public in terms of both quality of life issues and economic costs. Although reproductive disorders typically affect younger individuals, they also have implications for long-term health status.
Psalms, songs and sonnets. (1611)
Cobbetts complete collection of state trials and proceedings for high treason and other crimes and misdemeanors from the earliest period to the present time ...
Conservation in Bungay
control of quality in the office
Beyond O.J.
Selected national data sources for health planners
The 2007-2012 Outlook for Catalog and Mail Order Retail Sales in the United States
Purity in an Impure Age
The life of Charles Lever.
The motorcaravan handbook
A new Portuguese grammar, in four parts ...
International stock returns and market integration
Principal federal independent regulatory agencies
Microcomputer applications
History of the Second World War
Im So Glad I Touched Shoulders With You
Prospectus and rules of the Canada Permanent Building and Savings Society
Impromptus.
Further reflections on the death of a porcupine
Chemical hazards to human reproduction by Ian C. T. Nisbet Download PDF EPUB FB2
Genre/Form: Government publications: Additional Physical Format: Online version: Chemical hazards to human reproduction. [Washington, D.C.]: The Council: For sale. Additional Physical Format: Online version: Nisbet, Ian C.T. Chemical hazards to human reproduction.
Park Ridge, N.J., U.S.A.: Noyes Data Corp., Chemical Hazards to Human Reproduction by Ian C. Nisbet and Nathan J. Karch (, Hardcover) Be the first to write a review About this product Brand new: lowest price. Chemical hazards to human reproduction were evaluated with emphasis on the nature and extent of reproductive toxicity, its causes, and its importance as a public health concern.
The human reproductive system and its susceptibility to toxic chemicals were discussed, including prenatal susceptibility to chemical insult, susceptibility of male and female systems, and the relationship. The potential hazards posed to human reproduction by chemicals, and human risks from chemical exposure are difficult to assess because of the complexity of the reproductive process, the unreliability of laboratory tests, and the quality of.
The fourth edition of Human Reproductive Biology—winner of a Textbook Excellence Award (Texty) from The Text and Academic Authors Association—emphasizes the biological and biomedical aspects of human reproduction, explains advances in reproductive science Chemical hazards to human reproduction book discusses the choices and concerns of today.
Generously illustrated in full. Reproductive hazards are substances or agents that may affect the reproductive health of women or men or the ability of couples to have healthy children. Hazards may be chemical, physical or biological.
Examples of reproductive hazards are lead (chemical). Hormones also regulate the timing of reproductive events.
The brain influences secretion of Gonadotropic Hormones (GH), Follicle-Stimulating Hormone (FSH), and Luteinizing Hormone (LH) from the anterior pituitary gland. Select CHAPTER TWO - The Female Reproductive System.
control measures, allows the production, transport, use and disposal of chemicals to be managed safely. Thus, human health and the environment are protected. The sound management of chemicals should include systems through which chemical hazards are identified and communicated to all who are potentially exposed.
These groups include. Chemical Hazards April, Core Body of Knowledge for the Generalist OHS Professional Chemical Hazards Dino Pisaniello PhD, MPH, FAIOH, FRACI, FSIA, COH Associate Professor in Occupational and Environmental Hygiene University of Adelaide Email: [email protected] Chemicals in the Workplace There arehazardous chemicals used in the workplace around the world.
• Hundreds more are added every year. Chemicals are used for a variety of purposes. Employees must know how to protect themselves from chemical hazards. Reproductive hazards may cause the shape of sperm cells to be different.
These sperm often have trouble swimming or are unable to fertilize the egg. insecticides, lead, carbon disulfide, pesticides, bisphenol A, petrochemical, carbofuran, nickel. Given the finite supply of water available for human use, continued chemical contamination of the aquatic environment may pose a significant human health hazard.
Consequently, an effort must be made to develop ambient water quality criteria to protect human Cited by: Chap 2 - Hazards - Biological, Chemical, and Physical Chapter 2: Hazards - Biological, Chemical and Physical Explanatory Note: Whether a particular hazard listed in this chapter will need to be addressed in a HACCP plan will depend on an evaluation of the actual risk and severity of the hazard in the food.
This evaluation is explained in the. See also Council on Environmental Quality, Chemical Hazards to Human Reproduction () and Office of Technology Assessment, Reproductive Health Hazards in the Workplace () for examples of other workplace hazards to male reproductive and sexual by: 6.
Your steps to chemical safety 4 Your next steps Chapter 2 sets out the different types of chemicals that you might find in your workplace. In addition it shows how different chemicals can effect the body. Chapter 3 shows how you can manage the chemicals in your workplace.
A template for your chemical inventory is provided in the appendix. Physical Hazards of Chemicals. The physical hazards of a chemical include its flammability and reactivity.
Flammability is the tendency of a chemical to burn. The flashpoint, auto ignition temperature and flammable limits of the material may be found in the SDS, and are helpful in assessing the potential for a fire hazard under specified. The flagship journal of the European Society of Human Reproduction and Embryology.
Publishes full-length, peer-reviewed papers reporting clinical science and me We use cookies to enhance your experience on our continuing to use our website, you are agreeing to our use of cookies.
GHS Classification Criteria for Reproductive Toxicity. Little Pro on Views: Update Reproductive toxicity refers to adverse effects of a chemical substance/mixture on sexual function and fertility in adult males and females, as well as developmental toxicity in the offspring.
Developmental toxicity pertains to adverse toxic effects to the developing embryo or fetus. Reproductive toxins are defined by the OSHA Laboratory Standard as substances that cause chromosomal damage (mutagens) and/or substances with lethal or teratogenic (malformation) effects on fetuses.
These can include chemicals, biologicals, and radioactive materials. Chapter 8. The book is divided into five main parts, the first of which includes an introduction to theimpacts of developmental exposure to environmental chemicals and historical perspectives, while the second focuses on how environmental chemicals can affect human organs, including neurodevelopment, immune functions, etc.The need to develop effective strategies for protecting the reproductive health of employees―female and male―is more critical than ever.
Reproductive Hazards of the Workplace is designed to help managers, primary care physicians, and health and safety professionals manage and prevent occupational reproductive : Hardcover.It is time that we deliberate on occupational health and safety in chemical industries in transitional economies.
As new industries develop, existing industries expand, and new technology is introduced, the environment is increasingly placed at risk and hazards to human health arise.
ktexcleaning.com - Chemical hazards to human reproduction book © 2020


School started today. I always have such bittersweet thoughts each year as I send my children off to a world of pre-calculus, environmental science and U.S. History. And while my youngest is a junior in high school and my oldest is a sophomore in college, it doesn't mean I don't get a little teary-eyed.
Because the first day of school is a marker of time. If you're a mom of school-aged children, you are probably like me. There is always the "first day of school" photo. For me, it just happened to be of Courtney getting ready to hop in her little Volkswagen bug this morning. What happened to the day when we walked down the street hand-in-hand anxious about meeting the new teacher and discovering who would be in her class?
I know I'm not alone. Today (or somewhere close to today) moms around the world will be sending their little ones (and big ones) off to school. It might just be one of those "times to weep." But it's also a time to laugh. It's a time of joy to see them maturing not only physically, socially and emotionally, but maturing spiritually. It's a time to begin seeing how your children are applying Biblical principles in their life, struggling with spiritual questions and expressing their desire to make their world better because of the Gospel.
So, to all you moms out there: take a moment to reflect on the past, but rejoice in what you have instilled in the hearts of your children. They might just rise up someday and called you blessed!


text:
Grace Fisher (21 Jun 1900 - ____)
Grace Francis Octavia Fisher (____ - ____)
Hannah Fisher (____ - ____)
Hannah Fisher (10 Nov 1798 - 20 Feb 1883)
Harold E. Fisher (5 Feb 1922 - AFT Apr 1940)
Harold Sherman Fisher (3 Jan 1904 - 28 Jan 1904)
Harriet Amanda "Hattie" Fisher (16 Sep 1866 - 9 Mar 1884)
Harriet Augusta Fisher (10 Feb 1841 - 21 Sep 1927)
Harriet Louisa Fisher (23 Apr 1822 - ____)
Harriett Idelia Fisher (5 May 1907 - 31 Oct 1966)
Harry Dunwood Fisher (9 Apr 1904 - 27 Dec 1995)
Hattie F. Fisher (ABT 1906 - AFT Apr 1940)
Helen Copeland Fisher (27 May 1885 - ____)
Henry Fisher (10 May 1835 - 18 Jan 1910)
Henry Sabine Fisher (12 Sep 1894 - ____)
Herbert L. Fisher (1868 - ____)
Ida Gano Fisher (10 Jan 1873 - 19 Oct 1948)
Ida M. Fisher (____ - ____)
Ira Fisher (7 Dec 1836 - 2 Nov 1870)
Ira Clark Fisher (19 Oct 1852 - 7 Apr 1926)
Jabez Fisher (28 Nov 1791 - 10 Aug 1889)
Jabez George Fisher (5 Sep 1823 - 10 Jan 1826)
Jabin Fisher (____ - ____)
Jacob Andrew Fisher (____ - ____)
James Fisher (3 Feb 1798 - ____)
James Tucker Fisher (12 Aug 1817 - ____)
Jane Carol Fisher (____ - ____)
Jedathan Fisher (____ - ____)
Joe Fisher (____ - ____)
John Fisher (____ - ____)
John Fisher (29 Dec 1755 - 9 Jun 1843)
John C. Fisher (____ - ____)
John J. Fisher (1 Apr 1920 - ____)
John R. Fisher (22 May 1914 - 26 Jan 2000)
Joseph Fisher (____ - ____)
Joyce Lucille Fisher (____ - ____)
Judith Fisher (____ - BEF 1771)
Julia A. Fisher (17 Jan 1842 - 6 Mar 1856)
Julia M. E. Fisher (10 Feb 1918 - ____)
Kevin Donald Fisher (____ - ____)
Larned Fisher (____ - ____)
Laura Fisher (____ - ____)
Lauren Fisher (____ - ____)
Lena Rodgers Fisher (24 Mar 1877 - 1960)
Lewis Fisher (____ - ____)
Lillian Fisher (Bet 1937 and 1938 - AFT Apr 1940)
Lillius Ann Fisher (20 Apr 1829 - 20 Aug 1918)
Linda Kay Fisher (____ - ____)
Lindsey Renee Fisher (____ - ____)
Lloyd Charles Fisher (____ - ____)
Lloyd T. Fisher (____ - ____)
Lottie I. Fisher (4 Jan 1898 - Aug 1991)
Lottie Iona Fisher (1867 - ____)
Lucy Fisher (____ - ____)
Lucy A. Fisher (ABT 24 Jan 1835 - 25 Oct 1918)
Luke C. Fisher (19 Jun 1839 - ____)
Lydia Laurene Fisher (2 Feb 1839 - 13 Nov 1910)
Mabel C. Fisher (ABT 1882 - 1967)
Mabel Manton Fisher (2 May 1864 - 22 Feb 1902)
Margaret Fisher (ABT 1912 - ____)
Margaret Caroline Fisher (Jun 1857 - AFT Apr 1930)
Maria Fisher (____ - ____)
Marian E. Fisher (ABT Mar 1928 - AFT Apr 1940)
Mariann Fisher (____ - ____)
Marlene Fisher (____ - ____)
Martha Fisher (30 Aug 1828 - 18 Feb 1897)
Martha E. "Mattie" Fisher (1840 - 1914)
Mary Davenport Fisher (10 Jun 1830 - Apr 1831)
Mary E. Fisher (Sep 1834 - 14 Aug 1858)
Maud E. Fisher (20 Aug 1869 - 9 Apr 1877)
BACK (Adam Fisher - Gordon William Fisher )
NEXT (Melvin Charles Fisher - Fiske )


Dr. John C. Kurylo is an orthopedic surgeon specializing in the surgical treatment of fractures and injuries resulting from trauma. Dr. Kurylo is also trained in non-surgical methods of treatment and reconstructive procedures. He utilizes his skills to identify and execute the best course of treatment, both surgical and non-surgical, to heal his patients and help them recapture their quality of life. Dr. Kurylo strives to answer each of his patient's questions in a clear and concise manner.
Dr. Kurylo is Board Eligible with the American Board of Orthopedic Surgery. He is a member of the Orthopedic Trauma Association, the American Academy of Orthopedic Surgeons, an Emerging Leader Member of the American Orthopedic Association and a member of the Massachusetts Medical Society.
Dr. Kurylo graduated with his Medical Degree from Boston University's School of Medicine in 2008. From 2008 – 2013, Dr. Kurylo spent five years of rigorous training in Boston University's Orthopedic Surgical Residency program which provided him with the opportunity to work with several leading orthopedic surgeons. He studied orthopedic science and joint replacement surgery under the direction of BU's world renowned chairman Dr. Thomas A. Einhorn, and orthopedic trauma and fracture training from nationally recognized traumatologist Dr. Paul Tornetta. During his Residency program, he published four papers, wrote two book chapters, and gave six podium presentations at national orthopedic conferences. He also spent five months at the Shriner's Hospital in Springfield, MA, and three weeks working at Shriner outreach clinics located throughout Cyprus. He was a member of the orthopedic team at Boston Medical Center that treated the victims of the Boston Marathon bombing. He operated on those who were acutely injured on the day of the bombing and those requiring months of reconstructive surgery and treatment.
In 2013, Dr. Kurylo accepted a one-year fellowship in orthopedic trauma at the world famous Hennepin County Medical Center (HCMC) in Minneapolis, MN. At HCMC, he had the opportunity to study and perform orthopedic trauma procedures under the direction of Dr. David Templeman and Dr. Andrew Schmidt, both past presidents of the American Orthopedic Trauma Association. His training focused on all types of fractures, both acute and chronic, with special emphasis on pelvic and acetabular surgeries. During his fellowship in Minneapolis, he made two presentations at the Nordic Orthopedic Federation conference held in Helsinki, Finland. From 2014 to 2016 he worked for Sports Medicine North Orthopedics in the North Shore of Boston providing quality care for the North Shore residents.
Dr. Kurylo, a caring, compassionate, and dedicated physician and surgeon, is also an avid runner and cyclist. Some of his major sporting accomplishments include completing a 400 mile charity bike ride for AIDS research from Montreal to Boston in 2005, the Marin County half-century bike ride in 2010, the Hyannis half marathon run in 2012, and the Boston Marathon in 2015.
I am so grateful for providers expertise and care.


Address : Post Master, Vilangudi, Madurai North Taluk, Madurai District, TAMIL NADU, India.
What is Pin code of Vilangudi?
Vilangudi Pin code or Postal zip code of Vilangudi is an unique Post index number provided to the post office of Vilangudi, Madurai Division, Madurai District of Tamil Nadu state, India. These Pin codes are provided by India Post.


text:
Q: Configure Nginx as reverse proxy with upstream SSL using server_name I facing trouble using Nginx reverse proxy.
I have a server on a private network that provide the following website:

*

*a.example.com : 10.32.58.01 (internal DNS resolution)

*b.other.com : 10.32.58.01 (internal DNS resolution)

I created a Nginx reverse proxy with give access to theses two websites. This reverse proxy have IP 52.00.00.01 (fake one).
Public DNS resolution is:

*

*a.example.com : 52.00.00.01

*b.other.com : 52.00.00.01

The Nginx server /etc/hosts file contains the following resolution:

*

*10.32.58.01  a.example.com b.other.com

The issue is that my two domains have different SSL certificate AND I want my reverse proxy to verify the SSL certificate.
Here is my failing Nginx reverse proxy configuration:
server {
  listen 80;

  server_name a.example.com;
  server_name b.other.com;

  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;

  server_name              a.example.com;

  ssl_session_cache        shared:SSL:100m;
  ssl_session_timeout      180m;
  ssl_ciphers              'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS';

  ssl_session_tickets       off;
  ssl_certificate           ssl/chained.example.com.crt;
  ssl_certificate_key       ssl/example.com.key;

  location / {
    proxy_pass                    https://a.example.com;
    proxy_ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
    proxy_ssl_ciphers             HIGH:!aNULL:!MD5;
    proxy_ssl_trusted_certificate /etc/nginx/ssl/ssl/chained.example.com.crt;

    proxy_ssl_server_name         on;
    proxy_ssl_verify              on;
    proxy_ssl_verify_depth        2;
    proxy_ssl_session_reuse       on;
  }
}

server {
  listen 443 ssl http2;

  server_name              b.other.com;

  ssl_session_cache        shared:SSL:100m;
  ssl_session_timeout      180m;
  ssl_ciphers              'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS';

  ssl_session_tickets      off;
  ssl_certificate          ssl/chained.other.com.crt;
  ssl_certificate_key      ssl/other.com.key;

  location / {
    proxy_pass                    https://b.other.com;
    proxy_ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
    proxy_ssl_ciphers             HIGH:!aNULL:!MD5;
    proxy_ssl_trusted_certificate /etc/nginx/ssl/ssl/chained.other.com.crt;

    proxy_ssl_server_name         on;
    proxy_ssl_verify              on;
    proxy_ssl_verify_depth        2;
    proxy_ssl_session_reuse       on;
  }
}

The issue I got is when I'm requesting my reverse proxy, it returns 502 and I got in logs
[error] 2956#2956: *228502 upstream SSL certificate verify error: (2:unable to get issuer certificate) while SSL handshaking to upstream, client: 52.74.0.0, server: a.example.com, request: "GET / HTTP/1.1", upstream: "https://10.32.58.01:443/", host: "a.example.com"

So for now I disabled the upstream SSL verification -_-'
Thank You !
** EDIT **
In order to be more precise about the context here is my nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    server_tokens off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/nginx/cert/dhparam.pem;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    gzip on;
    gzip_disable "msie6";

    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

And my conf.d/proxy.conf
# if we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}
# If we receive X-Forwarded-Port, pass it through; otherwise, pass along the
# server port the client connected to
map $http_x_forwarded_port $proxy_x_forwarded_port {
  default $http_x_forwarded_port;
  ''      $server_port;
}
# If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any
# Connection header that may have been passed to this server
map $http_upgrade $proxy_connection {
  default upgrade;
  '' close;
}

# Set appropriate X-Forwarded-Ssl header
map $scheme $proxy_x_forwarded_ssl {
  default off;
  https on;
}

access_log off;

proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
# Mitigate httpoxy attack (see README for details)
proxy_set_header Proxy "";

proxy_ssl_server_name on;
proxy_ssl_session_reuse on;

server {
    server_name _; # This is just an invalid value which will never trigger on a real hostname.
    listen 80;
    access_log /var/log/nginx/access.log;
    return 503;
}

client_max_body_size 0;
proxy_request_buffering off;
client_body_buffer_size 1M;
client_header_buffer_size 512K;
proxy_connect_timeout       3600;
proxy_send_timeout          3600;
proxy_read_timeout          3600;
send_timeout                3600;

A: Try adding this in your server config:
proxy_ssl_verify_depth 2;

This sets the verification depth in the proxied HTTPS server certificates chain.
source : nginx_http_proxy_module

A: You have to use HTTP/1.1 for the backend connection. Nginx uses HTTP/1.0 per default.
location / {
    proxy_pass                    https://a.example.com;
    proxy_http_version            1.1;
    ...
}

redpajama_set_name: RedPajamaStackExchange


We're gonna need a bigger DVR!
Executive producers Justin Lin, Jonathan Tropper, and Shannon Lee preview the upcoming series.
Robert Kirkman and Chris Black tell us no one is safe on their possession show.
'C.B. Strike' airs on Friday nights on Cinemax.
The three-part, seven-hour miniseries brings the pseudonymous Robert Galbraith's detective tale to life.
Plus, what they find engaging about their team dynamic.
Plus, get an earful of 'Coco's soundtrack and meet the cast of 'The LEGO Ninjago Movie'!


text:
<!DOCTYPE html>
<meta charset="utf-8" />

  <title>Grady Booch talks about Cisco IOS, Britney Spears and Halo! - Reflections</title>

  <meta name="description" content="Default Page Description" />

<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="http://blog.shiv.me/css/latex.css" />
<link rel="stylesheet" href="http://blog.shiv.me/css/main.css" />

<meta name="generator" content="Hugo 0.75.1" />

Grady Booch talks about Cisco IOS, Britney Spears and Halo!

  Jun 7, 2007

Here is a wonderful way to spend about an hour of your time, particularly if you are in anyway associated with software development. Listen to Grady Booch talks about “The promise, the limits, the beauty of software”. Apart from that he also talks about pimped out laptops, being half dead, and fun stuff like,

“I looked at a machine from Siemens, and thought, Damn, I know the guys who wrote the software for this machine."

Apparently, they used UML to design that machine, that was used to scan him for his aneurysm. He talks about several such fun stuff and also about a lot of serious stuff about what’s wonderful and also scary about software and the process of development.

Also, it is quite nice to see that the father of UML, is in with times (was it like 30 years ago he did that?!), and is in support of agile and iterative development methodologies.

“We have build systems as an industry that are in the interstitial spaces of the world, and I believe that in the coming decade we will reach the point of no return."

A few more gems

“Challenge for us as an industry is, how do we express the excitement, to the people that follow us,as to the beauty and elegance of the things we have done”

A special mention of Cisco IOS:

“The initial version was apparently about 30000 lines of code and was donated by the developer (employee #4 @ Cisco), and the current version is about 30-50 million lines of code. Some of the early elegance is disappearing and is a very very brittle system."

and of Britney Spears

“Software creates new forms of artistic expression. They allow people like Britney Spears who have no musical talent, to make lots of money”

Now who else can talk to you about Cisco IOS and Britney Spears in the same presentation! Also he plays Halo 3! Now go see it!

Technorati tags: Grady Booch, software system, beauty of software, video, software

        Powered By Hugo / Theme HugoTeX

        Shiva Velmurugan
        ©
        2016