Module to Allow Attribute Value to Be Latest obs of a Specified Concept

Abstract

This is a module that will allow you to have an attribute write it's value to an observation

Requirements

  1. Allow you to specify the attribute you want and connect it with any concept in the dictionary
  2. Allow for any number of attribute/concept pairs
  3. Whenever an attribute is changed, should create an obs for the concept with the datetime of creation and user when the attribute is modified
  4. In the Manage Person Attribute Types page, it should create a new Format called coded-obs-generating. Then in Foreign Key, the concept id (not uuid) should be entered
  5. Extends the restrictions for the concept answers to the attribute. If the concept is coded, it makes the response options for the attribute the concepts the concepts which are the answers.## If the concept is numeric, only numeric values are allowed and the absolute low and high are implemented

User Interface

Notes

  1. The tribe module is a good way of showing how an attribute can have a pull down menu of options, for the case that the concept is coded
  2. This is in shortpatient.jsp, use Concept FieldGen web-inf/view/fieldgen.jsp
    <spring:bind path="value">
    <openmrs:fieldGen type="${personAttribute.attributeType.format}" formFieldName="${status.expression}" 
    val="${personAttribute.hydratedObject}" parameters="optionHeader=\[blank\]\|showAnswers=${personAttribute.attributeType.foreignKey}\|isNullable=false" /> 
    <%-\- isNullable=false so booleans don't have 'unknown' radiobox --%></spring:bind>

Questions

  1.  
  2.  

Next Phases of Development

  1. Be able to enter an obs and have that update the attribute