fhir_models 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +0 -1
  4. data/Gemfile.lock +1 -1
  5. data/Rakefile +0 -1
  6. data/fhir_models.gemspec +1 -1
  7. data/lib/fhir/metadata.rb +25 -0
  8. data/lib/fhir/resources/Account.rb +54 -0
  9. data/lib/fhir/resources/AllergyIntolerance.rb +92 -0
  10. data/lib/fhir/resources/Appointment.rb +88 -0
  11. data/lib/fhir/resources/AppointmentResponse.rb +48 -0
  12. data/lib/fhir/resources/AuditEvent.rb +188 -0
  13. data/lib/fhir/resources/Basic.rb +42 -0
  14. data/lib/fhir/resources/Binary.rb +28 -0
  15. data/lib/fhir/resources/BodySite.rb +44 -0
  16. data/lib/fhir/resources/Bundle.rb +154 -0
  17. data/lib/fhir/resources/CarePlan.rb +184 -0
  18. data/lib/fhir/resources/CareTeam.rb +70 -0
  19. data/lib/fhir/resources/Claim.rb +490 -0
  20. data/lib/fhir/resources/ClaimResponse.rb +421 -0
  21. data/lib/fhir/resources/ClinicalImpression.rb +131 -0
  22. data/lib/fhir/resources/CodeSystem.rb +225 -0
  23. data/lib/fhir/resources/Communication.rb +83 -0
  24. data/lib/fhir/resources/CommunicationRequest.rb +90 -0
  25. data/lib/fhir/resources/CompartmentDefinition.rb +98 -0
  26. data/lib/fhir/resources/Composition.rb +136 -0
  27. data/lib/fhir/resources/ConceptMap.rb +168 -0
  28. data/lib/fhir/resources/Condition.rb +126 -0
  29. data/lib/fhir/resources/Conformance.rb +442 -0
  30. data/lib/fhir/resources/Contract.rb +320 -0
  31. data/lib/fhir/resources/Coverage.rb +77 -0
  32. data/lib/fhir/resources/DataElement.rb +104 -0
  33. data/lib/fhir/resources/DecisionSupportRule.rb +42 -0
  34. data/lib/fhir/resources/DecisionSupportServiceModule.rb +40 -0
  35. data/lib/fhir/resources/DetectedIssue.rb +74 -0
  36. data/lib/fhir/resources/Device.rb +64 -0
  37. data/lib/fhir/resources/DeviceComponent.rb +74 -0
  38. data/lib/fhir/resources/DeviceMetric.rb +74 -0
  39. data/lib/fhir/resources/DeviceUseRequest.rb +68 -0
  40. data/lib/fhir/resources/DeviceUseStatement.rb +60 -0
  41. data/lib/fhir/resources/DiagnosticOrder.rb +106 -0
  42. data/lib/fhir/resources/DiagnosticReport.rb +91 -0
  43. data/lib/fhir/resources/DocumentManifest.rb +99 -0
  44. data/lib/fhir/resources/DocumentReference.rb +156 -0
  45. data/lib/fhir/resources/DomainResource.rb +32 -0
  46. data/lib/fhir/resources/EligibilityRequest.rb +90 -0
  47. data/lib/fhir/resources/EligibilityResponse.rb +152 -0
  48. data/lib/fhir/resources/Encounter.rb +172 -0
  49. data/lib/fhir/resources/EnrollmentRequest.rb +52 -0
  50. data/lib/fhir/resources/EnrollmentResponse.rb +52 -0
  51. data/lib/fhir/resources/EpisodeOfCare.rb +74 -0
  52. data/lib/fhir/resources/ExpansionProfile.rb +284 -0
  53. data/lib/fhir/resources/ExplanationOfBenefit.rb +764 -0
  54. data/lib/fhir/resources/FamilyMemberHistory.rb +110 -0
  55. data/lib/fhir/resources/Flag.rb +48 -0
  56. data/lib/fhir/resources/Goal.rb +91 -0
  57. data/lib/fhir/resources/Group.rb +105 -0
  58. data/lib/fhir/resources/GuidanceResponse.rb +139 -0
  59. data/lib/fhir/resources/HealthcareService.rb +122 -0
  60. data/lib/fhir/resources/ImagingExcerpt.rb +210 -0
  61. data/lib/fhir/resources/ImagingObjectSelection.rb +136 -0
  62. data/lib/fhir/resources/ImagingStudy.rb +130 -0
  63. data/lib/fhir/resources/Immunization.rb +148 -0
  64. data/lib/fhir/resources/ImmunizationRecommendation.rb +114 -0
  65. data/lib/fhir/resources/ImplementationGuide.rb +211 -0
  66. data/lib/fhir/resources/Library.rb +145 -0
  67. data/lib/fhir/resources/Linkage.rb +56 -0
  68. data/lib/fhir/resources/List.rb +82 -0
  69. data/lib/fhir/resources/Location.rb +78 -0
  70. data/lib/fhir/resources/Measure.rb +160 -0
  71. data/lib/fhir/resources/MeasureReport.rb +204 -0
  72. data/lib/fhir/resources/Media.rb +56 -0
  73. data/lib/fhir/resources/Medication.rb +154 -0
  74. data/lib/fhir/resources/MedicationAdministration.rb +104 -0
  75. data/lib/fhir/resources/MedicationDispense.rb +141 -0
  76. data/lib/fhir/resources/MedicationOrder.rb +172 -0
  77. data/lib/fhir/resources/MedicationStatement.rb +117 -0
  78. data/lib/fhir/resources/MessageHeader.rb +124 -0
  79. data/lib/fhir/resources/ModuleDefinition.rb +249 -0
  80. data/lib/fhir/resources/NamingSystem.rb +102 -0
  81. data/lib/fhir/resources/NutritionOrder.rb +211 -0
  82. data/lib/fhir/resources/Observation.rb +187 -0
  83. data/lib/fhir/resources/OperationDefinition.rb +153 -0
  84. data/lib/fhir/resources/OperationOutcome.rb +62 -0
  85. data/lib/fhir/resources/Order.rb +73 -0
  86. data/lib/fhir/resources/OrderResponse.rb +46 -0
  87. data/lib/fhir/resources/OrderSet.rb +38 -0
  88. data/lib/fhir/resources/Organization.rb +72 -0
  89. data/lib/fhir/resources/Parameters.rb +117 -0
  90. data/lib/fhir/resources/Patient.rb +166 -0
  91. data/lib/fhir/resources/PaymentNotice.rb +71 -0
  92. data/lib/fhir/resources/PaymentReconciliation.rb +140 -0
  93. data/lib/fhir/resources/Person.rb +72 -0
  94. data/lib/fhir/resources/Practitioner.rb +110 -0
  95. data/lib/fhir/resources/PractitionerRole.rb +102 -0
  96. data/lib/fhir/resources/Procedure.rb +122 -0
  97. data/lib/fhir/resources/ProcedureRequest.rb +73 -0
  98. data/lib/fhir/resources/ProcessRequest.rb +99 -0
  99. data/lib/fhir/resources/ProcessResponse.rb +92 -0
  100. data/lib/fhir/resources/Protocol.rb +242 -0
  101. data/lib/fhir/resources/Provenance.rb +122 -0
  102. data/lib/fhir/resources/Questionnaire.rb +205 -0
  103. data/lib/fhir/resources/QuestionnaireResponse.rb +123 -0
  104. data/lib/fhir/resources/ReferralRequest.rb +68 -0
  105. data/lib/fhir/resources/RelatedPerson.rb +52 -0
  106. data/lib/fhir/resources/Resource.rb +24 -0
  107. data/lib/fhir/resources/RiskAssessment.rb +88 -0
  108. data/lib/fhir/resources/Schedule.rb +46 -0
  109. data/lib/fhir/resources/SearchParameter.rb +86 -0
  110. data/lib/fhir/resources/Sequence.rb +238 -0
  111. data/lib/fhir/resources/Slot.rb +54 -0
  112. data/lib/fhir/resources/Specimen.rb +140 -0
  113. data/lib/fhir/resources/StructureDefinition.rb +164 -0
  114. data/lib/fhir/resources/StructureMap.rb +297 -0
  115. data/lib/fhir/resources/Subscription.rb +72 -0
  116. data/lib/fhir/resources/Substance.rb +86 -0
  117. data/lib/fhir/resources/SupplyDelivery.rb +54 -0
  118. data/lib/fhir/resources/SupplyRequest.rb +77 -0
  119. data/lib/fhir/resources/Task.rb +240 -0
  120. data/lib/fhir/resources/TestScript.rb +692 -0
  121. data/lib/fhir/resources/ValueSet.rb +289 -0
  122. data/lib/fhir/resources/VisionPrescription.rb +97 -0
  123. data/lib/fhir/types/ActionDefinition.rb +109 -0
  124. data/lib/fhir/types/Address.rb +36 -0
  125. data/lib/fhir/types/Annotation.rb +27 -0
  126. data/lib/fhir/types/Attachment.rb +32 -0
  127. data/lib/fhir/types/BackboneElement.rb +18 -0
  128. data/lib/fhir/types/CodeableConcept.rb +20 -0
  129. data/lib/fhir/types/Coding.rb +26 -0
  130. data/lib/fhir/types/ContactPoint.rb +26 -0
  131. data/lib/fhir/types/DataRequirement.rb +78 -0
  132. data/lib/fhir/types/Element.rb +16 -0
  133. data/lib/fhir/types/ElementDefinition.rb +605 -0
  134. data/lib/fhir/types/Extension.rb +87 -0
  135. data/lib/fhir/types/HumanName.rb +30 -0
  136. data/lib/fhir/types/Identifier.rb +28 -0
  137. data/lib/fhir/types/Meta.rb +26 -0
  138. data/lib/fhir/types/ModuleMetadata.rb +152 -0
  139. data/lib/fhir/types/Narrative.rb +20 -0
  140. data/lib/fhir/types/ParameterDefinition.rb +30 -0
  141. data/lib/fhir/types/Period.rb +20 -0
  142. data/lib/fhir/types/Quantity.rb +26 -0
  143. data/lib/fhir/types/Range.rb +20 -0
  144. data/lib/fhir/types/Ratio.rb +20 -0
  145. data/lib/fhir/types/Reference.rb +20 -0
  146. data/lib/fhir/types/SampledData.rb +30 -0
  147. data/lib/fhir/types/Signature.rb +31 -0
  148. data/lib/fhir/types/Timing.rb +69 -0
  149. data/lib/fhir/types/TriggerDefinition.rb +33 -0
  150. data/lib/fhir_models.rb +2 -2
  151. data/lib/tasks/tasks.rake +29 -0
  152. metadata +145 -2
@@ -0,0 +1,145 @@
1
+ module FHIR
2
+ class Library < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["description", "identifier", "status", "title", "topic", "version"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Library.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'Library.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'Library.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'Library.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'Library.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'Library.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'Library.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Library.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'moduleMetadata' => {'type'=>'ModuleMetadata', 'path'=>'Library.moduleMetadata', 'min'=>0, 'max'=>1},
18
+ 'model' => {'type'=>'Library::Model', 'path'=>'Library.model', 'min'=>0, 'max'=>Float::INFINITY},
19
+ 'library' => {'type'=>'Library::Library', 'path'=>'Library.library', 'min'=>0, 'max'=>Float::INFINITY},
20
+ 'codeSystem' => {'type'=>'Library::Codesystem', 'path'=>'Library.codeSystem', 'min'=>0, 'max'=>Float::INFINITY},
21
+ 'valueSet' => {'type'=>'Library::Valueset', 'path'=>'Library.valueSet', 'min'=>0, 'max'=>Float::INFINITY},
22
+ 'parameter' => {'type'=>'ParameterDefinition', 'path'=>'Library.parameter', 'min'=>0, 'max'=>Float::INFINITY},
23
+ 'dataRequirement' => {'type'=>'DataRequirement', 'path'=>'Library.dataRequirement', 'min'=>0, 'max'=>Float::INFINITY},
24
+ 'document' => {'type'=>'Attachment', 'path'=>'Library.document', 'min'=>1, 'max'=>1}
25
+ }
26
+
27
+ class Model < FHIR::Model
28
+ include FHIR::Hashable
29
+ include FHIR::Json
30
+ include FHIR::Xml
31
+
32
+ METADATA = {
33
+ 'id' => {'type'=>'id', 'path'=>'Model.id', 'min'=>0, 'max'=>1},
34
+ 'extension' => {'type'=>'Extension', 'path'=>'Model.extension', 'min'=>0, 'max'=>Float::INFINITY},
35
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Model.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
36
+ 'name' => {'type'=>'string', 'path'=>'Model.name', 'min'=>0, 'max'=>1},
37
+ 'identifier' => {'type'=>'string', 'path'=>'Model.identifier', 'min'=>1, 'max'=>1},
38
+ 'version' => {'type'=>'string', 'path'=>'Model.version', 'min'=>0, 'max'=>1}
39
+ }
40
+
41
+ attr_accessor :id # 0-1 id
42
+ attr_accessor :extension # 0-* [ Extension ]
43
+ attr_accessor :modifierExtension # 0-* [ Extension ]
44
+ attr_accessor :name # 0-1 string
45
+ attr_accessor :identifier # 1-1 string
46
+ attr_accessor :version # 0-1 string
47
+ end
48
+
49
+ class Library < FHIR::Model
50
+ include FHIR::Hashable
51
+ include FHIR::Json
52
+ include FHIR::Xml
53
+
54
+ MULTIPLE_TYPES = {
55
+ 'document' => ['Attachment', 'Reference']
56
+ }
57
+ METADATA = {
58
+ 'id' => {'type'=>'id', 'path'=>'Library.id', 'min'=>0, 'max'=>1},
59
+ 'extension' => {'type'=>'Extension', 'path'=>'Library.extension', 'min'=>0, 'max'=>Float::INFINITY},
60
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Library.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
61
+ 'name' => {'type'=>'string', 'path'=>'Library.name', 'min'=>0, 'max'=>1},
62
+ 'identifier' => {'type'=>'string', 'path'=>'Library.identifier', 'min'=>1, 'max'=>1},
63
+ 'version' => {'type'=>'string', 'path'=>'Library.version', 'min'=>0, 'max'=>1},
64
+ 'documentAttachment' => {'type'=>'Attachment', 'path'=>'Library.document[x]', 'min'=>0, 'max'=>1},
65
+ 'documentReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/ModuleDefinition'], 'type'=>'Reference', 'path'=>'Library.document[x]', 'min'=>0, 'max'=>1}
66
+ }
67
+
68
+ attr_accessor :id # 0-1 id
69
+ attr_accessor :extension # 0-* [ Extension ]
70
+ attr_accessor :modifierExtension # 0-* [ Extension ]
71
+ attr_accessor :name # 0-1 string
72
+ attr_accessor :identifier # 1-1 string
73
+ attr_accessor :version # 0-1 string
74
+ attr_accessor :documentAttachment # 0-1 Attachment
75
+ attr_accessor :documentReference # 0-1 Reference(ModuleDefinition)
76
+ end
77
+
78
+ class Codesystem < FHIR::Model
79
+ include FHIR::Hashable
80
+ include FHIR::Json
81
+ include FHIR::Xml
82
+
83
+ METADATA = {
84
+ 'id' => {'type'=>'id', 'path'=>'Codesystem.id', 'min'=>0, 'max'=>1},
85
+ 'extension' => {'type'=>'Extension', 'path'=>'Codesystem.extension', 'min'=>0, 'max'=>Float::INFINITY},
86
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Codesystem.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
87
+ 'name' => {'type'=>'string', 'path'=>'Codesystem.name', 'min'=>0, 'max'=>1},
88
+ 'identifier' => {'type'=>'string', 'path'=>'Codesystem.identifier', 'min'=>1, 'max'=>1},
89
+ 'version' => {'type'=>'string', 'path'=>'Codesystem.version', 'min'=>0, 'max'=>1}
90
+ }
91
+
92
+ attr_accessor :id # 0-1 id
93
+ attr_accessor :extension # 0-* [ Extension ]
94
+ attr_accessor :modifierExtension # 0-* [ Extension ]
95
+ attr_accessor :name # 0-1 string
96
+ attr_accessor :identifier # 1-1 string
97
+ attr_accessor :version # 0-1 string
98
+ end
99
+
100
+ class Valueset < FHIR::Model
101
+ include FHIR::Hashable
102
+ include FHIR::Json
103
+ include FHIR::Xml
104
+
105
+ METADATA = {
106
+ 'id' => {'type'=>'id', 'path'=>'Valueset.id', 'min'=>0, 'max'=>1},
107
+ 'extension' => {'type'=>'Extension', 'path'=>'Valueset.extension', 'min'=>0, 'max'=>Float::INFINITY},
108
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Valueset.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
109
+ 'name' => {'type'=>'string', 'path'=>'Valueset.name', 'min'=>0, 'max'=>1},
110
+ 'identifier' => {'type'=>'string', 'path'=>'Valueset.identifier', 'min'=>1, 'max'=>1},
111
+ 'version' => {'type'=>'string', 'path'=>'Valueset.version', 'min'=>0, 'max'=>1},
112
+ 'codeSystem' => {'type'=>'string', 'path'=>'Valueset.codeSystem', 'min'=>0, 'max'=>Float::INFINITY}
113
+ }
114
+
115
+ attr_accessor :id # 0-1 id
116
+ attr_accessor :extension # 0-* [ Extension ]
117
+ attr_accessor :modifierExtension # 0-* [ Extension ]
118
+ attr_accessor :name # 0-1 string
119
+ attr_accessor :identifier # 1-1 string
120
+ attr_accessor :version # 0-1 string
121
+ attr_accessor :codeSystem # 0-* [ string ]
122
+ end
123
+
124
+ attr_accessor :id # 0-1 id
125
+ attr_accessor :meta # 0-1 Meta
126
+ attr_accessor :implicitRules # 0-1 uri
127
+ attr_accessor :language # 0-1 code
128
+ attr_accessor :text # 0-1 Narrative
129
+ attr_accessor :contained # 0-* [ Resource ]
130
+ attr_accessor :extension # 0-* [ Extension ]
131
+ attr_accessor :modifierExtension # 0-* [ Extension ]
132
+ attr_accessor :moduleMetadata # 0-1 ModuleMetadata
133
+ attr_accessor :model # 0-* [ Library::Model ]
134
+ attr_accessor :library # 0-* [ Library::Library ]
135
+ attr_accessor :codeSystem # 0-* [ Library::Codesystem ]
136
+ attr_accessor :valueSet # 0-* [ Library::Valueset ]
137
+ attr_accessor :parameter # 0-* [ ParameterDefinition ]
138
+ attr_accessor :dataRequirement # 0-* [ DataRequirement ]
139
+ attr_accessor :document # 1-1 Attachment
140
+
141
+ def resourceType
142
+ 'Library'
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,56 @@
1
+ module FHIR
2
+ class Linkage < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["author", "item", "source"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Linkage.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'Linkage.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'Linkage.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'Linkage.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'Linkage.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'Linkage.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'Linkage.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Linkage.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'author' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Linkage.author', 'min'=>0, 'max'=>1},
18
+ 'item' => {'type'=>'Linkage::Item', 'path'=>'Linkage.item', 'min'=>1, 'max'=>Float::INFINITY}
19
+ }
20
+
21
+ class Item < FHIR::Model
22
+ include FHIR::Hashable
23
+ include FHIR::Json
24
+ include FHIR::Xml
25
+
26
+ METADATA = {
27
+ 'id' => {'type'=>'id', 'path'=>'Item.id', 'min'=>0, 'max'=>1},
28
+ 'extension' => {'type'=>'Extension', 'path'=>'Item.extension', 'min'=>0, 'max'=>Float::INFINITY},
29
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Item.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
30
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/linkage-type'=>['source', 'alternate', 'historical']}, 'type'=>'code', 'path'=>'Item.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/linkage-type'}},
31
+ 'resource' => {'type'=>'Reference', 'path'=>'Item.resource', 'min'=>1, 'max'=>1}
32
+ }
33
+
34
+ attr_accessor :id # 0-1 id
35
+ attr_accessor :extension # 0-* [ Extension ]
36
+ attr_accessor :modifierExtension # 0-* [ Extension ]
37
+ attr_accessor :type # 1-1 code
38
+ attr_accessor :resource # 1-1 Reference()
39
+ end
40
+
41
+ attr_accessor :id # 0-1 id
42
+ attr_accessor :meta # 0-1 Meta
43
+ attr_accessor :implicitRules # 0-1 uri
44
+ attr_accessor :language # 0-1 code
45
+ attr_accessor :text # 0-1 Narrative
46
+ attr_accessor :contained # 0-* [ Resource ]
47
+ attr_accessor :extension # 0-* [ Extension ]
48
+ attr_accessor :modifierExtension # 0-* [ Extension ]
49
+ attr_accessor :author # 0-1 Reference(Practitioner|Organization)
50
+ attr_accessor :item # 1-* [ Linkage::Item ]
51
+
52
+ def resourceType
53
+ 'Linkage'
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,82 @@
1
+ module FHIR
2
+ class List < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["code", "date", "empty-reason", "encounter", "identifier", "item", "notes", "patient", "source", "status", "subject", "title"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'List.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'List.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'List.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'List.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'List.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'List.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'List.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'List.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'identifier' => {'type'=>'Identifier', 'path'=>'List.identifier', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/list-status'=>['current', 'retired', 'entered-in-error']}, 'type'=>'code', 'path'=>'List.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/list-status'}},
19
+ 'mode' => {'valid_codes'=>{'http://hl7.org/fhir/list-mode'=>['working', 'snapshot', 'changes']}, 'type'=>'code', 'path'=>'List.mode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/list-mode'}},
20
+ 'title' => {'type'=>'string', 'path'=>'List.title', 'min'=>0, 'max'=>1},
21
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/list-example-use-codes'=>['alerts', 'adverserxns', 'allergies', 'medications', 'problems', 'worklist', 'waiting', 'protocols', 'plans']}, 'type'=>'CodeableConcept', 'path'=>'List.code', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/list-example-codes'}},
22
+ 'subject' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Location'], 'type'=>'Reference', 'path'=>'List.subject', 'min'=>0, 'max'=>1},
23
+ 'encounter' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Encounter'], 'type'=>'Reference', 'path'=>'List.encounter', 'min'=>0, 'max'=>1},
24
+ 'date' => {'type'=>'dateTime', 'path'=>'List.date', 'min'=>0, 'max'=>1},
25
+ 'source' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Device'], 'type'=>'Reference', 'path'=>'List.source', 'min'=>0, 'max'=>1},
26
+ 'orderedBy' => {'valid_codes'=>{'http://hl7.org/fhir/list-order'=>['user', 'system', 'event-date', 'entry-date', 'priority', 'alphabetic', 'category', 'patient']}, 'type'=>'CodeableConcept', 'path'=>'List.orderedBy', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/list-order'}},
27
+ 'note' => {'type'=>'Annotation', 'path'=>'List.note', 'min'=>0, 'max'=>Float::INFINITY},
28
+ 'entry' => {'type'=>'List::Entry', 'path'=>'List.entry', 'min'=>0, 'max'=>Float::INFINITY},
29
+ 'emptyReason' => {'valid_codes'=>{'http://hl7.org/fhir/list-empty-reason'=>['nilknown', 'notasked', 'withheld', 'unavailable', 'notstarted', 'closed']}, 'type'=>'CodeableConcept', 'path'=>'List.emptyReason', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/list-empty-reason'}}
30
+ }
31
+
32
+ class Entry < FHIR::Model
33
+ include FHIR::Hashable
34
+ include FHIR::Json
35
+ include FHIR::Xml
36
+
37
+ METADATA = {
38
+ 'id' => {'type'=>'id', 'path'=>'Entry.id', 'min'=>0, 'max'=>1},
39
+ 'extension' => {'type'=>'Extension', 'path'=>'Entry.extension', 'min'=>0, 'max'=>Float::INFINITY},
40
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Entry.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
41
+ 'flag' => {'valid_codes'=>{'urn:oid:1.2.36.1.2001.1001.101.104.16592'=>['01', '02', '03', '04', '05', '06']}, 'type'=>'CodeableConcept', 'path'=>'Entry.flag', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/list-item-flag'}},
42
+ 'deleted' => {'type'=>'boolean', 'path'=>'Entry.deleted', 'min'=>0, 'max'=>1},
43
+ 'date' => {'type'=>'dateTime', 'path'=>'Entry.date', 'min'=>0, 'max'=>1},
44
+ 'item' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Entry.item', 'min'=>1, 'max'=>1}
45
+ }
46
+
47
+ attr_accessor :id # 0-1 id
48
+ attr_accessor :extension # 0-* [ Extension ]
49
+ attr_accessor :modifierExtension # 0-* [ Extension ]
50
+ attr_accessor :flag # 0-1 CodeableConcept
51
+ attr_accessor :deleted # 0-1 boolean
52
+ attr_accessor :date # 0-1 dateTime
53
+ attr_accessor :item # 1-1 Reference(Resource)
54
+ end
55
+
56
+ attr_accessor :id # 0-1 id
57
+ attr_accessor :meta # 0-1 Meta
58
+ attr_accessor :implicitRules # 0-1 uri
59
+ attr_accessor :language # 0-1 code
60
+ attr_accessor :text # 0-1 Narrative
61
+ attr_accessor :contained # 0-* [ Resource ]
62
+ attr_accessor :extension # 0-* [ Extension ]
63
+ attr_accessor :modifierExtension # 0-* [ Extension ]
64
+ attr_accessor :identifier # 0-* [ Identifier ]
65
+ attr_accessor :status # 1-1 code
66
+ attr_accessor :mode # 1-1 code
67
+ attr_accessor :title # 0-1 string
68
+ attr_accessor :code # 0-1 CodeableConcept
69
+ attr_accessor :subject # 0-1 Reference(Patient|Group|Device|Location)
70
+ attr_accessor :encounter # 0-1 Reference(Encounter)
71
+ attr_accessor :date # 0-1 dateTime
72
+ attr_accessor :source # 0-1 Reference(Practitioner|Patient|Device)
73
+ attr_accessor :orderedBy # 0-1 CodeableConcept
74
+ attr_accessor :note # 0-* [ Annotation ]
75
+ attr_accessor :entry # 0-* [ List::Entry ]
76
+ attr_accessor :emptyReason # 0-1 CodeableConcept
77
+
78
+ def resourceType
79
+ 'List'
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,78 @@
1
+ module FHIR
2
+ class Location < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["address", "address-city", "address-country", "address-postalcode", "address-state", "address-use", "identifier", "name", "near", "near-distance", "organization", "partof", "status", "type"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Location.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'Location.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'Location.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'Location.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'Location.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'Location.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'Location.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Location.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'identifier' => {'type'=>'Identifier', 'path'=>'Location.identifier', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/location-status'=>['active', 'suspended', 'inactive']}, 'type'=>'code', 'path'=>'Location.status', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/location-status'}},
19
+ 'name' => {'type'=>'string', 'path'=>'Location.name', 'min'=>0, 'max'=>1},
20
+ 'description' => {'type'=>'string', 'path'=>'Location.description', 'min'=>0, 'max'=>1},
21
+ 'mode' => {'valid_codes'=>{'http://hl7.org/fhir/location-mode'=>['instance', 'kind']}, 'type'=>'code', 'path'=>'Location.mode', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/location-mode'}},
22
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/v3/RoleCode'=>['_DedicatedServiceDeliveryLocationRoleType', '_DedicatedClinicalLocationRoleType', 'DX', 'CVDX', 'CATH', 'ECHO', 'GIDX', 'ENDOS', 'RADDX', 'RADO', 'RNEU', 'HOSP', 'CHR', 'GACH', 'MHSP', 'PSYCHF', 'RH', 'RHAT', 'RHII', 'RHMAD', 'RHPI', 'RHPIH', 'RHPIMS', 'RHPIVS', 'RHYAD', 'HU', 'BMTU', 'CCU', 'CHEST', 'EPIL', 'ER', 'ETU', 'HD', 'HLAB', 'INLAB', 'OUTLAB', 'HRAD', 'HUSCS', 'ICU', 'PEDICU', 'PEDNICU', 'INPHARM', 'MBL', 'NCCS', 'NS', 'OUTPHARM', 'PEDU', 'PHU', 'RHU', 'SLEEP', 'NCCF', 'SNF', 'OF', 'ALL', 'AMPUT', 'BMTC', 'BREAST', 'CANC', 'CAPC', 'CARD', 'PEDCARD', 'COAG', 'CRS', 'DERM', 'ENDO', 'PEDE', 'ENT', 'FMC', 'GI', 'PEDGI', 'GIM', 'GYN', 'HEM', 'PEDHEM', 'HTN', 'IEC', 'INFD', 'PEDID', 'INV', 'LYMPH', 'MGEN', 'NEPH', 'PEDNEPH', 'NEUR', 'OB', 'OMS', 'ONCL', 'PEDHO', 'OPH', 'OPTC', 'ORTHO', 'HAND', 'PAINCL', 'PC', 'PEDC', 'PEDRHEUM', 'POD', 'PREV', 'PROCTO', 'PROFF', 'PROS', 'PSI', 'PSY', 'RHEUM', 'SPMED', 'SU', 'PLS', 'URO', 'TR', 'TRAVEL', 'WND', 'RTF', 'PRC', 'SURF', '_DedicatedNonClinicalLocationRoleType', 'DADDR', 'MOBL', 'AMB', 'PHARM', '_IncidentalServiceDeliveryLocationRoleType', 'ACC', 'COMM', 'CSC', 'PTRES', 'SCHOOL', 'UPC', 'WORK']}, 'type'=>'CodeableConcept', 'path'=>'Location.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-ServiceDeliveryLocationRoleType'}},
23
+ 'telecom' => {'type'=>'ContactPoint', 'path'=>'Location.telecom', 'min'=>0, 'max'=>Float::INFINITY},
24
+ 'address' => {'type'=>'Address', 'path'=>'Location.address', 'min'=>0, 'max'=>1},
25
+ 'physicalType' => {'valid_codes'=>{'http://hl7.org/fhir/location-physical-type'=>['bu', 'wi', 'lvl', 'co', 'ro', 'bd', 've', 'ho', 'ca', 'rd', 'jdn', 'area']}, 'type'=>'CodeableConcept', 'path'=>'Location.physicalType', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/location-physical-type'}},
26
+ 'position' => {'type'=>'Location::Position', 'path'=>'Location.position', 'min'=>0, 'max'=>1},
27
+ 'managingOrganization' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Location.managingOrganization', 'min'=>0, 'max'=>1},
28
+ 'partOf' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Location'], 'type'=>'Reference', 'path'=>'Location.partOf', 'min'=>0, 'max'=>1}
29
+ }
30
+
31
+ class Position < FHIR::Model
32
+ include FHIR::Hashable
33
+ include FHIR::Json
34
+ include FHIR::Xml
35
+
36
+ METADATA = {
37
+ 'id' => {'type'=>'id', 'path'=>'Position.id', 'min'=>0, 'max'=>1},
38
+ 'extension' => {'type'=>'Extension', 'path'=>'Position.extension', 'min'=>0, 'max'=>Float::INFINITY},
39
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Position.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
40
+ 'longitude' => {'type'=>'decimal', 'path'=>'Position.longitude', 'min'=>1, 'max'=>1},
41
+ 'latitude' => {'type'=>'decimal', 'path'=>'Position.latitude', 'min'=>1, 'max'=>1},
42
+ 'altitude' => {'type'=>'decimal', 'path'=>'Position.altitude', 'min'=>0, 'max'=>1}
43
+ }
44
+
45
+ attr_accessor :id # 0-1 id
46
+ attr_accessor :extension # 0-* [ Extension ]
47
+ attr_accessor :modifierExtension # 0-* [ Extension ]
48
+ attr_accessor :longitude # 1-1 decimal
49
+ attr_accessor :latitude # 1-1 decimal
50
+ attr_accessor :altitude # 0-1 decimal
51
+ end
52
+
53
+ attr_accessor :id # 0-1 id
54
+ attr_accessor :meta # 0-1 Meta
55
+ attr_accessor :implicitRules # 0-1 uri
56
+ attr_accessor :language # 0-1 code
57
+ attr_accessor :text # 0-1 Narrative
58
+ attr_accessor :contained # 0-* [ Resource ]
59
+ attr_accessor :extension # 0-* [ Extension ]
60
+ attr_accessor :modifierExtension # 0-* [ Extension ]
61
+ attr_accessor :identifier # 0-* [ Identifier ]
62
+ attr_accessor :status # 0-1 code
63
+ attr_accessor :name # 0-1 string
64
+ attr_accessor :description # 0-1 string
65
+ attr_accessor :mode # 0-1 code
66
+ attr_accessor :type # 0-1 CodeableConcept
67
+ attr_accessor :telecom # 0-* [ ContactPoint ]
68
+ attr_accessor :address # 0-1 Address
69
+ attr_accessor :physicalType # 0-1 CodeableConcept
70
+ attr_accessor :position # 0-1 Location::Position
71
+ attr_accessor :managingOrganization # 0-1 Reference(Organization)
72
+ attr_accessor :partOf # 0-1 Reference(Location)
73
+
74
+ def resourceType
75
+ 'Location'
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,160 @@
1
+ module FHIR
2
+ class Measure < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["description", "identifier", "status", "title", "topic", "version"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Measure.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'Measure.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'Measure.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'Measure.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'Measure.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'Measure.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'Measure.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Measure.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'moduleMetadata' => {'type'=>'ModuleMetadata', 'path'=>'Measure.moduleMetadata', 'min'=>0, 'max'=>1},
18
+ 'library' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Library'], 'type'=>'Reference', 'path'=>'Measure.library', 'min'=>0, 'max'=>Float::INFINITY},
19
+ 'disclaimer' => {'type'=>'markdown', 'path'=>'Measure.disclaimer', 'min'=>0, 'max'=>1},
20
+ 'scoring' => {'valid_codes'=>{'http://hl7.org/fhir/measure-scoring'=>['proportion', 'ratio', 'continuous-variable', 'cohort']}, 'type'=>'code', 'path'=>'Measure.scoring', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/measure-scoring'}},
21
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/measure-type'=>['process', 'outcome']}, 'type'=>'code', 'path'=>'Measure.type', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/measure-type'}},
22
+ 'riskAdjustment' => {'type'=>'string', 'path'=>'Measure.riskAdjustment', 'min'=>0, 'max'=>1},
23
+ 'rateAggregation' => {'type'=>'string', 'path'=>'Measure.rateAggregation', 'min'=>0, 'max'=>1},
24
+ 'rationale' => {'type'=>'markdown', 'path'=>'Measure.rationale', 'min'=>0, 'max'=>1},
25
+ 'clinicalRecommendationStatement' => {'type'=>'markdown', 'path'=>'Measure.clinicalRecommendationStatement', 'min'=>0, 'max'=>1},
26
+ 'improvementNotation' => {'type'=>'string', 'path'=>'Measure.improvementNotation', 'min'=>0, 'max'=>1},
27
+ 'definition' => {'type'=>'markdown', 'path'=>'Measure.definition', 'min'=>0, 'max'=>1},
28
+ 'guidance' => {'type'=>'markdown', 'path'=>'Measure.guidance', 'min'=>0, 'max'=>1},
29
+ 'set' => {'type'=>'string', 'path'=>'Measure.set', 'min'=>0, 'max'=>1},
30
+ 'group' => {'type'=>'Measure::Group', 'path'=>'Measure.group', 'min'=>0, 'max'=>Float::INFINITY},
31
+ 'supplementalData' => {'type'=>'Measure::Supplementaldata', 'path'=>'Measure.supplementalData', 'min'=>0, 'max'=>Float::INFINITY}
32
+ }
33
+
34
+ class Group < FHIR::Model
35
+ include FHIR::Hashable
36
+ include FHIR::Json
37
+ include FHIR::Xml
38
+
39
+ METADATA = {
40
+ 'id' => {'type'=>'id', 'path'=>'Group.id', 'min'=>0, 'max'=>1},
41
+ 'extension' => {'type'=>'Extension', 'path'=>'Group.extension', 'min'=>0, 'max'=>Float::INFINITY},
42
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Group.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
43
+ 'identifier' => {'type'=>'Identifier', 'path'=>'Group.identifier', 'min'=>1, 'max'=>1},
44
+ 'name' => {'type'=>'string', 'path'=>'Group.name', 'min'=>0, 'max'=>1},
45
+ 'description' => {'type'=>'string', 'path'=>'Group.description', 'min'=>0, 'max'=>1},
46
+ 'population' => {'type'=>'Measure::Group::Population', 'path'=>'Group.population', 'min'=>0, 'max'=>Float::INFINITY},
47
+ 'stratifier' => {'type'=>'Measure::Group::Stratifier', 'path'=>'Group.stratifier', 'min'=>0, 'max'=>Float::INFINITY}
48
+ }
49
+
50
+ class Population < FHIR::Model
51
+ include FHIR::Hashable
52
+ include FHIR::Json
53
+ include FHIR::Xml
54
+
55
+ METADATA = {
56
+ 'id' => {'type'=>'id', 'path'=>'Population.id', 'min'=>0, 'max'=>1},
57
+ 'extension' => {'type'=>'Extension', 'path'=>'Population.extension', 'min'=>0, 'max'=>Float::INFINITY},
58
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Population.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
59
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/measure-population'=>['initial-population', 'numerator', 'numerator-exclusion', 'denominator', 'denominator-exclusion', 'denominator-exception', 'measure-population', 'measure-population-exclusion', 'measure-score']}, 'type'=>'code', 'path'=>'Population.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/measure-population'}},
60
+ 'identifier' => {'type'=>'Identifier', 'path'=>'Population.identifier', 'min'=>1, 'max'=>1},
61
+ 'name' => {'type'=>'string', 'path'=>'Population.name', 'min'=>0, 'max'=>1},
62
+ 'description' => {'type'=>'string', 'path'=>'Population.description', 'min'=>0, 'max'=>1},
63
+ 'criteria' => {'type'=>'string', 'path'=>'Population.criteria', 'min'=>1, 'max'=>1}
64
+ }
65
+
66
+ attr_accessor :id # 0-1 id
67
+ attr_accessor :extension # 0-* [ Extension ]
68
+ attr_accessor :modifierExtension # 0-* [ Extension ]
69
+ attr_accessor :type # 1-1 code
70
+ attr_accessor :identifier # 1-1 Identifier
71
+ attr_accessor :name # 0-1 string
72
+ attr_accessor :description # 0-1 string
73
+ attr_accessor :criteria # 1-1 string
74
+ end
75
+
76
+ class Stratifier < FHIR::Model
77
+ include FHIR::Hashable
78
+ include FHIR::Json
79
+ include FHIR::Xml
80
+
81
+ METADATA = {
82
+ 'id' => {'type'=>'id', 'path'=>'Stratifier.id', 'min'=>0, 'max'=>1},
83
+ 'extension' => {'type'=>'Extension', 'path'=>'Stratifier.extension', 'min'=>0, 'max'=>Float::INFINITY},
84
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Stratifier.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
85
+ 'identifier' => {'type'=>'Identifier', 'path'=>'Stratifier.identifier', 'min'=>1, 'max'=>1},
86
+ 'criteria' => {'type'=>'string', 'path'=>'Stratifier.criteria', 'min'=>0, 'max'=>1},
87
+ 'path' => {'type'=>'string', 'path'=>'Stratifier.path', 'min'=>0, 'max'=>1}
88
+ }
89
+
90
+ attr_accessor :id # 0-1 id
91
+ attr_accessor :extension # 0-* [ Extension ]
92
+ attr_accessor :modifierExtension # 0-* [ Extension ]
93
+ attr_accessor :identifier # 1-1 Identifier
94
+ attr_accessor :criteria # 0-1 string
95
+ attr_accessor :path # 0-1 string
96
+ end
97
+
98
+ attr_accessor :id # 0-1 id
99
+ attr_accessor :extension # 0-* [ Extension ]
100
+ attr_accessor :modifierExtension # 0-* [ Extension ]
101
+ attr_accessor :identifier # 1-1 Identifier
102
+ attr_accessor :name # 0-1 string
103
+ attr_accessor :description # 0-1 string
104
+ attr_accessor :population # 0-* [ Measure::Group::Population ]
105
+ attr_accessor :stratifier # 0-* [ Measure::Group::Stratifier ]
106
+ end
107
+
108
+ class Supplementaldata < FHIR::Model
109
+ include FHIR::Hashable
110
+ include FHIR::Json
111
+ include FHIR::Xml
112
+
113
+ METADATA = {
114
+ 'id' => {'type'=>'id', 'path'=>'Supplementaldata.id', 'min'=>0, 'max'=>1},
115
+ 'extension' => {'type'=>'Extension', 'path'=>'Supplementaldata.extension', 'min'=>0, 'max'=>Float::INFINITY},
116
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Supplementaldata.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
117
+ 'identifier' => {'type'=>'Identifier', 'path'=>'Supplementaldata.identifier', 'min'=>1, 'max'=>1},
118
+ 'usage' => {'valid_codes'=>{'http://hl7.org/fhir/measure-data-usage'=>['supplemental-data', 'risk-adjustment-factor']}, 'type'=>'code', 'path'=>'Supplementaldata.usage', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/measure-data-usage'}},
119
+ 'criteria' => {'type'=>'string', 'path'=>'Supplementaldata.criteria', 'min'=>0, 'max'=>1},
120
+ 'path' => {'type'=>'string', 'path'=>'Supplementaldata.path', 'min'=>0, 'max'=>1}
121
+ }
122
+
123
+ attr_accessor :id # 0-1 id
124
+ attr_accessor :extension # 0-* [ Extension ]
125
+ attr_accessor :modifierExtension # 0-* [ Extension ]
126
+ attr_accessor :identifier # 1-1 Identifier
127
+ attr_accessor :usage # 0-* [ code ]
128
+ attr_accessor :criteria # 0-1 string
129
+ attr_accessor :path # 0-1 string
130
+ end
131
+
132
+ attr_accessor :id # 0-1 id
133
+ attr_accessor :meta # 0-1 Meta
134
+ attr_accessor :implicitRules # 0-1 uri
135
+ attr_accessor :language # 0-1 code
136
+ attr_accessor :text # 0-1 Narrative
137
+ attr_accessor :contained # 0-* [ Resource ]
138
+ attr_accessor :extension # 0-* [ Extension ]
139
+ attr_accessor :modifierExtension # 0-* [ Extension ]
140
+ attr_accessor :moduleMetadata # 0-1 ModuleMetadata
141
+ attr_accessor :library # 0-* [ Reference(Library) ]
142
+ attr_accessor :disclaimer # 0-1 markdown
143
+ attr_accessor :scoring # 0-1 code
144
+ attr_accessor :type # 0-* [ code ]
145
+ attr_accessor :riskAdjustment # 0-1 string
146
+ attr_accessor :rateAggregation # 0-1 string
147
+ attr_accessor :rationale # 0-1 markdown
148
+ attr_accessor :clinicalRecommendationStatement # 0-1 markdown
149
+ attr_accessor :improvementNotation # 0-1 string
150
+ attr_accessor :definition # 0-1 markdown
151
+ attr_accessor :guidance # 0-1 markdown
152
+ attr_accessor :set # 0-1 string
153
+ attr_accessor :group # 0-* [ Measure::Group ]
154
+ attr_accessor :supplementalData # 0-* [ Measure::Supplementaldata ]
155
+
156
+ def resourceType
157
+ 'Measure'
158
+ end
159
+ end
160
+ end