/
How to configure Automated Freezer integration with OpenSpecimen?
Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com

How to configure Automated Freezer integration with OpenSpecimen?

OpenSpecimen can be integrated with any automated freezer and do the operation like put/retrieve specimen. To work integration need to do below configuration.

Step 1: Register auto freezer provider

We need to register provider and set properties which are used to connect with freezer.

To register provider invoke below REST API


URL
http://<host>:<port>/openspecimen/rest/ng/auto-freezer-providers


Method 
POST
Input JSON
{
  "name": "Any thing that makes sense"
  "implClass": "Concrete Java class that implements the interface AutomatedFreezer",
   "props": {
     "prop1": "custom property1 required for the AutomatedFreezer implementation",
     "prop2": "custom property2 required for the AutomatedFreezer implementation",
     .
     .
     .
    }
}
Example
{
  "name": "Hamilton Bios",
  "implClass": "com.krishagni.autofreezers.hamilton.core.BiosFreezer",
  "props": {
	"url": "http://localhost:9000/api/v11/",
	"user": "admin",
	"password": "admin",
	"barcode_type": “ECC 200“,
	"job_priority": "100",
	"job_optimization_mode": "System",
	"job_destination_labware_type": "IOCassette"
  }
}


Step 2: Create a dimensionless storage container as autofreezer.

To create a dimensionless container specifying that container as automated freezer need to invoke below API. Once we do this step add/retrieve the specimens from this container will invoke APIs of the actual automated freezer.


URL
http://<host>:<port>/openspecimen/rest/ng/storage-containers/{id}
Method
POST
Request
{
  "name": "BiOS_Instrument",
  "displayName": "BiOS_Instrument",
  "usedFor": "STORAGE",
  "activityStatus": "Active",
  "siteName": "RTOG",
  "positionLabelingMode": "NONE",
  "positionAssignment": "HZ_TOP_DOWN_LEFT_RIGHT",
  "columnLabelingScheme": "Numbers",
  "rowLabelingScheme": "Numbers",
  "storeSpecimensEnabled": true,
  "automated": true,
  "autoFreezerProvider": "Hamilton Bios",
  "allowedCollectionProtocols": [],
  "calcAllowedCollectionProtocols": [],
  "temperature": -80,
  "cellDisplayProp": "SPECIMEN_LABEL",
  "allowedSpecimenClasses": [],
  "calcAllowedSpecimenClasses": [
    "Tissue",
    "Fluid",
    "Molecular",
    "Cell"
  ],
  "allowedSpecimenTypes": [],
  "calcAllowedSpecimenTypes": [],
  "allowedDistributionProtocols": [],
  "calcAllowedDistributionProtocols": [],
  "occupiedPositions": [],
  "printLabels": false
}
Response: 
{
  "opComments": null,
  "id": 1,
  "name": "BiOS_Instrument",
  "barcode": null,
  "displayName": "BiOS_Instrument",
  "typeId": null,
  "typeName": null,
  "usedFor": "STORAGE",
  "activityStatus": "Active",
  "siteName": "RTOG",
  "storageLocation": null,
  "createdBy": {
    "id": 2,
    "type": "SUPER",
    "firstName": "System",
    "lastName": "Administrator",
    "loginName": "admin",
    "domain": "openspecimen",
    "emailAddress": "admin@localhost",
    "instituteId": 1,
    "instituteName": "Biobank Institute",
    "admin": true,
    "instituteAdmin": false,
    "manageForms": false,
    "manageWfs": true,
    "downloadLabelsPrintFile": false,
    "cpCount": 0,
    "activityStatus": "Active"
  },
  "noOfColumns": null,
  "noOfRows": null,
  "positionLabelingMode": "NONE",
  "positionAssignment": "HZ_TOP_DOWN_LEFT_RIGHT",
  "columnLabelingScheme": "Numbers",
  "rowLabelingScheme": "Numbers",
  "freePositions": null,
  "usedPositions": null,
  "storeSpecimensEnabled": true,
  "capacity": null,
  "storedSpecimens": null,
  "automated": true,
  "autoFreezerProvider": "Hamilton Bios",
  "allowedCollectionProtocols": [],
  "calcAllowedCollectionProtocols": [],
  "childContainers": null,
  "starred": null,
  "status": null,
  "blockedLocation": null,
  "freezerId": null,
  "freezerName": null,
  "freezerBarcode": null,
  "freezerDisplayName": null,
  "temperature": -80,
  "cellDisplayProp": "SPECIMEN_LABEL",
  "comments": null,
  "extensionDetail": null,
  "allowedSpecimenClasses": [],
  "calcAllowedSpecimenClasses": [
    "Tissue",
    "Fluid",
    "Molecular",
    "Cell"
  ],
  "allowedSpecimenTypes": [],
  "calcAllowedSpecimenTypes": [],
  "allowedDistributionProtocols": [],
  "calcAllowedDistributionProtocols": [],
  "occupiedPositions": [],
  "specimensByType": null,
  "printLabels": false
}

Enabling Store/Pick event notifications:

Steps:

  1. Login to Hamilton UI.
  2. Navigate to settings.
  3. Enable JOB Status Notification.
  4. Add JOB Status Notification endpoint: <app_url>/rest/ng/bios-notifs e.g. https://test.openspecimen.org/rest/ng/bios-notifs

After enabling this, OpenSpecimen shows the Store and Pick event ran on the Hamilton side on stored specimen overview page.

An e.g.

Related content

Integration with Azenta Strata
Integration with Azenta Strata
More like this
Integration with automated freezers
Integration with automated freezers
More like this
Institutes and Sites
Institutes and Sites
Read with this
Verification of Configuration
Verification of Configuration
More like this
Attribute Types Examples
Attribute Types Examples
Read with this
Store and Retrieve
Store and Retrieve
More like this
Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com