padosoft/tessera-sanitaria
Composer 安装命令:
composer require padosoft/tessera-sanitaria
包简介
Export delle prestazioni mediche per il servizio nazionale sanità secondo il formato XML della tessera sanitaria DM 31/07/2015.
README 文档
README
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: http://sistemats1.sanita.finanze.it/wps/portal/
Table of Contents
- PROGETTO TESSERA SANITARIA
- Table of Contents
- PREREQUISITI
- CHANGE LOG
- USO DELLA LIBRERIA
- ESEMPIO COMPLETO
- Contributing
- Security
- Credits
- About Padosoft
- License
PREREQUISITI
PHP 5.4+ OpenSSL
INSTALLAZIONE OPENSSL
Windows
Scaricare l'eseguibile da https://slproweb.com/products/Win32OpenSSL.html , lanciarlo e seguire le istruzioni a video.
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
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
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&idItem=36568
CONFIGURAZIONE
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
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
Please see CHANGELOG for more information what has changed recently.
USO DELLA LIBRERIA
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 http://localhost/tessera-sanitaria/tests/index.php e visualizzare la pagina demo.
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
La stringa XML recuperata dal metodo getXml() della classe Tracciato può essere utilizzata nei seguenti modi:
Output a video
I metodi della classe PrintHelper stampano a video il codice XML generato. Servendosi della libreria Luminous (https://github.com/markwatkinson/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
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
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&CACHEID=487b0bba-6a65-42f9-8b43-2fb907fe7e91
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
Uno screenshot di esempio si trova nella cartella resources/img

Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email instead of using the issue tracker.
Credits
- Lorenzo Padovani
- Raffaele Masi
- All contributors
About Padosoft
Padosoft is a software house based in Florence, Italy. Specialized in E-commerce and web sites.
License
The MIT License (MIT). Please see License File for more information.
padosoft/tessera-sanitaria 适用场景与选型建议
padosoft/tessera-sanitaria 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 80 次下载、GitHub Stars 达 3, 最近一次更新时间为 2015 年 12 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「xml」 「export」 「padosoft」 「tessera sanitaaria」 「servizio sanitario nazionale」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 padosoft/tessera-sanitaria 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 padosoft/tessera-sanitaria 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 padosoft/tessera-sanitaria 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Bulk export of sylius resources
Generate slugs when saving Eloquent models
Laravel package for automatic upload handling with trait
Laravel Laravel Package for beautifull JS notification.
Notification system for laravel
Implementation for Laravel of the presenter design pattern.
统计信息
- 总下载量: 80
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-12-05