1#!/usr/bin/env cwl-runner
2### Full Medicaid Processing Pipeline
3# Copyright (c) 2021. Harvard University
4#
5# Developed by Research Software Engineering,
6# Faculty of Arts and Sciences, Research Computing (FAS RC)
7# Author: Michael A Bouzinier
8#
9# Licensed under the Apache License, Version 2.0 (the "License");
10# you may not use this file except in compliance with the License.
11# You may obtain a copy of the License at
12#
13# http://www.apache.org/licenses/LICENSE-2.0
14#
15# Unless required by applicable law or agreed to in writing, software
16# distributed under the License is distributed on an "AS IS" BASIS,
17# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18# See the License for the specific language governing permissions and
19# limitations under the License.
20#
21
22cwlVersion: v1.2
23class: Workflow
24
25requirements:
26 SubworkflowFeatureRequirement: {}
27 StepInputExpressionRequirement: {}
28 InlineJavascriptRequirement: {}
29
30doc: |
31 This workflow ingests a small random subset of Medicaid MAX data
32 and verifies counts
33
34inputs:
35 database:
36 type: File
37 default:
38 class: File
39 location: "/opt/airflow/project/database.ini"
40 doc: Path to database connection file, usually database.ini
41 connection_name:
42 type: string
43 default: nsaph_test
44 doc: The name of the section in the database.ini file
45 input:
46 type: Directory
47 default:
48 class: Directory
49 location: "/data/incoming/medicaid/mini_random_data/"
50
51steps:
52 process:
53 run: medicaid.cwl
54 in:
55 database: database
56 connection_name: connection_name
57 input: input
58 out:
59 - resource1_log
60 - resource2_log
61 - parse_log
62 - ps_reset_log
63 - ps_create_log
64 - ps_index_log
65 - ps_vacuum_log
66 - ip_reset_log
67 - ip_create_log
68 - ip_index_log
69 - ip_vacuum_log
70 - ben_create_log
71 - ben_index_log
72 - ben_vacuum_log
73 - mnth_create_log
74 - mnth_index_log
75 - mnth_vacuum_log
76 - enrlm_create_log
77 - enrlm_index_log
78 - enrlm_vacuum_log
79 - elgb_prepare_log
80 - elgb_create_log
81 - elgb_index_log
82 - elgb_vacuum_log
83 - admissions_reset_log
84 - admissions_create_log
85 - admissions_index_log
86 - admissions_vacuum_log
87 - parse_err
88 - ps_reset_err
89 - ps_create_err
90 - ps_index_err
91 - ps_vacuum_err
92 - ip_reset_err
93 - ip_create_err
94 - ip_index_err
95 - ip_vacuum_err
96 - ben_create_err
97 - ben_index_err
98 - ben_vacuum_err
99 - mnth_create_err
100 - mnth_index_err
101 - mnth_vacuum_err
102 - enrlm_create_err
103 - enrlm_index_err
104 - enrlm_vacuum_err
105 - elgb_create_err
106 - elgb_prepare_err
107 - elgb_index_err
108 - elgb_vacuum_err
109 - admissions_reset_err
110 - admissions_create_err
111 - admissions_index_err
112 - admissions_vacuum_err
113 verify:
114 run: verify.cwl
115 in:
116 database: database
117 connection_name: connection_name
118 depends_on: process/elgb_vacuum_log
119 out:
120 - log
121 - errors
122
123outputs:
124 verification_log:
125 type: File
126 outputSource: verify/log
127 verification_err:
128 type: File
129 outputSource: verify/errors
130
131## From medicaid.cwl:
132## Generated by nsaph/util/cwl_collect_outputs.py:
133 resource1_log:
134 type: File
135 outputSource: process/resource1_log
136 resource2_log:
137 type: File
138 outputSource: process/resource2_log
139 parse_log:
140 type: File?
141 outputSource: process/parse_log
142 ps_reset_log:
143 type: File
144 outputSource: process/ps_reset_log
145 ps_create_log:
146 type: File
147 outputSource: process/ps_create_log
148 ps_index_log:
149 type: File
150 outputSource: process/ps_index_log
151 ps_vacuum_log:
152 type: File
153 outputSource: process/ps_vacuum_log
154 ip_reset_log:
155 type: File
156 outputSource: process/ip_reset_log
157 ip_create_log:
158 type: File
159 outputSource: process/ip_create_log
160 ip_index_log:
161 type: File
162 outputSource: process/ip_index_log
163 ip_vacuum_log:
164 type: File
165 outputSource: process/ip_vacuum_log
166 ben_create_log:
167 type: File
168 outputSource: process/ben_create_log
169 ben_index_log:
170 type: File
171 outputSource: process/ben_index_log
172 ben_vacuum_log:
173 type: File
174 outputSource: process/ben_vacuum_log
175 mnth_create_log:
176 type: File
177 outputSource: process/mnth_create_log
178 mnth_index_log:
179 type: File
180 outputSource: process/mnth_index_log
181 mnth_vacuum_log:
182 type: File
183 outputSource: process/mnth_vacuum_log
184 enrlm_create_log:
185 type: File
186 outputSource: process/enrlm_create_log
187 enrlm_index_log:
188 type: File
189 outputSource: process/enrlm_index_log
190 enrlm_vacuum_log:
191 type: File
192 outputSource: process/enrlm_vacuum_log
193 elgb_prepare_log:
194 type: File
195 outputSource: process/elgb_prepare_log
196 elgb_create_log:
197 type: File
198 outputSource: process/elgb_create_log
199 elgb_index_log:
200 type: File
201 outputSource: process/elgb_index_log
202 elgb_vacuum_log:
203 type: File
204 outputSource: process/elgb_vacuum_log
205 admissions_reset_log:
206 type: File
207 outputSource: process/admissions_reset_log
208 admissions_create_log:
209 type: File
210 outputSource: process/admissions_create_log
211 admissions_index_log:
212 type: File
213 outputSource: process/admissions_index_log
214 admissions_vacuum_log:
215 type: File
216 outputSource: process/admissions_vacuum_log
217 parse_err:
218 type: File
219 outputSource: process/parse_err
220 ps_reset_err:
221 type: File
222 outputSource: process/ps_reset_err
223 ps_create_err:
224 type: File
225 outputSource: process/ps_create_err
226 ps_index_err:
227 type: File
228 outputSource: process/ps_index_err
229 ps_vacuum_err:
230 type: File
231 outputSource: process/ps_vacuum_err
232 ip_reset_err:
233 type: File
234 outputSource: process/ip_reset_err
235 ip_create_err:
236 type: File
237 outputSource: process/ip_create_err
238 ip_index_err:
239 type: File
240 outputSource: process/ip_index_err
241 ip_vacuum_err:
242 type: File
243 outputSource: process/ip_vacuum_err
244 ben_create_err:
245 type: File
246 outputSource: process/ben_create_err
247 ben_index_err:
248 type: File
249 outputSource: process/ben_index_err
250 ben_vacuum_err:
251 type: File
252 outputSource: process/ben_vacuum_err
253 mnth_create_err:
254 type: File
255 outputSource: process/mnth_create_err
256 mnth_index_err:
257 type: File
258 outputSource: process/mnth_index_err
259 mnth_vacuum_err:
260 type: File
261 outputSource: process/mnth_vacuum_err
262 enrlm_create_err:
263 type: File
264 outputSource: process/enrlm_create_err
265 enrlm_index_err:
266 type: File
267 outputSource: process/enrlm_index_err
268 enrlm_vacuum_err:
269 type: File
270 outputSource: process/enrlm_vacuum_err
271 elgb_create_err:
272 type: File
273 outputSource: process/elgb_create_err
274 elgb_prepare_err:
275 type: File
276 outputSource: process/elgb_prepare_err
277 elgb_index_err:
278 type: File
279 outputSource: process/elgb_index_err
280 elgb_vacuum_err:
281 type: File
282 outputSource: process/elgb_vacuum_err
283 admissions_reset_err:
284 type: File
285 outputSource: process/admissions_reset_err
286 admissions_create_err:
287 type: File
288 outputSource: process/admissions_create_err
289 admissions_index_err:
290 type: File
291 outputSource: process/admissions_index_err
292 admissions_vacuum_err:
293 type: File
294 outputSource: process/admissions_vacuum_err