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,148 @@
1
+ module FHIR
2
+ class Immunization < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["date", "dose-sequence", "identifier", "location", "lot-number", "manufacturer", "notgiven", "patient", "performer", "reaction", "reaction-date", "reason", "reason-not-given", "requester", "status", "vaccine-code"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Immunization.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'Immunization.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'Immunization.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'Immunization.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'Immunization.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'Immunization.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'Immunization.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Immunization.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'identifier' => {'type'=>'Identifier', 'path'=>'Immunization.identifier', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/medication-admin-status'=>['in-progress', 'on-hold', 'completed', 'entered-in-error', 'stopped']}, 'type'=>'code', 'path'=>'Immunization.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/medication-admin-status'}},
19
+ 'date' => {'type'=>'dateTime', 'path'=>'Immunization.date', 'min'=>0, 'max'=>1},
20
+ 'vaccineCode' => {'type'=>'CodeableConcept', 'path'=>'Immunization.vaccineCode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/vaccine-code'}},
21
+ 'patient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'Immunization.patient', 'min'=>1, 'max'=>1},
22
+ 'wasNotGiven' => {'type'=>'boolean', 'path'=>'Immunization.wasNotGiven', 'min'=>1, 'max'=>1},
23
+ 'reported' => {'type'=>'boolean', 'path'=>'Immunization.reported', 'min'=>1, 'max'=>1},
24
+ 'performer' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'Immunization.performer', 'min'=>0, 'max'=>1},
25
+ 'requester' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'Immunization.requester', 'min'=>0, 'max'=>1},
26
+ 'encounter' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Encounter'], 'type'=>'Reference', 'path'=>'Immunization.encounter', 'min'=>0, 'max'=>1},
27
+ 'manufacturer' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Immunization.manufacturer', 'min'=>0, 'max'=>1},
28
+ 'location' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Location'], 'type'=>'Reference', 'path'=>'Immunization.location', 'min'=>0, 'max'=>1},
29
+ 'lotNumber' => {'type'=>'string', 'path'=>'Immunization.lotNumber', 'min'=>0, 'max'=>1},
30
+ 'expirationDate' => {'type'=>'date', 'path'=>'Immunization.expirationDate', 'min'=>0, 'max'=>1},
31
+ 'site' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ActSite'=>['LA', 'RA']}, 'type'=>'CodeableConcept', 'path'=>'Immunization.site', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/immunization-site'}},
32
+ 'route' => {'valid_codes'=>{'http://hl7.org/fhir/v3/RouteOfAdministration'=>['IM', 'PO', 'NASINHL']}, 'type'=>'CodeableConcept', 'path'=>'Immunization.route', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/immunization-route'}},
33
+ 'doseQuantity' => {'type'=>'Quantity', 'path'=>'Immunization.doseQuantity', 'min'=>0, 'max'=>1},
34
+ 'note' => {'type'=>'Annotation', 'path'=>'Immunization.note', 'min'=>0, 'max'=>Float::INFINITY},
35
+ 'explanation' => {'type'=>'Immunization::Explanation', 'path'=>'Immunization.explanation', 'min'=>0, 'max'=>1},
36
+ 'reaction' => {'type'=>'Immunization::Reaction', 'path'=>'Immunization.reaction', 'min'=>0, 'max'=>Float::INFINITY},
37
+ 'vaccinationProtocol' => {'type'=>'Immunization::Vaccinationprotocol', 'path'=>'Immunization.vaccinationProtocol', 'min'=>0, 'max'=>Float::INFINITY}
38
+ }
39
+
40
+ class Explanation < FHIR::Model
41
+ include FHIR::Hashable
42
+ include FHIR::Json
43
+ include FHIR::Xml
44
+
45
+ METADATA = {
46
+ 'id' => {'type'=>'id', 'path'=>'Explanation.id', 'min'=>0, 'max'=>1},
47
+ 'extension' => {'type'=>'Extension', 'path'=>'Explanation.extension', 'min'=>0, 'max'=>Float::INFINITY},
48
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Explanation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
49
+ 'reason' => {'valid_codes'=>{'http://snomed.info/sct'=>['429060002', '281657000']}, 'type'=>'CodeableConcept', 'path'=>'Explanation.reason', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/immunization-reason'}},
50
+ 'reasonNotGiven' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ActReason'=>['IMMUNE', 'MEDPREC', 'OSTOCK', 'PATOBJ'], 'http://snomed.info/sct'=>['171257003', '171265000', '171266004', '171267008', '171268003', '171269006', '171270007', '171271006', '171272004', '171280006', '171283008', '171285001', '171286000', '171291004', '171292006', '171293001', '268559007', '310839003', '310840001', '314768003', '314769006', '314936001', '407598009']}, 'type'=>'CodeableConcept', 'path'=>'Explanation.reasonNotGiven', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/no-immunization-reason'}}
51
+ }
52
+
53
+ attr_accessor :id # 0-1 id
54
+ attr_accessor :extension # 0-* [ Extension ]
55
+ attr_accessor :modifierExtension # 0-* [ Extension ]
56
+ attr_accessor :reason # 0-* [ CodeableConcept ]
57
+ attr_accessor :reasonNotGiven # 0-* [ CodeableConcept ]
58
+ end
59
+
60
+ class Reaction < FHIR::Model
61
+ include FHIR::Hashable
62
+ include FHIR::Json
63
+ include FHIR::Xml
64
+
65
+ METADATA = {
66
+ 'id' => {'type'=>'id', 'path'=>'Reaction.id', 'min'=>0, 'max'=>1},
67
+ 'extension' => {'type'=>'Extension', 'path'=>'Reaction.extension', 'min'=>0, 'max'=>Float::INFINITY},
68
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Reaction.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
69
+ 'date' => {'type'=>'dateTime', 'path'=>'Reaction.date', 'min'=>0, 'max'=>1},
70
+ 'detail' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Observation'], 'type'=>'Reference', 'path'=>'Reaction.detail', 'min'=>0, 'max'=>1},
71
+ 'reported' => {'type'=>'boolean', 'path'=>'Reaction.reported', 'min'=>0, 'max'=>1}
72
+ }
73
+
74
+ attr_accessor :id # 0-1 id
75
+ attr_accessor :extension # 0-* [ Extension ]
76
+ attr_accessor :modifierExtension # 0-* [ Extension ]
77
+ attr_accessor :date # 0-1 dateTime
78
+ attr_accessor :detail # 0-1 Reference(Observation)
79
+ attr_accessor :reported # 0-1 boolean
80
+ end
81
+
82
+ class Vaccinationprotocol < FHIR::Model
83
+ include FHIR::Hashable
84
+ include FHIR::Json
85
+ include FHIR::Xml
86
+
87
+ METADATA = {
88
+ 'id' => {'type'=>'id', 'path'=>'Vaccinationprotocol.id', 'min'=>0, 'max'=>1},
89
+ 'extension' => {'type'=>'Extension', 'path'=>'Vaccinationprotocol.extension', 'min'=>0, 'max'=>Float::INFINITY},
90
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Vaccinationprotocol.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
91
+ 'doseSequence' => {'type'=>'positiveInt', 'path'=>'Vaccinationprotocol.doseSequence', 'min'=>1, 'max'=>1},
92
+ 'description' => {'type'=>'string', 'path'=>'Vaccinationprotocol.description', 'min'=>0, 'max'=>1},
93
+ 'authority' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Vaccinationprotocol.authority', 'min'=>0, 'max'=>1},
94
+ 'series' => {'type'=>'string', 'path'=>'Vaccinationprotocol.series', 'min'=>0, 'max'=>1},
95
+ 'seriesDoses' => {'type'=>'positiveInt', 'path'=>'Vaccinationprotocol.seriesDoses', 'min'=>0, 'max'=>1},
96
+ 'targetDisease' => {'valid_codes'=>{'http://snomed.info/sct'=>['1857005', '397430003', '14189004', '36989005', '36653000', '76902006', '709410003', '27836007', '398102009']}, 'type'=>'CodeableConcept', 'path'=>'Vaccinationprotocol.targetDisease', 'min'=>1, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-target'}},
97
+ 'doseStatus' => {'valid_codes'=>{'http://hl7.org/fhir/vaccination-protocol-dose-status'=>['count', 'nocount']}, 'type'=>'CodeableConcept', 'path'=>'Vaccinationprotocol.doseStatus', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-status'}},
98
+ 'doseStatusReason' => {'valid_codes'=>{'http://hl7.org/fhir/vaccination-protocol-dose-status-reason'=>['advstorage', 'coldchbrk', 'explot', 'outsidesched', 'prodrecall']}, 'type'=>'CodeableConcept', 'path'=>'Vaccinationprotocol.doseStatusReason', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-status-reason'}}
99
+ }
100
+
101
+ attr_accessor :id # 0-1 id
102
+ attr_accessor :extension # 0-* [ Extension ]
103
+ attr_accessor :modifierExtension # 0-* [ Extension ]
104
+ attr_accessor :doseSequence # 1-1 positiveInt
105
+ attr_accessor :description # 0-1 string
106
+ attr_accessor :authority # 0-1 Reference(Organization)
107
+ attr_accessor :series # 0-1 string
108
+ attr_accessor :seriesDoses # 0-1 positiveInt
109
+ attr_accessor :targetDisease # 1-* [ CodeableConcept ]
110
+ attr_accessor :doseStatus # 1-1 CodeableConcept
111
+ attr_accessor :doseStatusReason # 0-1 CodeableConcept
112
+ end
113
+
114
+ attr_accessor :id # 0-1 id
115
+ attr_accessor :meta # 0-1 Meta
116
+ attr_accessor :implicitRules # 0-1 uri
117
+ attr_accessor :language # 0-1 code
118
+ attr_accessor :text # 0-1 Narrative
119
+ attr_accessor :contained # 0-* [ Resource ]
120
+ attr_accessor :extension # 0-* [ Extension ]
121
+ attr_accessor :modifierExtension # 0-* [ Extension ]
122
+ attr_accessor :identifier # 0-* [ Identifier ]
123
+ attr_accessor :status # 1-1 code
124
+ attr_accessor :date # 0-1 dateTime
125
+ attr_accessor :vaccineCode # 1-1 CodeableConcept
126
+ attr_accessor :patient # 1-1 Reference(Patient)
127
+ attr_accessor :wasNotGiven # 1-1 boolean
128
+ attr_accessor :reported # 1-1 boolean
129
+ attr_accessor :performer # 0-1 Reference(Practitioner)
130
+ attr_accessor :requester # 0-1 Reference(Practitioner)
131
+ attr_accessor :encounter # 0-1 Reference(Encounter)
132
+ attr_accessor :manufacturer # 0-1 Reference(Organization)
133
+ attr_accessor :location # 0-1 Reference(Location)
134
+ attr_accessor :lotNumber # 0-1 string
135
+ attr_accessor :expirationDate # 0-1 date
136
+ attr_accessor :site # 0-1 CodeableConcept
137
+ attr_accessor :route # 0-1 CodeableConcept
138
+ attr_accessor :doseQuantity # 0-1 Quantity
139
+ attr_accessor :note # 0-* [ Annotation ]
140
+ attr_accessor :explanation # 0-1 Immunization::Explanation
141
+ attr_accessor :reaction # 0-* [ Immunization::Reaction ]
142
+ attr_accessor :vaccinationProtocol # 0-* [ Immunization::Vaccinationprotocol ]
143
+
144
+ def resourceType
145
+ 'Immunization'
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,114 @@
1
+ module FHIR
2
+ class ImmunizationRecommendation < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["date", "dose-number", "dose-sequence", "identifier", "information", "patient", "status", "support", "vaccine-type"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'ImmunizationRecommendation.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'ImmunizationRecommendation.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'ImmunizationRecommendation.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'ImmunizationRecommendation.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'ImmunizationRecommendation.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'ImmunizationRecommendation.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'ImmunizationRecommendation.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'ImmunizationRecommendation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'identifier' => {'type'=>'Identifier', 'path'=>'ImmunizationRecommendation.identifier', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'patient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'ImmunizationRecommendation.patient', 'min'=>1, 'max'=>1},
19
+ 'recommendation' => {'type'=>'ImmunizationRecommendation::Recommendation', 'path'=>'ImmunizationRecommendation.recommendation', 'min'=>1, 'max'=>Float::INFINITY}
20
+ }
21
+
22
+ class Recommendation < FHIR::Model
23
+ include FHIR::Hashable
24
+ include FHIR::Json
25
+ include FHIR::Xml
26
+
27
+ METADATA = {
28
+ 'id' => {'type'=>'id', 'path'=>'Recommendation.id', 'min'=>0, 'max'=>1},
29
+ 'extension' => {'type'=>'Extension', 'path'=>'Recommendation.extension', 'min'=>0, 'max'=>Float::INFINITY},
30
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Recommendation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
31
+ 'date' => {'type'=>'dateTime', 'path'=>'Recommendation.date', 'min'=>1, 'max'=>1},
32
+ 'vaccineCode' => {'type'=>'CodeableConcept', 'path'=>'Recommendation.vaccineCode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/vaccine-code'}},
33
+ 'doseNumber' => {'type'=>'positiveInt', 'path'=>'Recommendation.doseNumber', 'min'=>0, 'max'=>1},
34
+ 'forecastStatus' => {'valid_codes'=>{'http://hl7.org/fhir/immunization-recommendation-status'=>['due', 'overdue']}, 'type'=>'CodeableConcept', 'path'=>'Recommendation.forecastStatus', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/immunization-recommendation-status'}},
35
+ 'dateCriterion' => {'type'=>'ImmunizationRecommendation::Recommendation::Datecriterion', 'path'=>'Recommendation.dateCriterion', 'min'=>0, 'max'=>Float::INFINITY},
36
+ 'protocol' => {'type'=>'ImmunizationRecommendation::Recommendation::Protocol', 'path'=>'Recommendation.protocol', 'min'=>0, 'max'=>1},
37
+ 'supportingImmunization' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Immunization'], 'type'=>'Reference', 'path'=>'Recommendation.supportingImmunization', 'min'=>0, 'max'=>Float::INFINITY},
38
+ 'supportingPatientInformation' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Observation', 'http://hl7.org/fhir/StructureDefinition/AllergyIntolerance'], 'type'=>'Reference', 'path'=>'Recommendation.supportingPatientInformation', 'min'=>0, 'max'=>Float::INFINITY}
39
+ }
40
+
41
+ class Datecriterion < FHIR::Model
42
+ include FHIR::Hashable
43
+ include FHIR::Json
44
+ include FHIR::Xml
45
+
46
+ METADATA = {
47
+ 'id' => {'type'=>'id', 'path'=>'Datecriterion.id', 'min'=>0, 'max'=>1},
48
+ 'extension' => {'type'=>'Extension', 'path'=>'Datecriterion.extension', 'min'=>0, 'max'=>Float::INFINITY},
49
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Datecriterion.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
50
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/immunization-recommendation-date-criterion'=>['due', 'recommended', 'earliest', 'overdue', 'latest']}, 'type'=>'CodeableConcept', 'path'=>'Datecriterion.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion'}},
51
+ 'value' => {'type'=>'dateTime', 'path'=>'Datecriterion.value', 'min'=>1, 'max'=>1}
52
+ }
53
+
54
+ attr_accessor :id # 0-1 id
55
+ attr_accessor :extension # 0-* [ Extension ]
56
+ attr_accessor :modifierExtension # 0-* [ Extension ]
57
+ attr_accessor :code # 1-1 CodeableConcept
58
+ attr_accessor :value # 1-1 dateTime
59
+ end
60
+
61
+ class Protocol < FHIR::Model
62
+ include FHIR::Hashable
63
+ include FHIR::Json
64
+ include FHIR::Xml
65
+
66
+ METADATA = {
67
+ 'id' => {'type'=>'id', 'path'=>'Protocol.id', 'min'=>0, 'max'=>1},
68
+ 'extension' => {'type'=>'Extension', 'path'=>'Protocol.extension', 'min'=>0, 'max'=>Float::INFINITY},
69
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Protocol.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
70
+ 'doseSequence' => {'type'=>'integer', 'path'=>'Protocol.doseSequence', 'min'=>0, 'max'=>1},
71
+ 'description' => {'type'=>'string', 'path'=>'Protocol.description', 'min'=>0, 'max'=>1},
72
+ 'authority' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Protocol.authority', 'min'=>0, 'max'=>1},
73
+ 'series' => {'type'=>'string', 'path'=>'Protocol.series', 'min'=>0, 'max'=>1}
74
+ }
75
+
76
+ attr_accessor :id # 0-1 id
77
+ attr_accessor :extension # 0-* [ Extension ]
78
+ attr_accessor :modifierExtension # 0-* [ Extension ]
79
+ attr_accessor :doseSequence # 0-1 integer
80
+ attr_accessor :description # 0-1 string
81
+ attr_accessor :authority # 0-1 Reference(Organization)
82
+ attr_accessor :series # 0-1 string
83
+ end
84
+
85
+ attr_accessor :id # 0-1 id
86
+ attr_accessor :extension # 0-* [ Extension ]
87
+ attr_accessor :modifierExtension # 0-* [ Extension ]
88
+ attr_accessor :date # 1-1 dateTime
89
+ attr_accessor :vaccineCode # 1-1 CodeableConcept
90
+ attr_accessor :doseNumber # 0-1 positiveInt
91
+ attr_accessor :forecastStatus # 1-1 CodeableConcept
92
+ attr_accessor :dateCriterion # 0-* [ ImmunizationRecommendation::Recommendation::Datecriterion ]
93
+ attr_accessor :protocol # 0-1 ImmunizationRecommendation::Recommendation::Protocol
94
+ attr_accessor :supportingImmunization # 0-* [ Reference(Immunization) ]
95
+ attr_accessor :supportingPatientInformation # 0-* [ Reference(Observation|AllergyIntolerance) ]
96
+ end
97
+
98
+ attr_accessor :id # 0-1 id
99
+ attr_accessor :meta # 0-1 Meta
100
+ attr_accessor :implicitRules # 0-1 uri
101
+ attr_accessor :language # 0-1 code
102
+ attr_accessor :text # 0-1 Narrative
103
+ attr_accessor :contained # 0-* [ Resource ]
104
+ attr_accessor :extension # 0-* [ Extension ]
105
+ attr_accessor :modifierExtension # 0-* [ Extension ]
106
+ attr_accessor :identifier # 0-* [ Identifier ]
107
+ attr_accessor :patient # 1-1 Reference(Patient)
108
+ attr_accessor :recommendation # 1-* [ ImmunizationRecommendation::Recommendation ]
109
+
110
+ def resourceType
111
+ 'ImmunizationRecommendation'
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,211 @@
1
+ module FHIR
2
+ class ImplementationGuide < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["context", "date", "dependency", "description", "experimental", "name", "publisher", "resource", "status", "url", "version"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'ImplementationGuide.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'ImplementationGuide.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'ImplementationGuide.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'ImplementationGuide.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'ImplementationGuide.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'ImplementationGuide.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'ImplementationGuide.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'ImplementationGuide.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'url' => {'type'=>'uri', 'path'=>'ImplementationGuide.url', 'min'=>1, 'max'=>1},
18
+ 'version' => {'type'=>'string', 'path'=>'ImplementationGuide.version', 'min'=>0, 'max'=>1},
19
+ 'name' => {'type'=>'string', 'path'=>'ImplementationGuide.name', 'min'=>1, 'max'=>1},
20
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/conformance-resource-status'=>['draft', 'active', 'retired']}, 'type'=>'code', 'path'=>'ImplementationGuide.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conformance-resource-status'}},
21
+ 'experimental' => {'type'=>'boolean', 'path'=>'ImplementationGuide.experimental', 'min'=>0, 'max'=>1},
22
+ 'publisher' => {'type'=>'string', 'path'=>'ImplementationGuide.publisher', 'min'=>0, 'max'=>1},
23
+ 'contact' => {'type'=>'ImplementationGuide::Contact', 'path'=>'ImplementationGuide.contact', 'min'=>0, 'max'=>Float::INFINITY},
24
+ 'date' => {'type'=>'dateTime', 'path'=>'ImplementationGuide.date', 'min'=>0, 'max'=>1},
25
+ 'description' => {'type'=>'string', 'path'=>'ImplementationGuide.description', 'min'=>0, 'max'=>1},
26
+ 'useContext' => {'type'=>'CodeableConcept', 'path'=>'ImplementationGuide.useContext', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/use-context'}},
27
+ 'copyright' => {'type'=>'string', 'path'=>'ImplementationGuide.copyright', 'min'=>0, 'max'=>1},
28
+ 'fhirVersion' => {'type'=>'id', 'path'=>'ImplementationGuide.fhirVersion', 'min'=>0, 'max'=>1},
29
+ 'dependency' => {'type'=>'ImplementationGuide::Dependency', 'path'=>'ImplementationGuide.dependency', 'min'=>0, 'max'=>Float::INFINITY},
30
+ 'package' => {'type'=>'ImplementationGuide::Package', 'path'=>'ImplementationGuide.package', 'min'=>1, 'max'=>Float::INFINITY},
31
+ 'global' => {'type'=>'ImplementationGuide::Global', 'path'=>'ImplementationGuide.global', 'min'=>0, 'max'=>Float::INFINITY},
32
+ 'binary' => {'type'=>'uri', 'path'=>'ImplementationGuide.binary', 'min'=>0, 'max'=>Float::INFINITY},
33
+ 'page' => {'type'=>'ImplementationGuide::Page', 'path'=>'ImplementationGuide.page', 'min'=>1, 'max'=>1}
34
+ }
35
+
36
+ class Contact < FHIR::Model
37
+ include FHIR::Hashable
38
+ include FHIR::Json
39
+ include FHIR::Xml
40
+
41
+ METADATA = {
42
+ 'id' => {'type'=>'id', 'path'=>'Contact.id', 'min'=>0, 'max'=>1},
43
+ 'extension' => {'type'=>'Extension', 'path'=>'Contact.extension', 'min'=>0, 'max'=>Float::INFINITY},
44
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Contact.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
45
+ 'name' => {'type'=>'string', 'path'=>'Contact.name', 'min'=>0, 'max'=>1},
46
+ 'telecom' => {'type'=>'ContactPoint', 'path'=>'Contact.telecom', 'min'=>0, 'max'=>Float::INFINITY}
47
+ }
48
+
49
+ attr_accessor :id # 0-1 id
50
+ attr_accessor :extension # 0-* [ Extension ]
51
+ attr_accessor :modifierExtension # 0-* [ Extension ]
52
+ attr_accessor :name # 0-1 string
53
+ attr_accessor :telecom # 0-* [ ContactPoint ]
54
+ end
55
+
56
+ class Dependency < FHIR::Model
57
+ include FHIR::Hashable
58
+ include FHIR::Json
59
+ include FHIR::Xml
60
+
61
+ METADATA = {
62
+ 'id' => {'type'=>'id', 'path'=>'Dependency.id', 'min'=>0, 'max'=>1},
63
+ 'extension' => {'type'=>'Extension', 'path'=>'Dependency.extension', 'min'=>0, 'max'=>Float::INFINITY},
64
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Dependency.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
65
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/guide-dependency-type'=>['reference', 'inclusion']}, 'type'=>'code', 'path'=>'Dependency.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/guide-dependency-type'}},
66
+ 'uri' => {'type'=>'uri', 'path'=>'Dependency.uri', 'min'=>1, 'max'=>1}
67
+ }
68
+
69
+ attr_accessor :id # 0-1 id
70
+ attr_accessor :extension # 0-* [ Extension ]
71
+ attr_accessor :modifierExtension # 0-* [ Extension ]
72
+ attr_accessor :type # 1-1 code
73
+ attr_accessor :uri # 1-1 uri
74
+ end
75
+
76
+ class Package < FHIR::Model
77
+ include FHIR::Hashable
78
+ include FHIR::Json
79
+ include FHIR::Xml
80
+
81
+ METADATA = {
82
+ 'id' => {'type'=>'id', 'path'=>'Package.id', 'min'=>0, 'max'=>1},
83
+ 'extension' => {'type'=>'Extension', 'path'=>'Package.extension', 'min'=>0, 'max'=>Float::INFINITY},
84
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Package.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
85
+ 'name' => {'type'=>'string', 'path'=>'Package.name', 'min'=>1, 'max'=>1},
86
+ 'description' => {'type'=>'string', 'path'=>'Package.description', 'min'=>0, 'max'=>1},
87
+ 'resource' => {'type'=>'ImplementationGuide::Package::Resource', 'path'=>'Package.resource', 'min'=>1, 'max'=>Float::INFINITY}
88
+ }
89
+
90
+ class Resource < FHIR::Model
91
+ include FHIR::Hashable
92
+ include FHIR::Json
93
+ include FHIR::Xml
94
+
95
+ MULTIPLE_TYPES = {
96
+ 'source' => ['uri', 'Reference']
97
+ }
98
+ METADATA = {
99
+ 'id' => {'type'=>'id', 'path'=>'Resource.id', 'min'=>0, 'max'=>1},
100
+ 'extension' => {'type'=>'Extension', 'path'=>'Resource.extension', 'min'=>0, 'max'=>Float::INFINITY},
101
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Resource.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
102
+ 'example' => {'type'=>'boolean', 'path'=>'Resource.example', 'min'=>1, 'max'=>1},
103
+ 'name' => {'type'=>'string', 'path'=>'Resource.name', 'min'=>0, 'max'=>1},
104
+ 'description' => {'type'=>'string', 'path'=>'Resource.description', 'min'=>0, 'max'=>1},
105
+ 'acronym' => {'type'=>'string', 'path'=>'Resource.acronym', 'min'=>0, 'max'=>1},
106
+ 'sourceUri' => {'type'=>'uri', 'path'=>'Resource.source[x]', 'min'=>1, 'max'=>1},
107
+ 'sourceReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Resource.source[x]', 'min'=>1, 'max'=>1},
108
+ 'exampleFor' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Resource.exampleFor', 'min'=>0, 'max'=>1}
109
+ }
110
+
111
+ attr_accessor :id # 0-1 id
112
+ attr_accessor :extension # 0-* [ Extension ]
113
+ attr_accessor :modifierExtension # 0-* [ Extension ]
114
+ attr_accessor :example # 1-1 boolean
115
+ attr_accessor :name # 0-1 string
116
+ attr_accessor :description # 0-1 string
117
+ attr_accessor :acronym # 0-1 string
118
+ attr_accessor :sourceUri # 1-1 uri
119
+ attr_accessor :sourceReference # 1-1 Reference(Resource)
120
+ attr_accessor :exampleFor # 0-1 Reference(StructureDefinition)
121
+ end
122
+
123
+ attr_accessor :id # 0-1 id
124
+ attr_accessor :extension # 0-* [ Extension ]
125
+ attr_accessor :modifierExtension # 0-* [ Extension ]
126
+ attr_accessor :name # 1-1 string
127
+ attr_accessor :description # 0-1 string
128
+ attr_accessor :resource # 1-* [ ImplementationGuide::Package::Resource ]
129
+ end
130
+
131
+ class Global < FHIR::Model
132
+ include FHIR::Hashable
133
+ include FHIR::Json
134
+ include FHIR::Xml
135
+
136
+ METADATA = {
137
+ 'id' => {'type'=>'id', 'path'=>'Global.id', 'min'=>0, 'max'=>1},
138
+ 'extension' => {'type'=>'Extension', 'path'=>'Global.extension', 'min'=>0, 'max'=>Float::INFINITY},
139
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Global.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
140
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/resource-types'=>['Account', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'CodeSystem', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportRule', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticOrder', 'DiagnosticReport', 'DocumentManifest', 'DocumentReference', 'DomainResource', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingExcerpt', 'ImagingObjectSelection', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'ModuleDefinition', 'NamingSystem', 'NutritionOrder', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Order', 'OrderResponse', 'OrderSet', 'Organization', 'Parameters', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Protocol', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'Resource', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'ValueSet', 'VisionPrescription']}, 'type'=>'code', 'path'=>'Global.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/resource-types'}},
141
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Global.profile', 'min'=>1, 'max'=>1}
142
+ }
143
+
144
+ attr_accessor :id # 0-1 id
145
+ attr_accessor :extension # 0-* [ Extension ]
146
+ attr_accessor :modifierExtension # 0-* [ Extension ]
147
+ attr_accessor :type # 1-1 code
148
+ attr_accessor :profile # 1-1 Reference(StructureDefinition)
149
+ end
150
+
151
+ class Page < FHIR::Model
152
+ include FHIR::Hashable
153
+ include FHIR::Json
154
+ include FHIR::Xml
155
+
156
+ METADATA = {
157
+ 'id' => {'type'=>'id', 'path'=>'Page.id', 'min'=>0, 'max'=>1},
158
+ 'extension' => {'type'=>'Extension', 'path'=>'Page.extension', 'min'=>0, 'max'=>Float::INFINITY},
159
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Page.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
160
+ 'source' => {'type'=>'uri', 'path'=>'Page.source', 'min'=>1, 'max'=>1},
161
+ 'name' => {'type'=>'string', 'path'=>'Page.name', 'min'=>1, 'max'=>1},
162
+ 'kind' => {'valid_codes'=>{'http://hl7.org/fhir/guide-page-kind'=>['page', 'example', 'list', 'include', 'directory', 'dictionary', 'toc', 'resource']}, 'type'=>'code', 'path'=>'Page.kind', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/guide-page-kind'}},
163
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/resource-types'=>['Account', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'CodeSystem', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportRule', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticOrder', 'DiagnosticReport', 'DocumentManifest', 'DocumentReference', 'DomainResource', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingExcerpt', 'ImagingObjectSelection', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'ModuleDefinition', 'NamingSystem', 'NutritionOrder', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Order', 'OrderResponse', 'OrderSet', 'Organization', 'Parameters', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Protocol', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'Resource', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'ValueSet', 'VisionPrescription']}, 'type'=>'code', 'path'=>'Page.type', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/resource-types'}},
164
+ 'package' => {'type'=>'string', 'path'=>'Page.package', 'min'=>0, 'max'=>Float::INFINITY},
165
+ 'format' => {'type'=>'code', 'path'=>'Page.format', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://www.rfc-editor.org/bcp/bcp13.txt'}},
166
+ 'page' => {'type'=>'ImplementationGuide::Page', 'path'=>'Page.page', 'min'=>0, 'max'=>Float::INFINITY}
167
+ }
168
+
169
+ attr_accessor :id # 0-1 id
170
+ attr_accessor :extension # 0-* [ Extension ]
171
+ attr_accessor :modifierExtension # 0-* [ Extension ]
172
+ attr_accessor :source # 1-1 uri
173
+ attr_accessor :name # 1-1 string
174
+ attr_accessor :kind # 1-1 code
175
+ attr_accessor :type # 0-* [ code ]
176
+ attr_accessor :package # 0-* [ string ]
177
+ attr_accessor :format # 0-1 code
178
+ attr_accessor :page # 0-* [ ImplementationGuide::Page ]
179
+ end
180
+
181
+ attr_accessor :id # 0-1 id
182
+ attr_accessor :meta # 0-1 Meta
183
+ attr_accessor :implicitRules # 0-1 uri
184
+ attr_accessor :language # 0-1 code
185
+ attr_accessor :text # 0-1 Narrative
186
+ attr_accessor :contained # 0-* [ Resource ]
187
+ attr_accessor :extension # 0-* [ Extension ]
188
+ attr_accessor :modifierExtension # 0-* [ Extension ]
189
+ attr_accessor :url # 1-1 uri
190
+ attr_accessor :version # 0-1 string
191
+ attr_accessor :name # 1-1 string
192
+ attr_accessor :status # 1-1 code
193
+ attr_accessor :experimental # 0-1 boolean
194
+ attr_accessor :publisher # 0-1 string
195
+ attr_accessor :contact # 0-* [ ImplementationGuide::Contact ]
196
+ attr_accessor :date # 0-1 dateTime
197
+ attr_accessor :description # 0-1 string
198
+ attr_accessor :useContext # 0-* [ CodeableConcept ]
199
+ attr_accessor :copyright # 0-1 string
200
+ attr_accessor :fhirVersion # 0-1 id
201
+ attr_accessor :dependency # 0-* [ ImplementationGuide::Dependency ]
202
+ attr_accessor :package # 1-* [ ImplementationGuide::Package ]
203
+ attr_accessor :global # 0-* [ ImplementationGuide::Global ]
204
+ attr_accessor :binary # 0-* [ uri ]
205
+ attr_accessor :page # 1-1 ImplementationGuide::Page
206
+
207
+ def resourceType
208
+ 'ImplementationGuide'
209
+ end
210
+ end
211
+ end