Focusing on Type Concept's only here
For vocabulary_id: I think 'Cost Type' will stay with the vocabulary_id 'Type Concept' - because some are preexisting (although I will argue that we need deprecate them - see below).
My understanding of the use of Type_concept_id in other OMOP tables are used to represent attribute of the data-source, rather than attribute of the data-record. e.g.
Measurement_type_concept_id -- eligible type concept_id
Procuedure_type_concept_id -- eligible type concept_id
'5001 Test ordered through EHR' - sounds like an attribute of the data source, i.e. the data source is EHR, vs. Patient reported value etc. While '5031 Amount paid by the patient or reimbursed by the payer' sounds like an attribute of the datum/record. If this was, 'Financial record reported by Patient', or 'Financial record from a claim', or 'Financial record from EHR' -- this would be a 'Type concept' and be an attribute of the data.
We did not have cost_concept_id in legacy cost table, but we have in OMOP 5.3+ cost table. The concept_id 5031, 5032, 5033 sounds like a conceptid (attribute of the datum/record), rather than attribute of the data source. So, it is not
the provenance or the source of the COST data:.
hence, I argue that we should remove it.
Based on this argument, new 'Type concept' for cost belonging to the vocabulary 'Cost Type'
We may need more, to represent the concepts 'Financial record reported by Patient', or 'Financial record from a claim', or 'Financial record from EHR' . Happy to add and more them as Type-concept-id, based on the discussion here