Contained resources (sub-resources found in the `"contained": [...]` field) now contribute to the schema. (Previously, `contained` would just hold a bare bones schema for the root Resource type.)
Every contained resource found in the provided rows gets its fields added, as long as that field exists in any of the resources mentioned by contained `resourceType` schemas.
Example:
json
"contained": [
{"resourceType": "Medication", "code": {...}},
{"resourceType": "Encounter", "status": "planned"}
]
For the above JSON, the final schema would include both `contained.code` and `contained.status`.
See https://github.com/smart-on-fhir/cumulus-etl/issues/250 for a discussion of whether this kind of contained handling is the best approach. But it's arguably better than ignoring the contained resources altogether.