PHPackages                             padosoft/tessera-sanitaria - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. padosoft/tessera-sanitaria

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

padosoft/tessera-sanitaria
==========================

Export delle prestazioni mediche per il servizio nazionale sanità secondo il formato XML della tessera sanitaria DM 31/07/2015.

1.0.5(10y ago)3802[2 PRs](https://github.com/padosoft/tessera-sanitaria/pulls)MITPHP

Since Dec 5Pushed 11mo ago3 watchersCompare

[ Source](https://github.com/padosoft/tessera-sanitaria)[ Packagist](https://packagist.org/packages/padosoft/tessera-sanitaria)[ Docs](https://bitbucket.org/padosoft/tessera-sanitaria/)[ RSS](/packages/padosoft-tessera-sanitaria/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (11)Versions (9)Used By (0)

PROGETTO TESSERA SANITARIA
==========================

[](#progetto-tessera-sanitaria)

[![Latest Version on Packagist](https://camo.githubusercontent.com/b47ddaabedd6bddce2279fccc0696f91b09c892a39d3da826bb236f70cd8cd4b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7061646f736f66742f746573736572612d73616e6974617269612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/padosoft/tessera-sanitaria)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/abc88e9290911392643a7a8fd43cd969346741eb0faa87d12114a59f64ce6076/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7061646f736f66742f746573736572612d73616e6974617269612f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/padosoft/tessera-sanitaria)[![HHVM Status](https://camo.githubusercontent.com/f99c5163d23040caffe36c96996aa2641d075a6699c85e50c7486ddd87063112/687474703a2f2f6868766d2e683463632e64652f62616467652f7061646f736f66742f746573736572612d73616e6974617269612e7376673f7374796c653d666c6174)](http://hhvm.h4cc.de/package/padosoft/tessera-sanitaria)[![Coverage Status](https://camo.githubusercontent.com/e22576f0946aa0c41c8d1f94f3fac4539cccd409f794058b9744117ff9687990/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f7061646f736f66742f746573736572612d73616e6974617269612e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/padosoft/tessera-sanitaria/code-structure)[![Quality Score](https://camo.githubusercontent.com/86184c348adf03bee6ae404d5127e7433ecb3768442a3251c7cdfbd0fd9dfed2/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f7061646f736f66742f746573736572612d73616e6974617269612e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/padosoft/tessera-sanitaria)[![Total Downloads](https://camo.githubusercontent.com/eed97481697925f5c338871be9033dc9012ef75f97e482b3061681ab037a77ee/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7061646f736f66742f746573736572612d73616e6974617269612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/padosoft/tessera-sanitaria)[![SensioLabsInsight](https://camo.githubusercontent.com/20f7f190b5c2a00b82f4122bedf08bf849620ebe5effe50d8adb67f811d5a997/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f61373963623434312d613165302d343366372d613334332d6431353938383437636366632f736d616c6c2e706e67)](https://insight.sensiolabs.com/projects/a79cb441-a1e0-43f7-a343-d1598847ccfc)

Il package permette la creazione di file XML delle prestazioni mediche per il servizio nazionale sanità secondo il formato XML della tessera sanitaria definito nel DM 31/07/2015. Per maggiori info si veda il Portale della Tessera Sanitaria:

Table of Contents
=================

[](#table-of-contents)

- [PROGETTO TESSERA SANITARIA](#progetto-tessera-sanitaria)
- [Table of Contents](#table-of-contents)
- [PREREQUISITI](#prerequisiti)
    - [INSTALLAZIONE OPENSSL](#installazione--openssl)
        - [Windows](#windows)
        - [Linux](#linux)
    - [GENERAZIONE CERTIFICATO E CHIAVE PUBBLICA](#generazione-certificato-e-chiave-pubblica)
        - [Windows](#windows-1)
        - [Linux](#linux-1)
        - [Comandi da eseguire](#comandi-da-eseguire)
    - [CONFIGURAZIONE](#configurazione)
        - [Enviroment](#enviroment)
        - [Permission folder](#permission-folder)
- [CHANGE LOG](#change-log)
- [USO DELLA LIBRERIA](#uso-della-libreria)
    - [ESEMPIO BASE](#esempio-base)
    - [OUTPUT](#output)
        - [Output a video](#output-a-video)
        - [Creazione File](#creazione-file)
    - [VALIDAZIONE](#validazione)
- [ESEMPIO COMPLETO](#esempio-completo)
    - [Screenshot esempio](#screenshot-esempio)
- [Contributing](#contributing)
- [Security](#security)
- [Credits](#credits)
- [About Padosoft](#about-padosoft)
- [License](#license)

PREREQUISITI
============

[](#prerequisiti)

PHP 5.4+ OpenSSL

INSTALLAZIONE OPENSSL
---------------------

[](#installazione--openssl)

### Windows

[](#windows)

Scaricare l'eseguibile da  , lanciarlo e seguire le istruzioni a video.

### Linux

[](#linux)

OpenSSL é già installato di default in tutte le principali distribuzioni. Eventualmente, controllare la versione tramite il comando:

```
openssl version
```

se non aggiornata, lanciare i comandi:

```
apt-get update && apt-get upgrade

apt-get install openssl
```

GENERAZIONE CERTIFICATO E CHIAVE PUBBLICA
-----------------------------------------

[](#generazione-certificato-e-chiave-pubblica)

Collocare i file del certificato e delle chiavi nella directory specificata nella classe PathHelper (default: /tests/certificates).

Se non in possesso dei file ufficiali del ministero, è possibile crearli a scopo di test della libreria seguendo le istruzioni seguenti:

\###Windows Lanciare il comando dal prompt DOS posizionandosi nella directory dove si trova openssl, di default C:\\OpenSSL-Win32\\bin

\###Linux Non é necessario spostarsi nel path, in quanto openSSL dovrebbe essere già essere disponibile all'avvio della shell.

### Comandi da eseguire

[](#comandi-da-eseguire)

generazione chiave privata

```
openssl genrsa -out test.key 1024
```

generazione chiave pubblica

```
openssl rsa -in test.key -out test.pub -pubout
```

generazione certificato

```
openssl req -new -x509 -out test.crt -key test.key -days 30
```

Vedere anche [http://www.programmazione.it/index.php?entity=eitem&amp;idItem=36568](http://www.programmazione.it/index.php?entity=eitem&idItem=36568)

CONFIGURAZIONE
--------------

[](#configurazione)

### Enviroment

[](#enviroment)

Rinominare il file **.env.example** in **.env**aprirlo con un editor di testo e impostare le variabili: Esempio Windows:

```
TMP_PATH = "c:/xampp/htdocs/tessera-sanitaria/tests/tmp/";
CERT_FILE = "c:/xampp/htdocs/tessera-sanitaria/tests/certificates/test.crt";
OPENSSL_EXE_PATH = "c:/OpenSSL-Win32/bin/";

```

Esempio Linux:

```
TMP_PATH = "/var/www/html/tessera-sanitaria/tests/tmp/";
CERT_FILE = "/var/www/html/tessera-sanitaria/tests/certificates/test.crt";
OPENSSL_EXE_PATH = "";

```

### Permission folder

[](#permission-folder)

Rendere queste directory scrivibili da php:

```
chmod -R 777 /var/www/html/padosoft/tessera-sanitaria/tests/tmp/
chmod -R 777 /var/www/html/padosoft/tessera-sanitaria/tests/output/
chmod -R 777 /var/www/html/padosoft/tessera-sanitaria/tests/log/
chmod -R 777 /var/www/html/padosoft/tessera-sanitaria/vendor/luminous/luminous/cache/
```

CHANGE LOG
==========

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

USO DELLA LIBRERIA
==================

[](#uso-della-libreria)

INSTALLAZIONE DEL PROGETTO
--------------------------

[](#installazione-del-progetto)

Per installare il progetto con il demo, andare nella directory del proprio web server, e lanciare il comando:

```
composer create-project padosoft/tessera-sanitaria --dev
```

Supponendo un installazione su windows con XAMPP:

```
cd C:\xampp\htdocs
composer create-project padosoft/tessera-sanitaria --dev
```

a questo punto è possibile visitare l'url  e visualizzare la pagina demo.

ESEMPIO BASE
------------

[](#esempio-base)

L'utilizzo base del pacchetto, al netto del caricamento delle dipendenze, prevede l'istanza della classe per il tracciato, il passaggio dei dati necessari alla creazione dell'XML e il successivo recupero del codice in una variabile di tipo stringa:

```
// Istanzia la classe per il tracciato
$objTracciato = new Tracciato($objValidateHelper);

// Crea XML
$rispostaTracciato = $objTracciato->doTracciato($codiceRegione, $codiceAsl, $codiceSSA, $cfProprietario, $pIva, $arrSpesa, $arrVociSpesa);

// Recupera l'XML creato
$strXML = $objTracciato->getXml();
```

Successivamente, la stringa ricavata potrà essere usata per:

- Stampare direttamente il codice a video
- Creazione file XML
- Creazione file XML compresso

tramite vari metodi analizzati nel successivo paragrafo "Output".

OUTPUT
------

[](#output)

La stringa XML recuperata dal metodo getXml() della classe Tracciato può essere utilizzata nei seguenti modi:

### Output a video

[](#output-a-video)

I metodi della classe PrintHelper stampano a video il codice XML generato. Servendosi della libreria Luminous () , il codice viene formattato tramite un'interfaccia chiara ed esteticamente gradevole.

```
// Stampa header template html
PrintHelper::printHtmlHeader();

// Recupera l'esito e gli eventuali errori
PrintHelper::printError($objTracciato, $logger, $objValidateHelper);

// Stampa l'XML formattato
PrintHelper::printXML($strXML);

// Stampa comandi
PrintHelper::printButton();

// Stampa html footer
PrintHelper::printHtmlFooter();
```

### Creazione File

[](#creazione-file)

La classe IOHelper permette di trasformare la stringa XML nel corrispondente file, sia in versione estesa che compressa. I due metodi che si occupano di queste operazioni sono i seguenti:

```
// Salva XML su file
IOHelper::outputFile($strXML, $pathOutput, $basePath);

// Crea lo zip al volo e salva su $destinationZip
IOHelper::zipFileOntheFly($pathOutput, $destinationZip, $strXML);
```

VALIDAZIONE
-----------

[](#validazione)

La validazione dei dati passati al metodo doTracciato avviene in modo trasparente per l'utente, tramite la classe ValidateHelper richiamata dal metodo stesso. I parametri di validazione si basano sul documento ufficiale fornito dal ministero della sanità: [http://sistemats1.sanita.finanze.it/wps/wcm/connect/487b0bba-6a65-42f9-8b43-2fb907fe7e91/730+Schema+dati+spesa+sanitaria+(28\_09\_2015)\_v2.pdf?MOD=AJPERES&amp;CACHEID=487b0bba-6a65-42f9-8b43-2fb907fe7e91](http://sistemats1.sanita.finanze.it/wps/wcm/connect/487b0bba-6a65-42f9-8b43-2fb907fe7e91/730+Schema+dati+spesa+sanitaria+(28_09_2015)_v2.pdf?MOD=AJPERES&CACHEID=487b0bba-6a65-42f9-8b43-2fb907fe7e91)

ESEMPIO COMPLETO
================

[](#esempio-completo)

Un esempio esaustivo di tutte le funzionalità summenzionate si trova in /tests/index.php , che carica anche tutte le dipendenze necessarie. Tutti i precedenti esempi di codice sono stati ricavati da questo file.

Screenshot esempio
------------------

[](#screenshot-esempio)

Uno screenshot di esempio si trova nella cartella resources/img [![demo tessera-sanitaria](https://raw.githubusercontent.com/padosoft/tessera-sanitaria/master/resources/img/tessera_sanitaria_tests.png)](https://raw.githubusercontent.com/padosoft/tessera-sanitaria/master/resources/img/tessera_sanitaria_tests.png)

Contributing
============

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details.

Security
========

[](#security)

If you discover any security related issues, please email instead of using the issue tracker.

Credits
=======

[](#credits)

- [Lorenzo Padovani](https://github.com/lopadova)
- Raffaele Masi
- [All contributors](https://github.com/thephpleague/skeleton/contributors)

About Padosoft
==============

[](#about-padosoft)

Padosoft is a software house based in Florence, Italy. Specialized in E-commerce and web sites.

License
=======

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 96.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~10 days

Total

6

Last Release

3815d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10467699?v=4)[Lorenzo](/maintainers/lopadova)[@lopadova](https://github.com/lopadova)

---

Top Contributors

[![lopadova](https://avatars.githubusercontent.com/u/10467699?v=4)](https://github.com/lopadova "lopadova (28 commits)")[![alevento](https://avatars.githubusercontent.com/u/5909180?v=4)](https://github.com/alevento "alevento (1 commits)")

---

Tags

tessera-sanitariaxmlexportpadosofttessera sanitaariaservizio sanitario nazionale

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/padosoft-tessera-sanitaria/health.svg)

```
[![Health](https://phpackages.com/badges/padosoft-tessera-sanitaria/health.svg)](https://phpackages.com/packages/padosoft-tessera-sanitaria)
```

###  Alternatives

[masterminds/html5

An HTML5 parser and serializer.

1.8k269.7M322](/packages/masterminds-html5)[jms/metadata

Class/method/property metadata management in PHP

1.8k160.2M98](/packages/jms-metadata)[nette/neon

🍸 Nette NEON: encodes and decodes NEON file format.

93866.0M395](/packages/nette-neon)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
