/** * Utility method to check if the concept is already attached to an observation (including * voided ones) and if the datatype of the concept has changed, an exception indicating that the * datatype cannot be modified will be reported if the concept is attached to an observation. * This method will only allow changing boolean concepts to coded. * * @param concept * @throws ConceptInUseException */ private void checkIfDatatypeCanBeChanged(Concept concept) { if (concept.getId() != null && hasAnyObservation(concept) && hasDatatypeChanged(concept)) { // allow boolean concepts to be converted to coded if (!(dao.getSavedConceptDatatype(concept).isBoolean() && concept.getDatatype().isCoded())) { throw new ConceptInUseException(); } if (log.isDebugEnabled()) { log.debug("Converting datatype of concept with id " + concept.getConceptId() + " from Boolean to Coded"); } } }
new Object[] { value, concept.getConceptId(), conceptName.getName(), uid }, null), e); } else if (concept.getDatatype().isCoded()) { Concept answer = "1".equals(value) ? Context.getConceptService().getTrueConcept() : Context .getConceptService().getFalseConcept();
return; if (conceptDatatype.isCoded()) { this.datatype = Datatype.CODED; } else if (conceptDatatype.isNumeric()) {
errors.rejectValue("groupMembers", "Obs.error.inGroupMember"); } else if (dt.isCoded() && obs.getValueCoded() == null) { if (atRootNode) { errors.rejectValue("valueCoded", "error.null");
} else if (datatype.isCoded()) { while (obsIterator.hasNext()) { currentObs = obsIterator.next();
} else if (obs.getConcept().getDatatype().isCoded()) {
/** * Given a FormField, infers the related widget from the ConceptDatatype associated with that FormField. */ public static WidgetTypeHint inferWidgetTypeHint(FormField formField) { ConceptDatatype dt = formField.getField().getConcept().getDatatype(); if (dt.isText()) { return WidgetTypeHint.TEXT; } else if (dt.isNumeric()) { return WidgetTypeHint.NUMBER; } else if (dt.isDate()) { return WidgetTypeHint.DATE; } else if (dt.isCoded()) { if (formField.getField().isSelectMultiple()) return WidgetTypeHint.CHECKBOX_LIST; else if (formField.getField().getDefaultValue() != null) return WidgetTypeHint.CHECKBOX; else return WidgetTypeHint.DROPDOWN; } else if (HtmlFormEntryConstants.COMPLEX_UUID.equals(dt.getUuid())) { return WidgetTypeHint.UPLOAD_WIDGET; } else { throw new IllegalArgumentException( "Autodetecting widget type from concept datatype not yet implemented for " + dt.getName()); } }
} else if (concept.getDatatype().isCoded()) { if (parameters.get("answerConceptIds") != null) { try {
obs.setValueText(value.toString()); } else if (dt.isCoded()) { if (value instanceof Drug) { obs.setValueDrug((Drug) value);
ConceptDatatype datatype7 = mock(ConceptDatatype.class); when(datatype7.getName()).thenReturn("coded"); when(datatype7.isCoded()).thenReturn(true); when(concept7.getDatatype()).thenReturn(datatype7); field7.setQuestion(concept7);
value = field.getExistingObs().getValueText(); } else if (datatype.isCoded()) { value = field.getExistingObs().getValueCodedName() != null ? field.getExistingObs().getValueCodedName().getName() :
MRSObservation convertOpenMRSToMRSObservation(Obs obs) { ConceptDatatype datatype = obs.getConcept().getDatatype(); if (datatype.isAnswerOnly()) { return createMRSObservation(obs, null); } else if (datatype.isBoolean()) { return createMRSObservation(obs, obs.getValueAsBoolean()); } else if (datatype.isDateTime()) { return createMRSObservation(obs, obs.getValueDatetime()); } else if (datatype.isNumeric()) { return createMRSObservation(obs, obs.getValueNumeric()); } else if (datatype.isText()) { return createMRSObservation(obs, obs.getValueText()); } else if (datatype.isCoded()) { return createMRSObservation(obs, new OpenMRSConcept(new OpenMRSConceptName(obs.getValueCoded().getName().getName()))); } else { throw new IllegalArgumentException("Invalid value of the createMRSObservation from DB-" + obs); } }