test_medicaid.cwl

  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