timlegge / perl-health-shc Goto Github PK
View Code? Open in Web Editor NEWPerl module for Smart Health Card Validation and Data Extraction
Home Page: https://metacpan.org/pod/Health::SHC
Perl module for Smart Health Card Validation and Data Extraction
Home Page: https://metacpan.org/pod/Health::SHC
NAME Health::SHC - Verify Smart Health Card Signature and Extract data. SYNOPSIS use Health::SHC::Validate; my $shc_valid = Health::SHC::Validate->new(); # Use builtin trusted keys my $data = $shc_valid->get_valid_data($qr); # Use your own keys to validate - you may trust them my $data = $shc_valid->get_valid_data($qr, $keys_json); use Health::SHC; my $sh = Health::SHC->new(); my @patients = $sh->get_patients($data); foreach (@patients) { print "Patient: ", $_->{given}, " ", $_->{middle}, " ", $_->{family}, "\n"; } my @immunizations = $sh->get_immunizations($data); print "Vacination Provider", "\t", "Date", "\n"; foreach (@immunizations) { print $_->{provider}, "\t", $_->{date}, "\n"; } my @vaccines = $sh->get_vaccines($data); print "Manufacturer\tLot Number\tCode\tCode System\n"; foreach (@vaccines) { print $_->{manufacturer}, "\t\t", $_->{lotNumber}, "\t\t"; my $codes = $_->{codes}; foreach my $tmp (@$codes) { print $tmp->{code}, "\t", $tmp->{system}, "\t"; } print "\n"; } DESCRIPTION This perl module can extract a Smart Health Card's data from PDFs or image file. The extracted shc:/ Smart Health Card URI is decoded and the signature checked. The module provide several methods to retrieve the data in a more usable format. Health::SHC supports QR codes for the following regions: * Québec * British Columbia * Saskatchewan * Alberta * Newfoundland and Labrador * Nova Scotia * Ontario * Northwest Territories * Yukon * New Brunswick/Nouveau-Brunswick * Japan The keys in share/keys.json (and supported regions) are based on the keys included with https://github.com/obrassard/shc-extractor. Additional regions can be added with a pull request or by logging an issue at https://github.com/timlegge/perl-Health-SHC/issues. COPYRIGHT The following copyright notice applies to all the files provided in this distribution, including binary files, unless explicitly noted otherwise. Copyright 2021 Timothy Legge <[email protected]> LICENCE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. METHODS new(...) Constructor; see OPTIONS above. get_patients($data) Arguments: $data: string Smart Health Card data without the "shc:/" prefix Returns: hash containing the Patient information get_immunizations($data) Arguments: $data: string Smart Health Card data without the "shc:/" prefix Returns: hash containing the Immunization data get_vaccines($data) Arguments: $data: string Smart Health Card data without the "shc:/" prefix Returns: hash containing the Vaccine data
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.