Sha256: 4b898ad8ff137eab8f458e3a1fef05941f4e659e7105ba1d61094893dfef37d1

Contents?: true

Size: 1.18 KB

Versions: 4

Compression:

Stored size: 1.18 KB

Contents

module HealthDataStandards
  module CQM

    class Bundle
      include Mongoid::Document
      include Mongoid::Timestamps
      include Mongoid::Attributes::Dynamic
      store_in collection: 'bundles'
      field :title, type: String
      field :name, type: String
      field :version, type: String
      field :license, type: String
      field :extensions, type: Array
      field :measures, type: Array
      field :effective_date
      field :measure_period_start
      field :records, type: Array
      field :active, type: Boolean

      validates_presence_of :version

      scope :active, -> {where(active: true)}

      def self.latest_bundle_id
        desc(:exported).first.try(:_id)
      end

      def measures
        HealthDataStandards::CQM::Measure.where({bundle_id: self.id}).order_by([["id", :asc],["sub_id",:asc]])
      end

      def records
        Record.where(bundle_id: self._id, test_id: nil).order_by([["last", :asc]])
      end

      def value_sets
        HealthDataStandards::SVS::ValueSet.in(bundle_id: self.id)
      end

      def delete
        self.measures.destroy
        self.records.destroy
        self.value_sets.destroy
        super
      end
     end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
health-data-standards-3.5.3 lib/health-data-standards/models/cqm/bundle.rb
health-data-standards-3.5.2 lib/health-data-standards/models/cqm/bundle.rb
health-data-standards-3.5.1 lib/health-data-standards/models/cqm/bundle.rb
health-data-standards-3.5.0 lib/health-data-standards/models/cqm/bundle.rb