class HQMF::Precondition
Constants
- ALL_FALSE
- ALL_TRUE
- AT_LEAST_ONE_FALSE
- AT_LEAST_ONE_TRUE
- INVERSIONS
- NEGATIONS
Attributes
comments[RW]
conjunction_code[R]
id[R]
negation[RW]
preconditions[R]
reference[R]
Public Class Methods
from_json(json)
click to toggle source
Create a new population criteria from a JSON hash keyed off symbols
# File lib/hqmf-model/precondition.rb, line 49 def self.from_json(json) preconditions = [] id = json["id"] if json["id"] preconditions = json["preconditions"].map {|precondition| HQMF::Precondition.from_json(precondition)} if json["preconditions"] reference = Reference.new(json["reference"]) if json["reference"] conjunction_code = json["conjunction_code"] if json["conjunction_code"] negation = json["negation"] if json["negation"] comments = json['comments'] if json['comments'] HQMF::Precondition.new(id, preconditions, reference, conjunction_code, negation, comments) end
new(id, preconditions, reference, conjunction_code, negation, comments=nil)
click to toggle source
Create a new population criteria @param [Array#Precondition] preconditions @param [Reference] reference @param [String] conjunction_code
# File lib/hqmf-model/precondition.rb, line 31 def initialize(id, preconditions, reference, conjunction_code, negation, comments=nil) @preconditions = preconditions || [] @reference = reference @conjunction_code = conjunction_code @negation = negation @id = id @comments = comments end
Public Instance Methods
conjunction?()
click to toggle source
Return true of this precondition represents a conjunction with nested preconditions or false of this precondition is a reference to a data criteria
# File lib/hqmf-model/precondition.rb, line 75 def conjunction? @preconditions.length>0 end
conjunction_code_with_negation()
click to toggle source
# File lib/hqmf-model/precondition.rb, line 40 def conjunction_code_with_negation if negation NEGATIONS[conjunction_code] else conjunction_code end end
referenced_data_criteria()
click to toggle source
# File lib/hqmf-model/precondition.rb, line 79 def referenced_data_criteria data_criteria_ids = [] if @preconditions.empty? data_criteria_ids << self.reference.id else @preconditions.each do |precondition| data_criteria_ids.concat(precondition.referenced_data_criteria) end end data_criteria_ids end
to_json()
click to toggle source
# File lib/hqmf-model/precondition.rb, line 61 def to_json x = nil json = {} json[:id] = self.id json[:reference] = self.reference.id if self.reference json[:preconditions] = x if x = json_array(@preconditions) json[:conjunction_code] = self.conjunction_code if self.conjunction_code && self.preconditions.length > 0 json[:negation] = self.negation if self.negation json[:comments] = self.comments if self.comments json end