DataHelper::loadDatiProprietario()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 2
Bugs 2 Features 0
Metric Value
c 2
b 2
f 0
dl 0
loc 23
ccs 0
cts 8
cp 0
rs 9.0856
cc 1
eloc 6
nc 1
nop 5
crap 2
1
<?php
2
namespace Padosoft\TesseraSanitaria;
3
4
/**
5
 * Class DataHelper
6
 * @package Padosoft\TesseraSanitaria
7
 */
8
class DataHelper
9
{
10
11
    /**
12
     * @param $codiceRegione
13
     * @param $codiceAsl
14
     * @param $codiceSSA
15
     * @param $cfProprietario
16
     * @param $pIva
17
     * @param $arrSpesa
18
     * @param $arrVociSpesa
19
     */
20
    public static function loadData(
21
        &$codiceRegione,
22
        &$codiceAsl,
23
        &$codiceSSA,
24
        &$cfProprietario,
25
        &$pIva,
26
        &$arrSpesa,
27
        &$arrVociSpesa
28
    ) {
29
        self::loadDatiProprietario($codiceRegione, $codiceAsl, $codiceSSA, $cfProprietario, $pIva);
30
        self::loadDatiSpesa($arrSpesa);
31
        self::loadDatiVociSpesa($arrVociSpesa);
32
    }
33
34
    /**
35
     * @param $codiceRegione
36
     * @param $codiceAsl
37
     * @param $codiceSSA
38
     * @param $cfProprietario
39
     * @param $pIva
40
     * @param $arrSpesa
41
     * @param $arrVociSpesa
42
     */
43
    public static function loadDataErrori(
44
        &$codiceRegione,
45
        &$codiceAsl,
46
        &$codiceSSA,
47
        &$cfProprietario,
48
        &$pIva,
49
        &$arrSpesa,
50
        &$arrVociSpesa
51
    ) {
52
        self::loadDatiProprietarioErrati($codiceRegione, $codiceAsl, $codiceSSA, $cfProprietario, $pIva);
53
        self::loadDatiSpesaErrati($arrSpesa);
54
        self::loadDatiVociSpesaErrori($arrVociSpesa);
55
    }
56
57
    /**
58
     * @param $codiceRegione
59
     * @param $codiceAsl
60
     * @param $codiceSSA
61
     * @param $cfProprietario
62
     * @param $pIva
63
     */
64
    public static function loadDatiProprietario(&$codiceRegione, &$codiceAsl, &$codiceSSA, &$cfProprietario, &$pIva)
65
    {
66
        /*
67
        PARAMETRI PROPRIETARIO
68
        Tutti obbligatori
69
70
        $codiceRegione: Alfanumerico di 3 caratteri. Codice regione della farmacia/struttura che emette il documento fiscale,
71
                        vedi http://sistemats1.sanita.finanze.it/wps/wcm/connect/5b19c48049187d8eaa0beaf8a137072d/allegato+tecnico+TS-CNS+ex+DL+78-2010_v22-06-12.pdf?MOD=AJPERES&CACHEID=5b19c48049187d8eaa0beaf8a137072d
72
        $codiceAsl: 	Alfanumerico di 3 caratteri. Codice della ASL della farmacia/struttura che emette il documento fiscale,
73
                        vedi http://www.webacma.it/asl_italiane.html
74
        $codiceSSA: 	Numerico di 1 carattere.
75
                        Codice farmacia/struttura che emette il documento fiscale. Se farmacia = 5, se struttura = 6
76
        $cfProprietario: Codice fiscale del soggetto indicato come Titolare
77
        $pIva: 			Partita IVA della farmacia/struttura o medico che emette il documento fiscale.
78
        */
79
80
        // DATI BASE
81
        $codiceRegione = CodiceRegione::TOSCANA;
82
        $codiceAsl = CodiceAsl::FIRENZE;
83
        $codiceSSA = CodiceSSA::STRUTTURA;
84
        $cfProprietario = "CPLDVD67S11D612V";
85
        $pIva = "01234567890";
86
    }
87
88
    /**
89
     * @param $codiceRegione
90
     * @param $codiceAsl
91
     * @param $codiceSSA
92
     * @param $cfProprietario
93
     * @param $pIva
94
     */
95
    public static function loadDatiProprietarioErrati(
96
        &$codiceRegione,
97
        &$codiceAsl,
98
        &$codiceSSA,
99
        &$cfProprietario,
100
        &$pIva
101
    ) {
102
        $codiceRegione = 565656;
103
        $codiceAsl = "56565";
104
        $codiceSSA = 66689;
105
        $cfProprietario = "XYZZZZZL68H02D612R";
106
        $pIva = "XXX0500712345";
107
    }
108
109
    /**
110
     * @param $arrSpesa
111
     */
112
    public static function loadDatiSpesa(&$arrSpesa)
113
    {
114
        /*
115
        PARAMETRI SCONTRINO/RICEVUTA ($arrSpesa)
116
        Tutti obbligatori tranne $flagPagamentoAnticipato (richiesto solo se la data di pagamento e' antecedente alla data di emissione)
117
118
        $dataEmissione: Data di emissione del documento fiscale relativo alla spesa sostenuta dal cittadino. Non puo' essere minore di 2015-01-01
119
        $dispositivo: Numerico di 3 caratteri. Numero progressivo del dispositivo che genera il documento. Per dispositivo si intende il registratore di cassa utilizzato dalla farmacie; per l’emissione di fatture o ricevute fiscali il campo assume il valore 1.
120
        $numDocumento: Numerico di max 20 cifre. Univoco nell’ambito della data. Solitamente e' univoco per giornata (scontrini) o per anno (fattura)
121
        $dataPagamento: Data di pagamento afferente al documento fiscale emesso. Deve essere coincidente o maggiore rispetto alla data di emissione. Puo' essere minore rispetto alla data di emissione solo se il flag pagamento anticipato e' valorizzato a 1 (e comunque non minore di 2015-01-01)
122
        $flagPagamentoAnticipato=0: Numerico di 1 carattere. Il campo deve essere valorizzato a "1" per indicare il pagamento della spesa sostenuta dal cittadino in data antecedente alla data di emissione del documento fiscale
123
        $flagOperazione: Alfanumerico di 1 carattere. Indica il tipo di operazione da eseguire sul record. Valori ammessi: "I" = inserimento ovvero nuovo record; "V" = Variazione; "R" = Rimborso; "C" = Cancellazione
124
        cfCittadino: Alfanumerico di 256 caratteri. Codice fiscale del cittadino rilevato dalla Tessera Sanitaria. DOVREBBE ESSERE CRITTOGRAFATO, MA NON E' INDICATO COME (forse dalla tessera sanitaria arriva gia' crittografato?)
125
        */
126
127
        $arrSpesa[0] = array(
128
            "dataEmissione" => "2015-10-08"
129
        ,
130
            "dispositivo" => "001",
131
            "numDocumento" => "1234567"
132
        ,
133
            "dataPagamento" => "2015-10-08"
134
        ,
135
            "flagPagamentoAnticipato" => "0"
136
        ,
137
            "flagOperazione" => FlagOperazione::INSERIMENTO
138
        ,
139
            "cfCittadino" => "RSSMRA85T10A562S"
140
        );
141
        $arrSpesa[1] = array(
142
            "dataEmissione" => "2015-09-07"
143
        ,
144
            "dispositivo" => "003"
145
        ,
146
            "numDocumento" => "7654321"
147
        ,
148
            "dataPagamento" => "2015-09-07"
149
        ,
150
            "flagPagamentoAnticipato" => "0"
151
        ,
152
            "flagOperazione" => FlagOperazione::RIMBORSO
153
        ,
154
            "cfCittadino" => "RSSFLV95C12H118C"
155
        );
156
        $arrSpesa[2] = array(
157
            "dataEmissione" => "2015-08-30"
158
        ,
159
            "dispositivo" => "003"
160
        ,
161
            "numDocumento" => "3336667"
162
        ,
163
            "dataPagamento" => "2015-07-15"
164
        ,
165
            "flagPagamentoAnticipato" => "1"
166
        ,
167
            "flagOperazione" => FlagOperazione::INSERIMENTO
168
        ,
169
            "cfCittadino" => "GNRGNI77S64F051C"
170
        );
171
    }
172
173
    /**
174
     * @param $arrSpesa
175
     */
176
    public static function loadDatiSpesaErrati(&$arrSpesa)
177
    {
178
        $arrSpesa[0] = array(
179
            "dataEmissione" => "2015-10-08"
180
        ,
181
            "dataPagamento" => "2015-10-08"
182
        ,
183
            "flagPagamentoAnticipato" => "0"
184
        ,
185
            "flagOperazione" => FlagOperazione::INSERIMENTO
186
        ,
187
            "cfCittadino" => "RSSMRA85T10A562S"
188
        );
189
        $arrSpesa[1] = array(
190
            "dataEmissione" => "09-07"
191
        ,
192
            "dispositivo" => "AAAA"
193
        ,
194
            "numDocumento" => ""
195
        ,
196
            "dataPagamento" => ""
197
        ,
198
            "flagPagamentoAnticipato" => "sdsfs"
199
        ,
200
            "flagOperazione" => 684645
201
        ,
202
            "cfCittadino" => "XXXFLV95C12H118C"
203
        );
204
        $arrSpesa[2] = array();
205
    }
206
207
    /**
208
     * @param $arrVociSpesa
209
     */
210
    public static function loadDatiVociSpesa(&$arrVociSpesa)
211
    {
212
        /* VOCI DELLO SCONTRINO/RICEVUTA ($arrVociSpesa)
213
        Tutti obbligatori tranne $flagTipoSpesa
214
215
        $tipoSpesa: Alfanumerico di 2 caratteri. Il Campo assume i seguenti valori: TK= Ticket (Quota fissa e/o Differenza con il prezzo di riferimento. Franchigia. Pronto Soccorso e accesso diretto); FC= Farmaco, anche omeopatico. Dispositivi medici CE; FV = Farmaco per uso veterinario; AD= Acquisto o affitto di dispositivo medico CE; AS= Spese sanitarie relative ad ECG, spirometria, Holter pressorio e cardiaco, test per glicemia, colesterolo e trigliceridi o misurazione della pressione sanguigna, prestazione previste dalla farmacia dei servizi e simili); SR= Spese prestazioni assistenza specialistica ambulatoriale esclusi interventi di chirurgia estetica. Visita medica generica e specialistica o prestazioni diagnostiche e strumentali. Prestazione chirurgica ad esclusione della chirurgia estetica. Ricoveri ospedalieri, al netto del comfort. Certificazione medica; CT= Cure Termali; PI= protesica e integrativa; IC= Intervento di chirurgia estetica ambulatoriale o ospedaliero; AA= Altre spese
216
        $flagTipoSpesa=0: Numerico di 1 carattere. Il campo vale "1" con tipo TK (ticket di pronto soccorso), "2" con tipo SR (visita in intromoenia)
217
        $importo: Float 5,2. Importo di ogni singola spesa sostenuta dal cittadino / rimborso riconosciuto al cittadino a fronte di una spesa sostenuta. Il campo deve assumere sempre valori positivi, anche in caso di rimborso
218
        */
219
220
        $arrVociSpesa[0][0] = array("tipoSpesa" => TipoSpesa::TICKET, "flagTipoSpesa" => "1", "importo" => "11.40");
221
        $arrVociSpesa[1][0] = array("tipoSpesa" => TipoSpesa::FARMACO, "flagTipoSpesa" => "0", "importo" => "9.60");
222
        $arrVociSpesa[2][0] = array(
223
            "tipoSpesa" => TipoSpesa::FARMACO_VETERINARIO,
224
            "flagTipoSpesa" => "0",
225
            "importo" => "80"
226
        );
227
228
        $arrVociSpesa[0][1] = array(
229
            "tipoSpesa" => TipoSpesa::DISPOSITIVO_MEDICO,
230
            "flagTipoSpesa" => "0",
231
            "importo" => "2.10"
232
        );
233
        $arrVociSpesa[1][1] = array(
234
            "tipoSpesa" => TipoSpesa::ANALISI_STRUMENTALI,
235
            "flagTipoSpesa" => "0",
236
            "importo" => "19.85"
237
        );
238
239
        $arrVociSpesa[0][2] = array(
240
            "tipoSpesa" => TipoSpesa::VISITE_INTROMOENIA,
241
            "flagTipoSpesa" => "2",
242
            "importo" => "60"
243
        );
244
        $arrVociSpesa[1][2] = array(
245
            "tipoSpesa" => TipoSpesa::CURE_TERMALI,
246
            "flagTipoSpesa" => "0",
247
            "importo" => "5.20"
248
        );
249
        $arrVociSpesa[2][2] = array("tipoSpesa" => TipoSpesa::PROTESI, "flagTipoSpesa" => "2", "importo" => "30.05");
250
        $arrVociSpesa[3][2] = array(
251
            "tipoSpesa" => TipoSpesa::CHIRURGIA_ESTETICA,
252
            "flagTipoSpesa" => "0",
253
            "importo" => "85"
254
        );
255
    }
256
257
    /**
258
     * @param $arrVociSpesa
259
     */
260
    public static function loadDatiVociSpesaErrori(&$arrVociSpesa)
261
    {
262
        $arrVociSpesa[0][0] = array("tipoSpesa" => TipoSpesa::TICKET, "flagTipoSpesa" => "1", "importo" => "xxxx");
263
        $arrVociSpesa[1][0] = array("tipoSpesa" => TipoSpesa::FARMACO, "flagTipoSpesa" => "0", "importo" => "sdfsfsdf");
264
        $arrVociSpesa[2][0] = array(
265
            "tipoSpesa" => TipoSpesa::FARMACO_VETERINARIO,
266
            "flagTipoSpesa" => "fdsf",
267
            "importo" => "zzzzz"
268
        );
269
270
        $arrVociSpesa[0][1] = array(
271
            "tipoSpesa" => TipoSpesa::DISPOSITIVO_MEDICO,
272
            "flagTipoSpesa" => "0",
273
            "importo" => "asdsdsf"
274
        );
275
    }
276
}
277