-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adtl like complex logic in spreadsheets #28
Comments
Currently: |
Could we do |
I like the "or" syntax option more generally, and think it would work well in the 1:M tables, but not sure it would work well in this specific example. A simplified mapping file would look like this
and a data file like this
The data ingestion function iterates over the column headers for each row and finds the match in the mapping['variable'] column to find which keys(s) (the mapping file column headers) the data should be mapped to. In this case if a subject is enrolled but not admitted, Using the "or" notation would look like this to get the correct output
Which means you end up with a lot of duplication and it looks more complex. |
Perhaps another option would be to have a index showing the priority. Do we have other structures that we would have to port from adtl? any/all would be tricky to express in this scheme. There is also repetition with date_adm_date and date_adm_time entries being complementary |
Looking at the old parsers, 'all' was generally used to classify the timing of observations (admission/study/followup) in non-redcap datasets. I think for now we don't need to worry about it. "Any" is already semi-implicitly provided - each row of the mapping file indicates a single response type for a single variable. If it's a case of Lists we can again do implicitly, if more than one response is provided to a FHIR attribute that isn't a duplicate, we can assume a list is being built. THe trick will be to make sure this doesn't happen when we don't want it. "firstNonNull" was most commonly used for date/age hierarchies. In FHIR we won't be doing this except for cases as above - In general there will be a single place for enrolment date, admission date etc and we shouldn't be filling in dates with substitutes if a specific date hasn't been provided as FHIR doesn't require them. For other scenarios we could do as you suggested above and use "or" with position enforced e.g. "min" and "max" were never used, so I don't think we'll need those. |
Unit conversion shouldn't be needed as we'll just store whatever was recorded. We might need a way to indicate the date format though, as FHIR expects Y-M-D. This is the default redcap output so no worries for now, but might be required later. |
Think of how to encode https://github.com/globaldothealth/adtl like logic into spreadsheets.
adtl has the following options:
The text was updated successfully, but these errors were encountered: