Interface EhrService


public interface EhrService
  • Method Details

    • create

      EhrService.EhrResult create(@Nullable UUID ehrId, @Nullable EhrStatusDto 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:
      EhrService.EhrResult of new EHR instance
      Throws:
      StateConflictException - when an EHR with the given id already exist
      ValidationException - when given status is invalid, e.g. not a valid openEHR RM object
    • updateStatus

      EhrService.EhrResult updateStatus(UUID ehrId, EhrStatusDto status, com.nedap.archie.rm.support.identification.ObjectVersionId targetObjId, 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 - Audit event id
      Returns:
      EhrService.EhrResult of the updated status
      Throws:
      ObjectNotFoundException - if no EHR is found
      ValidationException - when given status is invalid, e.g. not a valid openEHR RM object
    • getEhrStatus

      EhrService.EhrResult getEhrStatus(UUID ehrUuid)
      Gets latest EHR_STATUS of the given EHR.
      Parameters:
      ehrUuid - EHR subject
      Returns:
      Latest EHR_STATUS
      Throws:
      ObjectNotFoundException - if no EHR is found
    • getEhrStatusAtVersion

      Optional<com.nedap.archie.rm.changecontrol.OriginalVersion<EhrStatusDto>> 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
      Throws:
      ObjectNotFoundException - if no EHR is found
    • findBySubject

      Optional<UUID> findBySubject(String subjectId, String nameSpace)
      Search for an EHR_STATUS based on the given subject id and namespace
      Parameters:
      subjectId - ID of the EHR_STATUS subject
      nameSpace - of the EHR_STATUS subject
      Returns:
      Optional<UUID> of the matching EHR_STATUS
    • getLatestVersionUidOfStatus

      com.nedap.archie.rm.support.identification.ObjectVersionId 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
      Throws:
      ObjectNotFoundException - if no EHR is found
    • getEhrStatusVersionByTimestamp

      com.nedap.archie.rm.support.identification.ObjectVersionId getEhrStatusVersionByTimestamp(UUID ehrUid, OffsetDateTime 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
      Throws:
      ObjectNotFoundException - if no EHR is found
    • getCreationTime

      com.nedap.archie.rm.datavalues.quantity.datetime.DvDateTime getCreationTime(UUID ehrId)
      Provides the creation time of the given EHR id.
      Parameters:
      ehrId - ID of the EHR
      Returns:
      DvDateTime of the EHR creation
    • 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
    • getVersionedEhrStatus

      com.nedap.archie.rm.changecontrol.VersionedObject<EhrStatusDto> getVersionedEhrStatus(UUID ehrId)
      Gets version container EhrStatus associated with given EHR.
      Parameters:
      ehrId - Given EHR ID
      Returns:
      Version container object
      Throws:
      ObjectNotFoundException - if no EHR is found
    • getRevisionHistoryOfVersionedEhrStatus

      com.nedap.archie.rm.generic.RevisionHistory getRevisionHistoryOfVersionedEhrStatus(UUID ehrId)
      Gets revision history of EhrStatus associated with given EHR.
      Parameters:
      ehrId - Given EHR ID
      Returns:
      Revision history object
      Throws:
      ObjectNotFoundException - if no EHR is found
    • 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
    • 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
      Throws:
      ObjectNotFoundException - if no EHR is found
    • checkEhrExists

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

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