π¦ ClawHub
BioLIMS SKILL
by @biolims
Call Bio-LIMS system APIs to manage orders, sample receiving, and experiment templates, including querying, creating, updating orders, sample receive managem...
π‘ Examples
# Script path (absolute path)
SCRIPT="/home/biolims/.openclaw/workspace/skills/biolims/scripts/biolims.mjs"Query order details
node "$SCRIPT" order ORDER202401180001Paginated query of order list (default page 1, 10 per page)
bash "$SCRIPT" order-list
bash "$SCRIPT" order-list 1 20 # Page 1, 20 per pageQuery order sample list
bash "$SCRIPT" order-samples ORDER202401180001Query order fee information
bash "$SCRIPT" order-fees ORDER202401180001Create new order (Note: field names must be exact!)
sampleOrderItem cannot be written as samples!
crmConsumeRmarkets cannot be written as fees!
bash "$SCRIPT" create-order '{
"order": {
"name": "John Smith",
"productId": "PROD001",
"productName": "Genetic Testing"
},
"sampleOrderItem": [
{
"slideCode": "BC123",
"sampleTypeId": "T250724002",
"sampleType": "Whole Blood",
"productId": "PROD001",
"productName": "Genetic Testing"
}
],
"crmConsumeRmarkets": [
{
"fee": 3500.00,
"feeWay": "Bank Transfer",
"isFee": "1"
}
]
}'Update order
bash "$SCRIPT" update-order '{"order":{"id":"ORDER123","name":"Jane Smith",...}}'Complete order
bash "$SCRIPT" complete-order ORDER202401180001Cancel order
bash "$SCRIPT" cancel-order ORDER202401180001Query all sample types
bash "$SCRIPT" sample-typesSearch sample types (fuzzy match by name)
bash "$SCRIPT" search-sample-type "Blood"==================== Sample Receive Commands ====================
Query receive order list
bash "$SCRIPT" receive-list
bash "$SCRIPT" receive-list 1 20 # Page 1, 20 per pageQuery single receive order details
bash "$SCRIPT" receive SR202401180001Query receive order sample detail list
bash "$SCRIPT" receive-samples SR202401180001
bash "$SCRIPT" receive-samples SR202401180001 1 50 # Page 1, 50 per pageScan barcode to get sample info (receive_id is required, must create receive order first)
Input format: { "sampleReceive": { "id": "...", "name": "...", "acceptDate": "...", "isBoard": "..." }, "barCode": "..." }
bash "$SCRIPT" scan-barcode BC20240118001 SR202401180001Scan order number to get unreceived samples
bash "$SCRIPT" scan-order ORD202401180001
bash "$SCRIPT" scan-order ORD202401180001 SR202401180001 # Specify receive order IDCreate receive order (Note: field names must be exact!)
sampleReceiveItems cannot be written as samples!
addBoardInfo cannot be written as boardInfo!
bash "$SCRIPT" create-receive '{
"sampleReceive": {
"name": "Clinical Sample Receive",
"acceptDate": "2024-01-18 10:00",
"expressNum": "SF1234567890",
"expressCompanyId": "EC001",
"expressCompanyName": "SF Express",
"transportTypeId": "TT001",
"transportTypeName": "Cold Chain Transport",
"isBoard": "1"
},
"sampleReceiveItems": [
{
"sampleCode": "S001",
"barCode": "BC001",
"orderCode": "ORD001",
"patientName": "John Smith",
"gender": "1",
"dicSampleType": "Whole Blood",
"dicSampleTypeId": "T250724002",
"productName": "Genetic Testing",
"sampleNum": "5",
"unit": "ml",
"isGood": "1",
"nextFlow": "Warehousing"
}
],
"addBoardInfo": "{\"banHao\":\"P001\",\"rowNum\":8,\"colNum\":12}"
}'Update receive order (uses same API as create-receive)
bash "$SCRIPT" update-receive '{"sampleReceive":{"id":"SR202401180001",...},...}'Complete receive order
bash "$SCRIPT" complete-receive SR202401180001Delete sample receive detail items
bash "$SCRIPT" delete-receive-item SR202401180001 "ITEM001,ITEM002"Get available order list (for order number mode selection)
bash "$SCRIPT" get-orders-for-receive
bash "$SCRIPT" get-orders-for-receive 1 10 # Page 1, 10 per page==================== Experiment Template Commands ====================
Query experiment template list
bash "$SCRIPT" et-list
bash "$SCRIPT" et-list 1 20 # Page 1, 20 per page
bash "$SCRIPT" et-list 1 10 "PCR" # Fuzzy search by template nameQuery template details (three-layer structure: template -> steps -> components)
bash "$SCRIPT" et-detail ET2024000001
bash "$SCRIPT" et-detail ET2024000001 edit # Edit modeCreate template (pass JSON directly or read from file)
bash "$SCRIPT" et-create '{"templateName":"...","stepDetails":[...]}'
bash "$SCRIPT" et-create @/tmp/template.jsonCopy template (deep copy, including attachments)
bash "$SCRIPT" et-copy ET2024000001Cancel template (supports multiple IDs)
bash "$SCRIPT" et-cancel ET2024000001
bash "$SCRIPT" et-cancel ET001 ET002 ET003Complete template (workflow callback, state -> 1)
bash "$SCRIPT" et-complete ET2024000001Query all completed templates (for selection by other modules)
bash "$SCRIPT" et-all-completedQuery experiment types (query available types before creating template)
bash "$SCRIPT" et-exp-types
bash "$SCRIPT" et-exp-types-search "PCR"Query approver list
bash "$SCRIPT" et-approvers Query experiment group list
bash "$SCRIPT" et-groups
TERMINAL
clawhub install biolims-skill