-
Notifications
You must be signed in to change notification settings - Fork 0
Take 2: refactor for single client PDF-based workflow #59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Added QR code generation utility function in utils.py - Modified preprocess.py to generate QR codes for each client - Updated French and English template scripts to include QR codes - Modified conf.typ to display QR codes in PDF notices - QR codes contain client ID, name, DOB, and school information - QR codes are saved as PNG files and embedded in PDFs
- Added QR code column to client_info_tbl_fr and client_info_tbl_en functions - QR codes are displayed in the top-right corner of immunization notices - Uses image.decode to render base64 encoded QR code images - Maintains responsive layout with proper column widths
…ality; update template columns for better layout in English and French versions.
…d QR payload templates
…too far done the single-client-pdf road.
…for subsequent steps but slated for removal. Also add tests.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Example dataset - one client per id
…rkflow. Removal of legacy artifact outputs.
… moving from .sh to .py scripts where possible as working through pipeline.
PDF batching clean up, remove deprecated Pypdf2 More clean up
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…st and immunization chart
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
PDF validation using invisible markers, typst measure, and regex
… encryption in single pipeline to support QA workflows while also using electronic delivery
…ections in config
…OR encryption to also be enabled
No more lazy yaml in test_cleanup bundleing too
Bundle + Encrypt
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This needs additional testing, but I believe it's at a point now for review and comment.
Lots of changes, lots to discuss. This refactor is aimed at supporting all of our
v0.2milestone features. It has not focused on performance. I anticipate because of the focus on the single-client pdf compilation that pdf compilation will be slower overall, but performance testing is required to determine how much slower.Because of how significant the changes are I don't think reviewing the files changed in github interface will be the way to go, but would rather recommend checking out the branch and trying run code and tests.
Documentation:
docs/BRANCHING.mddocs/DOCUMENTATION_STANDARDS.mdanddocs/TESTING_STANDARDS.mdAGENTS.mdfor more consistent AI recommendations when used for developmentOrganization:
run_pipeline.shwhich is noworchestrator.py(Issue Explore Orchestration in Python? #7)uv run viper <input file> <language code>orchestrator.py/run viperconfig/parameters.yamlis now the main place for configuration, and configuratons documented inconfig/README.md. Now favouring configuration more over CLI arguments generallyoutput/artifacts/qr_codes,output/artifacts_typstoutput/logs(just pre-processing for now)output/metadata(batch manifests, pdf validation results - just page counts for now)output/pdf_combinedoutput/pdf_individualBatching
config/parameters.yamlLanguage & Dates & Standards
babelpackage is used to format dates for notice use in target languageconfig/disease_normalization.json, is used in conjunction with language specific files withinconfig/translationfor display in overdue list and in immunization history chart, which reference normalized disease names.Data processing
QR Codes & Encryption
TemplateFieldenum. Shared utilities help implement.config/parameters.yamlDependency/Project management
uv.locktracked, and dependabot enabled for autoupdatesuv run ty, but it is not yet available as a pre-commit hookPR #60
PR #62
Question
7. Can we transform counting pdf pages to a more fullsome PDF validation, using approaches like in @TiaTuinstra's testing work, and also add that to a metadata output?Addressed via Pdf validation #6010. We may want to support batch-unencrypted + singular-encrypted outputs within the same run to facilitate PHN reviewAddressed via PR Bundle + Encrypt #62Missing features
1. Page check is just number of pdf pages, beyond going to 3 pages, there is not a unique error for this, or routing of the malformed PDF elsewhere. I understand this may be a regression and we need to implement.Addressed via #602. The tests are questionable, we should plan to review more closely. I didn't think it was worth highlighting that there were 400+ tests now as I can't say I manually reviewed them all
3. Logging work @kassyray has begun on not present here (#37), but think there's a great opportunity to add!