BioMS to caTissue Sync (forward Sync)
A general rule applied on the sync of entities from BMS to Catissue is that entities are only synced to caTissue hosting those repositories where the entity would physically belong or is referenced by an entity that physically belong. E.g Specimen status updates are synced only to those caTissue repositories where the specimen would be shipped to.
Study
A study built in BMS will be synced to repositories on an explicit sync action from the Study Manager. When a study is completely built and is ready to be send to repositories Study manger will initiate a sync action by clicking the 'Synchronize Study' on build study UI. All study data except the following will be synced. These attributes/relations could not be synced because they are not captured in the caTissue domain model.
- Coincident Epoch
- Coincident CPE
- Alternate Specimen
- Equivalent Specimen
- SpecimenRequirement. tubeType
- SpecimenRequirement.repository
- SpecimenRequirement.shippingType
- SpecimenRequirement.specimenForms
- SpecimenRequirement.preparationInstruction
- SpecimenRequirement.shippingInstruction
Note: A Study would be synced (in its entirety) to only those repositories which receive at least one specimen from the study.
Participant
Participant data comes from the mayo RadoNode as part of the participant registration message. Whenever a new registration message is received from the RandoNode and new participant data is inserted into BioMS, the participant is synced to all the repositories. All the attributes (listed below) of the participant would be synced to all repositories linked to BioMS.
- firstname
- middleName
- lastName
- DOB
- race
- Ethnicity
- gender
- genomeType
Study Registration
StudyRegistration data comes from the Mayo RandoNode. Registration message contains a registration of a participant to Study and participant is automatically registered to all Epochs and Arms of the study. Participant registration messages are synced to those repositories where the study was originally synced. The following attributes of participarnt registration are synced
- protocolParticipantID (PPID)
- registrationDate
- participant
- protocol
When study registration is synced, all SCG and anticipated specimens for the participant stud registration is created in the caTissue repository. In each repository, specimen targeted (shipped to) that repository are mapped in the entity mapping table and all other anticipated specimens are marked 'Closed' and not mapped. The repository staff is not supposed to modify the specimen's marked closed, any modifications to those closed unmapped specimens will not be synced back to BioMS.
Note: For testing participant registration can be created in BMS using the temporary patientRegistration page. The participant registration page can be accessed at <bioms- base-url>/participantRegistration.
Specimen
Whenever specimen status changes in BioMS the updated specimen data is synced to the repository caTissue to which the specimen would be shipped to.
Specimen Collected
When a specimen is marked Collected by a CRA in BioMS, the following attributes of the specimen would be synced to the repository which would hold the specimen
- availableQuantiy
- initialQuantity
- collectionStatus (set to Collected)
- createdOnDate
Specimen CollectionEventParameter also will be added to the specimen with the following information.
- performedBy ( set to CRA who collected the specimen)
- timestamp
- container (set to the TubeType specified in the SpecimenRequirement)
- collectionProcedure (set to Not Specified)
The specimen would put in a storage position create on the BMS_Site_Container. BMS_Site_Container will hold the specimen until the specimen is moved to a 'InTransit' container, which happens when the specimen is shipped by collection site to a repository.
Specimen Pending
When the specimen is moved back to Pending state from collected in BMS the following attributes of the specimen would be updated
- availableQuantiy (set to 0)
- initialQuantity (set to 0)
- collectionStatus (set to Pending)
All other attribute will remain same including the collection event parameter.
Specimen Not Collected
When a specimen is marked Not Collected in BMS , the specimen status and the comment that captures the reason for not collected are synced to repository.
- collectionStatus (set to Not Collected)
- comment (capturing the reason for not collected)
Shipment
Shipments created in BioMS are synced to the repository were the shipment is addressed to. The shipment is synced to repository when the CRA sends the shipment in BioMS. The following attributes of the shipment are synced.
- label (set to 'BMS shipment <shipment id>' )
- sendDate
- senderSite
- receiverSite
- senderContactPerson
- receiverContactPerson
- specimens
- activiityStatus (set to 'In Transit')
Specimen Forms
Specimen form definition sync is not yet implemented. So whenever a Study Manager(SM) defines specimen form for BioMS via caTissue running on BioMS DB, SM manager has to share the form details to all the repository caTissue admins. Repository caTissue admins should define the forms in their caTissue and run generate:cacore:all build target to complete the form definition in caTissue. The form name and form attribute names, type and other constraints should match exactly with the form created in the BioMS.
Whenever a CRA, enter data on the specimen form in the checklist view, the form data is synced to repository to which the specimen gets synced. All attributes of the specimen form are synced and attached to the specimen via SpecimenRecordEntry. Once the form is synced from BioMS, repository users would be able to see the form data in the Annotations tab for the specimen in the caTissue.
User
Whenever a CRA User is created/updated in BioMS as part of Sync of user data from Mayo DB, the user is synced to all the repositories. The user is synced to repository only for referential integrity and the CRA users will not be able login to repository caTissue. The User is used in reference for collected user, shipped by User etc. The CRA user won't have any role or privileges assigned in caTissue. The following attributes (all) of the User are synced.
- loginName
- lastName
- firstName
- emailAddress
- Institution
- Adrress
- activityStatus
Site
When a new collection site is created/update in BMS as part of sync of Site data from Mayo DB, the Site data is synced to all repositories. All the sites from mayo DB are created as Collection Site is BMS and caTissue. The following (all) attributes of Site are synced.
- name
- type
- Address
- activityStatus
CaTissue to BMS Sync (reverse Sync)
Whenever specimen data originally synced from BioMS changes in the repository, the updates are synced back to BioMS to keep the data in sync. But Study , Participant and Participant Registration data doesn't get synced back to BioMS because, BioMS is the source of record for that data and repository users are not allowed to change that data.
Study
Studies that were created in caTissue as sync from BMS are not reverse synced because the BMS should be source of record for the Study definition and repositories should not be changing the study. If we allow reverse sync study modifications it could cause conflicts in BMS when different repositories make different kinds of modifications to the Study
Participant
Participants are created in BMS as part of processing RandoNode registrations. Reverse syncing of modifications (e.g participant name) to Participant should not be synced back to BMS because that could cause conflicts in BMS when multiple repositories change the values. Also the source of record for the participant data should be the registration system and the data should not be changes either in BMS or repository.
Question: Should we allow repositories to register participants to study via caTissue? If this is allowed then we would need to reverse sync participants to BMS. Any such reverse synced participant might needs to be synced to other repositories based on the study the participant is getting registered to.
Study Registration
Study registrations are creates in BioMS as part of processing RandoNode registrations. Modifications (e.g PPID) to registration should not be synced back to BioMS because that could cause conflicts in BioMS when multiple repositories change the values.
Specimen
Any modifications to Specimens that are originally synced from BMS or their derivatives are reverse synced to BMS. Here are the attributes that are reverse synced to BMS. Since each specimen is held only at one repository all the changes should come from only one repo and should not cause any conflicts in BioMS. Here are the list of attributes that are reverse synced to BMS.
AbstractSpecimen.initialQuantity |
AbstractSpecimen.lineage |
AbstractSpecimen.pathologicalStatus |
AbstractSpecimen.specimenClass |
AbstractSpecimen.specimenType |
Biohazard.name |
Biohazard.type |
DisposalEventParameters.activityStatus |
DisposalEventParameters.comments |
DisposalEventParameters.reason |
DisposalEventParameters.timestamp |
ExternalIdentifier.name |
ExternalIdentifier.value |
MolecularSpecimen.concentrationInMicrogramsPerMicroliter |
ReceivedEventParameters.receivedQuality |
ReceivedEventParameters.timestamp |
Specimen.activityStatus |
Specimen.available Quantity |
Specimen.barcode |
Specimen.collectionStatus |
Specimen.comment |
Specimen.createdOn |
Specimen.globalSpecimenIdentifier |
Specimen.isAvailable |
Specimen.label |
SpecimenCharacteristics.tissueSide |
SpecimenCharacteristics.tissueSite |
All SPP's (SPP should not be synced back, because all repos could have a different set of SSP) |
All DE Fields (Only those DE forms created by BMS could be synced back ) |
Once the specimen is received at the repository label, barcode, availableQuantity, initialQuantity, globalSpecimenIdentifier (if assigned at caTissue) and ReceivedEventParameters will be synced to BMS. BMS wont have these values assigned until the shipment containing the specimen is received at repository.
Aliquots and Derivatives
All aliquots and derivatives of specimens that were synced from BMS will be reverse synced. All the attribute of those child specimens would be reverse synced. BMS users will not be able to see those child specimens in BMS, but can be seen through the associated caTissue instance.
AbstractSpecimen.initialQuantity |
AbstractSpecimen.lineage |
AbstractSpecimen.pathologicalStatus |
AbstractSpecimen.specimenClass |
AbstractSpecimen.specimenType |
Biohazard.name |
Biohazard.type |
DisposalEventParameters.activityStatus |
DisposalEventParameters.comments |
DisposalEventParameters.reason |
DisposalEventParameters.timestamp |
ExternalIdentifier.name |
ExternalIdentifier.value |
MolecularSpecimen.concentrationInMicrogramsPerMicroliter |
ReceivedEventParameters.receivedQuality |
ReceivedEventParameters.timestamp |
Specimen.activityStatus |
Specimen.available Quantity |
Specimen.barcode |
Specimen.collectionStatus |
Specimen.comment |
Specimen.createdOn |
Specimen.globalSpecimenIdentifier |
Specimen.isAvailable |
Specimen.label |
SpecimenCharacteristics.tissueSide |
SpecimenCharacteristics.tissueSite |
All SPP's (SPP should not be synced back, because all repos could have a different set of SSP) |
All DE Fields (Only those DE forms created by BMS could be synced back ) |
Shipment
When a shipment sent from BMS is received at a repository, the status of the Shipment is updated and synced back to BMS.
The activityStatus of the shipment and all specimens contained in the shipment is set to 'Received' in BMS.
Specimen Collection Group
Specimen collection groups are created in caTissue during the participant registration sync. Repository users should not be creating any new collection groups.
Repository users can make modifications to Specimen Collection Group and the modifications would be synced back. The following attributes of the SCG will be synced back.
- activityStatus
- collectionStatus
- encounterTimeStamp
Issue: If multiple repositories changes the SCG it would cause a conflict in BMS and data across BMS and repositories will become out of sync.
User
Any new user created in the repository or any updates to any existing users would be synced back to BioMS. Only the basic user information (i.e User and Address) information would be synced back to BioMS. No authentication or authorization information would be synced back to BioMS. This syncing of users created in caTissue is required to maintain the referential integrity for references to repository users that gets synced back to BioMS.