1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.hl7v2.audit.iti9;
17
18 import ca.uhn.hl7v2.model.Message;
19 import org.openehealth.ipf.commons.audit.AuditContext;
20 import org.openehealth.ipf.commons.audit.model.AuditMessage;
21 import org.openehealth.ipf.commons.ihe.core.atna.AuditStrategySupport;
22 import org.openehealth.ipf.commons.ihe.core.atna.event.QueryInformationBuilder;
23 import org.openehealth.ipf.commons.ihe.hl7v2.audit.codes.MllpEventTypeCode;
24 import org.openehealth.ipf.commons.ihe.hl7v2.audit.QueryAuditDataset;
25
26 import java.util.Map;
27
28 import static org.openehealth.ipf.commons.ihe.hl7v2.audit.codes.MllpParticipantObjectIdTypeCode.PIXQuery;
29
30 public class Iti9AuditStrategy extends AuditStrategySupport<QueryAuditDataset> {
31
32 public Iti9AuditStrategy(boolean serverSide) {
33 super(serverSide);
34 }
35
36 @Override
37 public QueryAuditDataset createAuditDataset() {
38 return new QueryAuditDataset(isServerSide());
39 }
40
41 @Override
42 public QueryAuditDataset enrichAuditDatasetFromRequest(QueryAuditDataset auditDataset,
43 Object msg, Map<String, Object> parameters) {
44 Iti9AuditStrategyUtils.enrichAuditDatasetFromRequest(auditDataset, (Message) msg, parameters);
45 return auditDataset;
46 }
47
48 @Override
49 public boolean enrichAuditDatasetFromResponse(QueryAuditDataset auditDataset,
50 Object msg,
51 AuditContext auditContext) {
52 return Iti9AuditStrategyUtils.enrichAuditDatasetFromResponse(auditDataset, (Message) msg, auditContext);
53 }
54
55 @Override
56 public AuditMessage[] makeAuditMessage(AuditContext auditContext, QueryAuditDataset auditDataset) {
57 return new QueryInformationBuilder(auditContext,auditDataset, MllpEventTypeCode.PIXQuery)
58 .setQueryParameters(
59 auditDataset.getMessageControlId(),
60 PIXQuery,
61 auditDataset.getPayload(),
62 "MSH-10", auditDataset.getMessageControlId())
63 .addPatients(auditDataset.getPatientIds())
64 .getMessages();
65 }
66
67 }