fhir-mongoid-models 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rubygems-publish.yml +50 -0
- data/app/models/cqm/cql_statement_dependency.rb +3 -3
- data/app/models/cqm/measure.rb +7 -1
- data/app/models/cqm/population_set.rb +5 -10
- data/app/models/fhir/resource.rb +5 -0
- data/fhir-mongoid-models.gemspec +3 -3
- data/lib/fhir/mongoid/models.rb +0 -1
- metadata +15 -18
- data/app/models/cqm/measure_package.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2d33ae7ad96a4cf04cc323c21dd2790e082a938eb10b912ac40185380d2c34b
|
4
|
+
data.tar.gz: 4d871aeda34008cf6743418d57eeb9ee595a63e932bc191c6987ea532b73bc10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a096a579976814b53287093e680f8bc34cee8f20703ce961f5066b69f4cb3fc373e75401e03e971a1c2dc1a46d0c14eeea45dab74b55c5fea129bd5c65fad561
|
7
|
+
data.tar.gz: 017b77106e6e2f576f07758d923d1227b9ec178b71cbea453131d9ad69cf320903031961a9371c4028518a2b6db71b571755e7aa819d96f338c6532b8da60b90
|
@@ -0,0 +1,50 @@
|
|
1
|
+
name: Publish Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- "*"
|
7
|
+
tags:
|
8
|
+
- v*
|
9
|
+
jobs:
|
10
|
+
build:
|
11
|
+
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
|
14
|
+
services:
|
15
|
+
mongodb:
|
16
|
+
image: mongo:3.4.23
|
17
|
+
ports:
|
18
|
+
- 27017:27017
|
19
|
+
|
20
|
+
steps:
|
21
|
+
- uses: actions/checkout@v2
|
22
|
+
|
23
|
+
- name: Set up Ruby 2.4
|
24
|
+
uses: actions/setup-ruby@v1
|
25
|
+
with:
|
26
|
+
ruby-version: 2.4
|
27
|
+
|
28
|
+
- name: Install bundler & bundle-audit
|
29
|
+
run: |
|
30
|
+
gem install bundler -v 2.1.4
|
31
|
+
gem install bundle-audit
|
32
|
+
|
33
|
+
- name: Install ruby gems
|
34
|
+
run: bundle install --jobs 4 --retry 3
|
35
|
+
|
36
|
+
- name: Build and test with Rake
|
37
|
+
env:
|
38
|
+
RAILS_ENV: test
|
39
|
+
run: |
|
40
|
+
bundle exec rubocop
|
41
|
+
bundle exec bundle-audit update && bundle exec bundle-audit check
|
42
|
+
bundle exec rake
|
43
|
+
|
44
|
+
- name: Release Gem
|
45
|
+
if: contains(github.ref, 'refs/tags/v')
|
46
|
+
uses: cadwallion/publish-rubygems-action@master
|
47
|
+
env:
|
48
|
+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
49
|
+
RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
|
50
|
+
RELEASE_COMMAND: rake release
|
@@ -33,9 +33,9 @@ module CQM
|
|
33
33
|
class StatementReference
|
34
34
|
include Mongoid::Document
|
35
35
|
embedded_in :statement_dependency
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
embedded_in :population_set
|
37
|
+
embedded_in :population_map
|
38
|
+
embedded_in :stratification
|
39
39
|
|
40
40
|
field :library_name, type: String
|
41
41
|
field :statement_name, type: String
|
data/app/models/cqm/measure.rb
CHANGED
@@ -33,7 +33,6 @@ module CQM
|
|
33
33
|
embeds_one :fhir_measure, class_name: 'FHIR::Measure'
|
34
34
|
embeds_many :libraries, class_name: 'FHIR::Library'
|
35
35
|
embeds_many :value_sets, class_name: 'FHIR::ValueSet'
|
36
|
-
has_one :package, class_name: 'CQM::MeasurePackage', inverse_of: :measure, dependent: :destroy
|
37
36
|
|
38
37
|
# ELM/CQL Measure-logic related data
|
39
38
|
# Field name changed from 'cql' to 'cql_libraries' because the semantics of
|
@@ -45,6 +44,9 @@ module CQM
|
|
45
44
|
|
46
45
|
embeds_many :population_sets, class_name: 'CQM::PopulationSet'
|
47
46
|
|
47
|
+
# TODO: Reconsider after MAT-1628
|
48
|
+
field :measure_period, type: Hash
|
49
|
+
|
48
50
|
def as_json(*args)
|
49
51
|
result = Hash.new
|
50
52
|
unless self.id.nil?
|
@@ -89,6 +91,9 @@ module CQM
|
|
89
91
|
unless self.population_sets.nil? || !self.population_sets.any?
|
90
92
|
result['population_sets'] = self.population_sets.map{ |x| x.as_json(*args) }
|
91
93
|
end
|
94
|
+
unless self.measure_period.nil?
|
95
|
+
result['measure_period'] = self.measure_period
|
96
|
+
end
|
92
97
|
result['created_at'] = self.created_at unless self.created_at.nil?
|
93
98
|
result['updated_at'] = self.updated_at unless self.updated_at.nil?
|
94
99
|
|
@@ -111,6 +116,7 @@ module CQM
|
|
111
116
|
result['main_cql_library'] = json_hash['main_cql_library'] unless json_hash['main_cql_library'].nil?
|
112
117
|
result['source_data_criteria'] = json_hash['source_data_criteria'].map { |var| CQM::DataElement.transform_json(var) } unless json_hash['source_data_criteria'].nil?
|
113
118
|
result['population_sets'] = json_hash['population_sets'].map { |var| CQM::PopulationSet.transform_json(var) } unless json_hash['population_sets'].nil?
|
119
|
+
result['measure_period'] = json_hash['measure_period'] unless json_hash['measure_period'].nil?
|
114
120
|
result['created_at'] = json_hash['created_at'] unless json_hash['created_at'].nil?
|
115
121
|
result['updated_at'] = json_hash['updated_at'] unless json_hash['updated_at'].nil?
|
116
122
|
result
|
@@ -58,7 +58,6 @@ module CQM
|
|
58
58
|
|
59
59
|
field :title, type: String
|
60
60
|
field :stratification_id, type: String
|
61
|
-
field :set_id, type: String
|
62
61
|
embeds_one :statement, class_name: 'CQM::StatementReference'
|
63
62
|
|
64
63
|
def as_json(*args)
|
@@ -69,9 +68,6 @@ module CQM
|
|
69
68
|
unless self.stratification_id.nil?
|
70
69
|
result['stratification_id'] = self.stratification_id
|
71
70
|
end
|
72
|
-
unless self.set_id.nil?
|
73
|
-
result['set_id'] = self.set_id
|
74
|
-
end
|
75
71
|
unless self.statement.nil?
|
76
72
|
result['statement'] = self.statement.as_json(args)
|
77
73
|
end
|
@@ -83,7 +79,6 @@ module CQM
|
|
83
79
|
result = target
|
84
80
|
result['title'] = json_hash['title'] unless json_hash['title'].nil?
|
85
81
|
result['stratification_id'] = json_hash['stratification_id'] unless json_hash['stratification_id'].nil?
|
86
|
-
result['set_id'] = json_hash['set_id'] unless json_hash['set_id'].nil?
|
87
82
|
result['statement'] = CQM::StatementReference.transform_json(json_hash['statement']) unless json_hash['statement'].nil?
|
88
83
|
|
89
84
|
result
|
@@ -96,10 +91,14 @@ module CQM
|
|
96
91
|
|
97
92
|
embedded_in :population_set
|
98
93
|
|
94
|
+
# observationPopulation.criteria
|
99
95
|
embeds_one :observation_function, class_name: 'CQM::StatementReference'
|
96
|
+
|
97
|
+
# Observation Identifier, observationPopulation.extension.[url]/cqfm-criteriaReference
|
100
98
|
embeds_one :observation_parameter, class_name: 'CQM::StatementReference'
|
99
|
+
|
100
|
+
# Aggregate Method (aka Aggregate Type), observationPopulation.extension.[url]/cqfm-aggregateMethod
|
101
101
|
field :aggregation_type, type: String
|
102
|
-
field :set_id, type: String
|
103
102
|
|
104
103
|
def as_json(*args)
|
105
104
|
result = Hash.new
|
@@ -112,9 +111,6 @@ module CQM
|
|
112
111
|
unless self.aggregation_type.nil?
|
113
112
|
result['aggregation_type'] = self.aggregation_type
|
114
113
|
end
|
115
|
-
unless self.set_id.nil?
|
116
|
-
result['set_id'] = self.set_id
|
117
|
-
end
|
118
114
|
|
119
115
|
result
|
120
116
|
end
|
@@ -124,7 +120,6 @@ module CQM
|
|
124
120
|
result['observation_function'] = CQM::StatementReference.transform_json(json_hash['observation_function']) unless json_hash['observation_function'].nil?
|
125
121
|
result['observation_parameter'] = CQM::StatementReference.transform_json(json_hash['observation_parameter']) unless json_hash['observation_parameter'].nil?
|
126
122
|
result['aggregation_type'] = json_hash['aggregation_type'] unless json_hash['aggregation_type'].nil?
|
127
|
-
result['set_id'] = json_hash['set_id'] unless json_hash['set_id'].nil?
|
128
123
|
|
129
124
|
result
|
130
125
|
end
|
data/app/models/fhir/resource.rb
CHANGED
@@ -8,6 +8,11 @@ module FHIR
|
|
8
8
|
embeds_one :language, class_name: 'FHIR::PrimitiveCode'
|
9
9
|
field :resourceType, type: String
|
10
10
|
field :fhirId, type: String
|
11
|
+
|
12
|
+
def initialize(attrs = nil)
|
13
|
+
super(attrs)
|
14
|
+
self.resourceType = self.class.name.split("::")[1].to_s
|
15
|
+
end
|
11
16
|
|
12
17
|
def as_json(*args)
|
13
18
|
result = Hash.new
|
data/fhir-mongoid-models.gemspec
CHANGED
@@ -3,9 +3,9 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
5
|
spec.name = 'fhir-mongoid-models'
|
6
|
-
spec.version = '0.0.
|
7
|
-
spec.authors =
|
8
|
-
spec.email = %w[andrew.bird@semanticbits.com ashok.dongare@semanticbits.com joseph.kotanchik@semanticbits.com
|
6
|
+
spec.version = '0.0.2'
|
7
|
+
spec.authors = ['Andrew Bird', 'Ashok Dongare', 'Joseph Kotanchik', 'Serhii Ilin', 'Matthew Gifford', 'Daniel Mee']
|
8
|
+
spec.email = %w[andrew.bird@semanticbits.com ashok.dongare@semanticbits.com joseph.kotanchik@semanticbits.com serhii.ilin@semanticbits.com matthew.gifford@semanticbits.com daniel.mee@semanticbits.com]
|
9
9
|
|
10
10
|
spec.summary = 'Mongo models that correspond to the FHIR specification.'
|
11
11
|
spec.description = 'This library contains auto generated Mongo (Mongoid) models that correspond to the FHIR specification.'
|
data/lib/fhir/mongoid/models.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require_relative '../../../app/models/models'
|
2
2
|
require_relative '../../../app/models/cqm/patient'
|
3
3
|
require_relative '../../../app/models/cqm/measure'
|
4
|
-
require_relative '../../../app/models/cqm/measure_package'
|
5
4
|
require_relative '../../../app/models/cqm/logic_library'
|
6
5
|
require_relative '../../../app/models/cqm/cql_statement_dependency'
|
7
6
|
require_relative '../../../app/models/cqm/population_set'
|
metadata
CHANGED
@@ -1,23 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fhir-mongoid-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Andrew
|
8
|
-
-
|
9
|
-
-
|
10
|
-
-
|
11
|
-
-
|
12
|
-
-
|
13
|
-
|
14
|
-
- Kandimalla
|
15
|
-
- Serhii
|
16
|
-
- Ilin
|
17
|
-
autorequire:
|
7
|
+
- Andrew Bird
|
8
|
+
- Ashok Dongare
|
9
|
+
- Joseph Kotanchik
|
10
|
+
- Serhii Ilin
|
11
|
+
- Matthew Gifford
|
12
|
+
- Daniel Mee
|
13
|
+
autorequire:
|
18
14
|
bindir: exe
|
19
15
|
cert_chain: []
|
20
|
-
date: 2020-08
|
16
|
+
date: 2020-09-08 00:00:00.000000000 Z
|
21
17
|
dependencies:
|
22
18
|
- !ruby/object:Gem::Dependency
|
23
19
|
name: bundler
|
@@ -123,8 +119,9 @@ email:
|
|
123
119
|
- andrew.bird@semanticbits.com
|
124
120
|
- ashok.dongare@semanticbits.com
|
125
121
|
- joseph.kotanchik@semanticbits.com
|
126
|
-
- rohit.kandimalla@semanticbits.com
|
127
122
|
- serhii.ilin@semanticbits.com
|
123
|
+
- matthew.gifford@semanticbits.com
|
124
|
+
- daniel.mee@semanticbits.com
|
128
125
|
executables: []
|
129
126
|
extensions: []
|
130
127
|
extra_rdoc_files: []
|
@@ -132,6 +129,7 @@ files:
|
|
132
129
|
- ".editorconfig"
|
133
130
|
- ".github/CODEOWNERS"
|
134
131
|
- ".github/workflows/build.yml"
|
132
|
+
- ".github/workflows/rubygems-publish.yml"
|
135
133
|
- ".gitignore"
|
136
134
|
- ".rspec"
|
137
135
|
- ".rubocop.yml"
|
@@ -143,7 +141,6 @@ files:
|
|
143
141
|
- app/models/cqm/data_element.rb
|
144
142
|
- app/models/cqm/logic_library.rb
|
145
143
|
- app/models/cqm/measure.rb
|
146
|
-
- app/models/cqm/measure_package.rb
|
147
144
|
- app/models/cqm/patient.rb
|
148
145
|
- app/models/cqm/population_set.rb
|
149
146
|
- app/models/fhir/account.rb
|
@@ -1093,7 +1090,7 @@ files:
|
|
1093
1090
|
homepage: https://github.com/MeasureAuthoringTool/fhir-mongoid-models
|
1094
1091
|
licenses: []
|
1095
1092
|
metadata: {}
|
1096
|
-
post_install_message:
|
1093
|
+
post_install_message:
|
1097
1094
|
rdoc_options: []
|
1098
1095
|
require_paths:
|
1099
1096
|
- lib
|
@@ -1108,8 +1105,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1108
1105
|
- !ruby/object:Gem::Version
|
1109
1106
|
version: '0'
|
1110
1107
|
requirements: []
|
1111
|
-
rubygems_version: 3.0.
|
1112
|
-
signing_key:
|
1108
|
+
rubygems_version: 3.0.6
|
1109
|
+
signing_key:
|
1113
1110
|
specification_version: 4
|
1114
1111
|
summary: Mongo models that correspond to the FHIR specification.
|
1115
1112
|
test_files: []
|
@@ -1,10 +0,0 @@
|
|
1
|
-
module CQM
|
2
|
-
# MeasurePackage stores the uploaded file for a given Measure
|
3
|
-
class MeasurePackage
|
4
|
-
include Mongoid::Document
|
5
|
-
include Mongoid::Timestamps
|
6
|
-
|
7
|
-
field :file, type: BSON::Binary
|
8
|
-
belongs_to :measure, class_name: 'CQM::Measure', inverse_of: :package
|
9
|
-
end
|
10
|
-
end
|