fhir_models 1.8.0 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fhir_models/bootstrap/definitions.rb +1 -1
  3. data/lib/fhir_models/bootstrap/generator.rb +1 -1
  4. data/lib/fhir_models/bootstrap/template.rb +1 -1
  5. data/lib/fhir_models/examples/json/claim-example-vision-glasses.json +1 -1
  6. data/lib/fhir_models/examples/json/claimresponse-example.json +1 -1
  7. data/lib/fhir_models/examples/json/conceptmap-example-specimen-type.json +1 -3
  8. data/lib/fhir_models/examples/json/eligibilityresponse-example-benefits.json +1 -1
  9. data/lib/fhir_models/examples/json/eligibilityresponse-example.json +1 -1
  10. data/lib/fhir_models/examples/json/enrollmentresponse-example.json +1 -1
  11. data/lib/fhir_models/examples/json/paymentreconciliation-example.json +1 -1
  12. data/lib/fhir_models/examples/xml/claim-example-vision-glasses.xml +1 -1
  13. data/lib/fhir_models/examples/xml/claimresponse-example.xml +1 -1
  14. data/lib/fhir_models/examples/xml/conceptmap-example-specimen-type.xml +1 -3
  15. data/lib/fhir_models/examples/xml/eligibilityresponse-example-benefits.xml +1 -1
  16. data/lib/fhir_models/examples/xml/eligibilityresponse-example.xml +1 -1
  17. data/lib/fhir_models/examples/xml/enrollmentresponse-example.xml +1 -1
  18. data/lib/fhir_models/examples/xml/paymentreconciliation-example.xml +1 -1
  19. data/lib/fhir_models/fhir/metadata.rb +2 -2
  20. data/lib/fhir_models/fhir/resources/Account.rb +9 -9
  21. data/lib/fhir_models/fhir/resources/ActivityDefinition.rb +9 -9
  22. data/lib/fhir_models/fhir/resources/AllergyIntolerance.rb +7 -7
  23. data/lib/fhir_models/fhir/resources/Appointment.rb +5 -5
  24. data/lib/fhir_models/fhir/resources/AppointmentResponse.rb +5 -5
  25. data/lib/fhir_models/fhir/resources/AuditEvent.rb +7 -7
  26. data/lib/fhir_models/fhir/resources/Basic.rb +5 -5
  27. data/lib/fhir_models/fhir/resources/Binary.rb +3 -3
  28. data/lib/fhir_models/fhir/resources/BodySite.rb +3 -3
  29. data/lib/fhir_models/fhir/resources/Bundle.rb +1 -1
  30. data/lib/fhir_models/fhir/resources/CapabilityStatement.rb +13 -13
  31. data/lib/fhir_models/fhir/resources/CarePlan.rb +35 -35
  32. data/lib/fhir_models/fhir/resources/CareTeam.rb +7 -7
  33. data/lib/fhir_models/fhir/resources/Claim.rb +45 -45
  34. data/lib/fhir_models/fhir/resources/ClaimResponse.rb +15 -15
  35. data/lib/fhir_models/fhir/resources/ClinicalImpression.rb +19 -19
  36. data/lib/fhir_models/fhir/resources/CodeSystem.rb +1 -1
  37. data/lib/fhir_models/fhir/resources/Communication.rb +17 -17
  38. data/lib/fhir_models/fhir/resources/CommunicationRequest.rb +15 -15
  39. data/lib/fhir_models/fhir/resources/CompartmentDefinition.rb +1 -1
  40. data/lib/fhir_models/fhir/resources/Composition.rb +15 -15
  41. data/lib/fhir_models/fhir/resources/ConceptMap.rb +5 -5
  42. data/lib/fhir_models/fhir/resources/Condition.rb +11 -11
  43. data/lib/fhir_models/fhir/resources/Consent.rb +15 -15
  44. data/lib/fhir_models/fhir/resources/Contract.rb +29 -29
  45. data/lib/fhir_models/fhir/resources/Coverage.rb +11 -11
  46. data/lib/fhir_models/fhir/resources/DataElement.rb +1 -1
  47. data/lib/fhir_models/fhir/resources/DetectedIssue.rb +9 -9
  48. data/lib/fhir_models/fhir/resources/Device.rb +7 -7
  49. data/lib/fhir_models/fhir/resources/DeviceComponent.rb +5 -5
  50. data/lib/fhir_models/fhir/resources/DeviceMetric.rb +5 -5
  51. data/lib/fhir_models/fhir/resources/DeviceUseRequest.rb +23 -23
  52. data/lib/fhir_models/fhir/resources/DeviceUseStatement.rb +5 -5
  53. data/lib/fhir_models/fhir/resources/DiagnosticReport.rb +17 -17
  54. data/lib/fhir_models/fhir/resources/DiagnosticRequest.rb +21 -21
  55. data/lib/fhir_models/fhir/resources/DocumentManifest.rb +11 -11
  56. data/lib/fhir_models/fhir/resources/DocumentReference.rb +17 -17
  57. data/lib/fhir_models/fhir/resources/DomainResource.rb +1 -1
  58. data/lib/fhir_models/fhir/resources/EligibilityRequest.rb +15 -15
  59. data/lib/fhir_models/fhir/resources/EligibilityResponse.rb +13 -13
  60. data/lib/fhir_models/fhir/resources/Encounter.rb +29 -29
  61. data/lib/fhir_models/fhir/resources/Endpoint.rb +3 -3
  62. data/lib/fhir_models/fhir/resources/EnrollmentRequest.rb +11 -11
  63. data/lib/fhir_models/fhir/resources/EnrollmentResponse.rb +9 -9
  64. data/lib/fhir_models/fhir/resources/EpisodeOfCare.rb +15 -15
  65. data/lib/fhir_models/fhir/resources/ExpansionProfile.rb +1 -1
  66. data/lib/fhir_models/fhir/resources/ExplanationOfBenefit.rb +47 -47
  67. data/lib/fhir_models/fhir/resources/FamilyMemberHistory.rb +3 -3
  68. data/lib/fhir_models/fhir/resources/Flag.rb +7 -7
  69. data/lib/fhir_models/fhir/resources/Goal.rb +9 -9
  70. data/lib/fhir_models/fhir/resources/Group.rb +3 -3
  71. data/lib/fhir_models/fhir/resources/GuidanceResponse.rb +17 -17
  72. data/lib/fhir_models/fhir/resources/HealthcareService.rb +9 -9
  73. data/lib/fhir_models/fhir/resources/ImagingManifest.rb +7 -7
  74. data/lib/fhir_models/fhir/resources/ImagingStudy.rb +13 -13
  75. data/lib/fhir_models/fhir/resources/Immunization.rb +17 -17
  76. data/lib/fhir_models/fhir/resources/ImmunizationRecommendation.rb +9 -9
  77. data/lib/fhir_models/fhir/resources/ImplementationGuide.rb +7 -7
  78. data/lib/fhir_models/fhir/resources/Library.rb +1 -1
  79. data/lib/fhir_models/fhir/resources/Linkage.rb +3 -3
  80. data/lib/fhir_models/fhir/resources/List.rb +9 -9
  81. data/lib/fhir_models/fhir/resources/Location.rb +7 -7
  82. data/lib/fhir_models/fhir/resources/Measure.rb +3 -3
  83. data/lib/fhir_models/fhir/resources/MeasureReport.rb +15 -15
  84. data/lib/fhir_models/fhir/resources/Media.rb +5 -5
  85. data/lib/fhir_models/fhir/resources/Medication.rb +7 -7
  86. data/lib/fhir_models/fhir/resources/MedicationAdministration.rb +19 -19
  87. data/lib/fhir_models/fhir/resources/MedicationDispense.rb +21 -21
  88. data/lib/fhir_models/fhir/resources/MedicationRequest.rb +23 -23
  89. data/lib/fhir_models/fhir/resources/MedicationStatement.rb +11 -11
  90. data/lib/fhir_models/fhir/resources/MessageDefinition.rb +11 -11
  91. data/lib/fhir_models/fhir/resources/MessageHeader.rb +15 -15
  92. data/lib/fhir_models/fhir/resources/MetadataResource.rb +1 -1
  93. data/lib/fhir_models/fhir/resources/NamingSystem.rb +3 -3
  94. data/lib/fhir_models/fhir/resources/NutritionRequest.rb +9 -9
  95. data/lib/fhir_models/fhir/resources/Observation.rb +13 -13
  96. data/lib/fhir_models/fhir/resources/OperationDefinition.rb +7 -7
  97. data/lib/fhir_models/fhir/resources/OperationOutcome.rb +1 -1
  98. data/lib/fhir_models/fhir/resources/Organization.rb +5 -5
  99. data/lib/fhir_models/fhir/resources/Parameters.rb +1 -1
  100. data/lib/fhir_models/fhir/resources/Patient.rb +9 -9
  101. data/lib/fhir_models/fhir/resources/PaymentNotice.rb +11 -11
  102. data/lib/fhir_models/fhir/resources/PaymentReconciliation.rb +17 -17
  103. data/lib/fhir_models/fhir/resources/Person.rb +5 -5
  104. data/lib/fhir_models/fhir/resources/PlanDefinition.rb +7 -7
  105. data/lib/fhir_models/fhir/resources/Practitioner.rb +11 -11
  106. data/lib/fhir_models/fhir/resources/PractitionerRole.rb +11 -11
  107. data/lib/fhir_models/fhir/resources/Procedure.rb +21 -21
  108. data/lib/fhir_models/fhir/resources/ProcedureRequest.rb +13 -13
  109. data/lib/fhir_models/fhir/resources/ProcessRequest.rb +11 -11
  110. data/lib/fhir_models/fhir/resources/ProcessResponse.rb +11 -11
  111. data/lib/fhir_models/fhir/resources/Provenance.rb +11 -11
  112. data/lib/fhir_models/fhir/resources/Questionnaire.rb +7 -7
  113. data/lib/fhir_models/fhir/resources/QuestionnaireResponse.rb +19 -19
  114. data/lib/fhir_models/fhir/resources/ReferralRequest.rb +13 -13
  115. data/lib/fhir_models/fhir/resources/RelatedPerson.rb +3 -3
  116. data/lib/fhir_models/fhir/resources/RequestGroup.rb +13 -13
  117. data/lib/fhir_models/fhir/resources/ResearchStudy.rb +13 -13
  118. data/lib/fhir_models/fhir/resources/ResearchSubject.rb +7 -7
  119. data/lib/fhir_models/fhir/resources/Resource.rb +1 -1
  120. data/lib/fhir_models/fhir/resources/RiskAssessment.rb +17 -17
  121. data/lib/fhir_models/fhir/resources/Schedule.rb +3 -3
  122. data/lib/fhir_models/fhir/resources/SearchParameter.rb +3 -3
  123. data/lib/fhir_models/fhir/resources/Sequence.rb +15 -15
  124. data/lib/fhir_models/fhir/resources/ServiceDefinition.rb +3 -3
  125. data/lib/fhir_models/fhir/resources/Slot.rb +3 -3
  126. data/lib/fhir_models/fhir/resources/Specimen.rb +13 -13
  127. data/lib/fhir_models/fhir/resources/StructureDefinition.rb +1 -1
  128. data/lib/fhir_models/fhir/resources/StructureMap.rb +1 -1
  129. data/lib/fhir_models/fhir/resources/Subscription.rb +1 -1
  130. data/lib/fhir_models/fhir/resources/Substance.rb +3 -3
  131. data/lib/fhir_models/fhir/resources/SupplyDelivery.rb +11 -11
  132. data/lib/fhir_models/fhir/resources/SupplyRequest.rb +11 -11
  133. data/lib/fhir_models/fhir/resources/Task.rb +23 -23
  134. data/lib/fhir_models/fhir/resources/TestReport.rb +3 -3
  135. data/lib/fhir_models/fhir/resources/TestScript.rb +11 -11
  136. data/lib/fhir_models/fhir/resources/ValueSet.rb +1 -1
  137. data/lib/fhir_models/fhir/resources/VisionPrescription.rb +9 -9
  138. data/lib/fhir_models/fhir/types/Address.rb +1 -1
  139. data/lib/fhir_models/fhir/types/Age.rb +1 -1
  140. data/lib/fhir_models/fhir/types/Annotation.rb +3 -3
  141. data/lib/fhir_models/fhir/types/Attachment.rb +1 -1
  142. data/lib/fhir_models/fhir/types/BackboneElement.rb +1 -1
  143. data/lib/fhir_models/fhir/types/CodeableConcept.rb +1 -1
  144. data/lib/fhir_models/fhir/types/Coding.rb +1 -1
  145. data/lib/fhir_models/fhir/types/ContactDetail.rb +1 -1
  146. data/lib/fhir_models/fhir/types/ContactPoint.rb +1 -1
  147. data/lib/fhir_models/fhir/types/Contributor.rb +1 -1
  148. data/lib/fhir_models/fhir/types/Count.rb +1 -1
  149. data/lib/fhir_models/fhir/types/DataRequirement.rb +3 -3
  150. data/lib/fhir_models/fhir/types/Distance.rb +1 -1
  151. data/lib/fhir_models/fhir/types/DosageInstruction.rb +1 -1
  152. data/lib/fhir_models/fhir/types/Duration.rb +1 -1
  153. data/lib/fhir_models/fhir/types/Element.rb +1 -1
  154. data/lib/fhir_models/fhir/types/ElementDefinition.rb +3 -3
  155. data/lib/fhir_models/fhir/types/Extension.rb +1 -1
  156. data/lib/fhir_models/fhir/types/HumanName.rb +1 -1
  157. data/lib/fhir_models/fhir/types/Identifier.rb +3 -3
  158. data/lib/fhir_models/fhir/types/Meta.rb +1 -1
  159. data/lib/fhir_models/fhir/types/Money.rb +1 -1
  160. data/lib/fhir_models/fhir/types/Narrative.rb +1 -1
  161. data/lib/fhir_models/fhir/types/ParameterDefinition.rb +3 -3
  162. data/lib/fhir_models/fhir/types/Period.rb +1 -1
  163. data/lib/fhir_models/fhir/types/Quantity.rb +1 -1
  164. data/lib/fhir_models/fhir/types/Range.rb +1 -1
  165. data/lib/fhir_models/fhir/types/Ratio.rb +1 -1
  166. data/lib/fhir_models/fhir/types/Reference.rb +1 -1
  167. data/lib/fhir_models/fhir/types/RelatedArtifact.rb +3 -3
  168. data/lib/fhir_models/fhir/types/SampledData.rb +1 -1
  169. data/lib/fhir_models/fhir/types/Signature.rb +5 -5
  170. data/lib/fhir_models/fhir/types/Timing.rb +1 -1
  171. data/lib/fhir_models/fhir/types/TriggerDefinition.rb +3 -3
  172. data/lib/fhir_models/fhir/types/UsageContext.rb +1 -1
  173. data/lib/fhir_models/version.rb +1 -1
  174. metadata +2 -2
@@ -7,7 +7,7 @@ module FHIR
7
7
  MULTIPLE_TYPES = {
8
8
  'source' => ['Attachment', 'Identifier', 'Reference']
9
9
  }
10
- SEARCH_PARAMS = []
10
+ SEARCH_PARAMS = ['date', 'identifier', 'patient', 'action', 'actor', 'category', 'consentor', 'data', 'organization', 'period', 'purpose', 'recipient', 'security', 'source', 'status']
11
11
  METADATA = {
12
12
  'id' => {'type'=>'id', 'path'=>'Consent.id', 'min'=>0, 'max'=>1},
13
13
  'meta' => {'type'=>'Meta', 'path'=>'Consent.meta', 'min'=>0, 'max'=>1},
@@ -22,14 +22,14 @@ module FHIR
22
22
  'category' => {'valid_codes'=>{'http://hl7.org/fhir/consentcategorycodes'=>['advance-directive', 'medical-consent', 'hipaa', 'SSA-827', 'DCH-3927', 'squaxin', 'nl-lsp', 'at-elga', 'nih-hipaa', 'nci', 'nih-grdr', 'va-10-10116', 'nih-527', 'ga4gh', 'cat1', 'cat2', 'cat3', 'cat4', 'cat5', 'cat6']}, 'type'=>'CodeableConcept', 'path'=>'Consent.category', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/consent-category'}},
23
23
  'dateTime' => {'type'=>'dateTime', 'path'=>'Consent.dateTime', 'min'=>0, 'max'=>1},
24
24
  'period' => {'type'=>'Period', 'path'=>'Consent.period', 'min'=>0, 'max'=>1},
25
- 'patient' => {'type'=>'Reference', 'path'=>'Consent.patient', 'min'=>1, 'max'=>1},
26
- 'consentor' => {'type'=>'Reference', 'path'=>'Consent.consentor', 'min'=>0, 'max'=>Float::INFINITY},
27
- 'organization' => {'type'=>'Reference', 'path'=>'Consent.organization', 'min'=>0, 'max'=>1},
25
+ 'patient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'Consent.patient', 'min'=>1, 'max'=>1},
26
+ 'consentor' => {'type_profiles'=>['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'=>'Consent.consentor', 'min'=>0, 'max'=>Float::INFINITY},
27
+ 'organization' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Consent.organization', 'min'=>0, 'max'=>1},
28
28
  'sourceAttachment' => {'type'=>'Attachment', 'path'=>'Consent.source[x]', 'min'=>0, 'max'=>1},
29
29
  'sourceIdentifier' => {'type'=>'Identifier', 'path'=>'Consent.source[x]', 'min'=>0, 'max'=>1},
30
- 'sourceReference' => {'type'=>'Reference', 'path'=>'Consent.source[x]', 'min'=>0, 'max'=>1},
30
+ 'sourceReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Consent', 'http://hl7.org/fhir/StructureDefinition/DocumentReference', 'http://hl7.org/fhir/StructureDefinition/Contract', 'http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse'], 'type'=>'Reference', 'path'=>'Consent.source[x]', 'min'=>0, 'max'=>1},
31
31
  'policy' => {'type'=>'uri', 'path'=>'Consent.policy', 'min'=>1, 'max'=>1},
32
- 'recipient' => {'type'=>'Reference', 'path'=>'Consent.recipient', 'min'=>0, 'max'=>Float::INFINITY},
32
+ 'recipient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson', 'http://hl7.org/fhir/StructureDefinition/CareTeam'], 'type'=>'Reference', 'path'=>'Consent.recipient', 'min'=>0, 'max'=>Float::INFINITY},
33
33
  'purpose' => {'valid_codes'=>{'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']}, 'type'=>'Coding', 'path'=>'Consent.purpose', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-PurposeOfUse'}},
34
34
  'except' => {'type'=>'Consent::Except', 'path'=>'Consent.except', 'min'=>0, 'max'=>Float::INFINITY}
35
35
  }
@@ -64,14 +64,14 @@ module FHIR
64
64
  'extension' => {'type'=>'Extension', 'path'=>'Actor.extension', 'min'=>0, 'max'=>Float::INFINITY},
65
65
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Actor.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
66
66
  'role' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ParticipationType'=>['REF', 'AUT', 'INF', 'SBJ', 'PRCP', 'CST']}, 'type'=>'CodeableConcept', 'path'=>'Actor.role', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/consent-actor-role'}},
67
- 'reference' => {'type'=>'Reference', 'path'=>'Actor.reference', 'min'=>1, 'max'=>1}
67
+ 'reference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/CareTeam', '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'=>'Actor.reference', 'min'=>1, 'max'=>1}
68
68
  }
69
69
 
70
70
  attr_accessor :id # 0-1 string
71
71
  attr_accessor :extension # 0-* [ Extension ]
72
72
  attr_accessor :modifierExtension # 0-* [ Extension ]
73
73
  attr_accessor :role # 1-1 CodeableConcept
74
- attr_accessor :reference # 1-1 Reference()
74
+ attr_accessor :reference # 1-1 Reference(Device|Group|CareTeam|Organization|Patient|Practitioner|RelatedPerson)
75
75
  end
76
76
 
77
77
  class Data < FHIR::Model
@@ -84,14 +84,14 @@ module FHIR
84
84
  'extension' => {'type'=>'Extension', 'path'=>'Data.extension', 'min'=>0, 'max'=>Float::INFINITY},
85
85
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Data.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
86
86
  'meaning' => {'valid_codes'=>{'http://hl7.org/fhir/consent-data-meaning'=>['instance', 'related', 'dependents', 'instance', 'related', 'dependents']}, 'type'=>'code', 'path'=>'Data.meaning', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/consent-data-meaning'}},
87
- 'reference' => {'type'=>'Reference', 'path'=>'Data.reference', 'min'=>1, 'max'=>1}
87
+ 'reference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Data.reference', 'min'=>1, 'max'=>1}
88
88
  }
89
89
 
90
90
  attr_accessor :id # 0-1 string
91
91
  attr_accessor :extension # 0-* [ Extension ]
92
92
  attr_accessor :modifierExtension # 0-* [ Extension ]
93
93
  attr_accessor :meaning # 1-1 code
94
- attr_accessor :reference # 1-1 Reference()
94
+ attr_accessor :reference # 1-1 Reference(Resource)
95
95
  end
96
96
 
97
97
  attr_accessor :id # 0-1 string
@@ -121,14 +121,14 @@ module FHIR
121
121
  attr_accessor :category # 0-* [ CodeableConcept ]
122
122
  attr_accessor :dateTime # 0-1 dateTime
123
123
  attr_accessor :period # 0-1 Period
124
- attr_accessor :patient # 1-1 Reference()
125
- attr_accessor :consentor # 0-* [ Reference() ]
126
- attr_accessor :organization # 0-1 Reference()
124
+ attr_accessor :patient # 1-1 Reference(Patient)
125
+ attr_accessor :consentor # 0-* [ Reference(Organization|Patient|Practitioner|RelatedPerson) ]
126
+ attr_accessor :organization # 0-1 Reference(Organization)
127
127
  attr_accessor :sourceAttachment # 0-1 Attachment
128
128
  attr_accessor :sourceIdentifier # 0-1 Identifier
129
- attr_accessor :sourceReference # 0-1 Reference()
129
+ attr_accessor :sourceReference # 0-1 Reference(Consent|DocumentReference|Contract|QuestionnaireResponse)
130
130
  attr_accessor :policy # 1-1 uri
131
- attr_accessor :recipient # 0-* [ Reference() ]
131
+ attr_accessor :recipient # 0-* [ Reference(Device|Group|Organization|Patient|Practitioner|RelatedPerson|CareTeam) ]
132
132
  attr_accessor :purpose # 0-* [ Coding ]
133
133
  attr_accessor :except # 0-* [ Consent::Except ]
134
134
 
@@ -7,7 +7,7 @@ module FHIR
7
7
  MULTIPLE_TYPES = {
8
8
  'binding' => ['Attachment', 'Reference']
9
9
  }
10
- SEARCH_PARAMS = []
10
+ SEARCH_PARAMS = ['agent', 'authority', 'domain', 'identifier', 'issued', 'patient', 'signer', 'subject', 'topic', 'ttopic']
11
11
  METADATA = {
12
12
  'id' => {'type'=>'id', 'path'=>'Contract.id', 'min'=>0, 'max'=>1},
13
13
  'meta' => {'type'=>'Meta', 'path'=>'Contract.meta', 'min'=>0, 'max'=>1},
@@ -21,10 +21,10 @@ module FHIR
21
21
  'status' => {'valid_codes'=>{'http://hl7.org/fhir/fm-status'=>['active', 'cancelled', 'draft', 'entered-in-error', 'active', 'cancelled', 'draft', 'entered-in-error']}, 'type'=>'code', 'path'=>'Contract.status', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/fm-status'}},
22
22
  'issued' => {'type'=>'dateTime', 'path'=>'Contract.issued', 'min'=>0, 'max'=>1},
23
23
  'applies' => {'type'=>'Period', 'path'=>'Contract.applies', 'min'=>0, 'max'=>1},
24
- 'subject' => {'type'=>'Reference', 'path'=>'Contract.subject', 'min'=>0, 'max'=>Float::INFINITY},
25
- 'topic' => {'type'=>'Reference', 'path'=>'Contract.topic', 'min'=>0, 'max'=>Float::INFINITY},
26
- 'authority' => {'type'=>'Reference', 'path'=>'Contract.authority', 'min'=>0, 'max'=>Float::INFINITY},
27
- 'domain' => {'type'=>'Reference', 'path'=>'Contract.domain', 'min'=>0, 'max'=>Float::INFINITY},
24
+ 'subject' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Contract.subject', 'min'=>0, 'max'=>Float::INFINITY},
25
+ 'topic' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Contract.topic', 'min'=>0, 'max'=>Float::INFINITY},
26
+ 'authority' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Contract.authority', 'min'=>0, 'max'=>Float::INFINITY},
27
+ 'domain' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Location'], 'type'=>'Reference', 'path'=>'Contract.domain', 'min'=>0, 'max'=>Float::INFINITY},
28
28
  'type' => {'valid_codes'=>{'http://hl7.org/fhir/contracttypecodes'=>['privacy', 'disclosure', 'healthinsurance', 'supply', 'consent', 'privacy', 'disclosure', 'healthinsurance', 'supply', 'consent']}, 'type'=>'CodeableConcept', 'path'=>'Contract.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-type'}},
29
29
  'subType' => {'valid_codes'=>{'http://hl7.org/fhir/contractsubtypecodes'=>['disclosure-ca', 'disclosure-us', 'disclosure-ca', 'disclosure-us']}, 'type'=>'CodeableConcept', 'path'=>'Contract.subType', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-subtype'}},
30
30
  'action' => {'valid_codes'=>{'http://www.hl7.org/fhir/contractaction'=>['action-a', 'action-b', 'action-a', 'action-b']}, 'type'=>'CodeableConcept', 'path'=>'Contract.action', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-action'}},
@@ -34,7 +34,7 @@ module FHIR
34
34
  'valuedItem' => {'type'=>'Contract::ValuedItem', 'path'=>'Contract.valuedItem', 'min'=>0, 'max'=>Float::INFINITY},
35
35
  'term' => {'type'=>'Contract::Term', 'path'=>'Contract.term', 'min'=>0, 'max'=>Float::INFINITY},
36
36
  'bindingAttachment' => {'type'=>'Attachment', 'path'=>'Contract.binding[x]', 'min'=>0, 'max'=>1},
37
- 'bindingReference' => {'type'=>'Reference', 'path'=>'Contract.binding[x]', 'min'=>0, 'max'=>1},
37
+ 'bindingReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Composition', 'http://hl7.org/fhir/StructureDefinition/DocumentReference', 'http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse'], 'type'=>'Reference', 'path'=>'Contract.binding[x]', 'min'=>0, 'max'=>1},
38
38
  'friendly' => {'type'=>'Contract::Friendly', 'path'=>'Contract.friendly', 'min'=>0, 'max'=>Float::INFINITY},
39
39
  'legal' => {'type'=>'Contract::Legal', 'path'=>'Contract.legal', 'min'=>0, 'max'=>Float::INFINITY},
40
40
  'rule' => {'type'=>'Contract::Rule', 'path'=>'Contract.rule', 'min'=>0, 'max'=>Float::INFINITY}
@@ -49,14 +49,14 @@ module FHIR
49
49
  'id' => {'type'=>'string', 'path'=>'Agent.id', 'min'=>0, 'max'=>1},
50
50
  'extension' => {'type'=>'Extension', 'path'=>'Agent.extension', 'min'=>0, 'max'=>Float::INFINITY},
51
51
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Agent.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
52
- 'actor' => {'type'=>'Reference', 'path'=>'Agent.actor', 'min'=>1, 'max'=>1},
52
+ 'actor' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Contract', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/Location', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson', 'http://hl7.org/fhir/StructureDefinition/Substance'], 'type'=>'Reference', 'path'=>'Agent.actor', 'min'=>1, 'max'=>1},
53
53
  'role' => {'valid_codes'=>{'http://www.hl7.org/fhir/contractactorrole'=>['practitioner', 'patient', 'practitioner', 'patient']}, 'type'=>'CodeableConcept', 'path'=>'Agent.role', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-actorrole'}}
54
54
  }
55
55
 
56
56
  attr_accessor :id # 0-1 string
57
57
  attr_accessor :extension # 0-* [ Extension ]
58
58
  attr_accessor :modifierExtension # 0-* [ Extension ]
59
- attr_accessor :actor # 1-1 Reference()
59
+ attr_accessor :actor # 1-1 Reference(Contract|Device|Group|Location|Organization|Patient|Practitioner|RelatedPerson|Substance)
60
60
  attr_accessor :role # 0-* [ CodeableConcept ]
61
61
  end
62
62
 
@@ -70,7 +70,7 @@ module FHIR
70
70
  'extension' => {'type'=>'Extension', 'path'=>'Signer.extension', 'min'=>0, 'max'=>Float::INFINITY},
71
71
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Signer.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
72
72
  'type' => {'valid_codes'=>{'http://www.hl7.org/fhir/contractsignertypecodes'=>['AMENDER', 'AUTHN', 'AUT', 'AFFL', 'AGNT', 'ASSIGNED', 'CIT', 'CLAIMANT', 'COAUTH', 'CONSENTER', 'CONSWIT', 'CONT', 'COPART', 'COVPTY', 'DELEGATEE', 'delegator', 'DEPEND', 'DPOWATT', 'EMGCON', 'EVTWIT', 'EXCEST', 'GRANTEE', 'GRANTOR', 'GUAR', 'GUARD', 'GUADLTM', 'INF', 'INTPRT', 'INSBJ', 'HPOWATT', 'HPROV', 'LEGAUTHN', 'NMDINS', 'NOK', 'NOTARY', 'PAT', 'POWATT', 'PRIMAUTH', 'PRIRECIP', 'RECIP', 'RESPRSN', 'REVIEWER', 'TRANS', 'SOURCE', 'SPOWATT', 'VALID', 'VERF', 'WIT', 'AMENDER', 'AUTHN', 'AUT', 'AFFL', 'AGNT', 'ASSIGNED', 'CIT', 'CLAIMANT', 'COAUTH', 'CONSENTER', 'CONSWIT', 'CONT', 'COPART', 'COVPTY', 'DELEGATEE', 'delegator', 'DEPEND', 'DPOWATT', 'EMGCON', 'EVTWIT', 'EXCEST', 'GRANTEE', 'GRANTOR', 'GUAR', 'GUARD', 'GUADLTM', 'INF', 'INTPRT', 'INSBJ', 'HPOWATT', 'HPROV', 'LEGAUTHN', 'NMDINS', 'NOK', 'NOTARY', 'PAT', 'POWATT', 'PRIMAUTH', 'PRIRECIP', 'RECIP', 'RESPRSN', 'REVIEWER', 'TRANS', 'SOURCE', 'SPOWATT', 'VALID', 'VERF', 'WIT']}, 'type'=>'Coding', 'path'=>'Signer.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-signer-type'}},
73
- 'party' => {'type'=>'Reference', 'path'=>'Signer.party', 'min'=>1, 'max'=>1},
73
+ 'party' => {'type_profiles'=>['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'=>'Signer.party', 'min'=>1, 'max'=>1},
74
74
  'signature' => {'type'=>'Signature', 'path'=>'Signer.signature', 'min'=>1, 'max'=>Float::INFINITY}
75
75
  }
76
76
 
@@ -78,7 +78,7 @@ module FHIR
78
78
  attr_accessor :extension # 0-* [ Extension ]
79
79
  attr_accessor :modifierExtension # 0-* [ Extension ]
80
80
  attr_accessor :type # 1-1 Coding
81
- attr_accessor :party # 1-1 Reference()
81
+ attr_accessor :party # 1-1 Reference(Organization|Patient|Practitioner|RelatedPerson)
82
82
  attr_accessor :signature # 1-* [ Signature ]
83
83
  end
84
84
 
@@ -95,7 +95,7 @@ module FHIR
95
95
  'extension' => {'type'=>'Extension', 'path'=>'ValuedItem.extension', 'min'=>0, 'max'=>Float::INFINITY},
96
96
  'modifierExtension' => {'type'=>'Extension', 'path'=>'ValuedItem.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
97
97
  'entityCodeableConcept' => {'type'=>'CodeableConcept', 'path'=>'ValuedItem.entity[x]', 'min'=>0, 'max'=>1},
98
- 'entityReference' => {'type'=>'Reference', 'path'=>'ValuedItem.entity[x]', 'min'=>0, 'max'=>1},
98
+ 'entityReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'ValuedItem.entity[x]', 'min'=>0, 'max'=>1},
99
99
  'identifier' => {'type'=>'Identifier', 'path'=>'ValuedItem.identifier', 'min'=>0, 'max'=>1},
100
100
  'effectiveTime' => {'type'=>'dateTime', 'path'=>'ValuedItem.effectiveTime', 'min'=>0, 'max'=>1},
101
101
  'quantity' => {'type'=>'Quantity', 'path'=>'ValuedItem.quantity', 'min'=>0, 'max'=>1},
@@ -109,7 +109,7 @@ module FHIR
109
109
  attr_accessor :extension # 0-* [ Extension ]
110
110
  attr_accessor :modifierExtension # 0-* [ Extension ]
111
111
  attr_accessor :entityCodeableConcept # 0-1 CodeableConcept
112
- attr_accessor :entityReference # 0-1 Reference()
112
+ attr_accessor :entityReference # 0-1 Reference(Resource)
113
113
  attr_accessor :identifier # 0-1 Identifier
114
114
  attr_accessor :effectiveTime # 0-1 dateTime
115
115
  attr_accessor :quantity # 0-1 Quantity
@@ -133,7 +133,7 @@ module FHIR
133
133
  'applies' => {'type'=>'Period', 'path'=>'Term.applies', 'min'=>0, 'max'=>1},
134
134
  'type' => {'valid_codes'=>{'http://hl7.org/fhir/contracttermtypecodes'=>['oralhealth', 'vision', 'oralhealth', 'vision']}, 'type'=>'CodeableConcept', 'path'=>'Term.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-term-type'}},
135
135
  'subType' => {'valid_codes'=>{'http://hl7.org/fhir/contracttermsubtypecodes'=>['oralhealth-basic', 'oralhealth-major', 'oralhealth-orthodontic', 'oralhealth-basic', 'oralhealth-major', 'oralhealth-orthodontic']}, 'type'=>'CodeableConcept', 'path'=>'Term.subType', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-term-subtype'}},
136
- 'topic' => {'type'=>'Reference', 'path'=>'Term.topic', 'min'=>0, 'max'=>Float::INFINITY},
136
+ 'topic' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Term.topic', 'min'=>0, 'max'=>Float::INFINITY},
137
137
  'action' => {'valid_codes'=>{'http://www.hl7.org/fhir/contractaction'=>['action-a', 'action-b', 'action-a', 'action-b']}, 'type'=>'CodeableConcept', 'path'=>'Term.action', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-action'}},
138
138
  'actionReason' => {'valid_codes'=>{'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']}, 'type'=>'CodeableConcept', 'path'=>'Term.actionReason', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-PurposeOfUse'}},
139
139
  'agent' => {'type'=>'Contract::Term::Agent', 'path'=>'Term.agent', 'min'=>0, 'max'=>Float::INFINITY},
@@ -151,14 +151,14 @@ module FHIR
151
151
  'id' => {'type'=>'string', 'path'=>'Agent.id', 'min'=>0, 'max'=>1},
152
152
  'extension' => {'type'=>'Extension', 'path'=>'Agent.extension', 'min'=>0, 'max'=>Float::INFINITY},
153
153
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Agent.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
154
- 'actor' => {'type'=>'Reference', 'path'=>'Agent.actor', 'min'=>1, 'max'=>1},
154
+ 'actor' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Contract', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/Location', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson', 'http://hl7.org/fhir/StructureDefinition/Substance'], 'type'=>'Reference', 'path'=>'Agent.actor', 'min'=>1, 'max'=>1},
155
155
  'role' => {'valid_codes'=>{'http://www.hl7.org/fhir/contractactorrole'=>['practitioner', 'patient', 'practitioner', 'patient']}, 'type'=>'CodeableConcept', 'path'=>'Agent.role', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/contract-actorrole'}}
156
156
  }
157
157
 
158
158
  attr_accessor :id # 0-1 string
159
159
  attr_accessor :extension # 0-* [ Extension ]
160
160
  attr_accessor :modifierExtension # 0-* [ Extension ]
161
- attr_accessor :actor # 1-1 Reference()
161
+ attr_accessor :actor # 1-1 Reference(Contract|Device|Group|Location|Organization|Patient|Practitioner|RelatedPerson|Substance)
162
162
  attr_accessor :role # 0-* [ CodeableConcept ]
163
163
  end
164
164
 
@@ -175,7 +175,7 @@ module FHIR
175
175
  'extension' => {'type'=>'Extension', 'path'=>'ValuedItem.extension', 'min'=>0, 'max'=>Float::INFINITY},
176
176
  'modifierExtension' => {'type'=>'Extension', 'path'=>'ValuedItem.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
177
177
  'entityCodeableConcept' => {'type'=>'CodeableConcept', 'path'=>'ValuedItem.entity[x]', 'min'=>0, 'max'=>1},
178
- 'entityReference' => {'type'=>'Reference', 'path'=>'ValuedItem.entity[x]', 'min'=>0, 'max'=>1},
178
+ 'entityReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'ValuedItem.entity[x]', 'min'=>0, 'max'=>1},
179
179
  'identifier' => {'type'=>'Identifier', 'path'=>'ValuedItem.identifier', 'min'=>0, 'max'=>1},
180
180
  'effectiveTime' => {'type'=>'dateTime', 'path'=>'ValuedItem.effectiveTime', 'min'=>0, 'max'=>1},
181
181
  'quantity' => {'type'=>'Quantity', 'path'=>'ValuedItem.quantity', 'min'=>0, 'max'=>1},
@@ -189,7 +189,7 @@ module FHIR
189
189
  attr_accessor :extension # 0-* [ Extension ]
190
190
  attr_accessor :modifierExtension # 0-* [ Extension ]
191
191
  attr_accessor :entityCodeableConcept # 0-1 CodeableConcept
192
- attr_accessor :entityReference # 0-1 Reference()
192
+ attr_accessor :entityReference # 0-1 Reference(Resource)
193
193
  attr_accessor :identifier # 0-1 Identifier
194
194
  attr_accessor :effectiveTime # 0-1 dateTime
195
195
  attr_accessor :quantity # 0-1 Quantity
@@ -207,7 +207,7 @@ module FHIR
207
207
  attr_accessor :applies # 0-1 Period
208
208
  attr_accessor :type # 0-1 CodeableConcept
209
209
  attr_accessor :subType # 0-1 CodeableConcept
210
- attr_accessor :topic # 0-* [ Reference() ]
210
+ attr_accessor :topic # 0-* [ Reference(Resource) ]
211
211
  attr_accessor :action # 0-* [ CodeableConcept ]
212
212
  attr_accessor :actionReason # 0-* [ CodeableConcept ]
213
213
  attr_accessor :agent # 0-* [ Contract::Term::Agent ]
@@ -229,14 +229,14 @@ module FHIR
229
229
  'extension' => {'type'=>'Extension', 'path'=>'Friendly.extension', 'min'=>0, 'max'=>Float::INFINITY},
230
230
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Friendly.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
231
231
  'contentAttachment' => {'type'=>'Attachment', 'path'=>'Friendly.content[x]', 'min'=>1, 'max'=>1},
232
- 'contentReference' => {'type'=>'Reference', 'path'=>'Friendly.content[x]', 'min'=>1, 'max'=>1}
232
+ 'contentReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Composition', 'http://hl7.org/fhir/StructureDefinition/DocumentReference', 'http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse'], 'type'=>'Reference', 'path'=>'Friendly.content[x]', 'min'=>1, 'max'=>1}
233
233
  }
234
234
 
235
235
  attr_accessor :id # 0-1 string
236
236
  attr_accessor :extension # 0-* [ Extension ]
237
237
  attr_accessor :modifierExtension # 0-* [ Extension ]
238
238
  attr_accessor :contentAttachment # 1-1 Attachment
239
- attr_accessor :contentReference # 1-1 Reference()
239
+ attr_accessor :contentReference # 1-1 Reference(Composition|DocumentReference|QuestionnaireResponse)
240
240
  end
241
241
 
242
242
  class Legal < FHIR::Model
@@ -252,14 +252,14 @@ module FHIR
252
252
  'extension' => {'type'=>'Extension', 'path'=>'Legal.extension', 'min'=>0, 'max'=>Float::INFINITY},
253
253
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Legal.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
254
254
  'contentAttachment' => {'type'=>'Attachment', 'path'=>'Legal.content[x]', 'min'=>1, 'max'=>1},
255
- 'contentReference' => {'type'=>'Reference', 'path'=>'Legal.content[x]', 'min'=>1, 'max'=>1}
255
+ 'contentReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Composition', 'http://hl7.org/fhir/StructureDefinition/DocumentReference', 'http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse'], 'type'=>'Reference', 'path'=>'Legal.content[x]', 'min'=>1, 'max'=>1}
256
256
  }
257
257
 
258
258
  attr_accessor :id # 0-1 string
259
259
  attr_accessor :extension # 0-* [ Extension ]
260
260
  attr_accessor :modifierExtension # 0-* [ Extension ]
261
261
  attr_accessor :contentAttachment # 1-1 Attachment
262
- attr_accessor :contentReference # 1-1 Reference()
262
+ attr_accessor :contentReference # 1-1 Reference(Composition|DocumentReference|QuestionnaireResponse)
263
263
  end
264
264
 
265
265
  class Rule < FHIR::Model
@@ -275,14 +275,14 @@ module FHIR
275
275
  'extension' => {'type'=>'Extension', 'path'=>'Rule.extension', 'min'=>0, 'max'=>Float::INFINITY},
276
276
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Rule.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
277
277
  'contentAttachment' => {'type'=>'Attachment', 'path'=>'Rule.content[x]', 'min'=>1, 'max'=>1},
278
- 'contentReference' => {'type'=>'Reference', 'path'=>'Rule.content[x]', 'min'=>1, 'max'=>1}
278
+ 'contentReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/DocumentReference'], 'type'=>'Reference', 'path'=>'Rule.content[x]', 'min'=>1, 'max'=>1}
279
279
  }
280
280
 
281
281
  attr_accessor :id # 0-1 string
282
282
  attr_accessor :extension # 0-* [ Extension ]
283
283
  attr_accessor :modifierExtension # 0-* [ Extension ]
284
284
  attr_accessor :contentAttachment # 1-1 Attachment
285
- attr_accessor :contentReference # 1-1 Reference()
285
+ attr_accessor :contentReference # 1-1 Reference(DocumentReference)
286
286
  end
287
287
 
288
288
  attr_accessor :id # 0-1 id
@@ -297,10 +297,10 @@ module FHIR
297
297
  attr_accessor :status # 0-1 code
298
298
  attr_accessor :issued # 0-1 dateTime
299
299
  attr_accessor :applies # 0-1 Period
300
- attr_accessor :subject # 0-* [ Reference() ]
301
- attr_accessor :topic # 0-* [ Reference() ]
302
- attr_accessor :authority # 0-* [ Reference() ]
303
- attr_accessor :domain # 0-* [ Reference() ]
300
+ attr_accessor :subject # 0-* [ Reference(Resource) ]
301
+ attr_accessor :topic # 0-* [ Reference(Resource) ]
302
+ attr_accessor :authority # 0-* [ Reference(Organization) ]
303
+ attr_accessor :domain # 0-* [ Reference(Location) ]
304
304
  attr_accessor :type # 0-1 CodeableConcept
305
305
  attr_accessor :subType # 0-* [ CodeableConcept ]
306
306
  attr_accessor :action # 0-* [ CodeableConcept ]
@@ -310,7 +310,7 @@ module FHIR
310
310
  attr_accessor :valuedItem # 0-* [ Contract::ValuedItem ]
311
311
  attr_accessor :term # 0-* [ Contract::Term ]
312
312
  attr_accessor :bindingAttachment # 0-1 Attachment
313
- attr_accessor :bindingReference # 0-1 Reference()
313
+ attr_accessor :bindingReference # 0-1 Reference(Composition|DocumentReference|QuestionnaireResponse)
314
314
  attr_accessor :friendly # 0-* [ Contract::Friendly ]
315
315
  attr_accessor :legal # 0-* [ Contract::Legal ]
316
316
  attr_accessor :rule # 0-* [ Contract::Rule ]
@@ -4,7 +4,7 @@ module FHIR
4
4
  include FHIR::Json
5
5
  include FHIR::Xml
6
6
 
7
- SEARCH_PARAMS = []
7
+ SEARCH_PARAMS = ['beneficiary', 'class', 'dependent', 'group', 'identifier', 'payor', 'plan', 'policyholder', 'sequence', 'subclass', 'subgroup', 'subplan', 'subscriber', 'type']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'Coverage.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'Coverage.meta', 'min'=>0, 'max'=>1},
@@ -17,19 +17,19 @@ module FHIR
17
17
  'identifier' => {'type'=>'Identifier', 'path'=>'Coverage.identifier', 'min'=>0, 'max'=>Float::INFINITY},
18
18
  'status' => {'valid_codes'=>{'http://hl7.org/fhir/fm-status'=>['active', 'cancelled', 'draft', 'entered-in-error', 'active', 'cancelled', 'draft', 'entered-in-error']}, 'type'=>'code', 'path'=>'Coverage.status', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/fm-status'}},
19
19
  'type' => {'type'=>'CodeableConcept', 'path'=>'Coverage.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/coverage-type'}},
20
- 'policyHolder' => {'type'=>'Reference', 'path'=>'Coverage.policyHolder', 'min'=>0, 'max'=>1},
21
- 'subscriber' => {'type'=>'Reference', 'path'=>'Coverage.subscriber', 'min'=>0, 'max'=>1},
20
+ 'policyHolder' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson', 'http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Coverage.policyHolder', 'min'=>0, 'max'=>1},
21
+ 'subscriber' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'Coverage.subscriber', 'min'=>0, 'max'=>1},
22
22
  'subscriberId' => {'type'=>'string', 'path'=>'Coverage.subscriberId', 'min'=>0, 'max'=>1},
23
- 'beneficiary' => {'type'=>'Reference', 'path'=>'Coverage.beneficiary', 'min'=>0, 'max'=>1},
23
+ 'beneficiary' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'Coverage.beneficiary', 'min'=>0, 'max'=>1},
24
24
  'relationship' => {'valid_codes'=>{'http://hl7.org/fhir/policyholder-relationship'=>['child', 'parent', 'spouse', 'common', 'other', 'self', 'child', 'parent', 'spouse', 'common', 'other', 'self']}, 'type'=>'CodeableConcept', 'path'=>'Coverage.relationship', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/policyholder-relationship'}},
25
25
  'period' => {'type'=>'Period', 'path'=>'Coverage.period', 'min'=>0, 'max'=>1},
26
- 'payor' => {'type'=>'Reference', 'path'=>'Coverage.payor', 'min'=>0, 'max'=>Float::INFINITY},
26
+ 'payor' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'Coverage.payor', 'min'=>0, 'max'=>Float::INFINITY},
27
27
  'group' => {'type'=>'Coverage::Group', 'path'=>'Coverage.group', 'min'=>0, 'max'=>1},
28
28
  'dependent' => {'type'=>'string', 'path'=>'Coverage.dependent', 'min'=>0, 'max'=>1},
29
29
  'sequence' => {'type'=>'string', 'path'=>'Coverage.sequence', 'min'=>0, 'max'=>1},
30
30
  'order' => {'type'=>'positiveInt', 'path'=>'Coverage.order', 'min'=>0, 'max'=>1},
31
31
  'network' => {'type'=>'string', 'path'=>'Coverage.network', 'min'=>0, 'max'=>1},
32
- 'contract' => {'type'=>'Reference', 'path'=>'Coverage.contract', 'min'=>0, 'max'=>Float::INFINITY}
32
+ 'contract' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Contract'], 'type'=>'Reference', 'path'=>'Coverage.contract', 'min'=>0, 'max'=>Float::INFINITY}
33
33
  }
34
34
 
35
35
  class Group < FHIR::Model
@@ -83,19 +83,19 @@ module FHIR
83
83
  attr_accessor :identifier # 0-* [ Identifier ]
84
84
  attr_accessor :status # 0-1 code
85
85
  attr_accessor :type # 0-1 CodeableConcept
86
- attr_accessor :policyHolder # 0-1 Reference()
87
- attr_accessor :subscriber # 0-1 Reference()
86
+ attr_accessor :policyHolder # 0-1 Reference(Patient|RelatedPerson|Organization)
87
+ attr_accessor :subscriber # 0-1 Reference(Patient|RelatedPerson)
88
88
  attr_accessor :subscriberId # 0-1 string
89
- attr_accessor :beneficiary # 0-1 Reference()
89
+ attr_accessor :beneficiary # 0-1 Reference(Patient)
90
90
  attr_accessor :relationship # 0-1 CodeableConcept
91
91
  attr_accessor :period # 0-1 Period
92
- attr_accessor :payor # 0-* [ Reference() ]
92
+ attr_accessor :payor # 0-* [ Reference(Organization|Patient|RelatedPerson) ]
93
93
  attr_accessor :group # 0-1 Coverage::Group
94
94
  attr_accessor :dependent # 0-1 string
95
95
  attr_accessor :sequence # 0-1 string
96
96
  attr_accessor :order # 0-1 positiveInt
97
97
  attr_accessor :network # 0-1 string
98
- attr_accessor :contract # 0-* [ Reference() ]
98
+ attr_accessor :contract # 0-* [ Reference(Contract) ]
99
99
 
100
100
  def resourceType
101
101
  'Coverage'
@@ -4,7 +4,7 @@ module FHIR
4
4
  include FHIR::Json
5
5
  include FHIR::Xml
6
6
 
7
- SEARCH_PARAMS = []
7
+ SEARCH_PARAMS = ['code', 'date', 'description', 'identifier', 'jurisdiction', 'name', 'publisher', 'status', 'stringency', 'title', 'url', 'version']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'DataElement.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'DataElement.meta', 'min'=>0, 'max'=>1},
@@ -4,7 +4,7 @@ module FHIR
4
4
  include FHIR::Json
5
5
  include FHIR::Xml
6
6
 
7
- SEARCH_PARAMS = []
7
+ SEARCH_PARAMS = ['date', 'identifier', 'patient', 'author', 'category', 'implicated']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'DetectedIssue.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'DetectedIssue.meta', 'min'=>0, 'max'=>1},
@@ -14,13 +14,13 @@ module FHIR
14
14
  'contained' => {'type'=>'Resource', 'path'=>'DetectedIssue.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
15
  'extension' => {'type'=>'Extension', 'path'=>'DetectedIssue.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
16
  'modifierExtension' => {'type'=>'Extension', 'path'=>'DetectedIssue.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
- 'patient' => {'type'=>'Reference', 'path'=>'DetectedIssue.patient', 'min'=>0, 'max'=>1},
17
+ 'patient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'DetectedIssue.patient', 'min'=>0, 'max'=>1},
18
18
  'category' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ActCode'=>['FOOD', 'TPROD', 'DRG', 'NHP', 'NONRX', 'PREVINEF', 'DACT', 'TIME', 'ALRTENDLATE', 'ALRTSTRTLATE', 'ENDLATE', 'STRTLATE', 'ALLDONE', 'FULFIL', 'NOTACTN', 'NOTEQUIV', 'NOTEQUIVGEN', 'NOTEQUIVTHER', 'TIMING', 'INTERVAL', 'MINFREQ', 'HELD', 'TOOLATE', 'TOOSOON', 'HISTORIC', 'PATPREF', 'PATPREFALT']}, 'type'=>'CodeableConcept', 'path'=>'DetectedIssue.category', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/detectedissue-category'}},
19
19
  'severity' => {'valid_codes'=>{'http://hl7.org/fhir/detectedissue-severity'=>['high', 'moderate', 'low', 'high', 'moderate', 'low']}, 'type'=>'code', 'path'=>'DetectedIssue.severity', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/detectedissue-severity'}},
20
- 'implicated' => {'type'=>'Reference', 'path'=>'DetectedIssue.implicated', 'min'=>0, 'max'=>Float::INFINITY},
20
+ 'implicated' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'DetectedIssue.implicated', 'min'=>0, 'max'=>Float::INFINITY},
21
21
  'detail' => {'type'=>'string', 'path'=>'DetectedIssue.detail', 'min'=>0, 'max'=>1},
22
22
  'date' => {'type'=>'dateTime', 'path'=>'DetectedIssue.date', 'min'=>0, 'max'=>1},
23
- 'author' => {'type'=>'Reference', 'path'=>'DetectedIssue.author', 'min'=>0, 'max'=>1},
23
+ 'author' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Device'], 'type'=>'Reference', 'path'=>'DetectedIssue.author', 'min'=>0, 'max'=>1},
24
24
  'identifier' => {'type'=>'Identifier', 'path'=>'DetectedIssue.identifier', 'min'=>0, 'max'=>1},
25
25
  'reference' => {'type'=>'uri', 'path'=>'DetectedIssue.reference', 'min'=>0, 'max'=>1},
26
26
  'mitigation' => {'type'=>'DetectedIssue::Mitigation', 'path'=>'DetectedIssue.mitigation', 'min'=>0, 'max'=>Float::INFINITY}
@@ -37,7 +37,7 @@ module FHIR
37
37
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Mitigation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
38
38
  'action' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ActCode'=>['EMAUTH', '21', '1', '19', '2', '22', '23', '3', '4', '5', '6', '7', '14', '15', '16', '17', '18', '20', '8', '10', '11', '12', '13', '9']}, 'type'=>'CodeableConcept', 'path'=>'Mitigation.action', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/detectedissue-mitigation-action'}},
39
39
  'date' => {'type'=>'dateTime', 'path'=>'Mitigation.date', 'min'=>0, 'max'=>1},
40
- 'author' => {'type'=>'Reference', 'path'=>'Mitigation.author', 'min'=>0, 'max'=>1}
40
+ 'author' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'Mitigation.author', 'min'=>0, 'max'=>1}
41
41
  }
42
42
 
43
43
  attr_accessor :id # 0-1 string
@@ -45,7 +45,7 @@ module FHIR
45
45
  attr_accessor :modifierExtension # 0-* [ Extension ]
46
46
  attr_accessor :action # 1-1 CodeableConcept
47
47
  attr_accessor :date # 0-1 dateTime
48
- attr_accessor :author # 0-1 Reference()
48
+ attr_accessor :author # 0-1 Reference(Practitioner)
49
49
  end
50
50
 
51
51
  attr_accessor :id # 0-1 id
@@ -56,13 +56,13 @@ module FHIR
56
56
  attr_accessor :contained # 0-* [ Resource ]
57
57
  attr_accessor :extension # 0-* [ Extension ]
58
58
  attr_accessor :modifierExtension # 0-* [ Extension ]
59
- attr_accessor :patient # 0-1 Reference()
59
+ attr_accessor :patient # 0-1 Reference(Patient)
60
60
  attr_accessor :category # 0-1 CodeableConcept
61
61
  attr_accessor :severity # 0-1 code
62
- attr_accessor :implicated # 0-* [ Reference() ]
62
+ attr_accessor :implicated # 0-* [ Reference(Resource) ]
63
63
  attr_accessor :detail # 0-1 string
64
64
  attr_accessor :date # 0-1 dateTime
65
- attr_accessor :author # 0-1 Reference()
65
+ attr_accessor :author # 0-1 Reference(Practitioner|Device)
66
66
  attr_accessor :identifier # 0-1 Identifier
67
67
  attr_accessor :reference # 0-1 uri
68
68
  attr_accessor :mitigation # 0-* [ DetectedIssue::Mitigation ]
@@ -4,7 +4,7 @@ module FHIR
4
4
  include FHIR::Json
5
5
  include FHIR::Xml
6
6
 
7
- SEARCH_PARAMS = []
7
+ SEARCH_PARAMS = ['identifier', 'location', 'manufacturer', 'model', 'organization', 'patient', 'type', 'udicarrier', 'url']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'Device.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'Device.meta', 'min'=>0, 'max'=>1},
@@ -24,10 +24,10 @@ module FHIR
24
24
  'expirationDate' => {'type'=>'dateTime', 'path'=>'Device.expirationDate', 'min'=>0, 'max'=>1},
25
25
  'model' => {'type'=>'string', 'path'=>'Device.model', 'min'=>0, 'max'=>1},
26
26
  'version' => {'type'=>'string', 'path'=>'Device.version', 'min'=>0, 'max'=>1},
27
- 'patient' => {'type'=>'Reference', 'path'=>'Device.patient', 'min'=>0, 'max'=>1},
28
- 'owner' => {'type'=>'Reference', 'path'=>'Device.owner', 'min'=>0, 'max'=>1},
27
+ 'patient' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'Device.patient', 'min'=>0, 'max'=>1},
28
+ 'owner' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Device.owner', 'min'=>0, 'max'=>1},
29
29
  'contact' => {'type'=>'ContactPoint', 'path'=>'Device.contact', 'min'=>0, 'max'=>Float::INFINITY},
30
- 'location' => {'type'=>'Reference', 'path'=>'Device.location', 'min'=>0, 'max'=>1},
30
+ 'location' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Location'], 'type'=>'Reference', 'path'=>'Device.location', 'min'=>0, 'max'=>1},
31
31
  'url' => {'type'=>'uri', 'path'=>'Device.url', 'min'=>0, 'max'=>1},
32
32
  'note' => {'type'=>'Annotation', 'path'=>'Device.note', 'min'=>0, 'max'=>Float::INFINITY}
33
33
  }
@@ -50,10 +50,10 @@ module FHIR
50
50
  attr_accessor :expirationDate # 0-1 dateTime
51
51
  attr_accessor :model # 0-1 string
52
52
  attr_accessor :version # 0-1 string
53
- attr_accessor :patient # 0-1 Reference()
54
- attr_accessor :owner # 0-1 Reference()
53
+ attr_accessor :patient # 0-1 Reference(Patient)
54
+ attr_accessor :owner # 0-1 Reference(Organization)
55
55
  attr_accessor :contact # 0-* [ ContactPoint ]
56
- attr_accessor :location # 0-1 Reference()
56
+ attr_accessor :location # 0-1 Reference(Location)
57
57
  attr_accessor :url # 0-1 uri
58
58
  attr_accessor :note # 0-* [ Annotation ]
59
59
 
@@ -4,7 +4,7 @@ module FHIR
4
4
  include FHIR::Json
5
5
  include FHIR::Xml
6
6
 
7
- SEARCH_PARAMS = []
7
+ SEARCH_PARAMS = ['parent', 'source', 'type']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'DeviceComponent.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'DeviceComponent.meta', 'min'=>0, 'max'=>1},
@@ -17,8 +17,8 @@ module FHIR
17
17
  'type' => {'type'=>'CodeableConcept', 'path'=>'DeviceComponent.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'https://rtmms.nist.gov/rtmms/index.htm#!hrosetta'}},
18
18
  'identifier' => {'type'=>'Identifier', 'path'=>'DeviceComponent.identifier', 'min'=>1, 'max'=>1},
19
19
  'lastSystemChange' => {'type'=>'instant', 'path'=>'DeviceComponent.lastSystemChange', 'min'=>1, 'max'=>1},
20
- 'source' => {'type'=>'Reference', 'path'=>'DeviceComponent.source', 'min'=>0, 'max'=>1},
21
- 'parent' => {'type'=>'Reference', 'path'=>'DeviceComponent.parent', 'min'=>0, 'max'=>1},
20
+ 'source' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Device'], 'type'=>'Reference', 'path'=>'DeviceComponent.source', 'min'=>0, 'max'=>1},
21
+ 'parent' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/DeviceComponent'], 'type'=>'Reference', 'path'=>'DeviceComponent.parent', 'min'=>0, 'max'=>1},
22
22
  'operationalStatus' => {'type'=>'CodeableConcept', 'path'=>'DeviceComponent.operationalStatus', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
23
23
  'parameterGroup' => {'type'=>'CodeableConcept', 'path'=>'DeviceComponent.parameterGroup', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
24
24
  'measurementPrinciple' => {'valid_codes'=>{'http://hl7.org/fhir/measurement-principle'=>['other', 'chemical', 'electrical', 'impedance', 'nuclear', 'optical', 'thermal', 'biological', 'mechanical', 'acoustical', 'manual', 'other', 'chemical', 'electrical', 'impedance', 'nuclear', 'optical', 'thermal', 'biological', 'mechanical', 'acoustical', 'manual']}, 'type'=>'code', 'path'=>'DeviceComponent.measurementPrinciple', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/measurement-principle'}},
@@ -59,8 +59,8 @@ module FHIR
59
59
  attr_accessor :type # 1-1 CodeableConcept
60
60
  attr_accessor :identifier # 1-1 Identifier
61
61
  attr_accessor :lastSystemChange # 1-1 instant
62
- attr_accessor :source # 0-1 Reference()
63
- attr_accessor :parent # 0-1 Reference()
62
+ attr_accessor :source # 0-1 Reference(Device)
63
+ attr_accessor :parent # 0-1 Reference(DeviceComponent)
64
64
  attr_accessor :operationalStatus # 0-* [ CodeableConcept ]
65
65
  attr_accessor :parameterGroup # 0-1 CodeableConcept
66
66
  attr_accessor :measurementPrinciple # 0-1 code
@@ -4,7 +4,7 @@ module FHIR
4
4
  include FHIR::Json
5
5
  include FHIR::Xml
6
6
 
7
- SEARCH_PARAMS = []
7
+ SEARCH_PARAMS = ['category', 'identifier', 'parent', 'source', 'type']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'DeviceMetric.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'DeviceMetric.meta', 'min'=>0, 'max'=>1},
@@ -17,8 +17,8 @@ module FHIR
17
17
  'type' => {'type'=>'CodeableConcept', 'path'=>'DeviceMetric.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'https://rtmms.nist.gov/rtmms/index.htm#!hrosetta'}},
18
18
  'identifier' => {'type'=>'Identifier', 'path'=>'DeviceMetric.identifier', 'min'=>1, 'max'=>1},
19
19
  'unit' => {'type'=>'CodeableConcept', 'path'=>'DeviceMetric.unit', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'https://rtmms.nist.gov/rtmms/index.htm#!units'}},
20
- 'source' => {'type'=>'Reference', 'path'=>'DeviceMetric.source', 'min'=>0, 'max'=>1},
21
- 'parent' => {'type'=>'Reference', 'path'=>'DeviceMetric.parent', 'min'=>0, 'max'=>1},
20
+ 'source' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Device'], 'type'=>'Reference', 'path'=>'DeviceMetric.source', 'min'=>0, 'max'=>1},
21
+ 'parent' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/DeviceComponent'], 'type'=>'Reference', 'path'=>'DeviceMetric.parent', 'min'=>0, 'max'=>1},
22
22
  'operationalStatus' => {'valid_codes'=>{'http://hl7.org/fhir/metric-operational-status'=>['on', 'off', 'standby', 'on', 'off', 'standby']}, 'type'=>'code', 'path'=>'DeviceMetric.operationalStatus', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/metric-operational-status'}},
23
23
  'color' => {'valid_codes'=>{'http://hl7.org/fhir/metric-color'=>['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', 'black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white']}, 'type'=>'code', 'path'=>'DeviceMetric.color', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/metric-color'}},
24
24
  'category' => {'valid_codes'=>{'http://hl7.org/fhir/metric-category'=>['measurement', 'setting', 'calculation', 'unspecified', 'measurement', 'setting', 'calculation', 'unspecified']}, 'type'=>'code', 'path'=>'DeviceMetric.category', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/metric-category'}},
@@ -59,8 +59,8 @@ module FHIR
59
59
  attr_accessor :type # 1-1 CodeableConcept
60
60
  attr_accessor :identifier # 1-1 Identifier
61
61
  attr_accessor :unit # 0-1 CodeableConcept
62
- attr_accessor :source # 0-1 Reference()
63
- attr_accessor :parent # 0-1 Reference()
62
+ attr_accessor :source # 0-1 Reference(Device)
63
+ attr_accessor :parent # 0-1 Reference(DeviceComponent)
64
64
  attr_accessor :operationalStatus # 0-1 code
65
65
  attr_accessor :color # 0-1 code
66
66
  attr_accessor :category # 1-1 code