Changed how ParsedInstance objects are converted to mongodb documents: if there is no deleted date attribute, it should not be present in the document at all (this will also simplify the corresponding query).
Updated the mongodb queries accordingly: since {"_deleted_at": None} is logically equivalent to "": [{"_deleted_at": {"": False}}, {"_deleted_at": None}] there is no reason to introduce an additional 'or' clause in the query.
The variable: value combination '_deleted_at': None should not be part of the expected_data dict in the pdk_viewer tests.
Another adjustment to the test: if a field is truly optional/ignorable, it may not be present in a given dict, so don't pop it off w/o checking first.
More tests expected {'_deleted_at': None} -- at least they were consistent.
Why does '_deleted_at' exist in AbstractDataFrameBuilder.IGNORED_COLUMNS and then is *required* in a test?
Merge pull request #1273 from SEL-Columbia/odk_viewer-parsed_instance-streamlining

Odk viewer parsed instance streamlining
simplify search for id=
add reset_submission_count command
add command publish_xml_forms
import re missed from merge
id not found is expected for SMS submissions
revert change to Instance
revert change to Instance.
Merge branch 'two_new_commands' into eHealth_staging