Schermata 2016-08-29 alle 00.07.05

Software “Gestione Emergenze” – I parte

Con questo articolo si va a riprendere il “software della comparazione del dolore” descritto durante la presentazione del personaggio di Sentinel 4 nel racconto “Chiamata Alpha Uno“.

Per iniziare bisogna creare due nuovi object javascript, uno per la vittima e l’altro per l’ospedale. Per la vittima ne settiamo il nome, cognome, l’idUnivoco, il grado di psicologia compressa e l’eventuale bisogno di cure. Se il bisogno di cure==true allora ci si attiva per la creazione di un nuovo object “ospedale”.

function Vittima(nome, cognome, idUnivoco, grado, cura) {

this.nome = nome,
this.cognome = cognome,
this.idUnivoco = idUnivoco,
this.grado = grado,
this.cura = cura //valore booleano
if(this.cura == true) {
var ambulanza = new Ambulanza(46.02366774426007, 6.7153930664062443);
var contAmbulanza = 1;
if(contAmbulanza == 1) {
console.log(“prima ambulanza chiamata per questa Vittima”);
} else {
console.log(“non è la prima ambulanza per questa Vittima. Attivare ulteriori verifiche”);
}

}
}

Ecco l’object ambulanza, in cui ne dichiariamo la latitudine e longitudine in cui si trova la vittima, il livello di pericolosità del danno e la reazione psicologica dell’interessato:

 

function Ambulanza(lat, lng, livello, reaz) {
this.latitudine = lat,
this.longitudine = lng,
this.livello = livello
this.reaz = tempoDiReazione(reaz);
}

 

A sua volta implementiamo un’ulteriore logica per il tempo di reazione per l’attivazione della suddetta ambulanza, per vedere se vi è il bisogno di portare anche eventuali supporti paramedici umani o meno

function tempoDiReazione(reaz) {

//creazione di un altro object (solo per questo scope) per capire il numero di infermieri necessari
var numeroInfermieri = {
capoInfermiere: “Capo1″,
altriInfermieri: function(num) {
var altriInfermieri;

//controlliamo se il livello di reazione è > 3
if (reaz > 3) {
altriInfermieri= 4;
} else {
altriInfermieri= 2;
}

return altriInfermieri;
}

console.log(“numeroInfermieri:” + numeroInfermieri.altriInfermieri());

//infine, constatare se vi è il bisogno immediato dell’ambulanza o meno
if((reaz >= 1) && (reaz <=2)) {
console.log(“arrivo in 35 minuti”);
} else {
console.log(“arrivo in 15 minuti”);
}
}
}

Schermata 2016-08-28 alle 22.56.31

 

 

Per l’interfaccia bisogna prendere in considerazione l’idea di generare dei punti random con latitudine e longitudine calcolati su un punto comune: nel racconto abbiamo come punto fisso la postazione dove si trovano i protagonisti, nell’articolo possiamo considerare Bologna le cui coordinate sono

44.494887 (latitudine);
11.342616300000032 (longitudine).

I dati necessari per questo task possiamo prenderli da http://www.geomidpoint.com/random/. In pratica mettiamo dentro un’iframe nella nostra pagina un riferimento a questa tipologia di link:

http://www.geomidpoint.com/random/viewmap.html?44.494887|44.50590426&11.342616300000032|11.21541524&1

dove andremo a sostituire in grassetto una latitudine e longitudine random su un array predefinito di valori (per adesso):

var latitudine = ["44.58116138", "44.52140595", "44.48142761", "44.59153149", "44.33811901", "44.4841895"];
var longitudine = ["11.17231353", "11.29931075", "11.41110627", "11.25739701", "11.43603814", "11.50551978"];

var latitudineRandom = latitudine[Math.floor(Math.random() * latitudine.length)];
var longitudineRandom = longitudine[Math.floor(Math.random() * longitudine.length)];
var linkMappa = `http://www.geomidpoint.com/random/viewmap.html?44.494887|${latitudineRandom}&11.342616300000032|${longitudineRandom}&1`;

//inseriamo il link ottenuto dentro l’attr src dell’iframe
$(‘#linkMappa’).attr(‘src’, linkMappa);

integriamo bootstrap e jquery per lavorare meglio e formare un’interfaccia a due colonne,  inserendo successivamente altra logica javascript per l’inserimento random dei dati estratti dagli altri array specifici per il nome, cognome e id univoco dell’eventuale paziente.
Per l’id univoco creiamo una function apposita poiché non ne esistono di predefinite nel linguaggio che stiamo utilizzando:

//function per creare un uid univoco
function guid() {
function s4() {
return Math.floor((1 + Math.random()) * 0×10000)
.toString(16)
.substring(1);
}
return s4() + s4() + ‘-’ + s4() + ‘-’ + s4() + ‘-’ +
s4() + ‘-’ + s4() + s4() + s4();
}

//costruiamo una nuova variabile con l’object analizzato prima
var vittima = new Vittima(nomeRandom, cognomeRandom, uid, new QuintoGrado(), curaRandom)

//aggiungiamo altri valori tramite jQuery
$(‘#linkMappa’).attr(‘src’, linkMappa);
$(‘.nomePaziente’).text(vittima.nome);
$(‘.cognomePaziente’).text(vittima.cognome);
$(‘.idUnivoco’).text(vittima.idUnivoco);
$(‘.bisognoCure’).text(curaRandom);
$(‘.gradoDannoPaziente’).text(gradoRandom);

il software alla versione 0.3 lo potete trovare qui.

Schermata 2016-08-29 alle 00.07.05



'Software “Gestione Emergenze” – I parte' have no comments

Be the first to comment this post!

Would you like to share your thoughts?

Your email address will not be published.