1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.transform.hl7.pid;
17
18 import static org.junit.Assert.*;
19
20 import java.util.ListIterator;
21
22 import org.junit.Test;
23 import org.openehealth.ipf.commons.ihe.xds.core.metadata.AssigningAuthority;
24 import org.openehealth.ipf.commons.ihe.xds.core.metadata.Identifiable;
25 import org.openehealth.ipf.commons.ihe.xds.core.metadata.PatientInfo;
26
27
28
29
30
31 public class SourcePatientIdentifierPIDTransformerTest {
32
33 @Test
34 public void testToHL7() {
35 PatientInfo patientInfo = new PatientInfo();
36 Identifiable id1 = new Identifiable();
37 id1.setId("id1");
38 AssigningAuthority assigningAuthority1 = new AssigningAuthority();
39 assigningAuthority1.setUniversalId("1.1.1.1");
40 assigningAuthority1.setUniversalIdType("ISO");
41 id1.setAssigningAuthority(assigningAuthority1);
42
43 Identifiable id2 = new Identifiable();
44 id2.setId("id2");
45 AssigningAuthority assigningAuthority2 = new AssigningAuthority();
46 assigningAuthority2.setUniversalId("2.2.2.2");
47 assigningAuthority2.setUniversalIdType("ISO");
48 id2.setAssigningAuthority(assigningAuthority2);
49
50 patientInfo.getIds().add(id1);
51 patientInfo.getIds().add(id2);
52
53 ListIterator<String> iterator = patientInfo.getHl7FieldIterator("PID-3");
54 assertEquals("id2^^^&2.2.2.2&ISO", iterator.next());
55 assertEquals("id1^^^&1.1.1.1&ISO", iterator.next());
56 assertFalse(iterator.hasNext());
57 }
58
59 @Test
60 public void testToHL7EmptyIds() {
61 PatientInfo patientInfo = new PatientInfo();
62 patientInfo.getIds().add(new Identifiable());
63 patientInfo.getIds().add(new Identifiable());
64 ListIterator<String> iterator = patientInfo.getHl7FieldIterator("PID-3");
65 assertEquals("", iterator.next());
66 assertEquals("", iterator.next());
67 assertFalse(iterator.hasNext());
68 }
69
70 @Test
71 public void testToHL7NoIds() {
72 PatientInfo patientInfo = new PatientInfo();
73 ListIterator<String> iterator = patientInfo.getHl7FieldIterator("PID-3");
74 assertFalse(iterator.hasNext());
75 }
76
77 @Test
78 public void testFromHL7() {
79 PatientInfo patientInfo = new PatientInfo();
80 ListIterator<String> iterator = patientInfo.getHl7FieldIterator("PID-3");
81 iterator.add("id1^^^&1.1.1.1&ISO");
82 iterator.add("id2^^^&2.2.2.2&ISO");
83
84 ListIterator<Identifiable> ids = patientInfo.getIds();
85 Identifiable id0 = ids.next();
86 Identifiable id1 = ids.next();
87 assertFalse(ids.hasNext());
88
89 assertEquals("id1", id0.getId());
90 assertEquals("1.1.1.1", id0.getAssigningAuthority().getUniversalId());
91 assertEquals("ISO", id0.getAssigningAuthority().getUniversalIdType());
92
93 assertEquals("id2", id1.getId());
94 assertEquals("2.2.2.2", id1.getAssigningAuthority().getUniversalId());
95 assertEquals("ISO", id1.getAssigningAuthority().getUniversalIdType());
96 }
97
98 @Test
99 public void testFromHL7OneEmptyId() {
100 PatientInfo patientInfo = new PatientInfo();
101 ListIterator<String> iterator = patientInfo.getHl7FieldIterator("PID-3");
102 iterator.add("^^^");
103 iterator.add("id2^^^&2.2.2.2&ISO");
104
105 ListIterator<Identifiable> ids = patientInfo.getIds();
106 assertNull(ids.next());
107 Identifiable id0 = ids.next();
108 assertFalse(ids.hasNext());
109
110 assertEquals("id2", id0.getId());
111 assertEquals("2.2.2.2", id0.getAssigningAuthority().getUniversalId());
112 assertEquals("ISO", id0.getAssigningAuthority().getUniversalIdType());
113 }
114
115 @Test
116 public void testFromHL7Empty() {
117 PatientInfo patientInfo = new PatientInfo();
118 patientInfo.getHl7FieldIterator("PID-3").add("");
119 ListIterator<Identifiable> ids = patientInfo.getIds();
120 assertNull(ids.next());
121 assertFalse(ids.hasNext());
122 }
123
124 @Test
125 public void testFromHL7Null() {
126 PatientInfo patientInfo = new PatientInfo();
127 patientInfo.getHl7FieldIterator("PID-3").add(null);
128 ListIterator<Identifiable> ids = patientInfo.getIds();
129 assertNull(ids.next());
130 assertFalse(ids.hasNext());
131 }
132 }