Skip to main content
Glama

get_specimen_requirement

Get CDC specimen requirements for a specific disease. Use for decision support only; verify with official sources, as results are not validated for hospital deployment or pre-submission storage.

Instructions

Get CDC specimen rows. decision_support_only=true; verify_current_official_source=true; not_validated_for_hospital_deployment=true; not_pre_submission_storage=true. 不得輸入病人資料。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
diseaseYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
limitYes
notesYes
queryYes
offsetYes
safetyYes
warningsYes
data_modeYes
operationYes
truncatedYes
provenanceYes
sample_onlyYes
availabilityYes
result_statusYes
source_statusYes
total_matchesYes
returned_countYes
coverage_detailYes
coverage_statusYes
evaluated_as_ofYes
contract_versionNopublic-contract-v1
evaluated_timezoneYes
snapshot_traceableYes
replacement_operationYes
availability_reason_codeYes
historical_truth_supportedYes
currently_reproducible_from_upstreamYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.1.3
    • addedOutput schema / $defs / CDCManualClauseRecord
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "One numbered clause, figure caption or appendix form of the manual, as printed.",
      +  "properties": {
      +    "block_kind": {
      +      "enum": [
      +        "clause",
      +        "figure",
      +        "appendix"
      +      ],
      +      "title": "Block Kind",
      +      "type": "string"
      +    },
      +    "chapter": {
      +      "title": "Chapter",
      +      "type": "string"
      +    },
      +    "clause_number": {
      +      "title": "Clause Number",
      +      "type": "string"
      +    },
      +    "record_type": {
      +      "const": "cdc_manual_clause",
      +      "default": "cdc_manual_clause",
      +      "title": "Record Type",
      +      "type": "string"
      +    },
      +    "text": {
      +      "title": "Text",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "block_kind",
      +    "clause_number",
      +    "chapter",
      +    "text"
      +  ],
      +  "title": "CDCManualClauseRecord",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ItemEnvelope / properties / record / discriminator / mapping / cdc_manual_clause
      Added value: +"#/$defs/CDCManualClauseRecord"
    • changedOutput schema / $defs / ItemEnvelope / properties / record / oneOf
      Previous value: -[
      -  {
      -    "$ref": "#/$defs/NHIRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/NHISearchRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/CDCSpecimenRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/CDCTestingLocationRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/CDCLabRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/TFDARecord"
      -  },
      -  {
      -    "$ref": "#/$defs/TFDASearchRecord"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/$defs/NHIRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/NHISearchRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/CDCSpecimenRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/CDCTestingLocationRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/CDCManualClauseRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/CDCLabRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/TFDARecord"
      +  },
      +  {
      +    "$ref": "#/$defs/TFDASearchRecord"
      +  }
      +]
    • changedOutput schema / properties / operation / enum
      Previous value: -[
      -  "get_data_status",
      -  "search_disease",
      -  "get_specimen_requirement",
      -  "get_collection_method",
      -  "get_container",
      -  "get_transport_requirement",
      -  "get_submission_rule",
      -  "get_testing_location",
      -  "find_authorized_lab",
      -  "get_lab_scope",
      -  "search_payment_items",
      -  "search_lab_code",
      -  "get_points",
      -  "get_payment_rule",
      -  "search_reviewed_ivd",
      -  "search_ivd_candidates",
      -  "search_ivd",
      -  "get_license",
      -  "find_manufacturer",
      -  "list_matching_license_records",
      -  "compare_products",
      -  "standards_status",
      -  "eqa_status"
      -]New value: +[
      +  "get_data_status",
      +  "search_disease",
      +  "get_specimen_requirement",
      +  "get_collection_method",
      +  "get_container",
      +  "get_transport_requirement",
      +  "get_submission_rule",
      +  "get_testing_location",
      +  "search_manual_procedure",
      +  "find_authorized_lab",
      +  "get_lab_scope",
      +  "search_payment_items",
      +  "search_lab_code",
      +  "get_points",
      +  "get_payment_rule",
      +  "search_reviewed_ivd",
      +  "search_ivd_candidates",
      +  "search_ivd",
      +  "get_license",
      +  "find_manufacturer",
      +  "list_matching_license_records",
      +  "compare_products",
      +  "standards_status",
      +  "eqa_status"
      +]
    • changedOutput schema / properties / replacement_operation / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "get_data_status",
      -      "search_disease",
      -      "get_specimen_requirement",
      -      "get_collection_method",
      -      "get_container",
      -      "get_transport_requirement",
      -      "get_submission_rule",
      -      "get_testing_location",
      -      "find_authorized_lab",
      -      "get_lab_scope",
      -      "search_payment_items",
      -      "search_lab_code",
      -      "get_points",
      -      "get_payment_rule",
      -      "search_reviewed_ivd",
      -      "search_ivd_candidates",
      -      "search_ivd",
      -      "get_license",
      -      "find_manufacturer",
      -      "list_matching_license_records",
      -      "compare_products",
      -      "standards_status",
      -      "eqa_status"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "get_data_status",
      +      "search_disease",
      +      "get_specimen_requirement",
      +      "get_collection_method",
      +      "get_container",
      +      "get_transport_requirement",
      +      "get_submission_rule",
      +      "get_testing_location",
      +      "search_manual_procedure",
      +      "find_authorized_lab",
      +      "get_lab_scope",
      +      "search_payment_items",
      +      "search_lab_code",
      +      "get_points",
      +      "get_payment_rule",
      +      "search_reviewed_ivd",
      +      "search_ivd_candidates",
      +      "search_ivd",
      +      "get_license",
      +      "find_manufacturer",
      +      "list_matching_license_records",
      +      "compare_products",
      +      "standards_status",
      +      "eqa_status"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed6 schema fields changedv0.1.2
    • addedOutput schema / $defs / CDCReceivingUnitContact
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "One 7.9 receiving unit as the manual prints it (OD-18).",
      +  "properties": {
      +    "address": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Address"
      +    },
      +    "fax": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Fax"
      +    },
      +    "phone": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Phone"
      +    },
      +    "unit_name": {
      +      "title": "Unit Name",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "unit_name",
      +    "phone",
      +    "fax",
      +    "address"
      +  ],
      +  "title": "CDCReceivingUnitContact",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / CDCTestingLocationRecord
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "One chapter 7 row: where a test is sent and how long it takes (OD-18).\n\nThe manual prints 檢驗期限 in most sections and 檢驗期間 in 7.7 (autopsy specimens), so the\ntwo official column names stay separate fields and are never merged into one duration.\n`receiving_unit_contacts` are the 7.9 rows whose unit name appears in this row's 收件單位\ntext; the join happens when the question is answered and every contact keeps its own page,\nsection and row hash in the item's evidence.",
      +  "properties": {
      +    "bsl_raw": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Bsl Raw"
      +    },
      +    "collecting_unit": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Collecting Unit"
      +    },
      +    "disease": {
      +      "title": "Disease",
      +      "type": "string"
      +    },
      +    "method": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Method"
      +    },
      +    "notes": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Notes"
      +    },
      +    "receiving_unit": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Receiving Unit"
      +    },
      +    "receiving_unit_contacts": {
      +      "items": {
      +        "$ref": "#/$defs/CDCReceivingUnitContact"
      +      },
      +      "title": "Receiving Unit Contacts",
      +      "type": "array"
      +    },
      +    "record_type": {
      +      "const": "cdc_testing_location",
      +      "default": "cdc_testing_location",
      +      "title": "Record Type",
      +      "type": "string"
      +    },
      +    "specimen": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Specimen"
      +    },
      +    "testing_period_raw": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Testing Period Raw"
      +    },
      +    "turnaround_raw": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Turnaround Raw"
      +    }
      +  },
      +  "required": [
      +    "disease",
      +    "collecting_unit",
      +    "specimen",
      +    "method",
      +    "turnaround_raw",
      +    "testing_period_raw",
      +    "receiving_unit",
      +    "bsl_raw",
      +    "notes",
      +    "receiving_unit_contacts"
      +  ],
      +  "title": "CDCTestingLocationRecord",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ItemEnvelope / properties / record / discriminator / mapping / cdc_testing_location
      Added value: +"#/$defs/CDCTestingLocationRecord"
    • changedOutput schema / $defs / ItemEnvelope / properties / record / oneOf
      Previous value: -[
      -  {
      -    "$ref": "#/$defs/NHIRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/NHISearchRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/CDCSpecimenRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/CDCLabRecord"
      -  },
      -  {
      -    "$ref": "#/$defs/TFDARecord"
      -  },
      -  {
      -    "$ref": "#/$defs/TFDASearchRecord"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/$defs/NHIRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/NHISearchRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/CDCSpecimenRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/CDCTestingLocationRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/CDCLabRecord"
      +  },
      +  {
      +    "$ref": "#/$defs/TFDARecord"
      +  },
      +  {
      +    "$ref": "#/$defs/TFDASearchRecord"
      +  }
      +]
    • changedOutput schema / properties / operation / enum
      Previous value: -[
      -  "get_data_status",
      -  "search_disease",
      -  "get_specimen_requirement",
      -  "get_collection_method",
      -  "get_container",
      -  "get_transport_requirement",
      -  "get_submission_rule",
      -  "find_authorized_lab",
      -  "get_lab_scope",
      -  "search_payment_items",
      -  "search_lab_code",
      -  "get_points",
      -  "get_payment_rule",
      -  "search_reviewed_ivd",
      -  "search_ivd_candidates",
      -  "search_ivd",
      -  "get_license",
      -  "find_manufacturer",
      -  "list_matching_license_records",
      -  "compare_products",
      -  "standards_status",
      -  "eqa_status"
      -]New value: +[
      +  "get_data_status",
      +  "search_disease",
      +  "get_specimen_requirement",
      +  "get_collection_method",
      +  "get_container",
      +  "get_transport_requirement",
      +  "get_submission_rule",
      +  "get_testing_location",
      +  "find_authorized_lab",
      +  "get_lab_scope",
      +  "search_payment_items",
      +  "search_lab_code",
      +  "get_points",
      +  "get_payment_rule",
      +  "search_reviewed_ivd",
      +  "search_ivd_candidates",
      +  "search_ivd",
      +  "get_license",
      +  "find_manufacturer",
      +  "list_matching_license_records",
      +  "compare_products",
      +  "standards_status",
      +  "eqa_status"
      +]
    • changedOutput schema / properties / replacement_operation / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "get_data_status",
      -      "search_disease",
      -      "get_specimen_requirement",
      -      "get_collection_method",
      -      "get_container",
      -      "get_transport_requirement",
      -      "get_submission_rule",
      -      "find_authorized_lab",
      -      "get_lab_scope",
      -      "search_payment_items",
      -      "search_lab_code",
      -      "get_points",
      -      "get_payment_rule",
      -      "search_reviewed_ivd",
      -      "search_ivd_candidates",
      -      "search_ivd",
      -      "get_license",
      -      "find_manufacturer",
      -      "list_matching_license_records",
      -      "compare_products",
      -      "standards_status",
      -      "eqa_status"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "get_data_status",
      +      "search_disease",
      +      "get_specimen_requirement",
      +      "get_collection_method",
      +      "get_container",
      +      "get_transport_requirement",
      +      "get_submission_rule",
      +      "get_testing_location",
      +      "find_authorized_lab",
      +      "get_lab_scope",
      +      "search_payment_items",
      +      "search_lab_code",
      +      "get_points",
      +      "get_payment_rule",
      +      "search_reviewed_ivd",
      +      "search_ivd_candidates",
      +      "search_ivd",
      +      "get_license",
      +      "find_manufacturer",
      +      "list_matching_license_records",
      +      "compare_products",
      +      "standards_status",
      +      "eqa_status"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. First observedv0.1.1

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden, and it makes a genuine effort: it discloses that results are decision-support only, must be verified against the current official source, are not validated for hospital deployment, are not for pre-submission storage, and that patient data must not be input (不得輸入病人資料). These are real behavioral constraints beyond any structured field. They are mildly cryptic — e.g., 'not_pre_submission_storage=true' is unexplained — but the disclosure intent is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the purpose statement before the behavioral flags, wasting no words. The Chinese sentence is compact though it may be a barrier to an English-only agent, and the flag list is dense but economical.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and only one parameter, the disclosure burden is modest, and the behavioral flags and output schema cover much of the call contract. However, the description omits sibling differentiation and parameter semantics, which an agent needs to select and call this tool confidently among the many get_* siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single 'disease' parameter, but it does not explain valid values, expected format, or how to specify a disease. The only input-related statement is the Chinese note prohibiting patient data, which constrains misuse rather than illuminating parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Get CDC specimen rows', a clear verb+resource statement identifying this as a retrieval tool for CDC specimen data. However, 'rows' is vague phrasing and nothing distinguishes it from specimen-related siblings like get_collection_method, get_container, and get_transport_requirement, so an agent must infer what a 'specimen requirement' means relative to those.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives — no sibling tools named, no exclusions, no selection conditions. The embedded flags (decision_support_only=true, etc.) hint at operational constraints but say nothing about choosing this over get_collection_method or get_transport_requirement, leaving selection entirely to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.