/** * This Source Code Form is subject to the terms of the Mozilla Public License, * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under * the terms of the Healthcare Disclaimer located at http://openmrs.org/license. * * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS * graphic logo is a trademark of OpenMRS Inc. */ package org.openmrs; import java.util.Date; import org.openmrs.util.OpenmrsConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * A ConceptProposal is a temporary holder for concept that should be in the system. When defining * an observation, a user can "propose" a new concept if one isn't found already. The proposal is a * simple text entry that will be reviewed later. When a proposal is (edited and) accepted, the * encounter that prompted this proposal is updated with a new observation pointing at the new (or * edited) concept. */ public class ConceptProposal extends BaseOpenmrsObject { public static final long serialVersionUID = 57344L; private static final Logger log = LoggerFactory.getLogger(ConceptProposal.class); // Fields private Integer conceptProposalId; private Encounter encounter; private Concept obsConcept; private Obs obs; private Concept mappedConcept; private String originalText; private String finalText; private String state; private String comments; private User creator; private Date dateCreated; private User changedBy; private Date dateChanged; // Constructors /** default constructor */ public ConceptProposal() { } /** constructor with id */ public ConceptProposal(Integer conceptProposalId) { this.conceptProposalId = conceptProposalId; } /** * @return Returns the changedBy. */ public User getChangedBy() { return changedBy; } /** * @param changedBy The changedBy to set. */ public void setChangedBy(User changedBy) { this.changedBy = changedBy; } /** * @return Returns the conceptProposalId. */ public Integer getConceptProposalId() { return conceptProposalId; } /** * @param conceptProposalId The conceptProposalId to set. */ public void setConceptProposalId(Integer conceptProposalId) { this.conceptProposalId = conceptProposalId; } /** * @return Returns the creator. */ public User getCreator() { return creator; } /** * @param creator The creator to set. */ public void setCreator(User creator) { this.creator = creator; } /** * @return Returns the dateChanged. */ public Date getDateChanged() { return dateChanged; } /** * @param dateChanged The dateChanged to set. */ public void setDateChanged(Date dateChanged) { this.dateChanged = dateChanged; } /** * @return Returns the dateCreated. */ public Date getDateCreated() { return dateCreated; } /** * @param dateCreated The dateCreated to set. */ public void setDateCreated(Date dateCreated) { this.dateCreated = dateCreated; } /** * @return Returns the originalText. */ public String getOriginalText() { return originalText; } /** * @param originalText The originalText to set. */ public void setOriginalText(String originalText) { this.originalText = originalText; } /** * @return Returns the final text. */ public String getFinalText() { return finalText; } /** * @param t The final text to set. */ public void setFinalText(String t) { this.finalText = t; } /** * @return Returns the comments. */ public String getComments() { return comments; } /** * @param comments The comments to set. */ public void setComments(String comments) { this.comments = comments; } /** * @return Returns the state. */ public String getState() { return state; } /** * @param state The state to set. */ public void setState(String state) { this.state = state; } /** * @return Returns the encounter. */ public Encounter getEncounter() { return encounter; } /** * @param encounter The encounter to set. */ public void setEncounter(Encounter encounter) { this.encounter = encounter; } @Override public String toString() { if (conceptProposalId == null) { return ""; } return conceptProposalId.toString(); } /** * @return Returns the obs. */ public Obs getObs() { return obs; } /** * @param obs The obs to set. */ public void setObs(Obs obs) { this.obs = obs; } /** * @return Returns the obsConcept. */ public Concept getObsConcept() { return obsConcept; } /** * @param obsConcept The obsConcept to set. */ public void setObsConcept(Concept obsConcept) { this.obsConcept = obsConcept; } /** * @return Returns the mappedConcept. */ public Concept getMappedConcept() { return mappedConcept; } /** * @param mappedConcept The mappedConcept to set. */ public void setMappedConcept(Concept mappedConcept) { this.mappedConcept = mappedConcept; } /** * Convenience method to mark this proposal as rejected. Be sure to call * Context.getConceptService().saveConceptProposal(/thisObject/) after calling this method */ public void rejectConceptProposal() { setState(OpenmrsConstants.CONCEPT_PROPOSAL_REJECT); setFinalText(""); } /** * @since 1.5 * @see org.openmrs.OpenmrsObject#getId() */ @Override public Integer getId() { return getConceptProposalId(); } /** * @since 1.5 * @see org.openmrs.OpenmrsObject#setId(java.lang.Integer) */ @Override public void setId(Integer id) { setConceptProposalId(id); } }