cql_qdm_patientapi 1.0.4 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/app/assets/javascripts/cqlpatient.js.coffee +2 -1
- data/app/assets/javascripts/datatypes/caregoal.js.coffee +1 -1
- data/app/assets/javascripts/datatypes/characteristic_birthdate.js.coffee +3 -1
- data/app/assets/javascripts/datatypes/immunization.js.coffee +4 -4
- data/app/assets/javascripts/datatypes/medication.js.coffee +32 -36
- data/app/assets/javascripts/datatypes/participation.js.coffee +36 -0
- data/app/assets/javascripts/datatypes/patient_characteristic_ethnicity.js.coffee +3 -1
- data/app/assets/javascripts/datatypes/patient_characteristic_expired.js.coffee +4 -3
- data/app/assets/javascripts/datatypes/patient_characteristic_race.js.coffee +3 -1
- data/app/assets/javascripts/datatypes/patient_characteristic_sex.js.coffee +3 -5
- data/app/assets/javascripts/datatypes/substance.js.coffee +20 -22
- data/lib/cql_qdm_patientapi/version.rb +1 -1
- data/vendor/assets/javascripts/cql4browsers.js +5110 -368
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7165133cf3ab4dae98bf3eab64cccc6089511bf6
|
4
|
+
data.tar.gz: a7cbfc4c6c410ebb76e5c130dad3a45fe1b8a4b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 976d559eaa8d4826df046fd72a5458b071cfbd8c868c005e6baea02d3b2e07997ad1542b5e9a02a9401ed8c013d8fabd76a5635c682ee6b9414d676a289fab45
|
7
|
+
data.tar.gz: 6bb7d9a35ca76bb041d86b8cf7058482b249d2cb2d5ec316e35c2cb502bbe320283d8619585a24ec493ff7062e4790742c4bda29d78e794abc85dadb1725aaae
|
data/Gemfile.lock
CHANGED
@@ -53,7 +53,7 @@ class CQL_QDM.CareGoal extends CQL_QDM.QDMDatatype
|
|
53
53
|
targetOutcome: ->
|
54
54
|
if @_targetOutcome?
|
55
55
|
if @_targetOutcome?['unit']?
|
56
|
-
new cql.Quantity({unit: @_targetOutcome['unit'], value: @_targetOutcome['
|
56
|
+
new cql.Quantity({unit: @_targetOutcome['unit'], value: @_targetOutcome['scalar']})
|
57
57
|
else
|
58
58
|
new cql.Code(@_targetOutcome.code, @_targetOutcome.code_system)
|
59
59
|
else
|
@@ -19,7 +19,9 @@ class CQL_QDM.PatientCharacteristicBirthdate extends CQL_QDM.QDMDatatype
|
|
19
19
|
@returns {Object}
|
20
20
|
###
|
21
21
|
getCode: ->
|
22
|
-
|
22
|
+
# NOTE: hard coding the code system. this will be removed when we switch
|
23
|
+
# to the QDM patient model
|
24
|
+
new cql.Code('21112-8', 'LOINC')
|
23
25
|
|
24
26
|
###
|
25
27
|
@returns {DateTime}
|
@@ -34,7 +34,7 @@ class CQL_QDM.ImmunizationAdministered extends CQL_QDM.QDMDatatype
|
|
34
34
|
###
|
35
35
|
dosage: ->
|
36
36
|
if @_dosage?
|
37
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
37
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
38
38
|
else
|
39
39
|
null
|
40
40
|
|
@@ -70,7 +70,7 @@ class CQL_QDM.ImmunizationAdministered extends CQL_QDM.QDMDatatype
|
|
70
70
|
###
|
71
71
|
supply: ->
|
72
72
|
if @_supply?
|
73
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
73
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
74
74
|
else
|
75
75
|
null
|
76
76
|
|
@@ -111,7 +111,7 @@ class CQL_QDM.ImmunizationOrder extends CQL_QDM.QDMDatatype
|
|
111
111
|
###
|
112
112
|
dosage: ->
|
113
113
|
if @_dosage?
|
114
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
114
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
115
115
|
else
|
116
116
|
null
|
117
117
|
|
@@ -147,6 +147,6 @@ class CQL_QDM.ImmunizationOrder extends CQL_QDM.QDMDatatype
|
|
147
147
|
###
|
148
148
|
supply: ->
|
149
149
|
if @_supply?
|
150
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
150
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
151
151
|
else
|
152
152
|
null
|
@@ -19,7 +19,7 @@ class CQL_QDM.MedicationActive extends CQL_QDM.QDMDatatype
|
|
19
19
|
constructor: (@entry) ->
|
20
20
|
super @entry
|
21
21
|
@_dosage = @entry.dose
|
22
|
-
@_frequency = @entry.
|
22
|
+
@_frequency = @entry.administrationTiming
|
23
23
|
@_route = @entry.route
|
24
24
|
@_relevantPeriodLow = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
25
25
|
if @entry.end_time
|
@@ -34,7 +34,7 @@ class CQL_QDM.MedicationActive extends CQL_QDM.QDMDatatype
|
|
34
34
|
###
|
35
35
|
dosage: ->
|
36
36
|
if @_dosage?
|
37
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
37
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
38
38
|
else
|
39
39
|
null
|
40
40
|
|
@@ -42,10 +42,8 @@ class CQL_QDM.MedicationActive extends CQL_QDM.QDMDatatype
|
|
42
42
|
@returns {Code}
|
43
43
|
###
|
44
44
|
frequency: ->
|
45
|
-
# TODO: Frequency currently not in HDS model. Can probably add by calculating based off of dose & regimen
|
46
|
-
throw new Error('Bonnie does not currently support MedicationActive.frequency')
|
47
45
|
if @_frequency?
|
48
|
-
new cql.Code(@_frequency.code, @_frequency.code_system)
|
46
|
+
new cql.Code(@_frequency.code, @_frequency.code_system, @_frequency.version, @_frequency.title)
|
49
47
|
else
|
50
48
|
null
|
51
49
|
|
@@ -74,7 +72,7 @@ class CQL_QDM.MedicationActive extends CQL_QDM.QDMDatatype
|
|
74
72
|
###
|
75
73
|
supply: ->
|
76
74
|
if @_supply?
|
77
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
75
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
78
76
|
else
|
79
77
|
null
|
80
78
|
|
@@ -92,7 +90,7 @@ class CQL_QDM.MedicationAdministered extends CQL_QDM.QDMDatatype
|
|
92
90
|
super @entry
|
93
91
|
@_authorDatetime = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
94
92
|
@_dosage = @entry.dose
|
95
|
-
@_frequency = @entry.
|
93
|
+
@_frequency = @entry.administrationTiming
|
96
94
|
@_negationRationale = @entry.negationReason
|
97
95
|
@_reason = @entry.reason
|
98
96
|
@_relevantPeriodLow = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
@@ -116,7 +114,7 @@ class CQL_QDM.MedicationAdministered extends CQL_QDM.QDMDatatype
|
|
116
114
|
###
|
117
115
|
dosage: ->
|
118
116
|
if @_dosage?
|
119
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
117
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
120
118
|
else
|
121
119
|
null
|
122
120
|
|
@@ -124,10 +122,8 @@ class CQL_QDM.MedicationAdministered extends CQL_QDM.QDMDatatype
|
|
124
122
|
@returns {code}
|
125
123
|
###
|
126
124
|
frequency: ->
|
127
|
-
# TODO: Frequency currently not in HDS model. Can probably add by calculating based off of dose & regimen
|
128
|
-
throw new Error('Bonnie does not currently support MedicationAdministered.frequency')
|
129
125
|
if @_frequency?
|
130
|
-
new cql.Code(@_frequency.code, @_frequency.code_system)
|
126
|
+
new cql.Code(@_frequency.code, @_frequency.code_system, @_frequency.version, @_frequency.title)
|
131
127
|
else
|
132
128
|
null
|
133
129
|
|
@@ -174,7 +170,7 @@ class CQL_QDM.MedicationAdministered extends CQL_QDM.QDMDatatype
|
|
174
170
|
###
|
175
171
|
supply: ->
|
176
172
|
if @_supply?
|
177
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
173
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
178
174
|
else
|
179
175
|
null
|
180
176
|
|
@@ -193,7 +189,7 @@ class CQL_QDM.MedicationDischarge extends CQL_QDM.QDMDatatype
|
|
193
189
|
super @entry
|
194
190
|
@_authorDatetime = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
195
191
|
@_dosage = @entry.dose
|
196
|
-
@_frequency = @entry.
|
192
|
+
@_frequency = @entry.administrationTiming
|
197
193
|
@_negationRationale = @entry.negationReason
|
198
194
|
@_refills = @entry.refills
|
199
195
|
@_route = @entry.route
|
@@ -210,7 +206,7 @@ class CQL_QDM.MedicationDischarge extends CQL_QDM.QDMDatatype
|
|
210
206
|
###
|
211
207
|
dosage: ->
|
212
208
|
if @_dosage?
|
213
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
209
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
214
210
|
else
|
215
211
|
null
|
216
212
|
|
@@ -218,10 +214,8 @@ class CQL_QDM.MedicationDischarge extends CQL_QDM.QDMDatatype
|
|
218
214
|
@returns {Code}
|
219
215
|
###
|
220
216
|
frequency: ->
|
221
|
-
# TODO: Frequency currently not in HDS model. Can probably add by calculating based off of dose & regimen
|
222
|
-
throw new Error('Bonnie does not currently support MedicationDischarge.frequency')
|
223
217
|
if @_frequency?
|
224
|
-
new cql.Code(@_frequency.code, @_frequency.code_system)
|
218
|
+
new cql.Code(@_frequency.code, @_frequency.code_system, @_frequency.version, @_frequency.title)
|
225
219
|
else
|
226
220
|
null
|
227
221
|
|
@@ -238,8 +232,10 @@ class CQL_QDM.MedicationDischarge extends CQL_QDM.QDMDatatype
|
|
238
232
|
@returns {Integer}
|
239
233
|
###
|
240
234
|
refills: ->
|
241
|
-
|
242
|
-
|
235
|
+
if @_refills?
|
236
|
+
@_refills['scalar']
|
237
|
+
else
|
238
|
+
null
|
243
239
|
|
244
240
|
###
|
245
241
|
@returns {Code}
|
@@ -255,7 +251,7 @@ class CQL_QDM.MedicationDischarge extends CQL_QDM.QDMDatatype
|
|
255
251
|
###
|
256
252
|
supply: ->
|
257
253
|
if @_supply?
|
258
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
254
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
259
255
|
else
|
260
256
|
null
|
261
257
|
|
@@ -278,7 +274,7 @@ class CQL_QDM.MedicationDispensed extends CQL_QDM.QDMDatatype
|
|
278
274
|
super @entry
|
279
275
|
@_authorDatetime = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
280
276
|
@_dosage = @entry.dose
|
281
|
-
@_frequency = @entry.
|
277
|
+
@_frequency = @entry.administrationTiming
|
282
278
|
@_negationRationale = @entry.negationReason
|
283
279
|
@_refills = @entry.refills
|
284
280
|
@_route = @entry.route
|
@@ -301,7 +297,7 @@ class CQL_QDM.MedicationDispensed extends CQL_QDM.QDMDatatype
|
|
301
297
|
###
|
302
298
|
dosage: ->
|
303
299
|
if @_dosage?
|
304
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
300
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
305
301
|
else
|
306
302
|
null
|
307
303
|
|
@@ -309,10 +305,8 @@ class CQL_QDM.MedicationDispensed extends CQL_QDM.QDMDatatype
|
|
309
305
|
@returns {Code}
|
310
306
|
###
|
311
307
|
frequency: ->
|
312
|
-
# TODO: Frequency currently not in HDS model. Can probably add by calculating based off of dose & regimen
|
313
|
-
throw new Error('Bonnie does not currently support MedicationDispensed.frequency')
|
314
308
|
if @_frequency?
|
315
|
-
new cql.Code(@_frequency.code, @_frequency.code_system)
|
309
|
+
new cql.Code(@_frequency.code, @_frequency.code_system, @_frequency.version, @_frequency.title)
|
316
310
|
else
|
317
311
|
null
|
318
312
|
|
@@ -340,8 +334,10 @@ class CQL_QDM.MedicationDispensed extends CQL_QDM.QDMDatatype
|
|
340
334
|
@returns {Integer}
|
341
335
|
###
|
342
336
|
refills: ->
|
343
|
-
|
344
|
-
|
337
|
+
if @_refills?
|
338
|
+
@_refills['scalar']
|
339
|
+
else
|
340
|
+
null
|
345
341
|
|
346
342
|
###
|
347
343
|
@returns {Code}
|
@@ -357,7 +353,7 @@ class CQL_QDM.MedicationDispensed extends CQL_QDM.QDMDatatype
|
|
357
353
|
###
|
358
354
|
supply: ->
|
359
355
|
if @_supply?
|
360
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
356
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
361
357
|
else
|
362
358
|
null
|
363
359
|
|
@@ -376,7 +372,7 @@ class CQL_QDM.MedicationOrder extends CQL_QDM.QDMDatatype
|
|
376
372
|
@_activeDatetime = CQL_QDM.Helpers.convertDateTime(@entry.active_datetime)
|
377
373
|
@_authorDatetime = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
378
374
|
@_dosage = @entry.dose
|
379
|
-
@_frequency = @entry.
|
375
|
+
@_frequency = @entry.administrationTiming
|
380
376
|
@_method = @entry.method
|
381
377
|
@_negationRationale = @entry.negationReason
|
382
378
|
@_reason = @entry.reason
|
@@ -407,7 +403,7 @@ class CQL_QDM.MedicationOrder extends CQL_QDM.QDMDatatype
|
|
407
403
|
###
|
408
404
|
dosage: ->
|
409
405
|
if @_dosage?
|
410
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
406
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
411
407
|
else
|
412
408
|
null
|
413
409
|
|
@@ -415,10 +411,8 @@ class CQL_QDM.MedicationOrder extends CQL_QDM.QDMDatatype
|
|
415
411
|
@returns {Code}
|
416
412
|
###
|
417
413
|
frequency: ->
|
418
|
-
# TODO: Frequency currently not in HDS model. Can probably add by calculating based off of dose & regimen
|
419
|
-
throw new Error('Bonnie does not currently support MedicationOrder.frequency')
|
420
414
|
if @_frequency?
|
421
|
-
new cql.Code(@_frequency.code, @_frequency.code_system)
|
415
|
+
new cql.Code(@_frequency.code, @_frequency.code_system, @_frequency.version, @_frequency.title)
|
422
416
|
else
|
423
417
|
null
|
424
418
|
|
@@ -453,8 +447,10 @@ class CQL_QDM.MedicationOrder extends CQL_QDM.QDMDatatype
|
|
453
447
|
@returns {Integer}
|
454
448
|
###
|
455
449
|
refills: ->
|
456
|
-
|
457
|
-
|
450
|
+
if @_refills?
|
451
|
+
@_refills['scalar']
|
452
|
+
else
|
453
|
+
null
|
458
454
|
|
459
455
|
###
|
460
456
|
@returns {Interval<Date>}
|
@@ -481,6 +477,6 @@ class CQL_QDM.MedicationOrder extends CQL_QDM.QDMDatatype
|
|
481
477
|
###
|
482
478
|
supply: ->
|
483
479
|
if @_supply?
|
484
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
480
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
485
481
|
else
|
486
482
|
null
|
@@ -0,0 +1,36 @@
|
|
1
|
+
###
|
2
|
+
@namespace scoping into the CQL_QDM namespace (all classes and
|
3
|
+
their methods will be accessable through the CQL_QDM namespace)
|
4
|
+
###
|
5
|
+
@CQL_QDM ||= {}
|
6
|
+
|
7
|
+
###
|
8
|
+
Data elements that meet criteria using this datatype should document the type of plan or
|
9
|
+
program in which the patient is expected to be enrolled. The program is identified as the Issuer
|
10
|
+
(e.g., Aetna, BCBSA, Cigna, etc.). The code attribute indicates the coverage type indicating
|
11
|
+
the program in which the subject of record participates (e.g., health insurance plan policy,
|
12
|
+
disease specific policy, health maintenance organization policy, etc.)
|
13
|
+
###
|
14
|
+
class CQL_QDM.Participation extends CQL_QDM.QDMDatatype
|
15
|
+
###
|
16
|
+
@param {Object} entry - the HDS data criteria object to convert
|
17
|
+
###
|
18
|
+
constructor: (@entry) ->
|
19
|
+
super @entry
|
20
|
+
@_participationPeriodLow = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
21
|
+
if @entry.end_time
|
22
|
+
@_participationPeriodHigh = CQL_QDM.Helpers.convertDateTime(@entry.end_time)
|
23
|
+
else
|
24
|
+
# No end time; high is set to infinity
|
25
|
+
@_participationPeriodHigh = CQL_QDM.Helpers.infinityDateTime()
|
26
|
+
|
27
|
+
###
|
28
|
+
@returns {Interval<Date>}
|
29
|
+
###
|
30
|
+
participationPeriod: ->
|
31
|
+
low = @_participationPeriodLow
|
32
|
+
high = @_participationPeriodHigh
|
33
|
+
if low?
|
34
|
+
new cql.Interval(low, high)
|
35
|
+
else
|
36
|
+
null
|
@@ -18,6 +18,8 @@ class CQL_QDM.PatientCharacteristicEthnicity extends CQL_QDM.QDMDatatype
|
|
18
18
|
|
19
19
|
getCode: ->
|
20
20
|
if @_patient?.has('ethnicity')
|
21
|
-
|
21
|
+
# NOTE: hard coding the code system. this will be removed when we switch
|
22
|
+
# to the QDM patient model
|
23
|
+
new cql.Code(@_patient.get('ethnicity'), 'CDC Race')
|
22
24
|
else
|
23
25
|
null
|
@@ -20,10 +20,11 @@ class CQL_QDM.PatientCharacteristicExpired extends CQL_QDM.QDMDatatype
|
|
20
20
|
###
|
21
21
|
getCode: ->
|
22
22
|
if @_patient.get('deathdate')?
|
23
|
-
|
23
|
+
# NOTE: hard coding the code system. this will be removed when we switch
|
24
|
+
# to the QDM patient model
|
25
|
+
new cql.Code('419099009', 'SNOMED-CT')
|
24
26
|
else
|
25
|
-
|
26
|
-
''
|
27
|
+
null
|
27
28
|
|
28
29
|
###
|
29
30
|
@returns {Code}
|
@@ -18,6 +18,8 @@ class CQL_QDM.PatientCharacteristicRace extends CQL_QDM.QDMDatatype
|
|
18
18
|
|
19
19
|
getCode: ->
|
20
20
|
if @_patient?.has('race')
|
21
|
-
|
21
|
+
# NOTE: hard coding the code system. this will be removed when we switch
|
22
|
+
# to the QDM patient model
|
23
|
+
new cql.Code(@_patient.get('race'), 'CDC Race')
|
22
24
|
else
|
23
25
|
null
|
@@ -16,8 +16,6 @@ class CQL_QDM.PatientCharacteristicSex extends CQL_QDM.QDMDatatype
|
|
16
16
|
@_patient = @patient
|
17
17
|
|
18
18
|
getCode: ->
|
19
|
-
# NOTE:
|
20
|
-
#
|
21
|
-
|
22
|
-
code:
|
23
|
-
@_patient.get('gender')
|
19
|
+
# NOTE: hard coding the code system. this will be removed when we switch
|
20
|
+
# to the QDM patient model
|
21
|
+
new cql.Code(@_patient.get('gender'), 'AdministrativeGender')
|
@@ -18,7 +18,7 @@ class CQL_QDM.SubstanceAdministered extends CQL_QDM.QDMDatatype
|
|
18
18
|
super @entry
|
19
19
|
@_authorDatetime = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
20
20
|
@_dosage = @entry.dose
|
21
|
-
@_frequency = @entry.
|
21
|
+
@_frequency = @entry.administrationTiming
|
22
22
|
@_negationRationale = @entry.negationReason
|
23
23
|
@_relevantPeriodLow = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
24
24
|
if @entry.end_time
|
@@ -41,7 +41,7 @@ class CQL_QDM.SubstanceAdministered extends CQL_QDM.QDMDatatype
|
|
41
41
|
###
|
42
42
|
dosage: ->
|
43
43
|
if @_dosage?
|
44
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
44
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
45
45
|
else
|
46
46
|
null
|
47
47
|
|
@@ -49,10 +49,8 @@ class CQL_QDM.SubstanceAdministered extends CQL_QDM.QDMDatatype
|
|
49
49
|
@returns {Code}
|
50
50
|
###
|
51
51
|
frequency: ->
|
52
|
-
# TODO: Frequency currently not in HDS model. Can probably add by calculating based off of dose & regimen
|
53
|
-
throw new Error('Bonnie does not currently support SubstanceAdministered.frequency')
|
54
52
|
if @_frequency?
|
55
|
-
new cql.Code(@_frequency.code, @_frequency.code_system)
|
53
|
+
new cql.Code(@_frequency.code, @_frequency.code_system, @_frequency.version, @_frequency.title)
|
56
54
|
else
|
57
55
|
null
|
58
56
|
|
@@ -90,7 +88,7 @@ class CQL_QDM.SubstanceAdministered extends CQL_QDM.QDMDatatype
|
|
90
88
|
###
|
91
89
|
supply: ->
|
92
90
|
if @_supply?
|
93
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
91
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
94
92
|
else
|
95
93
|
null
|
96
94
|
|
@@ -107,7 +105,7 @@ class CQL_QDM.SubstanceOrder extends CQL_QDM.QDMDatatype
|
|
107
105
|
super @entry
|
108
106
|
@_authorDatetime = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
109
107
|
@_dosage = @entry.dose
|
110
|
-
@_frequency = @entry.
|
108
|
+
@_frequency = @entry.administrationTiming
|
111
109
|
@_method = @entry.method
|
112
110
|
@_negationRationale = @entry.negationReason
|
113
111
|
@_reason = @entry.reason
|
@@ -126,7 +124,7 @@ class CQL_QDM.SubstanceOrder extends CQL_QDM.QDMDatatype
|
|
126
124
|
###
|
127
125
|
dosage: ->
|
128
126
|
if @_dosage?
|
129
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
127
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
130
128
|
else
|
131
129
|
null
|
132
130
|
|
@@ -134,10 +132,8 @@ class CQL_QDM.SubstanceOrder extends CQL_QDM.QDMDatatype
|
|
134
132
|
@returns {Code}
|
135
133
|
###
|
136
134
|
frequency: ->
|
137
|
-
# TODO: Frequency currently not in HDS model. Can probably add by calculating based off of dose & regimen
|
138
|
-
throw new Error('Bonnie does not currently support SubstanceOrder.frequency')
|
139
135
|
if @_frequency?
|
140
|
-
new cql.Code(@_frequency.code, @_frequency.code_system)
|
136
|
+
new cql.Code(@_frequency.code, @_frequency.code_system, @_frequency.version, @_frequency.title)
|
141
137
|
else
|
142
138
|
null
|
143
139
|
|
@@ -172,8 +168,10 @@ class CQL_QDM.SubstanceOrder extends CQL_QDM.QDMDatatype
|
|
172
168
|
@returns {Integer}
|
173
169
|
###
|
174
170
|
refills: ->
|
175
|
-
|
176
|
-
|
171
|
+
if @_refills?
|
172
|
+
@_refills['scalar']
|
173
|
+
else
|
174
|
+
null
|
177
175
|
|
178
176
|
###
|
179
177
|
@returns {Code}
|
@@ -189,7 +187,7 @@ class CQL_QDM.SubstanceOrder extends CQL_QDM.QDMDatatype
|
|
189
187
|
###
|
190
188
|
supply: ->
|
191
189
|
if @_supply?
|
192
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
190
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
193
191
|
else
|
194
192
|
null
|
195
193
|
|
@@ -207,7 +205,7 @@ class CQL_QDM.SubstanceRecommended extends CQL_QDM.QDMDatatype
|
|
207
205
|
super @entry
|
208
206
|
@_authorDatetime = CQL_QDM.Helpers.convertDateTime(@entry.start_time)
|
209
207
|
@_dosage = @entry.dose
|
210
|
-
@_frequency = @entry.
|
208
|
+
@_frequency = @entry.administrationTiming
|
211
209
|
@_method = @entry.method
|
212
210
|
@_negationRationale = @entry.negationReason
|
213
211
|
@_reason = @entry.reason
|
@@ -226,7 +224,7 @@ class CQL_QDM.SubstanceRecommended extends CQL_QDM.QDMDatatype
|
|
226
224
|
###
|
227
225
|
dosage: ->
|
228
226
|
if @_dosage?
|
229
|
-
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['
|
227
|
+
new cql.Quantity({unit: @_dosage['unit'], value: @_dosage['scalar']})
|
230
228
|
else
|
231
229
|
null
|
232
230
|
|
@@ -234,10 +232,8 @@ class CQL_QDM.SubstanceRecommended extends CQL_QDM.QDMDatatype
|
|
234
232
|
@returns {Code}
|
235
233
|
###
|
236
234
|
frequency: ->
|
237
|
-
# TODO: Frequency currently not in HDS model. Can probably add by calculating based off of dose & regimen
|
238
|
-
throw new Error('Bonnie does not currently support SubstanceRecommended.frequency')
|
239
235
|
if @_frequency?
|
240
|
-
new cql.Code(@_frequency.code, @_frequency.code_system)
|
236
|
+
new cql.Code(@_frequency.code, @_frequency.code_system, @_frequency.version, @_frequency.title)
|
241
237
|
else
|
242
238
|
null
|
243
239
|
|
@@ -272,8 +268,10 @@ class CQL_QDM.SubstanceRecommended extends CQL_QDM.QDMDatatype
|
|
272
268
|
@returns {Integer}
|
273
269
|
###
|
274
270
|
refills: ->
|
275
|
-
|
276
|
-
|
271
|
+
if @_refills?
|
272
|
+
@_refills['scalar']
|
273
|
+
else
|
274
|
+
null
|
277
275
|
|
278
276
|
###
|
279
277
|
@returns {Code}
|
@@ -289,6 +287,6 @@ class CQL_QDM.SubstanceRecommended extends CQL_QDM.QDMDatatype
|
|
289
287
|
###
|
290
288
|
supply: ->
|
291
289
|
if @_supply?
|
292
|
-
new cql.Quantity({unit: @_supply['unit'], value: @_supply['
|
290
|
+
new cql.Quantity({unit: @_supply['unit'], value: @_supply['scalar']})
|
293
291
|
else
|
294
292
|
null
|