Class GenericFhirAuditStrategy<T extends IDomainResource>
- java.lang.Object
-
- org.openehealth.ipf.commons.ihe.core.atna.AuditStrategySupport<T>
-
- org.openehealth.ipf.commons.ihe.fhir.audit.AbstractFhirAuditStrategy<T,IBaseOperationOutcome>
-
- org.openehealth.ipf.commons.ihe.fhir.audit.FhirAuditStrategy<GenericFhirAuditDataset>
-
- org.openehealth.ipf.commons.ihe.fhir.audit.GenericFhirAuditStrategy<T>
-
- All Implemented Interfaces:
AuditStrategy<GenericFhirAuditDataset>
public class GenericFhirAuditStrategy<T extends IDomainResource> extends FhirAuditStrategy<GenericFhirAuditDataset>
Generic Audit Strategy for FHIR interfaces. The audit written is built alongside what is defined for IHE FHIR transactions, with the resource type (e.g. Encounter) as event type code.- Author:
- Christian Ohr
-
-
Constructor Summary
Constructors Constructor Description GenericFhirAuditStrategy(boolean serverSide, IBaseOperationOutcomeOperations operations, Function<T,Optional<? extends IBaseReference>> patientIdExtractor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GenericFhirAuditDataset
createAuditDataset()
Creates a new audit dataset instance.GenericFhirAuditDataset
enrichAuditDatasetFromRequest(GenericFhirAuditDataset auditDataset, Object request, Map<String,Object> parameters)
Enriches the given audit dataset with transaction-specific contents of the request message and Camel exchange.boolean
enrichAuditDatasetFromResponse(GenericFhirAuditDataset auditDataset, Object response, AuditContext auditContext)
Enriches the given audit dataset with transaction-specific contents of the response message.AuditMessage[]
makeAuditMessage(AuditContext auditContext, GenericFhirAuditDataset auditDataset)
Constructs anAuditMessage
from a providedAuditDataset
-
Methods inherited from class org.openehealth.ipf.commons.ihe.fhir.audit.FhirAuditStrategy
getEventOutcomeCodeFromOperationOutcome, getEventOutcomeDescriptionFromOperationOutcome
-
Methods inherited from class org.openehealth.ipf.commons.ihe.fhir.audit.AbstractFhirAuditStrategy
getEventOutcomeCodeFromResource, getEventOutcomeDescription, getEventOutcomeIndicator
-
Methods inherited from class org.openehealth.ipf.commons.ihe.core.atna.AuditStrategySupport
doAudit, isAuditableResponse, isServerSide
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openehealth.ipf.commons.ihe.core.atna.AuditStrategy
enrichAuditDatasetFromResponse
-
-
-
-
Constructor Detail
-
GenericFhirAuditStrategy
public GenericFhirAuditStrategy(boolean serverSide, IBaseOperationOutcomeOperations operations, Function<T,Optional<? extends IBaseReference>> patientIdExtractor)
- Parameters:
serverSide
- server side auditingoperations
- operations for accessthe FHIR version-specific OperationOutcomepatientIdExtractor
- function that extracts a patient reference from a domain resource
-
-
Method Detail
-
createAuditDataset
public GenericFhirAuditDataset createAuditDataset()
Description copied from interface:AuditStrategy
Creates a new audit dataset instance.
-
enrichAuditDatasetFromRequest
public GenericFhirAuditDataset enrichAuditDatasetFromRequest(GenericFhirAuditDataset auditDataset, Object request, Map<String,Object> parameters)
Description copied from interface:AuditStrategy
Enriches the given audit dataset with transaction-specific contents of the request message and Camel exchange.- Specified by:
enrichAuditDatasetFromRequest
in interfaceAuditStrategy<T extends IDomainResource>
- Overrides:
enrichAuditDatasetFromRequest
in classAbstractFhirAuditStrategy<GenericFhirAuditDataset,IBaseOperationOutcome>
- Parameters:
auditDataset
- audit dataset to be enriched.request
-Object
representing the request.parameters
- additional parameters
-
enrichAuditDatasetFromResponse
public boolean enrichAuditDatasetFromResponse(GenericFhirAuditDataset auditDataset, Object response, AuditContext auditContext)
Description copied from interface:AuditStrategy
Enriches the given audit dataset with transaction-specific contents of the response message.- Specified by:
enrichAuditDatasetFromResponse
in interfaceAuditStrategy<T extends IDomainResource>
- Overrides:
enrichAuditDatasetFromResponse
in classAbstractFhirAuditStrategy<GenericFhirAuditDataset,IBaseOperationOutcome>
- Parameters:
auditDataset
- audit dataset to be enriched.response
-Object
representing the responded resource.auditContext
- audit context, if relevant- Returns:
- true if response indicates success, false otherwise
-
makeAuditMessage
public AuditMessage[] makeAuditMessage(AuditContext auditContext, GenericFhirAuditDataset auditDataset)
Description copied from class:AuditStrategySupport
Constructs anAuditMessage
from a providedAuditDataset
- Specified by:
makeAuditMessage
in classAuditStrategySupport<GenericFhirAuditDataset>
- Parameters:
auditContext
- audit contextauditDataset
- audit dataset- Returns:
- audit message
-
-