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
@@ -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', 'content', 'date', 'description', 'identifier', 'jurisdiction', 'language', 'name', 'publisher', 'status', 'system', 'title', 'url', 'version']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'CodeSystem.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'CodeSystem.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 = ['based-on', 'category', 'context', 'identifier', 'medium', 'patient', 'received', 'recipient', 'sender', 'sent', 'status', 'subject']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'Communication.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'Communication.meta', 'min'=>0, 'max'=>1},
@@ -15,18 +15,18 @@ module FHIR
15
15
  'extension' => {'type'=>'Extension', 'path'=>'Communication.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
16
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Communication.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
17
  'identifier' => {'type'=>'Identifier', 'path'=>'Communication.identifier', 'min'=>0, 'max'=>Float::INFINITY},
18
- 'basedOn' => {'type'=>'Reference', 'path'=>'Communication.basedOn', 'min'=>0, 'max'=>Float::INFINITY},
19
- 'parent' => {'type'=>'Reference', 'path'=>'Communication.parent', 'min'=>0, 'max'=>Float::INFINITY},
18
+ 'basedOn' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Communication.basedOn', 'min'=>0, 'max'=>Float::INFINITY},
19
+ 'parent' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Communication.parent', 'min'=>0, 'max'=>Float::INFINITY},
20
20
  'status' => {'valid_codes'=>{'http://hl7.org/fhir/communication-status'=>['in-progress', 'completed', 'suspended', 'rejected', 'failed', 'in-progress', 'completed', 'suspended', 'rejected', 'failed']}, 'type'=>'code', 'path'=>'Communication.status', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/communication-status'}},
21
21
  'category' => {'type'=>'CodeableConcept', 'path'=>'Communication.category', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
22
22
  'medium' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ParticipationMode'=>['ELECTRONIC', 'PHYSICAL', 'REMOTE', 'VERBAL', 'DICTATE', 'FACE', 'PHONE', 'VIDEOCONF', 'WRITTEN', 'FAXWRIT', 'HANDWRIT', 'MAILWRIT', 'ONLINEWRIT', 'EMAILWRIT', 'TYPEWRIT']}, 'type'=>'CodeableConcept', 'path'=>'Communication.medium', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-ParticipationMode'}},
23
- 'subject' => {'type'=>'Reference', 'path'=>'Communication.subject', 'min'=>0, 'max'=>1},
24
- 'topic' => {'type'=>'Reference', 'path'=>'Communication.topic', 'min'=>0, 'max'=>Float::INFINITY},
25
- 'context' => {'type'=>'Reference', 'path'=>'Communication.context', 'min'=>0, 'max'=>1},
23
+ 'subject' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Group'], 'type'=>'Reference', 'path'=>'Communication.subject', 'min'=>0, 'max'=>1},
24
+ 'topic' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Communication.topic', 'min'=>0, 'max'=>Float::INFINITY},
25
+ 'context' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Encounter', 'http://hl7.org/fhir/StructureDefinition/EpisodeOfCare'], 'type'=>'Reference', 'path'=>'Communication.context', 'min'=>0, 'max'=>1},
26
26
  'sent' => {'type'=>'dateTime', 'path'=>'Communication.sent', 'min'=>0, 'max'=>1},
27
27
  'received' => {'type'=>'dateTime', 'path'=>'Communication.received', 'min'=>0, 'max'=>1},
28
- 'sender' => {'type'=>'Reference', 'path'=>'Communication.sender', 'min'=>0, 'max'=>1},
29
- 'recipient' => {'type'=>'Reference', 'path'=>'Communication.recipient', 'min'=>0, 'max'=>Float::INFINITY},
28
+ 'sender' => {'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'=>'Communication.sender', 'min'=>0, 'max'=>1},
29
+ 'recipient' => {'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', 'http://hl7.org/fhir/StructureDefinition/Group'], 'type'=>'Reference', 'path'=>'Communication.recipient', 'min'=>0, 'max'=>Float::INFINITY},
30
30
  'reason' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ActReason'=>['ACCREQNA', 'FLRCNV', 'MEDNEC', 'PAT', 'COVSUS', 'DECSD', 'REGERR', 'AGE', 'CRIME', 'DIS', 'EMPLOY', 'FINAN', 'HEALTH', 'MULTI', 'PNC', 'STATUTORY', 'VEHIC', 'WORK', 'OVRER', 'OVRPJ', 'OVRPS', 'OVRTPS', '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', 'MARKT', 'OPERAT', 'LEGAL', 'ACCRED', 'COMPL', 'ENADMIN', 'OUTCOMS', 'PRGRPT', 'QUALIMP', 'SYSADMN', 'PAYMT', 'RESCH', 'SRVC', '_ActInvalidReason', 'ADVSTORAGE', 'COLDCHNBRK', 'EXPLOT', 'OUTSIDESCHED', 'PRODRECALL', 'INCCOVPTY', 'INCINVOICE', 'INCPOLICY', 'INCPROV', 'IMMUNE', 'MEDPREC', 'OSTOCK', 'PATOBJ', 'PHILISOP', 'RELIG', 'VACEFF', 'VACSAF', 'FRR01', 'FRR02', 'FRR03', 'FRR04', 'FRR05', 'FRR06', 'RET', 'SCH', 'TRM', 'UNS', 'NPT', 'PPT', 'UPT', 'ALTCHOICE', 'CLARIF', 'DRUGHIGH', 'HOSPADM', 'LABINT', 'NON-AVAIL', 'PREG', 'SALG', 'SDDI', 'SDUPTHER', 'SINTOL', 'SURG', 'WASHOUT', '_ControlActNullificationReasonCode', 'ALTD', 'EIE', 'NORECMTCH', 'INRQSTATE', 'NOMATCH', 'NOPRODMTCH', 'NOSERMTCH', 'NOVERMTCH', 'NOPERM', 'NOUSERPERM', 'NOAGNTPERM', 'NOUSRPERM', 'WRNGVER', 'DISCONT', 'INEFFECT', 'MONIT', 'NOREQ', 'NOTCOVER', 'PREFUS', 'RECALL', 'REPLACE', 'DOSECHG', 'REPLACEFIX', 'UNABLE', 'HOLDDONE', 'HOLDINAP', 'ADMINERROR', 'CLINMOD', '_PharmacySupplyEventAbortReason', 'CONTRA', 'FOABORT', 'FOSUSP', 'NOPICK', 'PATDEC', 'QUANTCHG', 'FLRSTCK', 'LTC', 'OFFICE', 'PHARM', 'PROG', 'ALREADYRX', 'FAMPHYS', 'MODIFY', 'NEEDAPMT', 'NOTAVAIL', 'NOTPAT', 'ONHOLD', 'PRNA', 'STOPMED', 'TOOEARLY', 'IMPROV', 'INTOL', 'NEWSTR', 'NEWTHER', 'CHGDATA', 'FIXDATA', 'MDATA', 'NEWDATA', 'UMDATA', 'ADMREV', 'PATCAR', 'PATREQ', 'PRCREV', 'REGUL', 'RSRCH', 'VALIDATION', '_PharmacySupplyRequestFulfillerRevisionRefusalReasonCode', 'LOCKED', 'UNKWNTARGET', 'BLK', 'DEC', 'FIN', 'MED', 'MTG', 'PHY', '_StatusRevisionRefusalReasonCode', 'FILLED', '_SubstanceAdministrationPermissionRefusalReasonCode', 'PATINELIG', 'PROTUNMET', 'PROVUNAUTH', 'ALGINT', 'COMPCON', 'THERCHAR', 'TRIAL', 'CT', 'FP', 'OS', 'RR', 'ER', 'RQ', 'BONUS', 'CHD', 'DEP', 'ECH', 'EDU', 'EMP', 'ESP', 'FAM', 'IND', 'INVOICE', 'PROA', 'RECOV', 'RETRO', 'SPC', 'SPO', 'TRAN']}, 'type'=>'CodeableConcept', 'path'=>'Communication.reason', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-ActReason'}},
31
31
  'payload' => {'type'=>'Communication::Payload', 'path'=>'Communication.payload', 'min'=>0, 'max'=>Float::INFINITY},
32
32
  'note' => {'type'=>'Annotation', 'path'=>'Communication.note', 'min'=>0, 'max'=>Float::INFINITY}
@@ -46,7 +46,7 @@ module FHIR
46
46
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Payload.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
47
47
  'contentString' => {'type'=>'string', 'path'=>'Payload.content[x]', 'min'=>1, 'max'=>1},
48
48
  'contentAttachment' => {'type'=>'Attachment', 'path'=>'Payload.content[x]', 'min'=>1, 'max'=>1},
49
- 'contentReference' => {'type'=>'Reference', 'path'=>'Payload.content[x]', 'min'=>1, 'max'=>1}
49
+ 'contentReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Payload.content[x]', 'min'=>1, 'max'=>1}
50
50
  }
51
51
 
52
52
  attr_accessor :id # 0-1 string
@@ -54,7 +54,7 @@ module FHIR
54
54
  attr_accessor :modifierExtension # 0-* [ Extension ]
55
55
  attr_accessor :contentString # 1-1 string
56
56
  attr_accessor :contentAttachment # 1-1 Attachment
57
- attr_accessor :contentReference # 1-1 Reference()
57
+ attr_accessor :contentReference # 1-1 Reference(Resource)
58
58
  end
59
59
 
60
60
  attr_accessor :id # 0-1 id
@@ -66,18 +66,18 @@ module FHIR
66
66
  attr_accessor :extension # 0-* [ Extension ]
67
67
  attr_accessor :modifierExtension # 0-* [ Extension ]
68
68
  attr_accessor :identifier # 0-* [ Identifier ]
69
- attr_accessor :basedOn # 0-* [ Reference() ]
70
- attr_accessor :parent # 0-* [ Reference() ]
69
+ attr_accessor :basedOn # 0-* [ Reference(Resource) ]
70
+ attr_accessor :parent # 0-* [ Reference(Resource) ]
71
71
  attr_accessor :status # 0-1 code
72
72
  attr_accessor :category # 0-1 CodeableConcept
73
73
  attr_accessor :medium # 0-* [ CodeableConcept ]
74
- attr_accessor :subject # 0-1 Reference()
75
- attr_accessor :topic # 0-* [ Reference() ]
76
- attr_accessor :context # 0-1 Reference()
74
+ attr_accessor :subject # 0-1 Reference(Patient|Group)
75
+ attr_accessor :topic # 0-* [ Reference(Resource) ]
76
+ attr_accessor :context # 0-1 Reference(Encounter|EpisodeOfCare)
77
77
  attr_accessor :sent # 0-1 dateTime
78
78
  attr_accessor :received # 0-1 dateTime
79
- attr_accessor :sender # 0-1 Reference()
80
- attr_accessor :recipient # 0-* [ Reference() ]
79
+ attr_accessor :sender # 0-1 Reference(Device|Organization|Patient|Practitioner|RelatedPerson)
80
+ attr_accessor :recipient # 0-* [ Reference(Device|Organization|Patient|Practitioner|RelatedPerson|Group) ]
81
81
  attr_accessor :reason # 0-* [ CodeableConcept ]
82
82
  attr_accessor :payload # 0-* [ Communication::Payload ]
83
83
  attr_accessor :note # 0-* [ Annotation ]
@@ -7,7 +7,7 @@ module FHIR
7
7
  MULTIPLE_TYPES = {
8
8
  'scheduled' => ['dateTime', 'Period']
9
9
  }
10
- SEARCH_PARAMS = []
10
+ SEARCH_PARAMS = ['category', 'context', 'identifier', 'medium', 'patient', 'priority', 'recipient', 'requested', 'requester', 'sender', 'status', 'subject', 'time']
11
11
  METADATA = {
12
12
  'id' => {'type'=>'id', 'path'=>'CommunicationRequest.id', 'min'=>0, 'max'=>1},
13
13
  'meta' => {'type'=>'Meta', 'path'=>'CommunicationRequest.meta', 'min'=>0, 'max'=>1},
@@ -19,19 +19,19 @@ module FHIR
19
19
  'modifierExtension' => {'type'=>'Extension', 'path'=>'CommunicationRequest.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
20
20
  'identifier' => {'type'=>'Identifier', 'path'=>'CommunicationRequest.identifier', 'min'=>0, 'max'=>Float::INFINITY},
21
21
  'category' => {'type'=>'CodeableConcept', 'path'=>'CommunicationRequest.category', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
22
- 'sender' => {'type'=>'Reference', 'path'=>'CommunicationRequest.sender', 'min'=>0, 'max'=>1},
23
- 'recipient' => {'type'=>'Reference', 'path'=>'CommunicationRequest.recipient', 'min'=>0, 'max'=>Float::INFINITY},
22
+ 'sender' => {'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'=>'CommunicationRequest.sender', 'min'=>0, 'max'=>1},
23
+ 'recipient' => {'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', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/CareTeam'], 'type'=>'Reference', 'path'=>'CommunicationRequest.recipient', 'min'=>0, 'max'=>Float::INFINITY},
24
24
  'payload' => {'type'=>'CommunicationRequest::Payload', 'path'=>'CommunicationRequest.payload', 'min'=>0, 'max'=>Float::INFINITY},
25
25
  'medium' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ParticipationMode'=>['ELECTRONIC', 'PHYSICAL', 'REMOTE', 'VERBAL', 'DICTATE', 'FACE', 'PHONE', 'VIDEOCONF', 'WRITTEN', 'FAXWRIT', 'HANDWRIT', 'MAILWRIT', 'ONLINEWRIT', 'EMAILWRIT', 'TYPEWRIT']}, 'type'=>'CodeableConcept', 'path'=>'CommunicationRequest.medium', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-ParticipationMode'}},
26
- 'requester' => {'type'=>'Reference', 'path'=>'CommunicationRequest.requester', 'min'=>0, 'max'=>1},
26
+ 'requester' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'CommunicationRequest.requester', 'min'=>0, 'max'=>1},
27
27
  'status' => {'valid_codes'=>{'http://hl7.org/fhir/communication-request-status'=>['proposed', 'planned', 'requested', 'received', 'accepted', 'in-progress', 'completed', 'suspended', 'rejected', 'failed', 'proposed', 'planned', 'requested', 'received', 'accepted', 'in-progress', 'completed', 'suspended', 'rejected', 'failed']}, 'type'=>'code', 'path'=>'CommunicationRequest.status', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/communication-request-status'}},
28
- 'topic' => {'type'=>'Reference', 'path'=>'CommunicationRequest.topic', 'min'=>0, 'max'=>Float::INFINITY},
29
- 'context' => {'type'=>'Reference', 'path'=>'CommunicationRequest.context', 'min'=>0, 'max'=>1},
28
+ 'topic' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'CommunicationRequest.topic', 'min'=>0, 'max'=>Float::INFINITY},
29
+ 'context' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Encounter', 'http://hl7.org/fhir/StructureDefinition/EpisodeOfCare'], 'type'=>'Reference', 'path'=>'CommunicationRequest.context', 'min'=>0, 'max'=>1},
30
30
  'scheduledDateTime' => {'type'=>'dateTime', 'path'=>'CommunicationRequest.scheduled[x]', 'min'=>0, 'max'=>1},
31
31
  'scheduledPeriod' => {'type'=>'Period', 'path'=>'CommunicationRequest.scheduled[x]', 'min'=>0, 'max'=>1},
32
32
  'reason' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ActReason'=>['ACCREQNA', 'FLRCNV', 'MEDNEC', 'PAT', 'COVSUS', 'DECSD', 'REGERR', 'AGE', 'CRIME', 'DIS', 'EMPLOY', 'FINAN', 'HEALTH', 'MULTI', 'PNC', 'STATUTORY', 'VEHIC', 'WORK', 'OVRER', 'OVRPJ', 'OVRPS', 'OVRTPS', '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', 'MARKT', 'OPERAT', 'LEGAL', 'ACCRED', 'COMPL', 'ENADMIN', 'OUTCOMS', 'PRGRPT', 'QUALIMP', 'SYSADMN', 'PAYMT', 'RESCH', 'SRVC', '_ActInvalidReason', 'ADVSTORAGE', 'COLDCHNBRK', 'EXPLOT', 'OUTSIDESCHED', 'PRODRECALL', 'INCCOVPTY', 'INCINVOICE', 'INCPOLICY', 'INCPROV', 'IMMUNE', 'MEDPREC', 'OSTOCK', 'PATOBJ', 'PHILISOP', 'RELIG', 'VACEFF', 'VACSAF', 'FRR01', 'FRR02', 'FRR03', 'FRR04', 'FRR05', 'FRR06', 'RET', 'SCH', 'TRM', 'UNS', 'NPT', 'PPT', 'UPT', 'ALTCHOICE', 'CLARIF', 'DRUGHIGH', 'HOSPADM', 'LABINT', 'NON-AVAIL', 'PREG', 'SALG', 'SDDI', 'SDUPTHER', 'SINTOL', 'SURG', 'WASHOUT', '_ControlActNullificationReasonCode', 'ALTD', 'EIE', 'NORECMTCH', 'INRQSTATE', 'NOMATCH', 'NOPRODMTCH', 'NOSERMTCH', 'NOVERMTCH', 'NOPERM', 'NOUSERPERM', 'NOAGNTPERM', 'NOUSRPERM', 'WRNGVER', 'DISCONT', 'INEFFECT', 'MONIT', 'NOREQ', 'NOTCOVER', 'PREFUS', 'RECALL', 'REPLACE', 'DOSECHG', 'REPLACEFIX', 'UNABLE', 'HOLDDONE', 'HOLDINAP', 'ADMINERROR', 'CLINMOD', '_PharmacySupplyEventAbortReason', 'CONTRA', 'FOABORT', 'FOSUSP', 'NOPICK', 'PATDEC', 'QUANTCHG', 'FLRSTCK', 'LTC', 'OFFICE', 'PHARM', 'PROG', 'ALREADYRX', 'FAMPHYS', 'MODIFY', 'NEEDAPMT', 'NOTAVAIL', 'NOTPAT', 'ONHOLD', 'PRNA', 'STOPMED', 'TOOEARLY', 'IMPROV', 'INTOL', 'NEWSTR', 'NEWTHER', 'CHGDATA', 'FIXDATA', 'MDATA', 'NEWDATA', 'UMDATA', 'ADMREV', 'PATCAR', 'PATREQ', 'PRCREV', 'REGUL', 'RSRCH', 'VALIDATION', '_PharmacySupplyRequestFulfillerRevisionRefusalReasonCode', 'LOCKED', 'UNKWNTARGET', 'BLK', 'DEC', 'FIN', 'MED', 'MTG', 'PHY', '_StatusRevisionRefusalReasonCode', 'FILLED', '_SubstanceAdministrationPermissionRefusalReasonCode', 'PATINELIG', 'PROTUNMET', 'PROVUNAUTH', 'ALGINT', 'COMPCON', 'THERCHAR', 'TRIAL', 'CT', 'FP', 'OS', 'RR', 'ER', 'RQ', 'BONUS', 'CHD', 'DEP', 'ECH', 'EDU', 'EMP', 'ESP', 'FAM', 'IND', 'INVOICE', 'PROA', 'RECOV', 'RETRO', 'SPC', 'SPO', 'TRAN']}, 'type'=>'CodeableConcept', 'path'=>'CommunicationRequest.reason', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-ActReason'}},
33
33
  'requestedOn' => {'type'=>'dateTime', 'path'=>'CommunicationRequest.requestedOn', 'min'=>0, 'max'=>1},
34
- 'subject' => {'type'=>'Reference', 'path'=>'CommunicationRequest.subject', 'min'=>0, 'max'=>1},
34
+ 'subject' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient'], 'type'=>'Reference', 'path'=>'CommunicationRequest.subject', 'min'=>0, 'max'=>1},
35
35
  'priority' => {'valid_codes'=>{'http://hl7.org/fhir/request-priority'=>['routine', 'urgent', 'stat', 'asap', 'routine', 'urgent', 'stat', 'asap']}, 'type'=>'CodeableConcept', 'path'=>'CommunicationRequest.priority', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/request-priority'}}
36
36
  }
37
37
 
@@ -49,7 +49,7 @@ module FHIR
49
49
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Payload.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
50
50
  'contentString' => {'type'=>'string', 'path'=>'Payload.content[x]', 'min'=>1, 'max'=>1},
51
51
  'contentAttachment' => {'type'=>'Attachment', 'path'=>'Payload.content[x]', 'min'=>1, 'max'=>1},
52
- 'contentReference' => {'type'=>'Reference', 'path'=>'Payload.content[x]', 'min'=>1, 'max'=>1}
52
+ 'contentReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Payload.content[x]', 'min'=>1, 'max'=>1}
53
53
  }
54
54
 
55
55
  attr_accessor :id # 0-1 string
@@ -57,7 +57,7 @@ module FHIR
57
57
  attr_accessor :modifierExtension # 0-* [ Extension ]
58
58
  attr_accessor :contentString # 1-1 string
59
59
  attr_accessor :contentAttachment # 1-1 Attachment
60
- attr_accessor :contentReference # 1-1 Reference()
60
+ attr_accessor :contentReference # 1-1 Reference(Resource)
61
61
  end
62
62
 
63
63
  attr_accessor :id # 0-1 id
@@ -70,19 +70,19 @@ module FHIR
70
70
  attr_accessor :modifierExtension # 0-* [ Extension ]
71
71
  attr_accessor :identifier # 0-* [ Identifier ]
72
72
  attr_accessor :category # 0-1 CodeableConcept
73
- attr_accessor :sender # 0-1 Reference()
74
- attr_accessor :recipient # 0-* [ Reference() ]
73
+ attr_accessor :sender # 0-1 Reference(Device|Organization|Patient|Practitioner|RelatedPerson)
74
+ attr_accessor :recipient # 0-* [ Reference(Device|Organization|Patient|Practitioner|RelatedPerson|Group|CareTeam) ]
75
75
  attr_accessor :payload # 0-* [ CommunicationRequest::Payload ]
76
76
  attr_accessor :medium # 0-* [ CodeableConcept ]
77
- attr_accessor :requester # 0-1 Reference()
77
+ attr_accessor :requester # 0-1 Reference(Practitioner|Patient|RelatedPerson)
78
78
  attr_accessor :status # 0-1 code
79
- attr_accessor :topic # 0-* [ Reference() ]
80
- attr_accessor :context # 0-1 Reference()
79
+ attr_accessor :topic # 0-* [ Reference(Resource) ]
80
+ attr_accessor :context # 0-1 Reference(Encounter|EpisodeOfCare)
81
81
  attr_accessor :scheduledDateTime # 0-1 dateTime
82
82
  attr_accessor :scheduledPeriod # 0-1 Period
83
83
  attr_accessor :reason # 0-* [ CodeableConcept ]
84
84
  attr_accessor :requestedOn # 0-1 dateTime
85
- attr_accessor :subject # 0-1 Reference()
85
+ attr_accessor :subject # 0-1 Reference(Patient)
86
86
  attr_accessor :priority # 0-1 CodeableConcept
87
87
 
88
88
  def resourceType
@@ -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', 'jurisdiction', 'name', 'publisher', 'resource', 'status', 'title', 'url']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'CompartmentDefinition.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'CompartmentDefinition.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', 'type', 'attester', 'author', 'class', 'confidentiality', 'context', 'encounter', 'entry', 'period', 'section', 'status', 'subject', 'title']
8
8
  METADATA = {
9
9
  'id' => {'type'=>'id', 'path'=>'Composition.id', 'min'=>0, 'max'=>1},
10
10
  'meta' => {'type'=>'Meta', 'path'=>'Composition.meta', 'min'=>0, 'max'=>1},
@@ -21,12 +21,12 @@ module FHIR
21
21
  'title' => {'type'=>'string', 'path'=>'Composition.title', 'min'=>1, 'max'=>1},
22
22
  'status' => {'valid_codes'=>{'http://hl7.org/fhir/composition-status'=>['preliminary', 'final', 'amended', 'entered-in-error', 'preliminary', 'final', 'amended', 'entered-in-error']}, 'type'=>'code', 'path'=>'Composition.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/composition-status'}},
23
23
  'confidentiality' => {'valid_codes'=>{'http://hl7.org/fhir/v3/Confidentiality'=>['U', 'L', 'M', 'N', 'R', 'V']}, 'type'=>'code', 'path'=>'Composition.confidentiality', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-ConfidentialityClassification'}},
24
- 'subject' => {'type'=>'Reference', 'path'=>'Composition.subject', 'min'=>1, 'max'=>1},
25
- 'author' => {'type'=>'Reference', 'path'=>'Composition.author', 'min'=>1, 'max'=>Float::INFINITY},
24
+ 'subject' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Composition.subject', 'min'=>1, 'max'=>1},
25
+ 'author' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'Composition.author', 'min'=>1, 'max'=>Float::INFINITY},
26
26
  'attester' => {'type'=>'Composition::Attester', 'path'=>'Composition.attester', 'min'=>0, 'max'=>Float::INFINITY},
27
- 'custodian' => {'type'=>'Reference', 'path'=>'Composition.custodian', 'min'=>0, 'max'=>1},
27
+ 'custodian' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Composition.custodian', 'min'=>0, 'max'=>1},
28
28
  'event' => {'type'=>'Composition::Event', 'path'=>'Composition.event', 'min'=>0, 'max'=>Float::INFINITY},
29
- 'encounter' => {'type'=>'Reference', 'path'=>'Composition.encounter', 'min'=>0, 'max'=>1},
29
+ 'encounter' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Encounter'], 'type'=>'Reference', 'path'=>'Composition.encounter', 'min'=>0, 'max'=>1},
30
30
  'section' => {'type'=>'Composition::Section', 'path'=>'Composition.section', 'min'=>0, 'max'=>Float::INFINITY}
31
31
  }
32
32
 
@@ -41,7 +41,7 @@ module FHIR
41
41
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Attester.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
42
42
  'mode' => {'valid_codes'=>{'http://hl7.org/fhir/composition-attestation-mode'=>['personal', 'professional', 'legal', 'official', 'personal', 'professional', 'legal', 'official']}, 'type'=>'code', 'path'=>'Attester.mode', 'min'=>1, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/composition-attestation-mode'}},
43
43
  'time' => {'type'=>'dateTime', 'path'=>'Attester.time', 'min'=>0, 'max'=>1},
44
- 'party' => {'type'=>'Reference', 'path'=>'Attester.party', 'min'=>0, 'max'=>1}
44
+ 'party' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Attester.party', 'min'=>0, 'max'=>1}
45
45
  }
46
46
 
47
47
  attr_accessor :id # 0-1 string
@@ -49,7 +49,7 @@ module FHIR
49
49
  attr_accessor :modifierExtension # 0-* [ Extension ]
50
50
  attr_accessor :mode # 1-* [ code ]
51
51
  attr_accessor :time # 0-1 dateTime
52
- attr_accessor :party # 0-1 Reference()
52
+ attr_accessor :party # 0-1 Reference(Patient|Practitioner|Organization)
53
53
  end
54
54
 
55
55
  class Event < FHIR::Model
@@ -63,7 +63,7 @@ module FHIR
63
63
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Event.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
64
64
  'code' => {'valid_codes'=>{'http://hl7.org/fhir/v3/ActCode'=>['ACCTRECEIVABLE', 'CASH', 'CC', 'AE', 'DN', 'DV', 'MC', 'V', 'PBILLACCT', 'CONT', 'DAY', 'LOC', 'MONTH', 'PERIOD', 'PROV', 'WEEK', 'YEAR', 'AA', 'ANF', 'AR', 'AS', 'DISPLAY', 'FORM', 'CPTM', 'HCPCSA', 'BLK', 'CAP', 'CONTF', 'FINBILL', 'ROST', 'SESS', 'FFS', 'FFPS', 'FFCS', 'TFS', 'ROIFS', 'ROIPS', 'CACC', 'CAIC', 'CAMC', 'CANC', 'CAPC', 'CBGC', 'CCCC', 'CCGC', 'CCPC', 'CCSC', 'CDEC', 'CDRC', 'CEMC', 'CFPC', 'CIMC', 'CMGC', 'CNEC', 'CNMC', 'CNQC', 'CNSC', 'COGC', 'COMC', 'COPC', 'COSC', 'COTC', 'CPEC', 'CPGC', 'CPHC', 'CPRC', 'CPSC', 'CPYC', 'CROC', 'CRPC', 'CSUC', 'CTSC', 'CURC', 'CVSC', 'LGPC', 'AALC', 'AAMC', 'ABHC', 'ACAC', 'ACHC', 'AHOC', 'ALTC', 'AOSC', 'CACS', 'CAMI', 'CAST', 'CBAR', 'CCAD', 'CCAR', 'CDEP', 'CDGD', 'CDIA', 'CEPI', 'CFEL', 'CHFC', 'CHRO', 'CHYP', 'CMIH', 'CMSC', 'COJR', 'CONC', 'COPD', 'CORT', 'CPAD', 'CPND', 'CPST', 'CSDM', 'CSIC', 'CSLD', 'CSPT', 'CTBU', 'CVDC', 'CWMA', 'CWOH', 'AMB', 'EMER', 'FLD', 'HH', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS', 'VR', 'ALC', 'CARD', 'CHR', 'DNTL', 'DRGRHB', 'GENRL', 'MED', 'OBS', 'ONC', 'PALL', 'PED', 'PHAR', 'PHYRHB', 'PSYCH', 'SURG', 'AUTOATTCH', 'DOCUMENT', 'HEALTHREC', 'IMG', 'LABRESULTS', 'MODEL', 'WIATTCH', 'XRAY', 'ICOL', 'IDSCL', 'INFA', 'INFAO', 'INFASO', 'IRDSCL', 'RESEARCH', 'RSDID', 'RSREID', 'ID', 'IP', 'L', 'M', 'O', 'R', 'X', 'AUTO', 'ENDC', 'REFLEX', 'AUTH', 'NAUTH', 'ELG', 'NELG', 'COVPRD', 'LFEMX', 'NETAMT', 'PRDMX', 'UNITPRICE', 'UNITQTY', 'COVMX', 'EHCPOL', 'HSAPOL', 'AUTOPOL', 'COL', 'UNINSMOT', 'PUBLICPOL', 'DENTPRG', 'DISEASEPRG', 'CANPRG', 'ENDRENAL', 'HIVAIDS', 'MANDPOL', 'MENTPRG', 'SAFNET', 'SUBPRG', 'SUBSIDIZ', 'SUBSIDMC', 'SUBSUPP', 'WCBPOL', 'DENTAL', 'DISEASE', 'DRUGPOL', 'HIP', 'LTC', 'MCPOL', 'POS', 'HMO', 'PPO', 'MENTPOL', 'SUBPOL', 'VISPOL', 'DIS', 'EWB', 'FLEXP', 'LIFE', 'ANNU', 'TLIFE', 'ULIFE', 'PNC', 'REI', 'SURPL', 'UMBRL', 'CHAR', 'CRIME', 'EAP', 'GOVEMP', 'HIRISK', 'IND', 'MILITARY', 'RETIRE', 'SOCIAL', 'VET', 'EMAUTH', '21', '1', '19', '2', '22', '23', '3', '4', '5', '6', '7', '14', '15', '16', '17', '18', '20', '8', '10', '11', '12', '13', '9', 'CHLDCARE', 'CONVEYNC', 'HLTHCARE', 'HOMECARE', 'HOSPPTNT', 'HOSPVSTR', 'HOUSEHLD', 'INMATE', 'INTIMATE', 'LTRMCARE', 'PLACE', 'PTNTCARE', 'SCHOOL2', 'SOCIAL2', 'SUBSTNCE', 'TRAVINT', 'WORK2', 'CHRG', 'REV', 'MVA', 'SCHOOL', 'SPT', 'WPA', 'ACADR', 'ACALL', 'ACALLG', 'ACCONS', 'ACDEMO', 'ACDI', 'ACIMMUN', 'ACLAB', 'ACMED', 'ACMEDC', 'ACMEN', 'ACOBS', 'ACPOLPRG', 'ACPROV', 'ACPSERV', 'ACSUBSTAB', 'INFAUT', 'INFCON', 'INFCRT', 'INFDNG', 'INFEMER', 'INFPWR', 'INFREG', 'ALLCAT', 'ALLGCAT', 'ARCAT', 'COBSCAT', 'DEMOCAT', 'DICAT', 'IMMUCAT', 'LABCAT', 'MEDCCAT', 'MENCAT', 'PSVCCAT', 'RXCAT', 'ALEC', 'BONUS', 'CFWD', 'EDU', 'EPYMT', 'GARN', 'INVOICE', 'PINV', 'PPRD', 'PROA', 'RECOV', 'RETRO', 'TRAN', 'INVTYPE', 'PAYEE', 'PAYOR', 'SENDAPP', 'UNSPSC', 'GTIN', 'UPC', 'COIN', 'COPAYMENT', 'DEDUCTIBLE', 'PAY', 'SPEND', 'COINS', 'AFTHRS', 'ISOL', 'OOO', 'CANCAPT', 'DSC', 'ESA', 'FFSTOP', 'FNLFEE', 'FRSTFEE', 'MARKUP', 'MISSAPT', 'PERFEE', 'PERMBNS', 'RESTOCK', 'TRAVEL', 'URGENT', 'FST', 'HST', 'PST', 'I', 'P', 'S', 'SP', 'W', 'CPNDDRGING', 'CPNDINDING', 'CPNDSUPING', 'DRUGING', 'FRAMEING', 'LENSING', 'PRDING', 'CPINV', 'CSINV', 'CSPINV', 'FININV', 'OHSINV', 'PAINV', 'RXCINV', 'RXDINV', 'SBFINV', 'VRXINV', 'ADNFPPELAT', 'ADNFPPELCT', 'ADNFPPMNAT', 'ADNFPPMNCT', 'ADNFSPELAT', 'ADNFSPELCT', 'ADNFSPMNAT', 'ADNFSPMNCT', 'ADNPPPELAT', 'ADNPPPELCT', 'ADNPPPMNAT', 'ADNPPPMNCT', 'ADNPSPELAT', 'ADNPSPELCT', 'ADNPSPMNAT', 'ADNPSPMNCT', 'ADPPPPELAT', 'ADPPPPELCT', 'ADPPPPMNAT', 'ADPPPPMNCT', 'ADPPSPELAT', 'ADPPSPELCT', 'ADPPSPMNAT', 'ADPPSPMNCT', 'ADRFPPELAT', 'ADRFPPELCT', 'ADRFPPMNAT', 'ADRFPPMNCT', 'ADRFSPELAT', 'ADRFSPELCT', 'ADRFSPMNAT', 'ADRFSPMNCT', 'PDNFPPELAT', 'PDNFPPELCT', 'PDNFPPMNAT', 'PDNFPPMNCT', 'PDNFSPELAT', 'PDNFSPELCT', 'PDNFSPMNAT', 'PDNFSPMNCT', 'PDNPPPELAT', 'PDNPPPELCT', 'PDNPPPMNAT', 'PDNPPPMNCT', 'PDNPSPELAT', 'PDNPSPELCT', 'PDNPSPMNAT', 'PDNPSPMNCT', 'PDPPPPELAT', 'PDPPPPELCT', 'PDPPPPMNAT', 'PDPPPPMNCT', 'PDPPSPELAT', 'PDPPSPELCT', 'PDPPSPMNAT', 'PDPPSPMNCT', 'SBBLELAT', 'SBBLELCT', 'SBNFELAT', 'SBNFELCT', 'SBPDELAT', 'SBPDELCT', 'COVGE', 'EFORM', 'FAX', 'GFTH', 'LATE', 'MANUAL', 'OOJ', 'ORTHO', 'PAPER', 'PIE', 'PYRDELAY', 'REFNR', 'REPSERV', 'UNRELAT', 'VERBAUTH', 'CARELIST', 'CONDLIST', 'INTOLIST', 'PROBLIST', 'RISKLIST', 'GOALLIST', 'ACU', 'CHRON', 'ONET', 'PRN', 'MEDLIST', 'CURMEDLIST', 'DISCMEDLIST', 'HISTMEDLIST', 'CTLSUB', 'INV', 'LU', 'OTC', 'RX', 'SA', 'SAC', 'IND01', 'IND02', 'IND03', 'IND04', 'IND05', 'VFPAPER', 'ACH', 'CHK', 'DDP', 'NON', 'DF', 'EM', 'SO', 'FF', 'FFC', 'FFP', 'FFSS', 'TF', 'FS', 'MS', 'RF', 'UD', 'RFC', 'RFCS', 'RFF', 'RFFS', 'RFP', 'RFPS', 'RFS', 'TB', 'TBS', 'UDE', 'EMRGONLY', 'GRANTORCHOICE', 'IMPLIED', 'IMPLIEDD', 'NOCONSENT', 'NOPP', 'OPTIN', 'OPTINR', 'OPTOUT', 'OPTOUTE', '_ActUSPrivacyLaw', '42CFRPart2', 'CommonRule', 'HIPAANOPP', 'HIPAAPsyNotes', 'HIPAASelfPay', 'Title38Section7332', 'ETH', 'GDIS', 'HIV', 'PSY', 'SCA', 'SOC', 'SDV', 'SEX', 'STD', 'TBOO', 'SICKLE', 'DEMO', 'DOB', 'GENDER', 'LIVARG', 'MARST', 'RACE', 'REL', 'B', 'EMPL', 'LOCIS', 'SSP', 'ADOL', 'CEL', 'DIA', 'DRGIS', 'EMP', 'PDS', 'PRS', 'COMPT', 'HRCOMPT', 'RESCOMPT', 'RMGTCOMPT', 'TRSTACCRD', 'TRSTAGRE', 'TRSTASSUR', 'TRSTCERT', 'TRSTFWK', 'TRSTMEC', 'COVPOL', 'SecurityPolicy', 'ObligationPolicy', 'ANONY', 'AOD', 'AUDIT', 'AUDTR', 'CPLYCC', 'CPLYCD', 'CPLYJPP', 'CPLYOPP', 'CPLYOSP', 'CPLYPOL', 'DECLASSIFYLABEL', 'DEID', 'DELAU', 'DOWNGRDLABEL', 'DRIVLABEL', 'ENCRYPT', 'ENCRYPTR', 'ENCRYPTT', 'ENCRYPTU', 'HUAPRV', 'LABEL', 'MASK', 'MINEC', 'PERSISTLABEL', 'PRIVMARK', 'PSEUD', 'REDACT', 'UPGRDLABEL', 'RefrainPolicy', 'NOAUTH', 'NOCOLLECT', 'NODSCLCD', 'NODSCLCDS', 'NOINTEGRATE', 'NOLIST', 'NOMOU', 'NOORGPOL', 'NOPAT', 'NOPERSISTP', 'NORDSCLCD', 'NORDSCLCDS', 'NORDSCLW', 'NORELINK', 'NOREUSE', 'NOVIP', 'ORCON', 'LOAN', 'RENT', 'TRANSFER', 'SALE', 'SREC', 'SSTOR', 'STRAN', 'ACID', 'ALK', 'DEFB', 'FILT', 'LDLP', 'NEUT', 'RECA', 'UFIL', 'DRUG', 'FD', 'IMMUNIZ', 'BOOSTER', 'INITIMMUNIZ', 'OE', 'LABOE', 'MEDOE', 'PATDOC', 'ALLERLREV', 'CLINNOTEE', 'DIAGLISTE', 'DISCHINSTE', 'DISCHSUME', 'PATEDUE', 'PATREPE', 'PROBLISTE', 'RADREPE', 'IMMLREV', 'REMLREV', 'WELLREMLREV', 'PATINFO', 'ALLERLE', 'CDSREV', 'CLINNOTEREV', 'DISCHSUMREV', 'DIAGLISTREV', 'IMMLE', 'LABRREV', 'MICRORREV', 'MICROORGRREV', 'MICROSENSRREV', 'MLREV', 'MARWLREV', 'OREV', 'PATREPREV', 'PROBLISTREV', 'RADREPREV', 'REMLE', 'WELLREMLE', 'RISKASSESS', 'FALLRISK', 'AFOOT', 'AMBT', 'AMBAIR', 'AMBGRND', 'AMBHELO', 'LAWENF', 'PRVTRN', 'PUBTRN', 'ARTBLD', 'DILUTION', 'AUTO-HIGH', 'AUTO-LOW', 'PRE', 'RERUN', 'EVNFCTS', 'INTFR', 'FIBRIN', 'HEMOLYSIS', 'ICTERUS', 'LIPEMIA', 'VOLUME', 'AVAILABLE', 'CONSUMPTION', 'CURRENT', 'INITIAL', '_ActPatientAnnotationType', 'ANNDI', 'ANNGEN', 'ANNIMM', 'ANNLAB', 'ANNMED', 'GENE', '_ImmunizationObservationType', 'OBSANTC', 'OBSANTV', 'PAT_ADV_EVNT', 'VAC_PROBLEM', '21611-9', '21612-7', '29553-5', '30525-0', '30972-4', 'REP_HALF_LIFE', 'SPLCOATING', 'SPLCOLOR', 'SPLIMAGE', 'SPLIMPRINT', 'SPLSCORING', 'SPLSHAPE', 'SPLSIZE', 'SPLSYMBOL', 'AIRTRNS', 'ANANTRNS', 'ANHUMTRNS', 'BDYFLDTRNS', 'BLDTRNS', 'DERMTRNS', 'ENVTRNS', 'FECTRNS', 'FOMTRNS', 'FOODTRNS', 'HUMHUMTRNS', 'INDTRNS', 'LACTTRNS', 'NOSTRNS', 'PARTRNS', 'PLACTRNS', 'SEXTRNS', 'TRNSFTRNS', 'VECTRNS', 'WATTRNS', '_ObservationQualityMeasureAttribute', 'AGGREGATE', 'CMPMSRMTH', 'CMPMSRSCRWGHT', 'COPY', 'CRS', 'DEF', 'DISC', 'FINALDT', 'GUIDE', 'IDUR', 'ITMCNT', 'KEY', 'MEDT', 'MSD', 'MSRADJ', 'MSRAGG', 'MSRIMPROV', 'MSRJUR', 'MSRRPTR', 'MSRRPTTIME', 'MSRSCORE', 'MSRSET', 'MSRTOPIC', 'MSRTP', 'MSRTYPE', 'RAT', 'REF', 'SDE', 'STRAT', 'TRANF', 'USE', 'TIME_ABSOLUTE', 'TIME_RELATIVE', 'REPRESENTATIVE_BEAT', 'RHYTHM', '_PatientImmunizationRelatedObservationType', 'CLSSRM', 'GRADE', 'SCHL', 'SCHLDIV', 'TEACHER', 'DENEX', 'DENEXCEP', 'DENOM', 'IPOP', 'IPPOP', 'MSRPOPL', 'MSRPOPLEX', 'NUMER', 'NUMEX', 'PREFSTRENGTH', 'ADVERSE_REACTION', 'ASSERTION', 'CASESER', 'CDIO', 'CRIT', 'CTMO', 'DX', 'ADMDX', 'DISDX', 'INTDX', 'NOI', 'GISTIER', 'HHOBS', 'ISSUE', 'NAT', 'SUPPRESSED', 'VALIDAT', 'KEY204', 'KEY205', 'COMPLY', 'DUPTHPY', 'DUPTHPCLS', 'DUPTHPGEN', 'ABUSE', 'FRAUD', 'PLYDOC', 'PLYPHRM', 'DOSE', 'DOSECOND', 'DOSEDUR', 'DOSEDURH', 'DOSEDURHIND', 'DOSEDURL', 'DOSEDURLIND', 'DOSEH', 'DOSEHINDA', 'DOSEHIND', 'DOSEHINDSA', 'DOSEHINDW', 'DOSEIVL', 'DOSEIVLIND', 'DOSEL', 'DOSELINDA', 'DOSELIND', 'DOSELINDSA', 'DOSELINDW', 'MDOSE', 'OBSA', 'AGE', 'ADALRT', 'GEALRT', 'PEALRT', 'COND', 'HGHT', 'LACT', 'PREG', 'WGHT', 'CREACT', 'GEN', 'GEND', 'LAB', 'REACT', 'ALGY', 'INT', 'RREACT', 'RALG', 'RAR', 'RINT', 'BUS', 'CODE_INVAL', 'CODE_DEPREC', 'FORMAT', 'ILLEGAL', 'LEN_RANGE', 'LEN_LONG', 'LEN_SHORT', 'MISSCOND', 'MISSMAND', 'NODUPS', 'NOPERSIST', 'REP_RANGE', 'MAXOCCURS', 'MINOCCURS', 'KEY206', 'OBSOLETE', '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', 'KSUBJ', 'KSUBT', 'OINT', 'ALG', 'DALG', 'EALG', 'FALG', 'DINT', 'DNAINT', 'EINT', 'ENAINT', 'FINT', 'FNAINT', 'NAINT', 'SEV', 'FDACOATING', 'FDACOLOR', 'FDAIMPRINTCD', 'FDALOGO', 'FDASCORING', 'FDASHAPE', 'FDASIZE', 'CIRCLE', 'ELLIPSE', 'POINT', 'POLY', 'C', 'DIET', 'BR', 'DM', 'FAST', 'FORMULA', 'GF', 'LF', 'LP', 'LQ', 'LS', 'N', 'NF', 'PAF', 'PAR', 'RD', 'SCH', 'SUPPLEMENT', 'T', 'VLI', 'DRUGPRG', 'F', 'PRLMN', 'SECCATOBS', 'SECCLASSOBS', 'SECCONOBS', 'SECINTOBS', 'SECALTINTOBS', 'SECDATINTOBS', 'SECINTCONOBS', 'SECINTPRVABOBS', 'SECINTPRVRBOBS', 'SECINTSTOBS', 'TRSTACCRDOBS', 'TRSTAGREOBS', 'TRSTCERTOBS', 'TRSTFWKOBS', 'TRSTLOAOBS', 'TRSTMECOBS', 'SUBSIDFFS', 'WRKCOMP', 'COPAY', 'DEDUCT', 'DOSEIND', 'PRA', 'STORE']}, 'type'=>'CodeableConcept', 'path'=>'Event.code', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/v3-ActCode'}},
65
65
  'period' => {'type'=>'Period', 'path'=>'Event.period', 'min'=>0, 'max'=>1},
66
- 'detail' => {'type'=>'Reference', 'path'=>'Event.detail', 'min'=>0, 'max'=>Float::INFINITY}
66
+ 'detail' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Event.detail', 'min'=>0, 'max'=>Float::INFINITY}
67
67
  }
68
68
 
69
69
  attr_accessor :id # 0-1 string
@@ -71,7 +71,7 @@ module FHIR
71
71
  attr_accessor :modifierExtension # 0-* [ Extension ]
72
72
  attr_accessor :code # 0-* [ CodeableConcept ]
73
73
  attr_accessor :period # 0-1 Period
74
- attr_accessor :detail # 0-* [ Reference() ]
74
+ attr_accessor :detail # 0-* [ Reference(Resource) ]
75
75
  end
76
76
 
77
77
  class Section < FHIR::Model
@@ -88,7 +88,7 @@ module FHIR
88
88
  'text' => {'type'=>'Narrative', 'path'=>'Section.text', 'min'=>0, 'max'=>1},
89
89
  'mode' => {'valid_codes'=>{'http://hl7.org/fhir/list-mode'=>['working', 'snapshot', 'changes', 'working', 'snapshot', 'changes']}, 'type'=>'code', 'path'=>'Section.mode', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/list-mode'}},
90
90
  'orderedBy' => {'valid_codes'=>{'http://hl7.org/fhir/list-order'=>['user', 'system', 'event-date', 'entry-date', 'priority', 'alphabetic', 'category', 'patient', 'user', 'system', 'event-date', 'entry-date', 'priority', 'alphabetic', 'category', 'patient']}, 'type'=>'CodeableConcept', 'path'=>'Section.orderedBy', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/list-order'}},
91
- 'entry' => {'type'=>'Reference', 'path'=>'Section.entry', 'min'=>0, 'max'=>Float::INFINITY},
91
+ 'entry' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Section.entry', 'min'=>0, 'max'=>Float::INFINITY},
92
92
  'emptyReason' => {'valid_codes'=>{'http://hl7.org/fhir/list-empty-reason'=>['nilknown', 'notasked', 'withheld', 'unavailable', 'notstarted', 'closed', 'nilknown', 'notasked', 'withheld', 'unavailable', 'notstarted', 'closed']}, 'type'=>'CodeableConcept', 'path'=>'Section.emptyReason', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/list-empty-reason'}},
93
93
  'section' => {'type'=>'Composition::Section', 'path'=>'Section.section', 'min'=>0, 'max'=>Float::INFINITY}
94
94
  }
@@ -101,7 +101,7 @@ module FHIR
101
101
  attr_accessor :text # 0-1 Narrative
102
102
  attr_accessor :mode # 0-1 code
103
103
  attr_accessor :orderedBy # 0-1 CodeableConcept
104
- attr_accessor :entry # 0-* [ Reference() ]
104
+ attr_accessor :entry # 0-* [ Reference(Resource) ]
105
105
  attr_accessor :emptyReason # 0-1 CodeableConcept
106
106
  attr_accessor :section # 0-* [ Composition::Section ]
107
107
  end
@@ -121,12 +121,12 @@ module FHIR
121
121
  attr_accessor :title # 1-1 string
122
122
  attr_accessor :status # 1-1 code
123
123
  attr_accessor :confidentiality # 0-1 code
124
- attr_accessor :subject # 1-1 Reference()
125
- attr_accessor :author # 1-* [ Reference() ]
124
+ attr_accessor :subject # 1-1 Reference(Resource)
125
+ attr_accessor :author # 1-* [ Reference(Practitioner|Device|Patient|RelatedPerson) ]
126
126
  attr_accessor :attester # 0-* [ Composition::Attester ]
127
- attr_accessor :custodian # 0-1 Reference()
127
+ attr_accessor :custodian # 0-1 Reference(Organization)
128
128
  attr_accessor :event # 0-* [ Composition::Event ]
129
- attr_accessor :encounter # 0-1 Reference()
129
+ attr_accessor :encounter # 0-1 Reference(Encounter)
130
130
  attr_accessor :section # 0-* [ Composition::Section ]
131
131
 
132
132
  def resourceType
@@ -8,7 +8,7 @@ module FHIR
8
8
  'source' => ['uri', 'Reference'],
9
9
  'target' => ['uri', 'Reference']
10
10
  }
11
- SEARCH_PARAMS = []
11
+ SEARCH_PARAMS = ['date', 'dependson', 'description', 'identifier', 'jurisdiction', 'name', 'product', 'publisher', 'source', 'source-code', 'source-system', 'source-uri', 'status', 'target', 'target-code', 'target-system', 'target-uri', 'title', 'url', 'version']
12
12
  METADATA = {
13
13
  'id' => {'type'=>'id', 'path'=>'ConceptMap.id', 'min'=>0, 'max'=>1},
14
14
  'meta' => {'type'=>'Meta', 'path'=>'ConceptMap.meta', 'min'=>0, 'max'=>1},
@@ -34,9 +34,9 @@ module FHIR
34
34
  'purpose' => {'type'=>'markdown', 'path'=>'ConceptMap.purpose', 'min'=>0, 'max'=>1},
35
35
  'copyright' => {'type'=>'markdown', 'path'=>'ConceptMap.copyright', 'min'=>0, 'max'=>1},
36
36
  'sourceUri' => {'type'=>'uri', 'path'=>'ConceptMap.source[x]', 'min'=>0, 'max'=>1},
37
- 'sourceReference' => {'type'=>'Reference', 'path'=>'ConceptMap.source[x]', 'min'=>0, 'max'=>1},
37
+ 'sourceReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/ValueSet'], 'type'=>'Reference', 'path'=>'ConceptMap.source[x]', 'min'=>0, 'max'=>1},
38
38
  'targetUri' => {'type'=>'uri', 'path'=>'ConceptMap.target[x]', 'min'=>0, 'max'=>1},
39
- 'targetReference' => {'type'=>'Reference', 'path'=>'ConceptMap.target[x]', 'min'=>0, 'max'=>1},
39
+ 'targetReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/ValueSet'], 'type'=>'Reference', 'path'=>'ConceptMap.target[x]', 'min'=>0, 'max'=>1},
40
40
  'group' => {'type'=>'ConceptMap::Group', 'path'=>'ConceptMap.group', 'min'=>0, 'max'=>Float::INFINITY}
41
41
  }
42
42
 
@@ -158,9 +158,9 @@ module FHIR
158
158
  attr_accessor :purpose # 0-1 markdown
159
159
  attr_accessor :copyright # 0-1 markdown
160
160
  attr_accessor :sourceUri # 0-1 uri
161
- attr_accessor :sourceReference # 0-1 Reference()
161
+ attr_accessor :sourceReference # 0-1 Reference(ValueSet)
162
162
  attr_accessor :targetUri # 0-1 uri
163
- attr_accessor :targetReference # 0-1 Reference()
163
+ attr_accessor :targetReference # 0-1 Reference(ValueSet)
164
164
  attr_accessor :group # 0-* [ ConceptMap::Group ]
165
165
 
166
166
  def resourceType