forked from department-of-veterans-affairs/va.gov-cms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
migrate_plus.migration.va_node_health_care_local_facility.yml
282 lines (282 loc) · 6.21 KB
/
migrate_plus.migration.va_node_health_care_local_facility.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
uuid: e609d96b-f8c9-46bd-a0a7-0498f5a7955b
langcode: en
status: true
dependencies:
enforced:
module:
- tzfield
id: va_node_health_care_local_facility
class: null
field_plugin_method: null
cck_plugin_method: null
migration_tags:
- Continuous
- Content
- Node
migration_group: facility
label: 'Node - Health Care Local Facility'
source:
track_changes: true
cache_counts: true
plugin: url
data_fetcher_plugin: http
data_parser_plugin: json
urls:
- 'https://dev-api.va.gov/services/va_facilities/v0/facilities/all'
headers:
Accept: application/vnd.geo+json
apikey: 'DEFINED IN settings.php'
item_selector: features/
ids:
id:
type: string
constants: null
fields:
-
name: address1
label: address1
selector: properties/address/physical/address_1
-
name: address2
label: address2
selector: properties/address/physical/address_2
-
name: address3
label: address3
selector: properties/address/physical/address_3
-
name: classification
label: classification
selector: properties/classification
-
name: city
label: city
selector: properties/address/physical/city
-
name: coordinates
label: coordinates
selector: geometry/coordinates
-
name: facility_type
label: facility_type
selector: properties/facility_type
-
name: hours
label: hours
selector: properties/hours
-
name: time_zone
label: time_zone
selector: properties/time_zone
-
name: id
label: id
selector: properties/id
-
name: name
label: name
selector: properties/name
-
name: phone-main
label: phone-main
selector: properties/phone/main
-
name: phone-mental-health
label: phone-mental-health
selector: properties/phone/mental_health_clinic
-
name: state
label: state
selector: properties/address/physical/state
-
name: zip
label: zip
selector: properties/address/physical/zip
-
name: mobile
label: mobile
selector: properties/mobile
process:
non_field1:
plugin: skip_on_value
not_equals: true
source: facility_type
method: row
value:
- va_health_facility
title:
plugin: skip_on_empty
method: row
source: name
message: 'Skipped: Source title/name is empty, can not have a node without title.'
field_facility_locator_api_id:
plugin: skip_on_empty
method: row
source: id
message: 'Skipped: Source API ID is empty, must have it.'
field_administration:
plugin: default_value
default_value: 8
langcode:
plugin: default_value
default_value: en
field_address/country_code:
plugin: default_value
default_value: US
field_address/langcode:
plugin: default_value
default_value: en
field_address/address_line1:
-
plugin: get
source:
- address1
- address2
- address3
-
plugin: callback
callable: array_filter
-
plugin: multiple_values
-
plugin: callback
callable: trim
-
plugin: concat
delimiter: ', '
field_address/locality: city
field_address/administrative_area: state
field_address/postal_code: zip
latitude:
plugin: extract
source: coordinates
index:
- 1
longitude:
plugin: extract
source: coordinates
index:
- 0
field_geolocation:
plugin: geofield_latlon
source:
- '@latitude'
- '@longitude'
field_office_hours:
plugin: va_field_office_hours
source: hours
field_timezone: time_zone
field_facility_classification:
-
plugin: static_map
source: classification
map:
'VA Medical Center (VAMC)': 1
'Health Care Center (HCC)': 2
'Multi-Specialty CBOC': 3
'Primary Care CBOC': 4
MCS: 5
'Other Outpatient Services (OOS)': 6
'Extended Care Site (Community Living Center) (Stand-Alone)': 7
'Residential Care Site (MH RRTP/DRRTP) (Stand-Alone)': 8
field_mental_health_phone:
-
plugin: str_replace
source: phone-mental-health
search: Ext.
replace: x
-
plugin: explode
delimiter: x
-
plugin: callback
callable: trim
-
plugin: concat
delimiter: ' x'
field_phone_number:
-
plugin: str_replace
source: phone-main
search: Ext.
replace: x
-
plugin: explode
delimiter: x
-
plugin: callback
callable: trim
-
plugin: concat
delimiter: ' x'
field_mobile:
plugin: convert_boolean
source: mobile
status:
plugin: default_value
default_value: 0
promote:
plugin: default_value
default_value: 0
sticky:
plugin: default_value
default_value: 0
path/pathauto:
plugin: default_value
default_value: 1
published_status:
plugin: default_value
default_value: 0
moderation_state:
plugin: default_value
default_value: draft
changed:
plugin: callback
callable: va_gov_migrate_time
new_revision:
plugin: default_value
default_value: true
revision_default:
plugin: default_value
default_value: true
revision_log:
plugin: default_value
default_value: 'Update of Facility API data by migration.'
revision_timestamp:
plugin: callback
callable: va_gov_migrate_time
revision_uid:
plugin: default_value
default_value: 1317
uid:
plugin: default_value
default_value: 1317
type:
plugin: default_value
default_value: health_care_local_facility
destination:
plugin: 'entity:node'
default_bundle: health_care_local_facility
overwrite_properties:
- field_address/address_line1
- field_address/administrative_area
- field_address/country_code
- field_address/locality
- field_address/postal_code
- field_geolocation
- field_office_hours
- field_timezone
- changed
- field_facility_classification
- field_mental_health_phone
- field_phone_number
- field_mobile
- new_revision
- revision_default
- revision_log
- revision_timestamp
- revision_uid
- title
- uid
migration_dependencies:
required: { }