-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #100 from OsiriX-Foundation/refactor_pseudonym
Refactor pseudonym to remove duplicate code
- Loading branch information
Showing
4 changed files
with
239 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,63 +1,24 @@ | ||
package org.karnak.cache; | ||
|
||
import java.io.Serializable; | ||
import java.time.LocalDate; | ||
|
||
public class CachedPatient implements PseudonymPatient, Serializable { | ||
private String pseudonym; | ||
private String patientId; | ||
private String patientName; | ||
private String issuerOfPatientId; | ||
public class CachedPatient extends Patient { | ||
|
||
public CachedPatient(String pseudonym, String patientId, String patientName, String issuerOfPatientId) { | ||
this.pseudonym = pseudonym; | ||
this.patientId = patientId; | ||
this.patientName = patientName; | ||
this.issuerOfPatientId = issuerOfPatientId; | ||
} | ||
|
||
@Override | ||
public String getPseudonym() { | ||
return pseudonym; | ||
super(pseudonym, patientId, patientName, null, null, issuerOfPatientId); | ||
} | ||
|
||
public void setPseudonym(String pseudonym) { | ||
this.pseudonym = pseudonym; | ||
} | ||
|
||
@Override | ||
public String getPatientId() { | ||
return patientId; | ||
} | ||
|
||
public void setPatientId(String patientId) { | ||
this.patientId = patientId; | ||
} | ||
@Override | ||
public String getPatientName() { | ||
return patientName; | ||
} | ||
|
||
public void setPatientName(String patientName) { | ||
this.patientName = patientName; | ||
} | ||
|
||
@Override | ||
public String getIssuerOfPatientId() { | ||
return issuerOfPatientId; | ||
updatePatientName(patientName); | ||
} | ||
|
||
public void setIssuerOfPatientId(String issuerOfPatientId) { | ||
this.issuerOfPatientId = issuerOfPatientId; | ||
} | ||
|
||
@Override | ||
public LocalDate getPatientBirthDate() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public String getPatientSex() { | ||
return null; | ||
} | ||
} |
68 changes: 7 additions & 61 deletions
68
mvc/src/main/java/org/karnak/cache/MainzellistePatient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,94 +1,40 @@ | ||
package org.karnak.cache; | ||
|
||
import java.io.Serializable; | ||
import java.time.LocalDate; | ||
|
||
public class MainzellistePatient implements PseudonymPatient, Serializable { | ||
private String pseudonym; | ||
private String patientId; | ||
private String patientFirstName; | ||
private String patientLastName; | ||
private LocalDate patientBirthDate; | ||
private String patientSex; | ||
private String issuerOfPatientId; | ||
public class MainzellistePatient extends Patient { | ||
|
||
@Override | ||
public String getPseudonym() { | ||
return pseudonym; | ||
public MainzellistePatient(String pseudonym, String patientId, String patientFirstName, String patientLastName, | ||
LocalDate patientBirthDate, String patientSex, String issuerOfPatientId) | ||
{ | ||
super(pseudonym, patientId, patientFirstName, patientLastName, patientBirthDate, patientSex, issuerOfPatientId); | ||
} | ||
|
||
public void setPseudonym(String pseudonym) { | ||
this.pseudonym = pseudonym; | ||
} | ||
|
||
@Override | ||
public String getPatientId() { | ||
return patientId; | ||
} | ||
|
||
public void setPatientId(String patientId) { | ||
this.patientId = patientId; | ||
} | ||
|
||
@Override | ||
public String getPatientName() { | ||
return patientFirstName == null || patientFirstName.equals("") ? | ||
patientLastName : String.format("%s^%s", patientLastName == null ? "" : patientLastName, patientFirstName); | ||
} | ||
|
||
public String getPatientFirstName() { | ||
return patientFirstName; | ||
} | ||
|
||
public void setPatientFirstName(String patientFirstName) { | ||
this.patientFirstName = patientFirstName; | ||
} | ||
|
||
public String getPatientLastName() { | ||
return patientLastName; | ||
updatePatientFirstName(patientFirstName); | ||
} | ||
|
||
public void setPatientLastName(String patientLastName) { | ||
this.patientLastName = patientLastName; | ||
} | ||
|
||
@Override | ||
public LocalDate getPatientBirthDate() { | ||
return patientBirthDate; | ||
updatePatientLastName(patientLastName); | ||
} | ||
|
||
public void setPatientBirthDate(LocalDate patientBirthDate) { | ||
this.patientBirthDate = patientBirthDate; | ||
} | ||
|
||
@Override | ||
public String getPatientSex() { | ||
return patientSex; | ||
} | ||
|
||
public void setPatientSex(String patientSex) { | ||
this.patientSex = patientSex; | ||
} | ||
|
||
@Override | ||
public String getIssuerOfPatientId() { | ||
return issuerOfPatientId; | ||
} | ||
|
||
public void setIssuerOfPatientId(String issuerOfPatientId) { | ||
this.issuerOfPatientId = issuerOfPatientId; | ||
} | ||
|
||
public MainzellistePatient(String pseudonym, String patientId, String patientFirstName, String patientLastName, | ||
LocalDate patientBirthDate, String patientSex, String issuerOfPatientId) | ||
{ | ||
this.pseudonym = pseudonym; | ||
this.patientId = patientId; | ||
this.patientFirstName = patientFirstName; | ||
this.patientLastName = patientLastName; | ||
this.patientBirthDate= patientBirthDate; | ||
this.patientSex = patientSex; | ||
this.issuerOfPatientId = issuerOfPatientId; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
package org.karnak.cache; | ||
|
||
import java.io.Serializable; | ||
import java.time.LocalDate; | ||
|
||
public abstract class Patient implements PseudonymPatient, Serializable { | ||
private static final Character SPLIT_CHAR_PATIENT_NAME = '^'; | ||
protected String pseudonym; | ||
protected String patientId; | ||
protected String patientName; | ||
protected String patientFirstName; | ||
protected String patientLastName; | ||
protected LocalDate patientBirthDate; | ||
protected String patientSex; | ||
protected String issuerOfPatientId; | ||
|
||
protected Patient(String pseudonym, String patientId, String patientName, LocalDate patientBirthDate, | ||
String patientSex, String issuerOfPatientId) | ||
{ | ||
this.pseudonym = pseudonym; | ||
this.patientId = patientId; | ||
this.patientName = patientName; | ||
this.patientFirstName = createPatientFirstName(patientName); | ||
this.patientLastName = createPatientLastName(patientName); | ||
this.patientBirthDate= patientBirthDate; | ||
this.patientSex = patientSex; | ||
this.issuerOfPatientId = issuerOfPatientId; | ||
} | ||
|
||
protected Patient(String pseudonym, String patientId, String patientFirstName, String patientLastName, | ||
LocalDate patientBirthDate, String patientSex, String issuerOfPatientId) | ||
{ | ||
this.pseudonym = pseudonym; | ||
this.patientId = patientId; | ||
this.patientName = createPatientName(patientFirstName, patientLastName); | ||
this.patientFirstName = emptyStringIfNull(patientFirstName); | ||
this.patientLastName = emptyStringIfNull(patientLastName); | ||
this.patientBirthDate= patientBirthDate; | ||
this.patientSex = patientSex; | ||
this.issuerOfPatientId = issuerOfPatientId; | ||
} | ||
|
||
protected static String createPatientLastName(String patientName) { | ||
return patientName.split(String.format("\\%c", SPLIT_CHAR_PATIENT_NAME))[0]; | ||
} | ||
|
||
protected static String createPatientFirstName(String patientName) { | ||
String[] patientNameSplitted = patientName.split(String.format("\\%c", SPLIT_CHAR_PATIENT_NAME)); | ||
if (patientNameSplitted.length > 1) { | ||
return patientNameSplitted[1]; | ||
} | ||
return ""; | ||
} | ||
|
||
protected static String createPatientName(String patientFirstName, String patientLastName) { | ||
if (patientFirstName == null || patientFirstName.equals("")) { | ||
return patientLastName; | ||
} | ||
return String.format("%s%c%s", patientLastName == null ? "" : patientLastName, SPLIT_CHAR_PATIENT_NAME, patientFirstName); | ||
} | ||
|
||
protected void updatePatientName(String patientName) { | ||
this.patientName = patientName; | ||
this.patientFirstName = createPatientFirstName(patientName); | ||
this.patientLastName = createPatientLastName(patientName); | ||
} | ||
|
||
protected void updatePatientLastName(String patientLastName) { | ||
this.patientLastName = emptyStringIfNull(patientLastName); | ||
this.patientName = createPatientName(patientFirstName, patientLastName); | ||
} | ||
|
||
protected void updatePatientFirstName(String patientFirstName) { | ||
this.patientFirstName = emptyStringIfNull(patientFirstName); | ||
this.patientName = createPatientName(patientFirstName, patientLastName); | ||
} | ||
|
||
private static String emptyStringIfNull(String value) { | ||
return value == null ? "" : value; | ||
} | ||
|
||
@Override | ||
public String getPseudonym() { | ||
return pseudonym; | ||
} | ||
|
||
@Override | ||
public String getPatientId() { | ||
return patientId; | ||
} | ||
|
||
@Override | ||
public String getPatientName() { | ||
return patientName; | ||
} | ||
|
||
public String getPatientFirstName() { | ||
return patientFirstName; | ||
} | ||
|
||
public String getPatientLastName() { | ||
return patientLastName; | ||
} | ||
|
||
@Override | ||
public LocalDate getPatientBirthDate() { | ||
return patientBirthDate; | ||
} | ||
|
||
@Override | ||
public String getPatientSex() { | ||
return patientSex; | ||
} | ||
|
||
@Override | ||
public String getIssuerOfPatientId() { | ||
return issuerOfPatientId; | ||
} | ||
} |
Oops, something went wrong.