cqm-models 0.8.3 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc.json +1 -1
  3. data/app/assets/javascripts/AdverseEvent.js +1 -0
  4. data/app/assets/javascripts/AllergyIntolerance.js +1 -0
  5. data/app/assets/javascripts/AssessmentPerformed.js +2 -1
  6. data/app/assets/javascripts/AssessmentRecommended.js +1 -0
  7. data/app/assets/javascripts/CareGoal.js +2 -1
  8. data/app/assets/javascripts/CommunicationFromPatientToProvider.js +2 -1
  9. data/app/assets/javascripts/CommunicationFromProviderToPatient.js +2 -1
  10. data/app/assets/javascripts/CommunicationFromProviderToProvider.js +2 -1
  11. data/app/assets/javascripts/Component.js +1 -0
  12. data/app/assets/javascripts/DeviceApplied.js +1 -0
  13. data/app/assets/javascripts/DeviceOrder.js +1 -0
  14. data/app/assets/javascripts/DeviceRecommended.js +1 -0
  15. data/app/assets/javascripts/Diagnosis.js +1 -0
  16. data/app/assets/javascripts/DiagnosticStudyOrder.js +1 -0
  17. data/app/assets/javascripts/DiagnosticStudyPerformed.js +1 -0
  18. data/app/assets/javascripts/DiagnosticStudyRecommended.js +1 -0
  19. data/app/assets/javascripts/EncounterOrder.js +1 -0
  20. data/app/assets/javascripts/EncounterPerformed.js +1 -0
  21. data/app/assets/javascripts/EncounterRecommended.js +1 -0
  22. data/app/assets/javascripts/FacilityLocation.js +1 -0
  23. data/app/assets/javascripts/FamilyHistory.js +1 -0
  24. data/app/assets/javascripts/Id.js +2 -10
  25. data/app/assets/javascripts/ImmunizationAdministered.js +1 -0
  26. data/app/assets/javascripts/ImmunizationOrder.js +1 -0
  27. data/app/assets/javascripts/InterventionOrder.js +1 -0
  28. data/app/assets/javascripts/InterventionPerformed.js +1 -0
  29. data/app/assets/javascripts/InterventionRecommended.js +1 -0
  30. data/app/assets/javascripts/LaboratoryTestOrder.js +1 -0
  31. data/app/assets/javascripts/LaboratoryTestPerformed.js +1 -0
  32. data/app/assets/javascripts/LaboratoryTestRecommended.js +1 -0
  33. data/app/assets/javascripts/MedicationActive.js +1 -0
  34. data/app/assets/javascripts/MedicationAdministered.js +1 -0
  35. data/app/assets/javascripts/MedicationDischarge.js +1 -0
  36. data/app/assets/javascripts/MedicationDispensed.js +1 -0
  37. data/app/assets/javascripts/MedicationOrder.js +1 -0
  38. data/app/assets/javascripts/Participation.js +1 -0
  39. data/app/assets/javascripts/Patient.js +4 -8
  40. data/app/assets/javascripts/PatientCareExperience.js +1 -0
  41. data/app/assets/javascripts/PatientCharacteristic.js +1 -0
  42. data/app/assets/javascripts/PatientCharacteristicBirthdate.js +1 -0
  43. data/app/assets/javascripts/PatientCharacteristicClinicalTrialParticipant.js +1 -0
  44. data/app/assets/javascripts/PatientCharacteristicEthnicity.js +1 -0
  45. data/app/assets/javascripts/PatientCharacteristicExpired.js +1 -0
  46. data/app/assets/javascripts/PatientCharacteristicPayer.js +1 -0
  47. data/app/assets/javascripts/PatientCharacteristicRace.js +1 -0
  48. data/app/assets/javascripts/PatientCharacteristicSex.js +1 -0
  49. data/app/assets/javascripts/PhysicalExamOrder.js +1 -0
  50. data/app/assets/javascripts/PhysicalExamPerformed.js +1 -0
  51. data/app/assets/javascripts/PhysicalExamRecommended.js +1 -0
  52. data/app/assets/javascripts/ProcedureOrder.js +1 -0
  53. data/app/assets/javascripts/ProcedurePerformed.js +1 -0
  54. data/app/assets/javascripts/ProcedureRecommended.js +1 -0
  55. data/app/assets/javascripts/ProviderCareExperience.js +1 -0
  56. data/app/assets/javascripts/ProviderCharacteristic.js +1 -0
  57. data/app/assets/javascripts/Ratio.js +1 -0
  58. data/app/assets/javascripts/ResultComponent.js +1 -0
  59. data/app/assets/javascripts/SubstanceAdministered.js +1 -0
  60. data/app/assets/javascripts/SubstanceOrder.js +1 -0
  61. data/app/assets/javascripts/SubstanceRecommended.js +1 -0
  62. data/app/assets/javascripts/Symptom.js +1 -0
  63. data/app/assets/javascripts/basetypes/Any.js +1 -1
  64. data/app/assets/javascripts/basetypes/DataElement.js +7 -0
  65. data/app/models/models.rb +3 -1
  66. data/app/models/qdm/assessment_performed.rb +1 -1
  67. data/app/models/qdm/basetypes/data_element.rb +8 -5
  68. data/app/models/qdm/care_goal.rb +1 -1
  69. data/app/models/qdm/communication_from_patient_to_provider.rb +1 -1
  70. data/app/models/qdm/communication_from_provider_to_patient.rb +1 -1
  71. data/app/models/qdm/communication_from_provider_to_provider.rb +1 -1
  72. data/app/models/qdm/component.rb +0 -1
  73. data/app/models/qdm/facility_location.rb +0 -1
  74. data/app/models/qdm/id.rb +2 -2
  75. data/cqm-models.gemspec +1 -1
  76. data/dist/index.js +137 -84
  77. data/lib/generate_models.rb +27 -19
  78. data/package.json +1 -1
  79. data/templates/id_template.js.erb +15 -0
  80. data/templates/models_template.rb.erb +4 -0
  81. data/templates/mongoose_template.js.erb +1 -0
  82. data/templates/patient_template.js.erb +4 -8
  83. metadata +4 -3
data/dist/index.js CHANGED
@@ -7,6 +7,7 @@ const Quantity = require('./basetypes/Quantity');
7
7
  const DateTime = require('./basetypes/DateTime');
8
8
  const { ComponentSchema } = require('./Component');
9
9
  const { FacilityLocationSchema } = require('./FacilityLocation');
10
+ const { IdSchema } = require('./Id');
10
11
  const Any = require('./basetypes/Any');
11
12
 
12
13
  const [Number, String] = [
@@ -30,7 +31,7 @@ const AdverseEventSchema = DataElementSchema({
30
31
  module.exports.AdverseEventSchema = AdverseEventSchema;
31
32
  module.exports.AdverseEvent = mongoose.model('AdverseEvent', AdverseEventSchema);
32
33
 
33
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],2:[function(require,module,exports){
34
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],2:[function(require,module,exports){
34
35
  module.exports.Patient = require('./Patient.js').Patient;
35
36
  module.exports.PatientSchema = require('./Patient.js').PatientSchema;
36
37
  module.exports.Id = require('./Id.js').Id;
@@ -161,6 +162,7 @@ const Quantity = require('./basetypes/Quantity');
161
162
  const DateTime = require('./basetypes/DateTime');
162
163
  const { ComponentSchema } = require('./Component');
163
164
  const { FacilityLocationSchema } = require('./FacilityLocation');
165
+ const { IdSchema } = require('./Id');
164
166
  const Any = require('./basetypes/Any');
165
167
 
166
168
  const [Number, String] = [
@@ -184,7 +186,7 @@ const AllergyIntoleranceSchema = DataElementSchema({
184
186
  module.exports.AllergyIntoleranceSchema = AllergyIntoleranceSchema;
185
187
  module.exports.AllergyIntolerance = mongoose.model('AllergyIntolerance', AllergyIntoleranceSchema);
186
188
 
187
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],4:[function(require,module,exports){
189
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],4:[function(require,module,exports){
188
190
  const mongoose = require('mongoose');
189
191
  const { DataElementSchema } = require('./basetypes/DataElement');
190
192
  const Code = require('./basetypes/Code');
@@ -193,6 +195,7 @@ const Quantity = require('./basetypes/Quantity');
193
195
  const DateTime = require('./basetypes/DateTime');
194
196
  const { ComponentSchema } = require('./Component');
195
197
  const { FacilityLocationSchema } = require('./FacilityLocation');
198
+ const { IdSchema } = require('./Id');
196
199
  const Any = require('./basetypes/Any');
197
200
 
198
201
  const [Number, String] = [
@@ -207,7 +210,7 @@ const AssessmentPerformedSchema = DataElementSchema({
207
210
  method: Code,
208
211
  result: Any,
209
212
  components: [ComponentSchema],
210
- relatedTo: [String],
213
+ relatedTo: [IdSchema],
211
214
  hqmfOid: { type: String, default: '2.16.840.1.113883.10.20.28.3.117' },
212
215
  category: { type: String, default: 'assessment' },
213
216
  qdmStatus: { type: String, default: 'performed' },
@@ -219,7 +222,7 @@ const AssessmentPerformedSchema = DataElementSchema({
219
222
  module.exports.AssessmentPerformedSchema = AssessmentPerformedSchema;
220
223
  module.exports.AssessmentPerformed = mongoose.model('AssessmentPerformed', AssessmentPerformedSchema);
221
224
 
222
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],5:[function(require,module,exports){
225
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],5:[function(require,module,exports){
223
226
  const mongoose = require('mongoose');
224
227
  const { DataElementSchema } = require('./basetypes/DataElement');
225
228
  const Code = require('./basetypes/Code');
@@ -228,6 +231,7 @@ const Quantity = require('./basetypes/Quantity');
228
231
  const DateTime = require('./basetypes/DateTime');
229
232
  const { ComponentSchema } = require('./Component');
230
233
  const { FacilityLocationSchema } = require('./FacilityLocation');
234
+ const { IdSchema } = require('./Id');
231
235
  const Any = require('./basetypes/Any');
232
236
 
233
237
  const [Number, String] = [
@@ -251,7 +255,7 @@ const AssessmentRecommendedSchema = DataElementSchema({
251
255
  module.exports.AssessmentRecommendedSchema = AssessmentRecommendedSchema;
252
256
  module.exports.AssessmentRecommended = mongoose.model('AssessmentRecommended', AssessmentRecommendedSchema);
253
257
 
254
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],6:[function(require,module,exports){
258
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],6:[function(require,module,exports){
255
259
  const mongoose = require('mongoose');
256
260
  const { DataElementSchema } = require('./basetypes/DataElement');
257
261
  const Code = require('./basetypes/Code');
@@ -260,6 +264,7 @@ const Quantity = require('./basetypes/Quantity');
260
264
  const DateTime = require('./basetypes/DateTime');
261
265
  const { ComponentSchema } = require('./Component');
262
266
  const { FacilityLocationSchema } = require('./FacilityLocation');
267
+ const { IdSchema } = require('./Id');
263
268
  const Any = require('./basetypes/Any');
264
269
 
265
270
  const [Number, String] = [
@@ -269,7 +274,7 @@ const [Number, String] = [
269
274
 
270
275
  const CareGoalSchema = DataElementSchema({
271
276
  relevantPeriod: Interval,
272
- relatedTo: [String],
277
+ relatedTo: [IdSchema],
273
278
  targetOutcome: Any,
274
279
  hqmfOid: { type: String, default: '2.16.840.1.113883.10.20.28.3.7' },
275
280
  category: { type: String, default: 'care_goal' },
@@ -281,7 +286,7 @@ const CareGoalSchema = DataElementSchema({
281
286
  module.exports.CareGoalSchema = CareGoalSchema;
282
287
  module.exports.CareGoal = mongoose.model('CareGoal', CareGoalSchema);
283
288
 
284
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],7:[function(require,module,exports){
289
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],7:[function(require,module,exports){
285
290
  const mongoose = require('mongoose');
286
291
  const { DataElementSchema } = require('./basetypes/DataElement');
287
292
  const Code = require('./basetypes/Code');
@@ -290,6 +295,7 @@ const Quantity = require('./basetypes/Quantity');
290
295
  const DateTime = require('./basetypes/DateTime');
291
296
  const { ComponentSchema } = require('./Component');
292
297
  const { FacilityLocationSchema } = require('./FacilityLocation');
298
+ const { IdSchema } = require('./Id');
293
299
  const Any = require('./basetypes/Any');
294
300
 
295
301
  const [Number, String] = [
@@ -299,7 +305,7 @@ const [Number, String] = [
299
305
 
300
306
  const CommunicationFromPatientToProviderSchema = DataElementSchema({
301
307
  authorDatetime: DateTime,
302
- relatedTo: [String],
308
+ relatedTo: [IdSchema],
303
309
  negationRationale: Code,
304
310
  hqmfOid: { type: String, default: '2.16.840.1.113883.10.20.28.3.8' },
305
311
  category: { type: String, default: 'communication' },
@@ -312,7 +318,7 @@ const CommunicationFromPatientToProviderSchema = DataElementSchema({
312
318
  module.exports.CommunicationFromPatientToProviderSchema = CommunicationFromPatientToProviderSchema;
313
319
  module.exports.CommunicationFromPatientToProvider = mongoose.model('CommunicationFromPatientToProvider', CommunicationFromPatientToProviderSchema);
314
320
 
315
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],8:[function(require,module,exports){
321
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],8:[function(require,module,exports){
316
322
  const mongoose = require('mongoose');
317
323
  const { DataElementSchema } = require('./basetypes/DataElement');
318
324
  const Code = require('./basetypes/Code');
@@ -321,6 +327,7 @@ const Quantity = require('./basetypes/Quantity');
321
327
  const DateTime = require('./basetypes/DateTime');
322
328
  const { ComponentSchema } = require('./Component');
323
329
  const { FacilityLocationSchema } = require('./FacilityLocation');
330
+ const { IdSchema } = require('./Id');
324
331
  const Any = require('./basetypes/Any');
325
332
 
326
333
  const [Number, String] = [
@@ -330,7 +337,7 @@ const [Number, String] = [
330
337
 
331
338
  const CommunicationFromProviderToPatientSchema = DataElementSchema({
332
339
  authorDatetime: DateTime,
333
- relatedTo: [String],
340
+ relatedTo: [IdSchema],
334
341
  negationRationale: Code,
335
342
  hqmfOid: { type: String, default: '2.16.840.1.113883.10.20.28.3.9' },
336
343
  category: { type: String, default: 'communication' },
@@ -343,7 +350,7 @@ const CommunicationFromProviderToPatientSchema = DataElementSchema({
343
350
  module.exports.CommunicationFromProviderToPatientSchema = CommunicationFromProviderToPatientSchema;
344
351
  module.exports.CommunicationFromProviderToPatient = mongoose.model('CommunicationFromProviderToPatient', CommunicationFromProviderToPatientSchema);
345
352
 
346
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],9:[function(require,module,exports){
353
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],9:[function(require,module,exports){
347
354
  const mongoose = require('mongoose');
348
355
  const { DataElementSchema } = require('./basetypes/DataElement');
349
356
  const Code = require('./basetypes/Code');
@@ -352,6 +359,7 @@ const Quantity = require('./basetypes/Quantity');
352
359
  const DateTime = require('./basetypes/DateTime');
353
360
  const { ComponentSchema } = require('./Component');
354
361
  const { FacilityLocationSchema } = require('./FacilityLocation');
362
+ const { IdSchema } = require('./Id');
355
363
  const Any = require('./basetypes/Any');
356
364
 
357
365
  const [Number, String] = [
@@ -361,7 +369,7 @@ const [Number, String] = [
361
369
 
362
370
  const CommunicationFromProviderToProviderSchema = DataElementSchema({
363
371
  authorDatetime: DateTime,
364
- relatedTo: [String],
372
+ relatedTo: [IdSchema],
365
373
  negationRationale: Code,
366
374
  hqmfOid: { type: String, default: '2.16.840.1.113883.10.20.28.3.10' },
367
375
  category: { type: String, default: 'communication' },
@@ -374,7 +382,7 @@ const CommunicationFromProviderToProviderSchema = DataElementSchema({
374
382
  module.exports.CommunicationFromProviderToProviderSchema = CommunicationFromProviderToProviderSchema;
375
383
  module.exports.CommunicationFromProviderToProvider = mongoose.model('CommunicationFromProviderToProvider', CommunicationFromProviderToProviderSchema);
376
384
 
377
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],10:[function(require,module,exports){
385
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],10:[function(require,module,exports){
378
386
  const mongoose = require('mongoose');
379
387
  const { DataElementSchema } = require('./basetypes/DataElement');
380
388
  const Code = require('./basetypes/Code');
@@ -383,6 +391,7 @@ const Quantity = require('./basetypes/Quantity');
383
391
  const DateTime = require('./basetypes/DateTime');
384
392
 
385
393
  const { FacilityLocationSchema } = require('./FacilityLocation');
394
+ const { IdSchema } = require('./Id');
386
395
  const Any = require('./basetypes/Any');
387
396
 
388
397
  const [Number, String] = [
@@ -401,7 +410,7 @@ const ComponentSchema = new mongoose.Schema({
401
410
  module.exports.ComponentSchema = ComponentSchema;
402
411
  module.exports.Component = mongoose.model('Component', ComponentSchema);
403
412
 
404
- },{"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],11:[function(require,module,exports){
413
+ },{"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],11:[function(require,module,exports){
405
414
  const mongoose = require('mongoose');
406
415
 
407
416
  const mString = mongoose.Schema.Types.String;
@@ -426,6 +435,7 @@ const Quantity = require('./basetypes/Quantity');
426
435
  const DateTime = require('./basetypes/DateTime');
427
436
  const { ComponentSchema } = require('./Component');
428
437
  const { FacilityLocationSchema } = require('./FacilityLocation');
438
+ const { IdSchema } = require('./Id');
429
439
  const Any = require('./basetypes/Any');
430
440
 
431
441
  const [Number, String] = [
@@ -451,7 +461,7 @@ const DeviceAppliedSchema = DataElementSchema({
451
461
  module.exports.DeviceAppliedSchema = DeviceAppliedSchema;
452
462
  module.exports.DeviceApplied = mongoose.model('DeviceApplied', DeviceAppliedSchema);
453
463
 
454
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],13:[function(require,module,exports){
464
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],13:[function(require,module,exports){
455
465
  const mongoose = require('mongoose');
456
466
  const { DataElementSchema } = require('./basetypes/DataElement');
457
467
  const Code = require('./basetypes/Code');
@@ -460,6 +470,7 @@ const Quantity = require('./basetypes/Quantity');
460
470
  const DateTime = require('./basetypes/DateTime');
461
471
  const { ComponentSchema } = require('./Component');
462
472
  const { FacilityLocationSchema } = require('./FacilityLocation');
473
+ const { IdSchema } = require('./Id');
463
474
  const Any = require('./basetypes/Any');
464
475
 
465
476
  const [Number, String] = [
@@ -482,7 +493,7 @@ const DeviceOrderSchema = DataElementSchema({
482
493
  module.exports.DeviceOrderSchema = DeviceOrderSchema;
483
494
  module.exports.DeviceOrder = mongoose.model('DeviceOrder', DeviceOrderSchema);
484
495
 
485
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],14:[function(require,module,exports){
496
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],14:[function(require,module,exports){
486
497
  const mongoose = require('mongoose');
487
498
  const { DataElementSchema } = require('./basetypes/DataElement');
488
499
  const Code = require('./basetypes/Code');
@@ -491,6 +502,7 @@ const Quantity = require('./basetypes/Quantity');
491
502
  const DateTime = require('./basetypes/DateTime');
492
503
  const { ComponentSchema } = require('./Component');
493
504
  const { FacilityLocationSchema } = require('./FacilityLocation');
505
+ const { IdSchema } = require('./Id');
494
506
  const Any = require('./basetypes/Any');
495
507
 
496
508
  const [Number, String] = [
@@ -513,7 +525,7 @@ const DeviceRecommendedSchema = DataElementSchema({
513
525
  module.exports.DeviceRecommendedSchema = DeviceRecommendedSchema;
514
526
  module.exports.DeviceRecommended = mongoose.model('DeviceRecommended', DeviceRecommendedSchema);
515
527
 
516
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],15:[function(require,module,exports){
528
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],15:[function(require,module,exports){
517
529
  const mongoose = require('mongoose');
518
530
  const { DataElementSchema } = require('./basetypes/DataElement');
519
531
  const Code = require('./basetypes/Code');
@@ -522,6 +534,7 @@ const Quantity = require('./basetypes/Quantity');
522
534
  const DateTime = require('./basetypes/DateTime');
523
535
  const { ComponentSchema } = require('./Component');
524
536
  const { FacilityLocationSchema } = require('./FacilityLocation');
537
+ const { IdSchema } = require('./Id');
525
538
  const Any = require('./basetypes/Any');
526
539
 
527
540
  const [Number, String] = [
@@ -545,7 +558,7 @@ const DiagnosisSchema = DataElementSchema({
545
558
  module.exports.DiagnosisSchema = DiagnosisSchema;
546
559
  module.exports.Diagnosis = mongoose.model('Diagnosis', DiagnosisSchema);
547
560
 
548
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],16:[function(require,module,exports){
561
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],16:[function(require,module,exports){
549
562
  const mongoose = require('mongoose');
550
563
  const { DataElementSchema } = require('./basetypes/DataElement');
551
564
  const Code = require('./basetypes/Code');
@@ -554,6 +567,7 @@ const Quantity = require('./basetypes/Quantity');
554
567
  const DateTime = require('./basetypes/DateTime');
555
568
  const { ComponentSchema } = require('./Component');
556
569
  const { FacilityLocationSchema } = require('./FacilityLocation');
570
+ const { IdSchema } = require('./Id');
557
571
  const Any = require('./basetypes/Any');
558
572
 
559
573
  const [Number, String] = [
@@ -577,7 +591,7 @@ const DiagnosticStudyOrderSchema = DataElementSchema({
577
591
  module.exports.DiagnosticStudyOrderSchema = DiagnosticStudyOrderSchema;
578
592
  module.exports.DiagnosticStudyOrder = mongoose.model('DiagnosticStudyOrder', DiagnosticStudyOrderSchema);
579
593
 
580
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],17:[function(require,module,exports){
594
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],17:[function(require,module,exports){
581
595
  const mongoose = require('mongoose');
582
596
  const { DataElementSchema } = require('./basetypes/DataElement');
583
597
  const Code = require('./basetypes/Code');
@@ -586,6 +600,7 @@ const Quantity = require('./basetypes/Quantity');
586
600
  const DateTime = require('./basetypes/DateTime');
587
601
  const { ComponentSchema } = require('./Component');
588
602
  const { FacilityLocationSchema } = require('./FacilityLocation');
603
+ const { IdSchema } = require('./Id');
589
604
  const Any = require('./basetypes/Any');
590
605
 
591
606
  const [Number, String] = [
@@ -615,7 +630,7 @@ const DiagnosticStudyPerformedSchema = DataElementSchema({
615
630
  module.exports.DiagnosticStudyPerformedSchema = DiagnosticStudyPerformedSchema;
616
631
  module.exports.DiagnosticStudyPerformed = mongoose.model('DiagnosticStudyPerformed', DiagnosticStudyPerformedSchema);
617
632
 
618
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],18:[function(require,module,exports){
633
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],18:[function(require,module,exports){
619
634
  const mongoose = require('mongoose');
620
635
  const { DataElementSchema } = require('./basetypes/DataElement');
621
636
  const Code = require('./basetypes/Code');
@@ -624,6 +639,7 @@ const Quantity = require('./basetypes/Quantity');
624
639
  const DateTime = require('./basetypes/DateTime');
625
640
  const { ComponentSchema } = require('./Component');
626
641
  const { FacilityLocationSchema } = require('./FacilityLocation');
642
+ const { IdSchema } = require('./Id');
627
643
  const Any = require('./basetypes/Any');
628
644
 
629
645
  const [Number, String] = [
@@ -647,7 +663,7 @@ const DiagnosticStudyRecommendedSchema = DataElementSchema({
647
663
  module.exports.DiagnosticStudyRecommendedSchema = DiagnosticStudyRecommendedSchema;
648
664
  module.exports.DiagnosticStudyRecommended = mongoose.model('DiagnosticStudyRecommended', DiagnosticStudyRecommendedSchema);
649
665
 
650
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],19:[function(require,module,exports){
666
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],19:[function(require,module,exports){
651
667
  const mongoose = require('mongoose');
652
668
  const { DataElementSchema } = require('./basetypes/DataElement');
653
669
  const Code = require('./basetypes/Code');
@@ -656,6 +672,7 @@ const Quantity = require('./basetypes/Quantity');
656
672
  const DateTime = require('./basetypes/DateTime');
657
673
  const { ComponentSchema } = require('./Component');
658
674
  const { FacilityLocationSchema } = require('./FacilityLocation');
675
+ const { IdSchema } = require('./Id');
659
676
  const Any = require('./basetypes/Any');
660
677
 
661
678
  const [Number, String] = [
@@ -679,7 +696,7 @@ const EncounterOrderSchema = DataElementSchema({
679
696
  module.exports.EncounterOrderSchema = EncounterOrderSchema;
680
697
  module.exports.EncounterOrder = mongoose.model('EncounterOrder', EncounterOrderSchema);
681
698
 
682
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],20:[function(require,module,exports){
699
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],20:[function(require,module,exports){
683
700
  const mongoose = require('mongoose');
684
701
  const { DataElementSchema } = require('./basetypes/DataElement');
685
702
  const Code = require('./basetypes/Code');
@@ -688,6 +705,7 @@ const Quantity = require('./basetypes/Quantity');
688
705
  const DateTime = require('./basetypes/DateTime');
689
706
  const { ComponentSchema } = require('./Component');
690
707
  const { FacilityLocationSchema } = require('./FacilityLocation');
708
+ const { IdSchema } = require('./Id');
691
709
  const Any = require('./basetypes/Any');
692
710
 
693
711
  const [Number, String] = [
@@ -716,7 +734,7 @@ const EncounterPerformedSchema = DataElementSchema({
716
734
  module.exports.EncounterPerformedSchema = EncounterPerformedSchema;
717
735
  module.exports.EncounterPerformed = mongoose.model('EncounterPerformed', EncounterPerformedSchema);
718
736
 
719
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],21:[function(require,module,exports){
737
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],21:[function(require,module,exports){
720
738
  const mongoose = require('mongoose');
721
739
  const { DataElementSchema } = require('./basetypes/DataElement');
722
740
  const Code = require('./basetypes/Code');
@@ -725,6 +743,7 @@ const Quantity = require('./basetypes/Quantity');
725
743
  const DateTime = require('./basetypes/DateTime');
726
744
  const { ComponentSchema } = require('./Component');
727
745
  const { FacilityLocationSchema } = require('./FacilityLocation');
746
+ const { IdSchema } = require('./Id');
728
747
  const Any = require('./basetypes/Any');
729
748
 
730
749
  const [Number, String] = [
@@ -748,7 +767,7 @@ const EncounterRecommendedSchema = DataElementSchema({
748
767
  module.exports.EncounterRecommendedSchema = EncounterRecommendedSchema;
749
768
  module.exports.EncounterRecommended = mongoose.model('EncounterRecommended', EncounterRecommendedSchema);
750
769
 
751
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],22:[function(require,module,exports){
770
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],22:[function(require,module,exports){
752
771
  const mongoose = require('mongoose');
753
772
  const { DataElementSchema } = require('./basetypes/DataElement');
754
773
  const Code = require('./basetypes/Code');
@@ -757,6 +776,7 @@ const Quantity = require('./basetypes/Quantity');
757
776
  const DateTime = require('./basetypes/DateTime');
758
777
  const { ComponentSchema } = require('./Component');
759
778
 
779
+ const { IdSchema } = require('./Id');
760
780
  const Any = require('./basetypes/Any');
761
781
 
762
782
  const [Number, String] = [
@@ -775,7 +795,7 @@ const FacilityLocationSchema = new mongoose.Schema({
775
795
  module.exports.FacilityLocationSchema = FacilityLocationSchema;
776
796
  module.exports.FacilityLocation = mongoose.model('FacilityLocation', FacilityLocationSchema);
777
797
 
778
- },{"./Component":10,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],23:[function(require,module,exports){
798
+ },{"./Component":10,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],23:[function(require,module,exports){
779
799
  const mongoose = require('mongoose');
780
800
  const { DataElementSchema } = require('./basetypes/DataElement');
781
801
  const Code = require('./basetypes/Code');
@@ -784,6 +804,7 @@ const Quantity = require('./basetypes/Quantity');
784
804
  const DateTime = require('./basetypes/DateTime');
785
805
  const { ComponentSchema } = require('./Component');
786
806
  const { FacilityLocationSchema } = require('./FacilityLocation');
807
+ const { IdSchema } = require('./Id');
787
808
  const Any = require('./basetypes/Any');
788
809
 
789
810
  const [Number, String] = [
@@ -805,34 +826,26 @@ const FamilyHistorySchema = DataElementSchema({
805
826
  module.exports.FamilyHistorySchema = FamilyHistorySchema;
806
827
  module.exports.FamilyHistory = mongoose.model('FamilyHistory', FamilyHistorySchema);
807
828
 
808
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],24:[function(require,module,exports){
829
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],24:[function(require,module,exports){
809
830
  const mongoose = require('mongoose');
810
- const { DataElementSchema } = require('./basetypes/DataElement');
811
- const Code = require('./basetypes/Code');
812
- const Interval = require('./basetypes/Interval');
813
- const Quantity = require('./basetypes/Quantity');
814
- const DateTime = require('./basetypes/DateTime');
815
- const { ComponentSchema } = require('./Component');
816
- const { FacilityLocationSchema } = require('./FacilityLocation');
817
- const Any = require('./basetypes/Any');
818
831
 
819
832
  const [Number, String] = [
820
833
  mongoose.Schema.Types.Number,
821
834
  mongoose.Schema.Types.String,
822
835
  ];
823
836
 
824
- const IdSchema = DataElementSchema({
837
+ const IdSchema = mongoose.Schema({
825
838
  namingSystem: String,
826
839
  value: String,
827
840
  qdmVersion: { type: String, default: '5.3' },
828
841
  _type: { type: String, default: 'Id' },
829
842
 
830
- });
843
+ }, { _id: false, id: false });
831
844
 
832
845
  module.exports.IdSchema = IdSchema;
833
846
  module.exports.Id = mongoose.model('Id', IdSchema);
834
847
 
835
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],25:[function(require,module,exports){
848
+ },{"mongoose":402}],25:[function(require,module,exports){
836
849
  const mongoose = require('mongoose');
837
850
  const { DataElementSchema } = require('./basetypes/DataElement');
838
851
  const Code = require('./basetypes/Code');
@@ -841,6 +854,7 @@ const Quantity = require('./basetypes/Quantity');
841
854
  const DateTime = require('./basetypes/DateTime');
842
855
  const { ComponentSchema } = require('./Component');
843
856
  const { FacilityLocationSchema } = require('./FacilityLocation');
857
+ const { IdSchema } = require('./Id');
844
858
  const Any = require('./basetypes/Any');
845
859
 
846
860
  const [Number, String] = [
@@ -867,7 +881,7 @@ const ImmunizationAdministeredSchema = DataElementSchema({
867
881
  module.exports.ImmunizationAdministeredSchema = ImmunizationAdministeredSchema;
868
882
  module.exports.ImmunizationAdministered = mongoose.model('ImmunizationAdministered', ImmunizationAdministeredSchema);
869
883
 
870
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],26:[function(require,module,exports){
884
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],26:[function(require,module,exports){
871
885
  const mongoose = require('mongoose');
872
886
  const { DataElementSchema } = require('./basetypes/DataElement');
873
887
  const Code = require('./basetypes/Code');
@@ -876,6 +890,7 @@ const Quantity = require('./basetypes/Quantity');
876
890
  const DateTime = require('./basetypes/DateTime');
877
891
  const { ComponentSchema } = require('./Component');
878
892
  const { FacilityLocationSchema } = require('./FacilityLocation');
893
+ const { IdSchema } = require('./Id');
879
894
  const Any = require('./basetypes/Any');
880
895
 
881
896
  const [Number, String] = [
@@ -902,7 +917,7 @@ const ImmunizationOrderSchema = DataElementSchema({
902
917
  module.exports.ImmunizationOrderSchema = ImmunizationOrderSchema;
903
918
  module.exports.ImmunizationOrder = mongoose.model('ImmunizationOrder', ImmunizationOrderSchema);
904
919
 
905
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],27:[function(require,module,exports){
920
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],27:[function(require,module,exports){
906
921
  const mongoose = require('mongoose');
907
922
 
908
923
  const [Number, String, Mixed, ObjectId] = [
@@ -970,6 +985,7 @@ const Quantity = require('./basetypes/Quantity');
970
985
  const DateTime = require('./basetypes/DateTime');
971
986
  const { ComponentSchema } = require('./Component');
972
987
  const { FacilityLocationSchema } = require('./FacilityLocation');
988
+ const { IdSchema } = require('./Id');
973
989
  const Any = require('./basetypes/Any');
974
990
 
975
991
  const [Number, String] = [
@@ -992,7 +1008,7 @@ const InterventionOrderSchema = DataElementSchema({
992
1008
  module.exports.InterventionOrderSchema = InterventionOrderSchema;
993
1009
  module.exports.InterventionOrder = mongoose.model('InterventionOrder', InterventionOrderSchema);
994
1010
 
995
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],29:[function(require,module,exports){
1011
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],29:[function(require,module,exports){
996
1012
  const mongoose = require('mongoose');
997
1013
  const { DataElementSchema } = require('./basetypes/DataElement');
998
1014
  const Code = require('./basetypes/Code');
@@ -1001,6 +1017,7 @@ const Quantity = require('./basetypes/Quantity');
1001
1017
  const DateTime = require('./basetypes/DateTime');
1002
1018
  const { ComponentSchema } = require('./Component');
1003
1019
  const { FacilityLocationSchema } = require('./FacilityLocation');
1020
+ const { IdSchema } = require('./Id');
1004
1021
  const Any = require('./basetypes/Any');
1005
1022
 
1006
1023
  const [Number, String] = [
@@ -1026,7 +1043,7 @@ const InterventionPerformedSchema = DataElementSchema({
1026
1043
  module.exports.InterventionPerformedSchema = InterventionPerformedSchema;
1027
1044
  module.exports.InterventionPerformed = mongoose.model('InterventionPerformed', InterventionPerformedSchema);
1028
1045
 
1029
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],30:[function(require,module,exports){
1046
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],30:[function(require,module,exports){
1030
1047
  const mongoose = require('mongoose');
1031
1048
  const { DataElementSchema } = require('./basetypes/DataElement');
1032
1049
  const Code = require('./basetypes/Code');
@@ -1035,6 +1052,7 @@ const Quantity = require('./basetypes/Quantity');
1035
1052
  const DateTime = require('./basetypes/DateTime');
1036
1053
  const { ComponentSchema } = require('./Component');
1037
1054
  const { FacilityLocationSchema } = require('./FacilityLocation');
1055
+ const { IdSchema } = require('./Id');
1038
1056
  const Any = require('./basetypes/Any');
1039
1057
 
1040
1058
  const [Number, String] = [
@@ -1057,7 +1075,7 @@ const InterventionRecommendedSchema = DataElementSchema({
1057
1075
  module.exports.InterventionRecommendedSchema = InterventionRecommendedSchema;
1058
1076
  module.exports.InterventionRecommended = mongoose.model('InterventionRecommended', InterventionRecommendedSchema);
1059
1077
 
1060
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],31:[function(require,module,exports){
1078
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],31:[function(require,module,exports){
1061
1079
  const mongoose = require('mongoose');
1062
1080
  const { DataElementSchema } = require('./basetypes/DataElement');
1063
1081
  const Code = require('./basetypes/Code');
@@ -1066,6 +1084,7 @@ const Quantity = require('./basetypes/Quantity');
1066
1084
  const DateTime = require('./basetypes/DateTime');
1067
1085
  const { ComponentSchema } = require('./Component');
1068
1086
  const { FacilityLocationSchema } = require('./FacilityLocation');
1087
+ const { IdSchema } = require('./Id');
1069
1088
  const Any = require('./basetypes/Any');
1070
1089
 
1071
1090
  const [Number, String] = [
@@ -1089,7 +1108,7 @@ const LaboratoryTestOrderSchema = DataElementSchema({
1089
1108
  module.exports.LaboratoryTestOrderSchema = LaboratoryTestOrderSchema;
1090
1109
  module.exports.LaboratoryTestOrder = mongoose.model('LaboratoryTestOrder', LaboratoryTestOrderSchema);
1091
1110
 
1092
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],32:[function(require,module,exports){
1111
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],32:[function(require,module,exports){
1093
1112
  const mongoose = require('mongoose');
1094
1113
  const { DataElementSchema } = require('./basetypes/DataElement');
1095
1114
  const Code = require('./basetypes/Code');
@@ -1098,6 +1117,7 @@ const Quantity = require('./basetypes/Quantity');
1098
1117
  const DateTime = require('./basetypes/DateTime');
1099
1118
  const { ComponentSchema } = require('./Component');
1100
1119
  const { FacilityLocationSchema } = require('./FacilityLocation');
1120
+ const { IdSchema } = require('./Id');
1101
1121
  const Any = require('./basetypes/Any');
1102
1122
 
1103
1123
  const [Number, String] = [
@@ -1127,7 +1147,7 @@ const LaboratoryTestPerformedSchema = DataElementSchema({
1127
1147
  module.exports.LaboratoryTestPerformedSchema = LaboratoryTestPerformedSchema;
1128
1148
  module.exports.LaboratoryTestPerformed = mongoose.model('LaboratoryTestPerformed', LaboratoryTestPerformedSchema);
1129
1149
 
1130
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],33:[function(require,module,exports){
1150
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],33:[function(require,module,exports){
1131
1151
  const mongoose = require('mongoose');
1132
1152
  const { DataElementSchema } = require('./basetypes/DataElement');
1133
1153
  const Code = require('./basetypes/Code');
@@ -1136,6 +1156,7 @@ const Quantity = require('./basetypes/Quantity');
1136
1156
  const DateTime = require('./basetypes/DateTime');
1137
1157
  const { ComponentSchema } = require('./Component');
1138
1158
  const { FacilityLocationSchema } = require('./FacilityLocation');
1159
+ const { IdSchema } = require('./Id');
1139
1160
  const Any = require('./basetypes/Any');
1140
1161
 
1141
1162
  const [Number, String] = [
@@ -1159,7 +1180,7 @@ const LaboratoryTestRecommendedSchema = DataElementSchema({
1159
1180
  module.exports.LaboratoryTestRecommendedSchema = LaboratoryTestRecommendedSchema;
1160
1181
  module.exports.LaboratoryTestRecommended = mongoose.model('LaboratoryTestRecommended', LaboratoryTestRecommendedSchema);
1161
1182
 
1162
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],34:[function(require,module,exports){
1183
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],34:[function(require,module,exports){
1163
1184
  const mongoose = require('mongoose');
1164
1185
  const Code = require('./basetypes/Code');
1165
1186
  const Interval = require('./basetypes/Interval');
@@ -1270,6 +1291,7 @@ const Quantity = require('./basetypes/Quantity');
1270
1291
  const DateTime = require('./basetypes/DateTime');
1271
1292
  const { ComponentSchema } = require('./Component');
1272
1293
  const { FacilityLocationSchema } = require('./FacilityLocation');
1294
+ const { IdSchema } = require('./Id');
1273
1295
  const Any = require('./basetypes/Any');
1274
1296
 
1275
1297
  const [Number, String] = [
@@ -1294,7 +1316,7 @@ const MedicationActiveSchema = DataElementSchema({
1294
1316
  module.exports.MedicationActiveSchema = MedicationActiveSchema;
1295
1317
  module.exports.MedicationActive = mongoose.model('MedicationActive', MedicationActiveSchema);
1296
1318
 
1297
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],37:[function(require,module,exports){
1319
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],37:[function(require,module,exports){
1298
1320
  const mongoose = require('mongoose');
1299
1321
  const { DataElementSchema } = require('./basetypes/DataElement');
1300
1322
  const Code = require('./basetypes/Code');
@@ -1303,6 +1325,7 @@ const Quantity = require('./basetypes/Quantity');
1303
1325
  const DateTime = require('./basetypes/DateTime');
1304
1326
  const { ComponentSchema } = require('./Component');
1305
1327
  const { FacilityLocationSchema } = require('./FacilityLocation');
1328
+ const { IdSchema } = require('./Id');
1306
1329
  const Any = require('./basetypes/Any');
1307
1330
 
1308
1331
  const [Number, String] = [
@@ -1330,7 +1353,7 @@ const MedicationAdministeredSchema = DataElementSchema({
1330
1353
  module.exports.MedicationAdministeredSchema = MedicationAdministeredSchema;
1331
1354
  module.exports.MedicationAdministered = mongoose.model('MedicationAdministered', MedicationAdministeredSchema);
1332
1355
 
1333
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],38:[function(require,module,exports){
1356
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],38:[function(require,module,exports){
1334
1357
  const mongoose = require('mongoose');
1335
1358
  const { DataElementSchema } = require('./basetypes/DataElement');
1336
1359
  const Code = require('./basetypes/Code');
@@ -1339,6 +1362,7 @@ const Quantity = require('./basetypes/Quantity');
1339
1362
  const DateTime = require('./basetypes/DateTime');
1340
1363
  const { ComponentSchema } = require('./Component');
1341
1364
  const { FacilityLocationSchema } = require('./FacilityLocation');
1365
+ const { IdSchema } = require('./Id');
1342
1366
  const Any = require('./basetypes/Any');
1343
1367
 
1344
1368
  const [Number, String] = [
@@ -1365,7 +1389,7 @@ const MedicationDischargeSchema = DataElementSchema({
1365
1389
  module.exports.MedicationDischargeSchema = MedicationDischargeSchema;
1366
1390
  module.exports.MedicationDischarge = mongoose.model('MedicationDischarge', MedicationDischargeSchema);
1367
1391
 
1368
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],39:[function(require,module,exports){
1392
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],39:[function(require,module,exports){
1369
1393
  const mongoose = require('mongoose');
1370
1394
  const { DataElementSchema } = require('./basetypes/DataElement');
1371
1395
  const Code = require('./basetypes/Code');
@@ -1374,6 +1398,7 @@ const Quantity = require('./basetypes/Quantity');
1374
1398
  const DateTime = require('./basetypes/DateTime');
1375
1399
  const { ComponentSchema } = require('./Component');
1376
1400
  const { FacilityLocationSchema } = require('./FacilityLocation');
1401
+ const { IdSchema } = require('./Id');
1377
1402
  const Any = require('./basetypes/Any');
1378
1403
 
1379
1404
  const [Number, String] = [
@@ -1401,7 +1426,7 @@ const MedicationDispensedSchema = DataElementSchema({
1401
1426
  module.exports.MedicationDispensedSchema = MedicationDispensedSchema;
1402
1427
  module.exports.MedicationDispensed = mongoose.model('MedicationDispensed', MedicationDispensedSchema);
1403
1428
 
1404
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],40:[function(require,module,exports){
1429
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],40:[function(require,module,exports){
1405
1430
  const mongoose = require('mongoose');
1406
1431
  const { DataElementSchema } = require('./basetypes/DataElement');
1407
1432
  const Code = require('./basetypes/Code');
@@ -1410,6 +1435,7 @@ const Quantity = require('./basetypes/Quantity');
1410
1435
  const DateTime = require('./basetypes/DateTime');
1411
1436
  const { ComponentSchema } = require('./Component');
1412
1437
  const { FacilityLocationSchema } = require('./FacilityLocation');
1438
+ const { IdSchema } = require('./Id');
1413
1439
  const Any = require('./basetypes/Any');
1414
1440
 
1415
1441
  const [Number, String] = [
@@ -1440,7 +1466,7 @@ const MedicationOrderSchema = DataElementSchema({
1440
1466
  module.exports.MedicationOrderSchema = MedicationOrderSchema;
1441
1467
  module.exports.MedicationOrder = mongoose.model('MedicationOrder', MedicationOrderSchema);
1442
1468
 
1443
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],41:[function(require,module,exports){
1469
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],41:[function(require,module,exports){
1444
1470
  const mongoose = require('mongoose');
1445
1471
  const { DataElementSchema } = require('./basetypes/DataElement');
1446
1472
  const Code = require('./basetypes/Code');
@@ -1449,6 +1475,7 @@ const Quantity = require('./basetypes/Quantity');
1449
1475
  const DateTime = require('./basetypes/DateTime');
1450
1476
  const { ComponentSchema } = require('./Component');
1451
1477
  const { FacilityLocationSchema } = require('./FacilityLocation');
1478
+ const { IdSchema } = require('./Id');
1452
1479
  const Any = require('./basetypes/Any');
1453
1480
 
1454
1481
  const [Number, String] = [
@@ -1468,7 +1495,7 @@ const ParticipationSchema = DataElementSchema({
1468
1495
  module.exports.ParticipationSchema = ParticipationSchema;
1469
1496
  module.exports.Participation = mongoose.model('Participation', ParticipationSchema);
1470
1497
 
1471
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],42:[function(require,module,exports){
1498
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],42:[function(require,module,exports){
1472
1499
  const mongoose = require('mongoose');
1473
1500
  const Code = require('./basetypes/Code');
1474
1501
  const Interval = require('./basetypes/Interval');
@@ -1561,15 +1588,11 @@ PatientSchema.methods.getByProfile = function getByProfile(profile, isNegated =
1561
1588
  // If isNegated == null, return all matching data elements by type, regardless of negationRationale.
1562
1589
  const results = this.dataElements.filter(element => element._type === `QDM::${profile}` && (isNegated === null || !!element.negationRationale === isNegated));
1563
1590
  return results.map((result) => {
1564
- const getCodeFunction = Object.getPrototypeOf(result).getCode;
1565
- const codeFunction = Object.getPrototypeOf(result).code;
1566
- const idField = result.id;
1567
1591
  const removedMongooseItems = AllDataElements[profile](result).toObject();
1568
- // toObject() will remove all mongoose functions but also removed the getCode and code functions
1569
- // the execution engine requires the code and getCode functions so we have to add them back
1570
- removedMongooseItems.getCode = getCodeFunction;
1571
- removedMongooseItems.code = codeFunction;
1572
- removedMongooseItems.id = idField;
1592
+ // toObject() will remove all mongoose functions but also remove the schema methods, so we add them back
1593
+ Object.entries(Object.getPrototypeOf(result).schema.methods).forEach(([method_name, method]) => {
1594
+ removedMongooseItems[method_name] = method;
1595
+ });
1573
1596
  return removedMongooseItems;
1574
1597
  });
1575
1598
  };
@@ -1745,6 +1768,7 @@ const Quantity = require('./basetypes/Quantity');
1745
1768
  const DateTime = require('./basetypes/DateTime');
1746
1769
  const { ComponentSchema } = require('./Component');
1747
1770
  const { FacilityLocationSchema } = require('./FacilityLocation');
1771
+ const { IdSchema } = require('./Id');
1748
1772
  const Any = require('./basetypes/Any');
1749
1773
 
1750
1774
  const [Number, String] = [
@@ -1764,7 +1788,7 @@ const PatientCareExperienceSchema = DataElementSchema({
1764
1788
  module.exports.PatientCareExperienceSchema = PatientCareExperienceSchema;
1765
1789
  module.exports.PatientCareExperience = mongoose.model('PatientCareExperience', PatientCareExperienceSchema);
1766
1790
 
1767
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],44:[function(require,module,exports){
1791
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],44:[function(require,module,exports){
1768
1792
  const mongoose = require('mongoose');
1769
1793
  const { DataElementSchema } = require('./basetypes/DataElement');
1770
1794
  const Code = require('./basetypes/Code');
@@ -1773,6 +1797,7 @@ const Quantity = require('./basetypes/Quantity');
1773
1797
  const DateTime = require('./basetypes/DateTime');
1774
1798
  const { ComponentSchema } = require('./Component');
1775
1799
  const { FacilityLocationSchema } = require('./FacilityLocation');
1800
+ const { IdSchema } = require('./Id');
1776
1801
  const Any = require('./basetypes/Any');
1777
1802
 
1778
1803
  const [Number, String] = [
@@ -1792,7 +1817,7 @@ const PatientCharacteristicSchema = DataElementSchema({
1792
1817
  module.exports.PatientCharacteristicSchema = PatientCharacteristicSchema;
1793
1818
  module.exports.PatientCharacteristic = mongoose.model('PatientCharacteristic', PatientCharacteristicSchema);
1794
1819
 
1795
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],45:[function(require,module,exports){
1820
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],45:[function(require,module,exports){
1796
1821
  const mongoose = require('mongoose');
1797
1822
  const { DataElementSchema } = require('./basetypes/DataElement');
1798
1823
  const Code = require('./basetypes/Code');
@@ -1801,6 +1826,7 @@ const Quantity = require('./basetypes/Quantity');
1801
1826
  const DateTime = require('./basetypes/DateTime');
1802
1827
  const { ComponentSchema } = require('./Component');
1803
1828
  const { FacilityLocationSchema } = require('./FacilityLocation');
1829
+ const { IdSchema } = require('./Id');
1804
1830
  const Any = require('./basetypes/Any');
1805
1831
 
1806
1832
  const [Number, String] = [
@@ -1821,7 +1847,7 @@ const PatientCharacteristicBirthdateSchema = DataElementSchema({
1821
1847
  module.exports.PatientCharacteristicBirthdateSchema = PatientCharacteristicBirthdateSchema;
1822
1848
  module.exports.PatientCharacteristicBirthdate = mongoose.model('PatientCharacteristicBirthdate', PatientCharacteristicBirthdateSchema);
1823
1849
 
1824
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],46:[function(require,module,exports){
1850
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],46:[function(require,module,exports){
1825
1851
  const mongoose = require('mongoose');
1826
1852
  const { DataElementSchema } = require('./basetypes/DataElement');
1827
1853
  const Code = require('./basetypes/Code');
@@ -1830,6 +1856,7 @@ const Quantity = require('./basetypes/Quantity');
1830
1856
  const DateTime = require('./basetypes/DateTime');
1831
1857
  const { ComponentSchema } = require('./Component');
1832
1858
  const { FacilityLocationSchema } = require('./FacilityLocation');
1859
+ const { IdSchema } = require('./Id');
1833
1860
  const Any = require('./basetypes/Any');
1834
1861
 
1835
1862
  const [Number, String] = [
@@ -1852,7 +1879,7 @@ const PatientCharacteristicClinicalTrialParticipantSchema = DataElementSchema({
1852
1879
  module.exports.PatientCharacteristicClinicalTrialParticipantSchema = PatientCharacteristicClinicalTrialParticipantSchema;
1853
1880
  module.exports.PatientCharacteristicClinicalTrialParticipant = mongoose.model('PatientCharacteristicClinicalTrialParticipant', PatientCharacteristicClinicalTrialParticipantSchema);
1854
1881
 
1855
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],47:[function(require,module,exports){
1882
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],47:[function(require,module,exports){
1856
1883
  const mongoose = require('mongoose');
1857
1884
  const { DataElementSchema } = require('./basetypes/DataElement');
1858
1885
  const Code = require('./basetypes/Code');
@@ -1861,6 +1888,7 @@ const Quantity = require('./basetypes/Quantity');
1861
1888
  const DateTime = require('./basetypes/DateTime');
1862
1889
  const { ComponentSchema } = require('./Component');
1863
1890
  const { FacilityLocationSchema } = require('./FacilityLocation');
1891
+ const { IdSchema } = require('./Id');
1864
1892
  const Any = require('./basetypes/Any');
1865
1893
 
1866
1894
  const [Number, String] = [
@@ -1880,7 +1908,7 @@ const PatientCharacteristicEthnicitySchema = DataElementSchema({
1880
1908
  module.exports.PatientCharacteristicEthnicitySchema = PatientCharacteristicEthnicitySchema;
1881
1909
  module.exports.PatientCharacteristicEthnicity = mongoose.model('PatientCharacteristicEthnicity', PatientCharacteristicEthnicitySchema);
1882
1910
 
1883
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],48:[function(require,module,exports){
1911
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],48:[function(require,module,exports){
1884
1912
  const mongoose = require('mongoose');
1885
1913
  const { DataElementSchema } = require('./basetypes/DataElement');
1886
1914
  const Code = require('./basetypes/Code');
@@ -1889,6 +1917,7 @@ const Quantity = require('./basetypes/Quantity');
1889
1917
  const DateTime = require('./basetypes/DateTime');
1890
1918
  const { ComponentSchema } = require('./Component');
1891
1919
  const { FacilityLocationSchema } = require('./FacilityLocation');
1920
+ const { IdSchema } = require('./Id');
1892
1921
  const Any = require('./basetypes/Any');
1893
1922
 
1894
1923
  const [Number, String] = [
@@ -1910,7 +1939,7 @@ const PatientCharacteristicExpiredSchema = DataElementSchema({
1910
1939
  module.exports.PatientCharacteristicExpiredSchema = PatientCharacteristicExpiredSchema;
1911
1940
  module.exports.PatientCharacteristicExpired = mongoose.model('PatientCharacteristicExpired', PatientCharacteristicExpiredSchema);
1912
1941
 
1913
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],49:[function(require,module,exports){
1942
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],49:[function(require,module,exports){
1914
1943
  const mongoose = require('mongoose');
1915
1944
  const { DataElementSchema } = require('./basetypes/DataElement');
1916
1945
  const Code = require('./basetypes/Code');
@@ -1919,6 +1948,7 @@ const Quantity = require('./basetypes/Quantity');
1919
1948
  const DateTime = require('./basetypes/DateTime');
1920
1949
  const { ComponentSchema } = require('./Component');
1921
1950
  const { FacilityLocationSchema } = require('./FacilityLocation');
1951
+ const { IdSchema } = require('./Id');
1922
1952
  const Any = require('./basetypes/Any');
1923
1953
 
1924
1954
  const [Number, String] = [
@@ -1939,7 +1969,7 @@ const PatientCharacteristicPayerSchema = DataElementSchema({
1939
1969
  module.exports.PatientCharacteristicPayerSchema = PatientCharacteristicPayerSchema;
1940
1970
  module.exports.PatientCharacteristicPayer = mongoose.model('PatientCharacteristicPayer', PatientCharacteristicPayerSchema);
1941
1971
 
1942
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],50:[function(require,module,exports){
1972
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],50:[function(require,module,exports){
1943
1973
  const mongoose = require('mongoose');
1944
1974
  const { DataElementSchema } = require('./basetypes/DataElement');
1945
1975
  const Code = require('./basetypes/Code');
@@ -1948,6 +1978,7 @@ const Quantity = require('./basetypes/Quantity');
1948
1978
  const DateTime = require('./basetypes/DateTime');
1949
1979
  const { ComponentSchema } = require('./Component');
1950
1980
  const { FacilityLocationSchema } = require('./FacilityLocation');
1981
+ const { IdSchema } = require('./Id');
1951
1982
  const Any = require('./basetypes/Any');
1952
1983
 
1953
1984
  const [Number, String] = [
@@ -1967,7 +1998,7 @@ const PatientCharacteristicRaceSchema = DataElementSchema({
1967
1998
  module.exports.PatientCharacteristicRaceSchema = PatientCharacteristicRaceSchema;
1968
1999
  module.exports.PatientCharacteristicRace = mongoose.model('PatientCharacteristicRace', PatientCharacteristicRaceSchema);
1969
2000
 
1970
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],51:[function(require,module,exports){
2001
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],51:[function(require,module,exports){
1971
2002
  const mongoose = require('mongoose');
1972
2003
  const { DataElementSchema } = require('./basetypes/DataElement');
1973
2004
  const Code = require('./basetypes/Code');
@@ -1976,6 +2007,7 @@ const Quantity = require('./basetypes/Quantity');
1976
2007
  const DateTime = require('./basetypes/DateTime');
1977
2008
  const { ComponentSchema } = require('./Component');
1978
2009
  const { FacilityLocationSchema } = require('./FacilityLocation');
2010
+ const { IdSchema } = require('./Id');
1979
2011
  const Any = require('./basetypes/Any');
1980
2012
 
1981
2013
  const [Number, String] = [
@@ -1995,7 +2027,7 @@ const PatientCharacteristicSexSchema = DataElementSchema({
1995
2027
  module.exports.PatientCharacteristicSexSchema = PatientCharacteristicSexSchema;
1996
2028
  module.exports.PatientCharacteristicSex = mongoose.model('PatientCharacteristicSex', PatientCharacteristicSexSchema);
1997
2029
 
1998
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],52:[function(require,module,exports){
2030
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],52:[function(require,module,exports){
1999
2031
  const mongoose = require('mongoose');
2000
2032
  const { DataElementSchema } = require('./basetypes/DataElement');
2001
2033
  const Code = require('./basetypes/Code');
@@ -2004,6 +2036,7 @@ const Quantity = require('./basetypes/Quantity');
2004
2036
  const DateTime = require('./basetypes/DateTime');
2005
2037
  const { ComponentSchema } = require('./Component');
2006
2038
  const { FacilityLocationSchema } = require('./FacilityLocation');
2039
+ const { IdSchema } = require('./Id');
2007
2040
  const Any = require('./basetypes/Any');
2008
2041
 
2009
2042
  const [Number, String] = [
@@ -2028,7 +2061,7 @@ const PhysicalExamOrderSchema = DataElementSchema({
2028
2061
  module.exports.PhysicalExamOrderSchema = PhysicalExamOrderSchema;
2029
2062
  module.exports.PhysicalExamOrder = mongoose.model('PhysicalExamOrder', PhysicalExamOrderSchema);
2030
2063
 
2031
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],53:[function(require,module,exports){
2064
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],53:[function(require,module,exports){
2032
2065
  const mongoose = require('mongoose');
2033
2066
  const { DataElementSchema } = require('./basetypes/DataElement');
2034
2067
  const Code = require('./basetypes/Code');
@@ -2037,6 +2070,7 @@ const Quantity = require('./basetypes/Quantity');
2037
2070
  const DateTime = require('./basetypes/DateTime');
2038
2071
  const { ComponentSchema } = require('./Component');
2039
2072
  const { FacilityLocationSchema } = require('./FacilityLocation');
2073
+ const { IdSchema } = require('./Id');
2040
2074
  const Any = require('./basetypes/Any');
2041
2075
 
2042
2076
  const [Number, String] = [
@@ -2064,7 +2098,7 @@ const PhysicalExamPerformedSchema = DataElementSchema({
2064
2098
  module.exports.PhysicalExamPerformedSchema = PhysicalExamPerformedSchema;
2065
2099
  module.exports.PhysicalExamPerformed = mongoose.model('PhysicalExamPerformed', PhysicalExamPerformedSchema);
2066
2100
 
2067
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],54:[function(require,module,exports){
2101
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],54:[function(require,module,exports){
2068
2102
  const mongoose = require('mongoose');
2069
2103
  const { DataElementSchema } = require('./basetypes/DataElement');
2070
2104
  const Code = require('./basetypes/Code');
@@ -2073,6 +2107,7 @@ const Quantity = require('./basetypes/Quantity');
2073
2107
  const DateTime = require('./basetypes/DateTime');
2074
2108
  const { ComponentSchema } = require('./Component');
2075
2109
  const { FacilityLocationSchema } = require('./FacilityLocation');
2110
+ const { IdSchema } = require('./Id');
2076
2111
  const Any = require('./basetypes/Any');
2077
2112
 
2078
2113
  const [Number, String] = [
@@ -2097,7 +2132,7 @@ const PhysicalExamRecommendedSchema = DataElementSchema({
2097
2132
  module.exports.PhysicalExamRecommendedSchema = PhysicalExamRecommendedSchema;
2098
2133
  module.exports.PhysicalExamRecommended = mongoose.model('PhysicalExamRecommended', PhysicalExamRecommendedSchema);
2099
2134
 
2100
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],55:[function(require,module,exports){
2135
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],55:[function(require,module,exports){
2101
2136
  const mongoose = require('mongoose');
2102
2137
  const { DataElementSchema } = require('./basetypes/DataElement');
2103
2138
  const Code = require('./basetypes/Code');
@@ -2106,6 +2141,7 @@ const Quantity = require('./basetypes/Quantity');
2106
2141
  const DateTime = require('./basetypes/DateTime');
2107
2142
  const { ComponentSchema } = require('./Component');
2108
2143
  const { FacilityLocationSchema } = require('./FacilityLocation');
2144
+ const { IdSchema } = require('./Id');
2109
2145
  const Any = require('./basetypes/Any');
2110
2146
 
2111
2147
  const [Number, String] = [
@@ -2132,7 +2168,7 @@ const ProcedureOrderSchema = DataElementSchema({
2132
2168
  module.exports.ProcedureOrderSchema = ProcedureOrderSchema;
2133
2169
  module.exports.ProcedureOrder = mongoose.model('ProcedureOrder', ProcedureOrderSchema);
2134
2170
 
2135
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],56:[function(require,module,exports){
2171
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],56:[function(require,module,exports){
2136
2172
  const mongoose = require('mongoose');
2137
2173
  const { DataElementSchema } = require('./basetypes/DataElement');
2138
2174
  const Code = require('./basetypes/Code');
@@ -2141,6 +2177,7 @@ const Quantity = require('./basetypes/Quantity');
2141
2177
  const DateTime = require('./basetypes/DateTime');
2142
2178
  const { ComponentSchema } = require('./Component');
2143
2179
  const { FacilityLocationSchema } = require('./FacilityLocation');
2180
+ const { IdSchema } = require('./Id');
2144
2181
  const Any = require('./basetypes/Any');
2145
2182
 
2146
2183
  const [Number, String] = [
@@ -2172,7 +2209,7 @@ const ProcedurePerformedSchema = DataElementSchema({
2172
2209
  module.exports.ProcedurePerformedSchema = ProcedurePerformedSchema;
2173
2210
  module.exports.ProcedurePerformed = mongoose.model('ProcedurePerformed', ProcedurePerformedSchema);
2174
2211
 
2175
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],57:[function(require,module,exports){
2212
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],57:[function(require,module,exports){
2176
2213
  const mongoose = require('mongoose');
2177
2214
  const { DataElementSchema } = require('./basetypes/DataElement');
2178
2215
  const Code = require('./basetypes/Code');
@@ -2181,6 +2218,7 @@ const Quantity = require('./basetypes/Quantity');
2181
2218
  const DateTime = require('./basetypes/DateTime');
2182
2219
  const { ComponentSchema } = require('./Component');
2183
2220
  const { FacilityLocationSchema } = require('./FacilityLocation');
2221
+ const { IdSchema } = require('./Id');
2184
2222
  const Any = require('./basetypes/Any');
2185
2223
 
2186
2224
  const [Number, String] = [
@@ -2207,7 +2245,7 @@ const ProcedureRecommendedSchema = DataElementSchema({
2207
2245
  module.exports.ProcedureRecommendedSchema = ProcedureRecommendedSchema;
2208
2246
  module.exports.ProcedureRecommended = mongoose.model('ProcedureRecommended', ProcedureRecommendedSchema);
2209
2247
 
2210
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],58:[function(require,module,exports){
2248
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],58:[function(require,module,exports){
2211
2249
  const mongoose = require('mongoose');
2212
2250
  const { DataElementSchema } = require('./basetypes/DataElement');
2213
2251
  const Code = require('./basetypes/Code');
@@ -2216,6 +2254,7 @@ const Quantity = require('./basetypes/Quantity');
2216
2254
  const DateTime = require('./basetypes/DateTime');
2217
2255
  const { ComponentSchema } = require('./Component');
2218
2256
  const { FacilityLocationSchema } = require('./FacilityLocation');
2257
+ const { IdSchema } = require('./Id');
2219
2258
  const Any = require('./basetypes/Any');
2220
2259
 
2221
2260
  const [Number, String] = [
@@ -2235,7 +2274,7 @@ const ProviderCareExperienceSchema = DataElementSchema({
2235
2274
  module.exports.ProviderCareExperienceSchema = ProviderCareExperienceSchema;
2236
2275
  module.exports.ProviderCareExperience = mongoose.model('ProviderCareExperience', ProviderCareExperienceSchema);
2237
2276
 
2238
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],59:[function(require,module,exports){
2277
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],59:[function(require,module,exports){
2239
2278
  const mongoose = require('mongoose');
2240
2279
  const { DataElementSchema } = require('./basetypes/DataElement');
2241
2280
  const Code = require('./basetypes/Code');
@@ -2244,6 +2283,7 @@ const Quantity = require('./basetypes/Quantity');
2244
2283
  const DateTime = require('./basetypes/DateTime');
2245
2284
  const { ComponentSchema } = require('./Component');
2246
2285
  const { FacilityLocationSchema } = require('./FacilityLocation');
2286
+ const { IdSchema } = require('./Id');
2247
2287
  const Any = require('./basetypes/Any');
2248
2288
 
2249
2289
  const [Number, String] = [
@@ -2263,7 +2303,7 @@ const ProviderCharacteristicSchema = DataElementSchema({
2263
2303
  module.exports.ProviderCharacteristicSchema = ProviderCharacteristicSchema;
2264
2304
  module.exports.ProviderCharacteristic = mongoose.model('ProviderCharacteristic', ProviderCharacteristicSchema);
2265
2305
 
2266
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],60:[function(require,module,exports){
2306
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],60:[function(require,module,exports){
2267
2307
  const mongoose = require('mongoose');
2268
2308
  const { DataElementSchema } = require('./basetypes/DataElement');
2269
2309
  const Code = require('./basetypes/Code');
@@ -2272,6 +2312,7 @@ const Quantity = require('./basetypes/Quantity');
2272
2312
  const DateTime = require('./basetypes/DateTime');
2273
2313
  const { ComponentSchema } = require('./Component');
2274
2314
  const { FacilityLocationSchema } = require('./FacilityLocation');
2315
+ const { IdSchema } = require('./Id');
2275
2316
  const Any = require('./basetypes/Any');
2276
2317
 
2277
2318
  const [Number, String] = [
@@ -2290,7 +2331,7 @@ const RatioSchema = DataElementSchema({
2290
2331
  module.exports.RatioSchema = RatioSchema;
2291
2332
  module.exports.Ratio = mongoose.model('Ratio', RatioSchema);
2292
2333
 
2293
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],61:[function(require,module,exports){
2334
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],61:[function(require,module,exports){
2294
2335
  const mongoose = require('mongoose');
2295
2336
 
2296
2337
  const PlaceholderResultSchema = mongoose.Schema({
@@ -2329,6 +2370,7 @@ const Quantity = require('./basetypes/Quantity');
2329
2370
  const DateTime = require('./basetypes/DateTime');
2330
2371
 
2331
2372
  const { FacilityLocationSchema } = require('./FacilityLocation');
2373
+ const { IdSchema } = require('./Id');
2332
2374
  const Any = require('./basetypes/Any');
2333
2375
 
2334
2376
  const [Number, String] = [
@@ -2346,7 +2388,7 @@ const ResultComponentSchema = DataElementSchema({
2346
2388
  module.exports.ResultComponentSchema = ResultComponentSchema;
2347
2389
  module.exports.ResultComponent = mongoose.model('ResultComponent', ResultComponentSchema);
2348
2390
 
2349
- },{"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],63:[function(require,module,exports){
2391
+ },{"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],63:[function(require,module,exports){
2350
2392
  const mongoose = require('mongoose');
2351
2393
  const { DataElementSchema } = require('./basetypes/DataElement');
2352
2394
  const Code = require('./basetypes/Code');
@@ -2355,6 +2397,7 @@ const Quantity = require('./basetypes/Quantity');
2355
2397
  const DateTime = require('./basetypes/DateTime');
2356
2398
  const { ComponentSchema } = require('./Component');
2357
2399
  const { FacilityLocationSchema } = require('./FacilityLocation');
2400
+ const { IdSchema } = require('./Id');
2358
2401
  const Any = require('./basetypes/Any');
2359
2402
 
2360
2403
  const [Number, String] = [
@@ -2381,7 +2424,7 @@ const SubstanceAdministeredSchema = DataElementSchema({
2381
2424
  module.exports.SubstanceAdministeredSchema = SubstanceAdministeredSchema;
2382
2425
  module.exports.SubstanceAdministered = mongoose.model('SubstanceAdministered', SubstanceAdministeredSchema);
2383
2426
 
2384
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],64:[function(require,module,exports){
2427
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],64:[function(require,module,exports){
2385
2428
  const mongoose = require('mongoose');
2386
2429
  const { DataElementSchema } = require('./basetypes/DataElement');
2387
2430
  const Code = require('./basetypes/Code');
@@ -2390,6 +2433,7 @@ const Quantity = require('./basetypes/Quantity');
2390
2433
  const DateTime = require('./basetypes/DateTime');
2391
2434
  const { ComponentSchema } = require('./Component');
2392
2435
  const { FacilityLocationSchema } = require('./FacilityLocation');
2436
+ const { IdSchema } = require('./Id');
2393
2437
  const Any = require('./basetypes/Any');
2394
2438
 
2395
2439
  const [Number, String] = [
@@ -2418,7 +2462,7 @@ const SubstanceOrderSchema = DataElementSchema({
2418
2462
  module.exports.SubstanceOrderSchema = SubstanceOrderSchema;
2419
2463
  module.exports.SubstanceOrder = mongoose.model('SubstanceOrder', SubstanceOrderSchema);
2420
2464
 
2421
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],65:[function(require,module,exports){
2465
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],65:[function(require,module,exports){
2422
2466
  const mongoose = require('mongoose');
2423
2467
  const { DataElementSchema } = require('./basetypes/DataElement');
2424
2468
  const Code = require('./basetypes/Code');
@@ -2427,6 +2471,7 @@ const Quantity = require('./basetypes/Quantity');
2427
2471
  const DateTime = require('./basetypes/DateTime');
2428
2472
  const { ComponentSchema } = require('./Component');
2429
2473
  const { FacilityLocationSchema } = require('./FacilityLocation');
2474
+ const { IdSchema } = require('./Id');
2430
2475
  const Any = require('./basetypes/Any');
2431
2476
 
2432
2477
  const [Number, String] = [
@@ -2455,7 +2500,7 @@ const SubstanceRecommendedSchema = DataElementSchema({
2455
2500
  module.exports.SubstanceRecommendedSchema = SubstanceRecommendedSchema;
2456
2501
  module.exports.SubstanceRecommended = mongoose.model('SubstanceRecommended', SubstanceRecommendedSchema);
2457
2502
 
2458
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],66:[function(require,module,exports){
2503
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],66:[function(require,module,exports){
2459
2504
  const mongoose = require('mongoose');
2460
2505
  const { DataElementSchema } = require('./basetypes/DataElement');
2461
2506
  const Code = require('./basetypes/Code');
@@ -2464,6 +2509,7 @@ const Quantity = require('./basetypes/Quantity');
2464
2509
  const DateTime = require('./basetypes/DateTime');
2465
2510
  const { ComponentSchema } = require('./Component');
2466
2511
  const { FacilityLocationSchema } = require('./FacilityLocation');
2512
+ const { IdSchema } = require('./Id');
2467
2513
  const Any = require('./basetypes/Any');
2468
2514
 
2469
2515
  const [Number, String] = [
@@ -2485,7 +2531,7 @@ const SymptomSchema = DataElementSchema({
2485
2531
  module.exports.SymptomSchema = SymptomSchema;
2486
2532
  module.exports.Symptom = mongoose.model('Symptom', SymptomSchema);
2487
2533
 
2488
- },{"./Component":10,"./FacilityLocation":22,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],67:[function(require,module,exports){
2534
+ },{"./Component":10,"./FacilityLocation":22,"./Id":24,"./basetypes/Any":68,"./basetypes/Code":69,"./basetypes/DataElement":70,"./basetypes/DateTime":71,"./basetypes/Interval":72,"./basetypes/Quantity":73,"mongoose":402}],67:[function(require,module,exports){
2489
2535
  const mongoose = require('mongoose');
2490
2536
  const Concept = require('./Concept.js');
2491
2537
 
@@ -2573,7 +2619,7 @@ function RecursiveCast(any) {
2573
2619
  });
2574
2620
  return casted;
2575
2621
  }
2576
- if (Number.isInteger(any)) {
2622
+ if (Number.isFinite(any)) {
2577
2623
  return any;
2578
2624
  }
2579
2625
  if (Date.parse(any)) {
@@ -2628,6 +2674,7 @@ module.exports = Code;
2628
2674
  const mongoose = require('mongoose');
2629
2675
  const Code = require('./Code.js');
2630
2676
  const cql = require('cql-execution');
2677
+ const Id = require('../Id');
2631
2678
 
2632
2679
  const [Schema] = [mongoose.Schema];
2633
2680
 
@@ -2635,6 +2682,12 @@ function DataElementSchema(add, options) {
2635
2682
  const extended = new Schema({
2636
2683
  dataElementCodes: { type: [] },
2637
2684
  description: { type: String },
2685
+ id: {
2686
+ type: Id.IdSchema,
2687
+ default() {
2688
+ return new Id.Id({ value: (this._id ? this._id.toString() : mongoose.Types.ObjectId().toString()), namingSystem: null });
2689
+ },
2690
+ },
2638
2691
  }, options);
2639
2692
 
2640
2693
  if (add) {
@@ -2662,7 +2715,7 @@ function DataElementSchema(add, options) {
2662
2715
 
2663
2716
  module.exports.DataElementSchema = DataElementSchema;
2664
2717
 
2665
- },{"./Code.js":69,"cql-execution":151,"mongoose":402}],71:[function(require,module,exports){
2718
+ },{"../Id":24,"./Code.js":69,"cql-execution":151,"mongoose":402}],71:[function(require,module,exports){
2666
2719
  const mongoose = require('mongoose');
2667
2720
  const cql = require('cql-execution');
2668
2721