Extract the following information from job application documents:
Required Fields
-
Candidate name
-
Email address
-
Phone number
-
Current job title
-
Years of experience
-
Highest education level (High School, Associate, Bachelor, Master, PhD, or Other)
-
Expected salary (if mentioned)
Validation Rules
-
Email must be valid format
-
Phone should be normalized to E.164 format (+1XXXXXXXXXX)
-
Years of experience must be a number
-
Education level must map to one of: High School, Associate, Bachelor, Master, PhD, Other
Handling Missing Data
-
If salary not mentioned, set to null
-
If current title missing, infer from most recent work experience
-
If years of experience not explicitly stated, calculate from work history dates
-
If a field genuinely doesn't exist in the document, return null (do not guess or hallucinate)
Output Requirements
-
Return structured JSON with all extracted fields
-
Include confidence score (0-1) for each field
-
Flag any fields with confidence < 0.7 for human review
-
For flagged fields, provide brief reasoning for low confidence
Processing Guidelines
-
Ignore cover letters or personal statements when extracting structured data
-
Handle both text-based and scanned/image documents
-
Process multi-page documents completely
-
If multiple phone numbers exist, prefer mobile over work
-
If multiple email addresses exist, prefer personal over work

