= LEGACY - CaTissueUseCases Tags: [[CaTissue]] === Description === The two key use cases (from one of Nick's emails): 1) User submits data to caTissue such that participant(s) are created and assigned to the [[BRICCS Study]] collection protocol, primary samples received are logged, derived samples are recorded, and aliquots are created, and located, appropriately.[[BR]] 2) User submits an excel chart style array of aliquot barcodes and a box identifier, such that caTissue can update the location of the aliquots with reference to their container (the box) and their location within the box (the grid reference). === Implementation === Here is a fairly generic strategy: * Develop the use cases, in sufficient detail to be able to... * Translate use cases into actions using caTissue's domain objects * Analyse in terms of client API and / or bulk operations 1. For client API a. Decide the user interface a. Evaluate how to use the 2-d barcode reader 1. For bulk operations a. Design template file a. Design utility (or find a utility?) to export csv file from a spreadsheet * Code and Test === Domain Objects === Below is a list of Java classes that constitute all of the domain objects apart from pathology. I'm unsure about whether those that have "event" in the name will be relevant or not. Of the rest, we need to isolate those that are the main ones in our use cases and build up a picture of how they are related to each other. We can then begin eliminating the rest. {{{ Address.java Biohazard.java CancerResearchGroup.java Capacity.java CellSpecimen.java CellSpecimenRequirement.java CellSpecimenReviewParameters.java CheckInCheckOutEventParameter.java ClinicalStudyEventEntry.java ClinicalStudyEvent.java ClinicalStudy.java ClinicalStudyRegistration.java CollectionEventParameters.java CollectionProtocolEvent.java CollectionProtocol.java CollectionProtocolRegistration.java ConsentTier.java ConsentTierResponse.java ConsentTierStatus.java Container.java ContainerPosition.java ContainerType.java Department.java DerivedSpecimenOrderItem.java DisposalEventParameters.java DistributedItem.java Distribution.java DistributionProtocol.java DistributionSpecimenRequirement.java DomainObjectFactory.java ===============>> A factory object. May repay some studying. EmbeddedEventParameters.java ExistingSpecimenArrayOrderItem.java ExistingSpecimenOrderItem.java ExternalIdentifier.java FixedEventParameters.java FluidSpecimen.java FluidSpecimenRequirement.java FluidSpecimenReviewEventParameters.java FrozenEventParameters.java Institution.java MolecularSpecimen.java MolecularSpecimenRequirement.java MolecularSpecimenReviewParameters.java NewSpecimenArrayOrderItem.java NewSpecimenOrderItem.java OrderDetails.java OrderItem.java Participant.java ParticipantMedicalIdentifier.java Password.java PathologicalCaseOrderItem.java ProcedureEventParameters.java Race.java ReceivedEventParameters.java ReportedProblem.java ReturnEventParameters.java ReviewEventParameters.java Site.java SpecimenArrayContent.java SpecimenArray.java SpecimenArrayOrderItem.java SpecimenArrayType.java SpecimenCharacteristics.java SpecimenCollectionGroup.java SpecimenEventParameters.java Specimen.java SpecimenObjectFactory.java ===============>> A factory object. May repay some studying. SpecimenOrderItem.java SpecimenPosition.java SpecimenProtocol.java SpecimenRequirement.java SpunEventParameters.java StorageContainer.java StorageType.java ThawEventParameters.java TissueSpecimen.java TissueSpecimenRequirement.java TissueSpecimenReviewEventParameters.java TransferEventParameters.java User.java }}} [[BackLinks]]