{"id":19030017,"url":"https://github.com/padosoft/tessera-sanitaria","last_synced_at":"2025-04-23T16:01:33.819Z","repository":{"id":57035030,"uuid":"47435377","full_name":"padosoft/tessera-sanitaria","owner":"padosoft","description":"Export delle prestazioni mediche per il servizio nazionale sanità secondo il formato XML della tessera sanitaria DM 31/07/2015.","archived":false,"fork":false,"pushed_at":"2022-09-22T03:34:42.000Z","size":401,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-18T01:47:28.552Z","etag":null,"topics":["tessera-sanitaria"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/padosoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-05T00:17:05.000Z","updated_at":"2017-03-18T20:41:12.000Z","dependencies_parsed_at":"2022-08-24T06:40:09.962Z","dependency_job_id":null,"html_url":"https://github.com/padosoft/tessera-sanitaria","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padosoft%2Ftessera-sanitaria","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padosoft%2Ftessera-sanitaria/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padosoft%2Ftessera-sanitaria/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padosoft%2Ftessera-sanitaria/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/padosoft","download_url":"https://codeload.github.com/padosoft/tessera-sanitaria/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250468272,"owners_count":21435451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tessera-sanitaria"],"created_at":"2024-11-08T21:16:13.533Z","updated_at":"2025-04-23T16:01:33.720Z","avatar_url":"https://github.com/padosoft.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PROGETTO TESSERA SANITARIA\n\n[![Latest Version on Packagist][ico-version]][link-packagist]\n[![Software License][ico-license]](LICENSE.md)\n[![Build Status][ico-travis]][link-travis]\n[![HHVM Status][ico-hhvm-status]][link-hhvm-status]\n[![Coverage Status][ico-scrutinizer]][link-scrutinizer]\n[![Quality Score][ico-code-quality]][link-code-quality]\n[![Total Downloads][ico-downloads]][link-downloads]\n[![SensioLabsInsight][ico-sensiolab]][link-sensiolab]\n\nIl 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.\nPer maggiori info si veda il Portale della Tessera Sanitaria: http://sistemats1.sanita.finanze.it/wps/portal/\n\nTable of Contents\n=================\n\n  * [PROGETTO TESSERA SANITARIA](#progetto-tessera-sanitaria)\n  * [Table of Contents](#table-of-contents)\n  * [PREREQUISITI](#prerequisiti)\n    * [INSTALLAZIONE  OPENSSL](#installazione--openssl)\n      * [Windows](#windows)\n      * [Linux](#linux)\n    * [GENERAZIONE CERTIFICATO E CHIAVE PUBBLICA](#generazione-certificato-e-chiave-pubblica)\n      * [Windows](#windows-1)\n      * [Linux](#linux-1)\n      * [Comandi da eseguire](#comandi-da-eseguire)\n    * [CONFIGURAZIONE](#configurazione)\n      * [Enviroment](#enviroment)\n      * [Permission folder](#permission-folder)\n  * [CHANGE LOG](#change-log)\n  * [USO DELLA LIBRERIA](#uso-della-libreria)\n    * [ESEMPIO BASE](#esempio-base)\n    * [OUTPUT](#output)\n      * [Output a video](#output-a-video)\n      * [Creazione File](#creazione-file)\n    * [VALIDAZIONE](#validazione)\n  * [ESEMPIO COMPLETO](#esempio-completo)\n    * [Screenshot esempio](#screenshot-esempio)\n  * [Contributing](#contributing)\n  * [Security](#security)\n  * [Credits](#credits)\n  * [About Padosoft](#about-padosoft)\n  * [License](#license)\n  \n# PREREQUISITI\n\nPHP 5.4+\nOpenSSL\n\n## INSTALLAZIONE  OPENSSL\n\n### Windows\nScaricare l'eseguibile da https://slproweb.com/products/Win32OpenSSL.html , lanciarlo e seguire le istruzioni a video.\n\n### Linux\nOpenSSL é già installato di default in tutte le principali distribuzioni.\nEventualmente, controllare la versione tramite il comando: \n\n``` bash\nopenssl version\n```\nse non aggiornata, lanciare i comandi:\n``` bash\napt-get update \u0026\u0026 apt-get upgrade\n\napt-get install openssl\n```\n\n## GENERAZIONE CERTIFICATO E CHIAVE PUBBLICA\n\nCollocare i file del certificato e delle chiavi nella directory specificata nella classe PathHelper (default: /tests/certificates).\n\nSe non in possesso dei file ufficiali del ministero, è possibile crearli a scopo di test della libreria seguendo le istruzioni seguenti:\n\n###Windows\nLanciare il comando dal prompt DOS posizionandosi nella directory dove si trova openssl, di default C:\\OpenSSL-Win32\\bin\n\n###Linux\nNon é necessario spostarsi nel path, in quanto openSSL dovrebbe essere già essere disponibile all'avvio della shell.\n\n### Comandi da eseguire\ngenerazione chiave privata\n``` bash\nopenssl genrsa -out test.key 1024\n```\ngenerazione chiave pubblica\n``` bash\nopenssl rsa -in test.key -out test.pub -pubout\n```\ngenerazione certificato    \n``` bash\nopenssl req -new -x509 -out test.crt -key test.key -days 30\n```\nVedere anche http://www.programmazione.it/index.php?entity=eitem\u0026idItem=36568\n\n## CONFIGURAZIONE\n\n### Enviroment\nRinominare il file **.env.example** in **.env**\naprirlo con un editor di testo e impostare le variabili:\nEsempio Windows:\n\n    TMP_PATH = \"c:/xampp/htdocs/tessera-sanitaria/tests/tmp/\";\n    CERT_FILE = \"c:/xampp/htdocs/tessera-sanitaria/tests/certificates/test.crt\";\n    OPENSSL_EXE_PATH = \"c:/OpenSSL-Win32/bin/\";\n\nEsempio Linux:\n\n    TMP_PATH = \"/var/www/html/tessera-sanitaria/tests/tmp/\";\n    CERT_FILE = \"/var/www/html/tessera-sanitaria/tests/certificates/test.crt\";\n    OPENSSL_EXE_PATH = \"\";\n\n### Permission folder\nRendere queste directory scrivibili da php:\n``` bash\nchmod -R 777 /var/www/html/padosoft/tessera-sanitaria/tests/tmp/\nchmod -R 777 /var/www/html/padosoft/tessera-sanitaria/tests/output/\nchmod -R 777 /var/www/html/padosoft/tessera-sanitaria/tests/log/\nchmod -R 777 /var/www/html/padosoft/tessera-sanitaria/vendor/luminous/luminous/cache/\n```\n\n# CHANGE LOG\n\nPlease see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.\n\n# USO DELLA LIBRERIA\n\n## INSTALLAZIONE DEL PROGETTO\n\nPer installare il progetto con il demo, andare nella directory del proprio web server, e lanciare il comando:\n\n``` bash\ncomposer create-project padosoft/tessera-sanitaria --dev\n```\n\nSupponendo un installazione su windows con XAMPP:\n\n``` bash\ncd C:\\xampp\\htdocs\ncomposer create-project padosoft/tessera-sanitaria --dev\n```\n\na questo punto è possibile visitare l'url http://localhost/tessera-sanitaria/tests/index.php e visualizzare la pagina demo.  \n\n## ESEMPIO BASE\n\nL'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:\n``` php\n// Istanzia la classe per il tracciato\n$objTracciato = new Tracciato($objValidateHelper);\n\n// Crea XML\n$rispostaTracciato = $objTracciato-\u003edoTracciato($codiceRegione, $codiceAsl, $codiceSSA, $cfProprietario, $pIva, $arrSpesa, $arrVociSpesa);\n    \n// Recupera l'XML creato\n$strXML = $objTracciato-\u003egetXml();\n```\nSuccessivamente, la stringa ricavata potrà essere usata per:\n\n- Stampare direttamente il codice a video\n- Creazione file XML\n- Creazione file XML compresso\n\ntramite vari metodi analizzati nel successivo paragrafo \"Output\".\n\n## OUTPUT\n\nLa stringa XML recuperata dal metodo getXml() della classe Tracciato può essere utilizzata nei seguenti modi:\n\n### Output a video\n\nI metodi della classe PrintHelper stampano a video il codice XML generato.\nServendosi della libreria Luminous (https://github.com/markwatkinson/luminous) , il codice viene formattato tramite un'interfaccia chiara ed esteticamente gradevole.\n``` php\n// Stampa header template html\nPrintHelper::printHtmlHeader();\n    \n// Recupera l'esito e gli eventuali errori\nPrintHelper::printError($objTracciato, $logger, $objValidateHelper);\n    \n// Stampa l'XML formattato\nPrintHelper::printXML($strXML);\n    \n// Stampa comandi\nPrintHelper::printButton();\n    \n// Stampa html footer\nPrintHelper::printHtmlFooter();\n```\n### Creazione File\n\nLa 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: \n``` php\n// Salva XML su file\nIOHelper::outputFile($strXML, $pathOutput, $basePath);\n\n// Crea lo zip al volo e salva su $destinationZip\nIOHelper::zipFileOntheFly($pathOutput, $destinationZip, $strXML);\n```\n## VALIDAZIONE\n\nLa 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à:\nhttp://sistemats1.sanita.finanze.it/wps/wcm/connect/487b0bba-6a65-42f9-8b43-2fb907fe7e91/730+Schema+dati+spesa+sanitaria+(28_09_2015)_v2.pdf?MOD=AJPERES\u0026CACHEID=487b0bba-6a65-42f9-8b43-2fb907fe7e91\n\n# ESEMPIO COMPLETO\n\nUn esempio esaustivo di tutte le funzionalità summenzionate si trova in /tests/index.php , che carica anche tutte le dipendenze necessarie.\nTutti i precedenti esempi di codice sono stati ricavati da questo file. \n\n## Screenshot esempio\n\nUno screenshot di esempio si trova nella cartella resources/img\n![demo tessera-sanitaria](https://raw.githubusercontent.com/padosoft/tessera-sanitaria/master/resources/img/tessera_sanitaria_tests.png)\n\n# Contributing\n\nPlease see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details.\n\n# Security\n\nIf you discover any security related issues, please email  instead of using the issue tracker.\n\n# Credits\n\n- [Lorenzo Padovani](https://github.com/lopadova)\n- Raffaele Masi\n- [All contributors](https://github.com/thephpleague/skeleton/contributors)\n\n# About Padosoft\nPadosoft is a software house based in Florence, Italy. Specialized in E-commerce and web sites.\n\n# License\n\nThe MIT License (MIT). Please see [License File](LICENSE.md) for more information.\n\n[ico-version]: https://img.shields.io/packagist/v/padosoft/tessera-sanitaria.svg?style=flat-square\n[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square\n[ico-travis]: https://img.shields.io/travis/padosoft/tessera-sanitaria/master.svg?style=flat-square\n[ico-scrutinizer]: https://img.shields.io/scrutinizer/coverage/g/padosoft/tessera-sanitaria.svg?style=flat-square\n[ico-code-quality]: https://img.shields.io/scrutinizer/g/padosoft/tessera-sanitaria.svg?style=flat-square\n[ico-downloads]: https://img.shields.io/packagist/dt/padosoft/tessera-sanitaria.svg?style=flat-square\n[ico-sensiolab]: https://insight.sensiolabs.com/projects/a79cb441-a1e0-43f7-a343-d1598847ccfc/small.png\n[ico-hhvm-status]: http://hhvm.h4cc.de/badge/padosoft/tessera-sanitaria.svg?style=flat\n\n[link-packagist]: https://packagist.org/packages/padosoft/tessera-sanitaria\n[link-travis]: https://travis-ci.org/padosoft/tessera-sanitaria\n[link-scrutinizer]: https://scrutinizer-ci.com/g/padosoft/tessera-sanitaria/code-structure\n[link-code-quality]: https://scrutinizer-ci.com/g/padosoft/tessera-sanitaria\n[link-downloads]: https://packagist.org/packages/padosoft/tessera-sanitaria\n[link-sensiolab]: https://insight.sensiolabs.com/projects/a79cb441-a1e0-43f7-a343-d1598847ccfc\n[link-hhvm-status]: http://hhvm.h4cc.de/package/padosoft/tessera-sanitaria\n[link-author]: https://github.com/lopadova\n[link-contributors]: ../../contributors\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpadosoft%2Ftessera-sanitaria","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpadosoft%2Ftessera-sanitaria","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpadosoft%2Ftessera-sanitaria/lists"}