fhir_models 1.6.7 → 1.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 506fa4fb63ad86b1aca3f2b52e7dba9b7c6935ee
4
- data.tar.gz: 4840f7d47b541b4016adce7146e270c03278611e
3
+ metadata.gz: 004b194430eba649a774e56b415ae738778c17bc
4
+ data.tar.gz: e6639436f629c5402f429bd6897032cc806032a2
5
5
  SHA512:
6
- metadata.gz: 0846007edf62c23e546e921cb12ee03f16e0b1a0369b41c5d1701a7cea2fe266cfcee71dcb57b4e2e03e98b44a614cab1001c32a4915168cb371143dd36134ac
7
- data.tar.gz: 8690d6dfeace0293338389bcdeb2b006efe1d6795c0a8b0b3e8e896014af08d83f4f61b92504077aa89fcfdb7bb9f85924d8a58ba8ff436b8dfbece266fc6387
6
+ metadata.gz: 4025df8d9835fc5234e3969173637f664db73c6c59faa7c621b55d9b0b2fb5b7a7cca840390f83ab4e3f694fd45ab356bf1b69453cc1402f246622dfbc004d20
7
+ data.tar.gz: 7b60d8f6e1c2cb4b68057484668fc522ea9b37114791429039bf0fc734458775e733bad9a2d67949bb8ff515114b91d6b18edea7e3f7f9ce80c745b5801df454
@@ -0,0 +1,191 @@
1
+ {
2
+ "resourceType": "CapabilityStatement",
3
+ "id": "example",
4
+ "text": {
5
+ "status": "generated",
6
+ "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n \n <p>The EHR Server supports the following transactions for the resource Person: read, vread, \n update, history, search(name,gender), create and updates.</p>\n \n <p>The EHR System supports the following message: admin-notify::Person.</p>\n \n <p>The EHR Application has a \n <a href=\"http://fhir.hl7.org/base/Profilebc054d23-75e1-4dc6-aca5-838b6b1ac81d/_history/b5fdd9fc-b021-4ea1-911a-721a60663796\">general document profile</a>.\n </p>\n \n </div>"
7
+ },
8
+ "url": "68D043B5-9ECF-4559-A57A-396E0D452311",
9
+ "version": "20130510",
10
+ "name": "ACME EHR CapabilityStatement statement",
11
+ "status": "draft",
12
+ "experimental": true,
13
+ "date": "2012-01-04",
14
+ "publisher": "ACME Corporation",
15
+ "contact": [
16
+ {
17
+ "name": "System Administrator",
18
+ "telecom": [
19
+ {
20
+ "system": "email",
21
+ "value": "wile@acme.org"
22
+ }
23
+ ]
24
+ }
25
+ ],
26
+ "description": "This is the FHIR CapabilityStatement statement for the main EHR at ACME for the private interface - it does not describe the public interface",
27
+ "purpose": "Main EHR CapabilityStatement statement, published for contracting and operational support",
28
+ "copyright": "Copyright © Acme Healthcare and GoodCorp EHR Systems",
29
+ "kind": "instance",
30
+ "software": {
31
+ "name": "EHR",
32
+ "version": "0.00.020.2134",
33
+ "releaseDate": "2012-01-04"
34
+ },
35
+ "implementation": {
36
+ "description": "main EHR at ACME",
37
+ "url": "http://10.2.3.4/fhir"
38
+ },
39
+ "fhirVersion": "1.0.0",
40
+ "acceptUnknown": "both",
41
+ "format": [
42
+ "xml",
43
+ "json"
44
+ ],
45
+ "rest": [
46
+ {
47
+ "mode": "server",
48
+ "documentation": "Main FHIR endpoint for acem health",
49
+ "security": {
50
+ "cors": true,
51
+ "service": [
52
+ {
53
+ "coding": [
54
+ {
55
+ "system": "http://hl7.org/fhir/restful-security-service",
56
+ "code": "SMART-on-FHIR"
57
+ }
58
+ ]
59
+ }
60
+ ],
61
+ "description": "See Smart on FHIR documentation",
62
+ "certificate": [
63
+ {
64
+ "type": "application/jwt",
65
+ "blob": "IHRoaXMgYmxvYiBpcyBub3QgdmFsaWQ="
66
+ }
67
+ ]
68
+ },
69
+ "resource": [
70
+ {
71
+ "type": "Patient",
72
+ "profile": {
73
+ "reference": "http://fhir.hl7.org/base/Profile7896271d-57f6-4231-89dc-dcc91eab2416"
74
+ },
75
+ "interaction": [
76
+ {
77
+ "code": "read"
78
+ },
79
+ {
80
+ "code": "vread",
81
+ "documentation": "Only supported for patient records since 12-Dec 2012"
82
+ },
83
+ {
84
+ "code": "update"
85
+ },
86
+ {
87
+ "code": "history-instance"
88
+ },
89
+ {
90
+ "code": "create"
91
+ },
92
+ {
93
+ "code": "history-type"
94
+ }
95
+ ],
96
+ "versioning": "versioned-update",
97
+ "readHistory": true,
98
+ "updateCreate": false,
99
+ "conditionalCreate": true,
100
+ "conditionalUpdate": false,
101
+ "conditionalDelete": "not-supported",
102
+ "searchInclude": [
103
+ "Organization"
104
+ ],
105
+ "searchRevInclude": [
106
+ "Person"
107
+ ],
108
+ "searchParam": [
109
+ {
110
+ "name": "identifier",
111
+ "definition": "http://hl7.org/fhir/SearchParameter/Patient-identifier",
112
+ "type": "token",
113
+ "documentation": "Only supports search by institution MRN",
114
+ "modifier": [
115
+ "missing"
116
+ ]
117
+ },
118
+ {
119
+ "name": "careprovider",
120
+ "definition": "http://hl7.org/fhir/SearchParameter/Patient-careprovider",
121
+ "type": "reference",
122
+ "target": [
123
+ "Organization"
124
+ ],
125
+ "modifier": [
126
+ "missing"
127
+ ],
128
+ "chain": [
129
+ "name",
130
+ "identifier"
131
+ ]
132
+ }
133
+ ]
134
+ }
135
+ ],
136
+ "interaction": [
137
+ {
138
+ "code": "transaction"
139
+ },
140
+ {
141
+ "code": "history-system"
142
+ }
143
+ ],
144
+ "compartment": [
145
+ "http://hl7.org/fhir/compartment/Patient"
146
+ ]
147
+ }
148
+ ],
149
+ "messaging": [
150
+ {
151
+ "endpoint": [
152
+ {
153
+ "protocol": {
154
+ "system": "http://hl7.org/fhir/message-transport",
155
+ "code": "mllp"
156
+ },
157
+ "address": "mllp:10.1.1.10:9234"
158
+ }
159
+ ],
160
+ "reliableCache": 30,
161
+ "documentation": "ADT A08 equivalent for external system notifications",
162
+ "event": [
163
+ {
164
+ "code": {
165
+ "system": "http://hl7.org/fhir/message-type",
166
+ "code": "admin-notify"
167
+ },
168
+ "category": "Consequence",
169
+ "mode": "receiver",
170
+ "focus": "Patient",
171
+ "request": {
172
+ "reference": "StructureDefinition/daf-patient"
173
+ },
174
+ "response": {
175
+ "reference": "StructureDefinition/MessageHeader"
176
+ },
177
+ "documentation": "Notification of an update to a patient resource. changing the links is not supported"
178
+ }
179
+ ]
180
+ }
181
+ ],
182
+ "document": [
183
+ {
184
+ "mode": "consumer",
185
+ "documentation": "Basic rules for all documents in the EHR system",
186
+ "profile": {
187
+ "reference": "http://fhir.hl7.org/base/Profilebc054d23-75e1-4dc6-aca5-838b6b1ac81d/_history/b5fdd9fc-b021-4ea1-911a-721a60663796"
188
+ }
189
+ }
190
+ ]
191
+ }
@@ -0,0 +1,201 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><CapabilityStatement xmlns="http://hl7.org/fhir">
2
+ <id value="example"/>
3
+ <text>
4
+ <status value="generated"/>
5
+ <div xmlns="http://www.w3.org/1999/xhtml">
6
+
7
+ <p>The EHR Server supports the following transactions for the resource Person: read, vread,
8
+ update, history, search(name,gender), create and updates.</p>
9
+
10
+ <p>The EHR System supports the following message: admin-notify::Person.</p>
11
+
12
+ <p>The EHR Application has a
13
+ <a href="http://fhir.hl7.org/base/Profilebc054d23-75e1-4dc6-aca5-838b6b1ac81d/_history/b5fdd9fc-b021-4ea1-911a-721a60663796">general document profile</a>.
14
+ </p>
15
+
16
+ </div>
17
+ </text>
18
+ <!-- the identifier for this CapabilityStatement statement.
19
+ The identifier and version establish identifiers that other specifications etc.may use to
20
+ refer to the CapabilityStatement statement that this resource represents in a logical manner
21
+ rather than in a literal (URL) fashion
22
+
23
+ The identifier should be globally unique - a UUID, an OID, or a URL/URI
24
+ -->
25
+ <url value="68D043B5-9ECF-4559-A57A-396E0D452311"/>
26
+ <version value="20130510"/>
27
+ <name value="ACME EHR CapabilityStatement statement"/>
28
+ <status value="draft"/>
29
+ <experimental value="true"/>
30
+ <date value="2012-01-04"/>
31
+ <publisher value="ACME Corporation"/>
32
+ <contact>
33
+ <name value="System Administrator"/>
34
+ <telecom>
35
+ <system value="email"/>
36
+ <value value="wile@acme.org"/>
37
+ </telecom>
38
+ </contact>
39
+ <description value="This is the FHIR CapabilityStatement statement for the main EHR at ACME for the private interface - it does not describe the public interface"/>
40
+ <purpose value="Main EHR CapabilityStatement statement, published for contracting and operational support"/>
41
+ <copyright value="Copyright © Acme Healthcare and GoodCorp EHR Systems"/>
42
+ <kind value="instance"/>
43
+ <software>
44
+ <name value="EHR"/>
45
+ <version value="0.00.020.2134"/>
46
+ <releaseDate value="2012-01-04"/>
47
+ </software>
48
+ <implementation>
49
+ <description value="main EHR at ACME"/>
50
+ <url value="http://10.2.3.4/fhir"/>
51
+ </implementation>
52
+
53
+ <!-- while the FHIR infrastructure is turning over prior to development, a version is
54
+ required. Note that this may be rescinded later? -->
55
+ <fhirVersion value="1.0.0"/>
56
+ <!-- this system accepts unknown content in the resources -->
57
+ <acceptUnknown value="both"/>
58
+ <!-- this system can do either xml or json. (Listing both implies full support for either, with interconversion) -->
59
+ <format value="xml"/>
60
+ <format value="json"/>
61
+ <!-- in a real CapabilityStatement statement, it's unlikely that a single CapabilityStatement statement
62
+ would declare CapabilityStatement for REST, messaging and documents, though it is legal.
63
+ This example does so in order to show all the parts of a CapabilityStatement statement -->
64
+ <rest>
65
+ <!-- this is a server CapabilityStatement statement. Note that servers are required to provide
66
+ one of these. It can easily be edited by hand - copy this, replace the metadata above,
67
+ delete the messaging and document stuff below, and then replace the details appropriately. -->
68
+ <mode value="server"/>
69
+ <documentation value="Main FHIR endpoint for acem health"/>
70
+ <security>
71
+ <!-- cors support is highly recommended - mandatory if using SMART on FHIR -->
72
+ <cors value="true"/>
73
+ <service>
74
+ <coding>
75
+ <system value="http://hl7.org/fhir/restful-security-service"/>
76
+ <code value="SMART-on-FHIR"/>
77
+ </coding>
78
+ </service>
79
+ <description value="See Smart on FHIR documentation"/>
80
+ <certificate>
81
+ <type value="application/jwt"/>
82
+ <!-- base JWT. this blob is not valid -->
83
+ <blob value="IHRoaXMgYmxvYiBpcyBub3QgdmFsaWQ="/>
84
+ </certificate>
85
+ </security>
86
+
87
+ <!-- zero or more of these - declaration of support for a resource -->
88
+ <resource>
89
+ <type value="Patient"/>
90
+ <!-- let's assume that HL7 has stood up a profile registry at http://fhir.hl7.org/fhir
91
+ - it's likely to have a registry, though this is not decided, nor is a URL decided.
92
+ This application simply uses a profile registered directly with HL7. For the simplest
93
+ case of a FHIR REST Server, just delete this profile reference. Profile references do
94
+ not need to be a UUID, though a profile registry could insist that they are -->
95
+ <profile>
96
+ <reference value="http://fhir.hl7.org/base/Profile7896271d-57f6-4231-89dc-dcc91eab2416"/>
97
+ </profile>
98
+ <interaction>
99
+ <code value="read"/>
100
+ </interaction>
101
+ <interaction>
102
+ <code value="vread"/>
103
+ <documentation value="Only supported for patient records since 12-Dec 2012"/>
104
+ </interaction>
105
+ <interaction>
106
+ <code value="update"/>
107
+ </interaction>
108
+ <interaction>
109
+ <code value="history-instance"/>
110
+ </interaction>
111
+ <interaction>
112
+ <code value="create"/>
113
+ </interaction>
114
+ <interaction>
115
+ <code value="history-type"/>
116
+ </interaction>
117
+ <versioning value="versioned-update"/>
118
+ <readHistory value="true"/>
119
+ <!-- this server doesn't let the clients create identities -->
120
+ <updateCreate value="false"/>
121
+ <!-- it's good to support conditional create on patients; this solves a common middleware problem -->
122
+ <conditionalCreate value="true"/>
123
+ <conditionalUpdate value="false"/><!-- 0..1 If allows/uses conditional update -->
124
+ <conditionalDelete value="not-supported"/>
125
+ <searchInclude value="Organization"/>
126
+ <searchRevInclude value="Person"/>
127
+ <searchParam>
128
+ <name value="identifier"/>
129
+ <definition value="http://hl7.org/fhir/SearchParameter/Patient-identifier"/>
130
+ <type value="token"/>
131
+ <documentation value="Only supports search by institution MRN"/>
132
+ <modifier value="missing"/>
133
+ </searchParam>
134
+ <searchParam>
135
+ <name value="careprovider"/>
136
+ <definition value="http://hl7.org/fhir/SearchParameter/Patient-careprovider"/>
137
+ <type value="reference"/>
138
+ <!-- there's not a lot of value in saying this, since it's the only
139
+ choice anyway. but in other cases it's pretty important -->
140
+ <target value="Organization"/>
141
+ <modifier value="missing"/>
142
+ <chain value="name"/>
143
+ <chain value="identifier"/>
144
+ </searchParam>
145
+ </resource>
146
+ <interaction>
147
+ <code value="transaction"/>
148
+ </interaction>
149
+ <interaction>
150
+ <code value="history-system"/>
151
+ </interaction>
152
+
153
+ <compartment value="http://hl7.org/fhir/compartment/Patient"/>
154
+ </rest>
155
+ <!-- a messaging CapabilityStatement statement. Applications are not required to make a CapabilityStatement
156
+ statement with regard to messaging, though there is active argument that they should. -->
157
+
158
+ <messaging>
159
+ <endpoint>
160
+ <protocol>
161
+ <system value="http://hl7.org/fhir/message-transport"/>
162
+ <code value="mllp"/>
163
+ </protocol>
164
+ <!-- LLP server at 10.1.1.10 on port 9234 -->
165
+ <address value="mllp:10.1.1.10:9234"/>
166
+ </endpoint>
167
+ <reliableCache value="30"/>
168
+ <documentation value="ADT A08 equivalent for external system notifications"/>
169
+ <event>
170
+
171
+ <code>
172
+ <system value="http://hl7.org/fhir/message-type"/>
173
+ <code value="admin-notify"/>
174
+ </code>
175
+ <category value="Consequence"/>
176
+ <!-- this a receiver - i.e. answers. Not neccessariy a server (though this is) -->
177
+ <mode value="receiver"/>
178
+ <focus value="Patient"/>
179
+ <!-- specify a profile for the request person. Very often there's no
180
+ point profiling the response, it's not interesting -->
181
+ <request>
182
+ <reference value="StructureDefinition/daf-patient"/>
183
+ </request>
184
+ <response>
185
+ <reference value="StructureDefinition/MessageHeader"/>
186
+ </response>
187
+ <documentation value="Notification of an update to a patient resource. changing the links is not supported"/>
188
+ </event>
189
+ </messaging>
190
+
191
+ <!-- a document CapabilityStatement statement -->
192
+ <document>
193
+ <mode value="consumer"/>
194
+ <documentation value="Basic rules for all documents in the EHR system"/>
195
+ <!-- this is the important element: a reference to a published document profile
196
+ note that this is a version specific reference. -->
197
+ <profile>
198
+ <reference value="http://fhir.hl7.org/base/Profilebc054d23-75e1-4dc6-aca5-838b6b1ac81d/_history/b5fdd9fc-b021-4ea1-911a-721a60663796"/>
199
+ </profile>
200
+ </document>
201
+ </CapabilityStatement>
@@ -21,6 +21,6 @@ module FHIR
21
21
  'xhtml' => { 'type'=>'string' }
22
22
  }
23
23
  TYPES = ['Reference', 'Quantity', 'Period', 'Attachment', 'Duration', 'Count', 'Range', 'Annotation', 'Money', 'Identifier', 'Coding', 'Signature', 'SampledData', 'Ratio', 'Distance', 'Age', 'CodeableConcept', 'Extension', 'BackboneElement', 'Narrative', 'Element', 'Meta', 'RelatedResource', 'Address', 'TriggerDefinition', 'Contributor', 'DataRequirement', 'ContactDetail', 'HumanName', 'ContactPoint', 'UsageContext', 'Timing', 'ElementDefinition', 'ParameterDefinition']
24
- RESOURCES = ['CodeSystem', 'ValueSet', 'DomainResource', 'Parameters', 'Resource', 'Account', 'ActivityDefinition', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Consent', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticReport', 'DiagnosticRequest', 'DocumentManifest', 'DocumentReference', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'Endpoint', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingManifest', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'NamingSystem', 'NutritionRequest', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Organization', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'PlanDefinition', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'VisionPrescription']
24
+ RESOURCES = ['CodeSystem', 'ValueSet', 'DomainResource', 'Parameters', 'Resource', 'Account', 'ActivityDefinition', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'CapabilityStatement', 'Consent', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticReport', 'DiagnosticRequest', 'DocumentManifest', 'DocumentReference', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'Endpoint', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingManifest', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'NamingSystem', 'NutritionRequest', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Organization', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'PlanDefinition', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'VisionPrescription']
25
25
 
26
26
  end
@@ -0,0 +1,451 @@
1
+ module FHIR
2
+ class CapabilityStatement < FHIR::Model
3
+ include FHIR::Hashable
4
+ include FHIR::Json
5
+ include FHIR::Xml
6
+
7
+ SEARCH_PARAMS = ["context", "date", "description", "event", "fhirversion", "format", "mode", "name", "publisher", "resource", "resourceprofile", "securityservice", "software", "status", "supported-profile", "url", "version"]
8
+ METADATA = {
9
+ 'id' => {'type'=>'id', 'path'=>'CapabilityStatement.id', 'min'=>0, 'max'=>1},
10
+ 'meta' => {'type'=>'Meta', 'path'=>'CapabilityStatement.meta', 'min'=>0, 'max'=>1},
11
+ 'implicitRules' => {'type'=>'uri', 'path'=>'CapabilityStatement.implicitRules', 'min'=>0, 'max'=>1},
12
+ 'language' => {'type'=>'code', 'path'=>'CapabilityStatement.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/languages'}},
13
+ 'text' => {'type'=>'Narrative', 'path'=>'CapabilityStatement.text', 'min'=>0, 'max'=>1},
14
+ 'contained' => {'type'=>'Resource', 'path'=>'CapabilityStatement.contained', 'min'=>0, 'max'=>Float::INFINITY},
15
+ 'extension' => {'type'=>'Extension', 'path'=>'CapabilityStatement.extension', 'min'=>0, 'max'=>Float::INFINITY},
16
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'CapabilityStatement.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
17
+ 'url' => {'type'=>'uri', 'path'=>'CapabilityStatement.url', 'min'=>0, 'max'=>1},
18
+ 'version' => {'type'=>'string', 'path'=>'CapabilityStatement.version', 'min'=>0, 'max'=>1},
19
+ 'name' => {'type'=>'string', 'path'=>'CapabilityStatement.name', 'min'=>0, 'max'=>1},
20
+ 'title' => {'type'=>'string', 'path'=>'CapabilityStatement.title', 'min'=>0, 'max'=>1},
21
+ 'status' => {'valid_codes'=>{'http://hl7.org/fhir/conformance-resource-status'=>['draft', 'active', 'retired', 'draft', 'active', 'retired']}, 'type'=>'code', 'path'=>'CapabilityStatement.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conformance-resource-status'}},
22
+ 'experimental' => {'type'=>'boolean', 'path'=>'CapabilityStatement.experimental', 'min'=>0, 'max'=>1},
23
+ 'date' => {'type'=>'dateTime', 'path'=>'CapabilityStatement.date', 'min'=>1, 'max'=>1},
24
+ 'publisher' => {'type'=>'string', 'path'=>'CapabilityStatement.publisher', 'min'=>0, 'max'=>1},
25
+ 'contact' => {'type'=>'CapabilityStatement::Contact', 'path'=>'CapabilityStatement.contact', 'min'=>0, 'max'=>Float::INFINITY},
26
+ 'description' => {'type'=>'markdown', 'path'=>'CapabilityStatement.description', 'min'=>0, 'max'=>1},
27
+ 'useContext' => {'valid_codes'=>{'https://www.usps.com/'=>['AK', 'AL', 'AR', 'AS', 'AZ', 'CA', 'CO', 'CT', 'DC', 'DE', 'FL', 'FM', 'GA', 'GU', 'HI', 'IA', 'ID', 'IL', 'IN', 'KS', 'KY', 'LA', 'MA', 'MD', 'ME', 'MH', 'MI', 'MN', 'MO', 'MP', 'MS', 'MT', 'NC', 'ND', 'NE', 'NH', 'NJ', 'NM', 'NV', 'NY', 'OH', 'OK', 'OR', 'PA', 'PR', 'PW', 'RI', 'SC', 'SD', 'TN', 'TX', 'UM', 'UT', 'VA', 'VI', 'VT', 'WA', 'WI', 'WV', 'WY'], 'http://hl7.org/fhir/practitioner-specialty'=>['cardio', 'dent', 'dietary', 'midw', 'sysarch'], 'urn:iso:std:iso:3166'=>['AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AN', 'AO', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ', 'BR', 'BS', 'BT', 'BU', 'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CS', 'CT', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DD', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DY', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FQ', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT', 'GU', 'GW', 'GY', 'HK', 'HM', 'HN', 'HR', 'HT', 'HU', 'HV', 'ID', 'IE', 'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE', 'JM', 'JO', 'JP', 'JT', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MI', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NF', 'NG', 'NH', 'NI', 'NL', 'NO', 'NP', 'NQ', 'NR', 'NT', 'NU', 'NZ', 'OM', 'PA', 'PC', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR', 'PS', 'PT', 'PU', 'PW', 'PY', 'PZ', 'QA', 'RE', 'RH', 'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SU', 'SV', 'SX', 'SY', 'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN', 'TO', 'TP', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM', 'US', 'UY', 'UZ', 'VA', 'VC', 'VD', 'VE', 'VG', 'VI', 'VN', 'VU', 'WF', 'WK', 'WS', 'YD', 'YE', 'YT', 'YU', 'ZA', 'ZM', 'ZR', 'ZW'], 'http://unstats.un.org/unsd/methods/m49/m49.htm'=>['004', '008', '012', '016', '020', '024', '028', '031', '032', '036', '040', '044', '048', '050', '051', '052', '056', '060', '064', '068', '070', '072', '076', '084', '090', '092', '096', '100', '104', '108', '112', '116', '120', '124', '132', '136', '140', '144', '148', '152', '156', '170', '174', '175', '178', '180', '184', '188', '191', '192', '196', '203', '204', '208', '212', '214', '218', '222', '226', '231', '232', '233', '234', '238', '242', '246', '248', '250', '254', '258', '262', '266', '268', '270', '275', '276', '288', '292', '296', '300', '304', '308', '312', '316', '320', '324', '328', '332', '336', '340', '344', '348', '352', '356', '360', '364', '368', '372', '376', '380', '384', '388', '392', '398', '400', '404', '408', '410', '414', '417', '418', '422', '426', '428', '430', '434', '438', '440', '442', '446', '450', '454', '458', '462', '466', '470', '474', '478', '480', '484', '492', '496', '498', '499', '500', '504', '508', '512', '516', '520', '524', '528', '531', '533', '534', '535', '540', '548', '554', '558', '562', '566', '570', '574', '578', '580', '583', '584', '585', '586', '591', '598', '600', '604', '608', '612', '616', '620', '624', '626', '630', '634', '638', '642', '643', '646', '652', '654', '659', '660', '662', '663', '666', '670', '674', '678', '680', '682', '686', '688', '690', '694', '702', '703', '704', '705', '706', '710', '716', '724', '728', '729', '732', '740', '744', '748', '752', '756', '760', '762', '764', '768', '772', '776', '780', '784', '788', '792', '795', '796', '798', '800', '804', '807', '818', '826', '830', '831', '832', '833', '834', '840', '850', '854', '858', '860', '862', '876', '882', '887', '894']}, 'type'=>'CodeableConcept', 'path'=>'CapabilityStatement.useContext', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/use-context'}},
28
+ 'jurisdiction' => {'type'=>'CodeableConcept', 'path'=>'CapabilityStatement.jurisdiction', 'min'=>0, 'max'=>Float::INFINITY },
29
+ 'purpose' => {'type'=>'markdown', 'path'=>'CapabilityStatement.purpose', 'min'=>0, 'max'=>1},
30
+ 'copyright' => {'type'=>'string', 'path'=>'CapabilityStatement.copyright', 'min'=>0, 'max'=>1},
31
+ 'kind' => {'valid_codes'=>{'http://hl7.org/fhir/conformance-statement-kind'=>['instance', 'capability', 'requirements', 'instance', 'capability', 'requirements']}, 'type'=>'code', 'path'=>'CapabilityStatement.kind', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conformance-statement-kind'}},
32
+ 'instantiates' => {'type'=>'uri', 'path'=>'CapabilityStatement.instantiates', 'min'=>0, 'max'=>Float::INFINITY},
33
+ 'software' => {'type'=>'CapabilityStatement::Software', 'path'=>'CapabilityStatement.software', 'min'=>0, 'max'=>1},
34
+ 'implementation' => {'type'=>'CapabilityStatement::Implementation', 'path'=>'CapabilityStatement.implementation', 'min'=>0, 'max'=>1},
35
+ 'fhirVersion' => {'type'=>'id', 'path'=>'CapabilityStatement.fhirVersion', 'min'=>1, 'max'=>1},
36
+ 'acceptUnknown' => {'valid_codes'=>{'http://hl7.org/fhir/unknown-content-code'=>['no', 'extensions', 'elements', 'both', 'no', 'extensions', 'elements', 'both']}, 'type'=>'code', 'path'=>'CapabilityStatement.acceptUnknown', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/unknown-content-code'}},
37
+ 'format' => {'type'=>'code', 'path'=>'CapabilityStatement.format', 'min'=>1, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://www.rfc-editor.org/bcp/bcp13.txt'}},
38
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'CapabilityStatement.profile', 'min'=>0, 'max'=>Float::INFINITY},
39
+ 'rest' => {'type'=>'CapabilityStatement::Rest', 'path'=>'CapabilityStatement.rest', 'min'=>0, 'max'=>Float::INFINITY},
40
+ 'messaging' => {'type'=>'CapabilityStatement::Messaging', 'path'=>'CapabilityStatement.messaging', 'min'=>0, 'max'=>Float::INFINITY},
41
+ 'document' => {'type'=>'CapabilityStatement::Document', 'path'=>'CapabilityStatement.document', 'min'=>0, 'max'=>Float::INFINITY}
42
+ }
43
+
44
+ class Contact < FHIR::Model
45
+ include FHIR::Hashable
46
+ include FHIR::Json
47
+ include FHIR::Xml
48
+
49
+ METADATA = {
50
+ 'id' => {'type'=>'string', 'path'=>'Contact.id', 'min'=>0, 'max'=>1},
51
+ 'extension' => {'type'=>'Extension', 'path'=>'Contact.extension', 'min'=>0, 'max'=>Float::INFINITY},
52
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Contact.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
53
+ 'name' => {'type'=>'string', 'path'=>'Contact.name', 'min'=>0, 'max'=>1},
54
+ 'telecom' => {'type'=>'ContactPoint', 'path'=>'Contact.telecom', 'min'=>0, 'max'=>Float::INFINITY}
55
+ }
56
+
57
+ attr_accessor :id # 0-1 string
58
+ attr_accessor :extension # 0-* [ Extension ]
59
+ attr_accessor :modifierExtension # 0-* [ Extension ]
60
+ attr_accessor :name # 0-1 string
61
+ attr_accessor :telecom # 0-* [ ContactPoint ]
62
+ end
63
+
64
+ class Software < FHIR::Model
65
+ include FHIR::Hashable
66
+ include FHIR::Json
67
+ include FHIR::Xml
68
+
69
+ METADATA = {
70
+ 'id' => {'type'=>'string', 'path'=>'Software.id', 'min'=>0, 'max'=>1},
71
+ 'extension' => {'type'=>'Extension', 'path'=>'Software.extension', 'min'=>0, 'max'=>Float::INFINITY},
72
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Software.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
73
+ 'name' => {'type'=>'string', 'path'=>'Software.name', 'min'=>1, 'max'=>1},
74
+ 'version' => {'type'=>'string', 'path'=>'Software.version', 'min'=>0, 'max'=>1},
75
+ 'releaseDate' => {'type'=>'dateTime', 'path'=>'Software.releaseDate', 'min'=>0, 'max'=>1}
76
+ }
77
+
78
+ attr_accessor :id # 0-1 string
79
+ attr_accessor :extension # 0-* [ Extension ]
80
+ attr_accessor :modifierExtension # 0-* [ Extension ]
81
+ attr_accessor :name # 1-1 string
82
+ attr_accessor :version # 0-1 string
83
+ attr_accessor :releaseDate # 0-1 dateTime
84
+ end
85
+
86
+ class Implementation < FHIR::Model
87
+ include FHIR::Hashable
88
+ include FHIR::Json
89
+ include FHIR::Xml
90
+
91
+ METADATA = {
92
+ 'id' => {'type'=>'string', 'path'=>'Implementation.id', 'min'=>0, 'max'=>1},
93
+ 'extension' => {'type'=>'Extension', 'path'=>'Implementation.extension', 'min'=>0, 'max'=>Float::INFINITY},
94
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Implementation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
95
+ 'description' => {'type'=>'string', 'path'=>'Implementation.description', 'min'=>1, 'max'=>1},
96
+ 'url' => {'type'=>'uri', 'path'=>'Implementation.url', 'min'=>0, 'max'=>1}
97
+ }
98
+
99
+ attr_accessor :id # 0-1 string
100
+ attr_accessor :extension # 0-* [ Extension ]
101
+ attr_accessor :modifierExtension # 0-* [ Extension ]
102
+ attr_accessor :description # 1-1 string
103
+ attr_accessor :url # 0-1 uri
104
+ end
105
+
106
+ class Rest < FHIR::Model
107
+ include FHIR::Hashable
108
+ include FHIR::Json
109
+ include FHIR::Xml
110
+
111
+ METADATA = {
112
+ 'id' => {'type'=>'string', 'path'=>'Rest.id', 'min'=>0, 'max'=>1},
113
+ 'extension' => {'type'=>'Extension', 'path'=>'Rest.extension', 'min'=>0, 'max'=>Float::INFINITY},
114
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Rest.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
115
+ 'mode' => {'valid_codes'=>{'http://hl7.org/fhir/restful-conformance-mode'=>['client', 'server', 'client', 'server']}, 'type'=>'code', 'path'=>'Rest.mode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/restful-conformance-mode'}},
116
+ 'documentation' => {'type'=>'string', 'path'=>'Rest.documentation', 'min'=>0, 'max'=>1},
117
+ 'security' => {'type'=>'CapabilityStatement::Rest::Security', 'path'=>'Rest.security', 'min'=>0, 'max'=>1},
118
+ 'resource' => {'type'=>'CapabilityStatement::Rest::Resource', 'path'=>'Rest.resource', 'min'=>0, 'max'=>Float::INFINITY},
119
+ 'interaction' => {'type'=>'CapabilityStatement::Rest::Interaction', 'path'=>'Rest.interaction', 'min'=>0, 'max'=>Float::INFINITY},
120
+ 'searchParam' => {'type'=>'CapabilityStatement::Rest::Resource::SearchParam', 'path'=>'Rest.searchParam', 'min'=>0, 'max'=>Float::INFINITY},
121
+ 'operation' => {'type'=>'CapabilityStatement::Rest::Operation', 'path'=>'Rest.operation', 'min'=>0, 'max'=>Float::INFINITY},
122
+ 'compartment' => {'type'=>'uri', 'path'=>'Rest.compartment', 'min'=>0, 'max'=>Float::INFINITY}
123
+ }
124
+
125
+ class Security < FHIR::Model
126
+ include FHIR::Hashable
127
+ include FHIR::Json
128
+ include FHIR::Xml
129
+
130
+ METADATA = {
131
+ 'id' => {'type'=>'string', 'path'=>'Security.id', 'min'=>0, 'max'=>1},
132
+ 'extension' => {'type'=>'Extension', 'path'=>'Security.extension', 'min'=>0, 'max'=>Float::INFINITY},
133
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Security.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
134
+ 'cors' => {'type'=>'boolean', 'path'=>'Security.cors', 'min'=>0, 'max'=>1},
135
+ 'service' => {'valid_codes'=>{'http://hl7.org/fhir/restful-security-service'=>['OAuth', 'SMART-on-FHIR', 'NTLM', 'Basic', 'Kerberos', 'Certificates', 'OAuth', 'SMART-on-FHIR', 'NTLM', 'Basic', 'Kerberos', 'Certificates']}, 'type'=>'CodeableConcept', 'path'=>'Security.service', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/restful-security-service'}},
136
+ 'description' => {'type'=>'string', 'path'=>'Security.description', 'min'=>0, 'max'=>1},
137
+ 'certificate' => {'type'=>'CapabilityStatement::Rest::Security::Certificate', 'path'=>'Security.certificate', 'min'=>0, 'max'=>Float::INFINITY}
138
+ }
139
+
140
+ class Certificate < FHIR::Model
141
+ include FHIR::Hashable
142
+ include FHIR::Json
143
+ include FHIR::Xml
144
+
145
+ METADATA = {
146
+ 'id' => {'type'=>'string', 'path'=>'Certificate.id', 'min'=>0, 'max'=>1},
147
+ 'extension' => {'type'=>'Extension', 'path'=>'Certificate.extension', 'min'=>0, 'max'=>Float::INFINITY},
148
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Certificate.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
149
+ 'type' => {'type'=>'code', 'path'=>'Certificate.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://www.rfc-editor.org/bcp/bcp13.txt'}},
150
+ 'blob' => {'type'=>'base64Binary', 'path'=>'Certificate.blob', 'min'=>0, 'max'=>1}
151
+ }
152
+
153
+ attr_accessor :id # 0-1 string
154
+ attr_accessor :extension # 0-* [ Extension ]
155
+ attr_accessor :modifierExtension # 0-* [ Extension ]
156
+ attr_accessor :type # 0-1 code
157
+ attr_accessor :blob # 0-1 base64Binary
158
+ end
159
+
160
+ attr_accessor :id # 0-1 string
161
+ attr_accessor :extension # 0-* [ Extension ]
162
+ attr_accessor :modifierExtension # 0-* [ Extension ]
163
+ attr_accessor :cors # 0-1 boolean
164
+ attr_accessor :service # 0-* [ CodeableConcept ]
165
+ attr_accessor :description # 0-1 string
166
+ attr_accessor :certificate # 0-* [ CapabilityStatement::Rest::Security::Certificate ]
167
+ end
168
+
169
+ class Resource < FHIR::Model
170
+ include FHIR::Hashable
171
+ include FHIR::Json
172
+ include FHIR::Xml
173
+
174
+ METADATA = {
175
+ 'id' => {'type'=>'string', 'path'=>'Resource.id', 'min'=>0, 'max'=>1},
176
+ 'extension' => {'type'=>'Extension', 'path'=>'Resource.extension', 'min'=>0, 'max'=>Float::INFINITY},
177
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Resource.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
178
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/resource-types'=>['Account', 'ActivityDefinition', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'CodeSystem', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Consent', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticReport', 'DiagnosticRequest', 'DocumentManifest', 'DocumentReference', 'DomainResource', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'Endpoint', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingManifest', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'NamingSystem', 'NutritionRequest', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Organization', 'Parameters', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'PlanDefinition', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'Resource', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'ValueSet', 'VisionPrescription', 'Account', 'ActivityDefinition', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'CodeSystem', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Consent', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticReport', 'DiagnosticRequest', 'DocumentManifest', 'DocumentReference', 'DomainResource', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'Endpoint', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingManifest', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'NamingSystem', 'NutritionRequest', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Organization', 'Parameters', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'PlanDefinition', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'Resource', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'ValueSet', 'VisionPrescription']}, 'type'=>'code', 'path'=>'Resource.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/resource-types'}},
179
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Resource.profile', 'min'=>0, 'max'=>1},
180
+ 'documentation' => {'type'=>'markdown', 'path'=>'Resource.documentation', 'min'=>0, 'max'=>1},
181
+ 'interaction' => {'type'=>'CapabilityStatement::Rest::Resource::Interaction', 'path'=>'Resource.interaction', 'min'=>1, 'max'=>Float::INFINITY},
182
+ 'versioning' => {'valid_codes'=>{'http://hl7.org/fhir/versioning-policy'=>['no-version', 'versioned', 'versioned-update', 'no-version', 'versioned', 'versioned-update']}, 'type'=>'code', 'path'=>'Resource.versioning', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/versioning-policy'}},
183
+ 'readHistory' => {'type'=>'boolean', 'path'=>'Resource.readHistory', 'min'=>0, 'max'=>1},
184
+ 'updateCreate' => {'type'=>'boolean', 'path'=>'Resource.updateCreate', 'min'=>0, 'max'=>1},
185
+ 'conditionalCreate' => {'type'=>'boolean', 'path'=>'Resource.conditionalCreate', 'min'=>0, 'max'=>1},
186
+ 'conditionalRead' => {'valid_codes'=>{'http://hl7.org/fhir/conditional-read-status'=>['not-supported', 'modified-since', 'not-match', 'full-support', 'not-supported', 'modified-since', 'not-match', 'full-support']}, 'type'=>'code', 'path'=>'Resource.conditionalRead', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conditional-read-status'}},
187
+ 'conditionalUpdate' => {'type'=>'boolean', 'path'=>'Resource.conditionalUpdate', 'min'=>0, 'max'=>1},
188
+ 'conditionalDelete' => {'valid_codes'=>{'http://hl7.org/fhir/conditional-delete-status'=>['not-supported', 'single', 'multiple', 'not-supported', 'single', 'multiple']}, 'type'=>'code', 'path'=>'Resource.conditionalDelete', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/conditional-delete-status'}},
189
+ 'searchInclude' => {'type'=>'string', 'path'=>'Resource.searchInclude', 'min'=>0, 'max'=>Float::INFINITY},
190
+ 'searchRevInclude' => {'type'=>'string', 'path'=>'Resource.searchRevInclude', 'min'=>0, 'max'=>Float::INFINITY},
191
+ 'searchParam' => {'type'=>'CapabilityStatement::Rest::Resource::SearchParam', 'path'=>'Resource.searchParam', 'min'=>0, 'max'=>Float::INFINITY}
192
+ }
193
+
194
+ class Interaction < FHIR::Model
195
+ include FHIR::Hashable
196
+ include FHIR::Json
197
+ include FHIR::Xml
198
+
199
+ METADATA = {
200
+ 'id' => {'type'=>'string', 'path'=>'Interaction.id', 'min'=>0, 'max'=>1},
201
+ 'extension' => {'type'=>'Extension', 'path'=>'Interaction.extension', 'min'=>0, 'max'=>Float::INFINITY},
202
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Interaction.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
203
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/restful-interaction'=>['read', 'vread', 'update', 'delete', 'history-instance', 'history-type', 'create', 'search-type', 'read', 'vread', 'update', 'delete', 'history', 'create', 'search', 'conformance', 'transaction', 'batch', 'operation']}, 'type'=>'code', 'path'=>'Interaction.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/type-restful-interaction'}},
204
+ 'documentation' => {'type'=>'string', 'path'=>'Interaction.documentation', 'min'=>0, 'max'=>1}
205
+ }
206
+
207
+ attr_accessor :id # 0-1 string
208
+ attr_accessor :extension # 0-* [ Extension ]
209
+ attr_accessor :modifierExtension # 0-* [ Extension ]
210
+ attr_accessor :code # 1-1 code
211
+ attr_accessor :documentation # 0-1 string
212
+ end
213
+
214
+ class SearchParam < FHIR::Model
215
+ include FHIR::Hashable
216
+ include FHIR::Json
217
+ include FHIR::Xml
218
+
219
+ METADATA = {
220
+ 'id' => {'type'=>'string', 'path'=>'SearchParam.id', 'min'=>0, 'max'=>1},
221
+ 'extension' => {'type'=>'Extension', 'path'=>'SearchParam.extension', 'min'=>0, 'max'=>Float::INFINITY},
222
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'SearchParam.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
223
+ 'name' => {'type'=>'string', 'path'=>'SearchParam.name', 'min'=>1, 'max'=>1},
224
+ 'definition' => {'type'=>'uri', 'path'=>'SearchParam.definition', 'min'=>0, 'max'=>1},
225
+ 'type' => {'valid_codes'=>{'http://hl7.org/fhir/search-param-type'=>['number', 'date', 'string', 'token', 'reference', 'composite', 'quantity', 'uri', 'number', 'date', 'string', 'token', 'reference', 'composite', 'quantity', 'uri']}, 'type'=>'code', 'path'=>'SearchParam.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/search-param-type'}},
226
+ 'documentation' => {'type'=>'string', 'path'=>'SearchParam.documentation', 'min'=>0, 'max'=>1},
227
+ 'target' => {'valid_codes'=>{'http://hl7.org/fhir/resource-types'=>['Account', 'ActivityDefinition', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'CodeSystem', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Consent', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticReport', 'DiagnosticRequest', 'DocumentManifest', 'DocumentReference', 'DomainResource', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'Endpoint', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingManifest', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'NamingSystem', 'NutritionRequest', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Organization', 'Parameters', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'PlanDefinition', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'Resource', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'ValueSet', 'VisionPrescription', 'Account', 'ActivityDefinition', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'CodeSystem', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Consent', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticReport', 'DiagnosticRequest', 'DocumentManifest', 'DocumentReference', 'DomainResource', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'Endpoint', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingManifest', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'NamingSystem', 'NutritionRequest', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Organization', 'Parameters', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'PlanDefinition', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'Resource', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'ValueSet', 'VisionPrescription']}, 'type'=>'code', 'path'=>'SearchParam.target', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/resource-types'}},
228
+ 'modifier' => {'valid_codes'=>{'http://hl7.org/fhir/search-modifier-code'=>['missing', 'exact', 'contains', 'not', 'text', 'in', 'not-in', 'below', 'above', 'type', 'missing', 'exact', 'contains', 'not', 'text', 'in', 'not-in', 'below', 'above', 'type']}, 'type'=>'code', 'path'=>'SearchParam.modifier', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/search-modifier-code'}},
229
+ 'chain' => {'type'=>'string', 'path'=>'SearchParam.chain', 'min'=>0, 'max'=>Float::INFINITY}
230
+ }
231
+
232
+ attr_accessor :id # 0-1 string
233
+ attr_accessor :extension # 0-* [ Extension ]
234
+ attr_accessor :modifierExtension # 0-* [ Extension ]
235
+ attr_accessor :name # 1-1 string
236
+ attr_accessor :definition # 0-1 uri
237
+ attr_accessor :type # 1-1 code
238
+ attr_accessor :documentation # 0-1 string
239
+ attr_accessor :target # 0-* [ code ]
240
+ attr_accessor :modifier # 0-* [ code ]
241
+ attr_accessor :chain # 0-* [ string ]
242
+ end
243
+
244
+ attr_accessor :id # 0-1 string
245
+ attr_accessor :extension # 0-* [ Extension ]
246
+ attr_accessor :modifierExtension # 0-* [ Extension ]
247
+ attr_accessor :type # 1-1 code
248
+ attr_accessor :profile # 0-1 Reference(StructureDefinition)
249
+ attr_accessor :documentation # 0-1 markdown
250
+ attr_accessor :interaction # 1-* [ CapabilityStatement::Rest::Resource::Interaction ]
251
+ attr_accessor :versioning # 0-1 code
252
+ attr_accessor :readHistory # 0-1 boolean
253
+ attr_accessor :updateCreate # 0-1 boolean
254
+ attr_accessor :conditionalCreate # 0-1 boolean
255
+ attr_accessor :conditionalRead # 0-1 code
256
+ attr_accessor :conditionalUpdate # 0-1 boolean
257
+ attr_accessor :conditionalDelete # 0-1 code
258
+ # attr_accessor :referencePolicy # 0-1 code
259
+ attr_accessor :searchInclude # 0-* [ string ]
260
+ attr_accessor :searchRevInclude # 0-* [ string ]
261
+ attr_accessor :searchParam # 0-* [ CapabilityStatement::Rest::Resource::SearchParam ]
262
+ end
263
+
264
+ class Interaction < FHIR::Model
265
+ include FHIR::Hashable
266
+ include FHIR::Json
267
+ include FHIR::Xml
268
+
269
+ METADATA = {
270
+ 'id' => {'type'=>'string', 'path'=>'Interaction.id', 'min'=>0, 'max'=>1},
271
+ 'extension' => {'type'=>'Extension', 'path'=>'Interaction.extension', 'min'=>0, 'max'=>Float::INFINITY},
272
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Interaction.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
273
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/restful-interaction'=>['transaction', 'batch', 'search-system', 'history-system', 'read', 'vread', 'update', 'delete', 'history', 'create', 'search', 'conformance', 'transaction', 'batch', 'operation']}, 'type'=>'code', 'path'=>'Interaction.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/system-restful-interaction'}},
274
+ 'documentation' => {'type'=>'string', 'path'=>'Interaction.documentation', 'min'=>0, 'max'=>1}
275
+ }
276
+
277
+ attr_accessor :id # 0-1 string
278
+ attr_accessor :extension # 0-* [ Extension ]
279
+ attr_accessor :modifierExtension # 0-* [ Extension ]
280
+ attr_accessor :code # 1-1 code
281
+ attr_accessor :documentation # 0-1 string
282
+ end
283
+
284
+ class Operation < FHIR::Model
285
+ include FHIR::Hashable
286
+ include FHIR::Json
287
+ include FHIR::Xml
288
+
289
+ METADATA = {
290
+ 'id' => {'type'=>'string', 'path'=>'Operation.id', 'min'=>0, 'max'=>1},
291
+ 'extension' => {'type'=>'Extension', 'path'=>'Operation.extension', 'min'=>0, 'max'=>Float::INFINITY},
292
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Operation.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
293
+ 'name' => {'type'=>'string', 'path'=>'Operation.name', 'min'=>1, 'max'=>1},
294
+ 'definition' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/OperationDefinition'], 'type'=>'Reference', 'path'=>'Operation.definition', 'min'=>1, 'max'=>1}
295
+ }
296
+
297
+ attr_accessor :id # 0-1 string
298
+ attr_accessor :extension # 0-* [ Extension ]
299
+ attr_accessor :modifierExtension # 0-* [ Extension ]
300
+ attr_accessor :name # 1-1 string
301
+ attr_accessor :definition # 1-1 Reference(OperationDefinition)
302
+ end
303
+
304
+ attr_accessor :id # 0-1 string
305
+ attr_accessor :extension # 0-* [ Extension ]
306
+ attr_accessor :modifierExtension # 0-* [ Extension ]
307
+ attr_accessor :mode # 1-1 code
308
+ attr_accessor :documentation # 0-1 string
309
+ attr_accessor :security # 0-1 CapabilityStatement::Rest::Security
310
+ attr_accessor :resource # 0-* [ CapabilityStatement::Rest::Resource ]
311
+ attr_accessor :interaction # 0-* [ CapabilityStatement::Rest::Interaction ]
312
+ attr_accessor :searchParam # 0-* [ CapabilityStatement::Rest::Resource::SearchParam ]
313
+ attr_accessor :operation # 0-* [ CapabilityStatement::Rest::Operation ]
314
+ attr_accessor :compartment # 0-* [ uri ]
315
+ end
316
+
317
+ class Messaging < FHIR::Model
318
+ include FHIR::Hashable
319
+ include FHIR::Json
320
+ include FHIR::Xml
321
+
322
+ METADATA = {
323
+ 'id' => {'type'=>'string', 'path'=>'Messaging.id', 'min'=>0, 'max'=>1},
324
+ 'extension' => {'type'=>'Extension', 'path'=>'Messaging.extension', 'min'=>0, 'max'=>Float::INFINITY},
325
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Messaging.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
326
+ 'endpoint' => {'type'=>'CapabilityStatement::Messaging::Endpoint', 'path'=>'Messaging.endpoint', 'min'=>0, 'max'=>Float::INFINITY},
327
+ 'reliableCache' => {'type'=>'unsignedInt', 'path'=>'Messaging.reliableCache', 'min'=>0, 'max'=>1},
328
+ 'documentation' => {'type'=>'string', 'path'=>'Messaging.documentation', 'min'=>0, 'max'=>1},
329
+ 'event' => {'type'=>'CapabilityStatement::Messaging::Event', 'path'=>'Messaging.event', 'min'=>1, 'max'=>Float::INFINITY}
330
+ }
331
+
332
+ class Endpoint < FHIR::Model
333
+ include FHIR::Hashable
334
+ include FHIR::Json
335
+ include FHIR::Xml
336
+
337
+ METADATA = {
338
+ 'id' => {'type'=>'string', 'path'=>'Endpoint.id', 'min'=>0, 'max'=>1},
339
+ 'extension' => {'type'=>'Extension', 'path'=>'Endpoint.extension', 'min'=>0, 'max'=>Float::INFINITY},
340
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Endpoint.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
341
+ 'protocol' => {'valid_codes'=>{'http://hl7.org/fhir/message-transport'=>['http', 'ftp', 'mllp', 'http', 'ftp', 'mllp']}, 'type'=>'Coding', 'path'=>'Endpoint.protocol', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/message-transport'}},
342
+ 'address' => {'type'=>'uri', 'path'=>'Endpoint.address', 'min'=>1, 'max'=>1}
343
+ }
344
+
345
+ attr_accessor :id # 0-1 string
346
+ attr_accessor :extension # 0-* [ Extension ]
347
+ attr_accessor :modifierExtension # 0-* [ Extension ]
348
+ attr_accessor :protocol # 1-1 Coding
349
+ attr_accessor :address # 1-1 uri
350
+ end
351
+
352
+ class Event < FHIR::Model
353
+ include FHIR::Hashable
354
+ include FHIR::Json
355
+ include FHIR::Xml
356
+
357
+ METADATA = {
358
+ 'id' => {'type'=>'string', 'path'=>'Event.id', 'min'=>0, 'max'=>1},
359
+ 'extension' => {'type'=>'Extension', 'path'=>'Event.extension', 'min'=>0, 'max'=>Float::INFINITY},
360
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Event.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
361
+ 'code' => {'valid_codes'=>{'http://hl7.org/fhir/message-events'=>['CodeSystem-expand', 'MedicationAdministration-Complete', 'MedicationAdministration-Nullification', 'MedicationAdministration-Recording', 'MedicationAdministration-Update', 'admin-notify', 'diagnosticreport-provide', 'observation-provide', 'patient-link', 'patient-unlink', 'valueset-expand', 'CodeSystem-expand', 'MedicationAdministration-Complete', 'MedicationAdministration-Nullification', 'MedicationAdministration-Recording', 'MedicationAdministration-Update', 'admin-notify', 'diagnosticreport-provide', 'observation-provide', 'patient-link', 'patient-unlink', 'valueset-expand']}, 'type'=>'Coding', 'path'=>'Event.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/message-events'}},
362
+ 'category' => {'valid_codes'=>{'http://hl7.org/fhir/message-significance-category'=>['Consequence', 'Currency', 'Notification', 'Consequence', 'Currency', 'Notification']}, 'type'=>'code', 'path'=>'Event.category', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/message-significance-category'}},
363
+ 'mode' => {'valid_codes'=>{'http://hl7.org/fhir/message-conformance-event-mode'=>['sender', 'receiver', 'sender', 'receiver']}, 'type'=>'code', 'path'=>'Event.mode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/message-conformance-event-mode'}},
364
+ 'focus' => {'valid_codes'=>{'http://hl7.org/fhir/resource-types'=>['Account', 'ActivityDefinition', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'CodeSystem', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Consent', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticReport', 'DiagnosticRequest', 'DocumentManifest', 'DocumentReference', 'DomainResource', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'Endpoint', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingManifest', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'NamingSystem', 'NutritionRequest', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Organization', 'Parameters', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'PlanDefinition', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'Resource', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'ValueSet', 'VisionPrescription', 'Account', 'ActivityDefinition', 'AllergyIntolerance', 'Appointment', 'AppointmentResponse', 'AuditEvent', 'Basic', 'Binary', 'BodySite', 'Bundle', 'CarePlan', 'CareTeam', 'Claim', 'ClaimResponse', 'ClinicalImpression', 'CodeSystem', 'Communication', 'CommunicationRequest', 'CompartmentDefinition', 'Composition', 'ConceptMap', 'Condition', 'Conformance', 'Consent', 'Contract', 'Coverage', 'DataElement', 'DecisionSupportServiceModule', 'DetectedIssue', 'Device', 'DeviceComponent', 'DeviceMetric', 'DeviceUseRequest', 'DeviceUseStatement', 'DiagnosticReport', 'DiagnosticRequest', 'DocumentManifest', 'DocumentReference', 'DomainResource', 'EligibilityRequest', 'EligibilityResponse', 'Encounter', 'Endpoint', 'EnrollmentRequest', 'EnrollmentResponse', 'EpisodeOfCare', 'ExpansionProfile', 'ExplanationOfBenefit', 'FamilyMemberHistory', 'Flag', 'Goal', 'Group', 'GuidanceResponse', 'HealthcareService', 'ImagingManifest', 'ImagingStudy', 'Immunization', 'ImmunizationRecommendation', 'ImplementationGuide', 'Library', 'Linkage', 'List', 'Location', 'Measure', 'MeasureReport', 'Media', 'Medication', 'MedicationAdministration', 'MedicationDispense', 'MedicationOrder', 'MedicationStatement', 'MessageHeader', 'NamingSystem', 'NutritionRequest', 'Observation', 'OperationDefinition', 'OperationOutcome', 'Organization', 'Parameters', 'Patient', 'PaymentNotice', 'PaymentReconciliation', 'Person', 'PlanDefinition', 'Practitioner', 'PractitionerRole', 'Procedure', 'ProcedureRequest', 'ProcessRequest', 'ProcessResponse', 'Provenance', 'Questionnaire', 'QuestionnaireResponse', 'ReferralRequest', 'RelatedPerson', 'Resource', 'RiskAssessment', 'Schedule', 'SearchParameter', 'Sequence', 'Slot', 'Specimen', 'StructureDefinition', 'StructureMap', 'Subscription', 'Substance', 'SupplyDelivery', 'SupplyRequest', 'Task', 'TestScript', 'ValueSet', 'VisionPrescription']}, 'type'=>'code', 'path'=>'Event.focus', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/resource-types'}},
365
+ 'request' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Event.request', 'min'=>1, 'max'=>1},
366
+ 'response' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Event.response', 'min'=>1, 'max'=>1},
367
+ 'documentation' => {'type'=>'string', 'path'=>'Event.documentation', 'min'=>0, 'max'=>1}
368
+ }
369
+
370
+ attr_accessor :id # 0-1 string
371
+ attr_accessor :extension # 0-* [ Extension ]
372
+ attr_accessor :modifierExtension # 0-* [ Extension ]
373
+ attr_accessor :code # 1-1 Coding
374
+ attr_accessor :category # 0-1 code
375
+ attr_accessor :mode # 1-1 code
376
+ attr_accessor :focus # 1-1 code
377
+ attr_accessor :request # 1-1 Reference(StructureDefinition)
378
+ attr_accessor :response # 1-1 Reference(StructureDefinition)
379
+ attr_accessor :documentation # 0-1 string
380
+ end
381
+
382
+ attr_accessor :id # 0-1 string
383
+ attr_accessor :extension # 0-* [ Extension ]
384
+ attr_accessor :modifierExtension # 0-* [ Extension ]
385
+ attr_accessor :endpoint # 0-* [ CapabilityStatement::Messaging::Endpoint ]
386
+ attr_accessor :reliableCache # 0-1 unsignedInt
387
+ attr_accessor :documentation # 0-1 string
388
+ attr_accessor :event # 1-* [ CapabilityStatement::Messaging::Event ]
389
+ end
390
+
391
+ class Document < FHIR::Model
392
+ include FHIR::Hashable
393
+ include FHIR::Json
394
+ include FHIR::Xml
395
+
396
+ METADATA = {
397
+ 'id' => {'type'=>'string', 'path'=>'Document.id', 'min'=>0, 'max'=>1},
398
+ 'extension' => {'type'=>'Extension', 'path'=>'Document.extension', 'min'=>0, 'max'=>Float::INFINITY},
399
+ 'modifierExtension' => {'type'=>'Extension', 'path'=>'Document.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
400
+ 'mode' => {'valid_codes'=>{'http://hl7.org/fhir/document-mode'=>['producer', 'consumer', 'producer', 'consumer']}, 'type'=>'code', 'path'=>'Document.mode', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/document-mode'}},
401
+ 'documentation' => {'type'=>'string', 'path'=>'Document.documentation', 'min'=>0, 'max'=>1},
402
+ 'profile' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/StructureDefinition'], 'type'=>'Reference', 'path'=>'Document.profile', 'min'=>1, 'max'=>1}
403
+ }
404
+
405
+ attr_accessor :id # 0-1 string
406
+ attr_accessor :extension # 0-* [ Extension ]
407
+ attr_accessor :modifierExtension # 0-* [ Extension ]
408
+ attr_accessor :mode # 1-1 code
409
+ attr_accessor :documentation # 0-1 string
410
+ attr_accessor :profile # 1-1 Reference(StructureDefinition)
411
+ end
412
+
413
+ attr_accessor :id # 0-1 id
414
+ attr_accessor :meta # 0-1 Meta
415
+ attr_accessor :implicitRules # 0-1 uri
416
+ attr_accessor :language # 0-1 code
417
+ attr_accessor :text # 0-1 Narrative
418
+ attr_accessor :contained # 0-* [ Resource ]
419
+ attr_accessor :extension # 0-* [ Extension ]
420
+ attr_accessor :modifierExtension # 0-* [ Extension ]
421
+ attr_accessor :url # 0-1 uri
422
+ attr_accessor :version # 0-1 string
423
+ attr_accessor :name # 0-1 string
424
+ attr_accessor :title # 0-1 string
425
+ attr_accessor :status # 1-1 code
426
+ attr_accessor :experimental # 0-1 boolean
427
+ attr_accessor :date # 1-1 dateTime
428
+ attr_accessor :publisher # 0-1 string
429
+ attr_accessor :contact # 0-* [ CapabilityStatement::Contact ]
430
+ attr_accessor :description # 0-1 markdown
431
+ attr_accessor :useContext # 0-* [ CodeableConcept ]
432
+ attr_accessor :jurisdiction # 0-* [ CodeableConcept ]
433
+ attr_accessor :purpose # 0-1 markdown
434
+ attr_accessor :copyright # 0-1 string
435
+ attr_accessor :kind # 1-1 code
436
+ attr_accessor :instantiates # 0-* [ uri ]
437
+ attr_accessor :software # 0-1 CapabilityStatement::Software
438
+ attr_accessor :implementation # 0-1 CapabilityStatement::Implementation
439
+ attr_accessor :fhirVersion # 1-1 id
440
+ attr_accessor :acceptUnknown # 1-1 code
441
+ attr_accessor :format # 1-* [ code ]
442
+ attr_accessor :profile # 0-* [ Reference(StructureDefinition) ]
443
+ attr_accessor :rest # 0-* [ CapabilityStatement::Rest ]
444
+ attr_accessor :messaging # 0-* [ CapabilityStatement::Messaging ]
445
+ attr_accessor :document # 0-* [ CapabilityStatement::Document ]
446
+
447
+ def resourceType
448
+ 'CapabilityStatement'
449
+ end
450
+ end
451
+ end
@@ -1,5 +1,5 @@
1
1
  module FHIR
2
2
  module Models
3
- VERSION = '1.6.7'.freeze
3
+ VERSION = '1.6.8'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fhir_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.7
4
+ version: 1.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Walonoski
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2016-10-12 00:00:00.000000000 Z
13
+ date: 2016-10-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
@@ -375,6 +375,7 @@ files:
375
375
  - lib/fhir_models/examples/json/bodysite-example-skin-patch.json
376
376
  - lib/fhir_models/examples/json/bodysite-example-tumor.json
377
377
  - lib/fhir_models/examples/json/bundle-example.json
378
+ - lib/fhir_models/examples/json/capabilitystatement-example.json
378
379
  - lib/fhir_models/examples/json/careplan-example-GPVisit.json
379
380
  - lib/fhir_models/examples/json/careplan-example-f001-heart.json
380
381
  - lib/fhir_models/examples/json/careplan-example-f002-lung.json
@@ -772,6 +773,7 @@ files:
772
773
  - lib/fhir_models/examples/xml/bodysite-example-skin-patch.xml
773
774
  - lib/fhir_models/examples/xml/bodysite-example-tumor.xml
774
775
  - lib/fhir_models/examples/xml/bundle-example.xml
776
+ - lib/fhir_models/examples/xml/capabilitystatement-example.xml
775
777
  - lib/fhir_models/examples/xml/careplan-example-GPVisit.xml
776
778
  - lib/fhir_models/examples/xml/careplan-example-f001-heart.xml
777
779
  - lib/fhir_models/examples/xml/careplan-example-f002-lung.xml
@@ -1157,6 +1159,7 @@ files:
1157
1159
  - lib/fhir_models/fhir/resources/Binary.rb
1158
1160
  - lib/fhir_models/fhir/resources/BodySite.rb
1159
1161
  - lib/fhir_models/fhir/resources/Bundle.rb
1162
+ - lib/fhir_models/fhir/resources/CapabilityStatement.rb
1160
1163
  - lib/fhir_models/fhir/resources/CarePlan.rb
1161
1164
  - lib/fhir_models/fhir/resources/CareTeam.rb
1162
1165
  - lib/fhir_models/fhir/resources/Claim.rb