I think you have a difference in which address a medic is allowed to operate from vs. which address was the treatment provided from. I would recommend that address(es) a medic MAY operate from become an attribute of the practitioner dimension. If a medic can operate from multiple addresses, then you should consider an associative table (AKA helper table) between practioner and address.
But what is the business information need? Do I need to know where treatments are being performed or do I need to know where Medics (practioners) are eligible to practice from. Do I need to see where treatment is actually provided vs. where practioners are supposed to practice?
Seems the location of treatment is still a dimension of the treatment fact, and perhaps that same dimension has a many:many association with the practioner dimension.
Dig Deeper on Oracle data warehousing
Related Q&A from Mike Lampa
When trying to design a data warehouse, we often try to model the database on the operational data model. Are there any guidelines in trying to ... Continue Reading
What is a surrogate key in a table? Continue Reading