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,54 @@
1
+ module FHIR
2
+ class SupplyDelivery < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["identifier", "patient", "receiver", "status", "supplier"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'SupplyDelivery.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'SupplyDelivery.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'SupplyDelivery.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'SupplyDelivery.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'SupplyDelivery.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'SupplyDelivery.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'SupplyDelivery.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'SupplyDelivery.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'identifier' => {'type'=>'Identifier', 'path'=>'SupplyDelivery.identifier', 'min'=>0, 'max'=>1},
18
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/supplydelivery-status'=>['in-progress', 'completed', 'abandoned']}, 'type'=>'code', 'path'=>'SupplyDelivery.status', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/supplydelivery-status'}},
19
+ 'patient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'SupplyDelivery.patient', 'min'=>0, 'max'=>1},
20
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/supply-item-type'=>['medication', 'device']}, 'type'=>'CodeableConcept', 'path'=>'SupplyDelivery.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/supplydelivery-type'}},
21
+ 'quantity' => {'type'=>'Quantity', 'path'=>'SupplyDelivery.quantity', 'min'=>0, 'max'=>1},
22
+ 'suppliedItem' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Medication', 'http://hl7.org/fhir/StructureDefinition/Substance', 'http://hl7.org/fhir/StructureDefinition/Device'], 'type'=>'Reference', 'path'=>'SupplyDelivery.suppliedItem', 'min'=>0, 'max'=>1},
23
+ 'supplier' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'SupplyDelivery.supplier', 'min'=>0, 'max'=>1},
24
+ 'whenPrepared' => {'type'=>'Period', 'path'=>'SupplyDelivery.whenPrepared', 'min'=>0, 'max'=>1},
25
+ 'time' => {'type'=>'dateTime', 'path'=>'SupplyDelivery.time', 'min'=>0, 'max'=>1},
26
+ 'destination' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Location'], 'type'=>'Reference', 'path'=>'SupplyDelivery.destination', 'min'=>0, 'max'=>1},
27
+ 'receiver' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'SupplyDelivery.receiver', 'min'=>0, 'max'=>Float::INFINITY}
28
+ }
29
+
30
+ attr_accessor :id # 0-1 id
31
+ attr_accessor :meta # 0-1 Meta
32
+ attr_accessor :implicitRules # 0-1 uri
33
+ attr_accessor :language # 0-1 code
34
+ attr_accessor :text # 0-1 Narrative
35
+ attr_accessor :contained # 0-* [ Resource ]
36
+ attr_accessor :extension # 0-* [ Extension ]
37
+ attr_accessor :modifierExtension # 0-* [ Extension ]
38
+ attr_accessor :identifier # 0-1 Identifier
39
+ attr_accessor :status # 0-1 code
40
+ attr_accessor :patient # 0-1 Reference(Patient)
41
+ attr_accessor :type # 0-1 CodeableConcept
42
+ attr_accessor :quantity # 0-1 Quantity
43
+ attr_accessor :suppliedItem # 0-1 Reference(Medication|Substance|Device)
44
+ attr_accessor :supplier # 0-1 Reference(Practitioner)
45
+ attr_accessor :whenPrepared # 0-1 Period
46
+ attr_accessor :time # 0-1 dateTime
47
+ attr_accessor :destination # 0-1 Reference(Location)
48
+ attr_accessor :receiver # 0-* [ Reference(Practitioner) ]
49
+
50
+ def resourceType
51
+ 'SupplyDelivery'
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,77 @@
1
+ module FHIR
2
+ class SupplyRequest < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ MULTIPLE_TYPES = {
8
+ 'reason' => ['CodeableConcept', 'Reference']
9
+ }
10
+ SEARCH_PARAMS = ["date", "identifier", "kind", "patient", "source", "status", "supplier"]
11
+ METADATA = {
12
+ 'id' => {'type'=>'id', 'path'=>'SupplyRequest.id', 'min'=>0, 'max'=>1},
13
+ 'meta' => {'type'=>'Meta', 'path'=>'SupplyRequest.meta', 'min'=>0, 'max'=>1},
14
+ 'implicitRules' => {'type'=>'uri', 'path'=>'SupplyRequest.implicitRules', 'min'=>0, 'max'=>1},
15
+ 'language' => {'type'=>'code', 'path'=>'SupplyRequest.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
16
+ 'text' => {'type'=>'Narrative', 'path'=>'SupplyRequest.text', 'min'=>0, 'max'=>1},
17
+ 'contained' => {'type'=>'Resource', 'path'=>'SupplyRequest.contained', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'extension' => {'type'=>'Extension', 'path'=>'SupplyRequest.extension', 'min'=>0, 'max'=>Float::INFINITY},
19
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'SupplyRequest.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
20
+ 'patient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'SupplyRequest.patient', 'min'=>0, 'max'=>1},
21
+ 'source' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'SupplyRequest.source', 'min'=>0, 'max'=>1},
22
+ 'date' => {'type'=>'dateTime', 'path'=>'SupplyRequest.date', 'min'=>0, 'max'=>1},
23
+ 'identifier' => {'type'=>'Identifier', 'path'=>'SupplyRequest.identifier', 'min'=>0, 'max'=>1},
24
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/supplyrequest-status'=>['requested', 'completed', 'failed', 'cancelled']}, 'type'=>'code', 'path'=>'SupplyRequest.status', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/supplyrequest-status'}},
25
+ 'kind' => {'valid_codes'=>{'http://hl7.org/fhir/supply-kind'=>['central', 'nonstock']}, 'type'=>'CodeableConcept', 'path'=>'SupplyRequest.kind', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/supplyrequest-kind'}},
26
+ 'orderedItem' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Medication', 'http://hl7.org/fhir/StructureDefinition/Substance', 'http://hl7.org/fhir/StructureDefinition/Device'], 'type'=>'Reference', 'path'=>'SupplyRequest.orderedItem', 'min'=>0, 'max'=>1},
27
+ 'supplier' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'SupplyRequest.supplier', 'min'=>0, 'max'=>Float::INFINITY},
28
+ 'reasonCodeableConcept' => {'valid_codes'=>{'http://hl7.org/fhir/supplyrequest-reason'=>['patient-care', 'ward-stock']}, 'type'=>'CodeableConcept', 'path'=>'SupplyRequest.reason[x]', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/supplyrequest-reason'}},
29
+ 'reasonReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'SupplyRequest.reason[x]', 'min'=>0, 'max'=>1},
30
+ 'when' => {'type'=>'SupplyRequest::When', 'path'=>'SupplyRequest.when', 'min'=>0, 'max'=>1}
31
+ }
32
+
33
+ class When < FHIR::Model
34
+ include FHIR::Hashable
35
+ include FHIR::Json
36
+ include FHIR::Xml
37
+
38
+ METADATA = {
39
+ 'id' => {'type'=>'id', 'path'=>'When.id', 'min'=>0, 'max'=>1},
40
+ 'extension' => {'type'=>'Extension', 'path'=>'When.extension', 'min'=>0, 'max'=>Float::INFINITY},
41
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'When.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
42
+ 'code' => {'valid_codes'=>{'http://snomed.info/sct'=>['884001', '1217004', '2546009', '2603003', '3015006', '3157002', '3658006', '5878004', '6155003', '6934004', '7087005', '7147002', '7380002', '13550009', '14497002', '14803004', '18131002', '19939008', '20050000', '21282002', '21864008', '24863003', '25649003', '25876001', '26593000', '27732004', '27789000', '27814009', '28017001', '34071009', '39196007', '41847000', '44180009', '44408006', '45906009', '47501007', '49499008', '50188003', '50811001', '51199007', '53281000', '57615005', '58334001', '58338003', '61751001', '62459000', '63161005', '64695001', '66825005', '68405009', '69620002', '70232002', '71997007', '73775008', '76561005', '79970003', '84422007', '84965000', '88561007', '88694003', '89185003', '89292003', '89557005', '90734009', '103334006', '103337004', '103338009', '103390000', '103391001', '123027009', '123028004', '123029007', '123030002', '123031003', '123032005', '123033000', '123034006', '123035007', '134433005', '224943009', '225750008', '225751007', '225752000', '225753005', '225754004', '225756002', '225757006', '225758001', '225759009', '225760004', '225761000', '225762007', '225763002', '225764008', '225765009', '225766005', '225767001', '225768006', '225769003', '226028008', '228864003', '229797004', '229798009', '229799001', '229800002', '229803000', '229804006', '235246008', '243884009', '246133001', '246455001', '255212004', '255213009', '255214003', '255215002', '255217005', '255218000', '255219008', '255221003', '255224006', '255227004', '255228009', '255230006', '255231005', '255232003', '255233008', '255235001', '255237009', '255238004', '255239007', '255240009', '255241008', '255242001', '255243006', '255244000', '255245004', '255246003', '255247007', '255248002', '255249005', '255250005', '255251009', '255252002', '255253007', '255257008', '255258003', '255259006', '255270004', '255271000', '255272007', '255273002', '255274008', '255299009', '255318003', '255319006', '255341006', '255355003', '255396000', '255398004', '255399007', '255402008', '255407002', '255410009', '255566006', '255614006', '255615007', '255616008', '255617004', '257958009', '257959001', '258098006', '258105001', '260383002', '260384008', '260402009', '260867005', '261002007', '261420005', '261421009', '261422002', '261423007', '261425000', '261426004', '261428003', '261429006', '261773006', '261774000', '262061000', '262068006', '262502001', '263659003', '263675000', '263730007', '263844007', '263845008', '263852005', '263853000', '263855007', '263909009', '264020004', '264498007', '264499004', '264908009', '271872005', '272104009', '272105005', '272106006', '272107002', '272108007', '272109004', '272110009', '272111008', '272112001', '272113006', '272114000', '272115004', '272116003', '272117007', '272118002', '272119005', '272120004', '272121000', '272122007', '272123002', '272125009', '272126005', '272127001', '272128006', '272129003', '272130008', '272131007', '272516007', '272517003', '272518008', '275848009', '276986009', '276987000', '277022003', '277056009', '277057000', '277267003', '277268008', '277269000', '277270004', '277271000', '277272007', '277273002', '277671009', '278177007', '278178002', '278179005', '278307001', '278499009', '281378008', '281379000', '281380002', '281381003', '281824000', '282032007', '288480009', '288524001', '288526004', '288527008', '288528003', '288563008', '297204000', '297205004', '303105007', '303110006', '303111005', '303112003', '303113008', '303114002', '303115001', '303350001', '303359000', '304283002', '307141008', '307142001', '307143006', '307144000', '307145004', '307146003', '307147007', '307148002', '307149005', '307150005', '307151009', '307152002', '307153007', '307154001', '307155000', '307156004', '307157008', '307158003', '307159006', '307160001', '307162009', '307163004', '307164005', '307165006', '307166007', '307167003', '307168008', '307169000', '307428004', '307429007', '307430002', '307431003', '307432005', '307433000', '307434006', '307435007', '307436008', '307437004', '307438009', '307439001', '307440004', '307441000', '307442007', '307443002', '307444008', '307445009', '307446005', '307447001', '307448006', '307449003', '307450003', '307451004', '307452006', '307453001', '307454007', '307455008', '307456009', '307457000', '307458005', '307459002', '307460007', '307461006', '307462004', '307463009', '307464003', '307465002', '307466001', '307467005', '307468000', '307469008', '307470009', '307471008', '307472001', '307473006', '307474000', '307475004', '307476003', '307477007', '307478002', '307479005', '307480008', '307481007', '307482000', '307483005', '307484004', '307485003', '307486002', '309601007', '309602000', '309603005', '309604004', '309605003', '309606002', '309609009', '309610004', '309611000', '309612007', '309613002', '309614008', '310886004', '311500009', '311501008', '311502001', '311503006', '311504000', '312848003', '371578004', '373933003', '373935005', '385315009', '394837003', '394846009', '394848005', '394849002', '396105004', '396106003', '396107007', '396108002', '396109005', '396110000', '396111001', '396112008', '396113003', '396114009', '396115005', '396116006', '396117002', '396119004', '396120005', '396121009', '396122002', '396123007', '396124001', '396125000', '396126004', '396127008', '396128003', '396130001', '396131002', '396132009', '396133004', '396134005', '396135006', '396136007', '396137003', '396138008', '396139000', '396140003', '396141004', '396142006', '396143001', '396144007', '396145008', '396146009', '396147000', '396148005', '396149002', '397898000', '398201009', '416190007', '416430001', '416774000', '420449005', '420660006', '421331003', '421409007', '421589008', '421969000', '422135004', '422231003', '424124008', '424572001', '424616004', '425323003', '429810009', '429811008', '429812001', '432063005', '432064004', '441808003', '443666008', '443680001', '444361000', '444371003', '444379001', '444389002', '444392003', '444469002', '444518004', '444519007', '444522009', '444523004', '444524005', '444525006', '444602003', '444682001', '444716002', '444724007', '444747008', '444752003', '444762005', '444763000', '445547001', '450426006', '702322003', '708023005', '709122007', '1061000175100', '1071000175108', '1081000175106', '1251000175107', '1261000175109', '1361000175103', '1371000175106', '1381000175109', '1391000175107', '1401000175109', '1411000175107', '1451000175108', '1461000175105', '1471000175102', '1481000175104', '1491000175101', '1501000175105', '1511000175108', '1521000175104', '1531000175101', '1541000175107', '1551000175109', '1561000175106', '1571000175103', '1581000175100', '1591000175102', '1601000175106', '1721000175109', '1731000175107', '1741000175101', '1751000175104', '1761000175102', '1771000175105', '1781000175108', '1791000175106', '1801000175107', '1811000175105', '1821000175101', '1831000175103', '1841000175109', '1871000175100', '1891000175104', '1901000175100', '2311000175105', '2331000175103', '2341000175109', '2491000175105', '2771000175101', '2881000175109', '2891000175107', '2901000175106', '2911000175109', '2921000175100', '2931000175102', '2941000175108', '2951000175105', '2961000175107', '2971000175104', '2981000175101', '3071000175109', '3091000175105', '444521000124103', '444691000124102', '444701000124102', '444711000124104', '444721000124107', '444841000124107', '444881000124101', '444891000124103', '444901000124104', '444951000124100', '444961000124103', '444981000124108', '445231000124102', '445241000124107', '445471000124100']}, 'type'=>'CodeableConcept', 'path'=>'When.code', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/supplyrequest-when'}},
43
+ 'schedule' => {'type'=>'Timing', 'path'=>'When.schedule', 'min'=>0, 'max'=>1}
44
+ }
45
+
46
+ attr_accessor :id # 0-1 id
47
+ attr_accessor :extension # 0-* [ Extension ]
48
+ attr_accessor :modifierExtension # 0-* [ Extension ]
49
+ attr_accessor :code # 0-1 CodeableConcept
50
+ attr_accessor :schedule # 0-1 Timing
51
+ end
52
+
53
+ attr_accessor :id # 0-1 id
54
+ attr_accessor :meta # 0-1 Meta
55
+ attr_accessor :implicitRules # 0-1 uri
56
+ attr_accessor :language # 0-1 code
57
+ attr_accessor :text # 0-1 Narrative
58
+ attr_accessor :contained # 0-* [ Resource ]
59
+ attr_accessor :extension # 0-* [ Extension ]
60
+ attr_accessor :modifierExtension # 0-* [ Extension ]
61
+ attr_accessor :patient # 0-1 Reference(Patient)
62
+ attr_accessor :source # 0-1 Reference(Practitioner|Organization|Patient)
63
+ attr_accessor :date # 0-1 dateTime
64
+ attr_accessor :identifier # 0-1 Identifier
65
+ attr_accessor :status # 0-1 code
66
+ attr_accessor :kind # 0-1 CodeableConcept
67
+ attr_accessor :orderedItem # 0-1 Reference(Medication|Substance|Device)
68
+ attr_accessor :supplier # 0-* [ Reference(Organization) ]
69
+ attr_accessor :reasonCodeableConcept # 0-1 CodeableConcept
70
+ attr_accessor :reasonReference # 0-1 Reference(Resource)
71
+ attr_accessor :when # 0-1 SupplyRequest::When
72
+
73
+ def resourceType
74
+ 'SupplyRequest'
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,240 @@
1
+ module FHIR
2
+ class Task < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["created", "creator", "definition", "failure", "identifier", "modified", "owner", "parent", "performer", "priority", "status", "subject", "type"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'Task.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'Task.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'Task.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'Task.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'Task.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'Task.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'Task.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Task.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'identifier' => {'type'=>'Identifier', 'path'=>'Task.identifier', 'min'=>0, 'max'=>1},
18
+ 'type' => {'type'=>'CodeableConcept', 'path'=>'Task.type', 'min'=>0, 'max'=>1},
19
+ 'description' => {'type'=>'string', 'path'=>'Task.description', 'min'=>0, 'max'=>1},
20
+ 'performerType' => {'valid_codes'=>{'http://hl7.org/fhir/task-performer-type'=>['requester', 'dispatcher', 'scheduler', 'performer', 'monitor', 'manager', 'acquirer', 'reviewer']}, 'type'=>'Coding', 'path'=>'Task.performerType', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/task-performer-type'}},
21
+ 'priority' => {'valid_codes'=>{'http://hl7.org/fhir/task-priority'=>['low', 'normal', 'high']}, 'type'=>'code', 'path'=>'Task.priority', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/task-priority'}},
22
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/task-status'=>['draft', 'requested', 'received', 'accepted', 'rejected', 'ready', 'in-progress', 'on-hold', 'failed', 'completed']}, 'type'=>'code', 'path'=>'Task.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/task-status'}},
23
+ 'failureReason' => {'type'=>'CodeableConcept', 'path'=>'Task.failureReason', 'min'=>0, 'max'=>1},
24
+ 'subject' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Task.subject', 'min'=>0, 'max'=>1},
25
+ 'for' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Task.for', 'min'=>0, 'max'=>1},
26
+ 'definition' => {'type'=>'uri', 'path'=>'Task.definition', 'min'=>0, 'max'=>1},
27
+ 'created' => {'type'=>'dateTime', 'path'=>'Task.created', 'min'=>1, 'max'=>1},
28
+ 'lastModified' => {'type'=>'dateTime', 'path'=>'Task.lastModified', 'min'=>1, 'max'=>1},
29
+ 'creator' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'Task.creator', 'min'=>1, 'max'=>1},
30
+ 'owner' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'Task.owner', 'min'=>0, 'max'=>1},
31
+ 'parent' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Task'], 'type'=>'Reference', 'path'=>'Task.parent', 'min'=>0, 'max'=>1},
32
+ 'input' => {'type'=>'Task::Input', 'path'=>'Task.input', 'min'=>0, 'max'=>Float::INFINITY},
33
+ 'output' => {'type'=>'Task::Output', 'path'=>'Task.output', 'min'=>0, 'max'=>Float::INFINITY}
34
+ }
35
+
36
+ class Input < FHIR::Model
37
+ include FHIR::Hashable
38
+ include FHIR::Json
39
+ include FHIR::Xml
40
+
41
+ MULTIPLE_TYPES = {
42
+ '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']
43
+ }
44
+ METADATA = {
45
+ 'id' => {'type'=>'id', 'path'=>'Input.id', 'min'=>0, 'max'=>1},
46
+ 'extension' => {'type'=>'Extension', 'path'=>'Input.extension', 'min'=>0, 'max'=>Float::INFINITY},
47
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Input.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
48
+ 'name' => {'type'=>'string', 'path'=>'Input.name', 'min'=>1, 'max'=>1},
49
+ 'valueBoolean' => {'type'=>'boolean', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
50
+ 'valueInteger' => {'type'=>'integer', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
51
+ 'valueDecimal' => {'type'=>'decimal', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
52
+ 'valueBase64Binary' => {'type'=>'base64Binary', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
53
+ 'valueInstant' => {'type'=>'instant', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
54
+ 'valueString' => {'type'=>'string', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
55
+ 'valueUri' => {'type'=>'uri', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
56
+ 'valueDate' => {'type'=>'date', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
57
+ 'valueDateTime' => {'type'=>'dateTime', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
58
+ 'valueTime' => {'type'=>'time', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
59
+ 'valueCode' => {'type'=>'code', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
60
+ 'valueOid' => {'type'=>'oid', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
61
+ 'valueId' => {'type'=>'id', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
62
+ 'valueUnsignedInt' => {'type'=>'unsignedInt', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
63
+ 'valuePositiveInt' => {'type'=>'positiveInt', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
64
+ 'valueMarkdown' => {'type'=>'markdown', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
65
+ 'valueAnnotation' => {'type'=>'Annotation', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
66
+ 'valueAttachment' => {'type'=>'Attachment', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
67
+ 'valueIdentifier' => {'type'=>'Identifier', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
68
+ 'valueCodeableConcept' => {'type'=>'CodeableConcept', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
69
+ 'valueCoding' => {'type'=>'Coding', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
70
+ 'valueQuantity' => {'type'=>'Quantity', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
71
+ 'valueRange' => {'type'=>'Range', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
72
+ 'valuePeriod' => {'type'=>'Period', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
73
+ 'valueRatio' => {'type'=>'Ratio', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
74
+ 'valueSampledData' => {'type'=>'SampledData', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
75
+ 'valueSignature' => {'type'=>'Signature', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
76
+ 'valueHumanName' => {'type'=>'HumanName', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
77
+ 'valueAddress' => {'type'=>'Address', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
78
+ 'valueContactPoint' => {'type'=>'ContactPoint', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
79
+ 'valueTiming' => {'type'=>'Timing', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
80
+ 'valueReference' => {'type'=>'Reference', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1},
81
+ 'valueMeta' => {'type'=>'Meta', 'path'=>'Input.value[x]', 'min'=>1, 'max'=>1}
82
+ }
83
+
84
+ attr_accessor :id # 0-1 id
85
+ attr_accessor :extension # 0-* [ Extension ]
86
+ attr_accessor :modifierExtension # 0-* [ Extension ]
87
+ attr_accessor :name # 1-1 string
88
+ attr_accessor :valueBoolean # 1-1 boolean
89
+ attr_accessor :valueInteger # 1-1 integer
90
+ attr_accessor :valueDecimal # 1-1 decimal
91
+ attr_accessor :valueBase64Binary # 1-1 base64Binary
92
+ attr_accessor :valueInstant # 1-1 instant
93
+ attr_accessor :valueString # 1-1 string
94
+ attr_accessor :valueUri # 1-1 uri
95
+ attr_accessor :valueDate # 1-1 date
96
+ attr_accessor :valueDateTime # 1-1 dateTime
97
+ attr_accessor :valueTime # 1-1 time
98
+ attr_accessor :valueCode # 1-1 code
99
+ attr_accessor :valueOid # 1-1 oid
100
+ attr_accessor :valueId # 1-1 id
101
+ attr_accessor :valueUnsignedInt # 1-1 unsignedInt
102
+ attr_accessor :valuePositiveInt # 1-1 positiveInt
103
+ attr_accessor :valueMarkdown # 1-1 markdown
104
+ attr_accessor :valueAnnotation # 1-1 Annotation
105
+ attr_accessor :valueAttachment # 1-1 Attachment
106
+ attr_accessor :valueIdentifier # 1-1 Identifier
107
+ attr_accessor :valueCodeableConcept # 1-1 CodeableConcept
108
+ attr_accessor :valueCoding # 1-1 Coding
109
+ attr_accessor :valueQuantity # 1-1 Quantity
110
+ attr_accessor :valueRange # 1-1 Range
111
+ attr_accessor :valuePeriod # 1-1 Period
112
+ attr_accessor :valueRatio # 1-1 Ratio
113
+ attr_accessor :valueSampledData # 1-1 SampledData
114
+ attr_accessor :valueSignature # 1-1 Signature
115
+ attr_accessor :valueHumanName # 1-1 HumanName
116
+ attr_accessor :valueAddress # 1-1 Address
117
+ attr_accessor :valueContactPoint # 1-1 ContactPoint
118
+ attr_accessor :valueTiming # 1-1 Timing
119
+ attr_accessor :valueReference # 1-1 Reference()
120
+ attr_accessor :valueMeta # 1-1 Meta
121
+ end
122
+
123
+ class Output < FHIR::Model
124
+ include FHIR::Hashable
125
+ include FHIR::Json
126
+ include FHIR::Xml
127
+
128
+ MULTIPLE_TYPES = {
129
+ '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']
130
+ }
131
+ METADATA = {
132
+ 'id' => {'type'=>'id', 'path'=>'Output.id', 'min'=>0, 'max'=>1},
133
+ 'extension' => {'type'=>'Extension', 'path'=>'Output.extension', 'min'=>0, 'max'=>Float::INFINITY},
134
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Output.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
135
+ 'name' => {'type'=>'string', 'path'=>'Output.name', 'min'=>1, 'max'=>1},
136
+ 'valueBoolean' => {'type'=>'boolean', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
137
+ 'valueInteger' => {'type'=>'integer', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
138
+ 'valueDecimal' => {'type'=>'decimal', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
139
+ 'valueBase64Binary' => {'type'=>'base64Binary', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
140
+ 'valueInstant' => {'type'=>'instant', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
141
+ 'valueString' => {'type'=>'string', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
142
+ 'valueUri' => {'type'=>'uri', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
143
+ 'valueDate' => {'type'=>'date', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
144
+ 'valueDateTime' => {'type'=>'dateTime', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
145
+ 'valueTime' => {'type'=>'time', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
146
+ 'valueCode' => {'type'=>'code', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
147
+ 'valueOid' => {'type'=>'oid', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
148
+ 'valueId' => {'type'=>'id', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
149
+ 'valueUnsignedInt' => {'type'=>'unsignedInt', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
150
+ 'valuePositiveInt' => {'type'=>'positiveInt', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
151
+ 'valueMarkdown' => {'type'=>'markdown', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
152
+ 'valueAnnotation' => {'type'=>'Annotation', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
153
+ 'valueAttachment' => {'type'=>'Attachment', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
154
+ 'valueIdentifier' => {'type'=>'Identifier', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
155
+ 'valueCodeableConcept' => {'type'=>'CodeableConcept', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
156
+ 'valueCoding' => {'type'=>'Coding', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
157
+ 'valueQuantity' => {'type'=>'Quantity', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
158
+ 'valueRange' => {'type'=>'Range', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
159
+ 'valuePeriod' => {'type'=>'Period', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
160
+ 'valueRatio' => {'type'=>'Ratio', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
161
+ 'valueSampledData' => {'type'=>'SampledData', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
162
+ 'valueSignature' => {'type'=>'Signature', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
163
+ 'valueHumanName' => {'type'=>'HumanName', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
164
+ 'valueAddress' => {'type'=>'Address', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
165
+ 'valueContactPoint' => {'type'=>'ContactPoint', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
166
+ 'valueTiming' => {'type'=>'Timing', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
167
+ 'valueReference' => {'type'=>'Reference', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1},
168
+ 'valueMeta' => {'type'=>'Meta', 'path'=>'Output.value[x]', 'min'=>1, 'max'=>1}
169
+ }
170
+
171
+ attr_accessor :id # 0-1 id
172
+ attr_accessor :extension # 0-* [ Extension ]
173
+ attr_accessor :modifierExtension # 0-* [ Extension ]
174
+ attr_accessor :name # 1-1 string
175
+ attr_accessor :valueBoolean # 1-1 boolean
176
+ attr_accessor :valueInteger # 1-1 integer
177
+ attr_accessor :valueDecimal # 1-1 decimal
178
+ attr_accessor :valueBase64Binary # 1-1 base64Binary
179
+ attr_accessor :valueInstant # 1-1 instant
180
+ attr_accessor :valueString # 1-1 string
181
+ attr_accessor :valueUri # 1-1 uri
182
+ attr_accessor :valueDate # 1-1 date
183
+ attr_accessor :valueDateTime # 1-1 dateTime
184
+ attr_accessor :valueTime # 1-1 time
185
+ attr_accessor :valueCode # 1-1 code
186
+ attr_accessor :valueOid # 1-1 oid
187
+ attr_accessor :valueId # 1-1 id
188
+ attr_accessor :valueUnsignedInt # 1-1 unsignedInt
189
+ attr_accessor :valuePositiveInt # 1-1 positiveInt
190
+ attr_accessor :valueMarkdown # 1-1 markdown
191
+ attr_accessor :valueAnnotation # 1-1 Annotation
192
+ attr_accessor :valueAttachment # 1-1 Attachment
193
+ attr_accessor :valueIdentifier # 1-1 Identifier
194
+ attr_accessor :valueCodeableConcept # 1-1 CodeableConcept
195
+ attr_accessor :valueCoding # 1-1 Coding
196
+ attr_accessor :valueQuantity # 1-1 Quantity
197
+ attr_accessor :valueRange # 1-1 Range
198
+ attr_accessor :valuePeriod # 1-1 Period
199
+ attr_accessor :valueRatio # 1-1 Ratio
200
+ attr_accessor :valueSampledData # 1-1 SampledData
201
+ attr_accessor :valueSignature # 1-1 Signature
202
+ attr_accessor :valueHumanName # 1-1 HumanName
203
+ attr_accessor :valueAddress # 1-1 Address
204
+ attr_accessor :valueContactPoint # 1-1 ContactPoint
205
+ attr_accessor :valueTiming # 1-1 Timing
206
+ attr_accessor :valueReference # 1-1 Reference()
207
+ attr_accessor :valueMeta # 1-1 Meta
208
+ end
209
+
210
+ attr_accessor :id # 0-1 id
211
+ attr_accessor :meta # 0-1 Meta
212
+ attr_accessor :implicitRules # 0-1 uri
213
+ attr_accessor :language # 0-1 code
214
+ attr_accessor :text # 0-1 Narrative
215
+ attr_accessor :contained # 0-* [ Resource ]
216
+ attr_accessor :extension # 0-* [ Extension ]
217
+ attr_accessor :modifierExtension # 0-* [ Extension ]
218
+ attr_accessor :identifier # 0-1 Identifier
219
+ attr_accessor :type # 0-1 CodeableConcept
220
+ attr_accessor :description # 0-1 string
221
+ attr_accessor :performerType # 0-* [ Coding ]
222
+ attr_accessor :priority # 0-1 code
223
+ attr_accessor :status # 1-1 code
224
+ attr_accessor :failureReason # 0-1 CodeableConcept
225
+ attr_accessor :subject # 0-1 Reference(Resource)
226
+ attr_accessor :for # 0-1 Reference(Resource)
227
+ attr_accessor :definition # 0-1 uri
228
+ attr_accessor :created # 1-1 dateTime
229
+ attr_accessor :lastModified # 1-1 dateTime
230
+ attr_accessor :creator # 1-1 Reference(Device|Organization|Patient|Practitioner|RelatedPerson)
231
+ attr_accessor :owner # 0-1 Reference(Device|Organization|Patient|Practitioner|RelatedPerson)
232
+ attr_accessor :parent # 0-1 Reference(Task)
233
+ attr_accessor :input # 0-* [ Task::Input ]
234
+ attr_accessor :output # 0-* [ Task::Output ]
235
+
236
+ def resourceType
237
+ 'Task'
238
+ end
239
+ end
240
+ end