Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

This document describes the steps to add customized customised tokens used for various purpose like Specimen Print token, Specimen label token, Visit Label Token, Container label token label types in OpenSpecimen. For example specimen print tokens, specimen label tokens, visit label tokens, ppid label tokens etc.This guide is intended for developers or technical IT staff. 

Prerequisites

One should have done the setup the plugin as per steps given at how to write a plugin for OpenSpecimen?

Steps

To customize the Print label token implementation one needs to follow the below steps:

  1. Write a class to get label token. Below are examples for different type of label tokens.

                i) Specimen label print token -Below is the detailed example of specimen print label token to add collection container name. At the bottom of each step specified the changes required to implement other type of tokens.

  1. Write a class that extends AbstractLabelTmplToken and implements LabelTmplToken. The following example describes how to implement LabelTmplToken:

 

Code Block
public class SpecimenCollectionContainerPrintToken extends AbstractLabelTmplToken implements LabelTmplToken {

	@Override
	public String getName() {
		return "specimen_collection_container";
	}

	@Override
	public String getReplacement(Object object) {
		Specimen specimen = (Specimen)object;
		while (specimen.getParentSpecimen() != null) {
			specimen = specimen.getParentSpecimen();
		}

		return specimen.getCollectionEvent().getContainer();
	}

}

 

     ii i) For specimen label token extend AbstractSpecimenLabelToken. Refer attached example of PPID label token PpidLabelToken.java.

     iii ii) For visit label token extend AbstractVisitLabelToken class. Refer attached example of event label token EventLabelToken.java.

     iv iii) For participant ppid label token extend AbstractPpidToken class. Refer attached example of cp code label  token CpCodePpidToken.java.


     2. The next step will be to register this new token with the com.krishagni.catissueplus.core.common.domain.LabelTmplTokenRegistrar, to make OpenSpecimen aware of this new token. To register the new token, one needs to write a java class in the plugin like below:

...

In above bean specimenPrintLabelTokensRegistrar is to register specimen print label token. Replace registrar bean name according to your label token type by referring below list

Label TypeRegistrar Bean
PPID Label Token
ppidTokensRegistrar
Specimen Label Token
specimenTokenRegistrar
Visit Label Token
visitTokenRegistrar