Package ca.uhn.fhir.jpa.dao.data
Interface IMdmLinkJpaRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<MdmLink,
,Long> IHapiFhirJpaRepository
,org.springframework.data.jpa.repository.JpaRepository<MdmLink,
,Long> org.springframework.data.repository.ListCrudRepository<MdmLink,
,Long> org.springframework.data.repository.ListPagingAndSortingRepository<MdmLink,
,Long> org.springframework.data.repository.PagingAndSortingRepository<MdmLink,
,Long> org.springframework.data.repository.query.QueryByExampleExecutor<MdmLink>
,org.springframework.data.repository.Repository<MdmLink,
,Long> org.springframework.data.repository.history.RevisionRepository<MdmLink,
Long, Long>
@Repository
public interface IMdmLinkJpaRepository
extends org.springframework.data.repository.history.RevisionRepository<MdmLink,Long,Long>, org.springframework.data.jpa.repository.JpaRepository<MdmLink,Long>, IHapiFhirJpaRepository
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
deleteLinksHistoryWithAnyReferenceToPids
(List<Long> theResourcePids) void
deleteLinksWithAnyReferenceToPids
(List<Long> theResourcePids) int
deleteWithAnyReferenceToPid
(Long thePid) int
deleteWithAnyReferenceToPidAndMatchResultNot
(Long thePid, ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMatchResult) expandPidsByGoldenResourcePidAndMatchResult
(Long theSourcePid, ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMdmMatchResultEnum) expandPidsBySourcePidAndMatchResult
(Long theSourcePid, ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMdmMatchResultEnum) expandPidsFromGroupPidGivenMatchResult
(Long theGroupPid, ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMdmMatchResultEnum) findBySourcePidAndMatchResult
(Long theSourcePid, ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMatch) findLinksAssociatedWithGoldenResourceOfSourceResourceExcludingMatchResult
(Long theSourcePid, ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMdmMatchResultEnumToExclude) findPidByResourceNameAndThreshold
(String theResourceName, Date theHighThreshold, org.springframework.data.domain.Pageable thePageable) findPidByResourceNameAndThresholdAndPartitionId
(String theResourceName, Date theHighThreshold, List<Integer> thePartitionIds, org.springframework.data.domain.Pageable thePageable) Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, save
Methods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlush
Methods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAll
Methods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAll
Methods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAll
Methods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findBy, findOne
Methods inherited from interface org.springframework.data.repository.history.RevisionRepository
findLastChangeRevision, findRevision, findRevisions, findRevisions
-
Method Details
-
deleteWithAnyReferenceToPid
@Modifying @Query("DELETE FROM MdmLink f WHERE myGoldenResourcePid = :pid OR mySourcePid = :pid") int deleteWithAnyReferenceToPid(@Param("pid") Long thePid) -
deleteWithAnyReferenceToPidAndMatchResultNot
@Modifying @Query("DELETE FROM MdmLink f WHERE (myGoldenResourcePid = :pid OR mySourcePid = :pid) AND myMatchResult <> :matchResult") int deleteWithAnyReferenceToPidAndMatchResultNot(@Param("pid") Long thePid, @Param("matchResult") ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMatchResult) -
deleteLinksWithAnyReferenceToPids
@Modifying @Query("DELETE FROM MdmLink f WHERE myGoldenResourcePid IN (:goldenPids) OR mySourcePid IN (:goldenPids)") void deleteLinksWithAnyReferenceToPids(@Param("goldenPids") List<Long> theResourcePids) -
deleteLinksHistoryWithAnyReferenceToPids
@Modifying @Query(value="DELETE FROM MPI_LINK_AUD WHERE GOLDEN_RESOURCE_PID IN (:goldenPids) OR TARGET_PID IN (:goldenPids)", nativeQuery=true) void deleteLinksHistoryWithAnyReferenceToPids(@Param("goldenPids") List<Long> theResourcePids) -
expandPidsFromGroupPidGivenMatchResult
@Query("SELECT lookup_links.myGoldenResourcePid as goldenPid, gld_rt.myPartitionIdValue as goldenPartitionId, lookup_links.mySourcePid as sourcePid, lookup_links.myPartitionIdValue as sourcePartitionId FROM MdmLink lookup_links INNER JOIN ResourceTable gld_rt on lookup_links.myGoldenResourcePid=gld_rt.myId WHERE lookup_links.myMatchResult=:matchResult AND lookup_links.myGoldenResourcePid IN (SELECT inner_mdm_link.myGoldenResourcePid FROM MdmLink inner_mdm_link INNER JOIN ResourceLink inner_res_link ON inner_res_link.myTargetResourcePid=inner_mdm_link.mySourcePid AND inner_res_link.mySourceResourcePid=:groupPid AND inner_res_link.mySourcePath=\'Group.member.entity\' AND inner_res_link.myTargetResourceType=\'Patient\')") List<IMdmLinkJpaRepository.MdmPidTuple> expandPidsFromGroupPidGivenMatchResult(@Param("groupPid") Long theGroupPid, @Param("matchResult") ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMdmMatchResultEnum) -
findBySourcePidAndMatchResult
@Query("SELECT ml FROM MdmLink ml WHERE ml.mySourcePid = :sourcePid AND ml.myMatchResult = :matchResult") Optional<MdmLink> findBySourcePidAndMatchResult(@Param("sourcePid") Long theSourcePid, @Param("matchResult") ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMatch) -
expandPidsBySourcePidAndMatchResult
@Query("SELECT lookup_link.myGoldenResourcePid as goldenPid, gld_rt.myPartitionIdValue as goldenPartitionId, lookup_link.mySourcePid as sourcePid, lookup_link.myPartitionIdValue as sourcePartitionId FROM MdmLink lookup_link INNER JOIN MdmLink gld_link on lookup_link.myGoldenResourcePid=gld_link.myGoldenResourcePid INNER JOIN ResourceTable gld_rt on gld_link.myGoldenResourcePid=gld_rt.myId WHERE gld_link.mySourcePid=:sourcePid AND gld_link.myMatchResult=:matchResult AND lookup_link.myMatchResult=:matchResult") List<IMdmLinkJpaRepository.MdmPidTuple> expandPidsBySourcePidAndMatchResult(@Param("sourcePid") Long theSourcePid, @Param("matchResult") ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMdmMatchResultEnum) -
findLinksAssociatedWithGoldenResourceOfSourceResourceExcludingMatchResult
@Query("SELECT ml FROM MdmLink ml INNER JOIN MdmLink ml2 on ml.myGoldenResourcePid=ml2.myGoldenResourcePid WHERE ml2.mySourcePid=:sourcePid AND ml2.myMatchResult!=:matchResult") List<MdmLink> findLinksAssociatedWithGoldenResourceOfSourceResourceExcludingMatchResult(@Param("sourcePid") Long theSourcePid, @Param("matchResult") ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMdmMatchResultEnumToExclude) -
expandPidsByGoldenResourcePidAndMatchResult
@Query("SELECT lookup_link.myGoldenResourcePid as goldenPid, gld_rt.myPartitionIdValue as goldenPartitionId, lookup_link.mySourcePid as sourcePid, lookup_link.myPartitionIdValue as sourcePartitionId FROM MdmLink lookup_link INNER JOIN ResourceTable gld_rt on lookup_link.myGoldenResourcePid=gld_rt.myId WHERE lookup_link.myGoldenResourcePid = :goldenPid AND lookup_link.myMatchResult = :matchResult") List<IMdmLinkJpaRepository.MdmPidTuple> expandPidsByGoldenResourcePidAndMatchResult(@Param("goldenPid") Long theSourcePid, @Param("matchResult") ca.uhn.fhir.mdm.api.MdmMatchResultEnum theMdmMatchResultEnum) -
findPidByResourceNameAndThreshold
@Query("SELECT ml.myId FROM MdmLink ml WHERE ml.myMdmSourceType = :resourceName AND ml.myCreated <= :highThreshold ORDER BY ml.myCreated DESC") List<Long> findPidByResourceNameAndThreshold(@Param("resourceName") String theResourceName, @Param("highThreshold") Date theHighThreshold, org.springframework.data.domain.Pageable thePageable) -
findPidByResourceNameAndThresholdAndPartitionId
@Query("SELECT ml.myId FROM MdmLink ml WHERE ml.myMdmSourceType = :resourceName AND ml.myCreated <= :highThreshold AND ml.myPartitionIdValue IN :partitionId ORDER BY ml.myCreated DESC") List<Long> findPidByResourceNameAndThresholdAndPartitionId(@Param("resourceName") String theResourceName, @Param("highThreshold") Date theHighThreshold, @Param("partitionId") List<Integer> thePartitionIds, org.springframework.data.domain.Pageable thePageable)
-