pub struct Indicator {Show 16 fields
pub id: String,
pub objective_id: String,
pub name: String,
pub unit: String,
pub direction: i32,
pub frequency: i32,
pub owner_user_id: String,
pub evidence_source: Option<EvidenceSource>,
pub rationale: String,
pub strategic_meaning: String,
pub interpretation_guidance: String,
pub perverse_behavior_note: String,
pub verification_state: i32,
pub created_at: Option<Timestamp>,
pub updated_at: Option<Timestamp>,
pub target: Option<f64>,
}Expand description
A declared way of observing whether an objective holds. Several per objective is the intended shape: indicators are individually incomplete and are meant to compensate for one another.
Fields§
§id: StringUnique identifier for the indicator.
objective_id: StringObjective this indicator hangs from.
name: StringShort name for the indicator. Required. Constraints: Max length 200 characters.
unit: StringUnit the readings are expressed in (e.g. “percent”, “days”, “incidents”). Free text so that existing measures can be carried over unchanged. Constraints: Max length 50 characters.
direction: i32Which direction of movement is the desired one.
frequency: i32How often a reading is expected.
owner_user_id: StringID of the user accountable for the indicator. Optional.
evidence_source: Option<EvidenceSource>Where readings come from. Required.
rationale: StringWhy this indicator was chosen over the alternatives. Constraints: Max length 2000 characters.
strategic_meaning: StringWhat the indicator is meant to say about the objective. Constraints: Max length 2000 characters.
interpretation_guidance: StringHow a reading should be read, including what it does not cover. Constraints: Max length 2000 characters.
perverse_behavior_note: StringThe behaviour this indicator could encourage if it were optimized on its own. Pre-filled by the server where a structural weakness in the evidence source implies one, always editable, never required. Constraints: Max length 2000 characters.
verification_state: i32Whether any reading has ever corroborated this indicator.
created_at: Option<Timestamp>Timestamp when the indicator was created.
updated_at: Option<Timestamp>Timestamp when the indicator was last updated.
target: Option<f64>The value the organization is aiming for, expressed in unit and
read together with direction. Absent when no target has been set.
Targets live here rather than inside the objective’s wording, and they sit at the routine tier of change: revising a target is expected housekeeping, unlike rewriting the objective it serves.
Implementations§
Source§impl Indicator
impl Indicator
Sourcepub fn direction(&self) -> IndicatorDirection
pub fn direction(&self) -> IndicatorDirection
Returns the enum value of direction, or the default if the field is set to an invalid enum value.
Sourcepub fn set_direction(&mut self, value: IndicatorDirection)
pub fn set_direction(&mut self, value: IndicatorDirection)
Sets direction to the provided enum value.
Sourcepub fn frequency(&self) -> IndicatorFrequency
pub fn frequency(&self) -> IndicatorFrequency
Returns the enum value of frequency, or the default if the field is set to an invalid enum value.
Sourcepub fn set_frequency(&mut self, value: IndicatorFrequency)
pub fn set_frequency(&mut self, value: IndicatorFrequency)
Sets frequency to the provided enum value.
Sourcepub fn verification_state(&self) -> IndicatorVerificationState
pub fn verification_state(&self) -> IndicatorVerificationState
Returns the enum value of verification_state, or the default if the field is set to an invalid enum value.
Sourcepub fn set_verification_state(&mut self, value: IndicatorVerificationState)
pub fn set_verification_state(&mut self, value: IndicatorVerificationState)
Sets verification_state to the provided enum value.
Trait Implementations§
Source§impl Message for Indicator
impl Message for Indicator
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.impl StructuralPartialEq for Indicator
Auto Trait Implementations§
impl Freeze for Indicator
impl RefUnwindSafe for Indicator
impl Send for Indicator
impl Sync for Indicator
impl Unpin for Indicator
impl UnsafeUnpin for Indicator
impl UnwindSafe for Indicator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request