1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.requests.query;
17
18 import lombok.EqualsAndHashCode;
19 import lombok.Getter;
20 import lombok.Setter;
21 import lombok.ToString;
22 import org.openehealth.ipf.commons.ihe.xds.core.metadata.*;
23
24 import javax.xml.bind.annotation.*;
25 import java.util.List;
26
27
28
29
30
31 @XmlAccessorType(XmlAccessType.FIELD)
32 @XmlType(name = "FindSubmissionSetsQuery", propOrder = {
33 "status", "sourceIds", "authorPerson", "submissionTime", "contentTypeCodes", "patientId"})
34 @XmlRootElement(name = "findSubmissionSetsQuery")
35 @EqualsAndHashCode(callSuper = true, doNotUseGetters = true)
36 @ToString(callSuper = true, doNotUseGetters = true)
37 public class FindSubmissionSetsQuery extends StoredQuery implements PatientIdBasedStoredQuery {
38 private static final long serialVersionUID = 1712346604151312305L;
39
40 @Getter @Setter private List<AvailabilityStatus> status;
41 @XmlElement(name = "sourceId")
42 @Getter @Setter private List<String> sourceIds;
43 @XmlElement(name = "contentTypeCode")
44 @Getter @Setter private List<Code> contentTypeCodes;
45 @Getter @Setter private String authorPerson;
46 @Getter @Setter private Identifiable patientId;
47
48 @Getter private final TimeRange submissionTime = new TimeRange();
49
50
51
52
53 public FindSubmissionSetsQuery() {
54 super(QueryType.FIND_SUBMISSION_SETS);
55 }
56
57 @Override
58 public void accept(Visitor visitor) {
59 visitor.visit(this);
60 }
61
62
63
64
65
66
67
68 public void setTypedAuthorPerson(Person authorPerson) {
69 this.authorPerson = Hl7v2Based.render(authorPerson);
70 }
71
72
73
74
75
76
77
78
79 public Person getTypedAuthorPerson() {
80 return Hl7v2Based.parse(this.authorPerson, Person.class);
81 }
82
83 }