Provider Management Technical Overview

Additions to OpenMRS Data Model

The module also adds a "Supervisor/Supervisee" relationship to the relationship_type table which is used to create supervisor/supervisee relationships between two providers.  No default provider/patient relationships are added; they must be added by the end user and linked to provider roles via the providermanagment_provider_role_relationship_type table. 

Provider Management API

The Provider Management Service provides numerous methods that other modules can call to perform provider management functionality. It is relatively well commented.  Note that the API methods almost always returns Persons, not Providers.  The idea was to hide the inner workings of the Provider type from the API consumer.  This may or may not prove to be a good decision.  Also, note that while the UI does not support Persons with more than one associated Providers, the API does support this.