Skip to content

Commit 2b23cd6

Browse files
authored
Enable SMS Functionality in MMU App to Send Prescriptions (#325)
* fix: sms template save and map mmu (#306) * Vb/sms (#307) * fix: sms template save and map mmu * fix: enable mms for mmu prescription
1 parent b4d7cb0 commit 2b23cd6

6 files changed

Lines changed: 494 additions & 60 deletions

File tree

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
package com.iemr.common.data.mmuDrugHistory;
2+
3+
import java.sql.Date;
4+
import java.sql.Timestamp;
5+
6+
import com.google.gson.annotations.Expose;
7+
8+
import jakarta.persistence.Column;
9+
import jakarta.persistence.Entity;
10+
import jakarta.persistence.FetchType;
11+
import jakarta.persistence.GeneratedValue;
12+
import jakarta.persistence.GenerationType;
13+
import jakarta.persistence.Id;
14+
import jakarta.persistence.JoinColumn;
15+
import jakarta.persistence.OneToOne;
16+
import jakarta.persistence.Table;
17+
import jakarta.persistence.Transient;
18+
import lombok.Data;
19+
20+
@Entity
21+
@Data
22+
@Table(name = "t_prescribeddrug")
23+
public class PrescribedMMUDrugDetail {
24+
25+
@Id
26+
@GeneratedValue(strategy = GenerationType.IDENTITY)
27+
@Expose
28+
@Column(name = "PrescribedDrugID")
29+
private Long prescribedDrugID;
30+
31+
@Expose
32+
@Column(name = "BeneficiaryRegID")
33+
private Long beneficiaryRegID;
34+
35+
@Expose
36+
@Column(name = "BenVisitID")
37+
private Long benVisitID;
38+
39+
@Expose
40+
@Column(name = "ProviderServiceMapID")
41+
private Integer providerServiceMapID;
42+
43+
@Expose
44+
@Column(name = "VisitCode")
45+
private Long visitCode;
46+
47+
@Expose
48+
@Column(name = "PrescriptionID")
49+
private Long prescriptionID;
50+
51+
@OneToOne(fetch = FetchType.EAGER)
52+
@JoinColumn(name = "PrescriptionID", referencedColumnName = "PrescriptionID", insertable = false, updatable = false)
53+
private PrescriptionMMU prescription;
54+
55+
@Expose
56+
@Column(name = "DrugForm")
57+
private String formName;
58+
59+
@Expose
60+
@Column(name = "DrugTradeOrBrandName")
61+
private String drugTradeOrBrandName;
62+
63+
@Expose
64+
@Column(name = "DrugID")
65+
private Integer drugID;
66+
67+
@Expose
68+
@Column(name = "GenericDrugName")
69+
private String drugName;
70+
71+
@Expose
72+
@Column(name = "DrugStrength")
73+
private String drugStrength;
74+
75+
@Expose
76+
@Column(name = "Dose")
77+
private String dose;
78+
79+
@Expose
80+
@Column(name = "Route")
81+
private String route;
82+
83+
@Expose
84+
@Column(name = "Frequency")
85+
private String frequency;
86+
87+
@Expose
88+
@Column(name = "Duration")
89+
private String duration;
90+
91+
@Expose
92+
@Column(name = "DuartionUnit")
93+
private String unit;
94+
95+
@Expose
96+
@Column(name = "RelationToFood")
97+
private String relationToFood;
98+
99+
@Expose
100+
@Column(name = "SpecialInstruction")
101+
private String instructions;
102+
103+
@Expose
104+
@Column(name = "QtyPrescribed")
105+
private Integer qtyPrescribed;
106+
107+
@Expose
108+
@Column(name = "Deleted", insertable = false, updatable = true)
109+
private Boolean deleted;
110+
111+
@Expose
112+
@Column(name = "Processed", insertable = false, updatable = true)
113+
private String processed;
114+
115+
@Expose
116+
@Column(name = "CreatedBy")
117+
private String createdBy;
118+
119+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.iemr.common.data.mmuDrugHistory;
2+
3+
import com.google.gson.annotations.Expose;
4+
5+
import jakarta.persistence.Column;
6+
import jakarta.persistence.Entity;
7+
import jakarta.persistence.GeneratedValue;
8+
import jakarta.persistence.GenerationType;
9+
import jakarta.persistence.Id;
10+
import jakarta.persistence.Table;
11+
import lombok.Data;
12+
13+
@Entity
14+
@Data
15+
@Table(name = "t_prescription")
16+
public class PrescriptionMMU {
17+
@Id
18+
@GeneratedValue(strategy = GenerationType.IDENTITY)
19+
@Expose
20+
@Column(name = "PrescriptionID", insertable = false, updatable = false)
21+
private Long prescriptionID;
22+
23+
@Expose
24+
@Column(name = "BenVisitID")
25+
private Long benVisitID;
26+
27+
@Expose
28+
@Column(name = "ProviderServiceMapID")
29+
private Integer providerServiceMapID;
30+
31+
@Expose
32+
@Column(name = "DiagnosisProvided")
33+
private String diagnosisProvided;
34+
35+
@Expose
36+
@Column(name = "Remarks")
37+
private String remarks;
38+
39+
@Expose
40+
@Column(name = "Deleted", insertable = false, updatable = true)
41+
private Boolean deleted;
42+
43+
}
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
package com.iemr.common.dto.sms;
2+
3+
public class SMSTemplateDTO {
4+
private Integer smsTemplateID;
5+
private String smsTemplateName;
6+
private String smsTemplate;
7+
private String dltTemplateId;
8+
private String smsSenderID;
9+
private Integer smsTypeID;
10+
private Integer providerServiceMapID;
11+
private Boolean deleted;
12+
private String createdBy;
13+
private String modifiedBy;
14+
private String createdDate;
15+
private String lastModDate;
16+
17+
// Getters and Setters for all fields
18+
19+
public Integer getSmsTemplateID() {
20+
return smsTemplateID;
21+
}
22+
23+
public void setSmsTemplateID(Integer smsTemplateID) {
24+
this.smsTemplateID = smsTemplateID;
25+
}
26+
27+
public String getSmsTemplateName() {
28+
return smsTemplateName;
29+
}
30+
31+
public void setSmsTemplateName(String smsTemplateName) {
32+
this.smsTemplateName = smsTemplateName;
33+
}
34+
35+
public String getSmsTemplate() {
36+
return smsTemplate;
37+
}
38+
39+
public void setSmsTemplate(String smsTemplate) {
40+
this.smsTemplate = smsTemplate;
41+
}
42+
43+
public String getDltTemplateId() {
44+
return dltTemplateId;
45+
}
46+
47+
public void setDltTemplateId(String dltTemplateId) {
48+
this.dltTemplateId = dltTemplateId;
49+
}
50+
51+
public String getSmsSenderID() {
52+
return smsSenderID;
53+
}
54+
55+
public void setSmsSenderID(String smsSenderID) {
56+
this.smsSenderID = smsSenderID;
57+
}
58+
59+
public Integer getSmsTypeID() {
60+
return smsTypeID;
61+
}
62+
63+
public void setSmsTypeID(Integer smsTypeID) {
64+
this.smsTypeID = smsTypeID;
65+
}
66+
67+
public Integer getProviderServiceMapID() {
68+
return providerServiceMapID;
69+
}
70+
71+
public void setProviderServiceMapID(Integer providerServiceMapID) {
72+
this.providerServiceMapID = providerServiceMapID;
73+
}
74+
75+
public Boolean getDeleted() {
76+
return deleted;
77+
}
78+
79+
public void setDeleted(Boolean deleted) {
80+
this.deleted = deleted;
81+
}
82+
83+
public String getCreatedBy() {
84+
return createdBy;
85+
}
86+
87+
public void setCreatedBy(String createdBy) {
88+
this.createdBy = createdBy;
89+
}
90+
91+
public String getModifiedBy() {
92+
return modifiedBy;
93+
}
94+
95+
public void setModifiedBy(String modifiedBy) {
96+
this.modifiedBy = modifiedBy;
97+
}
98+
99+
public String getCreatedDate() {
100+
return createdDate;
101+
}
102+
103+
public void setCreatedDate(String createdDate) {
104+
this.createdDate = createdDate;
105+
}
106+
107+
public String getLastModDate() {
108+
return lastModDate;
109+
}
110+
111+
public void setLastModDate(String lastModDate) {
112+
this.lastModDate = lastModDate;
113+
}
114+
}

src/main/java/com/iemr/common/mapper/sms/SMSMapper.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
*/
2222
package com.iemr.common.mapper.sms;
2323

24+
import java.text.SimpleDateFormat;
2425
import java.util.List;
26+
import java.sql.Timestamp;
2527

2628
import org.mapstruct.IterableMapping;
2729
import org.mapstruct.Mapper;
@@ -33,6 +35,7 @@
3335
import com.iemr.common.data.sms.SMSParametersMap;
3436
import com.iemr.common.data.sms.SMSTemplate;
3537
import com.iemr.common.data.sms.SMSType;
38+
import com.iemr.common.dto.sms.SMSTemplateDTO;
3639
import com.iemr.common.model.sms.CreateSMSRequest;
3740
import com.iemr.common.model.sms.FullSMSTemplateResponse;
3841
import com.iemr.common.model.sms.SMSParameterMapModel;
@@ -110,4 +113,25 @@ public interface SMSMapper
110113
@IterableMapping(elementTargetType = FullSMSTemplateResponse.class)
111114
List<FullSMSTemplateResponse> smsTemplateToFullResponse(List<SMSTemplate> smsTemplate);
112115

116+
@Mapping(source = "smsTemplateID", target = "smsTemplateID")
117+
@Mapping(source = "smsTemplateName", target = "smsTemplateName")
118+
@Mapping(source = "smsTemplate", target = "smsTemplate")
119+
@Mapping(source = "dltTemplateId", target = "dltTemplateId")
120+
@Mapping(source = "smsSenderID", target = "smsSenderID")
121+
@Mapping(source = "smsTypeID", target = "smsTypeID")
122+
@Mapping(source = "providerServiceMapID", target = "providerServiceMapID")
123+
@Mapping(source = "deleted", target = "deleted")
124+
@Mapping(source = "createdBy", target = "createdBy")
125+
@Mapping(source = "modifiedBy", target = "modifiedBy")
126+
@Mapping(target = "createdDate", expression = "java(formatDate(template.getCreatedDate()))")
127+
@Mapping(target = "lastModDate", expression = "java(formatDate(template.getLastModDate()))")
128+
SMSTemplateDTO smsTemplateToDTO(SMSTemplate template);
129+
130+
default String formatDate(Timestamp timestamp) {
131+
if (timestamp == null) {
132+
return null;
133+
}
134+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
135+
return sdf.format(timestamp);
136+
}
113137
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.iemr.common.repository.mmuDrugHistory;
2+
3+
import com.iemr.common.data.mmuDrugHistory.PrescribedMMUDrugDetail;
4+
import org.springframework.data.repository.CrudRepository;
5+
import org.springframework.stereotype.Repository;
6+
7+
@Repository
8+
public interface PrescribedMMUDrugRepository extends CrudRepository<PrescribedMMUDrugDetail, Long> {
9+
PrescribedMMUDrugDetail findByPrescribedDrugID(Long prescribedDrugID);
10+
11+
}

0 commit comments

Comments
 (0)