pdf-trainer-api / backend /trainer_schemas /T2_SEASPINE_DELIVERED_GOODS_FORM.schema.json
Avinash
integrate real backend api
4a5269c
{
"form_id": "trainer_245e70e31b1f4eb1b26fad626365e9ad",
"version": 3,
"page": 1,
"scalar_value_region_mode": "offset_from_anchor_v1",
"fields": [
{
"field_id": "facility_organization",
"label": "Facility / Organization",
"type": "entity",
"anchor_bbox_norm": { "x": 0.179739, "y": 0.284091, "w": 0.04085, "h": 0.020202 },
"value_bbox_norm": null,
"value_offset_norm": { "dx": 0.044118, "dy": -0.002525, "w": 0.246732, "h": 0.021465 }
},
{
"field_id": "case_location",
"label": "Case Location / Address",
"type": "text",
"anchor_bbox_norm": { "x": 0.181373, "y": 0.310606, "w": 0.135621, "h": 0.016414 },
"value_bbox_norm": null,
"value_offset_norm": { "dx": 0.001634, "dy": 0.013889, "w": 0.295752, "h": 0.027778 }
},
{
"field_id": "vendor",
"label": "Vendor",
"type": "entity",
"anchor_bbox_norm": { "x": 0.606209, "y": 0.152778, "w": 0.173203, "h": 0.068182 },
"value_bbox_norm": null,
"value_offset_norm": null
},
{
"field_id": "physician_name",
"label": "Physician Name",
"type": "person",
"anchor_bbox_norm": { "x": 0.179739, "y": 0.508838, "w": 0.104575, "h": 0.016414 },
"value_bbox_norm": null,
"value_offset_norm": { "dx": 0.106209, "dy": -0.001263, "w": 0.372549, "h": 0.015152 }
},
{
"field_id": "date_of_surgery",
"label": "Date of Surgery",
"type": "date",
"anchor_bbox_norm": { "x": 0.179739, "y": 0.521465, "w": 0.081699, "h": 0.021465 },
"value_bbox_norm": null,
"value_offset_norm": { "dx": 0.083333, "dy": 0.005051, "w": 0.068627, "h": 0.015152 }
},
{
"field_id": "items",
"label": "Items / Line Items",
"type": "table",
"table_bbox_norm": { "x": 0.178105, "y": 0.388889, "w": 0.609477, "h": 0.118687 },
"header_bbox_norm": { "x": 0.178105, "y": 0.390152, "w": 0.609477, "h": 0.02399 },
"row_height_hint_norm": null,
"columns": [
{ "key": "item_number", "label": "Item Number", "bbox_rel_norm": { "x": 0.718499, "y": 0.170213, "w": 0.072386, "h": 0.797872 } },
{ "key": "lot_number", "label": "Lot Number", "bbox_rel_norm": { "x": 0.168901, "y": 0.223404, "w": 0.171582, "h": 0.776596 } },
{ "key": "description", "label": "Description", "bbox_rel_norm": null },
{ "key": "qty", "label": "Qty", "bbox_rel_norm": null },
{ "key": "price", "label": "Price", "bbox_rel_norm": null }
],
"table_anchors": [
{ "key": "item_number", "expected_text": "Item Number", "bbox_norm": { "x": 0.178105, "y": 0.388889, "w": 0.101307, "h": 0.02399 } },
{ "key": "description", "expected_text": "Description", "bbox_norm": { "x": 0.488562, "y": 0.388889, "w": 0.129085, "h": 0.025253 } },
{ "key": "qty", "expected_text": "Qty", "bbox_norm": { "x": 0.617647, "y": 0.388889, "w": 0.045752, "h": 0.02399 } }
],
"notes": "Anchors are used at runtime to localize table/header/columns under drift."
}
],
"notes": "Trainer exports config only. Runtime should localize anchors then apply offsets/table mappings to extract values + line items."
}