Astm instructions - Stratford Software, Inc



Billing Interface

Record definition

General Information

The billing interface will be an ASCII file made up of a record structure which is based on the ASTM record methodology defined for interfaces to testing equipment. The first byte of each record will be the record type, the fields will be separated by field delimiters, repeated data within a field will be separated by a repeat delimiter, and any segmented fields will have the segments separated by the segment delimiter. Be sure to read the notes at the very bottom of this file:

Field delimiter = | ASCII character 124 (decimal) Vertical Line

Repeat delimiter = \ ASCII character 92 (decimal) Back slash

Component delimiter = ^ ASCII character 94 (decimal) Circumflex / caret

Escape delimiter = & ASCII character 38 (decimal) Ampersand

Record terminator = ASCII character 13 (decimal) carriage return (optional line feed CHR(10)

Record definition

1. Header record

Defines the delimiters, source, dstination, etc. structured the same as the ASTM header, the sender ID will be “LIS-“ followed by the location code, the receiver ID will be “Billing System”.

|7.1.1 |Record type |‘H’ example: |

| | |H|\^&|||LIS-02|||||02||P|1.0 |

| | |Characters following the first 5 are ignored. We only need: |

| | |H|\^& |

|7.1.2 |Delimiter definition |Five characters after ‘H’ are the delimiter that will be used throughout the |

| | |subsequent records of the message. |

|7.1.3 |Message control ID |Ignore |

|7.1.4 |Access password |Ignore |

|7.1.5 |Sender name or ID |LIS-02 |

|7.1.6 |Sender street address |Ignore |

|7.1.7 |Reserved |Ignore |

|7.1.8 |Sender telephone no |Ignore |

|7.1.9 |Characteristics of sender |Ignore |

|7.1.10 |Receiver ID |02 |

|7.1.11 |Comment or Special instruction |Ignore |

|7.1.12 |Processing ID |‘P’ for production |

|7.1.13 |Version Number |1.0 |

|7.1.14 |Date and Time of message | |

2. Patient record

Same as the ASTM record.

Special field 8.1.15 will contain the patient account number if known

Special field 8.1.16 will contain the SSN and account type if known, formatted as: SSN^Account type.

Fields and data source:

|8.1.1 |Record type |‘P’ |

|8.1.2 |Sequence number |1,2,3…number of patient records in file. |

|8.1.3 |Practice ID |Ignore |

|8.1.4 |Laboratory ID |Patient bar code number |

|8.1.5 |Patient ID#3 |Ignore |

|8.1.6 |Patient Name |Name, Last^First^Mi |

|8.1.7 |Mother’s maiden |Ignore |

|8.1.8 |Birth date |Date of Birth, CCYYMMDD |

|8.1.9 |Sex |Patient sex, F, M, or U |

|8.1.10 |Race-Ethnic origin |Ignore |

|8.1.11 |Address |Addr, Street^City^State^Zip code |

|8.1.12.1 |Patient Employer |Lookup code 1-9 char |

|8.1.12.2 |Patient Employer |Name |

|8.1.12.3 |Patient Employer |Add1 |

|8.1.12.4 |Patient Employer |Add2 |

|8.1.12.5 |Patient Employer |City |

|8.1.12.6 |Patient Employer |State |

|8.1.12.7 |Patient Employer |Zip |

|8.1.12.8 |Employer Phone 1 |(xxx) yyy-zzzz |

|8.1.12.9 |Employer Phone 2 |(xxx) yyy-zzzz |

|8.1.13 |Patient Phone Number |(xxx) yyy-zzzz |

|8.1.14 |Referring Information |KeyValue^UPIN Number^Last^First^Mi^title |

|8.1.14.1 |Referring Lookup code | |

|8.1.14.2 |Referring UPIN code | |

|8.1.14.3 |Referring last name | |

|8.1.14.4 |Referring first name | |

|8.1.14.5 |Referring Mi | |

|8.1.14.6 |Referring title |Title: MD, Phd, etc. |

|8.1.14.7 |Referring medicaid id | |

|8.1.15 |Special field #1 |Patient account number (key) if known |

|8.1.16.1 |Special field #2 |Patient SSN |

|8.1.16.2 |Special field #2 |Patient CD0 - financial class 1,2,3, or 4 |

|8.1.16.3 |Special field #2 |Patient CD1 - your code, ex: “04” |

|8.1.16.4 |Special field #2 |Patient CD2 - your code, ex: “M” |

|8.1.16.5 |Special field #2 |Patient CD3 - your code, ex” “X” |

|8.1.17 |Patient height |Ignore |

|8.1.18 |Patient weight |Ignore |

|8.1.19 |Patient diagnosis |Ignore |

|8.1.20 |Active Medications |Ignore |

|8.1.21 |Patient diet |Ignore |

|8.1.22 |Practice field #1 |Ignore |

|8.1.23 |Practice field #2 |Ignore |

|8.1.24 |Admission dates |Date of service, CCYYMMDD |

|8.1.25 |Admission status |Ignore |

|8.1.26 |Location |Ignore |

|8.1.27 |Nature of Alt Diag |Ignore |

|8.1.28 |Alt Diagnosis |Ignore |

|8.1.29 |Patient Religion |Ignore |

|8.1.30 |Marital status |Ignore |

|8.1.31 |Isolation status |Ignore |

|8.1.32 |Language |Ignore |

|8.1.33 |Hospital service |Ignore |

|8.1.34 |hospital institution |Ignore |

|8.1.35 |Dosage Category |Ignore |

3. Added patient information – NEW

|x.1 |Record type |‘A’ |

|x.2 |Sequence number |1,2,3…number of A records in file. |

|x.3 |Patient account type and account |eg. 04^X^^ |

| |modifier, guarantor or referring person|If this field is “RF” , the entire record will add a referring person |

| | | |

|x.3.1 |If not RF then this will add a record |eg. 04 (the user code for this financial class – 2 characters) |

| |to the financial class lookup | |

|x.3.2 |Patient account type and account |eg. X (the user code modifier1 for this financial class – 1 character) |

| |modifier | |

| | | |

|x.3.3 |Patient account type and account |eg. (the user code modifier2 for this financial class – 1 character) |

| |modifier | |

| | | |

|x.3.4 |Patient account type and account |eg. 1,2,3, or 4 this is for the financial class – private pay, industrial, Medicaid, medicare, etc |

| |modifier | |

| | | |

|x.4 |Guarantor or referring |name: Last^First^Mi |

| | |(if not workman’s comp or Company Name if –Workman’s comp) |

|x.5 |Address |addr1^addr2^city^state^zip |

|x.6 |Workman’s comp |Date of injury |

| | |Claim number |

| | |Attention to name (Transferred as entered) |

| | |Example: Date^Claim Number^Attn Name |

4. Insurance Record -New

|x.1 |Record Type |‘I’ |

|x.2 |Sequence number |1,2,3.. number of insurance records |

|x.3 |Ins Co Lookup |Key 1-9 char |

|x.4 |Ins Co Name |41 char |

|x.5 |Ins Co Add |addr1^addr2^city^state^zip |

|x.6 |Ins Co Phone |(xxx) yyy-zzzz |

|x.7 |Subscriber name |Last^First^Mi |

|x.8 |Subscriber Address |Add1^Add2^city^state^zip |

|x.9 |Subscriber Phone 1&2 |(xxx) yyy-zzzz^(xxx) yyy-zzzz |

|x.10 |Subscriber sex |M, F, U |

|x.11 |Subscriber DOB |CCYYMMDD |

|x.12.1 |Subscriber Employer |Lookup code 1-9 char |

|x.12.2 |Subscriber Employer |Name |

|x.12.3 |Subscriber Employer |Add1 |

|x.12.4 |Subscriber Employer |Add2 |

|x.12.5 |Subscriber Employer |City |

|x.12.6 |Subscriber Employer |State |

|x.12.7 |Subscriber Employer |Zip |

|x.12.8 |Subscriber Employer |Phone 1 |

|x.12.9 |Subscriber Employer |Phone 2 |

|x.13 |Subscriber ID | |

|x.14 |Subscriber Group | |

|x.15 |Relation to insured | |

|x.16 |Assignment |Y or N |

|x.17 |Signature for info rel |Y or N |

|x.18 |Signature to pay prov |Y or N |

|x.19 |Crossover flag |Y or N (not used, we suggest you don’t fill this in) |

|x.20 |Insurance form type |4 characters |

|x.21 |Payor ID |Insurance Co ID number (9 char) see NEIC |

|x.22 |ClaimOff ID |Insurance office number (9 char) see NEIC |

|X.23 |MediGap ID |Secondary Insurance Co ID |

|x.24 |Patient Ins Address |Addr1^addr2^city^state^zip |

5 Order record Same as the ASTM record and should be used to

ensure that all of the tests listed have billing (result)

records

|9.4.1 |Record Type |‘O’ |

|9.4.2 |Sequence number |1,2,3.. number of order records |

|9.4.3 |Patient ID |Same as 8.1.4 |

|9.4.4 |Instrument ID |Ignore |

|9.4.5 |Universal test ID |One CPT and description for each CPT number being billed: |

| | |^^CPT^Description |

| | |if a “normal” billable test. If the corresponding billable record is an auto transaction|

| | |then the format will be: |

| | |Key value^Print status^^Desctiption |

| | |Print status |

| | |‘S’ – Statement |

| | |‘I’ – Insurance |

| | |‘N’ – No print |

|9.4.6 |Priority |Ignore |

|9.4.7 |Req/Ord Date |Ignore |

|9.4.8 |Specimen Date |Ignore |

|9.4.9 |Collection end time |Ignore |

|9.4.10 |Collection volume |Ignore |

|9.4.11 |Collector ID |Ignore |

|9.4.12 |Action code |Ignore |

|9.4.13 |Danger code |Ignore |

|9.4.14 |Relevant info |Ignore |

|9.4.15 |Specimen Recv Date |Ignore |

|9.4.16 |Specimen Description |Ignore |

|9.4.17 |Order Physician |Ignore |

|9.4.18 |Physician Phone |Ignore |

|9.4.19 |User fld #1 |Ignore |

|9.4.20 |User fld #2 |Ignore |

|9.4.21 |Lab fld #1 |Ignore |

|9.4.22 |Lab fld #2 |Ignore |

|9.4.23 |Date/Time Results |Ignore |

|9.4.24 |Instrument charge |Ignore |

|9.4.25 |Instument sect. |Ignore |

|9.4.26 |Report type |‘F’ |

|9.4.27 |Reserved field |Ignore |

|9.4.28 |Location of Ward |Ignore |

|9.4.29 |Infection flags |Ignore |

|9.4.30 |Speci service |Ignore |

|9.4.31 |Speci institution |Ignore |

6 Billing record Patterned from the ASTM results ‘R’ record

|10.1.1 |Record Type |‘B’ |

|10.1.2 |Sequence number |1,2,3.. number of billing records |

|10.1.3.1 | |Empty or autotransaction lookup code |

|10.1.3.2 |Printing? |‘N’ = non-print on any form, ‘S’=non-print on statement, ‘I’=non-print on insurance |

|10.1.3.3 |CPT code |CPT code, or ‘U’/blank for no CPT code |

|10.1.3.4 |Description |Optional |

|10.1.3.5 |Transaction type |Optional, 1 is default (must be numeric or blank) |

| | |2=pmt, 3=+adj, 4=-adj, 5=memo, 6=non-print memo |

|10.1.3.6 |CPT modifier 1 |Optional |

|10.1.3.7 |CPT modifier 2 |Optional |

|10.1.3.8 |CPT modifier 3 |Optional |

|10.1.3.9 |CPT modifier 4 |Optional |

|10.1.3.10 |Dx 1 |Diagnosis code, use decimal if present |

|10.1.3.11 |Dx 2 |Diagnosis code, use decimal if present |

|10.1.3.12 |Dx 3 |Diagnosis code, use decimal if present |

|10.1.3.13 |Dx 4 |Diagnosis code, use decimal if present |

|10.1.4 |Charge amount |xxx.xx |

|10.1.5 |Units (Quantity) | |

|10.1.6 |Total Charge |Same as charge amount |

|10.1.7 |Auto&acct types |Empty if normal billed item, or auto trans type and effected account type(s) if auto |

| | |transaction: the type of auto transaction and either a single account type or ‘ALL’: |

| | |5^ALL or 5^4 |

|10.1.8 |Place of service |The AMA code cooresponding to the facility where the test was performed, eg ‘A’ for |

| | |independent laboratory |

|10.1.9 |Result status |‘F’ |

|10.1.10 |Type of service |Empty if normal bill item, or type of service if auto transaction |

|10.1.11 |Oper Ident |Ignore |

|10.1.12 |Date/Time Started |Ignore |

|10.1.13 |Date/Time Completed |Test final date CCYYMMDD (or empty) |

|10.1.14 |Provider Lookup code |1-4 digits 01, 02, 03, 04 |

|10.1.15 |Diagnosis codes |1-4 codes: Dx1^Dx2^Dx3^Dx4 |

7 Comment record Used to transfer the diagnostic codes, CPT number and modifiers

| | | |

|11.1.1 |Record Type |‘C’ |

|11.1.2 |Sequence number |1 |

|11.1.3 |Comment source |‘L’ |

|11.1.4 |Comment text |See below |

|11.1.5 |Comment type |‘G’ |

C^seq no|L|&DXttttt^ttttt^ttttt^ttttt\&CPnnnnn^mm^mm^mm^mm|G

Where:

|& |Indicates the following two characters identify the type of data that follows: |

| |DX – Diagnosis codes |

| |CP – CPT number |

|Ttttt |1-4 Diagnosis codes 3 – 5 characters each |

|Nnnnn |CPT codes 5 characters each |

|Mm |1-4 CPT modifiers, 2 characters each |

8 Terminator record Used to end the file.

| | | |

|11.1.1 |Record Type |‘L’ |

|11.1.2 |No of functional groups |1 |

L^1

Record Level

| | | | | | |

| |1 | | | | |‘P’ patient information |

| |1 | | | | |‘A’ Additional patient information |

| | |2 | | | | |‘I’ Insurance record 1-5 per patient |

| | |2 | | | | |‘O’ Order record |

| | | |3 | | | | |‘R’ (1..n records per patient) |

| | | | |4 | | | | |‘C’ Comment record (ASTM type ‘G’, one for every result record) |

| |1 | | | | |‘P’ patient information |

| |1 | | | | |‘A’ Additional patient information |

| | |2 | | | | |‘I’ Insurance record 1-5 per patient |

| | |2 | | | | |‘O’ Order record |

| | | |3 | | | | |‘R’ (1..n records per patient) |

| | | | |4 | | | | |‘C’ Comment record (ASTM type ‘G’, one for every result record) |

|0 | | | | |‘L’ Terminator record |

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Various files needed

1. You need to develop the file described above and that will be your input file. Name this file whatever you want and put this file anywhere you want. We suggest putting it in the data login until you have debugged your program (example: \130\200.

2. The next step is to request the driver program from Stratford: M2ASTM.FXP. We don't distribute it with our regular program. If we can send it by email attachment there will be a nominal or no charge. Place this program in the path: \130\4. This is a "public" path so that if you plan to import data into more than one account, you will only need one copy of the driver program.

3. Last, you need to create a control file using an ordinary text editor such as Microsoft Notepad. Remember do not ever use tabs or other control characters in this file. Only use spaces, a-z, 0-9, A-Z and ordinary visible/printable punctuation. Here is a sample of the most common file:

This file is named M6P1881.CTL. Place this file in the data login (example: \130\200). Example:

1. "select" these words and put them into your clipboard -- use Ctrl-C

2. create a new file named M6P1881.CTL with notepad (do not use MS Word or other word processor)

3. Then put them "as-is" into your new file --use Ctrl-V

------------ begin file contents below ------------

Stratford Software, Inc

220 E Flamingo Rd Unit 115

Las Vegas, NV 89169



Program for loading data from a batch source

[m6r1881 Batch Data Format]

ThisControlFile=m6p1881.ctl

FileFormat=astm

InputDataFileName=ask

InputDeviceName=

FileFormatModification=DLI/1.0

------------ end of file contents ------------

If you put the keyword "ask" instead of a filename, the program will stop and ask you for the file name each time it runs. You can include a path with the filename if the file is not in the default data login path.

If you put the file on a network drive, you can put that drive letter after "InputDeviceName".

To avoid various kinds of program incompatibilities, we advise that you use directory and file names that do not have spaces and have 1-8 character names with 1-3 character extensions. The Stratford program is a true 32-bit program and can be used with any Windows 9.x/NT program/file structure. If you find it necessary to use long directory and/or file names and you get errors, we advise that you change to the 8.3 structure until your program runs correctly without errors. At that time you may contact us with your errors and we will try to work with you to eliminate them.

You may have more than one import program set up. If the file is named M6P1881.CTL then you would run it by selecting from the main directory: 1,8,8,1. If you name your control file M6P1882.CTL then you would select 1,8,8,2.

We encourage add-ons to our program. If you have special needs, we may be willing to work with you to solve them (note the hedge?). If you email, you are easy to work with and you have good ideas, we may not charge extra (note the hedge?).

Notes that you should read:

We are not commited to supporting the astm format in our new window-only program. It will require considerable resources to do it. We will determine this based on customer need as we do with all our programs. We encourage you to let us know if this is important to you.

From a programming standpoint, there is a lot of similarity in the astm format and the ANSI X.12 format. Maybe ASTM was the ‘predecessor?’ of ANSI X.12. Now the latest fad is XML, which could be the ‘offspring’ of ANSI X.12??

Parsing and creating ANSI X.12 code is almost identical to parsing and creating ASTM. We use almost exactly the same code. At this time we do not support any ANSI X.12 formats for importing data because it really does not offer a significant advantage other than it does contain insurance and guarantor information. It is somewhat more difficult to create and parse than ASTM when you stray from the standard transaction sets.

Parsing and creating ANSI X.12 code is similar to parsing and creating XML. Of course the newer compilers have functions designed specifically to make XML data easy to work with so we have redesigned the code base. If there is sufficient demand, we do plan to support XML for importing data. Although XML is bulky, we believe it offers significant advantages over the other formats. For example, we can add record definitions easily without making previous formats incompatible.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download