Questa sezione è basata su dei sondaggi fatti dagli utenti del sito. Le domande di questi sondaggi sono simili a quelli di molti sondaggi scientifici e governativi.
Ogni voce del sondaggio è compresa tra i valori [-2, +2], in cui -2 ha un valenza fortemente negativa e +2 fortemente positiva.
Filtriamo i sondaggi per eliminare il possibile spam, come persone che immettono una grande quantità di dati lontani dalla media.
Per i risultati dei sondaggi, usiamo la scala [0, 100] per i valori, visto che è più semplice da leggere per gli utenti.
Per generare l'indice corrente (che è sempre aggiornato) usiamo dati degli ultimi 36 mesi. Includiamo città in cui ci sono almeno un certo numero di contributori. Il nostro indice semestrale è aggiornato due volte l'anno aggiungendo l'indice corrente alla vista storica.
Indice dell'Assistenza Sanitaria è una stima della qualità generali del sistema di assistenza sanitaria, dei professionisti sanitari, della strumentazione, del personale, dei dottori, dei costi, ecc.
Indice dell'Assistenza Sanitaria Esp. - si prefigge di mostrare l’indice dell' assistenza sanitaria in modo che cresca DI PIÙ (in maniera esponenziale) se il sistema di assistenza sanitaria è di qualità migliore. È simile all’indice dell' assistenza sanitaria, ma cresce più esponenzialmente.
Le formule effettive utilizzate per calcolare gli indici sono soggette a cambiamenti. In questo momento, sono utilizzate formule empiriche di una certa complessità.
Questa formula è stata scritta in linguaggio Java nel modo seguente:
//assumes all input values are in the range [-2 , 2], where -2 means very low and 2 means very high
@Override
protected void calculateIndex() {
index = new HealthCareIndex();
double overall = 0.0;
overall += getIndexPartPreCalc(skill_and_competency);
overall += getIndexPartPreCalc(speed);
overall += getIndexPartPreCalc(modern_equipment);
overall += getIndexPartPreCalc(accuracy_and_completeness);
overall += getIndexPartPreCalc(friendliness_and_courtesy);
overall += getIndexPartPreCalc(responsiveness_waitings);
overall += getIndexPartPreCalc(location);
overall += 2 * getIndexPartPreCalc(cost);
index.main = overall / 9;
double expScale = 0.0;
expScale += getIndexPartPreCalcExpScaleStandard(skill_and_competency);
expScale += getIndexPartPreCalcExpScaleStandard(speed);
expScale += getIndexPartPreCalcExpScaleStandard(modern_equipment);
expScale += getIndexPartPreCalcExpScaleStandard(accuracy_and_completeness);
expScale += getIndexPartPreCalcExpScaleStandard(friendliness_and_courtesy);
expScale += getIndexPartPreCalcExpScaleStandard(responsiveness_waitings);
expScale += getIndexPartPreCalcExpScaleStandard(location);
expScale += 2 * getIndexPartPreCalcExpScaleStandard(cost);
index.exp = calcScaleStandardIndexFromSum(expScale, 9);
}
protected double getIndexPartPreCalc(double internalValue) {
return (internalValue + 2) * 25;
}
protected double getIndexPartPreCalcExpScaleStandard(double internalValue) {
return getIndexPartPreCalcExpScale(internalValue, Math.E);
}
protected double getIndexPartPreCalcExpScale(double internalValue, double exp) {
return Math.pow((internalValue + 2) * 25, exp);
}
protected double calcScaleStandardIndexFromSum(double scaleSum, int elems) {
return Math.pow(scaleSum / elems, 1 / (Math.E * 8.8 / 10));
}