Interface EhrService

All Superinterfaces:
BaseService

public interface EhrService extends BaseService
  • Method Details

    • create

      UUID create(UUID ehrId, com.nedap.archie.rm.ehr.EhrStatus status)
      Creates new EHR instance, with default settings and values when no status or ID is supplied.
      Parameters:
      ehrId - Optional, sets custom ID
      status - Optional, sets custom status
      Returns:
      UUID of new EHR instance
      Throws:
      DuplicateObjectException - when given party/subject already has an EHR
      InternalServerException - when unspecified error occurs
    • getEhrStatusEhrScape

      @Deprecated Optional<org.ehrbase.response.ehrscape.EhrStatusDto> getEhrStatusEhrScape(UUID ehrUuid, org.ehrbase.response.ehrscape.CompositionFormat format)
      Deprecated.
    • getEhrStatus

      com.nedap.archie.rm.ehr.EhrStatus getEhrStatus(UUID ehrUuid)
      Gets latest EHR_STATUS of the given EHR.
      Parameters:
      ehrUuid - EHR subject
      Returns:
      Latest EHR_STATUS
    • getEhrStatusAtVersion

      Optional<com.nedap.archie.rm.changecontrol.OriginalVersion<com.nedap.archie.rm.ehr.EhrStatus>> getEhrStatusAtVersion(UUID ehrUuid, UUID versionedObjectUid, int version)
      Gets particular EHR_STATUS matching the given version Uid.
      Parameters:
      ehrUuid - Root EHR
      versionedObjectUid - Given Uid of EHR_STATUS
      version - Given version of EHR_STATUS
      Returns:
      Matching EHR_STATUS or empty
    • updateStatus

      UUID updateStatus(UUID ehrId, com.nedap.archie.rm.ehr.EhrStatus status, UUID contribution, UUID audit)
      Update the EHR_STATUS linked to the given EHR
      Parameters:
      ehrId - ID of linked EHR
      status - input EHR_STATUS
      contribution - Optional ID of custom contribution. Can be null.
      audit -
      Returns:
      UUID of the updated status
      Throws:
      ObjectNotFoundException - when given ehrId cannot be found
      InvalidApiParameterException - when given status is invalid, e.g. not a valid openEHR RM object
    • findBySubject

      Optional<UUID> findBySubject(String subjectId, String nameSpace)
    • getLatestVersionUidOfStatus

      String getLatestVersionUidOfStatus(UUID ehrId)
      Get latest version UID of an EHR_STATUS by given associated EHR UID.
      Parameters:
      ehrId - EHR ID
      Returns:
      EHR_STATUS version UID
    • getCreationTime

      com.nedap.archie.rm.datavalues.quantity.datetime.DvDateTime getCreationTime(UUID ehrId)
    • getEhrStatusVersionByTimestamp

      Integer getEhrStatusVersionByTimestamp(UUID ehrUid, Timestamp timestamp)
      Get version number of EHR_STATUS associated with given EHR UID at given timestamp.
      Parameters:
      ehrUid - EHR UID
      timestamp - Timestamp of point in time
      Returns:
      version number
    • hasEhr

      boolean hasEhr(UUID ehrId)
      Return True if a EHR with identifier ehrId exists. Implements has_ehr from the openEHR Platform Abstract Service Model.
      Parameters:
      ehrId - identifier to test
      Returns:
      True when existing, false if not
    • isModifiable

      Boolean isModifiable(UUID ehrId)
      Returns true if an EHR_STATUS for the given EHR ID exists and has the is_modifiable flag set to true.
      Parameters:
      ehrId - EHR ID to check
      Returns:
      flag value (true/false) if EHR exists, null otherwise
    • getEhrStatusVersionedObjectUidByEhr

      UUID getEhrStatusVersionedObjectUidByEhr(UUID ehrUid)
      Helper to get (Versioned Object) Uid of EHR_STATUS of given EHR.
      Parameters:
      ehrUid - Uid of EHR
      Returns:
      UUID of corresponding EHR_STATUS
    • getVersionedEhrStatus

      com.nedap.archie.rm.ehr.VersionedEhrStatus getVersionedEhrStatus(UUID ehrUid)
      Gets version container EhrStatus associated with given EHR.
      Parameters:
      ehrUid - Given EHR ID
      Returns:
      Version container object
    • getRevisionHistoryOfVersionedEhrStatus

      com.nedap.archie.rm.generic.RevisionHistory getRevisionHistoryOfVersionedEhrStatus(UUID ehrUid)
      Gets revision history of EhrStatus associated with given EHR.
      Parameters:
      ehrUid - Given EHR ID
      Returns:
      Revision history object
    • adminDeleteEhr

      void adminDeleteEhr(UUID ehrId)
      Admin method to delete an EHR from the DB. See EHRbase Admin API specification for details.
      Parameters:
      ehrId - EHR to delete
    • adminPurgePartyIdentified

      void adminPurgePartyIdentified()
    • adminDeleteOrphanHistory

      void adminDeleteOrphanHistory()
    • getSubjectUuid

      UUID getSubjectUuid(String ehrId)
      Helper to directly get the linked subject ID to given EHR.
      Parameters:
      ehrId - Given EHR ID
      Returns:
      Linked subject ID or null
    • getSubjectExtRef

      String getSubjectExtRef(String ehrId)
      Helper to directly get the external subject reference form the linked subject to given EHR.
      Parameters:
      ehrId - Given EHR ID
      Returns:
      Linked external subject reference or null
    • getSubjectExtRefs

      List<String> getSubjectExtRefs(Collection<String> ehrIds)
    • checkEhrExists

      default void checkEhrExists(UUID ehrId)
      Checks if an EHR with the given UUID exists. Throws ObjectNotFoundException if no EHR is found
      Parameters:
      ehrId - EHR ID to check
    • checkEhrExistsAndIsModifiable

      default void checkEhrExistsAndIsModifiable(UUID ehrId)
      Checks if the EHR with the given UUID is modifiable. Throws ObjectNotFoundException if no EHR is found. Throws GeneralRequestProcessingException if the EHR is not modifiable.
      Parameters:
      ehrId - EHR ID to check