Skip to content

ITI-78 (and possibly other FHIR transactions) audit message does not conform to the profile defined in PDQm #509

@Ivan1pl

Description

@Ivan1pl

According to https://profiles.ihe.net/ITI/PDQm/ITI-78.html, ITI-78 audit messages should be recorded using profiles:

I tried validating the created ITI-78 supplier audit message against the profile and got multiple errors. I believe some new restrictions have been added since this was implemented.

This is probably not the highest priority, the issue can be circumvented by constructing a custom audit message.
A dirty workaround if you need to replace the default behavior:

        Class<?> TransactionConfigurationClass = TransactionConfiguration.class;
        Field clientAuditStrategyField = TransactionConfigurationClass.getDeclaredField("clientAuditStrategy");
        clientAuditStrategyField.setAccessible(true);
        clientAuditStrategyField.set(PDQM.Interactions.ITI_78.getFhirTransactionConfiguration(),
                new Iti78ClientFhirQueryAuditStrategy());

        Field serverAuditStrategy = TransactionConfigurationClass.getDeclaredField("serverAuditStrategy");
        serverAuditStrategy.setAccessible(true);
        serverAuditStrategy.set(PDQM.Interactions.ITI_78.getFhirTransactionConfiguration(),
                new Iti78ServerFhirQueryAuditStrategy());

Perhaps it would be a good idea to provide a better way to override the default audit strategy for transactions?

Relevant issues:

I did not yet try to validate other audit messages, but I suspect similar results, possibly in other integration profiles as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions