A 1099 Express source record for 1099-SA looks like this:
B|M|SSN|Cor|ForeignAdr|Reserved|CS|Name1|Name2|Addr|City|State|Zip|Acct|Box1|Box2|...BoxX
Field 1: Capital "B", This is the Record Identifier.
Field 2: Holds the character "M", indicating Form 1099-SA Distributions from an HSA, Archer MSA or Medicare Advantage MSA.
Filed 3: Recipient's Social Security Number.
Field 4: Correction Indicator.
Field 5: Set to "1" if recipient is Foreign (outside USA).
Field 6: Reserved.
Field 7: Combined State Code.
Field 8: Recipient's Name 1 Field.
Field 9: Name 2 Field, usually empty.
Field 10: Address.
Field 11: City.
Field 12: State Code.
Field 13: Zip Code.
Field 14: Account Information. Must be unique to distinguish corrections for duplicate recipients.
Field 15: Amt01-Box 1 Gross distribution.
Field 16: Amt02-Box 2 Earnings on excess cont.
Field 17: Box 3 Distribution Code, 1=Normal, 2=Excess cont, 3=Disability, 4=Death not code 6, 5=Prohibited, 6=Dist after death.
Field 18: Amt04-Box 4 Fair Market Value on date of death.
Field 19: Box 5 Type of plan. 0=HSA, 1=Archer-MSA, 2=Meicare Advantage-MSA. Mutually Exclusive.
Fields 20 and higher and not used, and the delimiters need not be present. Amt means a dollar field.
All Fields are normal Ascii strings, without a Ascii Zero trailer. Each record is terminated by a carriage return, line feed sequence, when resident on disk.