syntax = "proto3";
package cdm;
option java_package = "com.kitware.physiology.cdm";
option optimize_for = SPEED;

message ePatientAssessment
{
  /** @brief Available Patient Assessment types */
  enum Type
  {
    CompleteBloodCount                                                      = 0;/**<< @brief @ref CompleteBloodCountTable */
    ComprehensiveMetabolicPanel                                             = 1;/**<< @brief @ref ComprehensiveMetabolicPanelTable */
    PulmonaryFunctionTest                                                   = 2;/**<< @brief @ref PulmonaryFunctionTestTable */
    Urinalysis                                                              = 3;/**<< @brief @ref UrinalysisTable */
  }
}

message eUrinalysis
{
  /** @brief Enumeration for presence of a substance */
  enum PresenceIndicator
  {
    NullPresence    = 0;/**<< @brief Not provided in the assessment */
    Positive        = 1;/**<< @brief */
    Negative        = 2;/**<< @brief */
  }
  
  /** @brief Enumeration for clarity of a substance */
  enum ClarityIndicator
  {
    NullClarity     = 0;/**<< @brief Not provided in the assessment */
    Translucent     = 1;/**<< @brief */
    SlightlyCloudy  = 2;/**<< @brief */
    Cloudy          = 3;/**<< @brief */
    Turbid          = 4;/**<< @brief */
  }
  
  /** @brief Enumeration for color of urine */
  enum UrineColor
  {
    NullColor       = 0;/**<< @brief Not provided in the assessment */
    PaleYellow      = 1;/**<< @brief */
    Yellow          = 2;/**<< @brief */
    DarkYellow      = 3;/**<< @brief */
  }

  /** @brief Enumeration for the observation type */
  enum MicroscopicObservationType
  {
    NullObservationType = 0;/**<< @brief Not provided in the assessment */
    LowPowerField       = 1;/**<< @brief */
    HighPowerField      = 2;/**<< @brief */
  }

  /** @brief Enumeration for the observation amount */
  enum MicroscopicObservationAmount
  {
    NullObservationAmount = 0;/**<< @brief Not provided in the assessment */
    Few                   = 1;/**<< @brief */
    Moderate              = 2;/**<< @brief */
    Many                  = 3;/**<< @brief */
  }
}