                   "uuid"          "UUID"
                   "instanceID"    "Instance ID"
                   "phonenumber"   "Phone number"
+                  "_media_all_received"    "All media received?"
                   name)
                 (case name
-                  _submission_time "Submission time"
-                  _submitted_by    "Submitted by"
+                  _submission_time       "Submission time"
+                  _submitted_by          "Submitted by"
                   ""))]
     (cond-> field (not label) (assoc :label label))))
 

                            "start"
                            "subscriberid"
                            "today"
                            "uuid"}
                          field)))

(defn geofield?

  (and (string? appearance-value)
       (re-matches #"^search\(.*\)$" appearance-value)))

(defn media-files-upload-error-component
  "Displays tip question and tooltip msg for failed media files uploads"
  [answer & {:keys [hlp-url translation-txt record-modal?]}]
  (if record-modal?
    [:span.image-name answer
     [:a.tooltip {:href hlp-url :target "_blank"}
      [:span.tip-info translation-txt]
      [:span.tip-question "?"]]]
    (format "<span class='image-name'> %s </span>
          <a class='tooltip' href=%s target='_blank'>
          <span class='tip-info'>%s</span>
          <span class='tip-question'>?</span></a>"
            answer hlp-url translation-txt)))

(defn format-answer
  "String representation for a particular field datapoint (answer).
   re-formatting depends on field type, eg. name->label substitution.
   Optional: compact? should be true if a short string needs to be returned."
  [field answer & {:keys [language compact? label field-key media record-modal?]
                   :or {field-key :name record-modal? false}}]
  (cond
    (string/blank? answer) no-answer
    (select-one? field) (let [option (->> (:children field)
