Overview
Documents the internal service APIs.
Details
There is a collection of internal APIs that provide the core functionality. Applications could be developed to use a “within JVM” connection to these services and through JPA lazy initialization entire graphs of objects can be read from the database (in either their current state or any desired past state).
Data model access services generally take either internal ids or terminology-specific assigned identifiers (e.g. SCTID) and return individual objects without any eagerly initialized connected data. TBD.. discuss this for each "type" of domain model object
Services that create, modify, or remove data objects ...
Dual independent review of map records is achieved by creating completely separate objects associated with each user and then comparing when both have indicated work on mapping the underlying concept is complete.
In general, methods that find data return search result objects with identifiers (with display labels) that can be used to perform subsequent lookups to retrieve the underlying model objects. These methods typically also take a paging/sorting/filtering parameter to allow for controlled access to the desired amount of data.
Root Service
All services implement root service which provides the following functionality
beginTransaction
- Starts a transaction (if the transaction per operation setting is "false")
close
- Closes the service and associated resources (e.g. a Hibernate session)
closeFactory
- Closes the entity manager factor.
commit
- Commits a transaction (if the transaction per operation setting is "false")
getTransactionPerOperation
- Indicates whether or not the service is configured to autocommit on each call
openFactory
- Opens the entity manager factory - timeouts periodically require this.
setTransactionPerOperation
- Sets the flag indicating whether or not the service is configured to autocommit on each call
Security Service
The internal security service API supports the following functionality:
authenticate
- Authenticates a user with a password and returns an authToken
getApplicationRoleForToken
- Returns the application role for an authToken
getMapProjectRoleForToken
- Returns the map project role for a map project id and authToken
getUsernameForToken
- Returns the username for an authToken
Metadata Service
The internal metadata service API supports the following functionality:
getAllMetadata
- Returns all metadata for a terminology/version
- This is the key method of the class and supports a single call to get all metadata for a terminology
getAttributeValueRefSets
- Returns all attribute value refsets for a terminology/version
getCaseSignificances
- Returns all case significance values for a terminology/version
getComplexMapRefSets
- Returns all complex map refsets for a terminology/version
getDefinitionStatuses
- Returns all definition status values for a terminology/version
getDescriptionTypes
- Returns all description types for a terminology/version
getHierarchicalRelationshipTypes
- Returns the hierarchical relationship types for a terminology/version
getLanguageRefSets
- Returns all language refsets for a terminology/version
getLatestVersion
- Returns the latest version of a terminology
getMapRelations
- Returns all map relation values for a terminology/version
getModules
- Returns all modules for a terminology/version
getRelationshipCharacteristicTypes
- Returns all relationship characteristic types for a terminology/version
getRelationshipModifiers
- Returns all relationship modifier values for a terminology/version
getRelationshipTypes
- Returns all relationship types for a terminology/version
getSimpleMapRefSets
- Returns all simple map refsets for a terminology/version
getSimpleRefSets
- Returns all simple refsets for a terminology/version
getTerminologies
- Returns all terminologies
getTerminologyLatestVersions
- Returns all terminologies with latest version info
getVersions
- Returns all versions for a terminology
Content Service
The internal content service API supports the following functionality:
clearTreePositions
- Remove all tree positions for a terminology
computeTreePositions
- Compute tree positions for a terminology
findConceptsForQuery
- Find concepts by a query
findDescendantConcepts
- Find all descendant concept for a terminologyId/terminology/version
getAllConcepts
- Return all concepts for a terminology/version
getAllDescriptionTerminologyIds
- Return all description ids for a terminology/version
getAllLanguageRefSetMemberTerminologyIds
- Return all language refset member ids for a terminology/version
getAllRelationshipTerminologyIds
- Return all relationship ids for a terminology/version
getComplexMapRefSetMembersForRefSetId
- Return all complex map refset members for a refset id
getConcept
- Return a concept for a concept id
getConcept
- Return a concept for a terminologyId/terminology/version
getConcepts
- Return all concept
getConceptsModifiedSinceDate
- Return concepts modified since a certain date for a terminology/version
getDescendantConceptsCount
Returns the count of descendants for a terminologyId/terminology/version
getRootTreePositions
- Returns the root tree positions for a terminology/version
getTreePositionGraphForQuery
- Returns a tree position graph for a query and terminologyId/terminology/version
getTreePositions
- Returns all tree positions for a terminologyId/terminology/version
getTreePositionsWithChildren
- Returns tree positions with children for a terminologyId/terminology/version
getTreePositionsWithDescendants
- Returns all tree positions with descendants for a terminologyId/terminology/version
getTreePositionWithDescendants
- Returns the first tree position with descendants for a terminologyId/terminology/version
updateComplexMapRefSetMember
- Updates a complex map refset member - used by release processing
updateConcept
- Updates a concept - used by drip feed
updateDescription
- Updates a description - used by drip feed
updateLanguageRefSetMember
- Updates a language refset member - used by drip feed
updateRelationship
- Updates a relationship - used by drip feed
Mapping Service
The internal mapping service API supports the following functionality:
addMapAdvice(MapAdvice)
- Adds a map advice for use by map entries
addMapAgeRange(MapAgeRange)
- Adds a preset map age range for use by map entries
addMapPrinciple(MapPrinciple)
- Adds a map principle for use by map records
addMapProject(MapProject)
- Adds a map project
addMapRecord(MapRecord)
- Adds a map record
addMapRelation(MapRelation)
- Adds a map relation for use by map entries
addMapUser(MapUser)
- Adds a map user
addMapUserPreferences(MapUserPreferences)
- Adds a map user's preferences object
checkMapGroupsForMapProject(MapProject, boolean)
- Validates (with option to correct) the group structure for all map records on a map project
createMapRecordsForMapProject(Long, MapUser, List<ComplexMapRefSetMember>, WorkflowStatus)
- Creates map records with a given workflow status for a map project from a list of complex map ref set members
createMapRecordsForMapProject(Long, MapUser, List<ComplexMapRefSetMember>, WorkflowStatus, float)
- Creates map records with a given workflow status for a map project from a sampled list of complex ref set members
createMapRecordsForMapProject(Long, WorkflowStatus)
- Creates map records with a given workflow status for a map project from previously loaded complex map ref set members
findConceptsExcludedFromScope(Long, PfsParameter)
- Calculates paged/filtered/sorted concepts excluded from scope given a map project id
findConceptsInScope(Long, PfsParameter)
- Calculates paged/filtered/sorted concepts included in scope given a map project id
findMappedConceptsOutOfScopeBounds(Long, PfsParameter)
- Calculates paged/filtered/sorted concepts that are out of scope but have existing mappings
findMapProjectsForQuery(String, PfsParameter)
- Returns paged/filtered/sorted map projects for a string query
findMapRecordsForQuery(String, PfsParameter)
- Returns paged/filtered/sorted map records for a string query
findUnmappedConceptsInScope(Long, PfsParameter)
- Calculates paged/filtered/sorted in-scope concepts with no mappings for a map project
findUnmappedDescendantsForConcept(String, Long, PfsParameter)
- Calculates paged/filtered/sorted descendants with no existing map records for a concept and project
getMapAdvices()
- Gets all map advices
getMapAgeRanges()
- Gets all preset map age ranges
getMapPrinciple(Long)
- Gets a map principle by id
getMapPrinciples()
- Gets all map principles
getMapProject(Long)
- Gets a map project by id
getMapProjectForRefSetId(String)
- Gets a map project by ref set id
getMapProjectMetadata()
- Returns a key-value pair list of project metadata parameters
getMapProjects()
- Gets all map projects
getMapProjectsForMapUser(MapUser)
- Gets all map projects on which specified user has a role
getMapRecord(Long)
- Gets a map record by id
getMapRecordRevisions(Long)
- Gets all revisions of a map record from audit table by id
getMapRecordRevisionsForConcept(String, Long)
- Gets all revisions of all map records from audit table by terminology Id and project
getMapRecords()
- Gets all map records
getMapRecordsForConcept(String)
- Gets all map records for a terminology id
getMapRecordsForMapProject(Long)
- Gets all map records for a map project
getMapRecordsForProjectAndConcept(Long, String)
- Gets all map records for a map project and terminology id
getMapRelations()
- Gets all map relations
getMapUser(Long)
- Gets a map user by id
getMapUser(String)
- Gets a map user by user name
- getMapUserPreferences()
- Gets all map user preferences objects
- getMapUserPreferences(String)
- Gets a map user's preference object by user name
getMapUserRoleForMapProject(String, Long)
- Gets a map user's role by map project id and user name
getMapUsers()
- Gets all map users
getOriginMapRecordsForConflict(Long)
- Gets origin map records leading to a conflict or review for a map record id
getProjectSpecificAlgorithmHandler(MapProject)
- Gets the instantiated project specific algorithm handler for a map project
getPublishedAndReadyForPublicationMapRecordsForMapProject(Long, PfsParameter)
- Gets paged/filtered/sorted published and publication-ready map records for a map project
getPublishedMapRecordsForMapProject(Long, PfsParameter)
- Gets paged/filtered/sorted published map records for a map project
getRecentlyEditedMapRecords(Long, String, PfsParameter)
- Gets newest-first paged/filtered/sorted map records edited by a user on a particular project
getScopeConceptsForMapProject(MapProject, PfsParameter)
- Gets paged/sorted/filters enumerated scope concepts for a map project, without descendant calculation
getScopeExcludedConceptsForMapProject(MapProject, PfsParameter)
- Gets paged/sorted/filtered enumerated scope excluded concepts for a map project, without descendant calculation
isConceptExcludedFromScope(String, Long)
- Returns true if concept is explicitly excluded from map project's scope
isConceptInScope(String, Long)
- Returns true if concept is in map project;s scope
isConceptOutOfScopeBounds(String, Long)
- Returns true if concept is out of scope bounds
removeMapAdvice(Long)
- Removes a map advice by id
removeMapAdviceFromEnvironment(MapAdvice)
- Removes a map advice by id; also removes attached map advice from all map entries, map projects
removeMapAgeRange(Long)
- Removes a preset map age range by id
removeMapPrinciple(Long)
- Removes a map principle by id
removeMapProject(Long)
- Removes a map project by id
removeMapRecord(Long)
- Removes a map record by id
removeMapRecordsForMapProject(Long)
- Removes all map records for a map project id
removeMapRelation(Long)
- Removes a map relation by id
- removeMapUser(Long)
- Removes a map user by id
- removeMapUserPreferences(Long)
- Removes a map user's preference object by id
setTreePositionTerminologyNotes(List<TreePosition>, Long)
- Adds map project and terminology-specific notes to tree positions
setTreePositionValidCodes(List<TreePosition>, Long)
- Sets whether concepts in tree positions are valid for assignment based on terminology and map project
updateMapAdvice(MapAdvice)
- Updates a map advice
updateMapAgeRange(MapAgeRange)
- Updates a preset map age range
updateMapPrinciple(MapPrinciple)
Updates a map principle
updateMapProject(MapProject)
- Updates a map project
updateMapRecord(MapRecord)
- Updates a map record
updateMapRelation(MapRelation)
- Updates a map relation
updateMapUser(MapUser)
- Updates a map user
updateMapUserPreferences(MapUserPreferences)
- Updates a map user's preferences object
Workflow Service
The internal workflow service API supports the following functionality:
addFeedback(Feedback)
- Adds a feedback
addFeedbackConversation(FeedbackConversation)
- Adds a feedback conversation
addTrackingRecord(TrackingRecord)
- Adds a tracking record
addWorkflowException(WorkflowException)
- Adds a workflow exception
clearWorkflowForMapProject(MapProject)
- Clears workflow for a map project
computeUntrackedMapRecords(MapProject)
- Computes non-publication-ready map records that are not correctly tracked in workflow
computeWorkflow(MapProject)
- Computes workflow for a map project based on scope and existing map records
computeWorkflowStatusErrors(MapProject)
- Validates workflow for all tracking records and map records for a map project
createQAWork(Report)
- Creates work on the QA Workflow Path from the results of a report
findAssignedConflicts(MapProject, MapUser, String, PfsParameter)
- Finds paged/filtered/sorted assigned conflicts for a map user, project, and query
findAssignedQAWork(MapProject, MapUser, String, PfsParameter)
- Finds paged/filtered/sorted assigned QA work for a map user, project, and query
findAssignedReviewWork(MapProject, MapUser, String, PfsParameter)
- Finds paged/filtered/sorted assigned review work for a map user, project, and query
findAssignedWork(MapProject, MapUser, String, PfsParameter)
- Finds paged/filtered/sorted assigned mapping work for a map user, project, and query
findAvailableConflicts(MapProject, MapUser, String, PfsParameter)
Finds paged/filtered/sorted available conflicts for a map user, project, and query
findAvailableQAWork(MapProject, MapUser, String, PfsParameter)
Finds paged/filtered/sorted available QA work for a map user, project, and query
findAvailableReviewWork(MapProject, MapUser, String, PfsParameter)
Finds paged/filtered/sorted available review work for a map user, project, and query
findAvailableWork(MapProject, MapUser, String, PfsParameter)
Finds paged/filtered/sorted available mapping work for a map user, project, and query
findFeedbackConversationsForProject(Long, String, String, PfsParameter)
- Finds paged/filtered/sorted feedback conversations for a map user, project, and query
getFeedbackConversation(Long)
- Get feedback conversation by id
getFeedbackConversationsForConcept(Long, String)
- Get all feedback conversations for a map project and terminology id
getFeedbackConversationsForRecord(Long)
- Get all feedback conversations for a map record by id
getFeedbackErrorsForRecord(MapRecord)
- Get all reported feedback errors for a map record
getFeedbacks()
- Get all feedbacks
getLowestWorkflowStatusForTrackingRecord(TrackingRecord)
- Get the lowest workflow status for records attached to a tracking record
getLowestWorkflowStatusFromMapRecords(Set<MapRecord>)
- Get the lowest workflow status for a record in a set of map records
getMapRecordsForTrackingRecord(TrackingRecord)
- Get all map records attached to a tracking record
getMapUsersForTrackingRecord(TrackingRecord)
- Get all map users attached to a tracking record
getMapUsersFromMapRecords(Set<MapRecord>)
- Get all map users assigned to map records in a set
getTrackingRecordForMapProjectAndConcept(MapProject, Concept)
- Get tracking record for map project and concept
getTrackingRecordForMapProjectAndConcept(MapProject, String)
- Get tracking record for map project and terminology id
getTrackingRecords()
- Get all tracking records
getTrackingRecordsForMapProject(MapProject)
- Get all tracking records for a map project
getWorkflowException(MapProject, String)
- Get workflow exception for a map project and terminology id
getWorkflowStatusForTrackingRecord(TrackingRecord)
- Gets the most-advanced workflow status for map records referenced by a tracking record
getWorkflowStatusFromMapRecords(Set<MapRecord>)
- Gets the most-advanced workflow status from a set of map records
processWorkflowAction(MapProject, Concept, MapUser, MapRecord, WorkflowAction)
- Performs a workflow action given a map project, concept, user, map record (may be null), and workflow action
removeTrackingRecord(Long)
- Removes a tracking record by id
removeWorkflowException(Long)
- Removes a workflow exception by id
synchronizeMapRecords(TrackingRecord, Set<MapRecord>)
- Adds, removes, and updates records for a tracking record by comparing a modified set of records to the current database state
updateFeedbackConversation(FeedbackConversation)
- Updates a feedback conversation
updateTrackingRecord(TrackingRecord)
- Updates a tracking record
updateWorkflowException(WorkflowException)
- Updates a workflow exception
Report Service
The internal report service API supports the following functionality:
addReport(Report)
- Adds a report
addReportDefinition(ReportDefinition)
- Adds a report definition
addReportNote(ReportNote)
- Adds a report note
addReportResult(ReportResult)
- Adds a report result
addReportResultItem(ReportResultItem)
- Adds a report result item
findReportsForQuery(String, PfsParameter)
- Finds paged/filtered/sorted reports for a string query
generateDailyReports(MapProject, MapUser)
- Generates all reports attached to a project, with the specified user as report owner
generateReport(MapProject, MapUser, String, ReportDefinition, Date, boolean)
- Generates a named report for a map project, owned by a map user, for a particular date, setting the auto-genrated flag
generateReportsForDateRange(MapProject, MapUser, Date, Date)
- Generates all reports attached to a project for each day between a start date (inclusive) and an end date (inclusive), with the specified user as report owner
getQACheckDefinitions()
- Gets all QA Check definitions
getQACheckDefinitionsForRole(MapUserRole)
- Gets all QA Check definitions available to a specified role
getQALabels()
- Gets all current QA labels
getReport(Long)
- Gets a report by id
getReportDefinition(Long)
- Gets a report definition by id
getReportDefinitions()
- Gets all report definitions
getReportDefinitionsForRole(MapUserRole)
- Gets all report definitions available to a specified role
getReportNote(Long)
- Gets a report note by id
getReportResult(Long)
- Gets a report result by id
getReportResultItem(Long)
- Gets a report result item by id
getReportResultItemsForReportResult(Long, PfsParameter)
- Gets paged/filtered/sorted report result items attached to a report result
getReports()
- Gets all reports
getReportsForMapProject(MapProject, PfsParameter)
- Gets paged/filtered/sorted reports for a map project
getReportsForMapProjectAndReportDefinition(MapProject, ReportDefinition, PfsParameter)
- Gets paged/filtered/sorted reports for a map project and report definition
removeReport(Long)
- Removes a report by id
removeReportDefinition(Long)
- Removes a report definition by id
removeReportNote(Long)
- Removes a report note by id
removeReportResult(Long)
- Removes a report result by id
removeReportResultItem(Long)
- Removes a report result item by id
removeReportsForMapProject(MapProject)
- Removes all reports generated for a map project
updateReport(Report)
- Updates a report
updateReportDefinition(ReportDefinition)
- Updates a report definition
updateReportNote(ReportNote)
- Updates a report note
updateReportResult(ReportResult)
- Updates a report result
updateReportResultItem(ReportResultItem)
- Updates a report result item
References/Links
- n/a