1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.openehealth.ipf.commons.ihe.fhir.iti67;
18
19 import ca.uhn.fhir.context.FhirContext;
20 import ca.uhn.fhir.model.api.Include;
21 import ca.uhn.fhir.rest.api.SortSpec;
22 import ca.uhn.fhir.rest.param.DateRangeParam;
23 import ca.uhn.fhir.rest.param.ReferenceParam;
24 import ca.uhn.fhir.rest.param.StringParam;
25 import ca.uhn.fhir.rest.param.TokenOrListParam;
26 import ca.uhn.fhir.rest.param.TokenParam;
27 import lombok.Builder;
28 import lombok.Getter;
29 import lombok.Setter;
30 import lombok.ToString;
31 import org.openehealth.ipf.commons.ihe.fhir.FhirSearchParameters;
32
33 import java.util.Collections;
34 import java.util.List;
35 import java.util.Set;
36
37
38
39
40
41 @Builder
42 @ToString
43 public class Iti67SearchParameters implements FhirSearchParameters {
44
45 @Getter @Setter private ReferenceParam patientReference;
46 @Getter @Setter private TokenParam patientIdentifier;
47 @Getter @Setter private DateRangeParam indexed;
48 @Getter @Setter private StringParam authorFamilyName;
49 @Getter @Setter private StringParam authorGivenName;
50 @Getter @Setter private TokenOrListParam status;
51 @Getter @Setter private TokenOrListParam class_;
52 @Getter @Setter private TokenOrListParam type;
53 @Getter @Setter private TokenOrListParam setting;
54 @Getter @Setter private DateRangeParam period;
55 @Getter @Setter private TokenOrListParam facility;
56 @Getter @Setter private TokenOrListParam event;
57 @Getter @Setter private TokenOrListParam securityLabel;
58 @Getter @Setter private TokenOrListParam format;
59 @Getter @Setter private TokenOrListParam relatedId;
60 @Getter @Setter private TokenParam _id;
61
62 @Getter @Setter private SortSpec sortSpec;
63 @Getter @Setter private Set<Include> includeSpec;
64
65 @Getter private FhirContext fhirContext;
66
67 @Override
68 public List<TokenParam> getPatientIdParam() {
69 if (_id != null)
70 return Collections.singletonList(_id);
71 if (patientReference != null)
72 return Collections.singletonList(patientReference.toTokenParam(fhirContext));
73
74 return Collections.singletonList(patientIdentifier);
75 }
76 }