Interface EhrService

    • Method Detail

      • 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)
        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.
        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
      • 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
      • 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
      • hasStatus

        boolean hasStatus​(UUID statusId)
        Return True if a EHR_STATUS with identifier statusId exists.
        Parameters:
        statusId - 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:
        true if flag is true, false 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
      • 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
      • removeDirectory

        boolean removeDirectory​(UUID ehrId)
        Removes the directory information from EHR table entry after deletion of the corresponding folder from folders table. If there were no such folder it will return a successful deletion.
        Parameters:
        ehrId - - Target EHR id
        Returns:
        Directory entry is now 'null'
      • 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
      • 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