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,124 @@
1
+ module FHIR
2
+ class MessageHeader < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["author", "code", "data", "destination", "destination-uri", "enterer", "event", "receiver", "response-id", "responsible", "source", "source-uri", "target", "timestamp"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'MessageHeader.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'MessageHeader.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'MessageHeader.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'MessageHeader.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'MessageHeader.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'MessageHeader.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'MessageHeader.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'MessageHeader.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'timestamp' => {'type'=>'instant', 'path'=>'MessageHeader.timestamp', 'min'=>1, 'max'=>1},
18
+ 'event' => {'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'=>'MessageHeader.event', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/message-events'}},
19
+ 'response' => {'type'=>'MessageHeader::Response', 'path'=>'MessageHeader.response', 'min'=>0, 'max'=>1},
20
+ 'source' => {'type'=>'MessageHeader::Source', 'path'=>'MessageHeader.source', 'min'=>1, 'max'=>1},
21
+ 'destination' => {'type'=>'MessageHeader::Destination', 'path'=>'MessageHeader.destination', 'min'=>0, 'max'=>Float::INFINITY},
22
+ 'enterer' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'MessageHeader.enterer', 'min'=>0, 'max'=>1},
23
+ 'author' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'MessageHeader.author', 'min'=>0, 'max'=>1},
24
+ 'receiver' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'MessageHeader.receiver', 'min'=>0, 'max'=>1},
25
+ 'responsible' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'MessageHeader.responsible', 'min'=>0, 'max'=>1},
26
+ 'reason' => {'valid_codes'=>{'http://hl7.org/fhir/message-reasons-encounter'=>['admit', 'discharge', 'absent', 'return', 'moved', 'edit']}, 'type'=>'CodeableConcept', 'path'=>'MessageHeader.reason', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/message-reason-encounter'}},
27
+ 'data' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'MessageHeader.data', 'min'=>0, 'max'=>Float::INFINITY}
28
+ }
29
+
30
+ class Response < FHIR::Model
31
+ include FHIR::Hashable
32
+ include FHIR::Json
33
+ include FHIR::Xml
34
+
35
+ METADATA = {
36
+ 'id' => {'type'=>'id', 'path'=>'Response.id', 'min'=>0, 'max'=>1},
37
+ 'extension' => {'type'=>'Extension', 'path'=>'Response.extension', 'min'=>0, 'max'=>Float::INFINITY},
38
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Response.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
39
+ 'identifier' => {'type'=>'id', 'path'=>'Response.identifier', 'min'=>1, 'max'=>1},
40
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/response-code'=>['ok', 'transient-error', 'fatal-error']}, 'type'=>'code', 'path'=>'Response.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/response-code'}},
41
+ 'details' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/OperationOutcome'], 'type'=>'Reference', 'path'=>'Response.details', 'min'=>0, 'max'=>1}
42
+ }
43
+
44
+ attr_accessor :id # 0-1 id
45
+ attr_accessor :extension # 0-* [ Extension ]
46
+ attr_accessor :modifierExtension # 0-* [ Extension ]
47
+ attr_accessor :identifier # 1-1 id
48
+ attr_accessor :code # 1-1 code
49
+ attr_accessor :details # 0-1 Reference(OperationOutcome)
50
+ end
51
+
52
+ class Source < FHIR::Model
53
+ include FHIR::Hashable
54
+ include FHIR::Json
55
+ include FHIR::Xml
56
+
57
+ METADATA = {
58
+ 'id' => {'type'=>'id', 'path'=>'Source.id', 'min'=>0, 'max'=>1},
59
+ 'extension' => {'type'=>'Extension', 'path'=>'Source.extension', 'min'=>0, 'max'=>Float::INFINITY},
60
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Source.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
61
+ 'name' => {'type'=>'string', 'path'=>'Source.name', 'min'=>0, 'max'=>1},
62
+ 'software' => {'type'=>'string', 'path'=>'Source.software', 'min'=>0, 'max'=>1},
63
+ 'version' => {'type'=>'string', 'path'=>'Source.version', 'min'=>0, 'max'=>1},
64
+ 'contact' => {'type'=>'ContactPoint', 'path'=>'Source.contact', 'min'=>0, 'max'=>1},
65
+ 'endpoint' => {'type'=>'uri', 'path'=>'Source.endpoint', 'min'=>1, 'max'=>1}
66
+ }
67
+
68
+ attr_accessor :id # 0-1 id
69
+ attr_accessor :extension # 0-* [ Extension ]
70
+ attr_accessor :modifierExtension # 0-* [ Extension ]
71
+ attr_accessor :name # 0-1 string
72
+ attr_accessor :software # 0-1 string
73
+ attr_accessor :version # 0-1 string
74
+ attr_accessor :contact # 0-1 ContactPoint
75
+ attr_accessor :endpoint # 1-1 uri
76
+ end
77
+
78
+ class Destination < FHIR::Model
79
+ include FHIR::Hashable
80
+ include FHIR::Json
81
+ include FHIR::Xml
82
+
83
+ METADATA = {
84
+ 'id' => {'type'=>'id', 'path'=>'Destination.id', 'min'=>0, 'max'=>1},
85
+ 'extension' => {'type'=>'Extension', 'path'=>'Destination.extension', 'min'=>0, 'max'=>Float::INFINITY},
86
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Destination.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
87
+ 'name' => {'type'=>'string', 'path'=>'Destination.name', 'min'=>0, 'max'=>1},
88
+ 'target' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Device'], 'type'=>'Reference', 'path'=>'Destination.target', 'min'=>0, 'max'=>1},
89
+ 'endpoint' => {'type'=>'uri', 'path'=>'Destination.endpoint', 'min'=>1, 'max'=>1}
90
+ }
91
+
92
+ attr_accessor :id # 0-1 id
93
+ attr_accessor :extension # 0-* [ Extension ]
94
+ attr_accessor :modifierExtension # 0-* [ Extension ]
95
+ attr_accessor :name # 0-1 string
96
+ attr_accessor :target # 0-1 Reference(Device)
97
+ attr_accessor :endpoint # 1-1 uri
98
+ end
99
+
100
+ attr_accessor :id # 0-1 id
101
+ attr_accessor :meta # 0-1 Meta
102
+ attr_accessor :implicitRules # 0-1 uri
103
+ attr_accessor :language # 0-1 code
104
+ attr_accessor :text # 0-1 Narrative
105
+ attr_accessor :contained # 0-* [ Resource ]
106
+ attr_accessor :extension # 0-* [ Extension ]
107
+ attr_accessor :modifierExtension # 0-* [ Extension ]
108
+ attr_accessor :timestamp # 1-1 instant
109
+ attr_accessor :event # 1-1 Coding
110
+ attr_accessor :response # 0-1 MessageHeader::Response
111
+ attr_accessor :source # 1-1 MessageHeader::Source
112
+ attr_accessor :destination # 0-* [ MessageHeader::Destination ]
113
+ attr_accessor :enterer # 0-1 Reference(Practitioner)
114
+ attr_accessor :author # 0-1 Reference(Practitioner)
115
+ attr_accessor :receiver # 0-1 Reference(Practitioner|Organization)
116
+ attr_accessor :responsible # 0-1 Reference(Practitioner|Organization)
117
+ attr_accessor :reason # 0-1 CodeableConcept
118
+ attr_accessor :data # 0-* [ Reference(Resource) ]
119
+
120
+ def resourceType
121
+ 'MessageHeader'
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,249 @@
1
+ module FHIR
2
+ class ModuleDefinition < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = []
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'ModuleDefinition.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'ModuleDefinition.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'ModuleDefinition.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'ModuleDefinition.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'ModuleDefinition.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'ModuleDefinition.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'ModuleDefinition.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'ModuleDefinition.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'identifier' => {'type'=>'Identifier', 'path'=>'ModuleDefinition.identifier', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'version' => {'type'=>'string', 'path'=>'ModuleDefinition.version', 'min'=>0, 'max'=>1},
19
+ 'model' => {'type'=>'ModuleDefinition::Model', 'path'=>'ModuleDefinition.model', 'min'=>0, 'max'=>Float::INFINITY},
20
+ 'library' => {'type'=>'ModuleDefinition::Library', 'path'=>'ModuleDefinition.library', 'min'=>0, 'max'=>Float::INFINITY},
21
+ 'codeSystem' => {'type'=>'ModuleDefinition::Codesystem', 'path'=>'ModuleDefinition.codeSystem', 'min'=>0, 'max'=>Float::INFINITY},
22
+ 'valueSet' => {'type'=>'ModuleDefinition::Valueset', 'path'=>'ModuleDefinition.valueSet', 'min'=>0, 'max'=>Float::INFINITY},
23
+ 'parameter' => {'type'=>'ModuleDefinition::Parameter', 'path'=>'ModuleDefinition.parameter', 'min'=>0, 'max'=>Float::INFINITY},
24
+ 'data' => {'type'=>'ModuleDefinition::Data', 'path'=>'ModuleDefinition.data', 'min'=>0, 'max'=>Float::INFINITY}
25
+ }
26
+
27
+ class Model < FHIR::Model
28
+ include FHIR::Hashable
29
+ include FHIR::Json
30
+ include FHIR::Xml
31
+
32
+ METADATA = {
33
+ 'id' => {'type'=>'id', 'path'=>'Model.id', 'min'=>0, 'max'=>1},
34
+ 'extension' => {'type'=>'Extension', 'path'=>'Model.extension', 'min'=>0, 'max'=>Float::INFINITY},
35
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Model.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
36
+ 'name' => {'type'=>'string', 'path'=>'Model.name', 'min'=>0, 'max'=>1},
37
+ 'identifier' => {'type'=>'string', 'path'=>'Model.identifier', 'min'=>1, 'max'=>1},
38
+ 'version' => {'type'=>'string', 'path'=>'Model.version', 'min'=>0, 'max'=>1}
39
+ }
40
+
41
+ attr_accessor :id # 0-1 id
42
+ attr_accessor :extension # 0-* [ Extension ]
43
+ attr_accessor :modifierExtension # 0-* [ Extension ]
44
+ attr_accessor :name # 0-1 string
45
+ attr_accessor :identifier # 1-1 string
46
+ attr_accessor :version # 0-1 string
47
+ end
48
+
49
+ class Library < FHIR::Model
50
+ include FHIR::Hashable
51
+ include FHIR::Json
52
+ include FHIR::Xml
53
+
54
+ MULTIPLE_TYPES = {
55
+ 'document' => ['Attachment', 'Reference']
56
+ }
57
+ METADATA = {
58
+ 'id' => {'type'=>'id', 'path'=>'Library.id', 'min'=>0, 'max'=>1},
59
+ 'extension' => {'type'=>'Extension', 'path'=>'Library.extension', 'min'=>0, 'max'=>Float::INFINITY},
60
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Library.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
61
+ 'name' => {'type'=>'string', 'path'=>'Library.name', 'min'=>0, 'max'=>1},
62
+ 'identifier' => {'type'=>'string', 'path'=>'Library.identifier', 'min'=>0, 'max'=>1},
63
+ 'version' => {'type'=>'string', 'path'=>'Library.version', 'min'=>0, 'max'=>1},
64
+ 'documentAttachment' => {'type'=>'Attachment', 'path'=>'Library.document[x]', 'min'=>0, 'max'=>1},
65
+ 'documentReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/ModuleDefinition'], 'type'=>'Reference', 'path'=>'Library.document[x]', 'min'=>0, 'max'=>1}
66
+ }
67
+
68
+ attr_accessor :id # 0-1 id
69
+ attr_accessor :extension # 0-* [ Extension ]
70
+ attr_accessor :modifierExtension # 0-* [ Extension ]
71
+ attr_accessor :name # 0-1 string
72
+ attr_accessor :identifier # 0-1 string
73
+ attr_accessor :version # 0-1 string
74
+ attr_accessor :documentAttachment # 0-1 Attachment
75
+ attr_accessor :documentReference # 0-1 Reference(ModuleDefinition)
76
+ end
77
+
78
+ class Codesystem < FHIR::Model
79
+ include FHIR::Hashable
80
+ include FHIR::Json
81
+ include FHIR::Xml
82
+
83
+ METADATA = {
84
+ 'id' => {'type'=>'id', 'path'=>'Codesystem.id', 'min'=>0, 'max'=>1},
85
+ 'extension' => {'type'=>'Extension', 'path'=>'Codesystem.extension', 'min'=>0, 'max'=>Float::INFINITY},
86
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Codesystem.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
87
+ 'name' => {'type'=>'string', 'path'=>'Codesystem.name', 'min'=>1, 'max'=>1},
88
+ 'identifier' => {'type'=>'string', 'path'=>'Codesystem.identifier', 'min'=>1, 'max'=>1},
89
+ 'version' => {'type'=>'string', 'path'=>'Codesystem.version', 'min'=>0, 'max'=>1}
90
+ }
91
+
92
+ attr_accessor :id # 0-1 id
93
+ attr_accessor :extension # 0-* [ Extension ]
94
+ attr_accessor :modifierExtension # 0-* [ Extension ]
95
+ attr_accessor :name # 1-1 string
96
+ attr_accessor :identifier # 1-1 string
97
+ attr_accessor :version # 0-1 string
98
+ end
99
+
100
+ class Valueset < FHIR::Model
101
+ include FHIR::Hashable
102
+ include FHIR::Json
103
+ include FHIR::Xml
104
+
105
+ METADATA = {
106
+ 'id' => {'type'=>'id', 'path'=>'Valueset.id', 'min'=>0, 'max'=>1},
107
+ 'extension' => {'type'=>'Extension', 'path'=>'Valueset.extension', 'min'=>0, 'max'=>Float::INFINITY},
108
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Valueset.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
109
+ 'name' => {'type'=>'string', 'path'=>'Valueset.name', 'min'=>1, 'max'=>1},
110
+ 'identifier' => {'type'=>'string', 'path'=>'Valueset.identifier', 'min'=>1, 'max'=>1},
111
+ 'version' => {'type'=>'string', 'path'=>'Valueset.version', 'min'=>0, 'max'=>1},
112
+ 'codeSystem' => {'type'=>'string', 'path'=>'Valueset.codeSystem', 'min'=>0, 'max'=>Float::INFINITY}
113
+ }
114
+
115
+ attr_accessor :id # 0-1 id
116
+ attr_accessor :extension # 0-* [ Extension ]
117
+ attr_accessor :modifierExtension # 0-* [ Extension ]
118
+ attr_accessor :name # 1-1 string
119
+ attr_accessor :identifier # 1-1 string
120
+ attr_accessor :version # 0-1 string
121
+ attr_accessor :codeSystem # 0-* [ string ]
122
+ end
123
+
124
+ class Parameter < FHIR::Model
125
+ include FHIR::Hashable
126
+ include FHIR::Json
127
+ include FHIR::Xml
128
+
129
+ METADATA = {
130
+ 'id' => {'type'=>'id', 'path'=>'Parameter.id', 'min'=>0, 'max'=>1},
131
+ 'extension' => {'type'=>'Extension', 'path'=>'Parameter.extension', 'min'=>0, 'max'=>Float::INFINITY},
132
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Parameter.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
133
+ 'name' => {'type'=>'code', 'path'=>'Parameter.name', 'min'=>1, 'max'=>1},
134
+ 'use' => {'valid_codes'=>{'http://hl7.org/fhir/operation-parameter-use'=>['in', 'out']}, 'type'=>'code', 'path'=>'Parameter.use', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/operation-parameter-use'}},
135
+ 'documentation' => {'type'=>'string', 'path'=>'Parameter.documentation', 'min'=>0, 'max'=>1},
136
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/data-types'=>['ActionDefinition', 'Address', 'Age', 'Annotation', 'Attachment', 'BackboneElement', 'CodeableConcept', 'Coding', 'ContactPoint', 'Count', 'DataRequirement', 'Distance', 'Duration', 'Element', 'ElementDefinition', 'Extension', 'HumanName', 'Identifier', 'Meta', 'ModuleMetadata', 'Money', 'Narrative', 'ParameterDefinition', 'Period', 'Quantity', 'Range', 'Ratio', 'Reference', 'SampledData', 'Signature', 'SimpleQuantity', 'Timing', 'TriggerDefinition', 'base64Binary', 'boolean', 'code', 'date', 'dateTime', 'decimal', 'id', 'instant', 'integer', 'markdown', 'oid', 'positiveInt', 'string', 'time', 'unsignedInt', 'uri', 'uuid', 'xhtml'], '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'=>'Parameter.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/defined-types'}},
137
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Parameter.profile', 'min'=>0, 'max'=>1}
138
+ }
139
+
140
+ attr_accessor :id # 0-1 id
141
+ attr_accessor :extension # 0-* [ Extension ]
142
+ attr_accessor :modifierExtension # 0-* [ Extension ]
143
+ attr_accessor :name # 1-1 code
144
+ attr_accessor :use # 1-1 code
145
+ attr_accessor :documentation # 0-1 string
146
+ attr_accessor :type # 1-1 code
147
+ attr_accessor :profile # 0-1 Reference(StructureDefinition)
148
+ end
149
+
150
+ class Data < FHIR::Model
151
+ include FHIR::Hashable
152
+ include FHIR::Json
153
+ include FHIR::Xml
154
+
155
+ METADATA = {
156
+ 'id' => {'type'=>'id', 'path'=>'Data.id', 'min'=>0, 'max'=>1},
157
+ 'extension' => {'type'=>'Extension', 'path'=>'Data.extension', 'min'=>0, 'max'=>Float::INFINITY},
158
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Data.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
159
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/data-types'=>['ActionDefinition', 'Address', 'Age', 'Annotation', 'Attachment', 'BackboneElement', 'CodeableConcept', 'Coding', 'ContactPoint', 'Count', 'DataRequirement', 'Distance', 'Duration', 'Element', 'ElementDefinition', 'Extension', 'HumanName', 'Identifier', 'Meta', 'ModuleMetadata', 'Money', 'Narrative', 'ParameterDefinition', 'Period', 'Quantity', 'Range', 'Ratio', 'Reference', 'SampledData', 'Signature', 'SimpleQuantity', 'Timing', 'TriggerDefinition', 'base64Binary', 'boolean', 'code', 'date', 'dateTime', 'decimal', 'id', 'instant', 'integer', 'markdown', 'oid', 'positiveInt', 'string', 'time', 'unsignedInt', 'uri', 'uuid', 'xhtml'], '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'=>'Data.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/defined-types'}},
160
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Data.profile', 'min'=>0, 'max'=>1},
161
+ 'mustSupport' => {'type'=>'string', 'path'=>'Data.mustSupport', 'min'=>0, 'max'=>Float::INFINITY},
162
+ 'codeFilter' => {'type'=>'ModuleDefinition::Data::Codefilter', 'path'=>'Data.codeFilter', 'min'=>0, 'max'=>Float::INFINITY},
163
+ 'dateFilter' => {'type'=>'ModuleDefinition::Data::Datefilter', 'path'=>'Data.dateFilter', 'min'=>0, 'max'=>Float::INFINITY}
164
+ }
165
+
166
+ class Codefilter < FHIR::Model
167
+ include FHIR::Hashable
168
+ include FHIR::Json
169
+ include FHIR::Xml
170
+
171
+ MULTIPLE_TYPES = {
172
+ 'valueSet' => ['string', 'Reference']
173
+ }
174
+ METADATA = {
175
+ 'id' => {'type'=>'id', 'path'=>'Codefilter.id', 'min'=>0, 'max'=>1},
176
+ 'extension' => {'type'=>'Extension', 'path'=>'Codefilter.extension', 'min'=>0, 'max'=>Float::INFINITY},
177
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Codefilter.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
178
+ 'path' => {'type'=>'string', 'path'=>'Codefilter.path', 'min'=>1, 'max'=>1},
179
+ 'valueSetString' => {'type'=>'string', 'path'=>'Codefilter.valueSet[x]', 'min'=>0, 'max'=>1},
180
+ 'valueSetReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/ValueSet'], 'type'=>'Reference', 'path'=>'Codefilter.valueSet[x]', 'min'=>0, 'max'=>1},
181
+ 'codeableConcept' => {'type'=>'CodeableConcept', 'path'=>'Codefilter.codeableConcept', 'min'=>0, 'max'=>Float::INFINITY}
182
+ }
183
+
184
+ attr_accessor :id # 0-1 id
185
+ attr_accessor :extension # 0-* [ Extension ]
186
+ attr_accessor :modifierExtension # 0-* [ Extension ]
187
+ attr_accessor :path # 1-1 string
188
+ attr_accessor :valueSetString # 0-1 string
189
+ attr_accessor :valueSetReference # 0-1 Reference(ValueSet)
190
+ attr_accessor :codeableConcept # 0-* [ CodeableConcept ]
191
+ end
192
+
193
+ class Datefilter < FHIR::Model
194
+ include FHIR::Hashable
195
+ include FHIR::Json
196
+ include FHIR::Xml
197
+
198
+ MULTIPLE_TYPES = {
199
+ 'value' => ['dateTime', 'Period']
200
+ }
201
+ METADATA = {
202
+ 'id' => {'type'=>'id', 'path'=>'Datefilter.id', 'min'=>0, 'max'=>1},
203
+ 'extension' => {'type'=>'Extension', 'path'=>'Datefilter.extension', 'min'=>0, 'max'=>Float::INFINITY},
204
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Datefilter.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
205
+ 'path' => {'type'=>'string', 'path'=>'Datefilter.path', 'min'=>1, 'max'=>1},
206
+ 'valueDateTime' => {'type'=>'dateTime', 'path'=>'Datefilter.value[x]', 'min'=>0, 'max'=>1},
207
+ 'valuePeriod' => {'type'=>'Period', 'path'=>'Datefilter.value[x]', 'min'=>0, 'max'=>1}
208
+ }
209
+
210
+ attr_accessor :id # 0-1 id
211
+ attr_accessor :extension # 0-* [ Extension ]
212
+ attr_accessor :modifierExtension # 0-* [ Extension ]
213
+ attr_accessor :path # 1-1 string
214
+ attr_accessor :valueDateTime # 0-1 dateTime
215
+ attr_accessor :valuePeriod # 0-1 Period
216
+ end
217
+
218
+ attr_accessor :id # 0-1 id
219
+ attr_accessor :extension # 0-* [ Extension ]
220
+ attr_accessor :modifierExtension # 0-* [ Extension ]
221
+ attr_accessor :type # 1-1 code
222
+ attr_accessor :profile # 0-1 Reference(StructureDefinition)
223
+ attr_accessor :mustSupport # 0-* [ string ]
224
+ attr_accessor :codeFilter # 0-* [ ModuleDefinition::Data::Codefilter ]
225
+ attr_accessor :dateFilter # 0-* [ ModuleDefinition::Data::Datefilter ]
226
+ end
227
+
228
+ attr_accessor :id # 0-1 id
229
+ attr_accessor :meta # 0-1 Meta
230
+ attr_accessor :implicitRules # 0-1 uri
231
+ attr_accessor :language # 0-1 code
232
+ attr_accessor :text # 0-1 Narrative
233
+ attr_accessor :contained # 0-* [ Resource ]
234
+ attr_accessor :extension # 0-* [ Extension ]
235
+ attr_accessor :modifierExtension # 0-* [ Extension ]
236
+ attr_accessor :identifier # 0-* [ Identifier ]
237
+ attr_accessor :version # 0-1 string
238
+ attr_accessor :model # 0-* [ ModuleDefinition::Model ]
239
+ attr_accessor :library # 0-* [ ModuleDefinition::Library ]
240
+ attr_accessor :codeSystem # 0-* [ ModuleDefinition::Codesystem ]
241
+ attr_accessor :valueSet # 0-* [ ModuleDefinition::Valueset ]
242
+ attr_accessor :parameter # 0-* [ ModuleDefinition::Parameter ]
243
+ attr_accessor :data # 0-* [ ModuleDefinition::Data ]
244
+
245
+ def resourceType
246
+ 'ModuleDefinition'
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,102 @@
1
+ module FHIR
2
+ class NamingSystem < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["contact", "context", "date", "id-type", "kind", "name", "period", "publisher", "replaced-by", "responsible", "status", "telecom", "type", "value"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'NamingSystem.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'NamingSystem.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'NamingSystem.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'NamingSystem.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'NamingSystem.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'NamingSystem.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'NamingSystem.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'NamingSystem.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'name' => {'type'=>'string', 'path'=>'NamingSystem.name', 'min'=>1, 'max'=>1},
18
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/conformance-resource-status'=>['draft', 'active', 'retired']}, 'type'=>'code', 'path'=>'NamingSystem.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conformance-resource-status'}},
19
+ 'kind' => {'valid_codes'=>{'http://hl7.org/fhir/namingsystem-type'=>['codesystem', 'identifier', 'root']}, 'type'=>'code', 'path'=>'NamingSystem.kind', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/namingsystem-type'}},
20
+ 'date' => {'type'=>'dateTime', 'path'=>'NamingSystem.date', 'min'=>1, 'max'=>1},
21
+ 'publisher' => {'type'=>'string', 'path'=>'NamingSystem.publisher', 'min'=>0, 'max'=>1},
22
+ 'contact' => {'type'=>'NamingSystem::Contact', 'path'=>'NamingSystem.contact', 'min'=>0, 'max'=>Float::INFINITY},
23
+ 'responsible' => {'type'=>'string', 'path'=>'NamingSystem.responsible', 'min'=>0, 'max'=>1},
24
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/v2/0203'=>['DL', 'PPN', 'BRN', 'MR', 'MCN', 'EN', 'TAX', 'NIIP', 'PRN', 'MD', 'DR'], 'http://hl7.org/fhir/identifier-type'=>['UDI', 'SNO', 'SB', 'PLAC', 'FILL']}, 'type'=>'CodeableConcept', 'path'=>'NamingSystem.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/identifier-type'}},
25
+ 'description' => {'type'=>'string', 'path'=>'NamingSystem.description', 'min'=>0, 'max'=>1},
26
+ 'useContext' => {'type'=>'CodeableConcept', 'path'=>'NamingSystem.useContext', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/use-context'}},
27
+ 'usage' => {'type'=>'string', 'path'=>'NamingSystem.usage', 'min'=>0, 'max'=>1},
28
+ 'uniqueId' => {'type'=>'NamingSystem::Uniqueid', 'path'=>'NamingSystem.uniqueId', 'min'=>1, 'max'=>Float::INFINITY},
29
+ 'replacedBy' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/NamingSystem'], 'type'=>'Reference', 'path'=>'NamingSystem.replacedBy', 'min'=>0, 'max'=>1}
30
+ }
31
+
32
+ class Contact < FHIR::Model
33
+ include FHIR::Hashable
34
+ include FHIR::Json
35
+ include FHIR::Xml
36
+
37
+ METADATA = {
38
+ 'id' => {'type'=>'id', 'path'=>'Contact.id', 'min'=>0, 'max'=>1},
39
+ 'extension' => {'type'=>'Extension', 'path'=>'Contact.extension', 'min'=>0, 'max'=>Float::INFINITY},
40
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Contact.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
41
+ 'name' => {'type'=>'string', 'path'=>'Contact.name', 'min'=>0, 'max'=>1},
42
+ 'telecom' => {'type'=>'ContactPoint', 'path'=>'Contact.telecom', 'min'=>0, 'max'=>Float::INFINITY}
43
+ }
44
+
45
+ attr_accessor :id # 0-1 id
46
+ attr_accessor :extension # 0-* [ Extension ]
47
+ attr_accessor :modifierExtension # 0-* [ Extension ]
48
+ attr_accessor :name # 0-1 string
49
+ attr_accessor :telecom # 0-* [ ContactPoint ]
50
+ end
51
+
52
+ class Uniqueid < FHIR::Model
53
+ include FHIR::Hashable
54
+ include FHIR::Json
55
+ include FHIR::Xml
56
+
57
+ METADATA = {
58
+ 'id' => {'type'=>'id', 'path'=>'Uniqueid.id', 'min'=>0, 'max'=>1},
59
+ 'extension' => {'type'=>'Extension', 'path'=>'Uniqueid.extension', 'min'=>0, 'max'=>Float::INFINITY},
60
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Uniqueid.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
61
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/namingsystem-identifier-type'=>['oid', 'uuid', 'uri', 'other']}, 'type'=>'code', 'path'=>'Uniqueid.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/namingsystem-identifier-type'}},
62
+ 'value' => {'type'=>'string', 'path'=>'Uniqueid.value', 'min'=>1, 'max'=>1},
63
+ 'preferred' => {'type'=>'boolean', 'path'=>'Uniqueid.preferred', 'min'=>0, 'max'=>1},
64
+ 'period' => {'type'=>'Period', 'path'=>'Uniqueid.period', 'min'=>0, 'max'=>1}
65
+ }
66
+
67
+ attr_accessor :id # 0-1 id
68
+ attr_accessor :extension # 0-* [ Extension ]
69
+ attr_accessor :modifierExtension # 0-* [ Extension ]
70
+ attr_accessor :type # 1-1 code
71
+ attr_accessor :value # 1-1 string
72
+ attr_accessor :preferred # 0-1 boolean
73
+ attr_accessor :period # 0-1 Period
74
+ end
75
+
76
+ attr_accessor :id # 0-1 id
77
+ attr_accessor :meta # 0-1 Meta
78
+ attr_accessor :implicitRules # 0-1 uri
79
+ attr_accessor :language # 0-1 code
80
+ attr_accessor :text # 0-1 Narrative
81
+ attr_accessor :contained # 0-* [ Resource ]
82
+ attr_accessor :extension # 0-* [ Extension ]
83
+ attr_accessor :modifierExtension # 0-* [ Extension ]
84
+ attr_accessor :name # 1-1 string
85
+ attr_accessor :status # 1-1 code
86
+ attr_accessor :kind # 1-1 code
87
+ attr_accessor :date # 1-1 dateTime
88
+ attr_accessor :publisher # 0-1 string
89
+ attr_accessor :contact # 0-* [ NamingSystem::Contact ]
90
+ attr_accessor :responsible # 0-1 string
91
+ attr_accessor :type # 0-1 CodeableConcept
92
+ attr_accessor :description # 0-1 string
93
+ attr_accessor :useContext # 0-* [ CodeableConcept ]
94
+ attr_accessor :usage # 0-1 string
95
+ attr_accessor :uniqueId # 1-* [ NamingSystem::Uniqueid ]
96
+ attr_accessor :replacedBy # 0-1 Reference(NamingSystem)
97
+
98
+ def resourceType
99
+ 'NamingSystem'
100
+ end
101
+ end
102
+ end