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,168 @@
1
+ module FHIR
2
+ class ConceptMap < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ MULTIPLE_TYPES = {
8
+ 'source' => ['uri', 'Reference'],
9
+ 'target' => ['uri', 'Reference']
10
+ }
11
+ SEARCH_PARAMS = ["context", "date", "dependson", "description", "identifier", "name", "product", "publisher", "source", "source-code", "source-system", "source-uri", "status", "target", "target-code", "target-system", "url", "version"]
12
+ METADATA = {
13
+ 'id' => {'type'=>'id', 'path'=>'ConceptMap.id', 'min'=>0, 'max'=>1},
14
+ 'meta' => {'type'=>'Meta', 'path'=>'ConceptMap.meta', 'min'=>0, 'max'=>1},
15
+ 'implicitRules' => {'type'=>'uri', 'path'=>'ConceptMap.implicitRules', 'min'=>0, 'max'=>1},
16
+ 'language' => {'type'=>'code', 'path'=>'ConceptMap.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
17
+ 'text' => {'type'=>'Narrative', 'path'=>'ConceptMap.text', 'min'=>0, 'max'=>1},
18
+ 'contained' => {'type'=>'Resource', 'path'=>'ConceptMap.contained', 'min'=>0, 'max'=>Float::INFINITY},
19
+ 'extension' => {'type'=>'Extension', 'path'=>'ConceptMap.extension', 'min'=>0, 'max'=>Float::INFINITY},
20
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'ConceptMap.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
21
+ 'url' => {'type'=>'uri', 'path'=>'ConceptMap.url', 'min'=>0, 'max'=>1},
22
+ 'identifier' => {'type'=>'Identifier', 'path'=>'ConceptMap.identifier', 'min'=>0, 'max'=>1},
23
+ 'version' => {'type'=>'string', 'path'=>'ConceptMap.version', 'min'=>0, 'max'=>1},
24
+ 'name' => {'type'=>'string', 'path'=>'ConceptMap.name', 'min'=>0, 'max'=>1},
25
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/conformance-resource-status'=>['draft', 'active', 'retired']}, 'type'=>'code', 'path'=>'ConceptMap.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conformance-resource-status'}},
26
+ 'experimental' => {'type'=>'boolean', 'path'=>'ConceptMap.experimental', 'min'=>0, 'max'=>1},
27
+ 'publisher' => {'type'=>'string', 'path'=>'ConceptMap.publisher', 'min'=>0, 'max'=>1},
28
+ 'contact' => {'type'=>'ConceptMap::Contact', 'path'=>'ConceptMap.contact', 'min'=>0, 'max'=>Float::INFINITY},
29
+ 'date' => {'type'=>'dateTime', 'path'=>'ConceptMap.date', 'min'=>0, 'max'=>1},
30
+ 'description' => {'type'=>'string', 'path'=>'ConceptMap.description', 'min'=>0, 'max'=>1},
31
+ 'useContext' => {'type'=>'CodeableConcept', 'path'=>'ConceptMap.useContext', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/use-context'}},
32
+ 'requirements' => {'type'=>'string', 'path'=>'ConceptMap.requirements', 'min'=>0, 'max'=>1},
33
+ 'copyright' => {'type'=>'string', 'path'=>'ConceptMap.copyright', 'min'=>0, 'max'=>1},
34
+ 'sourceUri' => {'type'=>'uri', 'path'=>'ConceptMap.source[x]', 'min'=>1, 'max'=>1},
35
+ 'sourceReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/ValueSet', 'http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'ConceptMap.source[x]', 'min'=>1, 'max'=>1},
36
+ 'targetUri' => {'type'=>'uri', 'path'=>'ConceptMap.target[x]', 'min'=>1, 'max'=>1},
37
+ 'targetReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/ValueSet', 'http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'ConceptMap.target[x]', 'min'=>1, 'max'=>1},
38
+ 'element' => {'type'=>'ConceptMap::Element', 'path'=>'ConceptMap.element', 'min'=>0, 'max'=>Float::INFINITY}
39
+ }
40
+
41
+ class Contact < FHIR::Model
42
+ include FHIR::Hashable
43
+ include FHIR::Json
44
+ include FHIR::Xml
45
+
46
+ METADATA = {
47
+ 'id' => {'type'=>'id', 'path'=>'Contact.id', 'min'=>0, 'max'=>1},
48
+ 'extension' => {'type'=>'Extension', 'path'=>'Contact.extension', 'min'=>0, 'max'=>Float::INFINITY},
49
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Contact.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
50
+ 'name' => {'type'=>'string', 'path'=>'Contact.name', 'min'=>0, 'max'=>1},
51
+ 'telecom' => {'type'=>'ContactPoint', 'path'=>'Contact.telecom', 'min'=>0, 'max'=>Float::INFINITY}
52
+ }
53
+
54
+ attr_accessor :id # 0-1 id
55
+ attr_accessor :extension # 0-* [ Extension ]
56
+ attr_accessor :modifierExtension # 0-* [ Extension ]
57
+ attr_accessor :name # 0-1 string
58
+ attr_accessor :telecom # 0-* [ ContactPoint ]
59
+ end
60
+
61
+ class Element < FHIR::Model
62
+ include FHIR::Hashable
63
+ include FHIR::Json
64
+ include FHIR::Xml
65
+
66
+ METADATA = {
67
+ 'id' => {'type'=>'id', 'path'=>'Element.id', 'min'=>0, 'max'=>1},
68
+ 'extension' => {'type'=>'Extension', 'path'=>'Element.extension', 'min'=>0, 'max'=>Float::INFINITY},
69
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Element.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
70
+ 'system' => {'type'=>'uri', 'path'=>'Element.system', 'min'=>0, 'max'=>1},
71
+ 'version' => {'type'=>'string', 'path'=>'Element.version', 'min'=>0, 'max'=>1},
72
+ 'code' => {'type'=>'code', 'path'=>'Element.code', 'min'=>0, 'max'=>1},
73
+ 'target' => {'type'=>'ConceptMap::Element::Target', 'path'=>'Element.target', 'min'=>0, 'max'=>Float::INFINITY}
74
+ }
75
+
76
+ class Target < FHIR::Model
77
+ include FHIR::Hashable
78
+ include FHIR::Json
79
+ include FHIR::Xml
80
+
81
+ METADATA = {
82
+ 'id' => {'type'=>'id', 'path'=>'Target.id', 'min'=>0, 'max'=>1},
83
+ 'extension' => {'type'=>'Extension', 'path'=>'Target.extension', 'min'=>0, 'max'=>Float::INFINITY},
84
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Target.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
85
+ 'system' => {'type'=>'uri', 'path'=>'Target.system', 'min'=>0, 'max'=>1},
86
+ 'version' => {'type'=>'string', 'path'=>'Target.version', 'min'=>0, 'max'=>1},
87
+ 'code' => {'type'=>'code', 'path'=>'Target.code', 'min'=>0, 'max'=>1},
88
+ 'equivalence' => {'valid_codes'=>{'http://hl7.org/fhir/concept-map-equivalence'=>['equivalent', 'equal', 'wider', 'subsumes', 'narrower', 'specializes', 'inexact', 'unmatched', 'disjoint']}, 'type'=>'code', 'path'=>'Target.equivalence', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/concept-map-equivalence'}},
89
+ 'comments' => {'type'=>'string', 'path'=>'Target.comments', 'min'=>0, 'max'=>1},
90
+ 'dependsOn' => {'type'=>'ConceptMap::Element::Target::Dependson', 'path'=>'Target.dependsOn', 'min'=>0, 'max'=>Float::INFINITY},
91
+ 'product' => {'type'=>'ConceptMap::Element::Target::Dependson', 'path'=>'Target.product', 'min'=>0, 'max'=>Float::INFINITY}
92
+ }
93
+
94
+ class Dependson < FHIR::Model
95
+ include FHIR::Hashable
96
+ include FHIR::Json
97
+ include FHIR::Xml
98
+
99
+ METADATA = {
100
+ 'id' => {'type'=>'id', 'path'=>'Dependson.id', 'min'=>0, 'max'=>1},
101
+ 'extension' => {'type'=>'Extension', 'path'=>'Dependson.extension', 'min'=>0, 'max'=>Float::INFINITY},
102
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Dependson.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
103
+ 'element' => {'type'=>'uri', 'path'=>'Dependson.element', 'min'=>1, 'max'=>1},
104
+ 'system' => {'type'=>'uri', 'path'=>'Dependson.system', 'min'=>1, 'max'=>1},
105
+ 'code' => {'type'=>'string', 'path'=>'Dependson.code', 'min'=>1, 'max'=>1}
106
+ }
107
+
108
+ attr_accessor :id # 0-1 id
109
+ attr_accessor :extension # 0-* [ Extension ]
110
+ attr_accessor :modifierExtension # 0-* [ Extension ]
111
+ attr_accessor :element # 1-1 uri
112
+ attr_accessor :system # 1-1 uri
113
+ attr_accessor :code # 1-1 string
114
+ end
115
+
116
+ attr_accessor :id # 0-1 id
117
+ attr_accessor :extension # 0-* [ Extension ]
118
+ attr_accessor :modifierExtension # 0-* [ Extension ]
119
+ attr_accessor :system # 0-1 uri
120
+ attr_accessor :version # 0-1 string
121
+ attr_accessor :code # 0-1 code
122
+ attr_accessor :equivalence # 1-1 code
123
+ attr_accessor :comments # 0-1 string
124
+ attr_accessor :dependsOn # 0-* [ ConceptMap::Element::Target::Dependson ]
125
+ attr_accessor :product # 0-* [ ConceptMap::Element::Target::Dependson ]
126
+ end
127
+
128
+ attr_accessor :id # 0-1 id
129
+ attr_accessor :extension # 0-* [ Extension ]
130
+ attr_accessor :modifierExtension # 0-* [ Extension ]
131
+ attr_accessor :system # 0-1 uri
132
+ attr_accessor :version # 0-1 string
133
+ attr_accessor :code # 0-1 code
134
+ attr_accessor :target # 0-* [ ConceptMap::Element::Target ]
135
+ end
136
+
137
+ attr_accessor :id # 0-1 id
138
+ attr_accessor :meta # 0-1 Meta
139
+ attr_accessor :implicitRules # 0-1 uri
140
+ attr_accessor :language # 0-1 code
141
+ attr_accessor :text # 0-1 Narrative
142
+ attr_accessor :contained # 0-* [ Resource ]
143
+ attr_accessor :extension # 0-* [ Extension ]
144
+ attr_accessor :modifierExtension # 0-* [ Extension ]
145
+ attr_accessor :url # 0-1 uri
146
+ attr_accessor :identifier # 0-1 Identifier
147
+ attr_accessor :version # 0-1 string
148
+ attr_accessor :name # 0-1 string
149
+ attr_accessor :status # 1-1 code
150
+ attr_accessor :experimental # 0-1 boolean
151
+ attr_accessor :publisher # 0-1 string
152
+ attr_accessor :contact # 0-* [ ConceptMap::Contact ]
153
+ attr_accessor :date # 0-1 dateTime
154
+ attr_accessor :description # 0-1 string
155
+ attr_accessor :useContext # 0-* [ CodeableConcept ]
156
+ attr_accessor :requirements # 0-1 string
157
+ attr_accessor :copyright # 0-1 string
158
+ attr_accessor :sourceUri # 1-1 uri
159
+ attr_accessor :sourceReference # 1-1 Reference(ValueSet|StructureDefinition)
160
+ attr_accessor :targetUri # 1-1 uri
161
+ attr_accessor :targetReference # 1-1 Reference(ValueSet|StructureDefinition)
162
+ attr_accessor :element # 0-* [ ConceptMap::Element ]
163
+
164
+ def resourceType
165
+ 'ConceptMap'
166
+ end
167
+ end
168
+ end