1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.fhir.qedm;
17
18 import ca.uhn.fhir.context.FhirContext;
19 import lombok.Getter;
20 import org.openehealth.ipf.commons.ihe.core.IntegrationProfile;
21 import org.openehealth.ipf.commons.ihe.core.InteractionId;
22 import org.openehealth.ipf.commons.ihe.fhir.FhirInteractionId;
23 import org.openehealth.ipf.commons.ihe.fhir.FhirTransactionConfiguration;
24 import org.openehealth.ipf.commons.ihe.fhir.FhirTransactionOptions;
25 import org.openehealth.ipf.commons.ihe.fhir.FhirTransactionValidator;
26 import org.openehealth.ipf.commons.ihe.fhir.audit.FhirQueryAuditDataset;
27 import org.openehealth.ipf.commons.ihe.fhir.pcc44.Pcc44AuditStrategy;
28 import org.openehealth.ipf.commons.ihe.fhir.pcc44.Pcc44ClientRequestFactory;
29
30 import java.util.Arrays;
31 import java.util.Collections;
32 import java.util.List;
33
34
35
36
37
38 public class QEDM implements IntegrationProfile {
39
40
41 public enum Interactions implements FhirInteractionId<FhirQueryAuditDataset> {
42
43 PCC_44;
44
45 @Getter
46 FhirTransactionConfiguration<FhirQueryAuditDataset> fhirTransactionConfiguration;
47
48 public void init(List<? extends FhirTransactionOptions> options) {
49 this.fhirTransactionConfiguration = new FhirTransactionConfiguration<>(
50 "qedm-pcc44",
51 "Mobile Query for Existing Data",
52 true,
53 new Pcc44AuditStrategy(false),
54 new Pcc44AuditStrategy(true),
55 FhirContext.forDstu3(),
56 FhirTransactionOptions.concatProviders(options),
57 new Pcc44ClientRequestFactory(),
58 FhirTransactionValidator.NO_VALIDATION);
59 }
60 }
61
62 @Override
63 public List<InteractionId> getInteractionIds() {
64 List<InteractionId> interactions = Arrays.asList(Interactions.values());
65 return Collections.unmodifiableList(interactions);
66 }
67
68 }