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,87 @@
1
+ module FHIR
2
+ class Extension < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ MULTIPLE_TYPES = {
8
+ 'value' => ['boolean', 'integer', 'decimal', 'base64Binary', 'instant', 'string', 'uri', 'date', 'dateTime', 'time', 'code', 'oid', 'id', 'unsignedInt', 'positiveInt', 'markdown', 'Annotation', 'Attachment', 'Identifier', 'CodeableConcept', 'Coding', 'Quantity', 'Range', 'Period', 'Ratio', 'SampledData', 'Signature', 'HumanName', 'Address', 'ContactPoint', 'Timing', 'Reference', 'Meta']
9
+ }
10
+ SEARCH_PARAMS = []
11
+ METADATA = {
12
+ 'id' => {'type'=>'id', 'path'=>'Extension.id', 'min'=>0, 'max'=>1},
13
+ 'extension' => {'type'=>'Extension', 'path'=>'Extension.extension', 'min'=>0, 'max'=>Float::INFINITY},
14
+ 'url' => {'type'=>'uri', 'path'=>'Extension.url', 'min'=>1, 'max'=>1},
15
+ 'valueBoolean' => {'type'=>'boolean', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
16
+ 'valueInteger' => {'type'=>'integer', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
17
+ 'valueDecimal' => {'type'=>'decimal', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
18
+ 'valueBase64Binary' => {'type'=>'base64Binary', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
19
+ 'valueInstant' => {'type'=>'instant', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
20
+ 'valueString' => {'type'=>'string', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
21
+ 'valueUri' => {'type'=>'uri', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
22
+ 'valueDate' => {'type'=>'date', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
23
+ 'valueDateTime' => {'type'=>'dateTime', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
24
+ 'valueTime' => {'type'=>'time', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
25
+ 'valueCode' => {'type'=>'code', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
26
+ 'valueOid' => {'type'=>'oid', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
27
+ 'valueId' => {'type'=>'id', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
28
+ 'valueUnsignedInt' => {'type'=>'unsignedInt', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
29
+ 'valuePositiveInt' => {'type'=>'positiveInt', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
30
+ 'valueMarkdown' => {'type'=>'markdown', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
31
+ 'valueAnnotation' => {'type'=>'Annotation', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
32
+ 'valueAttachment' => {'type'=>'Attachment', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
33
+ 'valueIdentifier' => {'type'=>'Identifier', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
34
+ 'valueCodeableConcept' => {'type'=>'CodeableConcept', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
35
+ 'valueCoding' => {'type'=>'Coding', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
36
+ 'valueQuantity' => {'type'=>'Quantity', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
37
+ 'valueRange' => {'type'=>'Range', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
38
+ 'valuePeriod' => {'type'=>'Period', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
39
+ 'valueRatio' => {'type'=>'Ratio', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
40
+ 'valueSampledData' => {'type'=>'SampledData', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
41
+ 'valueSignature' => {'type'=>'Signature', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
42
+ 'valueHumanName' => {'type'=>'HumanName', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
43
+ 'valueAddress' => {'type'=>'Address', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
44
+ 'valueContactPoint' => {'type'=>'ContactPoint', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
45
+ 'valueTiming' => {'type'=>'Timing', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
46
+ 'valueReference' => {'type'=>'Reference', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1},
47
+ 'valueMeta' => {'type'=>'Meta', 'path'=>'Extension.value[x]', 'min'=>0, 'max'=>1}
48
+ }
49
+
50
+ attr_accessor :id # 0-1 id
51
+ attr_accessor :extension # 0-* [ Extension ]
52
+ attr_accessor :url # 1-1 uri
53
+ attr_accessor :valueBoolean # 0-1 boolean
54
+ attr_accessor :valueInteger # 0-1 integer
55
+ attr_accessor :valueDecimal # 0-1 decimal
56
+ attr_accessor :valueBase64Binary # 0-1 base64Binary
57
+ attr_accessor :valueInstant # 0-1 instant
58
+ attr_accessor :valueString # 0-1 string
59
+ attr_accessor :valueUri # 0-1 uri
60
+ attr_accessor :valueDate # 0-1 date
61
+ attr_accessor :valueDateTime # 0-1 dateTime
62
+ attr_accessor :valueTime # 0-1 time
63
+ attr_accessor :valueCode # 0-1 code
64
+ attr_accessor :valueOid # 0-1 oid
65
+ attr_accessor :valueId # 0-1 id
66
+ attr_accessor :valueUnsignedInt # 0-1 unsignedInt
67
+ attr_accessor :valuePositiveInt # 0-1 positiveInt
68
+ attr_accessor :valueMarkdown # 0-1 markdown
69
+ attr_accessor :valueAnnotation # 0-1 Annotation
70
+ attr_accessor :valueAttachment # 0-1 Attachment
71
+ attr_accessor :valueIdentifier # 0-1 Identifier
72
+ attr_accessor :valueCodeableConcept # 0-1 CodeableConcept
73
+ attr_accessor :valueCoding # 0-1 Coding
74
+ attr_accessor :valueQuantity # 0-1 Quantity
75
+ attr_accessor :valueRange # 0-1 Range
76
+ attr_accessor :valuePeriod # 0-1 Period
77
+ attr_accessor :valueRatio # 0-1 Ratio
78
+ attr_accessor :valueSampledData # 0-1 SampledData
79
+ attr_accessor :valueSignature # 0-1 Signature
80
+ attr_accessor :valueHumanName # 0-1 HumanName
81
+ attr_accessor :valueAddress # 0-1 Address
82
+ attr_accessor :valueContactPoint # 0-1 ContactPoint
83
+ attr_accessor :valueTiming # 0-1 Timing
84
+ attr_accessor :valueReference # 0-1 Reference()
85
+ attr_accessor :valueMeta # 0-1 Meta
86
+ end
87
+ end
@@ -0,0 +1,30 @@
1
+ module FHIR
2
+ class HumanName < 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'=>'HumanName.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'HumanName.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'use' => {'valid_codes'=>{'http://hl7.org/fhir/name-use'=>['usual', 'official', 'temp', 'nickname', 'anonymous', 'old', 'maiden']}, 'type'=>'code', 'path'=>'HumanName.use', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/name-use'}},
12
+ 'text' => {'type'=>'string', 'path'=>'HumanName.text', 'min'=>0, 'max'=>1},
13
+ 'family' => {'type'=>'string', 'path'=>'HumanName.family', 'min'=>0, 'max'=>Float::INFINITY},
14
+ 'given' => {'type'=>'string', 'path'=>'HumanName.given', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'prefix' => {'type'=>'string', 'path'=>'HumanName.prefix', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'suffix' => {'type'=>'string', 'path'=>'HumanName.suffix', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'period' => {'type'=>'Period', 'path'=>'HumanName.period', 'min'=>0, 'max'=>1}
18
+ }
19
+
20
+ attr_accessor :id # 0-1 id
21
+ attr_accessor :extension # 0-* [ Extension ]
22
+ attr_accessor :use # 0-1 code
23
+ attr_accessor :text # 0-1 string
24
+ attr_accessor :family # 0-* [ string ]
25
+ attr_accessor :given # 0-* [ string ]
26
+ attr_accessor :prefix # 0-* [ string ]
27
+ attr_accessor :suffix # 0-* [ string ]
28
+ attr_accessor :period # 0-1 Period
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ module FHIR
2
+ class Identifier < 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'=>'Identifier.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Identifier.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'use' => {'valid_codes'=>{'http://hl7.org/fhir/identifier-use'=>['usual', 'official', 'temp', 'secondary']}, 'type'=>'code', 'path'=>'Identifier.use', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/identifier-use'}},
12
+ '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'=>'Identifier.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/identifier-type'}},
13
+ 'system' => {'type'=>'uri', 'path'=>'Identifier.system', 'min'=>0, 'max'=>1},
14
+ 'value' => {'type'=>'string', 'path'=>'Identifier.value', 'min'=>0, 'max'=>1},
15
+ 'period' => {'type'=>'Period', 'path'=>'Identifier.period', 'min'=>0, 'max'=>1},
16
+ 'assigner' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Identifier.assigner', 'min'=>0, 'max'=>1}
17
+ }
18
+
19
+ attr_accessor :id # 0-1 id
20
+ attr_accessor :extension # 0-* [ Extension ]
21
+ attr_accessor :use # 0-1 code
22
+ attr_accessor :type # 0-1 CodeableConcept
23
+ attr_accessor :system # 0-1 uri
24
+ attr_accessor :value # 0-1 string
25
+ attr_accessor :period # 0-1 Period
26
+ attr_accessor :assigner # 0-1 Reference(Organization)
27
+ end
28
+ end
@@ -0,0 +1,26 @@
1
+ module FHIR
2
+ class Meta < 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'=>'Meta.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Meta.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'versionId' => {'type'=>'id', 'path'=>'Meta.versionId', 'min'=>0, 'max'=>1},
12
+ 'lastUpdated' => {'type'=>'instant', 'path'=>'Meta.lastUpdated', 'min'=>0, 'max'=>1},
13
+ 'profile' => {'type'=>'uri', 'path'=>'Meta.profile', 'min'=>0, 'max'=>Float::INFINITY},
14
+ 'security' => {'valid_codes'=>{'http://hl7.org/fhir/v3/Confidentiality'=>['_Confidentiality', 'L', 'M', 'N', 'R', 'U', 'V', 'B', 'D', 'I', 'ETH', 'HIV', 'PSY', 'SDV', 'C', 'S', 'T'], 'http://hl7.org/fhir/v3/ActCode'=>['_InformationSensitivityPolicy', '_ActInformationSensitivityPolicy', 'ETH', 'GDIS', 'HIV', 'PSY', 'SCA', 'SDV', 'SEX', 'STD', 'TBOO', 'SICKLE', '_EntitySensitivityPolicyType', 'DEMO', 'DOB', 'GENDER', 'LIVARG', 'MARST', 'RACE', 'REL', '_RoleInformationSensitivityPolicy', 'B', 'EMPL', 'LOCIS', 'SSP', 'ADOL', 'CEL', 'DIA', 'DRGIS', 'EMP', 'PDS', 'PRS', 'COMPT', 'HRCOMPT', 'RESCOMPT', 'RMGTCOMPT', 'SecurityPolicy', 'ObligationPolicy', 'ANONY', 'AOD', 'AUDIT', 'AUDTR', 'CPLYCC', 'CPLYCD', 'CPLYJPP', 'CPLYOPP', 'CPLYOSP', 'CPLYPOL', 'DEID', 'DELAU', 'ENCRYPT', 'ENCRYPTR', 'ENCRYPTT', 'ENCRYPTU', 'HUAPRV', 'MASK', 'MINEC', 'PRIVMARK', 'PSEUD', 'REDACT', 'RefrainPolicy', 'NOAUTH', 'NOCOLLECT', 'NODSCLCD', 'NODSCLCDS', 'NOINTEGRATE', 'NOLIST', 'NOMOU', 'NOORGPOL', 'NOPAT', 'NOPERSISTP', 'NORDSCLCD', 'NORDSCLCDS', 'NORDSCLW', 'NORELINK', 'NOREUSE', 'NOVIP', 'ORCON'], 'http://hl7.org/fhir/v3/ObservationValue'=>['_SECALTINTOBV', 'ABSTRED', 'AGGRED', 'ANONYED', 'MAPPED', 'MASKED', 'PSEUDED', 'REDACTED', 'SUBSETTED', 'SYNTAC', 'TRSLT', 'VERSIONED', '_SECDATINTOBV', 'CRYTOHASH', 'DIGSIG', '_SECINTCONOBV', 'HRELIABLE', 'RELIABLE', 'UNCERTREL', 'UNRELIABLE', '_SECINTPRVOBV', '_SECINTPRVABOBV', 'CLINAST', 'DEVAST', 'HCPAST', 'PACQAST', 'PATAST', 'PAYAST', 'PROAST', 'SDMAST', '_SECINTPRVRBOBV', 'CLINRPT', 'DEVRPT', 'HCPRPT', 'PACQRPT', 'PATRPT', 'PAYRPT', 'PRORPT', 'SDMRPT'], 'http://hl7.org/fhir/v3/ActReason'=>['PurposeOfUse', 'HMARKT', 'HOPERAT', 'DONAT', 'FRAUD', 'GOV', 'HACCRED', 'HCOMPL', 'HDECD', 'HDIRECT', 'HLEGAL', 'HOUTCOMS', 'HPRGRP', 'HQUALIMP', 'HSYSADMIN', 'MEMADMIN', 'PATADMIN', 'PATSFTY', 'PERFMSR', 'RECORDMGT', 'TRAIN', 'HPAYMT', 'CLMATTCH', 'COVAUTH', 'COVERAGE', 'ELIGDTRM', 'ELIGVER', 'ENROLLM', 'REMITADV', 'HRESCH', 'CLINTRCH', 'PATRQT', 'FAMRQT', 'PWATRNY', 'SUPNWK', 'PUBHLTH', 'DISASTER', 'THREAT', 'TREAT', 'CAREMGT', 'CLINTRL', 'ETREAT', 'POPHLTH'], 'http://hl7.org/fhir/v3/ActUSPrivacyLaw'=>['_ActUSPrivacyLaw', '42CFRPart2', 'CommonRule', 'HIPAANOPP', 'HIPAAPsyNotes', 'HIPAASelfPay', 'Title38Section7332']}, 'type'=>'Coding', 'path'=>'Meta.security', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/security-labels'}},
15
+ 'tag' => {'type'=>'Coding', 'path'=>'Meta.tag', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>nil}}
16
+ }
17
+
18
+ attr_accessor :id # 0-1 id
19
+ attr_accessor :extension # 0-* [ Extension ]
20
+ attr_accessor :versionId # 0-1 id
21
+ attr_accessor :lastUpdated # 0-1 instant
22
+ attr_accessor :profile # 0-* [ uri ]
23
+ attr_accessor :security # 0-* [ Coding ]
24
+ attr_accessor :tag # 0-* [ Coding ]
25
+ end
26
+ end
@@ -0,0 +1,152 @@
1
+ module FHIR
2
+ class ModuleMetadata < 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'=>'ModuleMetadata.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'ModuleMetadata.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'url' => {'type'=>'uri', 'path'=>'ModuleMetadata.url', 'min'=>0, 'max'=>1},
12
+ 'identifier' => {'type'=>'Identifier', 'path'=>'ModuleMetadata.identifier', 'min'=>0, 'max'=>Float::INFINITY},
13
+ 'version' => {'type'=>'string', 'path'=>'ModuleMetadata.version', 'min'=>0, 'max'=>1},
14
+ 'name' => {'type'=>'string', 'path'=>'ModuleMetadata.name', 'min'=>0, 'max'=>1},
15
+ 'title' => {'type'=>'string', 'path'=>'ModuleMetadata.title', 'min'=>0, 'max'=>1},
16
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/module-metadata-type'=>['module', 'library', 'decision-support-rule', 'documentation-template', 'order-set']}, 'type'=>'code', 'path'=>'ModuleMetadata.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/module-metadata-type'}},
17
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/module-metadata-status'=>['draft', 'active', 'inactive']}, 'type'=>'code', 'path'=>'ModuleMetadata.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/module-metadata-status'}},
18
+ 'experimental' => {'type'=>'boolean', 'path'=>'ModuleMetadata.experimental', 'min'=>0, 'max'=>1},
19
+ 'description' => {'type'=>'string', 'path'=>'ModuleMetadata.description', 'min'=>0, 'max'=>1},
20
+ 'purpose' => {'type'=>'string', 'path'=>'ModuleMetadata.purpose', 'min'=>0, 'max'=>1},
21
+ 'usage' => {'type'=>'string', 'path'=>'ModuleMetadata.usage', 'min'=>0, 'max'=>1},
22
+ 'publicationDate' => {'type'=>'date', 'path'=>'ModuleMetadata.publicationDate', 'min'=>0, 'max'=>1},
23
+ 'lastReviewDate' => {'type'=>'date', 'path'=>'ModuleMetadata.lastReviewDate', 'min'=>0, 'max'=>1},
24
+ 'effectivePeriod' => {'type'=>'Period', 'path'=>'ModuleMetadata.effectivePeriod', 'min'=>0, 'max'=>1},
25
+ 'coverage' => {'type'=>'ModuleMetadata::Coverage', 'path'=>'ModuleMetadata.coverage', 'min'=>0, 'max'=>Float::INFINITY},
26
+ 'topic' => {'type'=>'CodeableConcept', 'path'=>'ModuleMetadata.topic', 'min'=>0, 'max'=>Float::INFINITY},
27
+ 'contributor' => {'type'=>'ModuleMetadata::Contributor', 'path'=>'ModuleMetadata.contributor', 'min'=>0, 'max'=>Float::INFINITY},
28
+ 'publisher' => {'type'=>'string', 'path'=>'ModuleMetadata.publisher', 'min'=>0, 'max'=>1},
29
+ 'contact' => {'type'=>'ModuleMetadata::Contact', 'path'=>'ModuleMetadata.contact', 'min'=>0, 'max'=>Float::INFINITY},
30
+ 'copyright' => {'type'=>'string', 'path'=>'ModuleMetadata.copyright', 'min'=>0, 'max'=>1},
31
+ 'relatedResource' => {'type'=>'ModuleMetadata::Relatedresource', 'path'=>'ModuleMetadata.relatedResource', 'min'=>0, 'max'=>Float::INFINITY}
32
+ }
33
+
34
+ class Coverage < FHIR::Model
35
+ include FHIR::Hashable
36
+ include FHIR::Json
37
+ include FHIR::Xml
38
+
39
+ METADATA = {
40
+ 'id' => {'type'=>'id', 'path'=>'Coverage.id', 'min'=>0, 'max'=>1},
41
+ 'extension' => {'type'=>'Extension', 'path'=>'Coverage.extension', 'min'=>0, 'max'=>Float::INFINITY},
42
+ 'focus' => {'valid_codes'=>{'http://hl7.org/fhir/module-metadata-focus-type'=>['patient-gender', 'patient-age-group', 'clinical-focus', 'target-user', 'workflow-setting', 'workflow-task', 'clinical-venue', 'jurisdiction']}, 'type'=>'Coding', 'path'=>'Coverage.focus', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/module-metadata-focus-type'}},
43
+ 'value' => {'type'=>'CodeableConcept', 'path'=>'Coverage.value', 'min'=>1, 'max'=>1}
44
+ }
45
+
46
+ attr_accessor :id # 0-1 id
47
+ attr_accessor :extension # 0-* [ Extension ]
48
+ attr_accessor :focus # 1-1 Coding
49
+ attr_accessor :value # 1-1 CodeableConcept
50
+ end
51
+
52
+ class Contributor < FHIR::Model
53
+ include FHIR::Hashable
54
+ include FHIR::Json
55
+ include FHIR::Xml
56
+
57
+ METADATA = {
58
+ 'id' => {'type'=>'id', 'path'=>'Contributor.id', 'min'=>0, 'max'=>1},
59
+ 'extension' => {'type'=>'Extension', 'path'=>'Contributor.extension', 'min'=>0, 'max'=>Float::INFINITY},
60
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/module-metadata-contributor'=>['author', 'editor', 'reviewer', 'endorser']}, 'type'=>'code', 'path'=>'Contributor.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/module-metadata-contributor'}},
61
+ 'name' => {'type'=>'string', 'path'=>'Contributor.name', 'min'=>1, 'max'=>1},
62
+ 'contact' => {'type'=>'ModuleMetadata::Contributor::Contact', 'path'=>'Contributor.contact', 'min'=>0, 'max'=>Float::INFINITY}
63
+ }
64
+
65
+ class Contact < FHIR::Model
66
+ include FHIR::Hashable
67
+ include FHIR::Json
68
+ include FHIR::Xml
69
+
70
+ METADATA = {
71
+ 'id' => {'type'=>'id', 'path'=>'Contact.id', 'min'=>0, 'max'=>1},
72
+ 'extension' => {'type'=>'Extension', 'path'=>'Contact.extension', 'min'=>0, 'max'=>Float::INFINITY},
73
+ 'name' => {'type'=>'string', 'path'=>'Contact.name', 'min'=>0, 'max'=>1},
74
+ 'telecom' => {'type'=>'ContactPoint', 'path'=>'Contact.telecom', 'min'=>0, 'max'=>Float::INFINITY}
75
+ }
76
+
77
+ attr_accessor :id # 0-1 id
78
+ attr_accessor :extension # 0-* [ Extension ]
79
+ attr_accessor :name # 0-1 string
80
+ attr_accessor :telecom # 0-* [ ContactPoint ]
81
+ end
82
+
83
+ attr_accessor :id # 0-1 id
84
+ attr_accessor :extension # 0-* [ Extension ]
85
+ attr_accessor :type # 1-1 code
86
+ attr_accessor :name # 1-1 string
87
+ attr_accessor :contact # 0-* [ ModuleMetadata::Contributor::Contact ]
88
+ end
89
+
90
+ class Contact < FHIR::Model
91
+ include FHIR::Hashable
92
+ include FHIR::Json
93
+ include FHIR::Xml
94
+
95
+ METADATA = {
96
+ 'id' => {'type'=>'id', 'path'=>'Contact.id', 'min'=>0, 'max'=>1},
97
+ 'extension' => {'type'=>'Extension', 'path'=>'Contact.extension', 'min'=>0, 'max'=>Float::INFINITY},
98
+ 'name' => {'type'=>'string', 'path'=>'Contact.name', 'min'=>0, 'max'=>1},
99
+ 'telecom' => {'type'=>'ContactPoint', 'path'=>'Contact.telecom', 'min'=>0, 'max'=>Float::INFINITY}
100
+ }
101
+
102
+ attr_accessor :id # 0-1 id
103
+ attr_accessor :extension # 0-* [ Extension ]
104
+ attr_accessor :name # 0-1 string
105
+ attr_accessor :telecom # 0-* [ ContactPoint ]
106
+ end
107
+
108
+ class Relatedresource < FHIR::Model
109
+ include FHIR::Hashable
110
+ include FHIR::Json
111
+ include FHIR::Xml
112
+
113
+ METADATA = {
114
+ 'id' => {'type'=>'id', 'path'=>'Relatedresource.id', 'min'=>0, 'max'=>1},
115
+ 'extension' => {'type'=>'Extension', 'path'=>'Relatedresource.extension', 'min'=>0, 'max'=>Float::INFINITY},
116
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/module-metadata-resource-type'=>['documentation', 'justification', 'citation', 'predecessor', 'successor', 'derived-from']}, 'type'=>'code', 'path'=>'Relatedresource.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/module-metadata-resource-type'}},
117
+ 'document' => {'type'=>'Attachment', 'path'=>'Relatedresource.document', 'min'=>0, 'max'=>1},
118
+ 'resource' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Relatedresource.resource', 'min'=>0, 'max'=>1}
119
+ }
120
+
121
+ attr_accessor :id # 0-1 id
122
+ attr_accessor :extension # 0-* [ Extension ]
123
+ attr_accessor :type # 1-1 code
124
+ attr_accessor :document # 0-1 Attachment
125
+ attr_accessor :resource # 0-1 Reference(Resource)
126
+ end
127
+
128
+ attr_accessor :id # 0-1 id
129
+ attr_accessor :extension # 0-* [ Extension ]
130
+ attr_accessor :url # 0-1 uri
131
+ attr_accessor :identifier # 0-* [ Identifier ]
132
+ attr_accessor :version # 0-1 string
133
+ attr_accessor :name # 0-1 string
134
+ attr_accessor :title # 0-1 string
135
+ attr_accessor :type # 1-1 code
136
+ attr_accessor :status # 1-1 code
137
+ attr_accessor :experimental # 0-1 boolean
138
+ attr_accessor :description # 0-1 string
139
+ attr_accessor :purpose # 0-1 string
140
+ attr_accessor :usage # 0-1 string
141
+ attr_accessor :publicationDate # 0-1 date
142
+ attr_accessor :lastReviewDate # 0-1 date
143
+ attr_accessor :effectivePeriod # 0-1 Period
144
+ attr_accessor :coverage # 0-* [ ModuleMetadata::Coverage ]
145
+ attr_accessor :topic # 0-* [ CodeableConcept ]
146
+ attr_accessor :contributor # 0-* [ ModuleMetadata::Contributor ]
147
+ attr_accessor :publisher # 0-1 string
148
+ attr_accessor :contact # 0-* [ ModuleMetadata::Contact ]
149
+ attr_accessor :copyright # 0-1 string
150
+ attr_accessor :relatedResource # 0-* [ ModuleMetadata::Relatedresource ]
151
+ end
152
+ end
@@ -0,0 +1,20 @@
1
+ module FHIR
2
+ class Narrative < 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'=>'Narrative.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Narrative.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/narrative-status'=>['generated', 'extensions', 'additional', 'empty']}, 'type'=>'code', 'path'=>'Narrative.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/narrative-status'}},
12
+ 'div' => {'type'=>'xhtml', 'path'=>'Narrative.div', 'min'=>1, 'max'=>1}
13
+ }
14
+
15
+ attr_accessor :id # 0-1 id
16
+ attr_accessor :extension # 0-* [ Extension ]
17
+ attr_accessor :status # 1-1 code
18
+ attr_accessor :div # 1-1 xhtml
19
+ end
20
+ end
@@ -0,0 +1,30 @@
1
+ module FHIR
2
+ class ParameterDefinition < 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'=>'ParameterDefinition.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'ParameterDefinition.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'name' => {'type'=>'code', 'path'=>'ParameterDefinition.name', 'min'=>0, 'max'=>1},
12
+ 'use' => {'valid_codes'=>{'http://hl7.org/fhir/operation-parameter-use'=>['in', 'out']}, 'type'=>'code', 'path'=>'ParameterDefinition.use', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/operation-parameter-use'}},
13
+ 'min' => {'type'=>'integer', 'path'=>'ParameterDefinition.min', 'min'=>0, 'max'=>1},
14
+ 'max' => {'type'=>'string', 'path'=>'ParameterDefinition.max', 'min'=>0, 'max'=>1},
15
+ 'documentation' => {'type'=>'string', 'path'=>'ParameterDefinition.documentation', 'min'=>0, 'max'=>1},
16
+ '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'], 'http://hl7.org/fhir/abstract-types'=>['Type', 'Any']}, 'type'=>'code', 'path'=>'ParameterDefinition.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/all-types'}},
17
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'ParameterDefinition.profile', 'min'=>0, 'max'=>1}
18
+ }
19
+
20
+ attr_accessor :id # 0-1 id
21
+ attr_accessor :extension # 0-* [ Extension ]
22
+ attr_accessor :name # 0-1 code
23
+ attr_accessor :use # 1-1 code
24
+ attr_accessor :min # 0-1 integer
25
+ attr_accessor :max # 0-1 string
26
+ attr_accessor :documentation # 0-1 string
27
+ attr_accessor :type # 1-1 code
28
+ attr_accessor :profile # 0-1 Reference(StructureDefinition)
29
+ end
30
+ end
@@ -0,0 +1,20 @@
1
+ module FHIR
2
+ class Period < 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'=>'Period.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Period.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'start' => {'type'=>'dateTime', 'path'=>'Period.start', 'min'=>0, 'max'=>1},
12
+ 'end' => {'type'=>'dateTime', 'path'=>'Period.end', 'min'=>0, 'max'=>1}
13
+ }
14
+
15
+ attr_accessor :id # 0-1 id
16
+ attr_accessor :extension # 0-* [ Extension ]
17
+ attr_accessor :start # 0-1 dateTime
18
+ attr_accessor :end # 0-1 dateTime
19
+ end
20
+ end
@@ -0,0 +1,26 @@
1
+ module FHIR
2
+ class Quantity < 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'=>'Quantity.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Quantity.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'value' => {'type'=>'decimal', 'path'=>'Quantity.value', 'min'=>0, 'max'=>1},
12
+ 'comparator' => {'valid_codes'=>{'http://hl7.org/fhir/quantity-comparator'=>['<', '<=', '>=', '>']}, 'type'=>'code', 'path'=>'Quantity.comparator', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/quantity-comparator'}},
13
+ 'unit' => {'type'=>'string', 'path'=>'Quantity.unit', 'min'=>0, 'max'=>1},
14
+ 'system' => {'type'=>'uri', 'path'=>'Quantity.system', 'min'=>0, 'max'=>1},
15
+ 'code' => {'type'=>'code', 'path'=>'Quantity.code', 'min'=>0, 'max'=>1}
16
+ }
17
+
18
+ attr_accessor :id # 0-1 id
19
+ attr_accessor :extension # 0-* [ Extension ]
20
+ attr_accessor :value # 0-1 decimal
21
+ attr_accessor :comparator # 0-1 code
22
+ attr_accessor :unit # 0-1 string
23
+ attr_accessor :system # 0-1 uri
24
+ attr_accessor :code # 0-1 code
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ module FHIR
2
+ class Range < 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'=>'Range.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Range.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'low' => {'type'=>'Quantity', 'path'=>'Range.low', 'min'=>0, 'max'=>1},
12
+ 'high' => {'type'=>'Quantity', 'path'=>'Range.high', 'min'=>0, 'max'=>1}
13
+ }
14
+
15
+ attr_accessor :id # 0-1 id
16
+ attr_accessor :extension # 0-* [ Extension ]
17
+ attr_accessor :low # 0-1 Quantity
18
+ attr_accessor :high # 0-1 Quantity
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ module FHIR
2
+ class Ratio < 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'=>'Ratio.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Ratio.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'numerator' => {'type'=>'Quantity', 'path'=>'Ratio.numerator', 'min'=>0, 'max'=>1},
12
+ 'denominator' => {'type'=>'Quantity', 'path'=>'Ratio.denominator', 'min'=>0, 'max'=>1}
13
+ }
14
+
15
+ attr_accessor :id # 0-1 id
16
+ attr_accessor :extension # 0-* [ Extension ]
17
+ attr_accessor :numerator # 0-1 Quantity
18
+ attr_accessor :denominator # 0-1 Quantity
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ module FHIR
2
+ class Reference < 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'=>'Reference.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'Reference.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'reference' => {'type'=>'string', 'path'=>'Reference.reference', 'min'=>0, 'max'=>1},
12
+ 'display' => {'type'=>'string', 'path'=>'Reference.display', 'min'=>0, 'max'=>1}
13
+ }
14
+
15
+ attr_accessor :id # 0-1 id
16
+ attr_accessor :extension # 0-* [ Extension ]
17
+ attr_accessor :reference # 0-1 string
18
+ attr_accessor :display # 0-1 string
19
+ end
20
+ end
@@ -0,0 +1,30 @@
1
+ module FHIR
2
+ class SampledData < 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'=>'SampledData.id', 'min'=>0, 'max'=>1},
10
+ 'extension' => {'type'=>'Extension', 'path'=>'SampledData.extension', 'min'=>0, 'max'=>Float::INFINITY},
11
+ 'origin' => {'type'=>'Quantity', 'path'=>'SampledData.origin', 'min'=>1, 'max'=>1},
12
+ 'period' => {'type'=>'decimal', 'path'=>'SampledData.period', 'min'=>1, 'max'=>1},
13
+ 'factor' => {'type'=>'decimal', 'path'=>'SampledData.factor', 'min'=>0, 'max'=>1},
14
+ 'lowerLimit' => {'type'=>'decimal', 'path'=>'SampledData.lowerLimit', 'min'=>0, 'max'=>1},
15
+ 'upperLimit' => {'type'=>'decimal', 'path'=>'SampledData.upperLimit', 'min'=>0, 'max'=>1},
16
+ 'dimensions' => {'type'=>'positiveInt', 'path'=>'SampledData.dimensions', 'min'=>1, 'max'=>1},
17
+ 'data' => {'type'=>'string', 'path'=>'SampledData.data', 'min'=>1, 'max'=>1}
18
+ }
19
+
20
+ attr_accessor :id # 0-1 id
21
+ attr_accessor :extension # 0-* [ Extension ]
22
+ attr_accessor :origin # 1-1 Quantity
23
+ attr_accessor :period # 1-1 decimal
24
+ attr_accessor :factor # 0-1 decimal
25
+ attr_accessor :lowerLimit # 0-1 decimal
26
+ attr_accessor :upperLimit # 0-1 decimal
27
+ attr_accessor :dimensions # 1-1 positiveInt
28
+ attr_accessor :data # 1-1 string
29
+ end
30
+ end
@@ -0,0 +1,31 @@
1
+ module FHIR
2
+ class Signature < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ MULTIPLE_TYPES = {
8
+ 'who' => ['uri', 'Reference']
9
+ }
10
+ SEARCH_PARAMS = []
11
+ METADATA = {
12
+ 'id' => {'type'=>'id', 'path'=>'Signature.id', 'min'=>0, 'max'=>1},
13
+ 'extension' => {'type'=>'Extension', 'path'=>'Signature.extension', 'min'=>0, 'max'=>Float::INFINITY},
14
+ 'type' => {'valid_codes'=>{'urn:iso-astm:E1762-95:2013'=>['1.2.840.10065.1.12.1.1', '1.2.840.10065.1.12.1.2', '1.2.840.10065.1.12.1.3', '1.2.840.10065.1.12.1.4', '1.2.840.10065.1.12.1.5', '1.2.840.10065.1.12.1.6', '1.2.840.10065.1.12.1.7', '1.2.840.10065.1.12.1.8', '1.2.840.10065.1.12.1.9', '1.2.840.10065.1.12.1.10', '1.2.840.10065.1.12.1.11', '1.2.840.10065.1.12.1.12', '1.2.840.10065.1.12.1.13', '1.2.840.10065.1.12.1.14', '1.2.840.10065.1.12.1.15', '1.2.840.10065.1.12.1.16', '1.2.840.10065.1.12.1.17', '1.2.840.10065.1.12.1.18']}, 'type'=>'Coding', 'path'=>'Signature.type', 'min'=>1, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/signature-type'}},
15
+ 'when' => {'type'=>'instant', 'path'=>'Signature.when', 'min'=>1, 'max'=>1},
16
+ 'whoUri' => {'type'=>'uri', 'path'=>'Signature.who[x]', 'min'=>1, 'max'=>1},
17
+ 'whoReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Signature.who[x]', 'min'=>1, 'max'=>1},
18
+ 'contentType' => {'type'=>'code', 'path'=>'Signature.contentType', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://www.rfc-editor.org/bcp/bcp13.txt'}},
19
+ 'blob' => {'type'=>'base64Binary', 'path'=>'Signature.blob', 'min'=>0, 'max'=>1}
20
+ }
21
+
22
+ attr_accessor :id # 0-1 id
23
+ attr_accessor :extension # 0-* [ Extension ]
24
+ attr_accessor :type # 1-* [ Coding ]
25
+ attr_accessor :when # 1-1 instant
26
+ attr_accessor :whoUri # 1-1 uri
27
+ attr_accessor :whoReference # 1-1 Reference(Practitioner|RelatedPerson|Patient|Device|Organization)
28
+ attr_accessor :contentType # 0-1 code
29
+ attr_accessor :blob # 0-1 base64Binary
30
+ end
31
+ end