What is the relation between service type and service category value sets?

From the official documentation, I assume that Service-category value set is the broad category under which services are categorized.
(For example, Dental is a service category and oral surgery is a service type)
Is it a parent-child relation in that case? or what is the purpose of having both?
(But optometry is listed only in service type and vision exam is not under any service type)

Can we use either one of them or should we have to use both in a resource?
To put it in a context, If i have to consider vision exam as a HelathcareService, what would be the right service category for it?

ServiceRequest.code indicates the specific service requested. ServiceRequest.category allows arbitrary categorization. It could be in-patient vs. out-patient. It could be a broad category like “lab”, “imaging”, “referral”. It could be a more detailed category or healthcare discipline (e.g. hematology, opthamology). Multiple categories can be specified. In some cases, the category might be inferrable from the code, but not always.

Thanks for the answer! So, service category is kind of adding “tag” to a service for easy search in FHIR Server? Is it mandatory to use one of the value sets for service category or can we add our own values as well?
And also why services like annual health checkup, vision exam is not a part of the service type value set? or where to look to add them as. a service?

Category is definitely about tagging the resource for search/filtering. The binding strength for both the category and code value sets are ‘example’ which means that there’s zero expectation that you must use those codes, or that the set of codes is complete for implementation. I.e. you’re free to use additional ‘standard’ codes from code systems like SNOMED CT or from any other code system (including one you make up yourself).

1 Like