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,442 @@
1
+ module FHIR
2
+ class Conformance < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["context", "date", "description", "event", "fhirversion", "format", "mode", "name", "publisher", "resource", "resourceprofile", "securityservice", "software", "status", "supported-profile", "url", "version"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Conformance.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'Conformance.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'Conformance.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'Conformance.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'Conformance.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'Conformance.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'Conformance.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Conformance.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'url' => {'type'=>'uri', 'path'=>'Conformance.url', 'min'=>0, 'max'=>1},
18
+ 'version' => {'type'=>'string', 'path'=>'Conformance.version', 'min'=>0, 'max'=>1},
19
+ 'name' => {'type'=>'string', 'path'=>'Conformance.name', 'min'=>0, 'max'=>1},
20
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/conformance-resource-status'=>['draft', 'active', 'retired']}, 'type'=>'code', 'path'=>'Conformance.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conformance-resource-status'}},
21
+ 'experimental' => {'type'=>'boolean', 'path'=>'Conformance.experimental', 'min'=>0, 'max'=>1},
22
+ 'date' => {'type'=>'dateTime', 'path'=>'Conformance.date', 'min'=>1, 'max'=>1},
23
+ 'publisher' => {'type'=>'string', 'path'=>'Conformance.publisher', 'min'=>0, 'max'=>1},
24
+ 'contact' => {'type'=>'Conformance::Contact', 'path'=>'Conformance.contact', 'min'=>0, 'max'=>Float::INFINITY},
25
+ 'description' => {'type'=>'string', 'path'=>'Conformance.description', 'min'=>0, 'max'=>1},
26
+ 'useContext' => {'type'=>'CodeableConcept', 'path'=>'Conformance.useContext', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/use-context'}},
27
+ 'requirements' => {'type'=>'string', 'path'=>'Conformance.requirements', 'min'=>0, 'max'=>1},
28
+ 'copyright' => {'type'=>'string', 'path'=>'Conformance.copyright', 'min'=>0, 'max'=>1},
29
+ 'kind' => {'valid_codes'=>{'http://hl7.org/fhir/conformance-statement-kind'=>['instance', 'capability', 'requirements']}, 'type'=>'code', 'path'=>'Conformance.kind', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conformance-statement-kind'}},
30
+ 'software' => {'type'=>'Conformance::Software', 'path'=>'Conformance.software', 'min'=>0, 'max'=>1},
31
+ 'implementation' => {'type'=>'Conformance::Implementation', 'path'=>'Conformance.implementation', 'min'=>0, 'max'=>1},
32
+ 'fhirVersion' => {'type'=>'id', 'path'=>'Conformance.fhirVersion', 'min'=>1, 'max'=>1},
33
+ 'acceptUnknown' => {'valid_codes'=>{'http://hl7.org/fhir/unknown-content-code'=>['no', 'extensions', 'elements', 'both']}, 'type'=>'code', 'path'=>'Conformance.acceptUnknown', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/unknown-content-code'}},
34
+ 'format' => {'type'=>'code', 'path'=>'Conformance.format', 'min'=>1, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://www.rfc-editor.org/bcp/bcp13.txt'}},
35
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Conformance.profile', 'min'=>0, 'max'=>Float::INFINITY},
36
+ 'rest' => {'type'=>'Conformance::Rest', 'path'=>'Conformance.rest', 'min'=>0, 'max'=>Float::INFINITY},
37
+ 'messaging' => {'type'=>'Conformance::Messaging', 'path'=>'Conformance.messaging', 'min'=>0, 'max'=>Float::INFINITY},
38
+ 'document' => {'type'=>'Conformance::Document', 'path'=>'Conformance.document', '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 Software < FHIR::Model
62
+ include FHIR::Hashable
63
+ include FHIR::Json
64
+ include FHIR::Xml
65
+
66
+ METADATA = {
67
+ 'id' => {'type'=>'id', 'path'=>'Software.id', 'min'=>0, 'max'=>1},
68
+ 'extension' => {'type'=>'Extension', 'path'=>'Software.extension', 'min'=>0, 'max'=>Float::INFINITY},
69
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Software.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
70
+ 'name' => {'type'=>'string', 'path'=>'Software.name', 'min'=>1, 'max'=>1},
71
+ 'version' => {'type'=>'string', 'path'=>'Software.version', 'min'=>0, 'max'=>1},
72
+ 'releaseDate' => {'type'=>'dateTime', 'path'=>'Software.releaseDate', 'min'=>0, 'max'=>1}
73
+ }
74
+
75
+ attr_accessor :id # 0-1 id
76
+ attr_accessor :extension # 0-* [ Extension ]
77
+ attr_accessor :modifierExtension # 0-* [ Extension ]
78
+ attr_accessor :name # 1-1 string
79
+ attr_accessor :version # 0-1 string
80
+ attr_accessor :releaseDate # 0-1 dateTime
81
+ end
82
+
83
+ class Implementation < FHIR::Model
84
+ include FHIR::Hashable
85
+ include FHIR::Json
86
+ include FHIR::Xml
87
+
88
+ METADATA = {
89
+ 'id' => {'type'=>'id', 'path'=>'Implementation.id', 'min'=>0, 'max'=>1},
90
+ 'extension' => {'type'=>'Extension', 'path'=>'Implementation.extension', 'min'=>0, 'max'=>Float::INFINITY},
91
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Implementation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
92
+ 'description' => {'type'=>'string', 'path'=>'Implementation.description', 'min'=>1, 'max'=>1},
93
+ 'url' => {'type'=>'uri', 'path'=>'Implementation.url', 'min'=>0, 'max'=>1}
94
+ }
95
+
96
+ attr_accessor :id # 0-1 id
97
+ attr_accessor :extension # 0-* [ Extension ]
98
+ attr_accessor :modifierExtension # 0-* [ Extension ]
99
+ attr_accessor :description # 1-1 string
100
+ attr_accessor :url # 0-1 uri
101
+ end
102
+
103
+ class Rest < FHIR::Model
104
+ include FHIR::Hashable
105
+ include FHIR::Json
106
+ include FHIR::Xml
107
+
108
+ METADATA = {
109
+ 'id' => {'type'=>'id', 'path'=>'Rest.id', 'min'=>0, 'max'=>1},
110
+ 'extension' => {'type'=>'Extension', 'path'=>'Rest.extension', 'min'=>0, 'max'=>Float::INFINITY},
111
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Rest.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
112
+ 'mode' => {'valid_codes'=>{'http://hl7.org/fhir/restful-conformance-mode'=>['client', 'server']}, 'type'=>'code', 'path'=>'Rest.mode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/restful-conformance-mode'}},
113
+ 'documentation' => {'type'=>'string', 'path'=>'Rest.documentation', 'min'=>0, 'max'=>1},
114
+ 'security' => {'type'=>'Conformance::Rest::Security', 'path'=>'Rest.security', 'min'=>0, 'max'=>1},
115
+ 'resource' => {'type'=>'Conformance::Rest::Resource', 'path'=>'Rest.resource', 'min'=>0, 'max'=>Float::INFINITY},
116
+ 'interaction' => {'type'=>'Conformance::Rest::Interaction', 'path'=>'Rest.interaction', 'min'=>0, 'max'=>Float::INFINITY},
117
+ 'transactionMode' => {'valid_codes'=>{'http://hl7.org/fhir/transaction-mode'=>['not-supported', 'batch', 'transaction', 'both']}, 'type'=>'code', 'path'=>'Rest.transactionMode', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/transaction-mode'}},
118
+ 'searchParam' => {'type'=>'Conformance::Rest::Resource::Searchparam', 'path'=>'Rest.searchParam', 'min'=>0, 'max'=>Float::INFINITY},
119
+ 'operation' => {'type'=>'Conformance::Rest::Operation', 'path'=>'Rest.operation', 'min'=>0, 'max'=>Float::INFINITY},
120
+ 'compartment' => {'type'=>'uri', 'path'=>'Rest.compartment', 'min'=>0, 'max'=>Float::INFINITY}
121
+ }
122
+
123
+ class Security < FHIR::Model
124
+ include FHIR::Hashable
125
+ include FHIR::Json
126
+ include FHIR::Xml
127
+
128
+ METADATA = {
129
+ 'id' => {'type'=>'id', 'path'=>'Security.id', 'min'=>0, 'max'=>1},
130
+ 'extension' => {'type'=>'Extension', 'path'=>'Security.extension', 'min'=>0, 'max'=>Float::INFINITY},
131
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Security.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
132
+ 'cors' => {'type'=>'boolean', 'path'=>'Security.cors', 'min'=>0, 'max'=>1},
133
+ 'service' => {'valid_codes'=>{'http://hl7.org/fhir/restful-security-service'=>['OAuth', 'SMART-on-FHIR', 'NTLM', 'Basic', 'Kerberos', 'Certificates']}, 'type'=>'CodeableConcept', 'path'=>'Security.service', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/restful-security-service'}},
134
+ 'description' => {'type'=>'string', 'path'=>'Security.description', 'min'=>0, 'max'=>1},
135
+ 'certificate' => {'type'=>'Conformance::Rest::Security::Certificate', 'path'=>'Security.certificate', 'min'=>0, 'max'=>Float::INFINITY}
136
+ }
137
+
138
+ class Certificate < FHIR::Model
139
+ include FHIR::Hashable
140
+ include FHIR::Json
141
+ include FHIR::Xml
142
+
143
+ METADATA = {
144
+ 'id' => {'type'=>'id', 'path'=>'Certificate.id', 'min'=>0, 'max'=>1},
145
+ 'extension' => {'type'=>'Extension', 'path'=>'Certificate.extension', 'min'=>0, 'max'=>Float::INFINITY},
146
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Certificate.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
147
+ 'type' => {'type'=>'code', 'path'=>'Certificate.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://www.rfc-editor.org/bcp/bcp13.txt'}},
148
+ 'blob' => {'type'=>'base64Binary', 'path'=>'Certificate.blob', 'min'=>0, 'max'=>1}
149
+ }
150
+
151
+ attr_accessor :id # 0-1 id
152
+ attr_accessor :extension # 0-* [ Extension ]
153
+ attr_accessor :modifierExtension # 0-* [ Extension ]
154
+ attr_accessor :type # 0-1 code
155
+ attr_accessor :blob # 0-1 base64Binary
156
+ end
157
+
158
+ attr_accessor :id # 0-1 id
159
+ attr_accessor :extension # 0-* [ Extension ]
160
+ attr_accessor :modifierExtension # 0-* [ Extension ]
161
+ attr_accessor :cors # 0-1 boolean
162
+ attr_accessor :service # 0-* [ CodeableConcept ]
163
+ attr_accessor :description # 0-1 string
164
+ attr_accessor :certificate # 0-* [ Conformance::Rest::Security::Certificate ]
165
+ end
166
+
167
+ class Resource < FHIR::Model
168
+ include FHIR::Hashable
169
+ include FHIR::Json
170
+ include FHIR::Xml
171
+
172
+ METADATA = {
173
+ 'id' => {'type'=>'id', 'path'=>'Resource.id', 'min'=>0, 'max'=>1},
174
+ 'extension' => {'type'=>'Extension', 'path'=>'Resource.extension', 'min'=>0, 'max'=>Float::INFINITY},
175
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Resource.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
176
+ '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'=>'Resource.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/resource-types'}},
177
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Resource.profile', 'min'=>0, 'max'=>1},
178
+ 'interaction' => {'type'=>'Conformance::Rest::Resource::Interaction', 'path'=>'Resource.interaction', 'min'=>1, 'max'=>Float::INFINITY},
179
+ 'versioning' => {'valid_codes'=>{'http://hl7.org/fhir/versioning-policy'=>['no-version', 'versioned', 'versioned-update']}, 'type'=>'code', 'path'=>'Resource.versioning', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/versioning-policy'}},
180
+ 'readHistory' => {'type'=>'boolean', 'path'=>'Resource.readHistory', 'min'=>0, 'max'=>1},
181
+ 'updateCreate' => {'type'=>'boolean', 'path'=>'Resource.updateCreate', 'min'=>0, 'max'=>1},
182
+ 'conditionalCreate' => {'type'=>'boolean', 'path'=>'Resource.conditionalCreate', 'min'=>0, 'max'=>1},
183
+ 'conditionalUpdate' => {'type'=>'boolean', 'path'=>'Resource.conditionalUpdate', 'min'=>0, 'max'=>1},
184
+ 'conditionalDelete' => {'valid_codes'=>{'http://hl7.org/fhir/conditional-delete-status'=>['not-supported', 'single', 'multiple']}, 'type'=>'code', 'path'=>'Resource.conditionalDelete', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conditional-delete-status'}},
185
+ 'searchInclude' => {'type'=>'string', 'path'=>'Resource.searchInclude', 'min'=>0, 'max'=>Float::INFINITY},
186
+ 'searchRevInclude' => {'type'=>'string', 'path'=>'Resource.searchRevInclude', 'min'=>0, 'max'=>Float::INFINITY},
187
+ 'searchParam' => {'type'=>'Conformance::Rest::Resource::Searchparam', 'path'=>'Resource.searchParam', 'min'=>0, 'max'=>Float::INFINITY}
188
+ }
189
+
190
+ class Interaction < FHIR::Model
191
+ include FHIR::Hashable
192
+ include FHIR::Json
193
+ include FHIR::Xml
194
+
195
+ METADATA = {
196
+ 'id' => {'type'=>'id', 'path'=>'Interaction.id', 'min'=>0, 'max'=>1},
197
+ 'extension' => {'type'=>'Extension', 'path'=>'Interaction.extension', 'min'=>0, 'max'=>Float::INFINITY},
198
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Interaction.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
199
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/restful-interaction'=>['read', 'vread', 'update', 'delete', 'history-instance', 'history-type', 'create', 'search-type']}, 'type'=>'code', 'path'=>'Interaction.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/type-restful-interaction'}},
200
+ 'documentation' => {'type'=>'string', 'path'=>'Interaction.documentation', 'min'=>0, 'max'=>1}
201
+ }
202
+
203
+ attr_accessor :id # 0-1 id
204
+ attr_accessor :extension # 0-* [ Extension ]
205
+ attr_accessor :modifierExtension # 0-* [ Extension ]
206
+ attr_accessor :code # 1-1 code
207
+ attr_accessor :documentation # 0-1 string
208
+ end
209
+
210
+ class Searchparam < FHIR::Model
211
+ include FHIR::Hashable
212
+ include FHIR::Json
213
+ include FHIR::Xml
214
+
215
+ METADATA = {
216
+ 'id' => {'type'=>'id', 'path'=>'Searchparam.id', 'min'=>0, 'max'=>1},
217
+ 'extension' => {'type'=>'Extension', 'path'=>'Searchparam.extension', 'min'=>0, 'max'=>Float::INFINITY},
218
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Searchparam.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
219
+ 'name' => {'type'=>'string', 'path'=>'Searchparam.name', 'min'=>1, 'max'=>1},
220
+ 'definition' => {'type'=>'uri', 'path'=>'Searchparam.definition', 'min'=>0, 'max'=>1},
221
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/search-param-type'=>['number', 'date', 'string', 'token', 'reference', 'composite', 'quantity', 'uri']}, 'type'=>'code', 'path'=>'Searchparam.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/search-param-type'}},
222
+ 'documentation' => {'type'=>'string', 'path'=>'Searchparam.documentation', 'min'=>0, 'max'=>1},
223
+ 'target' => {'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'=>'Searchparam.target', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/resource-types'}},
224
+ 'modifier' => {'valid_codes'=>{'http://hl7.org/fhir/search-modifier-code'=>['missing', 'exact', 'contains', 'not', 'text', 'in', 'not-in', 'below', 'above', 'type']}, 'type'=>'code', 'path'=>'Searchparam.modifier', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/search-modifier-code'}},
225
+ 'chain' => {'type'=>'string', 'path'=>'Searchparam.chain', 'min'=>0, 'max'=>Float::INFINITY}
226
+ }
227
+
228
+ attr_accessor :id # 0-1 id
229
+ attr_accessor :extension # 0-* [ Extension ]
230
+ attr_accessor :modifierExtension # 0-* [ Extension ]
231
+ attr_accessor :name # 1-1 string
232
+ attr_accessor :definition # 0-1 uri
233
+ attr_accessor :type # 1-1 code
234
+ attr_accessor :documentation # 0-1 string
235
+ attr_accessor :target # 0-* [ code ]
236
+ attr_accessor :modifier # 0-* [ code ]
237
+ attr_accessor :chain # 0-* [ string ]
238
+ end
239
+
240
+ attr_accessor :id # 0-1 id
241
+ attr_accessor :extension # 0-* [ Extension ]
242
+ attr_accessor :modifierExtension # 0-* [ Extension ]
243
+ attr_accessor :type # 1-1 code
244
+ attr_accessor :profile # 0-1 Reference(StructureDefinition)
245
+ attr_accessor :interaction # 1-* [ Conformance::Rest::Resource::Interaction ]
246
+ attr_accessor :versioning # 0-1 code
247
+ attr_accessor :readHistory # 0-1 boolean
248
+ attr_accessor :updateCreate # 0-1 boolean
249
+ attr_accessor :conditionalCreate # 0-1 boolean
250
+ attr_accessor :conditionalUpdate # 0-1 boolean
251
+ attr_accessor :conditionalDelete # 0-1 code
252
+ attr_accessor :searchInclude # 0-* [ string ]
253
+ attr_accessor :searchRevInclude # 0-* [ string ]
254
+ attr_accessor :searchParam # 0-* [ Conformance::Rest::Resource::Searchparam ]
255
+ end
256
+
257
+ class Interaction < FHIR::Model
258
+ include FHIR::Hashable
259
+ include FHIR::Json
260
+ include FHIR::Xml
261
+
262
+ METADATA = {
263
+ 'id' => {'type'=>'id', 'path'=>'Interaction.id', 'min'=>0, 'max'=>1},
264
+ 'extension' => {'type'=>'Extension', 'path'=>'Interaction.extension', 'min'=>0, 'max'=>Float::INFINITY},
265
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Interaction.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
266
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/restful-interaction'=>['transaction', 'search-system', 'history-system']}, 'type'=>'code', 'path'=>'Interaction.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/system-restful-interaction'}},
267
+ 'documentation' => {'type'=>'string', 'path'=>'Interaction.documentation', 'min'=>0, 'max'=>1}
268
+ }
269
+
270
+ attr_accessor :id # 0-1 id
271
+ attr_accessor :extension # 0-* [ Extension ]
272
+ attr_accessor :modifierExtension # 0-* [ Extension ]
273
+ attr_accessor :code # 1-1 code
274
+ attr_accessor :documentation # 0-1 string
275
+ end
276
+
277
+ class Operation < FHIR::Model
278
+ include FHIR::Hashable
279
+ include FHIR::Json
280
+ include FHIR::Xml
281
+
282
+ METADATA = {
283
+ 'id' => {'type'=>'id', 'path'=>'Operation.id', 'min'=>0, 'max'=>1},
284
+ 'extension' => {'type'=>'Extension', 'path'=>'Operation.extension', 'min'=>0, 'max'=>Float::INFINITY},
285
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Operation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
286
+ 'name' => {'type'=>'string', 'path'=>'Operation.name', 'min'=>1, 'max'=>1},
287
+ 'definition' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/OperationDefinition'], 'type'=>'Reference', 'path'=>'Operation.definition', 'min'=>1, 'max'=>1}
288
+ }
289
+
290
+ attr_accessor :id # 0-1 id
291
+ attr_accessor :extension # 0-* [ Extension ]
292
+ attr_accessor :modifierExtension # 0-* [ Extension ]
293
+ attr_accessor :name # 1-1 string
294
+ attr_accessor :definition # 1-1 Reference(OperationDefinition)
295
+ end
296
+
297
+ attr_accessor :id # 0-1 id
298
+ attr_accessor :extension # 0-* [ Extension ]
299
+ attr_accessor :modifierExtension # 0-* [ Extension ]
300
+ attr_accessor :mode # 1-1 code
301
+ attr_accessor :documentation # 0-1 string
302
+ attr_accessor :security # 0-1 Conformance::Rest::Security
303
+ attr_accessor :resource # 0-* [ Conformance::Rest::Resource ]
304
+ attr_accessor :interaction # 0-* [ Conformance::Rest::Interaction ]
305
+ attr_accessor :transactionMode # 0-1 code
306
+ attr_accessor :searchParam # 0-* [ Conformance::Rest::Resource::Searchparam ]
307
+ attr_accessor :operation # 0-* [ Conformance::Rest::Operation ]
308
+ attr_accessor :compartment # 0-* [ uri ]
309
+ end
310
+
311
+ class Messaging < FHIR::Model
312
+ include FHIR::Hashable
313
+ include FHIR::Json
314
+ include FHIR::Xml
315
+
316
+ METADATA = {
317
+ 'id' => {'type'=>'id', 'path'=>'Messaging.id', 'min'=>0, 'max'=>1},
318
+ 'extension' => {'type'=>'Extension', 'path'=>'Messaging.extension', 'min'=>0, 'max'=>Float::INFINITY},
319
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Messaging.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
320
+ 'endpoint' => {'type'=>'Conformance::Messaging::Endpoint', 'path'=>'Messaging.endpoint', 'min'=>0, 'max'=>Float::INFINITY},
321
+ 'reliableCache' => {'type'=>'unsignedInt', 'path'=>'Messaging.reliableCache', 'min'=>0, 'max'=>1},
322
+ 'documentation' => {'type'=>'string', 'path'=>'Messaging.documentation', 'min'=>0, 'max'=>1},
323
+ 'event' => {'type'=>'Conformance::Messaging::Event', 'path'=>'Messaging.event', 'min'=>1, 'max'=>Float::INFINITY}
324
+ }
325
+
326
+ class Endpoint < FHIR::Model
327
+ include FHIR::Hashable
328
+ include FHIR::Json
329
+ include FHIR::Xml
330
+
331
+ METADATA = {
332
+ 'id' => {'type'=>'id', 'path'=>'Endpoint.id', 'min'=>0, 'max'=>1},
333
+ 'extension' => {'type'=>'Extension', 'path'=>'Endpoint.extension', 'min'=>0, 'max'=>Float::INFINITY},
334
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Endpoint.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
335
+ 'protocol' => {'valid_codes'=>{'http://hl7.org/fhir/message-transport'=>['http', 'ftp', 'mllp']}, 'type'=>'Coding', 'path'=>'Endpoint.protocol', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/message-transport'}},
336
+ 'address' => {'type'=>'uri', 'path'=>'Endpoint.address', 'min'=>1, 'max'=>1}
337
+ }
338
+
339
+ attr_accessor :id # 0-1 id
340
+ attr_accessor :extension # 0-* [ Extension ]
341
+ attr_accessor :modifierExtension # 0-* [ Extension ]
342
+ attr_accessor :protocol # 1-1 Coding
343
+ attr_accessor :address # 1-1 uri
344
+ end
345
+
346
+ class Event < FHIR::Model
347
+ include FHIR::Hashable
348
+ include FHIR::Json
349
+ include FHIR::Xml
350
+
351
+ METADATA = {
352
+ 'id' => {'type'=>'id', 'path'=>'Event.id', 'min'=>0, 'max'=>1},
353
+ 'extension' => {'type'=>'Extension', 'path'=>'Event.extension', 'min'=>0, 'max'=>Float::INFINITY},
354
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Event.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
355
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/message-events'=>['CodeSystem-expand', 'MedicationAdministration-Complete', 'MedicationAdministration-Nullification', 'MedicationAdministration-Recording', 'MedicationAdministration-Update', 'admin-notify', 'diagnosticreport-provide', 'observation-provide', 'patient-link', 'patient-unlink', 'valueset-expand']}, 'type'=>'Coding', 'path'=>'Event.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/message-events'}},
356
+ 'category' => {'valid_codes'=>{'http://hl7.org/fhir/message-significance-category'=>['Consequence', 'Currency', 'Notification']}, 'type'=>'code', 'path'=>'Event.category', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/message-significance-category'}},
357
+ 'mode' => {'valid_codes'=>{'http://hl7.org/fhir/message-conformance-event-mode'=>['sender', 'receiver']}, 'type'=>'code', 'path'=>'Event.mode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/message-conformance-event-mode'}},
358
+ 'focus' => {'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'=>'Event.focus', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/resource-types'}},
359
+ 'request' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Event.request', 'min'=>1, 'max'=>1},
360
+ 'response' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Event.response', 'min'=>1, 'max'=>1},
361
+ 'documentation' => {'type'=>'string', 'path'=>'Event.documentation', 'min'=>0, 'max'=>1}
362
+ }
363
+
364
+ attr_accessor :id # 0-1 id
365
+ attr_accessor :extension # 0-* [ Extension ]
366
+ attr_accessor :modifierExtension # 0-* [ Extension ]
367
+ attr_accessor :code # 1-1 Coding
368
+ attr_accessor :category # 0-1 code
369
+ attr_accessor :mode # 1-1 code
370
+ attr_accessor :focus # 1-1 code
371
+ attr_accessor :request # 1-1 Reference(StructureDefinition)
372
+ attr_accessor :response # 1-1 Reference(StructureDefinition)
373
+ attr_accessor :documentation # 0-1 string
374
+ end
375
+
376
+ attr_accessor :id # 0-1 id
377
+ attr_accessor :extension # 0-* [ Extension ]
378
+ attr_accessor :modifierExtension # 0-* [ Extension ]
379
+ attr_accessor :endpoint # 0-* [ Conformance::Messaging::Endpoint ]
380
+ attr_accessor :reliableCache # 0-1 unsignedInt
381
+ attr_accessor :documentation # 0-1 string
382
+ attr_accessor :event # 1-* [ Conformance::Messaging::Event ]
383
+ end
384
+
385
+ class Document < FHIR::Model
386
+ include FHIR::Hashable
387
+ include FHIR::Json
388
+ include FHIR::Xml
389
+
390
+ METADATA = {
391
+ 'id' => {'type'=>'id', 'path'=>'Document.id', 'min'=>0, 'max'=>1},
392
+ 'extension' => {'type'=>'Extension', 'path'=>'Document.extension', 'min'=>0, 'max'=>Float::INFINITY},
393
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Document.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
394
+ 'mode' => {'valid_codes'=>{'http://hl7.org/fhir/document-mode'=>['producer', 'consumer']}, 'type'=>'code', 'path'=>'Document.mode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/document-mode'}},
395
+ 'documentation' => {'type'=>'string', 'path'=>'Document.documentation', 'min'=>0, 'max'=>1},
396
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Document.profile', 'min'=>1, 'max'=>1}
397
+ }
398
+
399
+ attr_accessor :id # 0-1 id
400
+ attr_accessor :extension # 0-* [ Extension ]
401
+ attr_accessor :modifierExtension # 0-* [ Extension ]
402
+ attr_accessor :mode # 1-1 code
403
+ attr_accessor :documentation # 0-1 string
404
+ attr_accessor :profile # 1-1 Reference(StructureDefinition)
405
+ end
406
+
407
+ attr_accessor :id # 0-1 id
408
+ attr_accessor :meta # 0-1 Meta
409
+ attr_accessor :implicitRules # 0-1 uri
410
+ attr_accessor :language # 0-1 code
411
+ attr_accessor :text # 0-1 Narrative
412
+ attr_accessor :contained # 0-* [ Resource ]
413
+ attr_accessor :extension # 0-* [ Extension ]
414
+ attr_accessor :modifierExtension # 0-* [ Extension ]
415
+ attr_accessor :url # 0-1 uri
416
+ attr_accessor :version # 0-1 string
417
+ attr_accessor :name # 0-1 string
418
+ attr_accessor :status # 1-1 code
419
+ attr_accessor :experimental # 0-1 boolean
420
+ attr_accessor :date # 1-1 dateTime
421
+ attr_accessor :publisher # 0-1 string
422
+ attr_accessor :contact # 0-* [ Conformance::Contact ]
423
+ attr_accessor :description # 0-1 string
424
+ attr_accessor :useContext # 0-* [ CodeableConcept ]
425
+ attr_accessor :requirements # 0-1 string
426
+ attr_accessor :copyright # 0-1 string
427
+ attr_accessor :kind # 1-1 code
428
+ attr_accessor :software # 0-1 Conformance::Software
429
+ attr_accessor :implementation # 0-1 Conformance::Implementation
430
+ attr_accessor :fhirVersion # 1-1 id
431
+ attr_accessor :acceptUnknown # 1-1 code
432
+ attr_accessor :format # 1-* [ code ]
433
+ attr_accessor :profile # 0-* [ Reference(StructureDefinition) ]
434
+ attr_accessor :rest # 0-* [ Conformance::Rest ]
435
+ attr_accessor :messaging # 0-* [ Conformance::Messaging ]
436
+ attr_accessor :document # 0-* [ Conformance::Document ]
437
+
438
+ def resourceType
439
+ 'Conformance'
440
+ end
441
+ end
442
+ end