
Class MdmExpandersHolder
This class addresses the dependency injection challenge where MdmSettings may not be available when these service objects are created. It holds references to both implementation approaches and determines which ones to use based on the MdmSettings. setMdmSettings method should be called when MdmSettings is constructed or updated for proper functioning.
The two implementation approaches are:
1. Eid Match-Only Mode: A simplified approach where resources are matched based solely on Enterprise ID (EID) values without creating golden resources or MDM links. This mode is activated when MdmSettings specify MATCH_ONLY mode and EID systems are defined.
2. Full MDM Mode: The complete MDM solution that creates golden resources and manages MDM links between resources.
Each approach has two service implementations, one for mdm expansion for searches and the other for mdm expansion for group bulk export:
Eid Match-Only Mode implementations: - MdmEidMatchOnlyLinkExpandSvc - BulkExportMdmEidMatchOnlyResourceExpander
Full MDM Mode implementations: - MdmLinkExpandSvc - BulkExportMdmResourceExpander
This class holds references to these service objects rather than creating them by itself, because some of these service objects have Spring annotations like @Transactional, for those annotations to work the objects need to be created by Spring itself.
-
Constructor Summary
ConstructorsConstructorDescriptionMdmExpandersHolder
(ca.uhn.fhir.context.FhirContext theFhirContext, IMdmLinkExpandSvc theMdmLinkExpandSvc, MdmEidMatchOnlyExpandSvc theMdmEidMatchOnlyLinkExpandSvc, BulkExportMdmResourceExpander theBulkExportMDMResourceExpander, BulkExportMdmEidMatchOnlyResourceExpander theBulkExportMDMEidMatchOnlyResourceExpander) -
Method Summary
Modifier and TypeMethodDescriptionDetermines which bulk export resource expander to use based on MDM mode and EID configuration.Returns the appropriate bulk export resource expander instance appropriate for the mdm settingsReturns the appropriate expand service instance appropriate for the mdm settingsvoid
setMdmSettings
(IMdmSettings theMdmSettings) Sets the MDM settings and immediately determines which service implementations to use.
-
Constructor Details
-
MdmExpandersHolder
public MdmExpandersHolder(ca.uhn.fhir.context.FhirContext theFhirContext, IMdmLinkExpandSvc theMdmLinkExpandSvc, MdmEidMatchOnlyExpandSvc theMdmEidMatchOnlyLinkExpandSvc, BulkExportMdmResourceExpander theBulkExportMDMResourceExpander, BulkExportMdmEidMatchOnlyResourceExpander theBulkExportMDMEidMatchOnlyResourceExpander)
-
-
Method Details
-
getLinkExpandSvcInstance
Returns the appropriate expand service instance appropriate for the mdm settings -
getBulkExportMDMResourceExpanderInstance
Returns the appropriate bulk export resource expander instance appropriate for the mdm settings -
determineBulkExportMDMResourceExpanderInstanceToUse
Determines which bulk export resource expander to use based on MDM mode and EID configuration. -
setMdmSettings
Sets the MDM settings and immediately determines which service implementations to use. This method is called after MDM settings become available during application startup.
-