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
  • n/a
  • No labels