Skip to content

Commit ad5ef57

Browse files
Merge branch 'master' into BAH-2765
2 parents 28e750a + c774c3e commit ad5ef57

3 files changed

Lines changed: 24 additions & 16 deletions

File tree

api/src/main/java/org/bahmni/module/hip/Config.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public enum Config {
1111

1212
//identifier type
1313
ABHA_ADDRESS("ABHA Address"),
14+
ABHA_NUMBER("ABHA Number"),
1415

1516
//encounterType
1617
CONSULTATION("Consultation"),

api/src/main/resources/liquibase.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,24 @@
1818
</update>
1919
</changeSet>
2020

21-
<changeSet id="Removing-ABHA-globalProperty-230620221617" author="Sameera, Kavitha">
21+
<changeSet id="Adding-ABHA-Number-IdentifierType-190120231610" author="Sameera">
2222
<preConditions onFail="MARK_RAN">
23-
<sqlCheck expectedResult="1">select count(*) from patient_identifier_type where name='ABHA'</sqlCheck>
23+
<sqlCheck expectedResult="0">select count(*) from patient_identifier_type where name='ABHA Number'</sqlCheck>
2424
</preConditions>
25-
<comment>Removing ABHA identifier from global property</comment>
25+
<comment>Adding ABHA Number Identifier type</comment>
2626
<sql>
27-
update global_property set property_value=replace(property_value,concat((SELECT uuid from patient_identifier_type where name='ABHA'),","),"") where property = 'bahmni.extraPatientIdentifierTypes';
27+
insert into patient_identifier_type( name, description,creator, uuid, uniqueness_behavior, location_behavior, date_created) Select 'ABHA Number','Health Id identifier type',creator,uuid(),'UNIQUE','NOT_USED',now() from users where username='admin';
2828
</sql>
2929
</changeSet>
3030

31-
<changeSet id="Removing-ABHA-IdentifierType" author="Sameera, Kavitha">
31+
<changeSet id="updating-ABHA-Number-globalProperty-190120231612" author="Sameera">
3232
<preConditions onFail="MARK_RAN">
33-
<sqlCheck expectedResult="1">select count(*) from patient_identifier_type where name='ABHA'</sqlCheck>
33+
<sqlCheck expectedResult="1">select count(*) from patient_identifier_type where name='ABHA Number'</sqlCheck>
34+
<sqlCheck expectedResult="0">select count(*) from global_property where property = 'bahmni.extraPatientIdentifierTypes' and property_value LIKE CONCAT('%', (Select uuid from patient_identifier_type where name = 'ABHA Number'))</sqlCheck>
3435
</preConditions>
35-
<comment>Removing ABHA Identifier type</comment>
36+
<comment>Updating global property for ABHA Number</comment>
3637
<sql>
37-
delete from patient_identifier where identifier_type=(select patient_identifier_type_id from patient_identifier_type where name='ABHA');
38-
delete from patient_identifier_type where name='ABHA';
38+
update global_property set property_value=(SELECT CONCAT(IF(ISNULL(property_value),'',CONCAT(property_value,',')),uuid) from patient_identifier_type where name = 'ABHA Number') where property = 'bahmni.extraPatientIdentifierTypes';
3939
</sql>
4040
</changeSet>
4141

omod/src/main/java/org/bahmni/module/hip/web/service/ExistingPatientService.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,31 +65,36 @@ public String getHealthId(Patient patient) {
6565
public void perform(String healthId, String action) {
6666
Patient patient = patientService.getPatientByUuid(getPatientWithHealthId(healthId));
6767
PatientIdentifier patientIdentifierPhr = patient.getPatientIdentifier(Config.ABHA_ADDRESS.getValue());
68+
PatientIdentifier patientIdentifierHealthId = patient.getPatientIdentifier(Config.ABHA_NUMBER.getValue());
6869
if (action.equals(Status.DELETED.toString())) {
69-
removeHealthId(patient,patientIdentifierPhr);
70+
removeHealthId(patient,patientIdentifierPhr,patientIdentifierHealthId);
7071
}
7172
if (action.equals(Status.DEACTIVATED.toString())) {
72-
voidHealthId(patientIdentifierPhr);
73+
voidHealthId(patientIdentifierPhr,patientIdentifierHealthId);
7374
}
7475
if (action.equals(Status.REACTIVATED.toString())) {
75-
unVoidHealthId(patient,healthId);
76+
unVoidHealthId(patient);
7677
}
7778
}
7879

79-
private void voidHealthId(PatientIdentifier patientIdentifierPHR) {
80+
private void voidHealthId(PatientIdentifier patientIdentifierPHR, PatientIdentifier patientIdentifierHealthId) {
8081
try {
8182
if (!patientIdentifierPHR.getVoided()) {
8283
patientService.voidPatientIdentifier(patientIdentifierPHR, Status.DEACTIVATED.toString());
8384
}
85+
if (!patientIdentifierHealthId.getVoided()) {
86+
patientService.voidPatientIdentifier(patientIdentifierHealthId, Status.DEACTIVATED.toString());
87+
}
8488
} catch (NullPointerException ignored) {
8589
}
8690
}
8791

88-
private void unVoidHealthId(Patient patient, String phrAddress) {
92+
private void unVoidHealthId(Patient patient) {
8993
Set<PatientIdentifier> patientIdentifiers = patient.getIdentifiers();
9094
try {
9195
for (PatientIdentifier patientIdentifier : patientIdentifiers) {
92-
if (patientIdentifier.getIdentifierType().getName().equals(Config.ABHA_ADDRESS.getValue())) {
96+
if (patientIdentifier.getIdentifierType().getName().equals(Config.ABHA_ADDRESS.getValue()) ||
97+
patientIdentifier.getIdentifierType().getName().equals(Config.ABHA_NUMBER.getValue())) {
9398
if(patientIdentifier.getVoided()){
9499
patientIdentifier.setVoided(false);
95100
patientService.savePatientIdentifier(patientIdentifier);
@@ -100,10 +105,12 @@ private void unVoidHealthId(Patient patient, String phrAddress) {
100105
}
101106
}
102107

103-
private void removeHealthId(Patient patient,PatientIdentifier patientIdentifierPHR) {
108+
private void removeHealthId(Patient patient,PatientIdentifier patientIdentifierPHR,PatientIdentifier patientIdentifierHealthId) {
104109
try {
105110
if(patientIdentifierPHR != null)
106111
patient.removeIdentifier(patientIdentifierPHR);
112+
if (patientIdentifierHealthId != null)
113+
patient.removeIdentifier(patientIdentifierHealthId);
107114
patientService.savePatient(patient);
108115
} catch (NullPointerException ignored) {
109116
}

0 commit comments

Comments
 (0)