Interface EhrService

    • Method Detail

      • create

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

        Optional<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 or empty
      • 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

        Optional<com.nedap.archie.rm.ehr.EhrStatus> updateStatus​(UUID ehrId,
                                                                 com.nedap.archie.rm.ehr.EhrStatus status)
        Update the EHR_STATUS linked to the given EHR
        Parameters:
        ehrId - ID of linked EHR
        status - input EHR_STATUS
        Returns:
        Optional containing the updated status on success
        Throws:
        ObjectNotFoundException - when given ehrId cannot be found
        InvalidApiParameterException - when given status is invalid, e.g. not a valid openEHR RM object
      • doesEhrExist

        boolean doesEhrExist​(UUID ehrId)
        Checks if there is an ehr entry existing for specified ehrId.
        Parameters:
        ehrId - - Target EHR identified
        Returns:
        EHR with id exists
      • 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
      • 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
      • 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
      • getDirectoryId

        UUID getDirectoryId​(UUID ehrId)
        Reads the EHR entry from database and returns the ID of the root directory entry.
        Parameters:
        ehrId - - EHR id to find the directory for
        Returns:
        UUID of the root directory if existing