Repository navigation
refactor(ihe-iti): split the audit feature into balp and atna, at 0.0.40 - #33
Merged
Merged
Conversation
balp writes the BALP AuditEvent of the FHIR profiles on ihe-atna/balp, and atna writes the ITI-55 message of xcpd on ihe-atna/atna with no FHIR model, which a new feature-graph test holds. FerroFED keeps its feature names.
rubentalstra
enabled auto-merge
October 20, 2026 19:42
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
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.
What changed and why
ihe-iti0.0.39 had oneauditfeature forwarding toihe-atna/balp, which carriesatna.xcpdwithaudittherefore compiledihe-atna's FHIR side for an ITI-55 message that needs none of it. FerroFED's interim copy (FerroHEALTH/FerroFED#1177) has two switches instead. The owner chose that split here on 2026-10-20, in line with FerroAUDIT's v0.2.0 direction that the BALP writer works without the syslog stack. No specification governs the feature layout: our own design.balp=ihe-atna/balp,jiffandtokio: the BALPAuditEventof ITI-83, ITI-78, ITI-119, ITI-90, ITI-91, ITI-93 and ITI-94, with.audited(recorder)on the PIXm, PDQm, mCSD and PMIR clients. It replaces every formerauditgate except the ITI-55 message.atna=ihe-atna/atna:AuditEvent::message, the ITI-55 DICOM PS3.15 audit message ofxcpd(§3.55.5.1.1), with its role codes. A new test,features::the_iti_55_audit_message_compiles_no_fhir_model, asserts thatxcpd,atnacompiles neitherfhir-typesnorserde_json. The XCPD client's.audited(...)itself needs neither feature, as before.auditis gone. Enablebalp,atnaor both, the names FerroFED already uses.ihe-itimoves to 0.0.40 with the lock. The CI feature matrix has rows forbalp,atna,pixm,balp,pdqm,balp,mcsd,balp,pmir,balpandxcpd,atna, and every row lints and tests clean locally. The README, the crate docs,CLAUDE.md, the memory and the changelog name the two features.After the merge, 0.0.40 is published between releases through
publish-crates.ymlwithpublish=true, and no product release is cut.Local gates: fmt; clippy
-D warningswith all features and on each of the 12 feature rows; nextest 416 with all features; rustdoc-D warnings; ihe-citations (317), comment-style, crate-version-guard, changelog-guard; actionlint.Closes #32
Licensing of contributions
Checklist
cargo fmt --all --check,cargo clippy --workspace --all-targets -- -D warningswith and without--all-features,cargo nextest run --workspace --locked,cargo docwithRUSTDOCFLAGS=-D warnings, andcargo deny check.shellcheck --severity=style,actionlint,zizmor --min-severity=low .github/, and the self-test of every script the change touches.CHANGELOG.mdhas an[Unreleased]entry, or the change carries theno-changeloglabel.