padosoft/tessera-sanitaria 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

Latest Version on Packagist Software License Build Status HHVM Status Coverage Status Quality Score Total Downloads SensioLabsInsight

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

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 demo tessera-sanitaria

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

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 padosoft/tessera-sanitaria 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 80
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 3
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-12-05