Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.bahmni.module</groupId>
<artifactId>episodes</artifactId>
<version>1.2.0</version>
<version>1.3.0-SNAPSHOT</version>
</parent>

<artifactId>episodes-api</artifactId>
Expand Down
130 changes: 127 additions & 3 deletions api/src/main/java/org/openmrs/module/episodes/Episode.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,121 @@
package org.openmrs.module.episodes;

import org.openmrs.BaseOpenmrsData;
import org.openmrs.BaseCustomizableData;
import org.openmrs.Concept;
import org.openmrs.Encounter;
import org.openmrs.Patient;
import org.openmrs.PatientProgram;
import org.openmrs.Provider;
import org.openmrs.Visit;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

public class Episode extends BaseOpenmrsData {
public class Episode extends BaseCustomizableData<EpisodeAttribute> {

private Integer episodeId;
private Set<Encounter> encounters = new HashSet<>();
private Set<PatientProgram> patientPrograms = new HashSet<>();
private Patient patient;
private Set<EpisodeReason> episodeReason = new HashSet<>();
private Episode.Status status = Episode.Status.ACTIVE;
private Date dateStarted;
private Date dateEnded;
private Concept episodeType;
private Set<EpisodeStatusHistory> statusHistory = new HashSet<>();
private Provider careManager;
private Set<Visit> visits = new HashSet<>();

public Status getStatus() {
return status;
}

public void setStatus(Status status) {
this.status = status;
}

public Date getDateEnded() {
return dateEnded;
}

public void setDateEnded(Date dateEnded) {
this.dateEnded = dateEnded;
}


public Set<EpisodeReason> getEpisodeReason() {
return episodeReason;
}

public void setEpisodeReason(Set<EpisodeReason> episodeReason) {
this.episodeReason = episodeReason;
}

public Date getDateStarted() {
return dateStarted;
}

public void setDateStarted(Date dateStarted) {
this.dateStarted = dateStarted;
}

public Concept getEpisodeType() {
return episodeType;
}

public void setEpisodeType(Concept episodeType) {
this.episodeType = episodeType;
}

public Provider getCareManager() {
return careManager;
}

public void setCareManager(Provider careManager) {
this.careManager = careManager;
}

public Set<EpisodeStatusHistory> getStatusHistory() {
return statusHistory;
}

public void setStatusHistory(Set<EpisodeStatusHistory> statusHistory) {
this.statusHistory = statusHistory;
}

public Set<Visit> getVisits() {
return visits;
}

public void setVisits(Set<Visit> visits) {
this.visits = visits;
}

public enum Status {
UNKNOWN,
WAITLIST,
PLANNED,
ACTIVE,
ONHOLD,
FINISHED,
CANCELLED,
ENTERED_IN_ERROR
}

public Episode(Integer episodeId, Set<Encounter> encounters, Set<PatientProgram> patientPrograms) {
this.episodeId = episodeId;
this.encounters = encounters;
this.patientPrograms = patientPrograms;
}

public Episode(Integer episodeId, Patient patient, Set<Encounter> encounters, Set<PatientProgram> patientPrograms) {
this.episodeId = episodeId;
this.patient = patient;
this.encounters = encounters;
this.patientPrograms = patientPrograms;
}

public Episode() {
}

Expand All @@ -36,7 +134,7 @@ public Integer getId() {

@Override
public void setId(Integer id) {

this.episodeId = id;
}

public Set<PatientProgram> getPatientPrograms() {
Expand All @@ -62,4 +160,30 @@ public void setEncounters(Set<Encounter> encounters) {
public void setPatientPrograms(Set<PatientProgram> patientPrograms) {
this.patientPrograms = patientPrograms;
}

public Patient getPatient() {
return patient;
}

public void setPatient(Patient patient) {
this.patient = patient;
}

public void addEpisodeReason(EpisodeReason reason) {
if (reason != null) {
reason.setEpisode(this);
getEpisodeReason().add(reason);
}
}

public void addEpisodeStatusHistory(EpisodeStatusHistory statusHistory) {
if (statusHistory != null) {
statusHistory.setEpisode(this);
getStatusHistory().add(statusHistory);
}
}

public boolean hasStatusHistory() {
return statusHistory != null && !statusHistory.isEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package org.openmrs.module.episodes;

import org.openmrs.attribute.Attribute;
import org.openmrs.attribute.BaseAttribute;

public class EpisodeAttribute extends BaseAttribute<EpisodeAttributeType, Episode> implements Attribute<EpisodeAttributeType, Episode> {
private Integer episodeAttributeId;

@Override
public Integer getId() {
return getEpisodeAttributeId();
}

@Override
public void setId(Integer id) {
setEpisodeAttributeId(id);
}

public Integer getEpisodeAttributeId() {
return episodeAttributeId;
}

public void setEpisodeAttributeId(Integer episodeAttributeId) {
this.episodeAttributeId = episodeAttributeId;
}

public Episode getEpisode() {
return getOwner();
}

public void setEpisode(Episode episode) {
setOwner(episode);
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package org.openmrs.module.episodes;

import org.openmrs.attribute.AttributeType;
import org.openmrs.attribute.BaseAttributeType;

public class EpisodeAttributeType extends BaseAttributeType<Episode> implements AttributeType<Episode> {

private Integer episodeAttributeTypeId;
@Override
public Integer getId() {
return getEpisodeAttributeTypeId();
}

@Override
public void setId(Integer id) {
setEpisodeAttributeTypeId(id);
}

public Integer getEpisodeAttributeTypeId() {
return episodeAttributeTypeId;
}

public void setEpisodeAttributeTypeId(Integer episodeAttributeTypeId) {
this.episodeAttributeTypeId = episodeAttributeTypeId;
}
}
126 changes: 126 additions & 0 deletions api/src/main/java/org/openmrs/module/episodes/EpisodeReason.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
package org.openmrs.module.episodes;

import org.openmrs.BaseOpenmrsObject;
import org.openmrs.Concept;
import org.openmrs.User;

import java.util.Date;

public class EpisodeReason extends BaseOpenmrsObject {

private Integer episodeReasonId;

private User creator;
private Date dateCreated;
private Concept reasonUse;
private Concept valueConcept;
private String valueReference;

private Episode episode;
private Boolean voided = Boolean.FALSE;
private Date dateVoided;
private User voidedBy;
private String voidReason;


public Integer getEpisodeReasonId() {
return episodeReasonId;
}

public void setEpisodeReasonId(Integer episodeReasonId) {
this.episodeReasonId = episodeReasonId;
}

public EpisodeReason() {
}

@Override
public Integer getId() {
return getEpisodeReasonId();
}

@Override
public void setId(Integer id) {
setEpisodeReasonId(id);
}

public User getCreator() {
return creator;
}

public Date getDateCreated() {
return dateCreated;
}

public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
}

public void setCreator(User creator) {
this.creator = creator;
}

public Concept getReasonUse() {
return reasonUse;
}

public void setReasonUse(Concept reasonUse) {
this.reasonUse = reasonUse;
}

public Episode getEpisode() {
return episode;
}

public void setEpisode(Episode episode) {
this.episode = episode;
}

public Boolean getVoided() {
return voided;
}

public void setVoided(Boolean voided) {
this.voided = voided;
}

public Date getDateVoided() {
return dateVoided;
}

public void setDateVoided(Date dateVoided) {
this.dateVoided = dateVoided;
}

public User getVoidedBy() {
return voidedBy;
}

public void setVoidedBy(User voidedBy) {
this.voidedBy = voidedBy;
}

public String getVoidReason() {
return voidReason;
}

public void setVoidReason(String voidReason) {
this.voidReason = voidReason;
}

public String getValueReference() {
return valueReference;
}

public void setValueReference(String valueReference) {
this.valueReference = valueReference;
}

public Concept getValueConcept() {
return valueConcept;
}

public void setValueConcept(Concept valueConcept) {
this.valueConcept = valueConcept;
}
}
Loading