#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Use {
Required,
Recommended,
Optional,
Backward,
}
#[derive(Debug, Clone, Copy)]
pub struct FieldSpec {
pub seq: usize,
pub name: &'static str,
pub dt: &'static str,
pub usage: Use,
pub table: Option<&'static str>,
pub repeats: bool,
}
macro_rules! fld {
($seq:expr, $name:expr, $dt:expr, $usage:expr) => {
FieldSpec {
seq: $seq,
name: $name,
dt: $dt,
usage: $usage,
table: None,
repeats: false,
}
};
($seq:expr, $name:expr, $dt:expr, $usage:expr, rep) => {
FieldSpec {
seq: $seq,
name: $name,
dt: $dt,
usage: $usage,
table: None,
repeats: true,
}
};
($seq:expr, $name:expr, $dt:expr, $usage:expr, t $tbl:expr) => {
FieldSpec {
seq: $seq,
name: $name,
dt: $dt,
usage: $usage,
table: Some($tbl),
repeats: false,
}
};
($seq:expr, $name:expr, $dt:expr, $usage:expr, t $tbl:expr, rep) => {
FieldSpec {
seq: $seq,
name: $name,
dt: $dt,
usage: $usage,
table: Some($tbl),
repeats: true,
}
};
}
use Use::{Backward as B, Optional as O, Recommended as RE, Required as R};
#[derive(Debug, Clone, Copy)]
pub struct SegmentSpec {
pub name: &'static str,
pub desc: &'static str,
pub fields: &'static [FieldSpec],
}
const MSH: &[FieldSpec] = &[
fld!(1, "Field Separator", "ST", R),
fld!(2, "Encoding Characters", "ST", R),
fld!(3, "Sending Application", "HD", RE),
fld!(4, "Sending Facility", "HD", RE),
fld!(5, "Receiving Application", "HD", RE),
fld!(6, "Receiving Facility", "HD", RE),
fld!(7, "Date/Time of Message", "DTM", R),
fld!(8, "Security", "ST", O),
fld!(9, "Message Type", "MSG", R),
fld!(10, "Message Control ID", "ST", R),
fld!(11, "Processing ID", "PT", R, t "0103"),
fld!(12, "Version ID", "VID", R, t "0104"),
fld!(13, "Sequence Number", "NM", O),
fld!(14, "Continuation Pointer", "ST", O),
fld!(15, "Accept Ack Type", "ID", O, t "0155"),
fld!(16, "Application Ack Type", "ID", O, t "0155"),
fld!(17, "Country Code", "ID", O),
fld!(18, "Character Set", "ID", O, t "0211", rep),
fld!(19, "Principal Language", "CE", O),
fld!(20, "Alt Character Set Handling", "ID", O, t "0356"),
fld!(21, "Message Profile Identifier", "EI", O, rep),
];
const MSA: &[FieldSpec] = &[
fld!(1, "Acknowledgment Code", "ID", R, t "0008"),
fld!(2, "Message Control ID", "ST", R),
fld!(3, "Text Message", "ST", B),
fld!(4, "Expected Sequence Number", "NM", O),
fld!(5, "Delayed Ack Type", "ID", B),
fld!(6, "Error Condition", "CE", B),
];
const ERR: &[FieldSpec] = &[
fld!(1, "Error Code and Location", "ELD", B, rep),
fld!(2, "Error Location", "ERL", O, rep),
fld!(3, "HL7 Error Code", "CWE", R, t "0357"),
fld!(4, "Severity", "ID", R, t "0516"),
fld!(5, "Application Error Code", "CWE", O),
fld!(6, "Application Error Parameter", "ST", O, rep),
fld!(7, "Diagnostic Information", "TX", O),
fld!(8, "User Message", "TX", O),
fld!(9, "Inform Person Indicator", "IS", O, t "0517", rep),
fld!(10, "Override Type", "CWE", O, t "0518"),
fld!(11, "Override Reason Code", "CWE", O, t "0519", rep),
fld!(12, "Help Desk Contact Point", "XTN", O, rep),
];
const EVN: &[FieldSpec] = &[
fld!(1, "Event Type Code", "ID", B, t "0003"),
fld!(2, "Recorded Date/Time", "DTM", R),
fld!(3, "Date/Time Planned Event", "DTM", O),
fld!(4, "Event Reason Code", "IS", O, t "0062"),
fld!(5, "Operator ID", "XCN", O, rep),
fld!(6, "Event Occurred", "DTM", RE),
fld!(7, "Event Facility", "HD", O),
];
const PID: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Patient ID", "CX", B),
fld!(3, "Patient Identifier List", "CX", R, rep),
fld!(4, "Alternate Patient ID", "CX", B, rep),
fld!(5, "Patient Name", "XPN", R, rep),
fld!(6, "Mother's Maiden Name", "XPN", O, rep),
fld!(7, "Date/Time of Birth", "DTM", RE),
fld!(8, "Administrative Sex", "IS", RE, t "0001"),
fld!(9, "Patient Alias", "XPN", B, rep),
fld!(10, "Race", "CE", O, t "0005", rep),
fld!(11, "Patient Address", "XAD", RE, rep),
fld!(12, "County Code", "IS", B),
fld!(13, "Home Phone Number", "XTN", O, rep),
fld!(14, "Business Phone Number", "XTN", O, rep),
fld!(15, "Primary Language", "CE", O),
fld!(16, "Marital Status", "CE", O, t "0002"),
fld!(17, "Religion", "CE", O, t "0006"),
fld!(18, "Patient Account Number", "CX", O),
fld!(19, "SSN Number", "ST", B),
fld!(20, "Driver's License Number", "DLN", B),
fld!(21, "Mother's Identifier", "CX", O, rep),
fld!(22, "Ethnic Group", "CE", O, t "0189", rep),
fld!(23, "Birth Place", "ST", O),
fld!(24, "Multiple Birth Indicator", "ID", O, t "0136"),
fld!(25, "Birth Order", "NM", O),
fld!(26, "Citizenship", "CE", O, rep),
fld!(27, "Veterans Military Status", "CE", O),
fld!(28, "Nationality", "CE", B),
fld!(29, "Patient Death Date/Time", "DTM", O),
fld!(30, "Patient Death Indicator", "ID", O, t "0136"),
fld!(31, "Identity Unknown Indicator", "ID", O, t "0136"),
fld!(32, "Identity Reliability Code", "IS", O, t "0445", rep),
fld!(33, "Last Update Date/Time", "DTM", O),
fld!(34, "Last Update Facility", "HD", O),
fld!(35, "Species Code", "CE", O),
fld!(36, "Breed Code", "CE", O),
fld!(37, "Strain", "ST", O),
fld!(38, "Production Class Code", "CE", O, t "0429", rep),
fld!(39, "Tribal Citizenship", "CWE", O, rep),
];
const PD1: &[FieldSpec] = &[
fld!(1, "Living Dependency", "IS", O, t "0223", rep),
fld!(2, "Living Arrangement", "IS", O, t "0220"),
fld!(3, "Patient Primary Facility", "XON", O, rep),
fld!(4, "Patient Primary Care Provider", "XCN", B, rep),
fld!(5, "Student Indicator", "IS", O, t "0231"),
fld!(6, "Organ Donor Code", "IS", O),
fld!(7, "Living Will Code", "IS", O, t "0315"),
fld!(8, "Organ Donor Code", "IS", O, t "0316"),
fld!(9, "Separate Bill", "ID", O, t "0136"),
fld!(10, "Duplicate Patient", "CX", O, rep),
fld!(11, "Publicity Code", "CE", O, t "0215"),
fld!(12, "Protection Indicator", "ID", O, t "0136"),
fld!(13, "Protection Indicator Effective Date", "DT", O),
fld!(14, "Place of Worship", "XON", O, rep),
fld!(15, "Advance Directive Code", "CE", O, t "0435", rep),
fld!(16, "Immunization Registry Status", "IS", O, t "0441"),
fld!(17, "Immunization Registry Status Effective Date", "DT", O),
fld!(18, "Publicity Code Effective Date", "DT", O),
fld!(19, "Military Branch", "IS", O, t "0140"),
fld!(20, "Military Rank/Grade", "IS", O, t "0141"),
fld!(21, "Military Status", "IS", O, t "0142"),
];
const NK1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Name", "XPN", RE, rep),
fld!(3, "Relationship", "CE", RE, t "0063"),
fld!(4, "Address", "XAD", O, rep),
fld!(5, "Phone Number", "XTN", O, rep),
fld!(6, "Business Phone Number", "XTN", O, rep),
fld!(7, "Contact Role", "CE", O, t "0131"),
fld!(8, "Start Date", "DT", O),
fld!(9, "End Date", "DT", O),
fld!(10, "Next of Kin / Associated Parties Job Title", "ST", O),
fld!(
11,
"Next of Kin / Associated Parties Job Code/Class",
"JCC",
O
),
fld!(
12,
"Next of Kin / Associated Parties Employee Number",
"CX",
O
),
fld!(13, "Organization Name", "XON", O, rep),
fld!(14, "Marital Status", "CE", O, t "0002"),
fld!(15, "Administrative Sex", "IS", O, t "0001"),
fld!(16, "Date/Time of Birth", "TS", O),
fld!(17, "Living Dependency", "IS", O, t "0223", rep),
fld!(18, "Ambulatory Status", "IS", O, t "0009", rep),
fld!(19, "Citizenship", "CE", O, t "0171", rep),
fld!(20, "Primary Language", "CE", O, t "0296"),
fld!(21, "Living Arrangement", "IS", O, t "0220"),
fld!(22, "Publicity Code", "CE", O, t "0215"),
fld!(23, "Protection Indicator", "ID", O, t "0136"),
fld!(24, "Student Indicator", "IS", O, t "0231"),
fld!(25, "Religion", "CE", O, t "0006"),
fld!(26, "Mother's Maiden Name", "XPN", O, rep),
fld!(27, "Nationality", "CE", O, t "0212"),
fld!(28, "Ethnic Group", "CE", O, t "0189", rep),
fld!(29, "Contact Reason", "CE", O, t "0222", rep),
fld!(30, "Contact Person's Name", "XPN", O, rep),
fld!(31, "Contact Person's Telephone Number", "XTN", O, rep),
fld!(32, "Contact Person's Address", "XAD", O, rep),
fld!(
33,
"Next of Kin/Associated Party's Identifiers",
"CX",
O,
rep
),
fld!(34, "Job Status", "IS", O, t "0311"),
fld!(35, "Race", "CE", O, t "0005", rep),
fld!(36, "Handicap", "IS", O, t "0295"),
fld!(37, "Contact Person Social Security Number", "ST", O),
fld!(38, "Next of Kin Birth Place", "ST", O),
fld!(39, "VIP Indicator", "IS", O, t "0099"),
];
const PV1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Patient Class", "IS", R, t "0004"),
fld!(3, "Assigned Patient Location", "PL", RE),
fld!(4, "Admission Type", "IS", O, t "0007"),
fld!(5, "Preadmit Number", "CX", O),
fld!(6, "Prior Patient Location", "PL", O),
fld!(7, "Attending Doctor", "XCN", RE, rep),
fld!(8, "Referring Doctor", "XCN", O, rep),
fld!(9, "Consulting Doctor", "XCN", B, rep),
fld!(10, "Hospital Service", "IS", O, t "0069"),
fld!(11, "Temporary Location", "PL", O),
fld!(12, "Preadmit Test Indicator", "IS", O),
fld!(13, "Readmission Indicator", "IS", O, t "0092"),
fld!(14, "Admit Source", "IS", O),
fld!(15, "Ambulatory Status", "IS", O, t "0009", rep),
fld!(16, "VIP Indicator", "IS", O),
fld!(17, "Admitting Doctor", "XCN", O, rep),
fld!(18, "Patient Type", "IS", O),
fld!(19, "Visit Number", "CX", RE),
fld!(20, "Financial Class", "FC", O, rep),
fld!(21, "Charge Price Indicator", "IS", O),
fld!(22, "Courtesy Code", "IS", O, t "0045"),
fld!(23, "Credit Rating", "IS", O, t "0046"),
fld!(24, "Contract Code", "IS", O, t "0044", rep),
fld!(25, "Contract Effective Date", "DT", O, rep),
fld!(26, "Contract Amount", "NM", O, rep),
fld!(27, "Contract Period", "NM", O, rep),
fld!(28, "Interest Code", "IS", O, t "0073"),
fld!(29, "Transfer to Bad Debt Code", "IS", O, t "0110"),
fld!(30, "Transfer to Bad Debt Date", "DT", O),
fld!(31, "Bad Debt Agency Code", "IS", O, t "0021"),
fld!(32, "Bad Debt Transfer Amount", "NM", O),
fld!(33, "Bad Debt Recovery Amount", "NM", O),
fld!(34, "Delete Account Indicator", "IS", O, t "0111"),
fld!(35, "Delete Account Date", "DT", O),
fld!(36, "Discharge Disposition", "IS", O, t "0112"),
fld!(37, "Discharged to Location", "DLD", O),
fld!(38, "Diet Type", "CE", O),
fld!(39, "Servicing Facility", "IS", O),
fld!(40, "Bed Status", "IS", B, t "0116"),
fld!(41, "Account Status", "IS", O),
fld!(42, "Pending Location", "PL", O),
fld!(43, "Prior Temporary Location", "PL", O),
fld!(44, "Admit Date/Time", "DTM", RE),
fld!(45, "Discharge Date/Time", "DTM", O, rep),
fld!(46, "Current Patient Balance", "NM", O),
fld!(47, "Total Charges", "NM", O),
fld!(48, "Total Adjustments", "NM", O),
fld!(49, "Total Payments", "NM", O),
fld!(50, "Alternate Visit ID", "CX", O, t "0203"),
fld!(51, "Visit Indicator", "IS", O, t "0326"),
fld!(52, "Other Healthcare Provider", "XCN", B, t "0010", rep),
];
const PV2: &[FieldSpec] = &[
fld!(1, "Prior Pending Location", "PL", O),
fld!(2, "Accommodation Code", "CE", O, t "0129"),
fld!(3, "Admit Reason", "CE", O),
fld!(4, "Transfer Reason", "CE", O),
fld!(5, "Patient Valuables", "ST", O, rep),
fld!(6, "Patient Valuables Location", "ST", O),
fld!(7, "Visit User Code", "IS", O, t "0130", rep),
fld!(8, "Expected Admit Date/Time", "DTM", O),
fld!(9, "Expected Discharge Date/Time", "DTM", O),
fld!(10, "Estimated Length of Inpatient Stay", "NM", O),
fld!(11, "Actual Length of Inpatient Stay", "NM", O),
fld!(12, "Visit Description", "ST", O),
fld!(13, "Referral Source Code", "XCN", O, rep),
fld!(14, "Previous Service Date", "DT", O),
fld!(15, "Employment Illness Related Indicator", "ID", O, t "0136"),
fld!(16, "Purge Status Code", "IS", O, t "0213"),
fld!(17, "Purge Status Date", "DT", O),
fld!(18, "Special Program Code", "IS", O, t "0214"),
fld!(19, "Retention Indicator", "ID", O, t "0136"),
fld!(20, "Expected Number of Insurance Plans", "NM", O),
fld!(21, "Visit Publicity Code", "IS", O, t "0215"),
fld!(22, "Visit Protection Indicator", "ID", O, t "0136"),
fld!(23, "Clinic Organization Name", "XON", O, rep),
fld!(24, "Patient Status Code", "IS", O, t "0216"),
fld!(25, "Visit Priority Code", "IS", O, t "0217"),
fld!(26, "Previous Treatment Date", "DT", O),
fld!(27, "Expected Discharge Disposition", "IS", O, t "0112"),
fld!(28, "Signature on File Date", "DT", O),
fld!(29, "First Similar Illness Date", "DT", O),
fld!(30, "Patient Charge Adjustment Code", "CE", O, t "0218"),
fld!(31, "Recurring Service Code", "IS", O, t "0219"),
fld!(32, "Billing Media Code", "ID", O, t "0136"),
fld!(33, "Expected Surgery Date and Time", "TS", O),
fld!(34, "Military Partnership Code", "ID", O, t "0136"),
fld!(35, "Military Non-Availability Code", "ID", O, t "0136"),
fld!(36, "Newborn Baby Indicator", "ID", O, t "0136"),
fld!(37, "Baby Detained Indicator", "ID", O, t "0136"),
fld!(38, "Mode of Arrival Code", "CE", O, t "0430"),
fld!(39, "Recreational Drug Use Code", "CE", O, t "0431", rep),
fld!(40, "Admission Level of Care Code", "CE", O, t "0432"),
fld!(41, "Precaution Code", "CE", O, t "0433", rep),
fld!(42, "Patient Condition Code", "CE", O, t "0434"),
fld!(43, "Living Will Code", "IS", O, t "0315"),
fld!(44, "Organ Donor Code", "IS", O, t "0316"),
fld!(45, "Advance Directive Code", "CE", O, t "0435", rep),
fld!(46, "Patient Status Effective Date", "DT", O),
fld!(47, "Expected LOA Return Date/Time", "TS", O),
fld!(48, "Expected Pre-admission Testing Date/Time", "TS", O),
fld!(49, "Notify Clergy Code", "IS", O, t "0534", rep),
];
const AL1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Allergen Type Code", "CE", O, t "0127"),
fld!(3, "Allergen Code/Mnemonic", "CE", R),
fld!(4, "Allergy Severity Code", "CE", O, t "0128"),
fld!(5, "Allergy Reaction Code", "ST", O, rep),
fld!(6, "Identification Date", "DT", B),
];
const DG1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Diagnosis Coding Method", "ID", B),
fld!(3, "Diagnosis Code", "CE", RE),
fld!(4, "Diagnosis Description", "ST", B),
fld!(5, "Diagnosis Date/Time", "DTM", O),
fld!(6, "Diagnosis Type", "IS", R, t "0052"),
fld!(7, "Major Diagnostic Category", "CE", B, t "0118"),
fld!(8, "Diagnostic Related Group", "CE", B, t "0055"),
fld!(9, "DRG Approval Indicator", "ID", B, t "0136"),
fld!(10, "DRG Grouper Review Code", "IS", B, t "0056"),
fld!(11, "Outlier Type", "CE", B, t "0083"),
fld!(12, "Outlier Days", "NM", B),
fld!(13, "Outlier Cost", "CP", B),
fld!(14, "Grouper Version And Type", "ST", B),
fld!(15, "Diagnosis Priority", "ID", O, t "0359"),
fld!(16, "Diagnosing Clinician", "XCN", O, rep),
fld!(17, "Diagnosis Classification", "IS", O, t "0228"),
fld!(18, "Confidential Indicator", "ID", O, t "0136"),
fld!(19, "Attestation Date/Time", "DTM", O),
fld!(20, "Diagnosis Identifier", "EI", O),
fld!(21, "Diagnosis Action Code", "ID", O, t "0206"),
];
const PR1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Procedure Coding Method", "IS", B),
fld!(3, "Procedure Code", "CE", R),
fld!(4, "Procedure Description", "ST", B),
fld!(5, "Procedure Date/Time", "DTM", R),
fld!(6, "Procedure Functional Type", "IS", O, t "0230"),
fld!(7, "Procedure Minutes", "NM", O),
fld!(8, "Anesthesiologist", "XCN", B, t "0010", rep),
fld!(9, "Anesthesia Code", "IS", O, t "0019"),
fld!(10, "Anesthesia Minutes", "NM", O),
fld!(11, "Surgeon", "XCN", B, t "0010", rep),
fld!(12, "Procedure Practitioner", "XCN", B, t "0010", rep),
fld!(13, "Consent Code", "CE", O, t "0059"),
fld!(14, "Procedure Priority", "ID", O, t "0418"),
fld!(15, "Associated Diagnosis Code", "CE", O, t "0051"),
fld!(16, "Procedure Code Modifier", "CE", O, t "0340", rep),
fld!(17, "Procedure DRG Type", "IS", O, t "0416"),
fld!(18, "Tissue Type Code", "CE", O, t "0417", rep),
fld!(19, "Procedure Identifier", "EI", O),
fld!(20, "Procedure Action Code", "ID", O, t "0206"),
];
const GT1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Guarantor Number", "CX", O, rep),
fld!(3, "Guarantor Name", "XPN", R, rep),
fld!(4, "Guarantor Spouse Name", "XPN", O, rep),
fld!(5, "Guarantor Address", "XAD", O, rep),
fld!(6, "Guarantor Phone Number - Home", "XTN", O, rep),
fld!(7, "Guarantor Ph Num - Business", "XTN", O, rep),
fld!(8, "Guarantor Date/Time Of Birth", "TS", O),
fld!(9, "Guarantor Administrative Sex", "IS", O, t "0001"),
fld!(10, "Guarantor Type", "IS", O, t "0068"),
fld!(11, "Guarantor Relationship", "CE", O, t "0063"),
fld!(12, "Guarantor SSN", "ST", O),
fld!(13, "Guarantor Date - Begin", "DT", O),
fld!(14, "Guarantor Date - End", "DT", O),
fld!(15, "Guarantor Priority", "NM", O),
fld!(16, "Guarantor Employer Name", "XPN", O, rep),
fld!(17, "Guarantor Employer Address", "XAD", O, rep),
fld!(18, "Guarantor Employer Phone Number", "XTN", O, rep),
fld!(19, "Guarantor Employee ID Number", "CX", O, rep),
fld!(20, "Guarantor Employment Status", "IS", O, t "0066"),
fld!(21, "Guarantor Organization Name", "XON", O, rep),
fld!(22, "Guarantor Billing Hold Flag", "ID", O, t "0136"),
fld!(23, "Guarantor Credit Rating Code", "CE", O, t "0341"),
fld!(24, "Guarantor Death Date And Time", "TS", O),
fld!(25, "Guarantor Death Flag", "ID", O, t "0136"),
fld!(26, "Guarantor Charge Adjustment Code", "CE", O, t "0218"),
fld!(27, "Guarantor Household Annual Income", "CP", O),
fld!(28, "Guarantor Household Size", "NM", O),
fld!(29, "Guarantor Employer ID Number", "CX", O, rep),
fld!(30, "Guarantor Marital Status Code", "CE", O, t "0002"),
fld!(31, "Guarantor Hire Effective Date", "DT", O),
fld!(32, "Employment Stop Date", "DT", O),
fld!(33, "Living Dependency", "IS", O, t "0223"),
fld!(34, "Ambulatory Status", "IS", O, t "0009", rep),
fld!(35, "Citizenship", "CE", O, t "0171", rep),
fld!(36, "Primary Language", "CE", O, t "0296"),
fld!(37, "Living Arrangement", "IS", O, t "0220"),
fld!(38, "Publicity Code", "CE", O, t "0215"),
fld!(39, "Protection Indicator", "ID", O, t "0136"),
fld!(40, "Student Indicator", "IS", O, t "0231"),
fld!(41, "Religion", "CE", O, t "0006"),
fld!(42, "Mother's Maiden Name", "XPN", O, rep),
fld!(43, "Nationality", "CE", O, t "0212"),
fld!(44, "Ethnic Group", "CE", O, t "0189", rep),
fld!(45, "Contact Person's Name", "XPN", O, rep),
fld!(46, "Contact Person's Telephone Number", "XTN", O, rep),
fld!(47, "Contact Reason", "CE", O, t "0222"),
fld!(48, "Contact Relationship", "IS", O, t "0063"),
fld!(49, "Job Title", "ST", O),
fld!(50, "Job Code/Class", "JCC", O),
fld!(51, "Guarantor Employer's Organization Name", "XON", O, rep),
fld!(52, "Handicap", "IS", O, t "0295"),
fld!(53, "Job Status", "IS", O, t "0311"),
fld!(54, "Guarantor Financial Class", "FC", O),
fld!(55, "Guarantor Race", "CE", O, t "0005", rep),
fld!(56, "Guarantor Birth Place", "ST", O),
fld!(57, "VIP Indicator", "IS", O, t "0099"),
];
const IN1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Insurance Plan ID", "CE", R),
fld!(3, "Insurance Company ID", "CX", R, rep),
fld!(4, "Insurance Company Name", "XON", RE, rep),
fld!(5, "Insurance Company Address", "XAD", O, rep),
fld!(6, "Insurance Co Contact Person", "XPN", O, rep),
fld!(7, "Insurance Co Phone Number", "XTN", O, rep),
fld!(8, "Group Number", "ST", O),
fld!(9, "Group Name", "XON", O, rep),
fld!(10, "Insured's Group Emp ID", "CX", O, rep),
fld!(11, "Insured's Group Emp Name", "XON", O, rep),
fld!(12, "Plan Effective Date", "DT", O),
fld!(13, "Plan Expiration Date", "DT", O),
fld!(14, "Authorization Information", "AUI", O),
fld!(15, "Plan Type", "IS", O, t "0086"),
fld!(16, "Name of Insured", "XPN", O, rep),
fld!(17, "Insured's Relationship to Patient", "CE", O, t "0063"),
fld!(18, "Insured's Date Of Birth", "TS", O),
fld!(19, "Insured's Address", "XAD", O, rep),
fld!(20, "Assignment Of Benefits", "IS", O, t "0135"),
fld!(21, "Coordination Of Benefits", "IS", O, t "0173"),
fld!(22, "Coord Of Ben. Priority", "ST", O),
fld!(23, "Notice Of Admission Flag", "ID", O, t "0136"),
fld!(24, "Notice Of Admission Date", "DT", O),
fld!(25, "Report Of Eligibility Flag", "ID", O, t "0136"),
fld!(26, "Report Of Eligibility Date", "DT", O),
fld!(27, "Release Information Code", "IS", O, t "0093"),
fld!(28, "Pre-Admit Cert (PAC)", "ST", O),
fld!(29, "Verification Date/Time", "TS", O),
fld!(30, "Verification By", "XCN", O, rep),
fld!(31, "Type Of Agreement Code", "IS", O, t "0098"),
fld!(32, "Billing Status", "IS", O, t "0022"),
fld!(33, "Lifetime Reserve Days", "NM", O),
fld!(34, "Delay Before L.R. Day", "NM", O),
fld!(35, "Company Plan Code", "IS", O, t "0042"),
fld!(36, "Policy Number", "ST", O),
fld!(37, "Policy Deductible", "CP", O),
fld!(38, "Policy Limit - Amount", "CP", B),
fld!(39, "Policy Limit - Days", "NM", O),
fld!(40, "Room Rate - Semi-Private", "CP", B),
fld!(41, "Room Rate - Private", "CP", B),
fld!(42, "Insured's Employment Status", "CE", O, t "0066"),
fld!(43, "Insured's Administrative Sex", "IS", O, t "0001"),
fld!(44, "Insured's Employer's Address", "XAD", O, rep),
fld!(45, "Verification Status", "ST", O),
fld!(46, "Prior Insurance Plan ID", "IS", O, t "0072"),
fld!(47, "Coverage Type", "IS", O, t "0309"),
fld!(48, "Handicap", "IS", O, t "0295"),
fld!(49, "Insured's ID Number", "CX", O, rep),
fld!(50, "Signature Code", "IS", O, t "0535"),
fld!(51, "Signature Code Date", "DT", O),
fld!(52, "Insured's Birth Place", "ST", O),
fld!(53, "VIP Indicator", "IS", O, t "0099"),
];
const ORC: &[FieldSpec] = &[
fld!(1, "Order Control", "ID", R, t "0119"),
fld!(2, "Placer Order Number", "EI", RE),
fld!(3, "Filler Order Number", "EI", RE),
fld!(4, "Placer Group Number", "EI", O),
fld!(5, "Order Status", "ID", O, t "0038"),
fld!(6, "Response Flag", "ID", O, t "0121"),
fld!(7, "Quantity/Timing", "TQ", B, rep),
fld!(8, "Parent", "EIP", O),
fld!(9, "Date/Time of Transaction", "DTM", O),
fld!(10, "Entered By", "XCN", O, rep),
fld!(11, "Verified By", "XCN", O, rep),
fld!(12, "Ordering Provider", "XCN", RE, rep),
fld!(13, "Enterer's Location", "PL", O),
fld!(14, "Call Back Phone Number", "XTN", O, rep),
fld!(15, "Order Effective Date/Time", "DTM", O),
fld!(16, "Order Control Code Reason", "CE", O),
fld!(17, "Entering Organization", "CE", O),
fld!(18, "Entering Device", "CE", O),
fld!(19, "Action By", "XCN", O, rep),
fld!(20, "Advanced Beneficiary Notice Code", "CE", O, t "0339"),
fld!(21, "Ordering Facility Name", "XON", O, rep),
fld!(22, "Ordering Facility Address", "XAD", O, rep),
fld!(23, "Ordering Facility Phone Number", "XTN", O, rep),
fld!(24, "Ordering Provider Address", "XAD", O, rep),
fld!(25, "Order Status Modifier", "CWE", O),
fld!(26, "Advanced Beneficiary Notice Override Reason", "CWE", O, t "0552"),
fld!(27, "Filler's Expected Availability Date/Time", "TS", O),
fld!(28, "Confidentiality Code", "CWE", O, t "0177"),
fld!(29, "Order Type", "CWE", O, t "0482"),
fld!(30, "Enterer Authorization Mode", "CNE", O, t "0483"),
fld!(31, "Parent Universal Service Identifier", "CWE", O),
];
const OBR: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Placer Order Number", "EI", RE),
fld!(3, "Filler Order Number", "EI", RE),
fld!(4, "Universal Service Identifier", "CE", R),
fld!(5, "Priority - OBR", "ID", B),
fld!(6, "Requested Date/Time", "DTM", B),
fld!(7, "Observation Date/Time", "DTM", RE),
fld!(8, "Observation End Date/Time", "DTM", O),
fld!(9, "Collection Volume *", "CQ", O),
fld!(10, "Collector Identifier *", "XCN", O, rep),
fld!(11, "Specimen Action Code", "ID", O, t "0065"),
fld!(12, "Danger Code", "CE", O),
fld!(13, "Relevant Clinical Information", "ST", O),
fld!(14, "Specimen Received Date/Time", "DTM", O),
fld!(15, "Specimen Source", "SPS", B),
fld!(16, "Ordering Provider", "XCN", RE, rep),
fld!(17, "Order Callback Phone Number", "XTN", O, rep),
fld!(18, "Placer Field 1", "ST", O),
fld!(19, "Placer Field 2", "ST", O),
fld!(20, "Filler Field 1", "ST", O),
fld!(21, "Filler Field 2 +", "ST", O),
fld!(22, "Results Rpt/Status Change Date/Time", "DTM", O),
fld!(23, "Charge to Practice +", "MOC", O),
fld!(24, "Diagnostic Service Section ID", "ID", O, t "0074"),
fld!(25, "Result Status", "ID", RE, t "0123"),
fld!(26, "Parent Result +", "PRL", O),
fld!(27, "Quantity/Timing", "TQ", B, rep),
fld!(28, "Result Copies To", "XCN", O, rep),
fld!(29, "Parent", "EIP", O),
fld!(30, "Transportation Mode", "ID", O, t "0124"),
fld!(31, "Reason for Study", "CE", O, rep),
fld!(32, "Principal Result Interpreter +", "NDL", O),
fld!(33, "Assistant Result Interpreter +", "NDL", O, rep),
fld!(34, "Technician +", "NDL", O, rep),
fld!(35, "Transcriptionist +", "NDL", O, rep),
fld!(36, "Scheduled Date/Time +", "TS", O),
fld!(37, "Number of Sample Containers *", "NM", O),
fld!(
38,
"Transport Logistics of Collected Sample *",
"CE",
O,
rep
),
fld!(39, "Collector's Comment *", "CE", O, rep),
fld!(40, "Transport Arrangement Responsibility", "CE", O),
fld!(41, "Transport Arranged", "ID", O, t "0224"),
fld!(42, "Escort Required", "ID", O, t "0225"),
fld!(43, "Planned Patient Transport Comment", "CE", O, rep),
fld!(44, "Procedure Code", "CE", O, t "0088"),
fld!(45, "Procedure Code Modifier", "CE", O, t "0340", rep),
fld!(46, "Placer Supplemental Service Information", "CE", O, t "0411", rep),
fld!(47, "Filler Supplemental Service Information", "CE", O, t "0411", rep),
fld!(48, "Medically Necessary Duplicate Procedure Reason.", "CWE", O, t "0476"),
fld!(49, "Result Handling", "IS", O, t "0507"),
fld!(50, "Parent Universal Service Identifier", "CWE", O),
];
const OBX: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Value Type", "ID", RE, t "0125"),
fld!(3, "Observation Identifier", "CE", R),
fld!(4, "Observation Sub-ID", "ST", O),
fld!(5, "Observation Value", "VARIES", RE, rep),
fld!(6, "Units", "CE", O),
fld!(7, "References Range", "ST", O),
fld!(8, "Abnormal Flags", "IS", O, t "0078", rep),
fld!(9, "Probability", "NM", O),
fld!(10, "Nature of Abnormal Test", "ID", O, t "0080", rep),
fld!(11, "Observation Result Status", "ID", R, t "0085"),
fld!(12, "Effective Date of Reference Range", "DTM", O),
fld!(13, "User Defined Access Checks", "ST", O),
fld!(14, "Date/Time of the Observation", "DTM", RE),
fld!(15, "Producer's ID", "CE", O),
fld!(16, "Responsible Observer", "XCN", O, rep),
fld!(17, "Observation Method", "CE", O, rep),
fld!(18, "Equipment Instance Identifier", "EI", O, rep),
fld!(19, "Date/Time of the Analysis", "DTM", O),
fld!(20, "Reserved for harmonization with V2.6", "", O),
fld!(21, "Reserved for harmonization with V2.6", "", O),
fld!(22, "Reserved for harmonization with V2.6", "", O),
fld!(23, "Performing Organization Name", "XON", O),
fld!(24, "Performing Organization Address", "XAD", O),
fld!(25, "Performing Organization Medical Director", "XCN", O),
];
const NTE: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Source of Comment", "ID", O, t "0105"),
fld!(3, "Comment", "FT", RE, rep),
fld!(4, "Comment Type", "CE", O, t "0364"),
];
const SCH: &[FieldSpec] = &[
fld!(1, "Placer Appointment ID", "EI", RE),
fld!(2, "Filler Appointment ID", "EI", RE),
fld!(3, "Occurrence Number", "NM", O),
fld!(4, "Placer Group Number", "EI", O),
fld!(5, "Schedule ID", "CE", O),
fld!(6, "Event Reason", "CE", R),
fld!(7, "Appointment Reason", "CE", O, t "0276"),
fld!(8, "Appointment Type", "CE", O, t "0277"),
fld!(9, "Appointment Duration", "NM", O),
fld!(10, "Appointment Duration Units", "CE", O),
fld!(11, "Appointment Timing Quantity", "TQ", B, rep),
fld!(12, "Placer Contact Person", "XCN", O, rep),
fld!(13, "Placer Contact Phone Number", "XTN", O),
fld!(14, "Placer Contact Address", "XAD", O, rep),
fld!(15, "Placer Contact Location", "PL", O),
fld!(16, "Filler Contact Person", "XCN", R, rep),
fld!(17, "Filler Contact Phone Number", "XTN", O),
fld!(18, "Filler Contact Address", "XAD", O, rep),
fld!(19, "Filler Contact Location", "PL", O),
fld!(20, "Entered By Person", "XCN", R, rep),
fld!(21, "Entered by Phone Number", "XTN", O, rep),
fld!(22, "Entered by Location", "PL", O),
fld!(23, "Parent Placer Appointment ID", "EI", O),
fld!(24, "Parent Filler Appointment ID", "EI", O),
fld!(25, "Filler Status Code", "CE", RE, t "0278"),
fld!(26, "Placer Order Number", "EI", O, rep),
fld!(27, "Filler Order Number", "EI", O, rep),
];
const RGS: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Segment Action Code", "ID", O),
fld!(3, "Resource Group ID", "CE", O),
];
const AIL: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Segment Action Code", "ID", O, t "0206"),
fld!(3, "Location Resource ID", "PL", RE, rep),
fld!(4, "Location Type", "CE", RE, t "0305"),
fld!(5, "Location Group", "CE", O),
fld!(6, "Start Date/Time", "DTM", O),
fld!(7, "Start Date/Time Offset", "NM", O),
fld!(8, "Start Date/Time Offset Units", "CE", O),
fld!(9, "Duration", "NM", O),
fld!(10, "Duration Units", "CE", O),
fld!(11, "Allow Substitution Code", "IS", O, t "0279"),
fld!(12, "Filler Status Code", "CE", O, t "0278"),
];
const AIS: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Segment Action Code", "ID", O, t "0206"),
fld!(3, "Universal Service Identifier", "CE", R),
fld!(4, "Start Date/Time", "DTM", O),
fld!(5, "Start Date/Time Offset", "NM", O),
fld!(6, "Start Date/Time Offset Units", "CE", O),
fld!(7, "Duration", "NM", O),
fld!(8, "Duration Units", "CE", O),
fld!(9, "Allow Substitution Code", "IS", O, t "0279"),
fld!(10, "Filler Status Code", "CE", O, t "0278"),
fld!(11, "Placer Supplemental Service Information", "CE", O, t "0411", rep),
fld!(12, "Filler Supplemental Service Information", "CE", O, t "0411", rep),
];
const AIP: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Segment Action code", "ID", O, t "0206"),
fld!(3, "Personnel Resource ID", "XCN", RE, rep),
fld!(4, "Resource Role", "CE", RE),
fld!(5, "Resource Group", "CE", O),
fld!(6, "Start Date/Time", "DTM", O),
fld!(7, "Start Date/Time Offset", "NM", O),
fld!(8, "Start Date/Time Offset Units", "CE", O),
fld!(9, "Duration", "NM", O),
fld!(10, "Duration Units", "CE", O),
fld!(11, "Allow Substitution Code", "IS", O, t "0279"),
fld!(12, "Filler Status Code", "CE", O, t "0278"),
];
const TXA: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Document Type", "IS", R, t "0270"),
fld!(3, "Document Content Presentation", "ID", O, t "0191"),
fld!(4, "Activity Date/Time", "DTM", O),
fld!(5, "Primary Activity Provider", "XCN", O, rep),
fld!(6, "Origination Date/Time", "TS", O),
fld!(7, "Transcription Date/Time", "TS", O),
fld!(8, "Edit Date/Time", "TS", O, rep),
fld!(9, "Originator Code/Name", "XCN", O, rep),
fld!(10, "Assigned Document Authenticator", "XCN", O, rep),
fld!(11, "Transcriptionist Code/Name", "XCN", O, rep),
fld!(12, "Unique Document Number", "EI", R),
fld!(13, "Parent Document Number", "EI", O),
fld!(14, "Placer Order Number", "EI", O, rep),
fld!(15, "Filler Order Number", "EI", O),
fld!(16, "Unique Document File Name", "ST", O),
fld!(17, "Document Completion Status", "ID", R, t "0271"),
fld!(18, "Document Confidentiality Status", "ID", O, t "0272"),
fld!(19, "Document Availability Status", "ID", O, t "0273"),
fld!(20, "Document Storage Status", "ID", O, t "0275"),
fld!(21, "Document Change Reason", "ST", O),
fld!(22, "Authentication Person, Time Stamp", "PPN", O, rep),
fld!(
23,
"Distributed Copies (Code and Name of Recipients)",
"XCN",
O,
rep
),
];
const RXA: &[FieldSpec] = &[
fld!(1, "Give Sub-ID Counter", "NM", R),
fld!(2, "Administration Sub-ID Counter", "NM", R),
fld!(3, "Date/Time Start of Administration", "DTM", R),
fld!(4, "Date/Time End of Administration", "TS", R),
fld!(5, "Administered Code", "CE", R),
fld!(6, "Administered Amount", "NM", R),
fld!(7, "Administered Units", "CE", O),
fld!(8, "Administered Dosage Form", "CE", O),
fld!(9, "Administration Notes", "CE", O, rep),
fld!(10, "Administering Provider", "XCN", O, rep),
fld!(11, "Administered-at Location", "LA2", O),
fld!(12, "Administered Per (Time Unit)", "ST", O),
fld!(13, "Administered Strength", "NM", O),
fld!(14, "Administered Strength Units", "CE", O),
fld!(15, "Substance Lot Number", "ST", O, rep),
fld!(16, "Substance Expiration Date", "TS", O, rep),
fld!(17, "Substance Manufacturer Name", "CE", O, t "0227", rep),
fld!(18, "Substance/Treatment Refusal Reason", "CE", O, rep),
fld!(19, "Indication", "CE", O, rep),
fld!(20, "Completion Status", "ID", O, t "0322"),
fld!(21, "Action Code", "ID", O, t "0323"),
fld!(22, "System Entry Date/Time", "TS", O),
fld!(23, "Administered Drug Strength Volume", "NM", O),
fld!(24, "Administered Drug Strength Volume Units", "CWE", O),
fld!(25, "Administered Barcode Identifier", "CWE", O),
fld!(26, "Pharmacy Order Type", "ID", O, t "0480"),
];
const FT1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Transaction ID", "ST", O),
fld!(3, "Transaction Batch ID", "ST", O),
fld!(4, "Transaction Date", "DR", R),
fld!(5, "Transaction Posting Date", "TS", O),
fld!(6, "Transaction Type", "IS", R, t "0017"),
fld!(7, "Transaction Code", "CE", R),
fld!(8, "Transaction Description", "ST", B),
fld!(9, "Transaction Description - Alt", "ST", B),
fld!(10, "Transaction Quantity", "NM", O),
fld!(11, "Transaction Amount - Extended", "CP", O),
fld!(12, "Transaction Amount - Unit", "CP", O),
fld!(13, "Department Code", "CE", O, t "0049"),
fld!(14, "Insurance Plan ID", "CE", O, t "0072"),
fld!(15, "Insurance Amount", "CP", O),
fld!(16, "Assigned Patient Location", "PL", O),
fld!(17, "Fee Schedule", "IS", O, t "0024"),
fld!(18, "Patient Type", "IS", O, t "0018"),
fld!(19, "Diagnosis Code - FT1", "CE", O, t "0051", rep),
fld!(20, "Performed By Code", "XCN", O, t "0084", rep),
fld!(21, "Ordered By Code", "XCN", O, rep),
fld!(22, "Unit Cost", "CP", O),
fld!(23, "Filler Order Number", "EI", O),
fld!(24, "Entered By Code", "XCN", O, rep),
fld!(25, "Procedure Code", "CE", O, t "0088"),
fld!(26, "Procedure Code Modifier", "CE", O, t "0340", rep),
fld!(27, "Advanced Beneficiary Notice Code", "CE", O, t "0339"),
fld!(28, "Medically Necessary Duplicate Procedure Reason.", "CWE", O, t "0476"),
fld!(29, "NDC Code", "CNE", O, t "0549"),
fld!(30, "Payment Reference ID", "CX", O),
fld!(31, "Transaction Reference Key", "SI", O, rep),
];
const IAM: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Allergen Type Code", "CE", O, t "0127"),
fld!(3, "Allergen Code/Mnemonic", "CE", R),
fld!(4, "Allergy Severity Code", "CE", O, t "0128"),
fld!(5, "Allergy Reaction Code", "ST", O),
fld!(6, "Allergy Action Code", "CNE", R, t "0323"),
fld!(7, "Allergy Unique Identifier", "EI", O),
fld!(8, "Action Reason", "ST", O),
fld!(9, "Sensitivity to Causative Agent Code", "CE", O, t "0436"),
fld!(10, "Allergen Group Code/Mnemonic/Description", "CE", O),
fld!(11, "Onset Date", "DT", O),
fld!(12, "Onset Date Text", "ST", O),
fld!(13, "Reported Date/Time", "TS", O),
fld!(14, "Reported By", "XPN", O),
fld!(15, "Relationship to Patient Code", "CE", O, t "0063"),
fld!(16, "Alert Device Code", "CE", O, t "0437"),
fld!(17, "Allergy Clinical Status Code", "CE", O, t "0438"),
fld!(18, "Statused by Person", "XCN", O),
fld!(19, "Statused by Organization", "XON", O),
fld!(20, "Statused at Date/Time", "TS", O),
];
const QRD: &[FieldSpec] = &[
fld!(1, "Query Date/Time", "DTM", R),
fld!(2, "Query Format Code", "ID", R, t "0106"),
fld!(3, "Query Priority", "ID", R, t "0091"),
fld!(4, "Query ID", "ST", R),
fld!(5, "Deferred Response Type", "ID", O, t "0107"),
fld!(6, "Deferred Response Date/Time", "TS", O),
fld!(7, "Quantity Limited Request", "CQ", R),
fld!(8, "Who Subject Filter", "XCN", R, rep),
fld!(9, "What Subject Filter", "CE", R, rep),
fld!(10, "What Department Data Code", "CE", R, rep),
fld!(11, "What Data Code Value Qual.", "VR", O, rep),
fld!(12, "Query Results Level", "ID", O, t "0108"),
];
const ACC: &[FieldSpec] = &[
fld!(1, "Accident Date/Time", "TS", O),
fld!(2, "Accident Code", "CE", O),
fld!(3, "Accident Location", "ST", O),
fld!(4, "Auto Accident State", "CE", B),
fld!(5, "Accident Job Related Indicator", "ID", O, t "0136"),
fld!(6, "Accident Death Indicator", "ID", O, t "0136"),
fld!(7, "Entered By", "XCN", O),
fld!(8, "Accident Description", "ST", O),
fld!(9, "Brought In By", "ST", O),
fld!(10, "Police Notified Indicator", "ID", O, t "0136"),
fld!(11, "Accident Address", "XAD", O),
];
const AIG: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Segment Action Code", "ID", O, t "0206"),
fld!(3, "Resource ID", "CE", O),
fld!(4, "Resource Type", "CE", R),
fld!(5, "Resource Group", "CE", O, rep),
fld!(6, "Resource Quantity", "NM", O),
fld!(7, "Resource Quantity Units", "CE", O),
fld!(8, "Start Date/Time", "TS", O),
fld!(9, "Start Date/Time Offset", "NM", O),
fld!(10, "Start Date/Time Offset Units", "CE", O),
fld!(11, "Duration", "NM", O),
fld!(12, "Duration Units", "CE", O),
fld!(13, "Allow Substitution Code", "IS", O),
fld!(14, "Filler Status Code", "CE", O, t "0278"),
];
const BLG: &[FieldSpec] = &[
fld!(1, "When to Charge", "CCD", O),
fld!(2, "Charge Type", "ID", O),
fld!(3, "Account ID", "CX", O),
fld!(4, "Charge Type Reason", "CWE", O),
];
const CTD: &[FieldSpec] = &[
fld!(1, "Contact Role", "CE", R, rep),
fld!(2, "Contact Name", "XPN", O, rep),
fld!(3, "Contact Address", "XAD", O, rep),
fld!(4, "Contact Location", "PL", O),
fld!(5, "Contact Communication Information", "XTN", O, rep),
fld!(6, "Preferred Method of Contact", "CE", O),
fld!(7, "Contact Identifiers", "PLN", O, rep),
];
const CTI: &[FieldSpec] = &[
fld!(1, "Sponsor Study ID", "EI", R),
fld!(2, "Study Phase Identifier", "CE", O),
fld!(3, "Study Scheduled Time Point", "CE", O),
];
const DB1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Disabled Person Code", "IS", O),
fld!(3, "Disabled Person Identifier", "CX", O, rep),
fld!(4, "Disabled Indicator", "ID", O, t "0136"),
fld!(5, "Disability Start Date", "DT", O),
fld!(6, "Disability End Date", "DT", O),
fld!(7, "Disability Return to Work Date", "DT", O),
fld!(8, "Disability Unable to Work Date", "DT", O),
];
const DRG: &[FieldSpec] = &[
fld!(1, "Diagnostic Related Group", "CE", O),
fld!(2, "DRG Assigned Date/Time", "TS", O),
fld!(3, "DRG Approval Indicator", "ID", O, t "0136"),
fld!(4, "DRG Grouper Review Code", "IS", O),
fld!(5, "Outlier Type", "CE", O),
fld!(6, "Outlier Days", "NM", O),
fld!(7, "Outlier Cost", "CP", O),
fld!(8, "DRG Payor", "IS", O),
fld!(9, "Outlier Reimbursement", "CP", O),
fld!(10, "Confidential Indicator", "ID", O, t "0136"),
fld!(11, "DRG Transfer Type", "IS", O),
];
const DSC: &[FieldSpec] = &[
fld!(1, "Continuation Pointer", "ST", O),
fld!(2, "Continuation Style", "ID", O),
];
const IN2: &[FieldSpec] = &[
fld!(1, "Insured's Employee ID", "CX", O, rep),
fld!(2, "Insured's Social Security Number", "ST", O),
fld!(3, "Insured's Employer's Name and ID", "XCN", O, rep),
fld!(4, "Employer Information Data", "IS", O),
fld!(5, "Mail Claim Party", "IS", O, rep),
fld!(6, "Medicare Health Ins Card Number", "ST", O),
fld!(7, "Medicaid Case Name", "XPN", O, rep),
fld!(8, "Medicaid Case Number", "ST", O),
fld!(9, "Military Sponsor Name", "XPN", O, rep),
fld!(10, "Military ID Number", "ST", O),
fld!(11, "Dependent Of Military Recipient", "CE", O),
fld!(12, "Military Organization", "ST", O),
fld!(13, "Military Station", "ST", O),
fld!(14, "Military Service", "IS", O),
fld!(15, "Military Rank/Grade", "IS", O),
fld!(16, "Military Status", "IS", O),
fld!(17, "Military Retire Date", "DT", O),
fld!(18, "Military Non-Avail Cert On File", "ID", O, t "0136"),
fld!(19, "Baby Coverage", "ID", O, t "0136"),
fld!(20, "Combine Baby Bill", "ID", O, t "0136"),
fld!(21, "Blood Deductible", "ST", O),
fld!(22, "Special Coverage Approval Name", "XPN", O, rep),
fld!(23, "Special Coverage Approval Title", "ST", O),
fld!(24, "Non-Covered Insurance Code", "IS", O, rep),
fld!(25, "Payor ID", "CX", O, rep),
fld!(26, "Payor Subscriber ID", "CX", O, rep),
fld!(27, "Eligibility Source", "IS", O),
fld!(28, "Room Coverage Type/Amount", "RMC", O, rep),
fld!(29, "Policy Type/Amount", "PTA", O, rep),
fld!(30, "Daily Deductible", "DDI", O),
fld!(31, "Living Dependency", "IS", O, t "0223"),
fld!(32, "Ambulatory Status", "IS", O, t "0009", rep),
fld!(33, "Citizenship", "CE", O, rep),
fld!(34, "Primary Language", "CE", O),
fld!(35, "Living Arrangement", "IS", O, t "0220"),
fld!(36, "Publicity Code", "CE", O, t "0215"),
fld!(37, "Protection Indicator", "ID", O, t "0136"),
fld!(38, "Student Indicator", "IS", O),
fld!(39, "Religion", "CE", O, t "0006"),
fld!(40, "Mother's Maiden Name", "XPN", O, rep),
fld!(41, "Nationality", "CE", O),
fld!(42, "Ethnic Group", "CE", O, t "0189", rep),
fld!(43, "Marital Status", "CE", O, t "0002", rep),
fld!(44, "Insured's Employment Start Date", "DT", O),
fld!(45, "Employment Stop Date", "DT", O),
fld!(46, "Job Title", "ST", O),
fld!(47, "Job Code/Class", "JCC", O),
fld!(48, "Job Status", "IS", O),
fld!(49, "Employer Contact Person Name", "XPN", O, rep),
fld!(50, "Employer Contact Person Phone Number", "XTN", O, rep),
fld!(51, "Employer Contact Reason", "IS", O),
fld!(52, "Insured's Contact Person's Name", "XPN", O, rep),
fld!(53, "Insured's Contact Person Phone Number", "XTN", O, rep),
fld!(54, "Insured's Contact Person Reason", "IS", O, rep),
fld!(55, "Relationship to the Patient Start Date", "DT", O),
fld!(56, "Relationship to the Patient Stop Date", "DT", O, rep),
fld!(57, "Insurance Co. Contact Reason", "IS", O),
fld!(58, "Insurance Co Contact Phone Number", "XTN", O),
fld!(59, "Policy Scope", "IS", O),
fld!(60, "Policy Source", "IS", O),
fld!(61, "Patient Member Number", "CX", O),
fld!(62, "Guarantor's Relationship to Insured", "CE", O, t "0063"),
fld!(63, "Insured's Phone Number - Home", "XTN", O, rep),
fld!(64, "Insured's Employer Phone Number", "XTN", O, rep),
fld!(65, "Military Handicapped Program", "CE", O),
fld!(66, "Suspend Flag", "ID", O, t "0136"),
fld!(67, "Copay Limit Flag", "ID", O, t "0136"),
fld!(68, "Stoploss Limit Flag", "ID", O, t "0136"),
fld!(69, "Insured Organization Name and ID", "XON", O, rep),
fld!(
70,
"Insured Employer Organization Name and ID",
"XON",
O,
rep
),
fld!(71, "Race", "CE", O, rep),
fld!(72, "CMS Patient's Relationship to Insured", "CE", O),
];
const IN3: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Certification Number", "CX", O),
fld!(3, "Certified By", "XCN", O, rep),
fld!(4, "Certification Required", "ID", O, t "0136"),
fld!(5, "Penalty", "MOP", O),
fld!(6, "Certification Date/Time", "TS", O),
fld!(7, "Certification Modify Date/Time", "TS", O),
fld!(8, "Operator", "XCN", O, rep),
fld!(9, "Certification Begin Date", "DT", O),
fld!(10, "Certification End Date", "DT", O),
fld!(11, "Days", "DTN", O),
fld!(12, "Non-Concur Code/Description", "CE", O),
fld!(13, "Non-Concur Effective Date/Time", "TS", O),
fld!(14, "Physician Reviewer", "XCN", O, rep),
fld!(15, "Certification Contact", "ST", O),
fld!(16, "Certification Contact Phone Number", "XTN", O, rep),
fld!(17, "Appeal Reason", "CE", O),
fld!(18, "Certification Agency", "CE", O),
fld!(19, "Certification Agency Phone Number", "XTN", O, rep),
fld!(20, "Pre-Certification Requirement", "ICD", O, rep),
fld!(21, "Case Manager", "ST", O),
fld!(22, "Second Opinion Date", "DT", O),
fld!(23, "Second Opinion Status", "IS", O),
fld!(24, "Second Opinion Documentation Received", "IS", O, rep),
fld!(25, "Second Opinion Physician", "XCN", O, rep),
];
const MRG: &[FieldSpec] = &[
fld!(1, "Prior Patient Identifier List", "CX", R, rep),
fld!(2, "Prior Alternate Patient ID", "CX", B, rep),
fld!(3, "Prior Patient Account Number", "CX", O),
fld!(4, "Prior Patient ID", "CX", B),
fld!(5, "Prior Visit Number", "CX", O),
fld!(6, "Prior Alternate Visit ID", "CX", O),
fld!(7, "Prior Patient Name", "XPN", O, rep),
];
const ODS: &[FieldSpec] = &[
fld!(1, "Type", "ID", R),
fld!(2, "Service Period", "CE", O, rep),
fld!(3, "Diet, Supplement, or Preference Code", "CE", R, rep),
fld!(4, "Text Instruction", "ST", O, rep),
];
const PDA: &[FieldSpec] = &[
fld!(1, "Death Cause Code", "CE", O, rep),
fld!(2, "Death Location", "PL", O),
fld!(3, "Death Certified Indicator", "ID", O, t "0136"),
fld!(4, "Death Certificate Signed Date/Time", "TS", O),
fld!(5, "Death Certified By", "XCN", O),
fld!(6, "Autopsy Indicator", "ID", O, t "0136"),
fld!(7, "Autopsy Start and End Date/Time", "DR", O),
fld!(8, "Autopsy Performed By", "XCN", O),
fld!(9, "Coroner Indicator", "ID", O, t "0136"),
];
const ROL: &[FieldSpec] = &[
fld!(1, "Role Instance ID", "EI", O),
fld!(2, "Action Code", "ID", R),
fld!(3, "Role", "CE", R),
fld!(4, "Role Person", "XCN", R, rep),
fld!(5, "Role Begin Date/Time", "TS", O),
fld!(6, "Role End Date/Time", "TS", O),
fld!(7, "Role Duration", "CE", O),
fld!(8, "Role Action Reason", "CE", O),
fld!(9, "Provider Type", "CE", O, rep),
fld!(10, "Organization Unit Type", "CE", O),
fld!(11, "Office/Home Address/Birthplace", "XAD", O, rep),
fld!(12, "Phone", "XTN", O, rep),
];
const RQD: &[FieldSpec] = &[
fld!(1, "Requisition Line Number", "SI", O),
fld!(2, "Item Code - Internal", "CE", O),
fld!(3, "Item Code - External", "CE", O),
fld!(4, "Hospital Item Code", "CE", O),
fld!(5, "Requisition Quantity", "NM", O),
fld!(6, "Requisition Unit of Measure", "CE", O),
fld!(7, "Dept. Cost Center", "IS", O),
fld!(8, "Item Natural Account Code", "IS", O),
fld!(9, "Deliver To ID", "CE", O),
fld!(10, "Date Needed", "DT", O),
];
const RXC: &[FieldSpec] = &[
fld!(1, "RX Component Type", "ID", R),
fld!(2, "Component Code", "CE", R),
fld!(3, "Component Amount", "NM", R),
fld!(4, "Component Units", "CE", R),
fld!(5, "Component Strength", "NM", O),
fld!(6, "Component Strength Units", "CE", O),
fld!(7, "Supplementary Code", "CE", O, rep),
fld!(8, "Component Drug Strength Volume", "NM", O),
fld!(9, "Component Drug Strength Volume Units", "CWE", O),
];
const RXE: &[FieldSpec] = &[
fld!(1, "Quantity/Timing", "TQ", B),
fld!(2, "Give Code", "CE", R),
fld!(3, "Give Amount - Minimum", "NM", R),
fld!(4, "Give Amount - Maximum", "NM", O),
fld!(5, "Give Units", "CE", R),
fld!(6, "Give Dosage Form", "CE", O),
fld!(7, "Provider's Administration Instructions", "CE", O, rep),
fld!(8, "Deliver-to Location", "LA1", B),
fld!(9, "Substitution Status", "ID", O),
fld!(10, "Dispense Amount", "NM", O),
fld!(11, "Dispense Units", "CE", O),
fld!(12, "Number of Refills", "NM", O),
fld!(13, "Ordering Provider's DEA Number", "XCN", O, rep),
fld!(
14,
"Pharmacist/Treatment Supplier's Verifier ID",
"XCN",
O,
rep
),
fld!(15, "Prescription Number", "ST", O),
fld!(16, "Number of Refills Remaining", "NM", O),
fld!(17, "Number of Refills/Doses Dispensed", "NM", O),
fld!(18, "D/T of Most Recent Refill or Dose Dispensed", "TS", O),
fld!(19, "Total Daily Dose", "CQ", O),
fld!(20, "Needs Human Review", "ID", O, t "0136"),
fld!(
21,
"Pharmacy/Treatment Supplier's Special Dispensing Instructions",
"CE",
O,
rep
),
fld!(22, "Give Per (Time Unit)", "ST", O),
fld!(23, "Give Rate Amount", "ST", O),
fld!(24, "Give Rate Units", "CE", O),
fld!(25, "Give Strength", "NM", O),
fld!(26, "Give Strength Units", "CE", O),
fld!(27, "Give Indication", "CE", O, rep),
fld!(28, "Dispense Package Size", "NM", O),
fld!(29, "Dispense Package Size Unit", "CE", O),
fld!(30, "Dispense Package Method", "ID", O),
fld!(31, "Supplementary Code", "CE", O, rep),
fld!(32, "Original Order Date/Time", "TS", O),
fld!(33, "Give Drug Strength Volume", "NM", O),
fld!(34, "Give Drug Strength Volume Units", "CWE", O),
fld!(35, "Controlled Substance Schedule", "CWE", O),
fld!(36, "Formulary Status", "ID", O),
fld!(37, "Pharmaceutical Substance Alternative", "CWE", O, rep),
fld!(38, "Pharmacy of Most Recent Fill", "CWE", O),
fld!(39, "Initial Dispense Amount", "NM", O),
fld!(40, "Dispensing Pharmacy", "CWE", O),
fld!(41, "Dispensing Pharmacy Address", "XAD", O),
fld!(42, "Deliver-to Patient Location", "PL", O),
fld!(43, "Deliver-to Address", "XAD", O),
fld!(44, "Pharmacy Order Type", "ID", O),
];
const RXO: &[FieldSpec] = &[
fld!(1, "Requested Give Code", "CE", O),
fld!(2, "Requested Give Amount - Minimum", "NM", O),
fld!(3, "Requested Give Amount - Maximum", "NM", O),
fld!(4, "Requested Give Units", "CE", O),
fld!(5, "Requested Dosage Form", "CE", O),
fld!(
6,
"Provider's Pharmacy/Treatment Instructions",
"CE",
O,
rep
),
fld!(7, "Provider's Administration Instructions", "CE", O, rep),
fld!(8, "Deliver-To Location", "LA1", O),
fld!(9, "Allow Substitutions", "ID", O),
fld!(10, "Requested Dispense Code", "CE", O),
fld!(11, "Requested Dispense Amount", "NM", O),
fld!(12, "Requested Dispense Units", "CE", O),
fld!(13, "Number Of Refills", "NM", O),
fld!(14, "Ordering Provider's DEA Number", "XCN", O, rep),
fld!(
15,
"Pharmacist/Treatment Supplier's Verifier ID",
"XCN",
O,
rep
),
fld!(16, "Needs Human Review", "ID", O, t "0136"),
fld!(17, "Requested Give Per (Time Unit)", "ST", O),
fld!(18, "Requested Give Strength", "NM", O),
fld!(19, "Requested Give Strength Units", "CE", O),
fld!(20, "Indication", "CE", O, rep),
fld!(21, "Requested Give Rate Amount", "ST", O),
fld!(22, "Requested Give Rate Units", "CE", O),
fld!(23, "Total Daily Dose", "CQ", O),
fld!(24, "Supplementary Code", "CE", O, rep),
fld!(25, "Requested Drug Strength Volume", "NM", O),
fld!(26, "Requested Drug Strength Volume Units", "CWE", O),
fld!(27, "Pharmacy Order Type", "ID", O),
fld!(28, "Dispensing Interval", "NM", O),
];
const RXR: &[FieldSpec] = &[
fld!(1, "Route", "CE", R),
fld!(2, "Administration Site", "CWE", O),
fld!(3, "Administration Device", "CE", O),
fld!(4, "Administration Method", "CWE", O),
fld!(5, "Routing Instruction", "CE", O),
fld!(6, "Administration Site Modifier", "CWE", O),
];
const SFT: &[FieldSpec] = &[
fld!(1, "Software Vendor Organization", "XON", R),
fld!(2, "Software Certified Version or Release Number", "ST", R),
fld!(3, "Software Product Name", "ST", R),
fld!(4, "Software Binary ID", "ST", R),
fld!(5, "Software Product Information", "TX", O),
fld!(6, "Software Install Date", "TS", O),
];
const SPM: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Specimen ID", "EIP", O),
fld!(3, "Specimen Parent IDs", "EIP", O, rep),
fld!(4, "Specimen Type", "CWE", R),
fld!(5, "Specimen Type Modifier", "CWE", O, rep),
fld!(6, "Specimen Additives", "CWE", O, rep),
fld!(7, "Specimen Collection Method", "CWE", O),
fld!(8, "Specimen Source Site", "CWE", O),
fld!(9, "Specimen Source Site Modifier", "CWE", O, rep),
fld!(10, "Specimen Collection Site", "CWE", O),
fld!(11, "Specimen Role", "CWE", O, rep),
fld!(12, "Specimen Collection Amount", "CQ", O),
fld!(13, "Grouped Specimen Count", "NM", O),
fld!(14, "Specimen Description", "ST", O, rep),
fld!(15, "Specimen Handling Code", "CWE", O, rep),
fld!(16, "Specimen Risk Code", "CWE", O, rep),
fld!(17, "Specimen Collection Date/Time", "DR", O),
fld!(18, "Specimen Received Date/Time", "TS", O),
fld!(19, "Specimen Expiration Date/Time", "TS", O),
fld!(20, "Specimen Availability", "ID", O, t "0136"),
fld!(21, "Specimen Reject Reason", "CWE", O, rep),
fld!(22, "Specimen Quality", "CWE", O),
fld!(23, "Specimen Appropriateness", "CWE", O),
fld!(24, "Specimen Condition", "CWE", O, rep),
fld!(25, "Specimen Current Quantity", "CQ", O),
fld!(26, "Number of Specimen Containers", "NM", O),
fld!(27, "Container Type", "CWE", O),
fld!(28, "Container Condition", "CWE", O),
fld!(29, "Specimen Child Role", "CWE", O),
];
const TQ1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Quantity", "CQ", O),
fld!(3, "Repeat Pattern", "RPT", O, rep),
fld!(4, "Explicit Time", "TM", O, rep),
fld!(5, "Relative Time and Units", "CQ", O, rep),
fld!(6, "Service Duration", "CQ", O),
fld!(7, "Start date/time", "TS", O),
fld!(8, "End date/time", "TS", O),
fld!(9, "Priority", "CWE", O, rep),
fld!(10, "Condition text", "TX", O),
fld!(11, "Text instruction", "TX", O),
fld!(12, "Conjunction", "ID", O),
fld!(13, "Occurrence duration", "CQ", O),
fld!(14, "Total occurrence's", "NM", O),
];
const TQ2: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Sequence/Results Flag", "ID", O),
fld!(3, "Related Placer Number", "EI", O, rep),
fld!(4, "Related Filler Number", "EI", O, rep),
fld!(5, "Related Placer Group Number", "EI", O, rep),
fld!(6, "Sequence Condition Code", "ID", O),
fld!(7, "Cyclic Entry/Exit Indicator", "ID", O),
fld!(8, "Sequence Condition Time Interval", "CQ", O),
fld!(9, "Cyclic Group Maximum Number of Repeats", "NM", O),
fld!(10, "Special Service Request Relationship", "ID", O),
];
const UB1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Blood Deductible (43)", "NM", B),
fld!(3, "Blood Furnished-Pints Of (40)", "NM", O),
fld!(4, "Blood Replaced-Pints (41)", "NM", O),
fld!(5, "Blood Not Replaced-Pints(42)", "NM", O),
fld!(6, "Co-Insurance Days (25)", "NM", O),
fld!(7, "Condition Code (35-39)", "IS", O, rep),
fld!(8, "Covered Days - (23)", "NM", O),
fld!(9, "Non Covered Days - (24)", "NM", O),
fld!(10, "Value Amount & Code (46-49)", "UVC", O, rep),
fld!(11, "Number Of Grace Days (90)", "NM", O),
fld!(12, "Special Program Indicator (44)", "CE", O),
fld!(13, "PSRO/UR Approval Indicator (87)", "CE", O),
fld!(14, "PSRO/UR Approved Stay-Fm (88)", "DT", O),
fld!(15, "PSRO/UR Approved Stay-To (89)", "DT", O),
fld!(16, "Occurrence (28-32)", "OCD", O, rep),
fld!(17, "Occurrence Span (33)", "CE", O),
fld!(18, "Occur Span Start Date(33)", "DT", O),
fld!(19, "Occur Span End Date (33)", "DT", O),
fld!(20, "UB-82 Locator 2", "ST", B),
fld!(21, "UB-82 Locator 9", "ST", B),
fld!(22, "UB-82 Locator 27", "ST", B),
fld!(23, "UB-82 Locator 45", "ST", B),
];
const UB2: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Co-Insurance Days (9)", "ST", O),
fld!(3, "Condition Code (24-30)", "IS", O, rep),
fld!(4, "Covered Days (7)", "ST", O),
fld!(5, "Non-Covered Days (8)", "ST", O),
fld!(6, "Value Amount & Code", "UVC", O, rep),
fld!(7, "Occurrence Code & Date (32-35)", "OCD", O, rep),
fld!(8, "Occurrence Span Code/Dates (36)", "OSP", O, rep),
fld!(9, "UB92 Locator 2 (State)", "ST", O, rep),
fld!(10, "UB92 Locator 11 (State)", "ST", O, rep),
fld!(11, "UB92 Locator 31 (National)", "ST", O),
fld!(12, "Document Control Number", "ST", O, rep),
fld!(13, "UB92 Locator 49 (National)", "ST", O, rep),
fld!(14, "UB92 Locator 56 (State)", "ST", O, rep),
fld!(15, "UB92 Locator 57 (National)", "ST", O),
fld!(16, "UB92 Locator 78 (State)", "ST", O, rep),
fld!(17, "Special Visit Count", "NM", O),
];
const ABS: &[FieldSpec] = &[
fld!(1, "Discharge Care Provider", "XCN", O),
fld!(2, "Transfer Medical Service Code", "CE", O),
fld!(3, "Severity of Illness Code", "CE", O),
fld!(4, "Date/Time of Attestation", "TS", O),
fld!(5, "Attested By", "XCN", O),
fld!(6, "Triage Code", "CE", O),
fld!(7, "Abstract Completion Date/Time", "TS", O),
fld!(8, "Abstracted By", "XCN", O),
fld!(9, "Case Category Code", "CE", O),
fld!(10, "Caesarian Section Indicator", "ID", O, t "0136"),
fld!(11, "Gestation Category Code", "CE", O),
fld!(12, "Gestation Period - Weeks", "NM", O),
fld!(13, "Newborn Code", "CE", O),
fld!(14, "Stillborn Indicator", "ID", O, t "0136"),
];
const AFF: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Professional Organization", "XON", R),
fld!(3, "Professional Organization Address", "XAD", O),
fld!(
4,
"Professional Organization Affiliation Date Range",
"DR",
O,
rep
),
fld!(
5,
"Professional Affiliation Additional Information",
"ST",
O
),
];
const APR: &[FieldSpec] = &[
fld!(1, "Time Selection Criteria", "SCV", O, rep),
fld!(2, "Resource Selection Criteria", "SCV", O, rep),
fld!(3, "Location Selection Criteria", "SCV", O, rep),
fld!(4, "Slot Spacing Criteria", "NM", O),
fld!(5, "Filler Override Criteria", "SCV", O, rep),
];
const ARQ: &[FieldSpec] = &[
fld!(1, "Placer Appointment ID", "EI", R),
fld!(2, "Filler Appointment ID", "EI", O),
fld!(3, "Occurrence Number", "NM", O),
fld!(4, "Placer Group Number", "EI", O),
fld!(5, "Schedule ID", "CE", O),
fld!(6, "Request Event Reason", "CE", O),
fld!(7, "Appointment Reason", "CE", O, t "0276"),
fld!(8, "Appointment Type", "CE", O, t "0277"),
fld!(9, "Appointment Duration", "NM", O),
fld!(10, "Appointment Duration Units", "CE", O),
fld!(11, "Requested Start Date/Time Range", "DR", O, rep),
fld!(12, "Priority", "ST", O),
fld!(13, "Repeating Interval", "RI", O),
fld!(14, "Repeating Interval Duration", "ST", O),
fld!(15, "Placer Contact Person", "XCN", R, rep),
fld!(16, "Placer Contact Phone Number", "XTN", O, rep),
fld!(17, "Placer Contact Address", "XAD", O, rep),
fld!(18, "Placer Contact Location", "PL", O),
fld!(19, "Entered By Person", "XCN", R, rep),
fld!(20, "Entered By Phone Number", "XTN", O, rep),
fld!(21, "Entered By Location", "PL", O),
fld!(22, "Parent Placer Appointment ID", "EI", O),
fld!(23, "Parent Filler Appointment ID", "EI", O),
fld!(24, "Placer Order Number", "EI", O, rep),
fld!(25, "Filler Order Number", "EI", O, rep),
];
const AUT: &[FieldSpec] = &[
fld!(1, "Authorizing Payor, Plan ID", "CE", O),
fld!(2, "Authorizing Payor, Company ID", "CE", R),
fld!(3, "Authorizing Payor, Company Name", "ST", O),
fld!(4, "Authorization Effective Date", "TS", O),
fld!(5, "Authorization Expiration Date", "TS", O),
fld!(6, "Authorization Identifier", "EI", O),
fld!(7, "Reimbursement Limit", "CP", O),
fld!(8, "Requested Number of Treatments", "NM", O),
fld!(9, "Authorized Number of Treatments", "NM", O),
fld!(10, "Process Date", "TS", O),
];
const BHS: &[FieldSpec] = &[
fld!(1, "Batch Field Separator", "ST", R),
fld!(2, "Batch Encoding Characters", "ST", R),
fld!(3, "Batch Sending Application", "HD", O),
fld!(4, "Batch Sending Facility", "HD", O),
fld!(5, "Batch Receiving Application", "HD", O),
fld!(6, "Batch Receiving Facility", "HD", O),
fld!(7, "Batch Creation Date/Time", "TS", O),
fld!(8, "Batch Security", "ST", O),
fld!(9, "Batch Name/ID/Type", "ST", O),
fld!(10, "Batch Comment", "ST", O),
fld!(11, "Batch Control ID", "ST", O),
fld!(12, "Reference Batch Control ID", "ST", O),
];
const BLC: &[FieldSpec] = &[
fld!(1, "Blood Product Code", "CE", O),
fld!(2, "Blood Amount", "CQ", O),
];
const BPO: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "BP Universal Service ID", "CWE", R),
fld!(3, "BP Processing Requirements", "CWE", O, rep),
fld!(4, "BP Quantity", "NM", R),
fld!(5, "BP Amount", "NM", O),
fld!(6, "BP Units", "CE", O),
fld!(7, "BP Intended Use Date/Time", "TS", O),
fld!(8, "BP Intended Dispense From Location", "PL", O),
fld!(9, "BP Intended Dispense From Address", "XAD", O),
fld!(10, "BP Requested Dispense Date/Time", "TS", O),
fld!(11, "BP Requested Dispense To Location", "PL", O),
fld!(12, "BP Requested Dispense To Address", "XAD", O),
fld!(13, "BP Indication for Use", "CWE", O, rep),
fld!(14, "BP Informed Consent Indicator", "ID", O, t "0136"),
];
const BPX: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "BP Dispense Status", "CWE", R),
fld!(3, "BP Status", "ID", R),
fld!(4, "BP Date/Time of Status", "TS", R),
fld!(5, "BC Donation ID", "EI", O),
fld!(6, "BC Component", "CNE", O),
fld!(7, "BC Donation Type / Intended Use", "CNE", O),
fld!(8, "CP Commercial Product", "CWE", O),
fld!(9, "CP Manufacturer", "XON", O),
fld!(10, "CP Lot Number", "EI", O),
fld!(11, "BP Blood Group", "CNE", O),
fld!(12, "BC Special Testing", "CNE", O, rep),
fld!(13, "BP Expiration Date/Time", "TS", O),
fld!(14, "BP Quantity", "NM", R),
fld!(15, "BP Amount", "NM", O),
fld!(16, "BP Units", "CE", O),
fld!(17, "BP Unique ID", "EI", O),
fld!(18, "BP Actual Dispensed To Location", "PL", O),
fld!(19, "BP Actual Dispensed To Address", "XAD", O),
fld!(20, "BP Dispensed to Receiver", "XCN", O),
fld!(21, "BP Dispensing Individual", "XCN", O),
];
const BTS: &[FieldSpec] = &[
fld!(1, "Batch Message Count", "ST", O),
fld!(2, "Batch Comment", "ST", O),
fld!(3, "Batch Totals", "NM", O, rep),
];
const BTX: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "BC Donation ID", "EI", O),
fld!(3, "BC Component", "CNE", O),
fld!(4, "BC Blood Group", "CNE", O),
fld!(5, "CP Commercial Product", "CWE", O),
fld!(6, "CP Manufacturer", "XON", O),
fld!(7, "CP Lot Number", "EI", O),
fld!(8, "BP Quantity", "NM", R),
fld!(9, "BP Amount", "NM", O),
fld!(10, "BP Units", "CE", O),
fld!(11, "BP Transfusion/Disposition Status", "CWE", R),
fld!(12, "BP Message Status", "ID", R),
fld!(13, "BP Date/Time of Status", "TS", R),
fld!(14, "BP Administrator", "XCN", O),
fld!(15, "BP Verifier", "XCN", O),
fld!(16, "BP Transfusion Start Date/Time of Status", "TS", O),
fld!(17, "BP Transfusion End Date/Time of Status", "TS", O),
fld!(18, "BP Adverse Reaction Type", "CWE", O, rep),
fld!(19, "BP Transfusion Interrupted Reason", "CWE", O),
];
const CDM: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "CE", R),
fld!(2, "Charge Code Alias", "CE", O, rep),
fld!(3, "Charge Description Short", "ST", R),
fld!(4, "Charge Description Long", "ST", O),
fld!(5, "Description Override Indicator", "IS", O),
fld!(6, "Exploding Charges", "CE", O, rep),
fld!(7, "Procedure Code", "CE", O, rep),
fld!(8, "Active/Inactive Flag", "ID", O),
fld!(9, "Inventory Number", "CE", O, rep),
fld!(10, "Resource Load", "NM", O),
fld!(11, "Contract Number", "CX", O, rep),
fld!(12, "Contract Organization", "XON", O, rep),
fld!(13, "Room Fee Indicator", "ID", O, t "0136"),
];
const CER: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Serial Number", "ST", O),
fld!(3, "Version", "ST", O),
fld!(4, "Granting Authority", "XON", O),
fld!(5, "Issuing Authority", "XCN", O),
fld!(6, "Signature of Issuing Authority", "ED", O),
fld!(7, "Granting Country", "ID", O),
fld!(8, "Granting State/Province", "CWE", O),
fld!(9, "Granting County/Parish", "CWE", O),
fld!(10, "Certificate Type", "CWE", O),
fld!(11, "Certificate Domain", "CWE", O),
fld!(12, "Subject ID", "ID", O),
fld!(13, "Subject Name", "ST", R),
fld!(
14,
"Subject Directory Attribute Extension (Health Professional Data)",
"CWE",
O,
rep
),
fld!(15, "Subject Public Key Info", "CWE", O),
fld!(16, "Authority Key Identifier", "CWE", O),
fld!(17, "Basic Constraint", "ID", O, t "0136"),
fld!(18, "CRL Distribution Point", "CWE", O, rep),
fld!(19, "Jurisdiction Country", "ID", O),
fld!(20, "Jurisdiction State/Province", "CWE", O),
fld!(21, "Jurisdiction County/Parish", "CWE", O),
fld!(22, "Jurisdiction Breadth", "CWE", O, rep),
fld!(23, "Granting Date", "TS", O),
fld!(24, "Issuing Date", "TS", O),
fld!(25, "Activation Date", "TS", O),
fld!(26, "Inactivation Date", "TS", O),
fld!(27, "Expiration Date", "TS", O),
fld!(28, "Renewal Date", "TS", O),
fld!(29, "Revocation Date", "TS", O),
fld!(30, "Revocation Reason Code", "CE", O),
fld!(31, "Certificate Status", "CWE", O),
];
const CM0: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Sponsor Study ID", "EI", R),
fld!(3, "Alternate Study ID", "EI", O, rep),
fld!(4, "Title of Study", "ST", R),
fld!(5, "Chairman of Study", "XCN", O, rep),
fld!(6, "Last IRB Approval Date", "DT", O),
fld!(7, "Total Accrual to Date", "NM", O),
fld!(8, "Last Accrual Date", "DT", O),
fld!(9, "Contact for Study", "XCN", O, rep),
fld!(10, "Contact's Telephone Number", "XTN", O),
fld!(11, "Contact's Address", "XAD", O, rep),
];
const CM1: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Study Phase Identifier", "CE", R),
fld!(3, "Description of Study Phase", "ST", R),
];
const CM2: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", O),
fld!(2, "Scheduled Time Point", "CE", R),
fld!(3, "Description of Time Point", "ST", O),
fld!(4, "Events Scheduled This Time Point", "CE", R, rep),
];
const CON: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Consent Type", "CWE", O),
fld!(3, "Consent Form ID", "ST", O),
fld!(4, "Consent Form Number", "EI", O),
fld!(5, "Consent Text", "FT", O, rep),
fld!(6, "Subject-specific Consent Text", "FT", O, rep),
fld!(7, "Consent Background", "FT", O, rep),
fld!(8, "Subject-specific Consent Background", "FT", O, rep),
fld!(9, "Consenter-imposed limitations", "FT", O, rep),
fld!(10, "Consent Mode", "CNE", O),
fld!(11, "Consent Status", "CNE", R),
fld!(12, "Consent Discussion Date/Time", "TS", O),
fld!(13, "Consent Decision Date/Time", "TS", O),
fld!(14, "Consent Effective Date/Time", "TS", O),
fld!(15, "Consent End Date/Time", "TS", O),
fld!(16, "Subject Competence Indicator", "ID", O, t "0136"),
fld!(17, "Translator Assistance Indicator", "ID", O, t "0136"),
fld!(18, "Language Translated To", "ID", O),
fld!(19, "Informational Material Supplied Indicator", "ID", O, t "0136"),
fld!(20, "Consent Bypass Reason", "CWE", O),
fld!(21, "Consent Disclosure Level", "ID", O),
fld!(22, "Consent Non-disclosure Reason", "CWE", O),
fld!(23, "Non-subject Consenter Reason", "CWE", O),
fld!(24, "Consenter ID", "XPN", R, rep),
fld!(25, "Relationship to Subject Table", "IS", R, rep),
];
const CSP: &[FieldSpec] = &[
fld!(1, "Study Phase Identifier", "CE", R),
fld!(2, "Date/time Study Phase Began", "TS", R),
fld!(3, "Date/time Study Phase Ended", "TS", O),
fld!(4, "Study Phase Evaluability", "CE", O),
];
const CSR: &[FieldSpec] = &[
fld!(1, "Sponsor Study ID", "EI", R),
fld!(2, "Alternate Study ID", "EI", O),
fld!(3, "Institution Registering the Patient", "CE", O),
fld!(4, "Sponsor Patient ID", "CX", R),
fld!(5, "Alternate Patient ID", "CX", O),
fld!(6, "Date/Time Of Patient Study Registration", "TS", R),
fld!(7, "Person Performing Study Registration", "XCN", O, rep),
fld!(8, "Study Authorizing Provider", "XCN", R, rep),
fld!(9, "Date/time Patient Study Consent Signed", "TS", O),
fld!(10, "Patient Study Eligibility Status", "CE", O),
fld!(11, "Study Randomization Date/time", "TS", O, rep),
fld!(12, "Randomized Study Arm", "CE", O, rep),
fld!(13, "Stratum for Study Randomization", "CE", O, rep),
fld!(14, "Patient Evaluability Status", "CE", O),
fld!(15, "Date/time Ended Study", "TS", O),
fld!(16, "Reason Ended Study", "CE", O),
];
const CSS: &[FieldSpec] = &[
fld!(1, "Study Scheduled Time Point", "CE", R),
fld!(2, "Study Scheduled Patient Time Point", "TS", O),
fld!(3, "Study Quality Control Codes", "CE", O, rep),
];
const EDU: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Academic Degree", "IS", O),
fld!(3, "Academic Degree Program Date Range", "DR", O),
fld!(
4,
"Academic Degree Program Participation Date Range",
"DR",
O
),
fld!(5, "Academic Degree Granted Date", "DT", O),
fld!(6, "School", "XON", O),
fld!(7, "School Type Code", "CE", O),
fld!(8, "School Address", "XAD", O),
fld!(9, "Major Field of Study", "CWE", O, rep),
];
const FAC: &[FieldSpec] = &[
fld!(1, "Facility ID", "EI", R),
fld!(2, "Facility Type", "ID", O),
fld!(3, "Facility Address", "XAD", R, rep),
fld!(4, "Facility Telecommunication", "XTN", R),
fld!(5, "Contact Person", "XCN", O, rep),
fld!(6, "Contact Title", "ST", O, rep),
fld!(7, "Contact Address", "XAD", O, rep),
fld!(8, "Contact Telecommunication", "XTN", O, rep),
fld!(9, "Signature Authority", "XCN", R, rep),
fld!(10, "Signature Authority Title", "ST", O),
fld!(11, "Signature Authority Address", "XAD", O, rep),
fld!(12, "Signature Authority Telecommunication", "XTN", O),
];
const FHS: &[FieldSpec] = &[
fld!(1, "File Field Separator", "ST", R),
fld!(2, "File Encoding Characters", "ST", R),
fld!(3, "File Sending Application", "HD", O),
fld!(4, "File Sending Facility", "HD", O),
fld!(5, "File Receiving Application", "HD", O),
fld!(6, "File Receiving Facility", "HD", O),
fld!(7, "File Creation Date/Time", "TS", O),
fld!(8, "File Security", "ST", O),
fld!(9, "File Name/ID", "ST", O),
fld!(10, "File Header Comment", "ST", O),
fld!(11, "File Control ID", "ST", O),
fld!(12, "Reference File Control ID", "ST", O),
];
const FTS: &[FieldSpec] = &[
fld!(1, "File Batch Count", "NM", O),
fld!(2, "File Trailer Comment", "ST", O),
];
const GOL: &[FieldSpec] = &[
fld!(1, "Action Code", "ID", R),
fld!(2, "Action Date/Time", "TS", R),
fld!(3, "Goal ID", "CE", R),
fld!(4, "Goal Instance ID", "EI", R),
fld!(5, "Episode of Care ID", "EI", O),
fld!(6, "Goal List Priority", "NM", O),
fld!(7, "Goal Established Date/Time", "TS", O),
fld!(8, "Expected Goal Achieve Date/Time", "TS", O),
fld!(9, "Goal Classification", "CE", O),
fld!(10, "Goal Management Discipline", "CE", O),
fld!(11, "Current Goal Review Status", "CE", O),
fld!(12, "Current Goal Review Date/Time", "TS", O),
fld!(13, "Next Goal Review Date/Time", "TS", O),
fld!(14, "Previous Goal Review Date/Time", "TS", O),
fld!(15, "Goal Review Interval", "TQ", O),
fld!(16, "Goal Evaluation", "CE", O),
fld!(17, "Goal Evaluation Comment", "ST", O, rep),
fld!(18, "Goal Life Cycle Status", "CE", O),
fld!(19, "Goal Life Cycle Status Date/Time", "TS", O),
fld!(20, "Goal Target Type", "CE", O, rep),
fld!(21, "Goal Target Name", "XPN", O, rep),
];
const GP1: &[FieldSpec] = &[
fld!(1, "Type of Bill Code", "IS", R),
fld!(2, "Revenue Code", "IS", O, rep),
fld!(3, "Overall Claim Disposition Code", "IS", O),
fld!(4, "OCE Edits per Visit Code", "IS", O, rep),
fld!(5, "Outlier Cost", "CP", O),
];
const GP2: &[FieldSpec] = &[
fld!(1, "Revenue Code", "IS", O),
fld!(2, "Number of Service Units", "NM", O),
fld!(3, "Charge", "CP", O),
fld!(4, "Reimbursement Action Code", "IS", O),
fld!(5, "Denial or Rejection Code", "IS", O),
fld!(6, "OCE Edit Code", "IS", O, rep),
fld!(7, "Ambulatory Payment Classification Code", "CE", O),
fld!(8, "Modifier Edit Code", "IS", O, rep),
fld!(9, "Payment Adjustment Code", "IS", O),
fld!(10, "Packaging Status Code", "IS", O),
fld!(11, "Expected CMS Payment Amount", "CP", O),
fld!(12, "Reimbursement Type Code", "IS", O),
fld!(13, "Co-Pay Amount", "CP", O),
fld!(14, "Pay Rate per Service Unit", "NM", O),
];
const IIM: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "CWE", R),
fld!(2, "Service Item Code", "CWE", R),
fld!(3, "Inventory Lot Number", "ST", O),
fld!(4, "Inventory Expiration Date", "TS", O),
fld!(5, "Inventory Manufacturer Name", "CWE", O),
fld!(6, "Inventory Location", "CWE", O),
fld!(7, "Inventory Received Date", "TS", O),
fld!(8, "Inventory Received Quantity", "NM", O),
fld!(9, "Inventory Received Quantity Unit", "CWE", O),
fld!(10, "Inventory Received Item Cost", "MO", O),
fld!(11, "Inventory On Hand Date", "TS", O),
fld!(12, "Inventory On Hand Quantity", "NM", O),
fld!(13, "Inventory On Hand Quantity Unit", "CWE", O),
fld!(14, "Procedure Code", "CE", O),
fld!(15, "Procedure Code Modifier", "CE", O, rep),
];
const IPC: &[FieldSpec] = &[
fld!(1, "Accession Identifier", "EI", R),
fld!(2, "Requested Procedure ID", "EI", R),
fld!(3, "Study Instance UID", "EI", R),
fld!(4, "Scheduled Procedure Step ID", "EI", R),
fld!(5, "Modality", "CE", O),
fld!(6, "Protocol Code", "CE", O, rep),
fld!(7, "Scheduled Station Name", "EI", O),
fld!(8, "Scheduled Procedure Step Location", "CE", O, rep),
fld!(9, "Scheduled AE Title", "ST", O),
];
const LAN: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Language Code", "CE", R),
fld!(3, "Language Ability Code", "CE", O, rep),
fld!(4, "Language Proficiency Code", "CE", O),
];
const LCC: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "PL", R),
fld!(2, "Location Department", "CE", R),
fld!(3, "Accommodation Type", "CE", O, rep),
fld!(4, "Charge Code", "CE", R, rep),
];
const LCH: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "PL", R),
fld!(2, "Segment Action Code", "ID", O, t "0206"),
fld!(3, "Segment Unique Key", "EI", O),
fld!(4, "Location Characteristic ID", "CE", R),
fld!(5, "Location Characteristic Value", "CE", R),
];
const LDP: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "PL", R),
fld!(2, "Location Department", "CE", R),
fld!(3, "Location Service", "IS", O, rep),
fld!(4, "Specialty Type", "CE", O, rep),
fld!(5, "Valid Patient Classes", "IS", O, t "0004", rep),
fld!(6, "Active/Inactive Flag", "ID", O),
fld!(7, "Activation Date LDP", "TS", O),
fld!(8, "Inactivation Date", "TS", O),
fld!(9, "Inactivated Reason", "ST", O),
fld!(10, "Visiting Hours", "VH", O, rep),
fld!(11, "Contact Phone", "XTN", O),
fld!(12, "Location Cost Center", "CE", O),
];
const LOC: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "PL", R),
fld!(2, "Location Description", "ST", O),
fld!(3, "Location Type", "IS", R, rep),
fld!(4, "Organization Name", "XON", O, rep),
fld!(5, "Location Address", "XAD", O, rep),
fld!(6, "Location Phone", "XTN", O, rep),
fld!(7, "License Number", "CE", O, rep),
fld!(8, "Location Equipment", "IS", O, rep),
fld!(9, "Location Service Code", "IS", O),
];
const LRL: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "PL", R),
fld!(2, "Segment Action Code", "ID", O, t "0206"),
fld!(3, "Segment Unique Key", "EI", O),
fld!(4, "Location Relationship ID", "CE", R),
fld!(
5,
"Organizational Location Relationship Value",
"XON",
O,
rep
),
fld!(6, "Patient Location Relationship Value", "PL", O),
];
const MFA: &[FieldSpec] = &[
fld!(1, "Record-Level Event Code", "ID", R),
fld!(2, "MFN Control ID", "ST", O),
fld!(3, "Event Completion Date/Time", "TS", O),
fld!(4, "MFN Record Level Error Return", "CE", R),
fld!(5, "Primary Key Value", "VARIES", R, rep),
fld!(6, "Primary Key Value Type", "ID", R, rep),
];
const MFE: &[FieldSpec] = &[
fld!(1, "Record-Level Event Code", "ID", R),
fld!(2, "MFN Control ID", "ST", O),
fld!(3, "Effective Date/Time", "TS", O),
fld!(4, "Primary Key Value", "VARIES", R, rep),
fld!(5, "Primary Key Value Type", "ID", R, rep),
];
const MFI: &[FieldSpec] = &[
fld!(1, "Master File Identifier", "CE", R),
fld!(2, "Master File Application Identifier", "HD", O),
fld!(3, "File-Level Event Code", "ID", R),
fld!(4, "Entered Date/Time", "TS", O),
fld!(5, "Effective Date/Time", "TS", O),
fld!(6, "Response Level Code", "ID", R),
];
const NPU: &[FieldSpec] = &[
fld!(1, "Bed Location", "PL", R),
fld!(2, "Bed Status", "IS", O),
];
const ODT: &[FieldSpec] = &[
fld!(1, "Tray Type", "CE", R),
fld!(2, "Service Period", "CE", O, rep),
fld!(3, "Text Instruction", "ST", O),
];
const OM1: &[FieldSpec] = &[
fld!(1, "Sequence Number - Test/Observation Master File", "NM", R),
fld!(2, "Producer's Service/Test/Observation ID", "CE", R),
fld!(3, "Permitted Data Types", "ID", O, t "0125", rep),
fld!(4, "Specimen Required", "ID", R, t "0136"),
fld!(5, "Producer ID", "CE", R),
fld!(6, "Observation Description", "TX", O),
fld!(
7,
"Other Service/Test/Observation IDs for the Observation",
"CE",
O
),
fld!(8, "Other Names", "ST", R, rep),
fld!(9, "Preferred Report Name for the Observation", "ST", O),
fld!(
10,
"Preferred Short Name or Mnemonic for Observation",
"ST",
O
),
fld!(11, "Preferred Long Name for the Observation", "ST", O),
fld!(12, "Orderability", "ID", O, t "0136"),
fld!(
13,
"Identity of Instrument Used to Perform this Study",
"CE",
O,
rep
),
fld!(14, "Coded Representation of Method", "CE", O, rep),
fld!(15, "Portable Device Indicator", "ID", O, t "0136"),
fld!(16, "Observation Producing Department/Section", "CE", O, rep),
fld!(17, "Telephone Number of Section", "XTN", O),
fld!(18, "Nature of Service/Test/Observation", "IS", R),
fld!(19, "Report Subheader", "CE", O),
fld!(20, "Report Display Order", "ST", O),
fld!(
21,
"Date/Time Stamp for any change in Definition for the Observation",
"TS",
O
),
fld!(22, "Effective Date/Time of Change", "TS", O),
fld!(23, "Typical Turn-Around Time", "NM", O),
fld!(24, "Processing Time", "NM", O),
fld!(25, "Processing Priority", "ID", O, rep),
fld!(26, "Reporting Priority", "ID", O),
fld!(
27,
"Outside Site(s) Where Observation may be Performed",
"CE",
O,
rep
),
fld!(28, "Address of Outside Site(s)", "XAD", O, rep),
fld!(29, "Phone Number of Outside Site", "XTN", O),
fld!(30, "Confidentiality Code", "CWE", O),
fld!(
31,
"Observations Required to Interpret the Observation",
"CE",
O
),
fld!(32, "Interpretation of Observations", "TX", O),
fld!(33, "Contraindications to Observations", "CE", O),
fld!(34, "Reflex Tests/Observations", "CE", O, rep),
fld!(35, "Rules that Trigger Reflex Testing", "TX", O),
fld!(36, "Fixed Canned Message", "CE", O),
fld!(37, "Patient Preparation", "TX", O),
fld!(38, "Procedure Medication", "CE", O),
fld!(39, "Factors that may Affect the Observation", "TX", O),
fld!(
40,
"Service/Test/Observation Performance Schedule",
"ST",
O,
rep
),
fld!(41, "Description of Test Methods", "TX", O),
fld!(42, "Kind of Quantity Observed", "CE", O),
fld!(43, "Point Versus Interval", "CE", O),
fld!(44, "Challenge Information", "TX", O),
fld!(45, "Relationship Modifier", "CE", O),
fld!(46, "Target Anatomic Site Of Test", "CE", O),
fld!(47, "Modality Of Imaging Measurement", "CE", O),
];
const OM2: &[FieldSpec] = &[
fld!(1, "Sequence Number - Test/Observation Master File", "NM", O),
fld!(2, "Units of Measure", "CE", O),
fld!(3, "Range of Decimal Precision", "NM", O, rep),
fld!(4, "Corresponding SI Units of Measure", "CE", O),
fld!(5, "SI Conversion Factor", "TX", O),
fld!(
6,
"Reference (Normal) Range - Ordinal and Continuous Observations",
"RFR",
O,
rep
),
fld!(
7,
"Critical Range for Ordinal and Continuous Observations",
"RFR",
O,
rep
),
fld!(
8,
"Absolute Range for Ordinal and Continuous Observations",
"RFR",
O
),
fld!(9, "Delta Check Criteria", "DLT", O, rep),
fld!(10, "Minimum Meaningful Increments", "NM", O),
];
const OM3: &[FieldSpec] = &[
fld!(1, "Sequence Number - Test/Observation Master File", "NM", O),
fld!(2, "Preferred Coding System", "CE", O),
fld!(3, "Valid Coded 'Answers'", "CE", O),
fld!(
4,
"Normal Text/Codes for Categorical Observations",
"CE",
O,
rep
),
fld!(
5,
"Abnormal Text/Codes for Categorical Observations",
"CE",
O,
rep
),
fld!(
6,
"Critical Text/Codes for Categorical Observations",
"CE",
O,
rep
),
fld!(7, "Value Type", "ID", O, t "0125"),
];
const OM4: &[FieldSpec] = &[
fld!(1, "Sequence Number - Test/Observation Master File", "NM", O),
fld!(2, "Derived Specimen", "ID", O),
fld!(3, "Container Description", "TX", O),
fld!(4, "Container Volume", "NM", O),
fld!(5, "Container Units", "CE", O),
fld!(6, "Specimen", "CE", O),
fld!(7, "Additive", "CWE", O),
fld!(8, "Preparation", "TX", O),
fld!(9, "Special Handling Requirements", "TX", O),
fld!(10, "Normal Collection Volume", "CQ", O),
fld!(11, "Minimum Collection Volume", "CQ", O),
fld!(12, "Specimen Requirements", "TX", O),
fld!(13, "Specimen Priorities", "ID", O, rep),
fld!(14, "Specimen Retention Time", "CQ", O),
];
const OM5: &[FieldSpec] = &[
fld!(1, "Sequence Number - Test/Observation Master File", "NM", O),
fld!(
2,
"Test/Observations Included within an Ordered Test Battery",
"CE",
O,
rep
),
fld!(3, "Observation ID Suffixes", "ST", O),
];
const OM6: &[FieldSpec] = &[
fld!(1, "Sequence Number - Test/Observation Master File", "NM", O),
fld!(2, "Derivation Rule", "TX", O),
];
const OM7: &[FieldSpec] = &[
fld!(1, "Sequence Number - Test/Observation Master File", "NM", R),
fld!(2, "Universal Service Identifier", "CE", R),
fld!(3, "Category Identifier", "CE", O, rep),
fld!(4, "Category Description", "TX", O),
fld!(5, "Category Synonym", "ST", O, rep),
fld!(6, "Effective Test/Service Start Date/Time", "TS", O),
fld!(7, "Effective Test/Service End Date/Time", "TS", O),
fld!(8, "Test/Service Default Duration Quantity", "NM", O),
fld!(9, "Test/Service Default Duration Units", "CE", O),
fld!(10, "Test/Service Default Frequency", "IS", O),
fld!(11, "Consent Indicator", "ID", O, t "0136"),
fld!(12, "Consent Identifier", "CE", O),
fld!(13, "Consent Effective Start Date/Time", "TS", O),
fld!(14, "Consent Effective End Date/Time", "TS", O),
fld!(15, "Consent Interval Quantity", "NM", O),
fld!(16, "Consent Interval Units", "CE", O),
fld!(17, "Consent Waiting Period Quantity", "NM", O),
fld!(18, "Consent Waiting Period Units", "CE", O),
fld!(19, "Effective Date/Time of Change", "TS", O),
fld!(20, "Entered By", "XCN", O),
fld!(21, "Orderable-at Location", "PL", O, rep),
fld!(22, "Formulary Status", "IS", O),
fld!(23, "Special Order Indicator", "ID", O, t "0136"),
fld!(24, "Primary Key Value - CDM", "CE", O, rep),
];
const ORG: &[FieldSpec] = &[
fld!(1, "Set ID", "SI", R),
fld!(2, "Organization Unit Code", "CE", O),
fld!(3, "Organization Unit Type Code", "CE", O),
fld!(4, "Primary Org Unit Indicator", "ID", O, t "0136"),
fld!(5, "Practitioner Org Unit Identifier", "CX", O),
fld!(6, "Health Care Provider Type Code", "CE", O),
fld!(7, "Health Care Provider Classification Code", "CE", O),
fld!(
8,
"Health Care Provider Area of Specialization Code",
"CE",
O
),
fld!(9, "Effective Date Range", "DR", O),
fld!(10, "Employment Status Code", "CE", O),
fld!(11, "Board Approval Indicator", "ID", O, t "0136"),
fld!(12, "Primary Care Physician Indicator", "ID", O, t "0136"),
];
const OVR: &[FieldSpec] = &[
fld!(1, "Business Rule Override Type", "CWE", O),
fld!(2, "Business Rule Override Code", "CWE", O),
fld!(3, "Override Comments", "TX", O),
fld!(4, "Override Entered By", "XCN", O),
fld!(5, "Override Authorized By", "XCN", O),
];
const PCR: &[FieldSpec] = &[
fld!(1, "Implicated Product", "CE", R),
fld!(2, "Generic Product", "IS", O),
fld!(3, "Product Class", "CE", O),
fld!(4, "Total Duration Of Therapy", "CQ", O),
fld!(5, "Product Manufacture Date", "TS", O),
fld!(6, "Product Expiration Date", "TS", O),
fld!(7, "Product Implantation Date", "TS", O),
fld!(8, "Product Explantation Date", "TS", O),
fld!(9, "Single Use Device", "IS", O),
fld!(10, "Indication For Product Use", "CE", O),
fld!(11, "Product Problem", "IS", O),
fld!(12, "Product Serial/Lot Number", "ST", O, rep),
fld!(13, "Product Available For Inspection", "IS", O),
fld!(14, "Product Evaluation Performed", "CE", O),
fld!(15, "Product Evaluation Status", "CE", O),
fld!(16, "Product Evaluation Results", "CE", O),
fld!(17, "Evaluated Product Source", "ID", O),
fld!(18, "Date Product Returned To Manufacturer", "TS", O),
fld!(19, "Device Operator Qualifications", "ID", O),
fld!(20, "Relatedness Assessment", "ID", O),
fld!(21, "Action Taken In Response To The Event", "ID", O, rep),
fld!(22, "Event Causality Observations", "ID", O, rep),
fld!(23, "Indirect Exposure Mechanism", "ID", O, rep),
];
const PDC: &[FieldSpec] = &[
fld!(1, "Manufacturer/Distributor", "XON", R, rep),
fld!(2, "Country", "CE", R),
fld!(3, "Brand Name", "ST", R),
fld!(4, "Device Family Name", "ST", O),
fld!(5, "Generic Name", "CE", O),
fld!(6, "Model Identifier", "ST", O, rep),
fld!(7, "Catalogue Identifier", "ST", O),
fld!(8, "Other Identifier", "ST", O, rep),
fld!(9, "Product Code", "CE", O),
fld!(10, "Marketing Basis", "ID", O),
fld!(11, "Marketing Approval ID", "ST", O),
fld!(12, "Labeled Shelf Life", "CQ", O),
fld!(13, "Expected Shelf Life", "CQ", O),
fld!(14, "Date First Marketed", "TS", O),
fld!(15, "Date Last Marketed", "TS", O),
];
const PEO: &[FieldSpec] = &[
fld!(1, "Event Identifiers Used", "CE", O, rep),
fld!(2, "Event Symptom/Diagnosis Code", "CE", O, rep),
fld!(3, "Event Onset Date/Time", "TS", R),
fld!(4, "Event Exacerbation Date/Time", "TS", O),
fld!(5, "Event Improved Date/Time", "TS", O),
fld!(6, "Event Ended Data/Time", "TS", O),
fld!(7, "Event Location Occurred Address", "XAD", O, rep),
fld!(8, "Event Qualification", "ID", O, rep),
fld!(9, "Event Serious", "ID", O),
fld!(10, "Event Expected", "ID", O),
fld!(11, "Event Outcome", "ID", O, rep),
fld!(12, "Patient Outcome", "ID", O),
fld!(13, "Event Description From Others", "FT", O, rep),
fld!(14, "Event From Original Reporter", "FT", O, rep),
fld!(15, "Event Description From Patient", "FT", O, rep),
fld!(16, "Event Description From Practitioner", "FT", O, rep),
fld!(17, "Event Description From Autopsy", "FT", O, rep),
fld!(18, "Cause Of Death", "CE", O, rep),
fld!(19, "Primary Observer Name", "XPN", O, rep),
fld!(20, "Primary Observer Address", "XAD", O, rep),
fld!(21, "Primary Observer Telephone", "XTN", O, rep),
fld!(22, "Primary Observer's Qualification", "ID", O),
fld!(23, "Confirmation Provided By", "ID", O),
fld!(24, "Primary Observer Aware Date/Time", "TS", O),
fld!(25, "Primary Observer's identity May Be Divulged", "ID", O),
];
const PES: &[FieldSpec] = &[
fld!(1, "Sender Organization Name", "XON", O, rep),
fld!(2, "Sender Individual Name", "XCN", O, rep),
fld!(3, "Sender Address", "XAD", O, rep),
fld!(4, "Sender Telephone", "XTN", O, rep),
fld!(5, "Sender Event Identifier", "EI", O),
fld!(6, "Sender Sequence Number", "NM", O),
fld!(7, "Sender Event Description", "FT", O, rep),
fld!(8, "Sender Comment", "FT", O),
fld!(9, "Sender Aware Date/Time", "TS", O),
fld!(10, "Event Report Date", "TS", R),
fld!(11, "Event Report Timing/Type", "ID", O, rep),
fld!(12, "Event Report Source", "ID", O),
fld!(13, "Event Reported To", "ID", O, rep),
];
const PRA: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "CE", O),
fld!(2, "Practitioner Group", "CE", O, rep),
fld!(3, "Practitioner Category", "IS", O, rep),
fld!(4, "Provider Billing", "ID", O),
fld!(5, "Specialty", "SPD", O, rep),
fld!(6, "Practitioner ID Numbers", "PLN", B, rep),
fld!(7, "Privileges", "PIP", O, rep),
fld!(8, "Date Entered Practice", "DT", O),
fld!(9, "Institution", "CE", O),
fld!(10, "Date Left Practice", "DT", O),
fld!(
11,
"Government Reimbursement Billing Eligibility",
"CE",
O,
rep
),
fld!(12, "Set ID", "SI", O),
];
const PRB: &[FieldSpec] = &[
fld!(1, "Action Code", "ID", R),
fld!(2, "Action Date/Time", "TS", R),
fld!(3, "Problem ID", "CE", R),
fld!(4, "Problem Instance ID", "EI", R),
fld!(5, "Episode of Care ID", "EI", O),
fld!(6, "Problem List Priority", "NM", O),
fld!(7, "Problem Established Date/Time", "TS", O),
fld!(8, "Anticipated Problem Resolution Date/Time", "TS", O),
fld!(9, "Actual Problem Resolution Date/Time", "TS", O),
fld!(10, "Problem Classification", "CE", O),
fld!(11, "Problem Management Discipline", "CE", O, rep),
fld!(12, "Problem Persistence", "CE", O),
fld!(13, "Problem Confirmation Status", "CE", O),
fld!(14, "Problem Life Cycle Status", "CE", O),
fld!(15, "Problem Life Cycle Status Date/Time", "TS", O),
fld!(16, "Problem Date of Onset", "TS", O),
fld!(17, "Problem Onset Text", "ST", O),
fld!(18, "Problem Ranking", "CE", O),
fld!(19, "Certainty of Problem", "CE", O),
fld!(20, "Probability of Problem (0-1)", "NM", O),
fld!(21, "Individual Awareness of Problem", "CE", O),
fld!(22, "Problem Prognosis", "CE", O),
fld!(23, "Individual Awareness of Prognosis", "CE", O),
fld!(
24,
"Family/Significant Other Awareness of Problem/Prognosis",
"ST",
O
),
fld!(25, "Security/Sensitivity", "CE", O),
];
const PRC: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "CE", R),
fld!(2, "Facility ID", "CE", O, rep),
fld!(3, "Department", "CE", O, rep),
fld!(4, "Valid Patient Classes", "IS", O, t "0004", rep),
fld!(5, "Price", "CP", O, rep),
fld!(6, "Formula", "ST", O, rep),
fld!(7, "Minimum Quantity", "NM", O),
fld!(8, "Maximum Quantity", "NM", O),
fld!(9, "Minimum Price", "MO", O),
fld!(10, "Maximum Price", "MO", O),
fld!(11, "Effective Start Date", "TS", O),
fld!(12, "Effective End Date", "TS", O),
fld!(13, "Price Override Flag", "IS", O),
fld!(14, "Billing Category", "CE", O, rep),
fld!(15, "Chargeable Flag", "ID", O, t "0136"),
fld!(16, "Active/Inactive Flag", "ID", O),
fld!(17, "Cost", "MO", O),
fld!(18, "Charge On Indicator", "IS", O),
];
const PRD: &[FieldSpec] = &[
fld!(1, "Provider Role", "CE", R, rep),
fld!(2, "Provider Name", "XPN", O, rep),
fld!(3, "Provider Address", "XAD", O, rep),
fld!(4, "Provider Location", "PL", O),
fld!(5, "Provider Communication Information", "XTN", O, rep),
fld!(6, "Preferred Method of Contact", "CE", O),
fld!(7, "Provider Identifiers", "PLN", O, rep),
fld!(8, "Effective Start Date of Provider Role", "TS", O),
fld!(9, "Effective End Date of Provider Role", "TS", O),
];
const PSH: &[FieldSpec] = &[
fld!(1, "Report Type", "ST", R),
fld!(2, "Report Form Identifier", "ST", O),
fld!(3, "Report Date", "TS", R),
fld!(4, "Report Interval Start Date", "TS", O),
fld!(5, "Report Interval End Date", "TS", O),
fld!(6, "Quantity Manufactured", "CQ", O),
fld!(7, "Quantity Distributed", "CQ", O),
fld!(8, "Quantity Distributed Method", "ID", O),
fld!(9, "Quantity Distributed Comment", "FT", O),
fld!(10, "Quantity in Use", "CQ", O),
fld!(11, "Quantity in Use Method", "ID", O),
fld!(12, "Quantity in Use Comment", "FT", O),
fld!(
13,
"Number of Product Experience Reports Filed by Facility",
"NM",
O,
rep
),
fld!(
14,
"Number of Product Experience Reports Filed by Distributor",
"NM",
O,
rep
),
];
const PTH: &[FieldSpec] = &[
fld!(1, "Action Code", "ID", R),
fld!(2, "Pathway ID", "CE", R),
fld!(3, "Pathway Instance ID", "EI", R),
fld!(4, "Pathway Established Date/Time", "TS", R),
fld!(5, "Pathway Life Cycle Status", "CE", O),
fld!(6, "Change Pathway Life Cycle Status Date/Time", "TS", O),
];
const QAK: &[FieldSpec] = &[
fld!(1, "Query Tag", "ST", O),
fld!(2, "Query Response Status", "ID", O),
fld!(3, "Message Query Name", "CE", O),
fld!(4, "Hit Count", "NM", O),
fld!(5, "This payload", "NM", O),
fld!(6, "Hits remaining", "NM", O),
];
const QPD: &[FieldSpec] = &[
fld!(1, "Message Query Name", "CE", R),
fld!(2, "Query Tag", "ST", O),
];
const QRF: &[FieldSpec] = &[
fld!(1, "Where Subject Filter", "ST", R, rep),
fld!(2, "When Data Start Date/Time", "TS", B),
fld!(3, "When Data End Date/Time", "TS", B),
fld!(4, "What User Qualifier", "ST", O, rep),
fld!(5, "Other QRY Subject Filter", "ST", O, rep),
fld!(6, "Which Date/Time Qualifier", "ID", O, rep),
fld!(7, "Which Date/Time Status Qualifier", "ID", O, rep),
fld!(8, "Date/Time Selection Qualifier", "ID", O, rep),
fld!(9, "When Quantity/Timing Qualifier", "TQ", O),
fld!(10, "Search Confidence Threshold", "NM", O),
];
const RCP: &[FieldSpec] = &[
fld!(1, "Query Priority", "ID", O, t "0091"),
fld!(2, "Quantity Limited Request", "CQ", O),
fld!(3, "Response Modality", "CE", O),
fld!(4, "Execution and Delivery Time", "TS", O),
fld!(5, "Modify Indicator", "ID", O),
fld!(6, "Sort-by Field", "SRT", O, rep),
fld!(7, "Segment group inclusion", "ID", O, rep),
];
const RF1: &[FieldSpec] = &[
fld!(1, "Referral Status", "CE", O),
fld!(2, "Referral Priority", "CE", O),
fld!(3, "Referral Type", "CE", O),
fld!(4, "Referral Disposition", "CE", O, rep),
fld!(5, "Referral Category", "CE", O),
fld!(6, "Originating Referral Identifier", "EI", R),
fld!(7, "Effective Date", "TS", O),
fld!(8, "Expiration Date", "TS", O),
fld!(9, "Process Date", "TS", O),
fld!(10, "Referral Reason", "CE", O, rep),
fld!(11, "External Referral Identifier", "EI", O, rep),
];
const RMI: &[FieldSpec] = &[
fld!(1, "Risk Management Incident Code", "CE", O),
fld!(2, "Date/Time Incident", "TS", O),
fld!(3, "Incident Type Code", "CE", O),
];
const RQ1: &[FieldSpec] = &[
fld!(1, "Anticipated Price", "ST", O),
fld!(2, "Manufacturer Identifier", "CE", O),
fld!(3, "Manufacturer's Catalog", "ST", O),
fld!(4, "Vendor ID", "CE", O),
fld!(5, "Vendor Catalog", "ST", O),
fld!(6, "Taxable", "ID", O, t "0136"),
fld!(7, "Substitute Allowed", "ID", O, t "0136"),
];
const RXD: &[FieldSpec] = &[
fld!(1, "Dispense Sub-ID Counter", "NM", R),
fld!(2, "Dispense/Give Code", "CE", R),
fld!(3, "Date/Time Dispensed", "TS", R),
fld!(4, "Actual Dispense Amount", "NM", R),
fld!(5, "Actual Dispense Units", "CE", O),
fld!(6, "Actual Dosage Form", "CE", O),
fld!(7, "Prescription Number", "ST", R),
fld!(8, "Number of Refills Remaining", "NM", O),
fld!(9, "Dispense Notes", "ST", O, rep),
fld!(10, "Dispensing Provider", "XCN", O, rep),
fld!(11, "Substitution Status", "ID", O),
fld!(12, "Total Daily Dose", "CQ", O),
fld!(13, "Dispense-to Location", "LA2", O),
fld!(14, "Needs Human Review", "ID", O, t "0136"),
fld!(
15,
"Pharmacy/Treatment Supplier's Special Dispensing Instructions",
"CE",
O,
rep
),
fld!(16, "Actual Strength", "NM", O),
fld!(17, "Actual Strength Unit", "CE", O),
fld!(18, "Substance Lot Number", "ST", O, rep),
fld!(19, "Substance Expiration Date", "TS", O, rep),
fld!(20, "Substance Manufacturer Name", "CE", O, rep),
fld!(21, "Indication", "CE", O, rep),
fld!(22, "Dispense Package Size", "NM", O),
fld!(23, "Dispense Package Size Unit", "CE", O),
fld!(24, "Dispense Package Method", "ID", O),
fld!(25, "Supplementary Code", "CE", O, rep),
fld!(26, "Initiating Location", "CE", O),
fld!(27, "Packaging/Assembly Location", "CE", O),
fld!(28, "Actual Drug Strength Volume", "NM", O),
fld!(29, "Actual Drug Strength Volume Units", "CWE", O),
fld!(30, "Dispense to Pharmacy", "CWE", O),
fld!(31, "Dispense to Pharmacy Address", "XAD", O),
fld!(32, "Pharmacy Order Type", "ID", O),
fld!(33, "Dispense Type", "CWE", O),
];
const RXG: &[FieldSpec] = &[
fld!(1, "Give Sub-ID Counter", "NM", R),
fld!(2, "Dispense Sub-ID Counter", "NM", O),
fld!(3, "Quantity/Timing", "TQ", B),
fld!(4, "Give Code", "CE", R),
fld!(5, "Give Amount - Minimum", "NM", R),
fld!(6, "Give Amount - Maximum", "NM", O),
fld!(7, "Give Units", "CE", R),
fld!(8, "Give Dosage Form", "CE", O),
fld!(9, "Administration Notes", "CE", O, rep),
fld!(10, "Substitution Status", "ID", O),
fld!(11, "Dispense-To Location", "LA2", O),
fld!(12, "Needs Human Review", "ID", O, t "0136"),
fld!(
13,
"Pharmacy/Treatment Supplier's Special Administration Instructions",
"CE",
O,
rep
),
fld!(14, "Give Per (Time Unit)", "ST", O),
fld!(15, "Give Rate Amount", "ST", O),
fld!(16, "Give Rate Units", "CE", O),
fld!(17, "Give Strength", "NM", O),
fld!(18, "Give Strength Units", "CE", O),
fld!(19, "Substance Lot Number", "ST", O, rep),
fld!(20, "Substance Expiration Date", "TS", O, rep),
fld!(21, "Substance Manufacturer Name", "CE", O, rep),
fld!(22, "Indication", "CE", O, rep),
fld!(23, "Give Drug Strength Volume", "NM", O),
fld!(24, "Give Drug Strength Volume Units", "CWE", O),
fld!(25, "Give Barcode Identifier", "CWE", O),
fld!(26, "Pharmacy Order Type", "ID", O),
];
const STF: &[FieldSpec] = &[
fld!(1, "Primary Key Value", "CE", O),
fld!(2, "Staff Identifier List", "CX", O, rep),
fld!(3, "Staff Name", "XPN", O, rep),
fld!(4, "Staff Type", "IS", O, rep),
fld!(5, "Administrative Sex", "IS", O, t "0001"),
fld!(6, "Date/Time of Birth", "TS", O),
fld!(7, "Active/Inactive Flag", "ID", O),
fld!(8, "Department", "CE", O, rep),
fld!(9, "Hospital Service", "CE", O, rep),
fld!(10, "Phone", "XTN", O, rep),
fld!(11, "Office/Home Address/Birthplace", "XAD", O, rep),
fld!(12, "Institution Activation Date", "DIN", O, rep),
fld!(13, "Institution Inactivation Date", "DIN", O, rep),
fld!(14, "Backup Person ID", "CE", O, rep),
fld!(15, "E-Mail Address", "ST", O, rep),
fld!(16, "Preferred Method of Contact", "CE", O),
fld!(17, "Marital Status", "CE", O, t "0002"),
fld!(18, "Job Title", "ST", O),
fld!(19, "Job Code/Class", "JCC", O),
fld!(20, "Employment Status Code", "CE", O),
fld!(21, "Additional Insured on Auto", "ID", O, t "0136"),
fld!(22, "Driver's License Number - Staff", "DLN", O),
fld!(23, "Copy Auto Ins", "ID", O, t "0136"),
fld!(24, "Auto Ins. Expires", "DT", O),
fld!(25, "Date Last DMV Review", "DT", O),
fld!(26, "Date Next DMV Review", "DT", O),
fld!(27, "Race", "CE", O),
fld!(28, "Ethnic Group", "CE", O, t "0189"),
fld!(29, "Re-activation Approval Indicator", "ID", O, t "0136"),
fld!(30, "Citizenship", "CWE", O, rep),
fld!(31, "Death Date and Time", "TS", O),
fld!(32, "Death Indicator", "ID", O, t "0136"),
fld!(33, "Institution Relationship Type Code", "CWE", O),
fld!(34, "Institution Relationship Period", "DR", O),
fld!(35, "Expected Return Date", "DT", O),
fld!(36, "Cost Center Code", "CWE", O, rep),
fld!(37, "Generic Classification Indicator", "ID", O, t "0136"),
fld!(38, "Inactive Reason Code", "CWE", O),
];
const URD: &[FieldSpec] = &[
fld!(1, "R/U Date/Time", "TS", O),
fld!(2, "Report Priority", "ID", O),
fld!(3, "R/U Who Subject Definition", "XCN", R, rep),
fld!(4, "R/U What Subject Definition", "CE", O, rep),
fld!(5, "R/U What Department Code", "CE", O, rep),
fld!(6, "R/U Display/Print Locations", "ST", O, rep),
fld!(7, "R/U Results Level", "ID", O),
];
const URS: &[FieldSpec] = &[
fld!(1, "R/U Where Subject Definition", "ST", R, rep),
fld!(2, "R/U When Data Start Date/Time", "TS", O),
fld!(3, "R/U When Data End Date/Time", "TS", O),
fld!(4, "R/U What User Qualifier", "ST", O, rep),
fld!(5, "R/U Other Results Subject Definition", "ST", O, rep),
fld!(6, "R/U Which Date/Time Qualifier", "ID", O, rep),
fld!(7, "R/U Which Date/Time Status Qualifier", "ID", O, rep),
fld!(8, "R/U Date/Time Selection Qualifier", "ID", O, rep),
fld!(9, "R/U Quantity/Timing Qualifier", "TQ", O),
];
const VAR: &[FieldSpec] = &[
fld!(1, "Variance Instance ID", "EI", R),
fld!(2, "Documented Date/Time", "TS", R),
fld!(3, "Stated Variance Date/Time", "TS", O),
fld!(4, "Variance Originator", "XCN", O, rep),
fld!(5, "Variance Classification", "CE", O),
fld!(6, "Variance Description", "ST", O, rep),
];
const ZL7: &[FieldSpec] = &[
fld!(1, "Primary key value", "CE", R),
fld!(2, "Display-sort-key", "NM", R),
];
const SEGMENTS: &[SegmentSpec] = &[
SegmentSpec {
name: "ABS",
desc: "Abstract",
fields: ABS,
},
SegmentSpec {
name: "ACC",
desc: "Accident",
fields: ACC,
},
SegmentSpec {
name: "AFF",
desc: "Professional Affiliation",
fields: AFF,
},
SegmentSpec {
name: "AIG",
desc: "Appointment Information - General Resource",
fields: AIG,
},
SegmentSpec {
name: "AIL",
desc: "Appointment Information - Location",
fields: AIL,
},
SegmentSpec {
name: "AIP",
desc: "Appointment Information - Personnel",
fields: AIP,
},
SegmentSpec {
name: "AIS",
desc: "Appointment Information - Service",
fields: AIS,
},
SegmentSpec {
name: "AL1",
desc: "Patient Allergy Information",
fields: AL1,
},
SegmentSpec {
name: "APR",
desc: "Appointment Preferences",
fields: APR,
},
SegmentSpec {
name: "ARQ",
desc: "Appointment Request",
fields: ARQ,
},
SegmentSpec {
name: "AUT",
desc: "Authorization Information",
fields: AUT,
},
SegmentSpec {
name: "BHS",
desc: "Batch Header",
fields: BHS,
},
SegmentSpec {
name: "BLC",
desc: "Blood Code",
fields: BLC,
},
SegmentSpec {
name: "BLG",
desc: "Billing",
fields: BLG,
},
SegmentSpec {
name: "BPO",
desc: "Blood product order",
fields: BPO,
},
SegmentSpec {
name: "BPX",
desc: "Blood product dispense status",
fields: BPX,
},
SegmentSpec {
name: "BTS",
desc: "Batch Trailer",
fields: BTS,
},
SegmentSpec {
name: "BTX",
desc: "Blood Product Transfusion/Disposition",
fields: BTX,
},
SegmentSpec {
name: "CDM",
desc: "Charge Description Master",
fields: CDM,
},
SegmentSpec {
name: "CER",
desc: "Certificate Detail",
fields: CER,
},
SegmentSpec {
name: "CM0",
desc: "Clinical Study Master",
fields: CM0,
},
SegmentSpec {
name: "CM1",
desc: "Clinical Study Phase Master",
fields: CM1,
},
SegmentSpec {
name: "CM2",
desc: "Clinical Study Schedule Master",
fields: CM2,
},
SegmentSpec {
name: "CON",
desc: "Consent Segment",
fields: CON,
},
SegmentSpec {
name: "CSP",
desc: "Clinical Study Phase",
fields: CSP,
},
SegmentSpec {
name: "CSR",
desc: "Clinical Study Registration",
fields: CSR,
},
SegmentSpec {
name: "CSS",
desc: "Clinical Study Data Schedule Segment",
fields: CSS,
},
SegmentSpec {
name: "CTD",
desc: "Contact Data",
fields: CTD,
},
SegmentSpec {
name: "CTI",
desc: "Clinical Trial Identification",
fields: CTI,
},
SegmentSpec {
name: "DB1",
desc: "Disability",
fields: DB1,
},
SegmentSpec {
name: "DG1",
desc: "Diagnosis",
fields: DG1,
},
SegmentSpec {
name: "DRG",
desc: "Diagnosis Related Group",
fields: DRG,
},
SegmentSpec {
name: "DSC",
desc: "Continuation Pointer",
fields: DSC,
},
SegmentSpec {
name: "EDU",
desc: "Educational Detail",
fields: EDU,
},
SegmentSpec {
name: "ERR",
desc: "Error",
fields: ERR,
},
SegmentSpec {
name: "EVN",
desc: "Event Type",
fields: EVN,
},
SegmentSpec {
name: "FAC",
desc: "Facility",
fields: FAC,
},
SegmentSpec {
name: "FHS",
desc: "File Header",
fields: FHS,
},
SegmentSpec {
name: "FT1",
desc: "Financial Transaction",
fields: FT1,
},
SegmentSpec {
name: "FTS",
desc: "File Trailer",
fields: FTS,
},
SegmentSpec {
name: "GOL",
desc: "Goal Detail",
fields: GOL,
},
SegmentSpec {
name: "GP1",
desc: "Grouping/Reimbursement - Visit",
fields: GP1,
},
SegmentSpec {
name: "GP2",
desc: "Grouping/Reimbursement - Procedure Line Item",
fields: GP2,
},
SegmentSpec {
name: "GT1",
desc: "Guarantor",
fields: GT1,
},
SegmentSpec {
name: "IAM",
desc: "Patient Adverse Reaction Information",
fields: IAM,
},
SegmentSpec {
name: "IIM",
desc: "Inventory Item Master",
fields: IIM,
},
SegmentSpec {
name: "IN1",
desc: "Insurance",
fields: IN1,
},
SegmentSpec {
name: "IN2",
desc: "Insurance Additional Information",
fields: IN2,
},
SegmentSpec {
name: "IN3",
desc: "Insurance Additional Information, Certification",
fields: IN3,
},
SegmentSpec {
name: "IPC",
desc: "Imaging Procedure Control Segment",
fields: IPC,
},
SegmentSpec {
name: "LAN",
desc: "Language Detail",
fields: LAN,
},
SegmentSpec {
name: "LCC",
desc: "Location Charge Code",
fields: LCC,
},
SegmentSpec {
name: "LCH",
desc: "Location Characteristic",
fields: LCH,
},
SegmentSpec {
name: "LDP",
desc: "Location Department",
fields: LDP,
},
SegmentSpec {
name: "LOC",
desc: "Location Identification",
fields: LOC,
},
SegmentSpec {
name: "LRL",
desc: "Location Relationship",
fields: LRL,
},
SegmentSpec {
name: "MFA",
desc: "Master File Acknowledgment",
fields: MFA,
},
SegmentSpec {
name: "MFE",
desc: "Master File Entry",
fields: MFE,
},
SegmentSpec {
name: "MFI",
desc: "Master File Identification",
fields: MFI,
},
SegmentSpec {
name: "MRG",
desc: "Merge Patient Information",
fields: MRG,
},
SegmentSpec {
name: "MSA",
desc: "Message Acknowledgment",
fields: MSA,
},
SegmentSpec {
name: "MSH",
desc: "Message Header",
fields: MSH,
},
SegmentSpec {
name: "NK1",
desc: "Next of Kin / Associated Parties",
fields: NK1,
},
SegmentSpec {
name: "NPU",
desc: "Bed Status Update",
fields: NPU,
},
SegmentSpec {
name: "NTE",
desc: "Notes and Comments",
fields: NTE,
},
SegmentSpec {
name: "OBR",
desc: "Observation Request",
fields: OBR,
},
SegmentSpec {
name: "OBX",
desc: "Observation/Result",
fields: OBX,
},
SegmentSpec {
name: "ODS",
desc: "Dietary Orders, Supplements, and Preferences",
fields: ODS,
},
SegmentSpec {
name: "ODT",
desc: "Diet Tray Instructions",
fields: ODT,
},
SegmentSpec {
name: "OM1",
desc: "General Segment",
fields: OM1,
},
SegmentSpec {
name: "OM2",
desc: "Numeric Observation",
fields: OM2,
},
SegmentSpec {
name: "OM3",
desc: "Categorical Service/Test/Observation",
fields: OM3,
},
SegmentSpec {
name: "OM4",
desc: "Observations that Require Specimens",
fields: OM4,
},
SegmentSpec {
name: "OM5",
desc: "Observation Batteries (Sets)",
fields: OM5,
},
SegmentSpec {
name: "OM6",
desc: "Observations that are Calculated from Other Observations",
fields: OM6,
},
SegmentSpec {
name: "OM7",
desc: "Additional Basic Attributes",
fields: OM7,
},
SegmentSpec {
name: "ORC",
desc: "Common Order",
fields: ORC,
},
SegmentSpec {
name: "ORG",
desc: "Practitioner Organization Unit",
fields: ORG,
},
SegmentSpec {
name: "OVR",
desc: "Override Segment",
fields: OVR,
},
SegmentSpec {
name: "PCR",
desc: "Possible Causal Relationship",
fields: PCR,
},
SegmentSpec {
name: "PD1",
desc: "Patient Additional Demographic",
fields: PD1,
},
SegmentSpec {
name: "PDA",
desc: "Patient Death and Autopsy",
fields: PDA,
},
SegmentSpec {
name: "PDC",
desc: "Product Detail Country",
fields: PDC,
},
SegmentSpec {
name: "PEO",
desc: "Product Experience Observation",
fields: PEO,
},
SegmentSpec {
name: "PES",
desc: "Product Experience Sender",
fields: PES,
},
SegmentSpec {
name: "PID",
desc: "Patient Identification",
fields: PID,
},
SegmentSpec {
name: "PR1",
desc: "Procedures",
fields: PR1,
},
SegmentSpec {
name: "PRA",
desc: "Practitioner Detail",
fields: PRA,
},
SegmentSpec {
name: "PRB",
desc: "Problem Details",
fields: PRB,
},
SegmentSpec {
name: "PRC",
desc: "Pricing",
fields: PRC,
},
SegmentSpec {
name: "PRD",
desc: "Provider Data",
fields: PRD,
},
SegmentSpec {
name: "PSH",
desc: "Product Summary Header",
fields: PSH,
},
SegmentSpec {
name: "PTH",
desc: "Pathway",
fields: PTH,
},
SegmentSpec {
name: "PV1",
desc: "Patient Visit",
fields: PV1,
},
SegmentSpec {
name: "PV2",
desc: "Patient Visit - Additional Info",
fields: PV2,
},
SegmentSpec {
name: "QAK",
desc: "Query Acknowledgment",
fields: QAK,
},
SegmentSpec {
name: "QPD",
desc: "Query Parameter Definition",
fields: QPD,
},
SegmentSpec {
name: "QRD",
desc: "Original-Style Query Definition",
fields: QRD,
},
SegmentSpec {
name: "QRF",
desc: "Original Style Query Filter",
fields: QRF,
},
SegmentSpec {
name: "RCP",
desc: "Response Control Parameter",
fields: RCP,
},
SegmentSpec {
name: "RF1",
desc: "Referral Information",
fields: RF1,
},
SegmentSpec {
name: "RGS",
desc: "Resource Group",
fields: RGS,
},
SegmentSpec {
name: "RMI",
desc: "Risk Management Incident",
fields: RMI,
},
SegmentSpec {
name: "ROL",
desc: "Role",
fields: ROL,
},
SegmentSpec {
name: "RQ1",
desc: "Requisition Detail-1",
fields: RQ1,
},
SegmentSpec {
name: "RQD",
desc: "Requisition Detail",
fields: RQD,
},
SegmentSpec {
name: "RXA",
desc: "Pharmacy/Treatment Administration",
fields: RXA,
},
SegmentSpec {
name: "RXC",
desc: "Pharmacy/Treatment Component Order",
fields: RXC,
},
SegmentSpec {
name: "RXD",
desc: "Pharmacy/Treatment Dispense",
fields: RXD,
},
SegmentSpec {
name: "RXE",
desc: "Pharmacy/Treatment Encoded Order",
fields: RXE,
},
SegmentSpec {
name: "RXG",
desc: "Pharmacy/Treatment Give",
fields: RXG,
},
SegmentSpec {
name: "RXO",
desc: "Pharmacy/Treatment Order",
fields: RXO,
},
SegmentSpec {
name: "RXR",
desc: "Pharmacy/Treatment Route",
fields: RXR,
},
SegmentSpec {
name: "SCH",
desc: "Scheduling Activity Information",
fields: SCH,
},
SegmentSpec {
name: "SFT",
desc: "Software Segment",
fields: SFT,
},
SegmentSpec {
name: "SPM",
desc: "Specimen",
fields: SPM,
},
SegmentSpec {
name: "STF",
desc: "Staff Identification",
fields: STF,
},
SegmentSpec {
name: "TQ1",
desc: "Timing/Quantity",
fields: TQ1,
},
SegmentSpec {
name: "TQ2",
desc: "Timing/Quantity Relationship",
fields: TQ2,
},
SegmentSpec {
name: "TXA",
desc: "Transcription Document Header",
fields: TXA,
},
SegmentSpec {
name: "UB1",
desc: "UB82",
fields: UB1,
},
SegmentSpec {
name: "UB2",
desc: "UB92 Data",
fields: UB2,
},
SegmentSpec {
name: "URD",
desc: "Results/Update Definition",
fields: URD,
},
SegmentSpec {
name: "URS",
desc: "Unsolicited Selection",
fields: URS,
},
SegmentSpec {
name: "VAR",
desc: "Variance",
fields: VAR,
},
SegmentSpec {
name: "ZL7",
desc: "(proposed example only)",
fields: ZL7,
},
];
const KNOWN_SEGMENT_NAMES: &[(&str, &str)] = &[
("SFT", "Software Segment"),
("UAC", "User Authentication Credential"),
("ACC", "Accident"),
("UB1", "UB82 Data"),
("UB2", "UB92 Data"),
("DB1", "Disability"),
("DRG", "Diagnosis Related Group"),
("ROL", "Role"),
("PDA", "Patient Death and Autopsy"),
("ARV", "Access Restrictions"),
("MRG", "Merge Patient Information"),
("SPM", "Specimen"),
("TQ1", "Timing/Quantity"),
("TQ2", "Timing/Quantity Relationship"),
("RXE", "Pharmacy/Treatment Encoded Order"),
("RXR", "Pharmacy/Treatment Route"),
("RXC", "Pharmacy/Treatment Component Order"),
("RXD", "Pharmacy/Treatment Dispense"),
("RXG", "Pharmacy/Treatment Give"),
("ORO", "Order Other"),
("BLG", "Billing"),
("CTI", "Clinical Trial Identification"),
("QAK", "Query Acknowledgment"),
("QPD", "Query Parameter Definition"),
("RCP", "Response Control Parameter"),
("DSC", "Continuation Pointer"),
("QRF", "Original Style Query Filter"),
("URD", "Results/Update Definition"),
("URS", "Unsolicited Selection"),
("PRA", "Practitioner Detail"),
("STF", "Staff Identification"),
("MFI", "Master File Identification"),
("MFE", "Master File Entry"),
("LOC", "Location Identification"),
("NPU", "Bed Status Update"),
("PEO", "Product Experience Observation"),
("IN2", "Insurance Additional Information"),
("IN3", "Insurance Additional Info - Cert"),
("APR", "Appointment Preferences"),
("ARQ", "Appointment Request"),
("AIG", "Appointment Information - General Resource"),
("OBS", "Observation"),
("CTD", "Contact Data"),
("ODS", "Dietary Orders, Supplements and Preferences"),
("RQD", "Requisition Detail"),
("RXO", "Pharmacy/Treatment Order"),
];
#[must_use]
pub fn segment_spec(name: &str) -> Option<&'static SegmentSpec> {
let at = SEGMENTS.binary_search_by(|s| s.name.cmp(name)).ok()?;
SEGMENTS.get(at)
}
#[must_use]
pub fn segment_desc(name: &str) -> Option<&'static str> {
segment_spec(name).map(|s| s.desc).or_else(|| {
KNOWN_SEGMENT_NAMES
.iter()
.find(|(n, _)| *n == name)
.map(|(_, d)| *d)
})
}
#[must_use]
pub fn field_spec(segment: &str, seq: usize) -> Option<&'static FieldSpec> {
segment_spec(segment).and_then(|s| s.fields.iter().find(|f| f.seq == seq))
}
#[derive(Debug)]
pub struct TableDef {
pub id: &'static str,
pub name: &'static str,
pub codes: &'static [(&'static str, &'static str)],
pub closed: bool,
}
const TABLES: &[TableDef] = &[
TableDef {
id: "0001",
name: "Administrative Sex",
closed: false,
codes: &[
("F", "Female"),
("M", "Male"),
("O", "Other"),
("U", "Unknown"),
("A", "Ambiguous"),
("N", "Not applicable"),
],
},
TableDef {
id: "0002",
name: "Marital Status",
closed: false,
codes: &[
("A", "Separated"),
("D", "Divorced"),
("M", "Married"),
("S", "Single"),
("W", "Widowed"),
("C", "Common law"),
("G", "Living together"),
("P", "Domestic partner"),
("U", "Unknown"),
("N", "Annulled"),
("I", "Interlocutory"),
("B", "Unmarried"),
("T", "Unreported"),
("R", "Registered domestic partner"),
("E", "Legally separated"),
("O", "Other"),
],
},
TableDef {
id: "0003",
name: "Event Type",
closed: false,
codes: &[
("A01", "Admit/visit notification"),
("A02", "Transfer a patient"),
("A03", "Discharge/end visit"),
("A04", "Register a patient"),
("A05", "Pre-admit a patient"),
("A06", "Change outpatient to inpatient"),
("A07", "Change inpatient to outpatient"),
("A08", "Update patient information"),
("A09", "Patient departing - tracking"),
("A10", "Patient arriving - tracking"),
("A11", "Cancel admit/visit notification"),
("A12", "Cancel transfer"),
("A13", "Cancel discharge/end visit"),
("A14", "Pending admit"),
("A15", "Pending transfer"),
("A16", "Pending discharge"),
("A17", "Swap patients"),
("A18", "Merge patient information"),
("A19", "Patient query"),
("A20", "Bed status update"),
("A21", "Patient goes on leave of absence"),
("A22", "Patient returns from leave"),
("A23", "Delete a patient record"),
("A24", "Link patient information"),
("A25", "Cancel pending discharge"),
("A26", "Cancel pending transfer"),
("A27", "Cancel pending admit"),
("A28", "Add person information"),
("A29", "Delete person information"),
("A30", "Merge person information"),
("A31", "Update person information"),
("A32", "Cancel patient arriving"),
("A33", "Cancel patient departing"),
("A34", "Merge patient - patient ID"),
("A35", "Merge patient - account number"),
("A36", "Merge patient - ID and account"),
("A37", "Unlink patient information"),
("A38", "Cancel pre-admit"),
("A39", "Merge person - external ID"),
("A40", "Merge patient - identifier list"),
("A41", "Merge account - patient account number"),
("A44", "Move account information"),
("A45", "Move visit information"),
("A47", "Change patient identifier list"),
("A60", "Update allergy information"),
("A61", "Change consulting doctor"),
],
},
TableDef {
id: "0004",
name: "Patient Class",
closed: false,
codes: &[
("E", "Emergency"),
("I", "Inpatient"),
("O", "Outpatient"),
("P", "Preadmit"),
("R", "Recurring patient"),
("B", "Obstetrics"),
("C", "Commercial account"),
("N", "Not applicable"),
("U", "Unknown"),
],
},
TableDef {
id: "0006",
name: "Religion",
closed: false,
codes: &[
("A", "Atheist"),
("B", "Baptist"),
("C", "Catholic"),
("E", "Episcopalian"),
("J", "Judaism"),
("L", "Lutheran"),
("M", "Church of Latter Day Saints (Mormon)"),
("N", "Hindu"),
("P", "Protestant"),
("AGN", "Agnostic"),
("ATH", "Atheist"),
("BAH", "Baha'i"),
("BRE", "Brethren"),
("BUD", "Buddhist"),
("BMA", "Buddhist: Mahayana"),
("BTH", "Buddhist: Theravada"),
("BTA", "Buddhist: Tantrayana"),
("BOT", "Buddhist: Other"),
("CFR", "Chinese Folk Religionist"),
("CHR", "Christian"),
("ABC", "Christian: American Baptist Church"),
("AMT", "Christian: African Methodist Episcopal"),
("AME", "Christian: African Methodist Episcopal Zion"),
("ANG", "Christian: Anglican"),
("AOG", "Christian: Assembly of God"),
("BAP", "Christian: Baptist"),
("CRR", "Christian: Christian Reformed"),
("CHS", "Christian: Christian Science"),
("CMA", "Christian: Christian Missionary Alliance"),
("COC", "Christian: Church of Christ"),
("COG", "Christian: Church of God"),
("COI", "Christian: Church of God in Christ"),
("COM", "Christian: Community"),
("COL", "Christian: Congregational"),
("EOT", "Christian: Eastern Orthodox"),
("EVC", "Christian: Evangelical Church"),
("EPI", "Christian: Episcopalian"),
("FWB", "Christian: Free Will Baptist"),
("FRQ", "Christian: Friends"),
("FUL", "Christian: Full Gospel"),
("GRE", "Christian: Greek Orthodox"),
("JWN", "Christian: Jehovah's Witness"),
("MOM", "Christian: Latter-day Saints"),
("LUT", "Christian: Lutheran"),
("LMS", "Christian: Lutheran Missouri Synod"),
("MEN", "Christian: Mennonite"),
("MET", "Christian: Methodist"),
("NAZ", "Christian: Church of the Nazarene"),
("ORT", "Christian: Orthodox"),
("PEN", "Christian: Pentecostal"),
("COP", "Christian: Other Pentecostal"),
("PRE", "Christian: Presbyterian"),
("PRO", "Christian: Protestant"),
("PRC", "Christian: Other Protestant"),
("QUA", "Christian: Friends"),
("REC", "Christian: Reformed Church"),
("REO", "Christian: Reorganized Church of Jesus Christ-LDS"),
("CAT", "Christian: Roman Catholic"),
("SAA", "Christian: Salvation Army"),
("SEV", "Christian: Seventh Day Adventist"),
("SOU", "Christian: Southern Baptist"),
("UCC", "Christian: United Church of Christ"),
("UMD", "Christian: United Methodist"),
("UNI", "Christian: Unitarian"),
("UNU", "Christian: Unitarian Universalist"),
("WES", "Christian: Wesleyan"),
("WMC", "Christian: Wesleyan Methodist"),
("COT", "Christian: Other"),
("CNF", "Confucian"),
("DOC", "Disciples of Christ"),
("ERL", "Ethnic Religionist"),
("HIN", "Hindu"),
("HSH", "Hindu: Shaivites"),
("HVA", "Hindu: Vaishnavites"),
("HOT", "Hindu: Other"),
("JAI", "Jain"),
("JEW", "Jewish"),
("JCO", "Jewish: Conservative"),
("JOR", "Jewish: Orthodox"),
("JRC", "Jewish: Reconstructionist"),
("JRF", "Jewish: Reform"),
("JRN", "Jewish: Renewal"),
("JOT", "Jewish: Other"),
("MOS", "Muslim"),
("MSH", "Muslim: Shiite"),
("MSU", "Muslim: Sunni"),
("MOT", "Muslim: Other"),
("NAM", "Native American"),
("NRL", "New Religionist"),
("NOE", "Nonreligious"),
("SHN", "Shintoist"),
("SIK", "Sikh"),
("SPI", "Spiritist"),
("OTH", "Other"),
("VAR", "Unknown"),
],
},
TableDef {
id: "0007",
name: "Admission Type",
closed: false,
codes: &[
("A", "Accident"),
("C", "Elective"),
("E", "Emergency"),
("L", "Labor and delivery"),
("N", "Newborn"),
("R", "Routine"),
("U", "Urgent"),
],
},
TableDef {
id: "0008",
name: "Acknowledgment Code",
closed: true,
codes: &[
("AA", "Original mode: application accept"),
("AE", "Original mode: application error"),
("AR", "Original mode: application reject"),
("CA", "Enhanced mode: commit accept"),
("CE", "Enhanced mode: commit error"),
("CR", "Enhanced mode: commit reject"),
],
},
TableDef {
id: "0009",
name: "Ambulatory Status",
closed: false,
codes: &[
("A0", "No functional limitations"),
("A1", "Ambulates with assistive device"),
("A2", "Wheelchair/stretcher bound"),
("A3", "Comatose; non-responsive"),
("A4", "Disoriented"),
("A5", "Vision impaired"),
("A6", "Hearing impaired"),
("A7", "Speech impaired"),
("A8", "Non-English speaking"),
("A9", "Functional level unknown"),
("B1", "Oxygen therapy"),
("B2", "Special equipment (tubes, IVs, catheters)"),
("B3", "Amputee"),
("B4", "Mastectomy"),
("B5", "Paraplegic"),
("B6", "Pregnant"),
],
},
TableDef {
id: "0017",
name: "Transaction Type",
closed: false,
codes: &[
("CG", "Charge"),
("CD", "Credit"),
("PY", "Payment"),
("AJ", "Adjustment"),
],
},
TableDef {
id: "0038",
name: "Order Status",
closed: false,
codes: &[
("A", "Some results available"),
("CA", "Order was cancelled"),
("CM", "Order is completed"),
("DC", "Order was discontinued"),
("ER", "Error, order not found"),
("HD", "Order is on hold"),
("IP", "In process, unspecified"),
("RP", "Order has been replaced"),
("SC", "In process, scheduled"),
],
},
TableDef {
id: "0048",
name: "What subject filter",
closed: false,
codes: &[
("ADV", "Advice/diagnosis"),
("ANU", "Nursing unit lookup (returns patients in beds, excluding empty beds)"),
("APN", "Patient name lookup"),
("APP", "Physician lookup"),
("ARN", "Nursing unit lookup (returns patients in beds, including empty beds)"),
("APM", "Medical record number query, returns visits for a medical record number"),
("APA", "Account number query, return matching visit"),
("CAN", "Cancel. Used to cancel a query"),
("DEM", "Demographics"),
("FIN", "Financial"),
("GID", "Generate new identifier"),
("GOL", "Goals"),
("MRI", "Most recent inpatient"),
("MRO", "Most recent outpatient"),
("NCK", "Network clock"),
("NSC", "Network status change"),
("NST", "Network statistic"),
("ORD", "Order"),
("OTH", "Other"),
("PRB", "Problems"),
("PRO", "Procedure"),
("RES", "Result"),
("RAR", "Pharmacy administration information"),
("RER", "Pharmacy encoded order information"),
("RDR", "Pharmacy dispense information"),
("RGR", "Pharmacy give information"),
("MFQ", "Master file query"),
("ROR", "Pharmacy prescription information"),
("SAL", "All schedule related information, including open slots, booked slots, blocked slots"),
("SBK", "Booked slots on the identified schedule"),
("SBL", "Blocked slots on the identified schedule"),
("SOF", "First open slot on the identified schedule after the start date/tiem"),
("SOP", "Open slots on the identified schedule between the begin and end of the start date/time range"),
("SSA", "Time slots available for a single appointment"),
("SSR", "Time slots available for a recurring appointment"),
("STA", "Status"),
("VXI", "Vaccine Information"),
("XID", "Get cross-referenced identifiers"),
],
},
TableDef {
id: "0052",
name: "Diagnosis Type",
closed: false,
codes: &[("A", "Admitting"), ("W", "Working"), ("F", "Final")],
},
TableDef {
id: "0062",
name: "Event Reason",
closed: false,
codes: &[
("01", "Patient request"),
("02", "Physician/health practitioner order"),
("03", "Census management"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0063",
name: "Relationship",
closed: false,
codes: &[
("SEL", "Self"),
("SPO", "Spouse"),
("DOM", "Life partner"),
("CHD", "Child"),
("PAR", "Parent"),
("MTH", "Mother"),
("FTH", "Father"),
("SIB", "Sibling"),
("BRO", "Brother"),
("SIS", "Sister"),
("GRD", "Guardian"),
("EMR", "Emergency contact"),
("FND", "Friend"),
("OTH", "Other"),
("UNK", "Unknown"),
("EME", "Employee"),
("EMC", "Emergency contact"),
("GRP", "Grandparent"),
("EXF", "Extended family"),
],
},
TableDef {
id: "0065",
name: "Specimen Action Code",
closed: false,
codes: &[
("A", "Add ordered tests"),
("G", "Generated order"),
("L", "Lab to obtain specimen"),
("O", "Specimen obtained by service other than lab"),
("P", "Pending specimen"),
("R", "Revised order"),
("S", "Schedule the tests"),
],
},
TableDef {
id: "0070",
name: "Specimen Source Codes",
closed: false,
codes: &[
("MN", "Amniotic Fluid"),
("OTH", "Other"),
("TIS", "Tissue"),
("ABS", "Abscess"),
("AMN", "Amniotic fluid"),
("ASP", "Aspirate"),
("BPH", "Basophils"),
("ABLD", "Arterial blood"),
("BIFL", "Bile fluid"),
("BLDA", "Blood arterial"),
("BBL", "Blood bag"),
("BLDC", "Blood capillary"),
("BPU", "Blood product unit"),
("BLDV", "Blood venous"),
("BON", "Bone"),
("BRTH", "Breath (use EXHLD)"),
("BRO", "Bronchial"),
("BRN", "Burn"),
("CALC", "Calculus (=Stone)"),
("CDM", "Cardiac muscle"),
("CNL", "Cannula"),
("CTP", "Catheter tip"),
("CSF", "Cerebral spinal fluid"),
("CVM", "Cervical mucus"),
("CVX", "Cervix"),
("COL", "Colostrum"),
("CBLD", "Cord blood"),
("BLDCO", "Cord blood"),
("CNJT", "Conjunctiva"),
("CUR", "Curettage"),
("CYST", "Cyst"),
("DIAF", "Dialysis fluid"),
("DOSE", "Dose med or substance"),
("DRN", "Drain"),
("DUFL", "Duodenal fluid"),
("EAR", "Ear"),
("EARW", "Ear wax (cerumen)"),
("ELT", "Electrode"),
("ENDC", "Endocardium"),
("ENDM", "Endometrium"),
("EOS", "Eosinophils"),
("RBC", "Erythrocytes"),
("EYE", "Eye"),
("EXHLD", "Exhaled gas (=breath)"),
("EXG", "Exhaled gas (=breath)"),
("FIB", "Fibroblasts"),
("FLT", "Filter"),
("FIST", "Fistula"),
("FLU", "Body fluid, unsp"),
("GAS", "Gas"),
("GAST", "Gastric fluid/contents"),
("GEN", "Genital"),
("GENC", "Genital cervix"),
("GENL", "Genital lochia"),
("GENV", "Genital vaginal"),
("HAR", "Hair"),
("IHG", "Inhaled Gas"),
("IT", "Intubation tube"),
("ISLT", "Isolate"),
("LAM", "Lamella"),
("WBC", "Leukocytes"),
("LN", "Line"),
("LNA", "Line arterial"),
("PER", "Peritoneum"),
("LNV", "Line venous"),
("LIQ", "Liquid NOS"),
("LYM", "Lymphocytes"),
("MAC", "Macrophages"),
("MAR", "Marrow"),
("MEC", "Meconium"),
("MBLD", "Menstrual blood"),
("MLK", "Milk"),
("MILK", "Breast milk"),
("NAIL", "Nail"),
("NOS", "Nose (nasal passage)"),
("ORH", "Other"),
("PAFL", "Pancreatic fluid"),
("PAT", "Patient"),
("PRT", "Peritoneal fluid /ascites"),
("PLC", "Placenta"),
("PLAS", "Plasma"),
("PLB", "Plasma bag"),
("PLR", "Pleural fluid (thoracentesis fld)"),
("PMN", "Polymorphonuclear neutrophils"),
("PPP", "Platelet poor plasma"),
("PRP", "Platelet rich plasma"),
("PUS", "Pus"),
("TISB", "Tissue bone marrow"),
("RT", "Route of medicine"),
("SAL", "Saliva"),
("SEM", "Seminal fluid"),
("TISL", "Tissue lung"),
("SMN", "Seminal fluid"),
("SER", "Serum"),
("TISP", "Tissue peritoneum"),
("SKN", "Skin"),
("SKM", "Skeletal muscle"),
("TISC", "Tissue curettage"),
("SPRM", "Spermatozoa"),
("SPT", "Sputum"),
("SPTC", "Sputum - coughed"),
("SPTT", "Sputum - tracheal aspirate"),
("STON", "Stone (use CALC)"),
("STL", "Stool = Fecal"),
("SWT", "Sweat"),
("SNV", "Synovial fluid (Joint fluid)"),
("TEAR", "Tears"),
("THRT", "Throat"),
("THRB", "Thrombocyte (platelet)"),
("TISS", "Tissue"),
("TISG", "Tissue gall bladder"),
("TLGI", "Tissue large intestine"),
("TLNG", "Tissue lung"),
("TISPL", "Tissue placenta"),
("TSMI", "Tissue small intestine"),
("TISU", "Tissue ulcer"),
("TUB", "Tube NOS"),
("ULC", "Ulcer"),
("UMB", "Umbilical blood"),
("UMED", "Unknown medicine"),
("URTH", "Urethra"),
("UR", "Urine"),
("URC", "Urine clean catch"),
("URT", "Urine catheter"),
("URNS", "Urine sediment"),
("USUB", "Unknown substance"),
("VITF", "Vitreous Fluid"),
("VOM", "Vomitus"),
("BLD", "Whole blood"),
("BDY", "Whole body"),
("WAT", "Water"),
("WICK", "Wick"),
("WND", "Wound"),
("WNDA", "Wound abscess"),
("WNDE", "Wound exudate"),
("WNDD", "Wound drainage"),
("XXX", "To be specified in another part of the message"),
],
},
TableDef {
id: "0074",
name: "Diagnostic Service Section ID",
closed: false,
codes: &[
("AU", "Audiology"),
("BG", "Blood gases"),
("BLB", "Blood bank"),
("CH", "Chemistry"),
("CP", "Cytopathology"),
("CT", "CAT scan"),
("CTH", "Cardiac catheterization"),
("CUS", "Cardiac ultrasound"),
("EC", "Electrocardiac"),
("EN", "Electroneuro"),
("HM", "Hematology"),
("ICU", "Bedside ICU monitoring"),
("IMM", "Immunology"),
("LAB", "Laboratory"),
("MB", "Microbiology"),
("MCB", "Mycobacteriology"),
("MYC", "Mycology"),
("NMR", "Nuclear magnetic resonance"),
("NMS", "Nuclear medicine scan"),
("NRS", "Nursing service measures"),
("OSL", "Outside lab"),
("OT", "Occupational therapy"),
("OTH", "Other"),
("OUS", "OB ultrasound"),
("PF", "Pulmonary function"),
("PHR", "Pharmacy"),
("PHY", "Physician (Hx, Dx, admission note)"),
("PT", "Physical therapy"),
("RAD", "Radiology"),
("RC", "Respiratory care"),
("RT", "Radiation therapy"),
("RUS", "Radiology ultrasound"),
("RX", "Radiograph"),
("SP", "Surgical pathology"),
("SR", "Serology"),
("TX", "Toxicology"),
("VR", "Virology"),
("VUS", "Vascular ultrasound"),
("XRC", "Cineradiograph"),
],
},
TableDef {
id: "0076",
name: "Message Type",
closed: false,
codes: &[
("ACK", "General acknowledgment"),
("ADT", "Admit/discharge/transfer"),
("BAR", "Add/change billing account"),
("DFT", "Detail financial transaction"),
("MDM", "Medical document management"),
("MFN", "Master files notification"),
("MFK", "Master files application acknowledgment"),
("OMG", "General clinical order"),
("OML", "Laboratory order"),
("OMP", "Pharmacy/treatment order"),
("ORM", "Order message"),
("ORR", "Order response"),
("ORU", "Observation result unsolicited"),
("OUL", "Unsolicited laboratory observation"),
("QBP", "Query by parameter"),
("QRY", "Query, original mode"),
("RAS", "Pharmacy/treatment administration"),
("RDE", "Pharmacy/treatment encoded order"),
("RDS", "Pharmacy/treatment dispense"),
("RGV", "Pharmacy/treatment give"),
("RSP", "Segment pattern response"),
("SIU", "Schedule information unsolicited"),
("SRM", "Schedule request"),
("SRR", "Scheduled request response"),
("SQM", "Schedule query"),
("VXU", "Unsolicited vaccination record update"),
("VXQ", "Query for vaccination record"),
],
},
TableDef {
id: "0078",
name: "Abnormal Flags",
closed: false,
codes: &[
("L", "Below low normal"),
("H", "Above high normal"),
("LL", "Below lower panic limit"),
("HH", "Above upper panic limit"),
("N", "Normal"),
("A", "Abnormal"),
("AA", "Critically abnormal"),
("<", "Below absolute low-off instrument scale"),
(">", "Above absolute high-off instrument scale"),
("S", "Susceptible"),
("R", "Resistant"),
("I", "Intermediate"),
("MS", "Moderately susceptible"),
("VS", "Very susceptible"),
("U", "Significant change up"),
("D", "Significant change down"),
("B", "Better"),
("W", "Worse"),
("null", "No level defined"),
],
},
TableDef {
id: "0080",
name: "Nature of Abnormal Testing",
closed: false,
codes: &[
("A", "An age-based population"),
("N", "None - generic normal range"),
("R", "A race-based population"),
("S", "A sex-based population"),
("SP", "Species"),
("B", "Breed"),
("ST", "Strain"),
],
},
TableDef {
id: "0083",
name: "Outlier Type",
closed: false,
codes: &[
("D", "Outlier days"),
("C", "Outlier cost"),
],
},
TableDef {
id: "0085",
name: "Observation Result Status",
closed: false,
codes: &[
("C", "Corrected result"),
("D", "Deleted"),
("F", "Final result"),
("I", "Specimen in lab, results pending"),
("P", "Preliminary result"),
("R", "Results entered, not verified"),
("S", "Partial results"),
("U", "Results status change to final"),
("W", "Post original as wrong"),
("X", "Results cannot be obtained"),
],
},
TableDef {
id: "0091",
name: "Query Priority",
closed: false,
codes: &[("D", "Deferred"), ("I", "Immediate")],
},
TableDef {
id: "0092",
name: "Re - Admission Indicator",
closed: false,
codes: &[
("R", "Re-admission"),
],
},
TableDef {
id: "0098",
name: "Type of Agreement",
closed: false,
codes: &[
("S", "Standard"),
("U", "Unified"),
("M", "Maternity"),
],
},
TableDef {
id: "0102",
name: "Delayed acknowledgment type",
closed: false,
codes: &[
("D", "Message received, stored for later processing"),
("F", "acknowledgment after processing"),
],
},
TableDef {
id: "0103",
name: "Processing ID",
closed: true,
codes: &[("D", "Debugging"), ("P", "Production"), ("T", "Training")],
},
TableDef {
id: "0104",
name: "Version ID",
closed: true,
codes: &[
("2.0", "Release 2.0 (1988)"),
("2.0D", "Demo 2.0"),
("2.1", "Release 2.1 (1990)"),
("2.2", "Release 2.2 (1994)"),
("2.3", "Release 2.3 (1997)"),
("2.3.1", "Release 2.3.1 (1999)"),
("2.4", "Release 2.4 (2000)"),
("2.5", "Release 2.5 (2003)"),
("2.5.1", "Release 2.5.1 (2007)"),
("2.6", "Release 2.6 (2007)"),
("2.7", "Release 2.7 (2011)"),
("2.7.1", "Release 2.7.1 (2012)"),
("2.8", "Release 2.8 (2014)"),
("2.8.1", "Release 2.8.1 (2015)"),
("2.8.2", "Release 2.8.2 (2016)"),
("2.9", "Release 2.9 (2019)"),
],
},
TableDef {
id: "0105",
name: "Source of Comment",
closed: false,
codes: &[
("L", "Ancillary (filler) department"),
("P", "Orderer (placer)"),
("O", "Other system"),
],
},
TableDef {
id: "0106",
name: "Query/Response Format Code",
closed: false,
codes: &[
("D", "Response is in display format"),
("R", "Response is in record-oriented format"),
("T", "Response is in tabular format"),
],
},
TableDef {
id: "0107",
name: "Deferred response type",
closed: false,
codes: &[
("B", "Before the Date/Time specified"),
("L", "Later than the Date/Time specified"),
],
},
TableDef {
id: "0108",
name: "Query results level",
closed: false,
codes: &[
("O", "Order plus order status"),
("R", "Results without bulk text"),
("S", "Status only"),
("T", "Full results"),
],
},
TableDef {
id: "0112",
name: "Discharge Disposition",
closed: false,
codes: &[
("01", "Discharged to home or self care"),
("02", "Discharged to another short term hospital"),
("03", "Discharged to skilled nursing facility"),
("04", "Discharged to intermediate care facility"),
("05", "Discharged to another institution"),
("06", "Discharged to home under care of home health service"),
("07", "Left against medical advice"),
("20", "Expired"),
("30", "Still patient"),
],
},
TableDef {
id: "0116",
name: "Bed Status",
closed: false,
codes: &[
("C", "Closed"),
("H", "Housekeeping"),
("O", "Occupied"),
("U", "Unoccupied"),
("K", "Contaminated"),
("I", "Isolated"),
],
},
TableDef {
id: "0119",
name: "Order Control Codes",
closed: false,
codes: &[
("NW", "New order"),
("OK", "Order accepted"),
("CA", "Cancel order request"),
("CR", "Cancelled as requested"),
("DC", "Discontinue order request"),
("DR", "Discontinued as requested"),
("HD", "Hold order request"),
("RO", "Replacement order"),
("RP", "Order replace request"),
("RU", "Replaced unsolicited"),
("SC", "Status changed"),
("SN", "Send order number"),
("UA", "Unable to accept order"),
("UC", "Unable to cancel"),
("XO", "Change order request"),
("XX", "Order changed, unsolicited"),
("RE", "Observations to follow"),
],
},
TableDef {
id: "0121",
name: "Response flag",
closed: false,
codes: &[
("E", "Report exceptions only"),
("R", "Same as E, also Replacement and Parent-Child"),
("D", "Same as R, also other associated segments"),
("F", "Same as D, plus confirmations explicitly"),
("N", "Only the MSA segment is returned"),
],
},
TableDef {
id: "0123",
name: "Result Status",
closed: false,
codes: &[
("O", "Order received, specimen not yet received"),
("I", "No results available, specimen received"),
("S", "No results available, procedure scheduled"),
("A", "Some results available"),
("P", "Preliminary"),
("C", "Correction to results"),
("R", "Results entered, not verified"),
("F", "Final results"),
("X", "No results available, order cancelled"),
("Y", "No order on record"),
("Z", "No record of this patient"),
],
},
TableDef {
id: "0124",
name: "Transportation Mode",
closed: false,
codes: &[
("CART", "Cart - patient travels on cart or gurney"),
("PORT", "The examining device goes to patient's location"),
("WALK", "Patient walks to diagnostic service"),
("WHLC", "Wheelchair"),
],
},
TableDef {
id: "0125",
name: "Value Type",
closed: false,
codes: &[
("AD", "Address"),
("CE", "Coded entry"),
("CF", "Coded element with formatted values"),
("CK", "Composite ID with check digit"),
("CN", "Composite ID and name"),
("CP", "Composite price"),
("CWE", "Coded with exceptions"),
("CX", "Extended composite ID"),
("DT", "Date"),
("ED", "Encapsulated data"),
("FT", "Formatted text"),
("ID", "Coded value"),
("IS", "Coded value, user table"),
("MO", "Money"),
("NM", "Numeric"),
("PN", "Person name"),
("RP", "Reference pointer"),
("SN", "Structured numeric"),
("ST", "String"),
("TM", "Time"),
("TN", "Telephone number"),
("TS", "Time stamp"),
("TX", "Text"),
("XAD", "Extended address"),
("XCN", "Extended composite name and ID"),
("XON", "Extended organization name"),
("XPN", "Extended person name"),
("XTN", "Extended telecommunication number"),
],
},
TableDef {
id: "0127",
name: "Allergen Type",
closed: false,
codes: &[
("DA", "Drug allergy"),
("FA", "Food allergy"),
("MA", "Miscellaneous allergy"),
("MC", "Miscellaneous contraindication"),
("EA", "Environmental allergy"),
("AA", "Animal allergy"),
("PA", "Plant allergy"),
("LA", "Pollen allergy"),
],
},
TableDef {
id: "0128",
name: "Allergy Severity",
closed: false,
codes: &[
("SV", "Severe"),
("MO", "Moderate"),
("MI", "Mild"),
("U", "Unknown"),
],
},
TableDef {
id: "0130",
name: "Visit User Code",
closed: false,
codes: &[
("TE", "Teaching"),
("HO", "Home"),
("MO", "Mobile Unit"),
("PH", "Phone"),
],
},
TableDef {
id: "0135",
name: "Assignment of Benefits",
closed: false,
codes: &[
("Y", "Yes"),
("N", "No"),
("M", "Modified assignment"),
],
},
TableDef {
id: "0136",
name: "Yes/No Indicator",
closed: true,
codes: &[("Y", "Yes"), ("N", "No")],
},
TableDef {
id: "0140",
name: "Military Service",
closed: false,
codes: &[
("USA", "US Army"),
("USN", "US Navy"),
("USAF", "US Air Force"),
("USMC", "US Marine Corps"),
("USCG", "US Coast Guard"),
("USPHS", "US Public Health Service"),
("NOAA", "National Oceanic and Atmospheric Administration"),
("NATO", "North Atlantic Treaty Organization"),
("AUSA", "Australian Army"),
("AUSN", "Australian Navy"),
("AUSAF", "Australian Air Force"),
],
},
TableDef {
id: "0142",
name: "Military Status",
closed: false,
codes: &[
("ACT", "Active duty"),
("RET", "Retired"),
("DEC", "Deceased"),
],
},
TableDef {
id: "0149",
name: "Day type",
closed: false,
codes: &[
("AP", "Approved"),
("DE", "Denied"),
("PE", "Pending"),
],
},
TableDef {
id: "0155",
name: "Accept/Application Acknowledgment Conditions",
closed: true,
codes: &[
("AL", "Always"),
("NE", "Never"),
("ER", "Only on error"),
("SU", "Only on success"),
],
},
TableDef {
id: "0160",
name: "Tray Type",
closed: false,
codes: &[
("EARLY", "Early tray"),
("LATE", "Late tray"),
("GUEST", "Guest tray"),
("NO", "No tray"),
("MSG", "Tray message only"),
],
},
TableDef {
id: "0162",
name: "Route of Administration",
closed: false,
codes: &[
("AP", "Apply Externally"),
("B", "Buccal"),
("DT", "Dental"),
("EP", "Epidural"),
("ET", "Endotrachial Tube"),
("GTT", "Gastrostomy Tube"),
("GU", "GU Irrigant"),
("IMR", "Immerse (Soak) Body Part"),
("IA", "Intra-arterial"),
("IB", "Intrabursal"),
("IC", "Intracardiac"),
("ICV", "Intracervical (uterus)"),
("ID", "Intradermal"),
("IH", "Inhalation"),
("IHA", "Intrahepatic Artery"),
("IM", "Intramuscular"),
("IN", "Intranasal"),
("IO", "Intraocular"),
("IP", "Intraperitoneal"),
("IS", "Intrasynovial"),
("IT", "Intrathecal"),
("IU", "Intrauterine"),
("IV", "Intravenous"),
("MTH", "Mouth/Throat"),
("MM", "Mucous Membrane"),
("NS", "Nasal"),
("NG", "Nasogastric"),
("NP", "Nasal Prongs"),
("NT", "Nasotrachial Tube"),
("OP", "Ophthalmic"),
("OT", "Otic"),
("OTH", "Other/Miscellaneous"),
("PF", "Perfusion"),
("PO", "Oral"),
("PR", "Rectal"),
("RM", "Rebreather Mask"),
("SD", "Soaked Dressing"),
("SC", "Subcutaneous"),
("SL", "Sublingual"),
("TP", "Topical"),
("TRA", "Tracheostomy"),
("TD", "Transdermal"),
("TL", "Translingual"),
("UR", "Urethral"),
("VG", "Vaginal"),
("VM", "Ventimask"),
("WND", "Wound"),
],
},
TableDef {
id: "0163",
name: "Body Site",
closed: false,
codes: &[
("LNB", "Nebulized"),
("LV", "Left Vastus Lateralis"),
("BE", "Bilateral Ears"),
("OU", "Bilateral Eyes"),
("BN", "Bilateral Nares"),
("BU", "Buttock"),
("CT", "Chest Tube"),
("LA", "Left Arm"),
("LAC", "Left Anterior Chest"),
("LACF", "Left Antecubital Fossa"),
("LD", "Left Deltoid"),
("LE", "Left Ear"),
("LEJ", "Left External Jugular"),
("OS", "Left Eye"),
("LF", "Left Foot"),
("LG", "Left Gluteus Medius"),
("LH", "Left Hand"),
("LIJ", "Left Internal Jugular"),
("LLAQ", "Left Lower Abd Quadrant"),
("LLFA", "Left Lower Forearm"),
("LMFA", "Left Mid Forearm"),
("LN", "Left Naris"),
("LPC", "Left Posterior Chest"),
("LSC", "Left Subclavian"),
("LT", "Left Thigh"),
("LUA", "Left Upper Arm"),
("LUAQ", "Left Upper Abd Quadrant"),
("LUFA", "Left Upper Forearm"),
("LVG", "Left Ventragluteal"),
("LVL", "Left Vastus Lateralis"),
("NB", "Nebulized"),
("PA", "Perianal"),
("PERIN", "Perineal"),
("RA", "Right Arm"),
("RAC", "Right Anterior Chest"),
("RACF", "Right Antecubital Fossa"),
("RD", "Right Deltoid"),
("RE", "Right Ear"),
("REJ", "Right External Jugular"),
("OD", "Right Eye"),
("RF", "Right Foot"),
("RG", "Right Gluteus Medius"),
("RH", "Right Hand"),
("RIJ", "Right Internal Jugular"),
("RLAQ", "Rt Lower Abd Quadrant"),
("RLFA", "Right Lower Forearm"),
("RMFA", "Right Mid Forearm"),
("RN", "Right Naris"),
("RPC", "Right Posterior Chest"),
("RSC", "Right Subclavian"),
("RT", "Right Thigh"),
("RUA", "Right Upper Arm"),
("RUAQ", "Right Upper Abd Quadrant"),
("RUFA", "Right Upper Forearm"),
("RVL", "Right Vastus Lateralis"),
("RVG", "Right Ventragluteal"),
],
},
TableDef {
id: "0164",
name: "Administration Device",
closed: false,
codes: &[
("AP", "Applicator"),
("BT", "Buretrol"),
("HL", "Heparin Lock"),
("IPPB", "IPPB"),
("IVP", "IV Pump"),
("IVS", "IV Soluset"),
("MI", "Metered Inhaler"),
("NEB", "Nebulizer"),
("PCA", "PCA Pump"),
],
},
TableDef {
id: "0165",
name: "Administration Method",
closed: false,
codes: &[
("CH", "Chew"),
("DI", "Dissolve"),
("DU", "Dust"),
("IF", "Infiltrate"),
("IS", "Insert"),
("IR", "Irrigate"),
("IVPB", "IV Piggyback"),
("IVP", "IV Push"),
("NB", "Nebulized"),
("PT", "Paint"),
("PF", "Perfuse"),
("SH", "Shampoo"),
("SO", "Soak"),
("WA", "Wash"),
("WI", "Wipe"),
],
},
TableDef {
id: "0173",
name: "Coordination of Benefits",
closed: false,
codes: &[
("CO", "Coordination"),
("IN", "Independent"),
],
},
TableDef {
id: "0174",
name: "Nature of Service/Test/Observation",
closed: false,
codes: &[
("P", "Profile or battery consisting of many independent atomic observations (e.g., SMA12, electrolytes), usually done at one instrument on one specimen"),
("F", "Functional procedure that may consist of one or more interrelated measures (e.g., glucose tolerance test, creatinine clearance), usually done at different times and/or on different specimens"),
("A", "Atomic service/test/observation (test code or treatment code)"),
("S", "Superset-a set of batteries or procedures ordered under a single code unit but processed as separate batteries (e.g., routines = CBC, UA, electrolytes)<p>This set indicates that the code being described is used to order multiple service/test/observation b"),
("C", "Single observation calculated via a rule or formula from other independent observations (e.g., Alveolar-arterial ratio, cardiac output)"),
],
},
TableDef {
id: "0175",
name: "Master file identifier code",
closed: false,
codes: &[
("OM1", "Observation text master file segments (e.g., Lab)"),
("OM2", "Observation text master file segments (e.g., Lab)"),
("OM3", "Observation text master file segments (e.g., Lab)"),
("OM4", "Observation text master file segments (e.g., Lab)"),
("OM5", "Observation text master file segments (e.g., Lab)"),
("OM6", "Observation text master file segments (e.g., Lab)"),
("CM0", "Clinical study master"),
("CM1", "Clinical study phase master"),
("CM2", "Clinical study Data Schedule Master"),
("OM1-OM6", "Observation text master file segments (e.g., Lab)"),
("CDM", "Charge description master file"),
("CMA", "Clinical study with phases and scheduled master file"),
("CMB", "Clinical study without phases but with scheduled master file"),
("LOC", "Location master file"),
("OMA", "Numerical observation master file"),
("OMB", "Categorical observation master file"),
("OMC", "Observation batteries master file"),
("OMD", "Calculated observations master file"),
("OMM", "Mixed type observation master file"),
("PRA", "Practitioner master file"),
("STF", "Staff master file"),
("CLN", "Clinic master file"),
("OME", "Other Observation/Service Item master file"),
("INV", "Inventory master file"),
("MLCP", "Medicare Limited Coverage Process"),
("MACP", "Medicare Approved Coverage Process"),
],
},
TableDef {
id: "0177",
name: "Confidentiality code",
closed: false,
codes: &[
("V", "Very restricted"),
("R", "Restricted"),
("U", "Usual control"),
("EMP", "Employee"),
("UWM", "Unwed mother"),
("VIP", "Very important person or celebrity"),
("PSY", "Psychiatric patient"),
("AID", "AIDS patient"),
("HIV", "HIV(+) patient"),
("ETH", "Alcohol/drug treatment patient"),
],
},
TableDef {
id: "0181",
name: "MFN record-level error return",
closed: false,
codes: &[
("S", "Successful posting of the record defined by the MFE segment"),
("U", "Unsuccessful posting of the record defined by the MFE segment"),
],
},
TableDef {
id: "0183",
name: "Active/Inactive",
closed: false,
codes: &[
("A", "Active Staff"),
("I", "Inactive Staff"),
],
},
TableDef {
id: "0185",
name: "Preferred method of contact",
closed: false,
codes: &[
("B", "Beeper Number"),
("C", "Cellular Phone Number"),
("E", "E-Mail Address (for backward compatibility)"),
("F", "FAX Number"),
("H", "Home Phone Number"),
("O", "Office Phone Number"),
],
},
TableDef {
id: "0189",
name: "Ethnic Group",
closed: false,
codes: &[
("H", "Hispanic or Latino"),
("N", "Not Hispanic or Latino"),
("U", "Unknown"),
],
},
TableDef {
id: "0191",
name: "Type Of Referenced Data",
closed: false,
codes: &[
("AP", "Other application data, typically uninterpreted binary data (HL7 V2.3 and later)"),
("AU", "Audio data (HL7 V2.3 and later)"),
("FT", "Formatted text (HL7 V2.2 only)"),
("IM", "Image data (HL7 V2.3 and later)"),
("multipart", "MIME multipart package"),
("NS", "Non-scanned image (HL7 V2.2 only)"),
("SD", "Scanned document (HL7 V2.2 only)"),
("SI", "Scanned image (HL7 V2.2 only)"),
("Image", "Image data (HL7 V2.3 and later)"),
("TEXT", "Machine readable text document (HL7 V2.3.1 and later)"),
("Audio", "Audio data (HL7 V2.3 and later)"),
("TX", "Machine readable text document (HL7 V2.2 only)"),
("Application", "Other application data, typically uninterpreted binary data (HL7 V2.3 and later)"),
],
},
TableDef {
id: "0203",
name: "Identifier Type",
closed: false,
codes: &[
("AC", "Accreditation/Certification Identifier"),
("ACSN", "Accession ID"),
("AIN", "Animal Identification Number (US Official)"),
("AM", "American Express"),
("AMA", "American Medical Association Number"),
("AN", "Account number"),
("ANC", "Account number Creditor"),
("AND", "Account number debitor"),
("ANON", "Anonymous identifier"),
("ANT", "Temporary Account Number"),
("APRN", "Advanced Practice Registered Nurse number"),
("ASID", "Ancestor Specimen ID"),
("BA", "Bank Account Number"),
("BC", "Bank Card Number"),
("BCFN", "Birth Certificate File Number"),
("BCT", "Birth Certificate"),
("BR", "Birth registry number"),
("BRN", "Breed Registry Number"),
("BSNR", "Primary physician office number"),
("CAAI", "Consumer Application Account Identifier"),
("CC", "Cost Center number"),
("CONM", "Change of Name Document"),
("CY", "County number"),
("CZ", "Citizenship Card"),
("DC", "Death Certificate ID"),
("DCFN", "Death Certificate File Number"),
("DDS", "Dentist license number"),
("DEA", "Drug Enforcement Administration registration number"),
("DFN", "Drug Furnishing or prescriptive authority Number"),
("DI", "Diner's Club card"),
("DL", "Driver's license number"),
("DN", "Doctor number"),
("DO", "Osteopathic License number"),
("DP", "Diplomatic Passport"),
("DPM", "Podiatrist license number"),
("DR", "Donor Registration Number"),
("DS", "Discover Card"),
("DSG", "Diagnostic Study Group"),
("EI", "Employee number"),
("EN", "Employer number"),
("ESN", "Staff Enterprise Number"),
("FDR", "Fetal Death Report ID"),
("FDRFN", "Fetal Death Report File Number"),
("FGN", "Filler Group Number"),
("FI", "Facility ID"),
("FILL", "Filler Identifier"),
("GI", "Guarantor internal identifier"),
("GIN", "Animal Group Identifier (US Official)"),
("GL", "General ledger number"),
("GN", "Guarantor external identifier"),
("HC", "Health Card Number"),
("IND", "Indigenous/Aboriginal"),
("IRISTEM", "An IRI stem"),
("JHN", "Jurisdictional health number"),
("LACSN", "Laboratory Accession ID"),
("LANR", "Lifelong physician number"),
("LI", "Labor and industries number"),
("L&I", "Labor and industries number"),
("LN", "License number"),
("LR", "Local Registry ID"),
("MA", "Patient Medicaid number"),
("MB", "Member Number"),
("MC", "Patient's Medicare number"),
("MCD", "Practitioner Medicaid number"),
("MCN", "Microchip Number"),
("MCR", "Practitioner Medicare number"),
("MCT", "Marriage Certificate"),
("MD", "Medical License number"),
("MI", "Military ID number"),
("MR", "Medical record number"),
("MRT", "Temporary Medical Record Number"),
("MS", "MasterCard"),
("NBSNR", "Secondary physician office number"),
("NCT", "Naturalization Certificate"),
("NE", "National employer identifier"),
("NH", "National Health Plan Identifier"),
("NI", "National unique individual identifier"),
("NII", "National Insurance Organization Identifier"),
("NIIP", "National Insurance Payor Identifier (Payor)"),
("NNxxx", "National Person Identifier where the xxx is the ISO table 3166 3-character (alphabetic) country code"),
("NP", "Nurse practitioner number"),
("NPI", "National provider identifier"),
("OBI", "Observation Instance Identifier"),
("OD", "Optometrist license number"),
("PA", "Physician Assistant number"),
("PC", "Parole Card"),
("PCN", "Penitentiary/correctional institution Number"),
("PE", "Living Subject Enterprise Number"),
("PEN", "Pension Number"),
("PGN", "Placer Group Number"),
("PHC", "Public Health Case Identifier"),
("PHE", "Public Health Event Identifier"),
("PHO", "Public Health Official ID"),
("PI", "Patient internal identifier"),
("PIN", "Premises Identifier Number (US Official)"),
("PLAC", "Placer Identifier"),
("PN", "Person number"),
("PNT", "Temporary Living Subject Number"),
("PPIN", "Medicare/CMS Performing Provider Identification Number"),
("PPN", "Passport number"),
("PRC", "Permanent Resident Card Number"),
("PRN", "Provider number"),
("PT", "Patient external identifier"),
("QA", "QA number"),
("RI", "Resource identifier"),
("RN", "Registered Nurse Number"),
("RPH", "Pharmacist license number"),
("RR", "Railroad Retirement number"),
("RRI", "Regional registry ID"),
("RRP", "Railroad Retirement Provider"),
("SAMN", "SAMN# accession Number"),
("SB", "Social Beneficiary Identifier"),
("SID", "Specimen ID"),
("SL", "State license"),
("SN", "Subscriber Number"),
("SNBSN", "State assigned NDBS card Identifier"),
("SNO", "Serial Number"),
("SP", "Study Permit"),
("SR", "State registry ID"),
("SRX", "SRA Accession number"),
("SS", "Social Security number"),
("STN", "Shipment Tracking Number"),
("TAX", "Tax ID number"),
("TN", "Treaty Number/ (Canada)"),
("TPR", "Temporary Permanent Resident (Canada)"),
("TRL", "Training License Number"),
("U", "Unspecified identifier"),
("UDI", "Universal Device Identifier"),
("UPIN", "Medicare/CMS (formerly HCFA)'s Universal Physician Identification numbers"),
("USID", "Unique Specimen ID"),
("VN", "Visit number"),
("VP", "Visitor Permit"),
("VS", "VISA"),
("WC", "WIC identifier"),
("WCN", "Workers' Comp Number"),
("WP", "Work Permit"),
("XV", "Health Plan Identifier"),
("XX", "Organization identifier"),
],
},
TableDef {
id: "0204",
name: "Organizational name type",
closed: false,
codes: &[
("A", "Alias name"),
("L", "Legal name"),
("D", "Display name"),
("SL", "Stock exchange listing name"),
],
},
TableDef {
id: "0206",
name: "Segment Action Code",
closed: true,
codes: &[("A", "Add/insert"), ("D", "Delete"), ("U", "Update")],
},
TableDef {
id: "0211",
name: "Alternate Character Sets",
closed: false,
codes: &[
("JAS2020", "A subset of ISO2020 used for most Kanjii transmissions"),
("JIS X 0202", "ISO 2022 with escape sequences for Kanjii"),
("ASCII", "The printable 7-bit ASCII character set."),
("8859/1", "The printable characters from the ISO 8859/1 Character set"),
("8859/2", "The printable characters from the ISO 8859/2 Character set"),
("8859/3", "The printable characters from the ISO 8859/3 Character set"),
("8859/4", "The printable characters from the ISO 8859/4 Character set"),
("8859/5", "The printable characters from the ISO 8859/5 Character set"),
("8859/6", "The printable characters from the ISO 8859/6 Character set"),
("8859/7", "The printable characters from the ISO 8859/7 Character set"),
("8859/8", "The printable characters from the ISO 8859/8 Character set"),
("8859/9", "The printable characters from the ISO 8859/9 Character set"),
("8859/15", "The printable characters from the ISO 8859/15 (Latin-15)"),
("ISO IR6", "ASCII graphic character set consisting of 94 characters."),
("ISO IR14", "Code for Information Exchange (one byte)(JIS X 0201-1976)."),
("ISO IR87", "Code for the Japanese Graphic Character set for information interchange (JIS X 0208-1990),"),
("ISO IR159", "Code of the supplementary Japanese Graphic Character set for information interchange (JIS X 0212-1990)."),
("GB 18030-2000", "Code for Chinese Character Set (GB 18030-2000)"),
("KS X 1001", "Code for Korean Character Set (KS X 1001)"),
("CNS 11643-1992", "Code for Taiwanese Character Set (CNS 11643-1992)"),
("BIG-5", "Code for Taiwanese Character Set (BIG-5)"),
("UNICODE", "The world wide character standard from ISO/IEC 10646-1-1993"),
("UNICODE UTF-8", "UCS Transformation Format, 8-bit form"),
("UNICODE UTF-16", "UCS Transformation Format, 16-bit form"),
("UNICODE UTF-32", "UCS Transformation Format, 32-bit form"),
],
},
TableDef {
id: "0213",
name: "Purge Status Code",
closed: false,
codes: &[
("P", "Marked for purge. User is no longer able to update the visit."),
("D", "The visit is marked for deletion and the user cannot enter new data against it."),
("I", "The visit is marked inactive and the user cannot enter new data against it."),
],
},
TableDef {
id: "0214",
name: "Special Program Code",
closed: false,
codes: &[
("CH", "Child Health Assistance"),
("ES", "Elective Surgery Program"),
("FP", "Family Planning"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0215",
name: "Publicity",
closed: false,
codes: &[
("F", "Family only"),
("N", "No Publicity"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0216",
name: "Patient Status",
closed: false,
codes: &[
("AI", "Active Inpatient"),
("DI", "Discharged Inpatient"),
],
},
TableDef {
id: "0217",
name: "Visit Priority Code",
closed: false,
codes: &[
("1", "Emergency"),
("2", "Urgent"),
("3", "Elective"),
],
},
TableDef {
id: "0220",
name: "Living Arrangement",
closed: false,
codes: &[
("A", "Alone"),
("F", "Family"),
("I", "Institution"),
("R", "Relative"),
("U", "Unknown"),
("S", "Spouse Only"),
],
},
TableDef {
id: "0223",
name: "Living Dependency",
closed: false,
codes: &[
("D", "Spouse dependent"),
("S", "Spouse Dependent"),
("M", "Medical Supervision Required"),
("C", "Small Children Dependent"),
("WU", "Walk up"),
("O", "Other"),
("CB", "Common Bath"),
("U", "Unknown"),
],
},
TableDef {
id: "0224",
name: "Transport Arranged",
closed: false,
codes: &[
("A", "Arranged"),
("N", "Not Arranged"),
("U", "Unknown"),
],
},
TableDef {
id: "0225",
name: "Escort Required",
closed: false,
codes: &[
("R", "Required"),
("N", "Not Required"),
("U", "Unknown"),
],
},
TableDef {
id: "0228",
name: "Diagnosis Classification",
closed: false,
codes: &[
("C", "Consultation"),
("D", "Diagnosis"),
("M", "Medication (antibiotic)"),
("O", "Other"),
("R", "Radiological scheduling (not using ICDA codes)"),
("S", "Sign and symptom"),
("T", "Tissue diagnosis"),
("I", "Invasive procedure not classified elsewhere (I.V., catheter, etc.)"),
],
},
TableDef {
id: "0230",
name: "Procedure Functional Type",
closed: false,
codes: &[
("A", "Anesthesia"),
("D", "Diagnostic procedure"),
("I", "Invasive procedure not classified"),
("P", "Procedure for treatment"),
],
},
TableDef {
id: "0231",
name: "Student Status",
closed: false,
codes: &[
("F", "Full-time student"),
("P", "Part-time student"),
("N", "Not a student"),
],
},
TableDef {
id: "0232",
name: "Insurance Company Contact Reason",
closed: false,
codes: &[
("01", "Medicare claim status"),
("02", "Medicaid claim status"),
("03", "Name/address change"),
],
},
TableDef {
id: "0239",
name: "Event Expected",
closed: false,
codes: &[
("Y", "Yes"),
("N", "No"),
("U", "Unknown"),
],
},
TableDef {
id: "0247",
name: "Status of Evaluation",
closed: false,
codes: &[
("Y", "Evaluation completed"),
("P", "Evaluation in progress"),
("K", "Problem already known, no evaluation necessary"),
("X", "Product not made by company"),
("A", "Evaluation anticipated, but not yet begun"),
("D", "Product discarded -- unable to follow up"),
("C", "Product received in condition which made analysis impossible"),
("I", "Product remains implanted -- unable to follow up"),
("U", "Product unavailable for follow up investigation"),
("Q", "Product under quarantine -- unable to follow up"),
("R", "Product under recall/corrective action"),
("O", "Other"),
],
},
TableDef {
id: "0254",
name: "Kind of quantity",
closed: false,
codes: &[
("CACT", "Catalytic Activity"),
("CNC", "Catalytic Concentration"),
("CCRTO", "Catalytic Concentration Ratio"),
("CCNT", "Catalytic Content"),
("CFR", "Catalytic Fraction"),
("CRAT", "Catalytic Rate"),
("CRTO", "Catalytic Ratio"),
("ENT", "Entitic"),
("ENTSUB", "Entitic Substance of Amount"),
("ENTCAT", "Entitic Catalytic Activity"),
("ENTNUM", "Entitic Number"),
("ENTVOL", "Entitic Volume"),
("MASS", "Mass"),
("MCNC", "Mass Concentration"),
("MCRTO", "Mass Concentration Ratio"),
("MCNT", "Mass Content"),
("MFR", "Mass Fraction"),
("MINC", "Mass Increment"),
("MRAT", "Mass Rate"),
("MRTO", "Mass Ratio"),
("NUM", "Number"),
("NCNC", "Number Concentration"),
("NCNT", "Number Content"),
("NFR", "Number Fraction"),
("NRTO", "Number Ratio"),
("SUB", "Substance Amount"),
("SCNC", "Substance Concentration"),
("SCRTO", "Substance Concentration Ratio"),
("SCNT", "Substance Content"),
("SCNTR", "Substance Content Rate"),
("SFR", "Substance Fraction"),
("SCNCIN", "Substance Concentration Increment"),
("SRAT", "Substance Rate"),
("SRTO", "Substance Ratio"),
("VOL", "Volume"),
("VCNT", "Volume Content"),
("VFR", "Volume Fraction"),
("VRAT", "Volume Rate"),
("VRTO", "Volume Ratio"),
("ACNC", "Concentration, Arbitrary Substance"),
("RLMCNC", "Relative Mass Concentration"),
("RLSCNC", "Relative Substance Concentration"),
("THRMCNC", "Threshold Mass Concentration"),
("THRSCNC", "Threshold Substance Concentration"),
("TIME", "Time (e.g. seconds)"),
("TMDF", "Time Difference"),
("TMSTP", "Time Stamp-Date and Time"),
("TRTO", "Time Ratio"),
("RCRLTM", "Reciprocal Relative Time"),
("RLTM", "Relative Time"),
("ABS", "Absorbance"),
("ACT", "Activity"),
("APER", "Appearance"),
("ARB", "Arbitrary"),
("AREA", "Area"),
("ASPECT", "Aspect"),
("CLAS", "Class"),
("CNST", "Constant"),
("COEF", "Coefficient"),
("COLOR", "Color"),
("CONS", "Consistency"),
("DEN", "Density"),
("DEV", "Device"),
("DIFF", "Difference"),
("ELAS", "Elasticity"),
("ELPOT", "Electrical Potential (Voltage)"),
("ELRAT", "Electrical current (amperage)"),
("ELRES", "Electrical Resistance"),
("ENGR", "Energy"),
("EQL", "Equilibrium"),
("FORCE", "Mechanical force"),
("FREQ", "Frequency"),
("IMP", "Impression/ interpretation of study"),
("KINV", "Kinematic Viscosity"),
("LEN", "Length"),
("LINC", "Length Increment"),
("LIQ", "Liquefaction"),
("MGFLUX", "Magnetic flux"),
("MORPH", "Morphology"),
("MOTIL", "Motility"),
("OD", "Optical density"),
("OSMOL", "Osmolality"),
("PRID", "Presence/Identity/Existence"),
("PRES", "Pressure (Partial)"),
("PWR", "Power (wattage)"),
("RANGE", "Ranges"),
("RATIO", "Ratios"),
("RDEN", "Relative Density"),
("REL", "Relative"),
("SATFR", "Saturation Fraction"),
("SHAPE", "Shape"),
("SMELL", "Smell"),
("SUSC", "Susceptibility"),
("TASTE", "Taste"),
("TEMP", "Temperature"),
("TEMPDF", "Temperature Difference"),
("TEMPIN", "Temperature Increment"),
("TITR", "Dilution Factor (Titer)"),
("TYPE", "Type"),
("VEL", "Velocity"),
("VELRT", "Velocity Ratio"),
("VISC", "Viscosity"),
],
},
TableDef {
id: "0255",
name: "Duration categories",
closed: false,
codes: &[
("*", "(asterisk) Life of the \"unit\""),
("30M", "30 minutes"),
("1H", "1 hour"),
("2H", "2 hours"),
("2.5H", "2 1/2 hours"),
("3H", "3 hours"),
("4H", "4 hours"),
("5H", "5 hours"),
("6H", "6 hours"),
("7H", "7 hours"),
("8H", "8 hours"),
("12H", "12 hours"),
("24H", "24 hours"),
("2D", "2 days"),
("3D", "3 days"),
("4D", "4 days"),
("5D", "5 days"),
("6D", "6 days"),
("1W", "1 week"),
("2W", "2 weeks"),
("3W", "3 weeks"),
("4W", "4 weeks"),
("1L", "1 months (30 days)"),
("2L", "2 months"),
("3L", "3 months"),
("LU", "Life of the \"unit\""),
("PT", "point in time"),
],
},
TableDef {
id: "0258",
name: "Relationship modifier",
closed: false,
codes: &[
("CONTROL", "Control"),
("PATIENT", "Patient"),
("DONOR", "Donor"),
("BPU", "Blood product unit"),
],
},
TableDef {
id: "0260",
name: "Patient location type",
closed: false,
codes: &[
("N", "Nursing Unit"),
("R", "Room"),
("B", "Bed"),
("E", "Exam Room"),
("O", "Operating Room"),
("C", "Clinic"),
("D", "Department"),
("L", "Other Location"),
],
},
TableDef {
id: "0265",
name: "Specialty Type",
closed: false,
codes: &[
("AMB", "Ambulatory"),
("PSY", "Psychiatric"),
("PPS", "Pediatric psychiatric"),
("REH", "Rehabilitation"),
("PRE", "Pediatric rehabilitation"),
("ISO", "Isolation"),
("OBG", "Obstetrics, gynecology"),
("PIN", "Pediatric/neonatal intensive care"),
("INT", "Intensive care"),
("SUR", "Surgery"),
("PSI", "Psychiatric intensive care"),
("EDI", "Education"),
("CAR", "Coronary/cardiac care"),
("NBI", "Newborn, nursery, infants"),
("CCR", "Critical care"),
("PED", "Pediatrics"),
("EMR", "Emergency"),
("OBS", "Observation"),
("WIC", "Walk-in clinic"),
("PHY", "General/family practice"),
("ALC", "Allergy"),
("FPC", "Family planning"),
("CHI", "Chiropractic"),
("CAN", "Cancer"),
("NAT", "Naturopathic"),
("OTH", "Other specialty"),
],
},
TableDef {
id: "0270",
name: "Document Type",
closed: false,
codes: &[
("AR", "Autopsy report"),
("CD", "Cardiodiagnostics"),
("CN", "Consultation"),
("DS", "Discharge summary"),
("ED", "Emergency department report"),
("HP", "History and physical examination"),
("OP", "Operative report"),
("PC", "Psychiatric consultation"),
("PH", "Psychiatric history and physical"),
("PN", "Procedure note"),
("PR", "Progress note"),
("SP", "Surgical pathology"),
("TS", "Transfer summary"),
],
},
TableDef {
id: "0271",
name: "Document Completion Status",
closed: false,
codes: &[
("AU", "Authenticated"),
("DI", "Dictated"),
("DO", "Documented"),
("IN", "Incomplete"),
("IP", "In progress"),
("LA", "Legally authenticated"),
("PA", "Pre-authenticated"),
],
},
TableDef {
id: "0272",
name: "Document Confidentiality Status",
closed: false,
codes: &[
("1", "ASTM Level 1"),
("2", "ASTM Level 2"),
("3", "ASTM Level 3"),
("RE", "Restricted"),
("UC", "Usual control"),
("VR", "Very restricted"),
("V", "Very restricted"),
("R", "Restricted"),
("U", "Usual control"),
],
},
TableDef {
id: "0273",
name: "Document Availability Status",
closed: false,
codes: &[
("AV", "Available for patient care"),
("CA", "Deleted"),
("OB", "Obsolete"),
("UN", "Unavailable for patient care"),
],
},
TableDef {
id: "0275",
name: "Document Storage Status",
closed: false,
codes: &[
("AC", "Active"),
("AA", "Active and archived"),
("AR", "Archived (not active)"),
("PU", "Purged"),
],
},
TableDef {
id: "0276",
name: "Appointment Reason",
closed: false,
codes: &[
("ROUTINE", "Routine appointment - default if not valued"),
("WALKIN", "A previously unscheduled walk-in visit"),
("CHECKUP", "A routine check-up, such as an annual physical"),
("FOLLOWUP", "A follow up visit from a previous appointment"),
("EMERGENCY", "Emergency appointment"),
],
},
TableDef {
id: "0277",
name: "Appointment Type",
closed: false,
codes: &[
("COMPLETE", "A request to add a completed appointment, used to maintain records of completed appointments that did not appear in the schedule (e.g., STAT, walk-in, etc.)"),
("NORMAL", "Routine schedule request type - default if not valued"),
("TENTATIVE", "A request for a tentative (e.g., “penciled in”) appointment"),
("Normal", "Routine schedule request type – default if not valued"),
("Tentative", "A request for a tentative (e.g., “penciled in”) appointment"),
("Complete", "A request to add a completed appointment, used to maintain records of completed appointments that did not appear in the schedule (e.g., STAT, walk-in, etc.)"),
],
},
TableDef {
id: "0278",
name: "Filler Status",
closed: false,
codes: &[
("BLOCKED", "Blocked"),
("BOOKED", "Booked"),
("CANCELLED", "Cancelled"),
("COMPLETE", "Complete"),
("DELETED", "Deleted"),
("OVERBOOK", "Overbook"),
("PENDING", "Pending"),
("STARTED", "Started"),
("WAITLIST", "Waitlist"),
("Pending", "Pending"),
("Waitlist", "Waitlist"),
("Booked", "Booked"),
("Started", "Started"),
("Complete", "Complete"),
("Cancelled", "Cancelled"),
("DC", "Discontinued"),
("Discontinued", "Discontinued"),
("Deleted", "Deleted"),
("Blocked", "Blocked"),
("Overbook", "Overbook"),
("Noshow", "Noshow"),
],
},
TableDef {
id: "0279",
name: "Allow Substitution Codes",
closed: false,
codes: &[
("CONFIRM", "Contact the Placer Contact Person prior to making any substitutions of this resource"),
("NO", "Substitution of this resource is not allowed"),
("NOTIFY", "Notify the Placer Contact Person, through normal institutional procedures, that a substitution of this resource has been made"),
("YES", "Substitution of this resource is allowed"),
("No", "Substitution of this resource is not allowed"),
("Confirm", "Contact the Placer Contact Person prior to making any substitutions of this resource"),
("Notify", "Notify the Placer Contact Person, through normal institutional procedures, that a substitution of this resource has been made"),
("Yes", "Substitution of this resource is allowed"),
],
},
TableDef {
id: "0280",
name: "Referral priority",
closed: false,
codes: &[
("S", "STAT"),
("A", "ASAP"),
("R", "Routine"),
],
},
TableDef {
id: "0281",
name: "Referral type",
closed: false,
codes: &[
("HOM", "Home Care"),
("LAB", "Laboratory"),
("MED", "Medical"),
("PSY", "Psychiatric"),
("RAD", "Radiology"),
("SKN", "Skilled Nursing"),
("Lab", "Laboratory"),
("Rad", "Radiology"),
("Med", "Medical"),
("Skn", "Skilled Nursing"),
("Psy", "Psychiatric"),
("Hom", "Home Care"),
],
},
TableDef {
id: "0282",
name: "Referral disposition",
closed: false,
codes: &[
("WR", "Send Written Report"),
("RP", "Return Patient After Evaluation"),
("AM", "Assume Management"),
("SO", "Second Opinion"),
],
},
TableDef {
id: "0283",
name: "Referral status",
closed: false,
codes: &[
("A", "Accepted"),
("P", "Pending"),
("R", "Rejected"),
("E", "Expired"),
],
},
TableDef {
id: "0284",
name: "Referral category",
closed: false,
codes: &[
("I", "Inpatient"),
("O", "Outpatient"),
("A", "Ambulatory"),
("E", "Emergency"),
],
},
TableDef {
id: "0286",
name: "Provider role",
closed: false,
codes: &[
("RP", "Referring Provider"),
("PP", "Primary Care Provider"),
("CP", "Consulting Provider"),
("RT", "Referred to Provider"),
],
},
TableDef {
id: "0305",
name: "Person Location Type",
closed: false,
codes: &[
("C", "Clinic"),
("D", "Department"),
("H", "Home"),
("N", "Nursing Unit"),
("O", "Provider's Office"),
("P", "Phone"),
("S", "SNF"),
],
},
TableDef {
id: "0309",
name: "Coverage Type",
closed: false,
codes: &[
("H", "Hospital/institutional"),
("P", "Physician/professional"),
("B", "Both hospital and physician"),
("RX", "Pharmacy"),
],
},
TableDef {
id: "0311",
name: "Job Status",
closed: false,
codes: &[
("P", "Permanent"),
("T", "Temporary"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0315",
name: "Living Will Code",
closed: false,
codes: &[
("Y", "Yes, patient has a living will"),
("F", "Yes, patient has a living will but it is not on file"),
("N", "No, patient does not have a living will and no information was provided"),
("I", "No, patient does not have a living will but information was provided"),
("U", "Unknown"),
],
},
TableDef {
id: "0316",
name: "Organ Donor Code",
closed: false,
codes: &[
("Y", "Yes, patient is a documented donor and documentation is on file"),
("F", "Yes, patient is a documented donor, but documentation is not on file"),
("N", "No, patient has not agreed to be a donor"),
("I", "No, patient is not a documented donor, but information was provided"),
("R", "Patient leaves organ donation decision to relatives"),
("P", "Patient leaves organ donation decision to a specific person"),
("U", "Unknown"),
],
},
TableDef {
id: "0322",
name: "Completion Status",
closed: false,
codes: &[
("CP", "Complete"),
("RE", "Refused"),
("NA", "Not administered"),
("PA", "Partially administered"),
],
},
TableDef {
id: "0323",
name: "Action Code",
closed: false,
codes: &[("A", "Add"), ("D", "Delete"), ("U", "Update")],
},
TableDef {
id: "0324",
name: "Location characteristic ID",
closed: false,
codes: &[
("SMK", "Smoking"),
("LIC", "Licensed"),
("IMP", "Implant: can be used for radiation implant patients"),
("SHA", "Shadow: a temporary holding location that does not physically exist"),
("INF", "Infectious disease: this location can be used for isolation"),
("PRL", "Privacy level: indicating the level of private versus non-private room"),
("LCR", "Level of care"),
("OVR", "Overflow"),
("STF", "Bed is staffed"),
("SET", "Bed is set up"),
("GEN", "Gender of patient(s)"),
("TEA", "Teaching location"),
],
},
TableDef {
id: "0325",
name: "Location Relationship ID",
closed: false,
codes: &[
("RX", "Nearest pharmacy"),
("RX2", "Second nearest pharmacy"),
("LAB", "Nearest lab"),
("LB2", "Second nearest lab"),
("DTY", "Nearest dietary location"),
("ALI", "Location Alias(es)"),
("PAR", "Parent location"),
],
},
TableDef {
id: "0326",
name: "Visit Indicator",
closed: false,
codes: &[("A", "Account level"), ("V", "Visit level")],
},
TableDef {
id: "0336",
name: "Referral reason",
closed: false,
codes: &[
("S", "Second Opinion"),
("P", "Patient Preference"),
("O", "Provider Ordered"),
("W", "Work Load"),
],
},
TableDef {
id: "0337",
name: "Certification status",
closed: false,
codes: &[
("C", "Certified"),
("E", "Eligible"),
],
},
TableDef {
id: "0339",
name: "Advanced Beneficiary Notice Code",
closed: false,
codes: &[
("1", "Service is subject to medical necessity procedures"),
("2", "Patient has been informed of responsibility, and agrees to pay for service"),
("3", "Patient has been informed of responsibility, and asks that the payer be billed"),
("4", "Advanced Beneficiary Notice has not been signed"),
],
},
TableDef {
id: "0344",
name: "Patient's Relationship to Insured",
closed: false,
codes: &[
("01", "Patient is insured"),
("02", "Spouse"),
("03", "Natural child/insured financial responsibility"),
("04", "Natural child/Insured does not have financial responsibility"),
("05", "Step child"),
("06", "Foster child"),
("07", "Ward of the court"),
("08", "Employee"),
("09", "Unknown"),
("10", "Handicapped dependent"),
("11", "Organ donor"),
("12", "Cadaver donor"),
("13", "Grandchild"),
("14", "Niece/nephew"),
("15", "Injured plaintiff"),
("16", "Sponsored dependent"),
("17", "Minor dependent of a minor dependent"),
("18", "Parent"),
("19", "Grandparent"),
],
},
TableDef {
id: "0356",
name: "Alternate Character Set Handling Scheme",
closed: false,
codes: &[
("ISO 2022-1994", "This standard is titled 'Information Technology - Character Code Structure and Extension Technique'. ."),
("2.3", "The character set switching mode specified in HL7 2.5, section 2.7.2 and section 2.A.46, 'XPN - extended person name'."),
("<null>", "This is the default, indicating that there is no character set switching occurring in this message."),
],
},
TableDef {
id: "0357",
name: "Message Error Condition Codes",
closed: false,
codes: &[
("0", "Message accepted"),
("100", "Segment sequence error"),
("101", "Required field missing"),
("102", "Data type error"),
("103", "Table value not found"),
("200", "Unsupported message type"),
("201", "Unsupported event code"),
("202", "Unsupported processing id"),
("203", "Unsupported version id"),
("204", "Unknown key identifier"),
("205", "Duplicate key identifier"),
("206", "Application record locked"),
("207", "Application internal error"),
],
},
TableDef {
id: "0359",
name: "Diagnosis Priority",
closed: false,
codes: &[
("0", "Not included in diagnosis ranking"),
("1", "The primary diagnosis"),
("2 and higher", "for ranked secondary diagnoses"),
("2 ...", "For ranked secondary diagnoses"),
("2", "For secondary diagnosis"),
("...", "No suggested values defined"),
("3", "For tertiary diagnosis"),
("4", "For quaternary diagnosis"),
],
},
TableDef {
id: "0360",
name: "Degree",
closed: false,
codes: &[
("PN", "Advanced Practice Nurse"),
("AAS", "Associate of Applied Science"),
("AA", "Associate of Arts"),
("ABA", "Associate of Business Administration"),
("AE", "Associate of Engineering"),
("AS", "Associate of Science"),
("BA", "Bachelor of Arts"),
("BBA", "Bachelor of Business Administration"),
("BE", "Bachelor or Engineering"),
("BFA", "Bachelor of Fine Arts"),
("BN", "Bachelor of Nursing"),
("BS", "Bachelor of Science"),
("BSL", "Bachelor of Science - Law"),
("BSN", "Bachelor on Science - Nursing"),
("BT", "Bachelor of Theology"),
("CER", "Certificate"),
("CANP", "Certified Adult Nurse Practitioner"),
("CMA", "Certified Medical Assistant"),
("CNP", "Certified Nurse Practitioner"),
("CNM", "Certified Nurse Midwife"),
("CRN", "Certified Registered Nurse"),
("CNS", "Certified Nurse Specialist"),
("CPNP", "Certified Pediatric Nurse Practitioner"),
("CTR", "Certified Tumor Registrar"),
("DIP", "Diploma"),
("DBA", "Doctor of Business Administration"),
("DED", "Doctor of Education"),
("PharmD", "Doctor of Pharmacy"),
("PHE", "Doctor of Engineering"),
("PHD", "Doctor of Philosophy"),
("PHS", "Doctor of Science"),
("MD", "Doctor of Medicine"),
("DO", "Doctor of Osteopathy"),
("EMT", "Emergency Medical Technician"),
("EMTP", "Emergency Medical Technician - Paramedic"),
("FPNP", "Family Practice Nurse Practitioner"),
("HS", "High School Graduate"),
("JD", "Juris Doctor"),
("MA", "Master of Arts"),
("MBA", "Master of Business Administration"),
("MCE", "Master of Civil Engineering"),
("MDI", "Master of Divinity"),
("MED", "Master of Education"),
("MEE", "Master of Electrical Engineering"),
("ME", "Master of Engineering"),
("MFA", "Master of Fine Arts"),
("MME", "Master of Mechanical Engineering"),
("MS", "Master of Science"),
("MSL", "Master of Science - Law"),
("MSN", "Master of Science - Nursing"),
("MTH", "Master of Theology"),
("MDA", "Medical Assistant"),
("MT", "Medical Technician"),
("NG", "Non-Graduate"),
("NP", "Nurse Practitioner"),
("PA", "Physician Assistant"),
("RMA", "Registered Medical Assistant"),
("RN", "Registered Nurse"),
("RPH", "Registered Pharmacist"),
("SEC", "Secretarial Certificate"),
("TS", "Trade School Graduate"),
],
},
TableDef {
id: "0364",
name: "Comment Type",
closed: false,
codes: &[
("PI", "Patient Instructions"),
("AI", "Ancillary Instructions"),
("GI", "General Instructions"),
("1R", "Primary Reason"),
("2R", "Secondary Reason"),
("GR", "General Reason"),
("RE", "Remark"),
("DR", "Duplicate/Interaction Reason"),
],
},
TableDef {
id: "0371",
name: "Additive/Preservative",
closed: false,
codes: &[
("F10", "10% Formalin"),
("C32", "3.2% Citrate"),
("C38", "3.8% Citrate"),
("HCL6", "6N HCL"),
("ACDA", "ACD Solution A"),
("ACDB", "ACD Solution B"),
("ACET", "Acetic Acid"),
("AMIES", "Amies transport medium"),
("HEPA", "Ammonium heparin"),
("BACTM", "Bacterial Transport medium"),
("BOR", "Borate Boric Acid"),
("BOUIN", "Bouin's solution"),
("BF10", "Buffered 10% formalin"),
("WEST", "Buffered Citrate (Westergren Sedimentation Rate)"),
("BSKM", "Buffered skim milk"),
("CARS", "Carson's Modified 10% formalin"),
("CARY", "Cary Blair Medium"),
("CHLTM", "Chlamydia transport medium"),
("CTAD", "CTAD (this should be spelled out if not universally understood)"),
("ENT", "Enteric bacteria transport medium"),
("ENT+", "Enteric plus"),
("JKM", "Jones Kendrick Medium"),
("KARN", "Karnovsky's fixative"),
("LIA", "Lithium iodoacetate"),
("HEPL", "Lithium/Li Heparin"),
("M4", "M4"),
("M4RT", "M4-RT"),
("M5", "M5"),
("MICHTM", "Michel's transport medium"),
("MMDTM", "MMD transport medium"),
("HNO3", "Nitric Acid"),
("NONE", "None"),
("PAGE", "Pages's Saline"),
("PHENOL", "Phenol"),
("KOX", "Potassium Oxalate"),
("EDTK", "Potassium/K EDTA"),
("EDTK15", "Potassium/K EDTA 15%"),
("EDTK75", "Potassium/K EDTA 7.5%"),
("PVA", "PVA (polyvinylalcohol)"),
("RLM", "Reagan Lowe Medium"),
("SST", "Serum Separator Tube (Polymer Gel)"),
("SILICA", "Siliceous earth, 12 mg"),
("NAF", "Sodium Fluoride"),
("FL100", "Sodium Fluoride, 100mg"),
("FL10", "Sodium Fluoride, 10mg"),
("NAPS", "Sodium polyanethol sulfonate 0.35% in 0.85% sodium chloride"),
("HEPN", "Sodium/Na Heparin"),
("EDTN", "Sodium/Na EDTA"),
("SPS", "SPS(this should be spelled out if not universally understood)"),
("STUTM", "Stuart transport medium"),
("THROM", "Thrombin"),
("FDP", "Thrombin NIH; soybean trypsin inhibitor (Fibrin Degradation Products)"),
("THYMOL", "Thymol"),
("THYO", "Thyoglycollate broth"),
("TOLU", "Toluene"),
("URETM", "Ureaplasma transport medium"),
("VIRTM", "Viral Transport medium"),
],
},
TableDef {
id: "0391",
name: "Segment group",
closed: false,
codes: &[
("PIDG", "PID group"),
("ADMINISTRATION", "ADMINISTRATION"),
("OBRG", "OBR group"),
("ALLERGY", "ALLERGY"),
("ORCG", "ORC group"),
("APP_STATS", "APP_STATS"),
("RXAG", "RXA group"),
("APP_STATUS", "APP_STATUS"),
("RXDG", "RXD group"),
("ASSOCIATED_PERSON", "ASSOCIATED_PERSON"),
("RXEG", "RXE group"),
("ASSOCIATED_RX_ADMIN", "ASSOCIATED_RX_ADMIN"),
("RXOG", "RXO group"),
("ASSOCIATED_RX_ORDER", "ASSOCIATED_RX_ORDER"),
("etc", "etc"),
("AUTHORIZATION", "AUTHORIZATION"),
("AUTHORIZATION_CONTACT", "AUTHORIZATION_CONTACT"),
("CERTIFICATE", "CERTIFICATE"),
("CLOCK", "CLOCK"),
("CLOCK_AND_STATISTICS", "CLOCK_AND_STATISTICS"),
("CLOCK_AND_STATS_WITH_NOTE", "CLOCK_AND_STATS_WITH_NOTE"),
("CLOCK_AND_STATS_WITH_NOTES", "CLOCK_AND_STATS_WITH_NOTES"),
("CLOCK_AND_STATS_WITH_NOTES_ALT", "CLOCK_AND_STATS_WITH_NOTES_ALT"),
("COMMAND", "COMMAND"),
("COMMAND_RESPONSE", "COMMAND_RESPONSE"),
("COMMON_ORDER", "COMMON_ORDER"),
("COMPONENT", "COMPONENT"),
("COMPONENTS", "COMPONENTS"),
("CONTAINER", "CONTAINER"),
("DEFINITION", "DEFINITION"),
("DIET", "DIET"),
("DISPENSE", "DISPENSE"),
("ENCODED ORDER", "ENCODED ORDER"),
("ENCODED_ORDER", "ENCODED_ORDER"),
("ENCODING", "ENCODING"),
("EXPERIENCE", "EXPERIENCE"),
("FINANCIAL", "FINANCIAL"),
("FINANCIAL_COMMON_ORDER", "FINANCIAL_COMMON_ORDER"),
("FINANCIAL_COMMON ORDER", "FINANCIAL_COMMON ORDER"),
("FINANCIAL_INSURANCE", "FINANCIAL_INSURANCE"),
("FINANCIAL_OBSERVATION", "FINANCIAL_OBSERVATION"),
("FINANCIAL_ORDER", "FINANCIAL_ORDER"),
("FINANCIAL_PROCEDURE", "FINANCIAL_PROCEDURE"),
("FINANCIAL_TIMING_QUANTITY", "FINANCIAL_TIMING_QUANTITY"),
("FINANCIAL_TIMING QUANTITY", "FINANCIAL_TIMING QUANTITY"),
("GENERAL_RESOURCE", "GENERAL_RESOURCE"),
("GIVE", "GIVE"),
("GENERAL RESOURCE", "GENERAL RESOURCE"),
("GOAL", "GOAL"),
("GOAL_OBSERVATION", "GOAL_OBSERVATION"),
("GOAL_PATHWAY", "GOAL_PATHWAY"),
("GOAL_ROLE", "GOAL_ROLE"),
("GUARANTOR_INSURANCE", "GUARANTOR_INSURANCE"),
("INSURANCE", "INSURANCE"),
("LOCATION_RESOURCE", "LOCATION_RESOURCE"),
("MERGE_INFO", "MERGE_INFO"),
("MF", "MF"),
("LOCATION RESOURCE", "LOCATION RESOURCE"),
("MF_CDM", "MF_CDM"),
("MF_CLIN_STUDY", "MF_CLIN_STUDY"),
("MF_CLIN_STUDY_SCHED", "MF_CLIN_STUDY_SCHED"),
("MF_INV_ITEM", "MF_INV_ITEM"),
("MF_LOC_DEPT", "MF_LOC_DEPT"),
("MF_LOCATION", "MF_LOCATION"),
("MF_OBS_ATTRIBUTES", "MF_OBS_ATTRIBUTES"),
("MF_PHASE_SCHED_DETAIL", "MF_PHASE_SCHED_DETAIL"),
("MF_QUERY", "MF_QUERY"),
("MF_SITE_DEFINED", "MF_SITE_DEFINED"),
("MF_STAFF", "MF_STAFF"),
("MF_TEST", "MF_TEST"),
("MF_TEST_BATT_DETAIL", "MF_TEST_BATT_DETAIL"),
("MF_TEST_BATTERIES", "MF_TEST_BATTERIES"),
("MF_TEST_CALC_DETAIL", "MF_TEST_CALC_DETAIL"),
("MF_TEST_CALCULATED", "MF_TEST_CALCULATED"),
("MF_TEST_CAT_DETAIL", "MF_TEST_CAT_DETAIL"),
("MF_TEST_CATEGORICAL", "MF_TEST_CATEGORICAL"),
("MF_TEST_NUMERIC", "MF_TEST_NUMERIC"),
("NK1_TIMING_QTY", "NK1_TIMING_QTY"),
("NOTIFICATION", "NOTIFICATION"),
("OBSERVATION", "OBSERVATION"),
("OBSERVATION_PRIOR", "OBSERVATION_PRIOR"),
("OBSERVATION_REQUEST", "OBSERVATION_REQUEST"),
("OMSERVATION", "OMSERVATION"),
("ORDER", "ORDER"),
("ORDER_CHOICE", "ORDER_CHOICE"),
("ORDER_DETAIL", "ORDER_DETAIL"),
("ORDER_DETAIL_SUPPLEMENT", "ORDER_DETAIL_SUPPLEMENT"),
("ORDER_DIET", "ORDER_DIET"),
("ORDER_ENCODED", "ORDER_ENCODED"),
("ORDER_OBSERVATION", "ORDER_OBSERVATION"),
("ORDER_PRIOR", "ORDER_PRIOR"),
("ORDER_TRAY", "ORDER_TRAY"),
("PATHWAY", "PATHWAY"),
("PATHWAY_ROLE", "PATHWAY_ROLE"),
("PATIENT", "PATIENT"),
("PATIENT_PRIOR", "PATIENT_PRIOR"),
("PATIENT_RESULT", "PATIENT_RESULT"),
("PATIENT_VISIT", "PATIENT_VISIT"),
("PATIENT_VISIT_PRIOR", "PATIENT_VISIT_PRIOR"),
("PATIENT VISIT", "PATIENT VISIT"),
("PERSONNEL_RESOURCE", "PERSONNEL_RESOURCE"),
("PEX_CAUSE", "PEX_CAUSE"),
("PEX_OBSERVATION", "PEX_OBSERVATION"),
("PRIOR_RESULT", "PRIOR_RESULT"),
("PROBLEM", "PROBLEM"),
("PERSONNEL RESOURCE", "PERSONNEL RESOURCE"),
("PROBLEM_OBSERVATION", "PROBLEM_OBSERVATION"),
("PROBLEM_PATHWAY", "PROBLEM_PATHWAY"),
("PROBLEM_ROLE", "PROBLEM_ROLE"),
("PROCEDURE", "PROCEDURE"),
("PRODUCT", "PRODUCT"),
("PRODUCT_STATUS", "PRODUCT_STATUS"),
("PROVIDER", "PROVIDER"),
("PROVIDER_CONTACT", "PROVIDER_CONTACT"),
("QBP", "QBP"),
("QRY_WITH_DETAIL", "QRY_WITH_DETAIL"),
("QUERY_RESPONSE", "QUERY_RESPONSE"),
("QUERY_RESULT_CLUSTER", "QUERY_RESULT_CLUSTER"),
("REQUEST", "REQUEST"),
("RESOURCE", "RESOURCE"),
("RESOURCES", "RESOURCES"),
("RESPONSE", "RESPONSE"),
("RESULT", "RESULT"),
("RESULTS", "RESULTS"),
("RESULTS_NOTES", "RESULTS_NOTES"),
("ROW_DEFINITION", "ROW_DEFINITION"),
("RX_ADMINISTRATION", "RX_ADMINISTRATION"),
("RX_ORDER", "RX_ORDER"),
("SCHEDULE", "SCHEDULE"),
("SERVICE", "SERVICE"),
("SPECIMEN", "SPECIMEN"),
("SPECIMEN_CONTAINER", "SPECIMEN_CONTAINER"),
("STAFF", "STAFF"),
("STUDY", "STUDY"),
("STUDY_OBSERVATION", "STUDY_OBSERVATION"),
("STUDY_PHASE", "STUDY_PHASE"),
("STUDY_SCHEDULE", "STUDY_SCHEDULE"),
("TEST_CONFIGURATION", "TEST_CONFIGURATION"),
("TIMING", "TIMING"),
("TIMING_DIET", "TIMING_DIET"),
("TIMING_ENCODED", "TIMING_ENCODED"),
("TIMING_GIVE", "TIMING_GIVE"),
("TIMING_PRIOR", "TIMING_PRIOR"),
("TIMING_QTY", "TIMING_QTY"),
("TIMING_QUANTITY", "TIMING_QUANTITY"),
("TIMING_TRAY", "TIMING_TRAY"),
("TREATMENT", "TREATMENT"),
("VISIT", "VISIT"),
],
},
TableDef {
id: "0394",
name: "Response modality",
closed: false,
codes: &[
("R", "Real Time"),
("T", "Bolus (a series of responses sent at the same time without use of batch formatting)"),
("B", "Batch"),
],
},
TableDef {
id: "0401",
name: "Government reimbursement program",
closed: false,
codes: &[
("MM", "Medicare"),
("C", "Medi-Cal"),
],
},
TableDef {
id: "0402",
name: "School type",
closed: false,
codes: &[
("D", "Dental"),
("G", "Graduate"),
("M", "Medical"),
("U", "Undergraduate"),
],
},
TableDef {
id: "0403",
name: "Language ability",
closed: false,
codes: &[
("1", "Read"),
("2", "Write"),
("3", "Speak"),
("4", "Understand"),
("5", "Sign"),
],
},
TableDef {
id: "0404",
name: "Language Proficiency",
closed: false,
codes: &[
("1", "Excellent"),
("2", "Good"),
("3", "Fair"),
("4", "Poor"),
("5", "Some (level unknown)"),
("6", "None"),
],
},
TableDef {
id: "0406",
name: "Organization unit type",
closed: false,
codes: &[
("H", "Home"),
("O", "Office"),
("1", "Hospital"),
("2", "Physician Clinic"),
("3", "Long Term Care"),
("4", "Acute Care"),
("5", "Other"),
],
},
TableDef {
id: "0416",
name: "Procedure DRG Type",
closed: false,
codes: &[
("1", "1st non-Operative"),
("2", "2nd non-Operative"),
("3", "Major Operative"),
("4", "2nd Operative"),
("5", "3rd Operative"),
],
},
TableDef {
id: "0417",
name: "Tissue Type Code",
closed: false,
codes: &[
("1", "Insufficient Tissue"),
("2", "Not abnormal"),
("3", "Abnormal-not categorized"),
("4", "Mechanical abnormal"),
("5", "Growth alteration"),
("6", "Degeneration & necrosis"),
("7", "Non-acute inflammation"),
("8", "Non-malignant neoplasm"),
("9", "Malignant neoplasm"),
("0", "No tissue expected"),
("B", "Basal cell carcinoma"),
("C", "Carcinoma-unspecified type"),
("G", "Additional tissue required"),
],
},
TableDef {
id: "0421",
name: "Severity of Illness Code",
closed: false,
codes: &[
("MI", "Mild"),
("MO", "Moderate"),
("SE", "Severe"),
],
},
TableDef {
id: "0422",
name: "Triage Code",
closed: false,
codes: &[
("1", "Non-acute"),
("2", "Acute"),
("3", "Urgent"),
("4", "Severe"),
("5", "Dead on Arrival (DOA)"),
("99", "Other"),
],
},
TableDef {
id: "0423",
name: "Case Category Code",
closed: false,
codes: &[
("D", "Doctor's Office Closed"),
],
},
TableDef {
id: "0424",
name: "Gestation Category Code",
closed: false,
codes: &[
("1", "Premature / Pre-term"),
("2", "Full Term"),
("3", "Overdue / Post-term"),
],
},
TableDef {
id: "0425",
name: "Newborn Code",
closed: false,
codes: &[
("5", "Born at home"),
("3", "Born en route"),
("1", "Born in facility"),
("4", "Other"),
("2", "Transfer in"),
],
},
TableDef {
id: "0426",
name: "Blood Product Code",
closed: false,
codes: &[
("CRYO", "Cryoprecipitated AHF"),
("CRYOP", "Pooled Cryoprecipitate"),
("FFP", "Fresh Frozen Plasma"),
("FFPTH", "Fresh Frozen Plasma - Thawed"),
("PC", "Packed Cells"),
("PCA", "Autologous Packed Cells"),
("PCNEO", "Packed Cells - Neonatal"),
("PCW", "Washed Packed Cells"),
("PLT", "Platelet Concentrate"),
("PLTNEO", "Reduced Volume Platelets"),
("PLTP", "Pooled Platelets"),
("PLTPH", "Platelet Pheresis"),
("PLTPHLR", "Leukoreduced Platelet Pheresis"),
("RWB", "Reconstituted Whole Blood"),
("WBA", "Autologous Whole Blood"),
],
},
TableDef {
id: "0427",
name: "Risk Management Incident Code",
closed: false,
codes: &[
("B", "Body fluid exposure"),
("C", "Contaminated Substance"),
("D", "Diet Errors"),
("E", "Equipment problem"),
("F", "Patient fell (not from bed)"),
("H", "Patient fell from bed"),
("I", "Infusion error"),
("J", "Foreign object left during surgery"),
("K", "Sterile precaution violated"),
("P", "Procedure error"),
("R", "Pharmaceutical error"),
("S", "Suicide Attempt"),
("T", "Transfusion error"),
("O", "Other"),
],
},
TableDef {
id: "0428",
name: "Incident Type Code",
closed: false,
codes: &[
("P", "Preventable"),
("U", "User Error"),
("O", "Other"),
],
},
TableDef {
id: "0429",
name: "Production Class",
closed: false,
codes: &[
("BR", "Breeding/genetic stock"),
("DA", "Dairy"),
("DR", "Draft"),
("DU", "Dual Purpose"),
("LY", "Layer, Includes Multiplier flocks"),
("MT", "Meat"),
("OT", "Other"),
("PL", "Pleasure"),
("RA", "Racing"),
("SH", "Show"),
("NA", "Not Applicable"),
("U", "Unknown"),
],
},
TableDef {
id: "0430",
name: "Mode of Arrival Code",
closed: false,
codes: &[
("A", "Ambulance"),
("C", "Car"),
("F", "On foot"),
("H", "Helicopter"),
("P", "Public Transport"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0431",
name: "Recreational Drug Use Code",
closed: false,
codes: &[
("A", "Alcohol"),
("K", "Kava"),
("M", "Marijuana"),
("T", "Tobacco - smoked"),
("C", "Tobacco - chewed"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0432",
name: "Admission Level of Care Code",
closed: false,
codes: &[
("AC", "Acute"),
("CH", "Chronic"),
("CO", "Comatose"),
("CR", "Critical"),
("IM", "Improved"),
("MO", "Moribund"),
],
},
TableDef {
id: "0433",
name: "Precaution Code",
closed: false,
codes: &[
("A", "Aggressive"),
("B", "Blind"),
("C", "Confused"),
("D", "Deaf"),
("I", "On IV"),
("N", "Do not resuscitate"),
("P", "Paraplegic"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0434",
name: "Patient Condition Code",
closed: false,
codes: &[
("A", "Satisfactory"),
("C", "Critical"),
("P", "Poor"),
("S", "Stable"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0435",
name: "Advance Directive Code",
closed: false,
codes: &[
("DNR", "Do not resuscitate"),
("N", "No directive"),
],
},
TableDef {
id: "0436",
name: "Sensitivity to Causative Agent Code",
closed: false,
codes: &[
("AD", "Adverse Reaction (Not otherwise classified)"),
("AL", "Allergy"),
("CT", "Contraindication"),
("IN", "Intolerance"),
("SE", "Side Effect"),
],
},
TableDef {
id: "0437",
name: "Alert Device Code",
closed: false,
codes: &[
("B", "Bracelet"),
("N", "Necklace"),
("W", "Wallet Card"),
],
},
TableDef {
id: "0438",
name: "Allergy Clinical Status",
closed: false,
codes: &[
("U", "Unconfirmed"),
("P", "Pending"),
("S", "Suspect"),
("C", "Confirmed or verified"),
("I", "Confirmed but inactive"),
("E", "Erroneous"),
("D", "Doubt raised"),
],
},
TableDef {
id: "0441",
name: "Immunization Registry Status",
closed: false,
codes: &[
("A", "Active"),
("I", "Inactive"),
("L", "Inactive - Lost to follow-up (cancel contract)"),
("M", "Inactive - Moved or gone elsewhere (cancel contract)"),
("P", "Inactive - Permanently inactive (Do not reactivate or add new entries to the record)"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0443",
name: "Provider role",
closed: false,
codes: &[
("AD", "Admitting"),
("AP", "Administering Provider"),
("AT", "Attending"),
("CLP", "Collecting Provider"),
("CP", "Consulting Provider"),
("DP", "Dispensing Provider"),
("EP", "Entering Provider (probably not the same as transcriptionist?)"),
("FHCP", "Family Health Care Professional"),
("IP", "Initiating Provider (as in action by)"),
("MDIR", "Medical Director"),
("OP", "Ordering Provider"),
("PH", "Pharmacist (not sure how to dissect Pharmacist/Treatment Supplier's Verifier ID)"),
("PP", "Primary Care Provider"),
("RO", "Responsible Observer"),
("RP", "Referring Provider"),
("RT", "Referred to Provider"),
("TR", "Transcriptionist"),
("PI", "Primary Interpreter"),
("AI", "Assistant/Alternate Interpreter"),
("TN", "Technician"),
("VP", "Verifying Provider"),
("VPS", "Verifying Pharmaceutical Supplier (not sure how to dissect Pharmacist/Treatment Supplier's Verifier ID)"),
("VTS", "Verifying Treatment Supplier (not sure how to dissect Pharmacist/Treatment Supplier's Verifier ID)"),
],
},
TableDef {
id: "0445",
name: "Identity Reliability",
closed: false,
codes: &[
("US", "Unknown/Default Social Security Number"),
("UD", "Unknown/Default Date of Birth"),
("UA", "Unknown/Default Address"),
("AL", "Patient/Person Name is an Alias"),
],
},
TableDef {
id: "0472",
name: "TQ Conjunction ID",
closed: false,
codes: &[
("S", "Synchronous"),
("A", "Asynchronous"),
("C", "Actuation Time"),
],
},
TableDef {
id: "0474",
name: "Organization Unit Type",
closed: false,
codes: &[
("D", "Department"),
("F", "Facility"),
("L", "Local market area"),
("U", "Subdepartment"),
("M", "Medical Center Area"),
("S", "Subdivision"),
("V", "Division"),
],
},
TableDef {
id: "0480",
name: "Pharmacy Order Types",
closed: false,
codes: &[
("M", "Medication"),
("S", "IV Large Volume Solutions"),
("O", "Other solution as medication orders"),
],
},
TableDef {
id: "0482",
name: "Order Type",
closed: false,
codes: &[
("I", "Inpatient Order"),
("O", "Outpatient Order"),
],
},
TableDef {
id: "0483",
name: "Authorization Mode",
closed: false,
codes: &[
("EL", "Electronic"),
("EM", "E-mail"),
("FX", "Fax"),
("IP", "In Person"),
("MA", "Mail"),
("PA", "Paper"),
("PH", "Phone"),
("RE", "Reflexive (Automated system)"),
("VC", "Video-conference"),
("VO", "Voice"),
],
},
TableDef {
id: "0507",
name: "Observation Result Handling",
closed: false,
codes: &[
("F", "Film-with-patient"),
("N", "Notify provider when ready"),
("A", "Alert provider when abnormal"),
("CC", "Copies requested"),
("BCC", "Blind copy"),
],
},
TableDef {
id: "0516",
name: "Error Severity",
closed: true,
codes: &[("E", "Error"), ("W", "Warning"), ("I", "Information")],
},
TableDef {
id: "0517",
name: "Inform person code",
closed: false,
codes: &[
("PAT", "Inform patient"),
("NPAT", "Do NOT inform patient"),
("USR", "Inform User"),
("HD", "Inform help desk"),
],
},
TableDef {
id: "0518",
name: "Override type",
closed: false,
codes: &[
("EXTN", "Extension Override"),
("INLV", "Interval Override"),
("EQV", "Equivalence Override"),
],
},
TableDef {
id: "0534",
name: "Notify Clergy Code",
closed: false,
codes: &[
("Y", "Yes"),
("N", "No"),
("L", "Last Rites only"),
("O", "Other"),
("U", "Unknown"),
],
},
TableDef {
id: "0535",
name: "Signature Code",
closed: false,
codes: &[
("C", "Signed CMS-1500 claim form on file, e.g., authorization for release of any medical or other information necessary to process this claim and assignment of benefits."),
("S", "Signed authorization for release of any medical or other information necessary to process this claim on file."),
("M", "Signed authorization for assignment of benefits on file."),
("P", "Signature generated by provider because the patient was not physically present for services."),
],
},
TableDef {
id: "0536",
name: "Certificate Status",
closed: false,
codes: &[
("P", "Provisional"),
("R", "Revoked"),
("V", "Active/Valid"),
("E", "Expired"),
("I", "Inactive"),
],
},
TableDef {
id: "0548",
name: "Signatory's Relationship to Subject",
closed: false,
codes: &[
("1", "Self"),
("2", "Parent"),
("3", "Next of Kin"),
("4", "Durable Power of Attorney in Healthcare Affairs"),
("5", "Conservator"),
("6", "Emergent Practitioner (practitioner judging case as emergency requiring care without a consent)"),
("7", "Non-Emergent Practitioner (i.e. medical ethics committee)"),
],
},
TableDef {
id: "0550",
name: "Body Parts",
closed: false,
codes: &[
("JUGE", "Jugular, External"),
("ADB", "Abdomen"),
("ACET", "Acetabulum"),
("ACHIL", "Achilles"),
("ADE", "Adenoids"),
("ADR", "Adrenal"),
("AMN", "Amniotic fluid"),
("AMS", "Amniotic Sac"),
("ANAL", "Anal"),
("ANKL", "Ankle"),
("ANTEC", "Antecubital"),
("ANTECF", "Antecubital Fossa"),
("ANTR", "Antrum"),
("ANUS", "Anus"),
("AORTA", "Aorta"),
("AR", "Aortic Rim"),
("AV", "Aortic Valve"),
("APDX", "Appendix"),
("AREO", "Areola"),
("ARM", "Arm"),
("ARTE", "Artery"),
("ASCIT", "Ascites"),
("ASCT", "Ascitic Fluid"),
("ATR", "Atrium"),
("AURI", "Auricular"),
("AXI", "Axilla"),
("BACK", "Back"),
("BARTD", "Bartholin Duct"),
("BARTG", "Bartholin Gland"),
("BRTGF", "Bartholin Gland Fluid"),
("BPH", "Basophils"),
("BID", "Bile Duct"),
("BIFL", "Bile fluid"),
("BLAD", "Bladder"),
("BLOOD", "Blood"),
("BLDA", "Blood, Arterial"),
("BLDC", "Blood, Capillary"),
("BLDV", "Blood, Venous"),
("CBLD", "Blood, Cord"),
("BLD", "Blood, Whole"),
("BDY", "Body, Whole"),
("BON", "Bone"),
("BMAR", "Bone marrow"),
("BOWEL", "Bowel"),
("BOWLA", "Bowel, Large"),
("BOWSM", "Bowel, Small"),
("BRA", "Brachial"),
("BRAIN", "Brain"),
("BCYS", "Brain Cyst Fluid"),
("BRST", "Breast"),
("BRSTFL", "Breast fluid"),
("BRO", "Bronchial"),
("BROCH", "Bronchiole/Bronchiolar"),
("BRONC", "Bronchus/Bronchial"),
("BRV", "Broviac"),
("BUCCA", "Buccal"),
("BURSA", "Bursa"),
("BURSF", "Bursa Fluid"),
("BUTT", "Buttocks"),
("CALF", "Calf"),
("CANAL", "Canal"),
("CANLI", "Canaliculis"),
("CNL", "Cannula"),
("CANTH", "Canthus"),
("CDM", "Cardiac Muscle"),
("CARO", "Carotid"),
("CARP", "Carpal"),
("CAVIT", "Cavity"),
("CHE", "Cavity, Chest"),
("CECUM", "Cecum/Cecal"),
("CSF", "Cerebral Spinal Fluid"),
("CVX", "Cervix"),
("CERVUT", "Cervix/Uterus"),
("CHEEK", "Cheek"),
("CHES", "Chest"),
("CHEST", "Chest Tube"),
("CHIN", "Chin"),
("CIRCU", "Circumcision Site"),
("CLAVI", "Clavicle/Clavicular"),
("CLITO", "Clitoral"),
("CLIT", "Clitoris"),
("COCCG", "Coccygeal"),
("COCCY", "Coccyx"),
("COLON", "Colon"),
("COLOS", "Colostomy"),
("COS", "Colostomy Stoma"),
("CDUCT", "Common Duct"),
("CONJ", "Conjunctiva"),
("CORAL", "Coral"),
("COR", "Cord"),
("CORD", "Cord Blood"),
("CORN", "Cornea"),
("CRANE", "Cranium, ethmoid"),
("CRANF", "Cranium, frontal"),
("CRANO", "Cranium, occipital"),
("CRANP", "Cranium, parietal"),
("CRANS", "Cranium, sphenoid"),
("CRANT", "Cranium, temporal"),
("CUBIT", "Cubitus"),
("CUFF", "Cuff"),
("CULD", "Cul De Sac"),
("CULDO", "Culdocentesis"),
("DELT", "Deltoid"),
("DENTA", "Dental"),
("DEN", "Dental Gingiva"),
("DIAF", "Dialysis Fluid"),
("DPH", "Diaphragm"),
("DIGIT", "Digit"),
("DISC", "Disc"),
("DORS", "Dorsum/Dorsal"),
("DUFL", "Duodenal Fluid"),
("DUODE", "Duodenum/Duodenal"),
("DUR", "Dura"),
("EAR", "Ear"),
("EARBI", "Ear bone, incus"),
("EARBM", "Ear bone, malleus"),
("EARBS", "Ear bone,stapes"),
("EARLO", "Ear Lobe"),
("ELBOW", "Elbow"),
("ELBOWJ", "Elbow Joint"),
("ENDC", "Endocardium"),
("EC", "Endocervical"),
("EOLPH", "endolpthamitis"),
("ENDM", "Endometrium"),
("ET", "Endotracheal"),
("EUR", "Endourethral"),
("EOS", "Eosinophils"),
("EPICA", "Epicardial"),
("EPICM", "Epicardium"),
("EPD", "Epididymis"),
("EPIDU", "Epidural"),
("EPIGL", "Epiglottis"),
("ESOPG", "Esophageal"),
("ESO", "Esophagus"),
("ETHMO", "Ethmoid"),
("EYE", "Eye"),
("BROW", "Eyebrow"),
("EYELI", "Eyelid"),
("FACE", "Face"),
("FBINC", "Facial bone, inferior nasal concha"),
("FBLAC", "Facial bone, lacrimal"),
("FBMAX", "Facial bone, maxilla"),
("FBNAS", "Facial bone, nasal"),
("FBPAL", "Facial bone, palatine"),
("FBVOM", "Facial bone, vomer"),
("FBZYG", "Facial bone, zygomatic"),
("FALLT", "Fallopian Tube"),
("FEMOR", "Femoral"),
("FMH", "Femoral Head"),
("FEMUR", "Femur"),
("FET", "Fetus"),
("FIBU", "Fibula"),
("FING", "Finger"),
("FINGN", "Finger Nail"),
("FOL", "Follicle"),
("FOOT", "Foot"),
("FOREA", "Forearm"),
("FOREH", "Forehead"),
("FORES", "Foreskin"),
("FOURC", "Fourchette"),
("GB", "Gall Bladder"),
("GEN", "Genital"),
("GVU", "Genital - Vulva"),
("GENC", "Genital Cervix"),
("GL", "Genital Lesion"),
("GENL", "Genital Lochia"),
("GLAND", "Gland"),
("GLANS", "Glans"),
("GLUTE", "Gluteal"),
("GLUT", "Gluteus"),
("GLUTM", "Gluteus Medius"),
("GROIN", "Groin"),
("GUM", "Gum"),
("HAR", "Hair"),
("HAL", "Hallux"),
("HAND", "Hand"),
("HEAD", "Head"),
("HART", "Heart"),
("HV", "Heart Valve"),
("HVB", "Heart Valve, Bicuspid"),
("HVT", "Heart Valve, Tricuspid"),
("HEEL", "Heel"),
("HEM", "Hemorrhoid"),
("HIP", "Hip"),
("HIPJ", "Hip Joint"),
("HUMER", "Humerus"),
("HYMEN", "Hymen"),
("ILC", "Ileal Conduit"),
("ILE", "Ileal Loop"),
("ILEOS", "Ileostomy"),
("ILEUM", "Ileum"),
("ILIAC", "Iliac"),
("ILCR", "Iliac Crest"),
("ILCON", "Ilical Conduit"),
("INGUI", "Inguinal"),
("JUGI", "Jugular, Internal"),
("INT", "Intestine"),
("ICX", "Intracervical"),
("INASA", "Intranasal"),
("INTRU", "Intrauterine"),
("INTRO", "Introitus"),
("ISCHI", "Ischium"),
("JAW", "Jaw"),
("KIDN", "Kidney"),
("KNEE", "Knee"),
("KNEEF", "Knee Fluid"),
("KNEEJ", "Knee Joint"),
("LABIA", "Labia"),
("LABMA", "Labia Majora"),
("LABMI", "Labia Minora"),
("LACRI", "Lacrimal"),
("LAM", "Lamella"),
("INSTL", "Intestine, Large"),
("LARYN", "Larynx"),
("LEG", "Leg"),
("LENS", "Lens"),
("WBC", "Leukocytes"),
("LING", "Lingual"),
("LINGU", "Lingula"),
("LIP", "Lip"),
("STOOLL", "Liquid Stool"),
("LIVER", "Liver"),
("LOBE", "Lobe"),
("LOCH", "Lochia"),
("ISH", "Loop, Ishial"),
("LUMBA", "Lumbar"),
("LMN", "Lumen"),
("LUNG", "Lung"),
("LN", "Lymph Node"),
("LNG", "Lymph Node, Groin"),
("LYM", "Lymphocytes"),
("MAC", "Macrophages"),
("MALLE", "Malleolus"),
("MANDI", "Mandible/Mandibular"),
("MAR", "Marrow"),
("MAST", "Mastoid"),
("MAXIL", "Maxilla/Maxillary"),
("MAXS", "Maxillary Sinus"),
("MEATU", "Meatus"),
("MEC", "Meconium"),
("MEDST", "Mediastinum"),
("MEDU", "Medullary"),
("MOU", "Membrane"),
("MPB", "Meninges"),
("METAC", "Metacarpal"),
("METAT", "Metatarsal"),
("MILK", "Milk, Breast"),
("MITRL", "Mitral Valve"),
("MOLAR", "Molar"),
("MP", "Mons Pubis"),
("MONSU", "Mons Ureteris"),
("MONSV", "Mons Veneris(Mons Pubis)"),
("MOUTH", "Mouth"),
("MRSA2", "Mrsa:"),
("MYO", "Myocardium"),
("NAIL", "Nail"),
("NAILB", "Nail Bed"),
("NAILF", "Nail, Finger"),
("NAILT", "Nail, Toe"),
("NARES", "Nares"),
("NASL", "Nasal"),
("NSS", "Nasal Septum"),
("NLACR", "Nasolacrimal"),
("NP", "Nasopharyngeal/Nasopharynx"),
("NTRAC", "Nasotracheal"),
("NAVEL", "Navel"),
("NECK", "Neck"),
("NERVE", "Nerve"),
("NIPPL", "Nipple"),
("NOS", "Nose (Nasal Passage)"),
("NOSE", "Nose/Nose(outside)"),
("NOSTR", "Nostril"),
("OCCIP", "Occipital"),
("OLECR", "Olecranon"),
("OMEN", "Omentum"),
("ORBIT", "Orbit/Orbital"),
("ORO", "Oropharynx"),
("OSCOX", "Os coxa (pelvic girdle)"),
("OVARY", "Ovary"),
("PALAT", "Palate"),
("PLATH", "Palate, Hard"),
("PLATS", "Palate, Soft"),
("PALM", "Palm"),
("PANCR", "Pancreas"),
("PAFL", "Pancreatic Fluid"),
("PAS", "Parasternal"),
("PARAT", "Paratracheal"),
("PARIE", "Parietal"),
("PARON", "Paronychia"),
("PAROT", "Parotid/Parotid Gland"),
("PATEL", "Patella"),
("PELV", "Pelvis"),
("PENSH", "Penile Shaft"),
("PENIS", "Penis"),
("PANAL", "Perianal/Perirectal"),
("PERI", "Pericardial Fluid"),
("PCARD", "Pericardium"),
("PCLIT", "Periclitoral"),
("PERIH", "Perihepatic"),
("PNEAL", "Perineal"),
("PERIN", "Perineal Abscess"),
("PNEPH", "Perinephric"),
("PNM", "Perineum"),
("PORBI", "Periorbital"),
("PERRA", "Perirectal"),
("PERIS", "Perisplenic"),
("PER", "Peritoneal"),
("PERT", "Peritoneal Fluid"),
("PERIT", "Peritoneum"),
("PTONS", "Peritonsillar"),
("PERIU", "Periurethal"),
("PERIV", "Perivesicular"),
("PHALA", "Phalanyx"),
("PILO", "Pilonidal"),
("PINNA", "Pinna"),
("PLC", "Placenta"),
("PLACF", "Placenta (Fetal Side)"),
("PLACM", "Placenta (Maternal Side)"),
("PLANT", "Plantar"),
("PLEUR", "Pleura"),
("PLEU", "Pleural Fluid"),
("PLR", "Pleural Fluid (Thoracentesis Fld)"),
("POPLI", "Popliteal"),
("PREAU", "Preauricular"),
("PRERE", "Prerenal"),
("PRST", "Prostate Gland"),
("PROS", "Prostatic Fluid"),
("PUBIC", "Pubic"),
("PUL", "Pulmonary Artery"),
("RADI", "Radial"),
("RADIUS", "Radius"),
("RECTL", "Rectal"),
("RECTU", "Rectum"),
("RBC", "Red Blood Cells"),
("RENL", "Renal"),
("RNP", "Renal Pelvis"),
("RPERI", "Retroperitoneal"),
("RIB", "Rib"),
("SACRA", "Sacral"),
("SACRO", "Sacrococcygeal"),
("SACIL", "Sacroiliac"),
("SACRU", "Sacrum"),
("SALGL", "Salivary Gland"),
("SCALP", "Scalp"),
("SCAPU", "Scapula/Scapular"),
("SCLER", "Sclera"),
("SCROT", "Scrotum/Scrotal"),
("SEMN", "Semen"),
("SEM", "Seminal Fluid"),
("SEPTU", "Septum/Septal"),
("SEROM", "Seroma"),
("SHIN", "Shin"),
("SHOLJ", "Sholder Joint"),
("SHOL", "Shoulder"),
("SIGMO", "Sigmoid"),
("SINUS", "Sinus"),
("SKM", "Skeletal Muscle"),
("SKENE", "Skene's Gland"),
("SKULL", "Skull"),
("INSTS", "Intestine, Small"),
("SOLE", "Sole"),
("SPRM", "Spermatozoa"),
("SPHEN", "Sphenoid"),
("SPCOR", "Spinal Cord"),
("SPLN", "Spleen"),
("STER", "Sternum/Sternal"),
("STOM", "Stoma"),
("USTOM", "Stoma, Urinary"),
("STOMA", "Stomach"),
("STUMP", "Stump"),
("SCLV", "Sub Clavian"),
("SDP", "Subdiaphramatic"),
("SUB", "Subdural"),
("SUBD", "Subdural Fluid"),
("SGF", "Subgaleal Fluid"),
("SUBM", "Submandibular"),
("SUBX", "Submaxillary"),
("SUBME", "Submental"),
("SUBPH", "Subphrenic"),
("SPX", "Supra Cervical"),
("SCLAV", "Supraclavicle/Supraclavicular"),
("SUPRA", "Suprapubic"),
("SUPB", "Suprapubic Specimen"),
("SWT", "Sweat"),
("SWTG", "Sweat Gland"),
("SYNOL", "Synovial"),
("SYN", "Synovial Fluid"),
("SYNOV", "Synovium"),
("TARS", "Tarsal"),
("TDUCT", "Tear Duct"),
("TEAR", "Tears"),
("TEMPL", "Temple"),
("TEMPO", "Temporal"),
("TML", "Temporal Lobe"),
("TESTI", "Testicle(Testis)"),
("THIGH", "Thigh"),
("THORA", "Thorax/Thoracic/Thoracentesis"),
("THRB", "Throat"),
("THUMB", "Thumb"),
("TNL", "Thumbnail"),
("THM", "Thymus"),
("THYRD", "Thyroid"),
("TIBIA", "Tibia"),
("TOE", "Toe"),
("TOEN", "Toe Nail"),
("TONG", "Tongue"),
("TONS", "Tonsil"),
("TOOTH", "Tooth"),
("TSK", "Tooth Socket"),
("TRCHE", "Trachea/Tracheal"),
("TBRON", "Transbronchial"),
("TCN", "Transcarina Asp"),
("ULNA", "Ulna/Ulnar"),
("UMB", "Umbilical Blood"),
("UMBL", "Umbilicus/Umbilical"),
("URET", "Ureter"),
("URTH", "Urethra"),
("UTERI", "Uterine"),
("SAC", "Uterine Cul/De/Sac"),
("UTER", "Uterus"),
("VAGIN", "Vagina/Vaginal"),
("VCUFF", "Vaginal Cuff"),
("VGV", "Vaginal Vault"),
("VAL", "Valve"),
("VAS", "Vas Deferens"),
("VASTL", "Vastus Lateralis"),
("VAULT", "Vault"),
("VEIN", "Vein"),
("VENTG", "Ventragluteal"),
("VCSF", "Ventricular CSF"),
("VERMI", "Vermis Cerebelli"),
("VERTC", "Vertebra, cervical"),
("VERTL", "Vertebra, lumbar"),
("VERTT", "Vertebra, thoracic"),
("VESI", "Vesicle"),
("VESCL", "Vesicular"),
("VESFLD", "Vesicular Fluid"),
("VESTI", "Vestibule(Genital)"),
("VITR", "Vitreous Fluid"),
("VOC", "Vocal Cord"),
("VULVA", "Vulva"),
("WRIST", "Wrist"),
],
},
];
const UNVALIDATED_TABLES: &[(&str, &str)] = &[
("0069", "Hospital Service is defined per site"),
("0131", "Contact Role is defined per site"),
("0005", "Race now uses the CDC value set, not the retired HL7 fragment"),
("0005", "Race is defined per site"),
("0010", "Physician ID is defined per site"),
("0018", "Patient Type is defined per site"),
("0019", "Anesthesia Code is defined per site"),
("0021", "Bad Debt Agency Code is defined per site"),
("0022", "Billing Status is defined per site"),
("0024", "Fee Schedule is defined per site"),
("0033", "Disabled Person Code could not be matched to what HL7 now publishes under 0033"),
("0042", "Company Plan Code is defined per site"),
("0043", "Condition Code is defined per site"),
("0044", "Contract Code is defined per site"),
("0045", "Courtesy Code is defined per site"),
("0046", "Credit Rating is defined per site"),
("0049", "Department Code is defined per site"),
("0050", "Accident Code is defined per site"),
("0051", "Diagnosis Code is defined per site"),
("0055", "Diagnosis related group is defined per site"),
("0056", "DRG grouper review code is defined per site"),
("0059", "Consent Code is defined per site"),
("0064", "Financial Class is defined per site"),
("0066", "HL7 publishes only a fragment of Employment Status"),
("0068", "Guarantor Type is defined per site"),
("0072", "Insurance Plan ID is defined per site"),
("0073", "Interest Rate Code is defined per site"),
("0084", "Performed by is defined per site"),
("0086", "Plan ID is defined per site"),
("0088", "Procedure Code is defined per site"),
("0093", "Release Information is defined per site"),
("0099", "VIP Indicator is defined per site"),
("0100", "When to charge is not what HL7 now publishes under 0100"),
("0110", "Transfer to Bad Debt Code is defined per site"),
("0111", "Delete Account Code is defined per site"),
("0113", "Discharged to Location is defined per site"),
("0114", "Diet Type is defined per site"),
("0118", "Major Diagnostic Category is defined per site"),
("0129", "Accommodation code is defined per site"),
("0132", "Transaction Code is defined per site"),
("0141", "Military Rank/Grade is defined per site"),
("0148", "Penalty type is not what HL7 now publishes under 0148"),
("0153", "Value code is defined per site"),
("0171", "Citizenship is defined per site"),
("0172", "Veterans Military Status is defined per site"),
("0182", "Staff type is defined per site"),
("0184", "Department is defined per site"),
("0188", "Operator ID is defined per site"),
("0192", "Visit ID type is defined per site"),
("0200", "HL7 publishes only a fragment of Name Type"),
("0212", "Nationality is defined per site"),
("0218", "Patient Charge Adjustment is defined per site"),
("0219", "Recurring Service Code is defined per site"),
("0222", "Contact Reason is defined per site"),
("0227", "HL7 publishes only a fragment of Manufacturers of Vaccines (code=MVX)"),
("0233", "Non-Concur Code/Description is defined per site"),
("0259", "Modality is defined per site"),
("0264", "Location Department is defined per site"),
("0285", "Insurance company ID codes is defined per site"),
("0292", "HL7 publishes only a fragment of Vaccines administered"),
("0293", "Billing Category is defined per site"),
("0295", "Handicap is defined per site"),
("0296", "Primary Language is defined per site"),
("0310", "Handicap is defined per site"),
("0319", "Department Cost Center is defined per site"),
("0338", "Practitioner ID number type is defined per site"),
("0340", "Procedure code modifier is defined per site"),
("0341", "Guarantor Credit Rating Code is defined per site"),
("0342", "Military Recipient is defined per site"),
("0343", "Military Handicapped Program Code is defined per site"),
("0345", "Appeal Reason is defined per site"),
("0346", "Certification Agency is defined per site"),
("0347", "Auto Accident State is defined per site"),
("0348", "Special Program Indicator is defined per site"),
("0349", "PSRO/UR Approval Indicator is defined per site"),
("0350", "Occurrence code is defined per site"),
("0351", "Occurrence span is defined per site"),
("0358", "Practitioner group is defined per site"),
("0361", "Application is defined per site"),
("0385", "Manufacturer identifier is defined per site"),
("0405", "Organization Unit is defined per site"),
("0411", "Supplemental Service Information Values is defined per site"),
("0412", "Category Identifier is defined per site"),
("0413", "Consent Identifier is defined per site"),
("0414", "Units of Time is defined per site"),
("0418", "HL7 publishes only a fragment of Procedure Priority"),
("0446", "Species Code is defined per site"),
("0447", "Breed Code is defined per site"),
("0449", "Conformance statements is defined per site"),
("0452", "Health care provider type code is defined per site"),
("0453", "Health care provider classification is defined per site"),
("0454", "Health care provider area of specialization is defined per site"),
("0461", "License Number is defined per site"),
("0462", "Location cost center is defined per site"),
("0463", "Inventory Number is defined per site"),
("0464", "Facility ID is defined per site"),
("0466", "HL7 publishes only a fragment of Ambulatory Payment Classification Code"),
("0471", "Query name is defined per site"),
("0476", "Medically Necessary Duplicate Procedure Reason is defined per site"),
("0519", "Override reason is defined per site"),
("0520", "Message Waiting Priority could not be matched to what HL7 now publishes under 0520"),
("0537", "Institution is defined per site"),
("0549", "NDC Codes is defined per site"),
("0552", "Advanced beneficiary notice override reason is defined per site"),
("0725", "Mood Code is defined per site"),
("0728", "DRG CCL Value Code could not be matched to what HL7 now publishes under 0728"),
("0731", "DRG Diagnosis Determination Status could not be matched to what HL7 now publishes under 0731"),
("0734", "Grouper Status could not be matched to what HL7 now publishes under 0734"),
("0739", "Status Patient could not be matched to what HL7 now publishes under 0739"),
("0742", "Status Financial Calculation could not be matched to what HL7 now publishes under 0742"),
("0749", "Status Age could not be matched to what HL7 now publishes under 0749"),
("0755", "Status Weight at Birth could not be matched to what HL7 now publishes under 0755"),
("0757", "Status Respiration Minutes could not be matched to what HL7 now publishes under 0757"),
("0759", "Status Admission could not be matched to what HL7 now publishes under 0759"),
("0761", "DRG Procedure Determination Status could not be matched to what HL7 now publishes under 0761"),
("0763", "DRG Procedure Relevance could not be matched to what HL7 now publishes under 0763"),
("0771", "Generic resource type or category is defined per site"),
("0836", "Problem Severity is defined per site"),
("0838", "Problem Perspective is defined per site"),
("0865", "Referral Documentation Completion Status is defined per site"),
("0895", "Present On Admission (POA) Indicator is defined per site"),
];
#[must_use]
pub fn is_unvalidated_table(id: &str) -> bool {
UNVALIDATED_TABLES.iter().any(|(t, _)| *t == id)
}
#[must_use]
pub fn table(id: &str) -> Option<&'static TableDef> {
let at = TABLES.binary_search_by(|t| t.id.cmp(id)).ok()?;
TABLES.get(at)
}
impl TableDef {
#[must_use]
pub fn meaning(&self, code: &str) -> Option<&'static str> {
self.codes.iter().find(|(c, _)| *c == code).map(|(_, m)| *m)
}
}
#[must_use]
pub fn code_meaning(table_id: &str, code: &str) -> Option<&'static str> {
table(table_id).and_then(|t| t.meaning(code))
}
#[derive(Debug, Clone, Copy)]
pub struct StructSeg {
pub name: &'static str,
pub required: bool,
}
const fn req(name: &'static str) -> StructSeg {
StructSeg {
name,
required: true,
}
}
const fn opt(name: &'static str) -> StructSeg {
StructSeg {
name,
required: false,
}
}
#[derive(Debug, Clone, Copy)]
pub struct MessageSpec {
pub id: &'static str,
pub desc: &'static str,
pub segments: &'static [StructSeg],
}
const ADT_VISIT: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("EVN"),
req("PID"),
opt("PD1"),
opt("ARV"),
opt("ROL"),
opt("NK1"),
req("PV1"),
opt("PV2"),
opt("ROL"),
opt("DB1"),
opt("OBX"),
opt("AL1"),
opt("DG1"),
opt("DRG"),
opt("PR1"),
opt("GT1"),
opt("IN1"),
opt("IN2"),
opt("IN3"),
opt("ACC"),
opt("UB1"),
opt("UB2"),
opt("PDA"),
];
const ADT_PERSON: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("EVN"),
req("PID"),
opt("PD1"),
opt("ARV"),
opt("ROL"),
opt("NK1"),
opt("PV1"),
opt("PV2"),
opt("DB1"),
opt("OBX"),
opt("AL1"),
opt("DG1"),
opt("DRG"),
opt("PR1"),
opt("GT1"),
opt("IN1"),
opt("IN2"),
opt("IN3"),
opt("ACC"),
opt("UB1"),
opt("UB2"),
];
const ADT_MERGE: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("EVN"),
req("PID"),
opt("PD1"),
req("MRG"),
opt("PV1"),
];
const ORU_R01: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
opt("PID"),
opt("PD1"),
opt("NTE"),
opt("NK1"),
opt("PV1"),
opt("PV2"),
opt("ORC"),
req("OBR"),
opt("NTE"),
opt("TQ1"),
opt("CTD"),
opt("OBX"),
opt("NTE"),
opt("SPM"),
opt("DSC"),
];
const ORM_O01: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
opt("PID"),
opt("PD1"),
opt("NTE"),
opt("PV1"),
opt("PV2"),
opt("IN1"),
opt("IN2"),
opt("IN3"),
opt("GT1"),
opt("AL1"),
req("ORC"),
opt("OBR"),
opt("RXO"),
opt("RQD"),
opt("ODS"),
opt("NTE"),
opt("DG1"),
opt("OBX"),
opt("NTE"),
opt("CTI"),
opt("BLG"),
];
const OML_O21: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
opt("NTE"),
opt("PID"),
opt("PD1"),
opt("NTE"),
opt("PV1"),
opt("PV2"),
opt("IN1"),
opt("GT1"),
opt("AL1"),
req("ORC"),
opt("TQ1"),
opt("TQ2"),
req("OBR"),
opt("NTE"),
opt("DG1"),
opt("OBX"),
opt("NTE"),
opt("SPM"),
];
const ACK_MSG: &[StructSeg] = &[req("MSH"), opt("SFT"), req("MSA"), opt("ERR")];
const SIU_MSG: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("SCH"),
opt("TQ1"),
opt("NTE"),
opt("PID"),
opt("PD1"),
opt("PV1"),
opt("PV2"),
opt("OBX"),
opt("DG1"),
opt("RGS"),
opt("AIS"),
opt("AIG"),
opt("AIL"),
opt("AIP"),
opt("NTE"),
];
const MDM_T02: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("EVN"),
req("PID"),
req("PV1"),
opt("ORC"),
opt("OBR"),
opt("NTE"),
req("TXA"),
opt("OBX"),
opt("NTE"),
];
const MDM_T01: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("EVN"),
req("PID"),
req("PV1"),
req("TXA"),
];
const VXU_V04: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("PID"),
opt("PD1"),
opt("NK1"),
opt("PV1"),
opt("PV2"),
opt("GT1"),
opt("IN1"),
opt("IN2"),
opt("IN3"),
opt("ORC"),
opt("TQ1"),
req("RXA"),
opt("RXR"),
opt("OBX"),
opt("NTE"),
];
const DFT_P03: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("EVN"),
req("PID"),
opt("PD1"),
opt("ROL"),
opt("PV1"),
opt("PV2"),
opt("ROL"),
opt("DB1"),
opt("OBX"),
opt("DG1"),
opt("DRG"),
opt("GT1"),
opt("IN1"),
opt("IN2"),
opt("IN3"),
opt("ACC"),
req("FT1"),
opt("NTE"),
opt("PR1"),
];
const BAR_P01: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
req("EVN"),
req("PID"),
opt("PD1"),
opt("PV1"),
opt("PV2"),
opt("DB1"),
opt("OBX"),
opt("AL1"),
opt("DG1"),
opt("DRG"),
opt("PR1"),
opt("GT1"),
opt("NK1"),
opt("IN1"),
opt("IN2"),
opt("IN3"),
opt("ACC"),
opt("UB1"),
opt("UB2"),
];
const QRY_MSG: &[StructSeg] = &[req("MSH"), req("QRD"), opt("QRF"), opt("DSC")];
const RDE_MSG: &[StructSeg] = &[
req("MSH"),
opt("SFT"),
opt("NTE"),
opt("PID"),
opt("PD1"),
opt("NTE"),
opt("PV1"),
opt("PV2"),
opt("IN1"),
opt("GT1"),
opt("AL1"),
req("ORC"),
opt("TQ1"),
req("RXE"),
opt("NTE"),
opt("RXR"),
opt("RXC"),
opt("OBX"),
opt("CTI"),
];
const MESSAGES: &[MessageSpec] = &[
MessageSpec {
id: "ADT^A01",
desc: "Admit / Visit Notification",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A02",
desc: "Transfer a Patient",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A03",
desc: "Discharge / End Visit",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A04",
desc: "Register a Patient",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A05",
desc: "Pre-admit a Patient",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A06",
desc: "Change Outpatient to Inpatient",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A07",
desc: "Change Inpatient to Outpatient",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A08",
desc: "Update Patient Information",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A09",
desc: "Patient Departing - Tracking",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A10",
desc: "Patient Arriving - Tracking",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A11",
desc: "Cancel Admit / Visit Notification",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A12",
desc: "Cancel Transfer",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A13",
desc: "Cancel Discharge / End Visit",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A14",
desc: "Pending Admit",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A15",
desc: "Pending Transfer",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A16",
desc: "Pending Discharge",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A17",
desc: "Swap Patients",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A18",
desc: "Merge Patient Information",
segments: ADT_MERGE,
},
MessageSpec {
id: "ADT^A20",
desc: "Bed Status Update",
segments: &[req("MSH"), req("EVN"), req("NPU")],
},
MessageSpec {
id: "ADT^A21",
desc: "Patient Goes on Leave of Absence",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A22",
desc: "Patient Returns from Leave of Absence",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A23",
desc: "Delete a Patient Record",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A25",
desc: "Cancel Pending Discharge",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A26",
desc: "Cancel Pending Transfer",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A27",
desc: "Cancel Pending Admit",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A28",
desc: "Add Person Information",
segments: ADT_PERSON,
},
MessageSpec {
id: "ADT^A29",
desc: "Delete Person Information",
segments: ADT_PERSON,
},
MessageSpec {
id: "ADT^A30",
desc: "Merge Person Information",
segments: ADT_MERGE,
},
MessageSpec {
id: "ADT^A31",
desc: "Update Person Information",
segments: ADT_PERSON,
},
MessageSpec {
id: "ADT^A34",
desc: "Merge Patient Information - Patient ID",
segments: ADT_MERGE,
},
MessageSpec {
id: "ADT^A35",
desc: "Merge Patient Information - Account Number",
segments: ADT_MERGE,
},
MessageSpec {
id: "ADT^A38",
desc: "Cancel Pre-admit",
segments: ADT_VISIT,
},
MessageSpec {
id: "ADT^A40",
desc: "Merge Patient - Patient Identifier List",
segments: ADT_MERGE,
},
MessageSpec {
id: "ADT^A44",
desc: "Move Account Information",
segments: ADT_MERGE,
},
MessageSpec {
id: "ADT^A45",
desc: "Move Visit Information",
segments: ADT_MERGE,
},
MessageSpec {
id: "ADT^A47",
desc: "Change Patient Identifier List",
segments: ADT_MERGE,
},
MessageSpec {
id: "ADT^A60",
desc: "Update Allergy Information",
segments: ADT_PERSON,
},
MessageSpec {
id: "ACK",
desc: "General Acknowledgment",
segments: ACK_MSG,
},
MessageSpec {
id: "ORU^R01",
desc: "Unsolicited Observation Result",
segments: ORU_R01,
},
MessageSpec {
id: "ORU^R30",
desc: "Unsolicited Point-of-Care Observation",
segments: ORU_R01,
},
MessageSpec {
id: "OUL^R21",
desc: "Unsolicited Laboratory Observation",
segments: ORU_R01,
},
MessageSpec {
id: "ORM^O01",
desc: "Order Message",
segments: ORM_O01,
},
MessageSpec {
id: "OMG^O19",
desc: "General Clinical Order",
segments: OML_O21,
},
MessageSpec {
id: "OML^O21",
desc: "Laboratory Order",
segments: OML_O21,
},
MessageSpec {
id: "ORR^O02",
desc: "Order Response",
segments: &[
req("MSH"),
req("MSA"),
opt("ERR"),
opt("PID"),
opt("ORC"),
opt("OBR"),
],
},
MessageSpec {
id: "RDE^O11",
desc: "Pharmacy/Treatment Encoded Order",
segments: RDE_MSG,
},
MessageSpec {
id: "SIU^S12",
desc: "Notification of New Appointment",
segments: SIU_MSG,
},
MessageSpec {
id: "SIU^S13",
desc: "Notification of Appointment Rescheduling",
segments: SIU_MSG,
},
MessageSpec {
id: "SIU^S14",
desc: "Notification of Appointment Modification",
segments: SIU_MSG,
},
MessageSpec {
id: "SIU^S15",
desc: "Notification of Appointment Cancellation",
segments: SIU_MSG,
},
MessageSpec {
id: "SIU^S17",
desc: "Notification of Appointment Deletion",
segments: SIU_MSG,
},
MessageSpec {
id: "SIU^S26",
desc: "Notification of Patient Did Not Show",
segments: SIU_MSG,
},
MessageSpec {
id: "MDM^T01",
desc: "Original Document Notification",
segments: MDM_T01,
},
MessageSpec {
id: "MDM^T02",
desc: "Original Document Notification and Content",
segments: MDM_T02,
},
MessageSpec {
id: "MDM^T04",
desc: "Document Status Change Notification and Content",
segments: MDM_T02,
},
MessageSpec {
id: "MDM^T06",
desc: "Document Addendum Notification and Content",
segments: MDM_T02,
},
MessageSpec {
id: "MDM^T08",
desc: "Document Edit Notification and Content",
segments: MDM_T02,
},
MessageSpec {
id: "VXU^V04",
desc: "Unsolicited Vaccination Record Update",
segments: VXU_V04,
},
MessageSpec {
id: "DFT^P03",
desc: "Post Detail Financial Transaction",
segments: DFT_P03,
},
MessageSpec {
id: "BAR^P01",
desc: "Add Patient Account",
segments: BAR_P01,
},
MessageSpec {
id: "BAR^P02",
desc: "Purge Patient Account",
segments: BAR_P01,
},
MessageSpec {
id: "QRY^A19",
desc: "Patient Query",
segments: QRY_MSG,
},
MessageSpec {
id: "QRY^Q01",
desc: "Query Sent for Immediate Response",
segments: QRY_MSG,
},
];
#[must_use]
pub fn message_spec(code: &str, trigger: &str) -> Option<&'static MessageSpec> {
let key = format!("{code}^{trigger}");
MESSAGES
.iter()
.find(|m| m.id == key)
.or_else(|| MESSAGES.iter().find(|m| m.id == code))
}
#[must_use]
pub fn trigger_desc(trigger: &str) -> Option<&'static str> {
code_meaning("0003", trigger)
}
pub const DICTIONARY_VERSION: &str = "2.5.1";
#[must_use]
pub fn version_rank(v: &str) -> Option<usize> {
table("0104")?.codes.iter().position(|(c, _)| *c == v)
}
#[derive(Debug, Clone, Copy)]
pub struct FieldDelta {
pub segment: &'static str,
pub seq: usize,
pub spec: Option<FieldSpec>,
}
const DELTA_2_3: &[FieldDelta] = &[
FieldDelta {
segment: "ACC",
seq: 4,
spec: Some(fld!(4, "Auto Accident State", "CE", O)),
},
FieldDelta {
segment: "ACC",
seq: 7,
spec: None,
},
FieldDelta {
segment: "ACC",
seq: 8,
spec: None,
},
FieldDelta {
segment: "ACC",
seq: 9,
spec: None,
},
FieldDelta {
segment: "ACC",
seq: 10,
spec: None,
},
FieldDelta {
segment: "ACC",
seq: 11,
spec: None,
},
FieldDelta {
segment: "AL1",
seq: 2,
spec: Some(fld!(2, "Allergy Type", "IS", O, t "0127")),
},
FieldDelta {
segment: "AL1",
seq: 3,
spec: Some(fld!(3, "Allergy Code/Mnemonic/Description", "CE", R)),
},
FieldDelta {
segment: "AL1",
seq: 4,
spec: Some(fld!(4, "Allergy Severity", "IS", O, t "0128")),
},
FieldDelta {
segment: "AL1",
seq: 5,
spec: Some(fld!(5, "Allergy Reaction", "ST", O)),
},
FieldDelta {
segment: "AL1",
seq: 6,
spec: Some(fld!(6, "Identification Date", "DT", O)),
},
FieldDelta {
segment: "BHS",
seq: 3,
spec: Some(fld!(3, "Batch Sending Application", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 4,
spec: Some(fld!(4, "Batch Sending Facility", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 5,
spec: Some(fld!(5, "Batch Receiving Application", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 6,
spec: Some(fld!(6, "Batch Receiving Facility", "ST", O)),
},
FieldDelta {
segment: "BLG",
seq: 1,
spec: Some(fld!(1, "When to Charge", "CM", O, t "0100")),
},
FieldDelta {
segment: "BLG",
seq: 3,
spec: Some(fld!(3, "Account ID", "CK", O)),
},
FieldDelta {
segment: "BLG",
seq: 4,
spec: None,
},
FieldDelta {
segment: "CDM",
seq: 7,
spec: Some(fld!(7, "Procedure Code", "CE", O, rep)),
},
FieldDelta {
segment: "CDM",
seq: 8,
spec: Some(fld!(8, "Active/Inactive Indicator", "ID", O, t "0183")),
},
FieldDelta {
segment: "CDM",
seq: 9,
spec: Some(fld!(9, "Inventory Number", "CE", O, rep)),
},
FieldDelta {
segment: "CDM",
seq: 11,
spec: Some(fld!(11, "Contract Number", "CK", O, rep)),
},
FieldDelta {
segment: "CDM",
seq: 12,
spec: Some(fld!(12, "Contract Organization", "XON", O)),
},
FieldDelta {
segment: "CM0",
seq: 3,
spec: Some(fld!(3, "Alternate Study ID's", "CE", O, rep)),
},
FieldDelta {
segment: "CM0",
seq: 5,
spec: Some(fld!(5, "Chairman of Study", "XCN", O)),
},
FieldDelta {
segment: "CM0",
seq: 9,
spec: Some(fld!(9, "Contact for Study", "XCN", O)),
},
FieldDelta {
segment: "CM0",
seq: 10,
spec: Some(fld!(10, "Contact's Tel. Number", "XTN", O)),
},
FieldDelta {
segment: "CM0",
seq: 11,
spec: Some(fld!(11, "Contact's Address", "XAD", O)),
},
FieldDelta {
segment: "CSR",
seq: 7,
spec: Some(fld!(7, "Person Performing Study Registration", "XCN", O)),
},
FieldDelta {
segment: "CSR",
seq: 8,
spec: Some(fld!(8, "Study Authorizing Provider", "XCN", R)),
},
FieldDelta {
segment: "CTD",
seq: 1,
spec: Some(fld!(1, "Role", "CE", R, t "0131", rep)),
},
FieldDelta {
segment: "CTD",
seq: 3,
spec: Some(fld!(3, "Contact Address", "XAD", O)),
},
FieldDelta {
segment: "CTD",
seq: 7,
spec: Some(fld!(7, "Contact Identifiers", "CM", O, rep)),
},
FieldDelta {
segment: "CTI",
seq: 1,
spec: Some(fld!(1, "Sponsor Study Identifier", "EI", R)),
},
FieldDelta {
segment: "DB1",
seq: 2,
spec: Some(fld!(2, "Disabled Person Code", "IS", O, t "0033")),
},
FieldDelta {
segment: "DG1",
seq: 3,
spec: Some(fld!(3, "Diagnosis Code", "CE", RE, t "0051")),
},
FieldDelta {
segment: "DG1",
seq: 15,
spec: Some(fld!(15, "Diagnosis Priority", "NM", B)),
},
FieldDelta {
segment: "DG1",
seq: 20,
spec: None,
},
FieldDelta {
segment: "DG1",
seq: 21,
spec: None,
},
FieldDelta {
segment: "DRG",
seq: 11,
spec: None,
},
FieldDelta {
segment: "DSC",
seq: 2,
spec: None,
},
FieldDelta {
segment: "EVN",
seq: 5,
spec: Some(fld!(5, "Operator ID", "XCN", O, t "0188")),
},
FieldDelta {
segment: "EVN",
seq: 7,
spec: None,
},
FieldDelta {
segment: "FHS",
seq: 3,
spec: Some(fld!(3, "File Sending Application", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 4,
spec: Some(fld!(4, "File Sending Facility", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 5,
spec: Some(fld!(5, "File Receiving Application", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 6,
spec: Some(fld!(6, "File Receiving Facility", "ST", O)),
},
FieldDelta {
segment: "FT1",
seq: 4,
spec: Some(fld!(4, "Transaction Date", "TS", R)),
},
FieldDelta {
segment: "FT1",
seq: 19,
spec: Some(fld!(19, "Diagnosis Code", "CE", O, t "0051", rep)),
},
FieldDelta {
segment: "FT1",
seq: 20,
spec: Some(fld!(20, "Performed By Code", "XCN", O, t "0084")),
},
FieldDelta {
segment: "FT1",
seq: 21,
spec: Some(fld!(21, "Ordered By Code", "XCN", O)),
},
FieldDelta {
segment: "FT1",
seq: 24,
spec: Some(fld!(24, "Entered By Code", "XCN", O)),
},
FieldDelta {
segment: "FT1",
seq: 26,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 27,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 28,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 29,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 30,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 31,
spec: None,
},
FieldDelta {
segment: "GT1",
seq: 9,
spec: Some(fld!(9, "Guarantor Sex", "IS", O, t "0001")),
},
FieldDelta {
segment: "GT1",
seq: 11,
spec: Some(fld!(11, "Guarantor Relationship", "IS", O, t "0063")),
},
FieldDelta {
segment: "GT1",
seq: 23,
spec: Some(fld!(23, "Guarantor Credit Rating Code", "CE", O)),
},
FieldDelta {
segment: "GT1",
seq: 30,
spec: Some(fld!(30, "Guarantor Marital Status Code", "IS", O, t "0002")),
},
FieldDelta {
segment: "GT1",
seq: 34,
spec: Some(fld!(34, "Ambulatory Status", "IS", O, t "0009")),
},
FieldDelta {
segment: "GT1",
seq: 35,
spec: Some(fld!(35, "Citizenship", "IS", O, t "0171")),
},
FieldDelta {
segment: "GT1",
seq: 38,
spec: Some(fld!(38, "Publicity Indicator", "CE", O, t "0215")),
},
FieldDelta {
segment: "GT1",
seq: 41,
spec: Some(fld!(41, "Religion", "IS", O, t "0006")),
},
FieldDelta {
segment: "GT1",
seq: 42,
spec: Some(fld!(42, "Mother's Maiden Name", "XPN", O)),
},
FieldDelta {
segment: "GT1",
seq: 44,
spec: Some(fld!(44, "Ethnic Group", "IS", O, t "0189")),
},
FieldDelta {
segment: "GT1",
seq: 52,
spec: Some(fld!(52, "Handicap", "IS", O, t "0310")),
},
FieldDelta {
segment: "GT1",
seq: 54,
spec: Some(fld!(54, "Guarantor Financial Class", "FC", O, t "0064")),
},
FieldDelta {
segment: "GT1",
seq: 55,
spec: Some(fld!(55, "Guarantor Race", "IS", O, t "0005")),
},
FieldDelta {
segment: "GT1",
seq: 56,
spec: None,
},
FieldDelta {
segment: "GT1",
seq: 57,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 14,
spec: Some(fld!(14, "Authorization Information", "CM", O)),
},
FieldDelta {
segment: "IN1",
seq: 17,
spec: Some(fld!(17, "Insured's Relationship to Patient", "IS", O, t "0063")),
},
FieldDelta {
segment: "IN1",
seq: 30,
spec: Some(fld!(30, "Verification By", "XCN", O)),
},
FieldDelta {
segment: "IN1",
seq: 43,
spec: Some(fld!(43, "Insured's Sex", "IS", O, t "0001")),
},
FieldDelta {
segment: "IN1",
seq: 44,
spec: Some(fld!(44, "Insured's Employer Address", "XAD", O, rep)),
},
FieldDelta {
segment: "IN1",
seq: 48,
spec: Some(fld!(48, "Handicap", "IS", O, t "0310")),
},
FieldDelta {
segment: "IN1",
seq: 50,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 51,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 52,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 53,
spec: None,
},
FieldDelta {
segment: "IN2",
seq: 3,
spec: Some(fld!(3, "Insured's Employer Name", "XCN", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 9,
spec: Some(fld!(9, "Champus Sponsor Name", "XPN", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 10,
spec: Some(fld!(10, "Champus ID Number", "ST", O)),
},
FieldDelta {
segment: "IN2",
seq: 11,
spec: Some(fld!(11, "Dependent Of Champus Recipient", "CE", O)),
},
FieldDelta {
segment: "IN2",
seq: 12,
spec: Some(fld!(12, "Champus Organization", "ST", O)),
},
FieldDelta {
segment: "IN2",
seq: 13,
spec: Some(fld!(13, "Champus Station", "ST", O)),
},
FieldDelta {
segment: "IN2",
seq: 14,
spec: Some(fld!(14, "Champus Service", "IS", O, t "0140")),
},
FieldDelta {
segment: "IN2",
seq: 15,
spec: Some(fld!(15, "Champus Rank/Grade", "IS", O, t "0141")),
},
FieldDelta {
segment: "IN2",
seq: 16,
spec: Some(fld!(16, "Champus Status", "IS", O, t "0142")),
},
FieldDelta {
segment: "IN2",
seq: 17,
spec: Some(fld!(17, "Champus Retire Date", "DT", O)),
},
FieldDelta {
segment: "IN2",
seq: 18,
spec: Some(fld!(18, "Champus Non-Avail Cert On File", "ID", O, t "0136")),
},
FieldDelta {
segment: "IN2",
seq: 28,
spec: Some(fld!(28, "Room Coverage Type/Amount", "CM", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 29,
spec: Some(fld!(29, "Policy Type/Amount", "CM", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 30,
spec: Some(fld!(30, "Daily Deductible", "CM", O)),
},
FieldDelta {
segment: "IN2",
seq: 32,
spec: Some(fld!(32, "Ambulatory Status", "IS", O, t "0009")),
},
FieldDelta {
segment: "IN2",
seq: 33,
spec: Some(fld!(33, "Citizenship", "IS", O, t "0171")),
},
FieldDelta {
segment: "IN2",
seq: 36,
spec: Some(fld!(36, "Publicity Indicator", "CE", O, t "0215")),
},
FieldDelta {
segment: "IN2",
seq: 39,
spec: Some(fld!(39, "Religion", "IS", O, t "0006")),
},
FieldDelta {
segment: "IN2",
seq: 40,
spec: Some(fld!(40, "Mother's Maiden Name", "XPN", O)),
},
FieldDelta {
segment: "IN2",
seq: 42,
spec: Some(fld!(42, "Ethnic Group", "IS", O, t "0189")),
},
FieldDelta {
segment: "IN2",
seq: 43,
spec: Some(fld!(43, "Marital Status", "IS", O, t "0002", rep)),
},
FieldDelta {
segment: "IN2",
seq: 45,
spec: Some(fld!(45, "Insured's Employment Stop Date", "DT", O)),
},
FieldDelta {
segment: "IN2",
seq: 53,
spec: Some(fld!(
53,
"Insured's Contact Person Telephone Number",
"XTN",
O,
rep
)),
},
FieldDelta {
segment: "IN2",
seq: 62,
spec: Some(fld!(62, "Guarantor's Relationship to Insured", "IS", O, t "0063")),
},
FieldDelta {
segment: "IN2",
seq: 63,
spec: Some(fld!(63, "Insured's Telephone Number - Home", "XTN", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 64,
spec: Some(fld!(
64,
"Insured's Employer Telephone Number",
"XTN",
O,
rep
)),
},
FieldDelta {
segment: "IN2",
seq: 65,
spec: Some(fld!(65, "Military Handicapped Program", "CE", O)),
},
FieldDelta {
segment: "IN2",
seq: 71,
spec: Some(fld!(71, "Race", "IS", O, t "0005")),
},
FieldDelta {
segment: "IN2",
seq: 72,
spec: Some(fld!(72, "HCFA Patient Relationship to Insured", "CE", O)),
},
FieldDelta {
segment: "IN3",
seq: 5,
spec: Some(fld!(5, "Penalty", "CM", O, t "0148")),
},
FieldDelta {
segment: "IN3",
seq: 11,
spec: Some(fld!(11, "Days", "CM", O, t "0149")),
},
FieldDelta {
segment: "IN3",
seq: 14,
spec: Some(fld!(14, "Physician Reviewer", "XCN", O, rep)),
},
FieldDelta {
segment: "IN3",
seq: 17,
spec: Some(fld!(17, "Appeal Reason", "CE", O)),
},
FieldDelta {
segment: "IN3",
seq: 18,
spec: Some(fld!(18, "Certification Agency", "CE", O)),
},
FieldDelta {
segment: "IN3",
seq: 20,
spec: Some(fld!(20, "Pre-Certification Req/Window", "CM", O, rep)),
},
FieldDelta {
segment: "IN3",
seq: 25,
spec: Some(fld!(25, "Second Opinion Physician", "XCN", O, rep)),
},
FieldDelta {
segment: "LCC",
seq: 2,
spec: Some(fld!(2, "Location Department", "IS", R, t "0264")),
},
FieldDelta {
segment: "LCC",
seq: 3,
spec: Some(fld!(3, "Accommodation Type", "CE", O, rep)),
},
FieldDelta {
segment: "LCH",
seq: 5,
spec: Some(fld!(5, "Location Characteristic Value", "CE", R)),
},
FieldDelta {
segment: "LDP",
seq: 2,
spec: Some(fld!(2, "Location Department", "IS", R, t "0264")),
},
FieldDelta {
segment: "LDP",
seq: 7,
spec: Some(fld!(7, "Activation Date", "TS", O)),
},
FieldDelta {
segment: "LDP",
seq: 12,
spec: None,
},
FieldDelta {
segment: "LOC",
seq: 3,
spec: Some(fld!(3, "Location Type", "IS", R, t "0260", rep)),
},
FieldDelta {
segment: "LOC",
seq: 4,
spec: Some(fld!(4, "Organization Name", "XON", O)),
},
FieldDelta {
segment: "LOC",
seq: 5,
spec: Some(fld!(5, "Location Address", "XAD", O)),
},
FieldDelta {
segment: "LOC",
seq: 7,
spec: Some(fld!(7, "License Number", "CE", O, rep)),
},
FieldDelta {
segment: "LOC",
seq: 9,
spec: None,
},
FieldDelta {
segment: "LRL",
seq: 5,
spec: Some(fld!(
5,
"Organizational Location Relationship Value",
"XON",
O
)),
},
FieldDelta {
segment: "MFA",
seq: 4,
spec: Some(fld!(4, "Error Return Code And/Or Text", "CE", R, t "0181")),
},
FieldDelta {
segment: "MFA",
seq: 5,
spec: Some(fld!(5, "Primary Key Value", "CE", R, rep)),
},
FieldDelta {
segment: "MFA",
seq: 6,
spec: None,
},
FieldDelta {
segment: "MFE",
seq: 5,
spec: None,
},
FieldDelta {
segment: "MFI",
seq: 2,
spec: Some(fld!(2, "Master File Application Identifier", "HD", O)),
},
FieldDelta {
segment: "MRG",
seq: 1,
spec: Some(fld!(1, "Prior Patient ID - Internal", "CX", R, rep)),
},
FieldDelta {
segment: "MRG",
seq: 2,
spec: Some(fld!(2, "Prior Alternate Patient ID", "CX", O, rep)),
},
FieldDelta {
segment: "MRG",
seq: 4,
spec: Some(fld!(4, "Prior Patient ID - External", "CX", O)),
},
FieldDelta {
segment: "MRG",
seq: 7,
spec: Some(fld!(7, "Prior Patient Name", "XPN", O)),
},
FieldDelta {
segment: "MSA",
seq: 3,
spec: Some(fld!(3, "Text Message", "ST", O)),
},
FieldDelta {
segment: "MSA",
seq: 5,
spec: Some(fld!(5, "Delayed Ack Type", "ID", B, t "0102")),
},
FieldDelta {
segment: "MSA",
seq: 6,
spec: Some(fld!(6, "Error Condition", "CE", O)),
},
FieldDelta {
segment: "MSH",
seq: 3,
spec: Some(fld!(3, "Sending Application", "HD", RE)),
},
FieldDelta {
segment: "MSH",
seq: 4,
spec: Some(fld!(4, "Sending Facility", "HD", RE)),
},
FieldDelta {
segment: "MSH",
seq: 5,
spec: Some(fld!(5, "Receiving Application", "HD", RE)),
},
FieldDelta {
segment: "MSH",
seq: 6,
spec: Some(fld!(6, "Receiving Facility", "HD", RE)),
},
FieldDelta {
segment: "MSH",
seq: 7,
spec: Some(fld!(7, "Date/Time of Message", "TS", O)),
},
FieldDelta {
segment: "MSH",
seq: 9,
spec: Some(fld!(9, "Message Type", "CM", R)),
},
FieldDelta {
segment: "MSH",
seq: 12,
spec: Some(fld!(12, "Version ID", "ID", R, t "0104")),
},
FieldDelta {
segment: "MSH",
seq: 17,
spec: Some(fld!(17, "Country Code", "ID", O)),
},
FieldDelta {
segment: "MSH",
seq: 20,
spec: None,
},
FieldDelta {
segment: "MSH",
seq: 21,
spec: None,
},
FieldDelta {
segment: "NK1",
seq: 13,
spec: Some(fld!(13, "Organization Name", "XON", O, rep)),
},
FieldDelta {
segment: "NK1",
seq: 14,
spec: Some(fld!(14, "Marital Status", "IS", O, t "0002")),
},
FieldDelta {
segment: "NK1",
seq: 15,
spec: Some(fld!(15, "Sex", "IS", O, t "0001")),
},
FieldDelta {
segment: "NK1",
seq: 19,
spec: Some(fld!(19, "Citizenship", "IS", O, t "0171", rep)),
},
FieldDelta {
segment: "NK1",
seq: 22,
spec: Some(fld!(22, "Publicity Indicator", "CE", O, t "0215")),
},
FieldDelta {
segment: "NK1",
seq: 25,
spec: Some(fld!(25, "Religion", "IS", O, t "0006")),
},
FieldDelta {
segment: "NK1",
seq: 26,
spec: Some(fld!(26, "Mother's Maiden Name", "XPN", O)),
},
FieldDelta {
segment: "NK1",
seq: 28,
spec: Some(fld!(28, "Ethnic Group", "IS", O, t "0189")),
},
FieldDelta {
segment: "NK1",
seq: 35,
spec: Some(fld!(35, "Race", "IS", O, t "0005")),
},
FieldDelta {
segment: "NK1",
seq: 38,
spec: None,
},
FieldDelta {
segment: "NK1",
seq: 39,
spec: None,
},
FieldDelta {
segment: "NTE",
seq: 4,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 1,
spec: Some(fld!(1, "Set ID", "SI", O)),
},
FieldDelta {
segment: "OBR",
seq: 4,
spec: Some(fld!(4, "Universal Service ID", "CE", R)),
},
FieldDelta {
segment: "OBR",
seq: 5,
spec: Some(fld!(5, "Priority", "ID", B)),
},
FieldDelta {
segment: "OBR",
seq: 13,
spec: Some(fld!(13, "Relevant Clinical Info.", "ST", O)),
},
FieldDelta {
segment: "OBR",
seq: 14,
spec: Some(fld!(14, "Specimen Received Date/Time", "TS", O)),
},
FieldDelta {
segment: "OBR",
seq: 15,
spec: Some(fld!(15, "Specimen Source", "CM", O, t "0070")),
},
FieldDelta {
segment: "OBR",
seq: 23,
spec: Some(fld!(23, "Charge to Practice +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 26,
spec: Some(fld!(26, "Parent Result +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 27,
spec: Some(fld!(27, "Quantity/Timing", "TQ", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 29,
spec: Some(fld!(29, "Parent", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 32,
spec: Some(fld!(32, "Principal Result Interpreter +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 33,
spec: Some(fld!(33, "Assistant Result Interpreter +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 34,
spec: Some(fld!(34, "Technician +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 35,
spec: Some(fld!(35, "Transcriptionist +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 44,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 45,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 46,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 47,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 48,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 49,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 50,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 1,
spec: Some(fld!(1, "Set ID - Observational Simple", "SI", O)),
},
FieldDelta {
segment: "OBX",
seq: 2,
spec: Some(fld!(2, "Value Type", "ID", R, t "0125")),
},
FieldDelta {
segment: "OBX",
seq: 4,
spec: Some(fld!(4, "Observation Sub-ID", "ST", R)),
},
FieldDelta {
segment: "OBX",
seq: 5,
spec: Some(fld!(5, "Observation Value", "TS", R)),
},
FieldDelta {
segment: "OBX",
seq: 6,
spec: Some(fld!(6, "Units", "CE", B)),
},
FieldDelta {
segment: "OBX",
seq: 7,
spec: Some(fld!(7, "References Range", "ST", B)),
},
FieldDelta {
segment: "OBX",
seq: 8,
spec: Some(fld!(8, "Abnormal Flags", "ID", B, t "0078")),
},
FieldDelta {
segment: "OBX",
seq: 9,
spec: Some(fld!(9, "Probability", "NM", B, rep)),
},
FieldDelta {
segment: "OBX",
seq: 10,
spec: Some(fld!(10, "Nature of Abnormal Test", "ID", B, t "0080")),
},
FieldDelta {
segment: "OBX",
seq: 11,
spec: Some(fld!(11, "Observ Result Status", "ID", R, t "0085")),
},
FieldDelta {
segment: "OBX",
seq: 12,
spec: Some(fld!(12, "Date Last Obs Normal Values", "TS", B)),
},
FieldDelta {
segment: "OBX",
seq: 13,
spec: Some(fld!(13, "User Defined Access Checks", "ST", B)),
},
FieldDelta {
segment: "OBX",
seq: 14,
spec: Some(fld!(14, "Date/Time of the Observation", "TS", B)),
},
FieldDelta {
segment: "OBX",
seq: 15,
spec: Some(fld!(15, "Producer's ID", "CE", B)),
},
FieldDelta {
segment: "OBX",
seq: 16,
spec: Some(fld!(16, "Responsible Observer", "CN", B)),
},
FieldDelta {
segment: "OBX",
seq: 17,
spec: Some(fld!(17, "Observation Method", "CE", B, rep)),
},
FieldDelta {
segment: "OBX",
seq: 18,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 19,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 20,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 21,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 22,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 23,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 24,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 25,
spec: None,
},
FieldDelta {
segment: "PCR",
seq: 2,
spec: Some(fld!(2, "Generic Product", "IS", O, t "0239")),
},
FieldDelta {
segment: "PCR",
seq: 9,
spec: Some(fld!(9, "Single Use Device", "IS", O, t "0239")),
},
FieldDelta {
segment: "PCR",
seq: 11,
spec: Some(fld!(11, "Product Problem", "IS", O, t "0239")),
},
FieldDelta {
segment: "PCR",
seq: 13,
spec: Some(fld!(13, "Product Available For Inspection", "IS", O, t "0239")),
},
FieldDelta {
segment: "PCR",
seq: 22,
spec: Some(fld!(22, "Event Causality Observations", "ID", O, t "0232", rep)),
},
FieldDelta {
segment: "PD1",
seq: 4,
spec: Some(fld!(4, "Patient Primary Care Provider", "XCN", O, rep)),
},
FieldDelta {
segment: "PD1",
seq: 7,
spec: Some(fld!(7, "Living Will", "IS", O, t "0315")),
},
FieldDelta {
segment: "PD1",
seq: 8,
spec: Some(fld!(8, "Organ Donor", "IS", O, t "0316")),
},
FieldDelta {
segment: "PD1",
seq: 11,
spec: Some(fld!(11, "Publicity Indicator", "CE", O, t "0125")),
},
FieldDelta {
segment: "PD1",
seq: 12,
spec: Some(fld!(12, "Protection Indicator", "ID", O, t "0129")),
},
FieldDelta {
segment: "PD1",
seq: 13,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 14,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 15,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 16,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 17,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 18,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 19,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 20,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 21,
spec: None,
},
FieldDelta {
segment: "PDC",
seq: 1,
spec: Some(fld!(1, "Manufacturer/Distributor", "XON", R)),
},
FieldDelta {
segment: "PDC",
seq: 14,
spec: Some(fld!(14, "Date First Marked", "TS", O)),
},
FieldDelta {
segment: "PDC",
seq: 15,
spec: Some(fld!(15, "Date Last Marked", "TS", O)),
},
FieldDelta {
segment: "PES",
seq: 1,
spec: Some(fld!(1, "Sender Organization Name", "XON", O)),
},
FieldDelta {
segment: "PID",
seq: 1,
spec: Some(fld!(1, "Set ID - Patient ID", "SI", O)),
},
FieldDelta {
segment: "PID",
seq: 2,
spec: Some(fld!(2, "Patient ID (External ID)", "CX", O)),
},
FieldDelta {
segment: "PID",
seq: 3,
spec: Some(fld!(3, "Patient ID (Internal ID)", "CX", R, rep)),
},
FieldDelta {
segment: "PID",
seq: 4,
spec: Some(fld!(4, "Alternate Patient ID", "CX", O, rep)),
},
FieldDelta {
segment: "PID",
seq: 6,
spec: Some(fld!(6, "Mother's Maiden Name", "XPN", O)),
},
FieldDelta {
segment: "PID",
seq: 8,
spec: Some(fld!(8, "Sex", "IS", RE, t "0001")),
},
FieldDelta {
segment: "PID",
seq: 9,
spec: Some(fld!(9, "Patient Alias", "XPN", O, rep)),
},
FieldDelta {
segment: "PID",
seq: 10,
spec: Some(fld!(10, "Race", "IS", O, t "0005")),
},
FieldDelta {
segment: "PID",
seq: 12,
spec: Some(fld!(12, "County Code", "IS", B)),
},
FieldDelta {
segment: "PID",
seq: 16,
spec: Some(fld!(16, "Marital Status", "IS", O, t "0002")),
},
FieldDelta {
segment: "PID",
seq: 17,
spec: Some(fld!(17, "Religion", "IS", O, t "0006")),
},
FieldDelta {
segment: "PID",
seq: 19,
spec: Some(fld!(19, "SSN Number", "ST", O)),
},
FieldDelta {
segment: "PID",
seq: 20,
spec: Some(fld!(20, "Driver's License Number", "DLN", O)),
},
FieldDelta {
segment: "PID",
seq: 22,
spec: Some(fld!(22, "Ethnic Group", "IS", O, t "0189")),
},
FieldDelta {
segment: "PID",
seq: 26,
spec: Some(fld!(26, "Citizenship", "IS", O, t "0171", rep)),
},
FieldDelta {
segment: "PID",
seq: 28,
spec: Some(fld!(28, "Nationality", "CE", O)),
},
FieldDelta {
segment: "PID",
seq: 31,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 32,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 33,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 34,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 35,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 36,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 37,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 38,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 39,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 6,
spec: Some(fld!(6, "Procedure Functional Type", "IS", R, t "0230")),
},
FieldDelta {
segment: "PR1",
seq: 14,
spec: Some(fld!(14, "Procedure Priority", "NM", O)),
},
FieldDelta {
segment: "PR1",
seq: 15,
spec: Some(fld!(15, "Associated Diagnosis Code", "CE", O)),
},
FieldDelta {
segment: "PR1",
seq: 16,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 17,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 18,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 19,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 20,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 1,
spec: Some(fld!(1, "Primary Key Value", "ST", R)),
},
FieldDelta {
segment: "PRA",
seq: 2,
spec: Some(fld!(2, "Practitioner Group", "CE", O, rep)),
},
FieldDelta {
segment: "PRA",
seq: 5,
spec: Some(fld!(5, "Specialty", "CM", O, t "0337", rep)),
},
FieldDelta {
segment: "PRA",
seq: 6,
spec: Some(fld!(6, "Practitioner ID Numbers", "CM", O, t "0338", rep)),
},
FieldDelta {
segment: "PRA",
seq: 7,
spec: Some(fld!(7, "Privileges", "CM", O, rep)),
},
FieldDelta {
segment: "PRA",
seq: 9,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 10,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 11,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 12,
spec: None,
},
FieldDelta {
segment: "PRC",
seq: 2,
spec: Some(fld!(2, "Facility ID", "CE", O, rep)),
},
FieldDelta {
segment: "PRC",
seq: 3,
spec: Some(fld!(3, "Department", "CE", O, rep)),
},
FieldDelta {
segment: "PRD",
seq: 1,
spec: Some(fld!(1, "Role", "CE", R, t "0286", rep)),
},
FieldDelta {
segment: "PRD",
seq: 3,
spec: Some(fld!(3, "Provider Address", "XAD", O)),
},
FieldDelta {
segment: "PRD",
seq: 7,
spec: Some(fld!(7, "Provider Identifiers", "CM", O, rep)),
},
FieldDelta {
segment: "PRD",
seq: 8,
spec: Some(fld!(8, "Effective Start Date of Role", "TS", O)),
},
FieldDelta {
segment: "PRD",
seq: 9,
spec: Some(fld!(9, "Effective End Date of Role", "TS", O)),
},
FieldDelta {
segment: "PV1",
seq: 9,
spec: Some(fld!(9, "Consulting Doctor", "XCN", O, t "0010", rep)),
},
FieldDelta {
segment: "PV1",
seq: 37,
spec: Some(fld!(37, "Discharged to Location", "CM", O, t "0113")),
},
FieldDelta {
segment: "PV1",
seq: 38,
spec: Some(fld!(38, "Diet Type", "IS", O, t "0114")),
},
FieldDelta {
segment: "PV1",
seq: 45,
spec: Some(fld!(45, "Discharge Date/Time", "TS", O)),
},
FieldDelta {
segment: "PV1",
seq: 50,
spec: Some(fld!(50, "Alternate Visit ID", "CX", O, t "0192")),
},
FieldDelta {
segment: "PV1",
seq: 52,
spec: Some(fld!(52, "Other Healthcare Provider", "XCN", O, t "0010", rep)),
},
FieldDelta {
segment: "PV2",
seq: 7,
spec: Some(fld!(7, "Visit User Code", "IS", O, t "0130")),
},
FieldDelta {
segment: "PV2",
seq: 13,
spec: Some(fld!(13, "Referral Source Code", "XCN", O)),
},
FieldDelta {
segment: "PV2",
seq: 30,
spec: Some(fld!(30, "Patient Charge Adjustment Code", "IS", O, t "0218")),
},
FieldDelta {
segment: "PV2",
seq: 33,
spec: Some(fld!(33, "Expected Surgery Date & Time", "TS", O)),
},
FieldDelta {
segment: "PV2",
seq: 38,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 39,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 40,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 41,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 42,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 43,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 44,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 45,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 46,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 47,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 48,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 49,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 3,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 4,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 5,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 6,
spec: None,
},
FieldDelta {
segment: "QRD",
seq: 11,
spec: Some(fld!(11, "What Data Code Value Qual.", "ST", O, rep)),
},
FieldDelta {
segment: "QRF",
seq: 2,
spec: Some(fld!(2, "When Data Start Date/Time", "TS", O)),
},
FieldDelta {
segment: "QRF",
seq: 3,
spec: Some(fld!(3, "When Data End Date/Time", "TS", O)),
},
FieldDelta {
segment: "QRF",
seq: 10,
spec: None,
},
FieldDelta {
segment: "ROL",
seq: 1,
spec: Some(fld!(1, "Role Instance ID", "EI", R)),
},
FieldDelta {
segment: "ROL",
seq: 3,
spec: Some(fld!(3, "Role", "CE", R)),
},
FieldDelta {
segment: "ROL",
seq: 4,
spec: Some(fld!(4, "Role Person", "XCN", R)),
},
FieldDelta {
segment: "ROL",
seq: 9,
spec: None,
},
FieldDelta {
segment: "ROL",
seq: 10,
spec: None,
},
FieldDelta {
segment: "ROL",
seq: 11,
spec: None,
},
FieldDelta {
segment: "ROL",
seq: 12,
spec: None,
},
FieldDelta {
segment: "RQ1",
seq: 2,
spec: Some(fld!(2, "Manufactured ID", "CE", O)),
},
FieldDelta {
segment: "RXA",
seq: 10,
spec: Some(fld!(10, "Administering Provider", "XCN", O)),
},
FieldDelta {
segment: "RXA",
seq: 11,
spec: Some(fld!(11, "Administered-at Location", "CM", O)),
},
FieldDelta {
segment: "RXA",
seq: 18,
spec: Some(fld!(18, "Substance Refusal Reason", "CE", O, rep)),
},
FieldDelta {
segment: "RXA",
seq: 21,
spec: Some(fld!(21, "Action Code", "ID", O, t "0323")),
},
FieldDelta {
segment: "RXA",
seq: 23,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 24,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXC",
seq: 7,
spec: None,
},
FieldDelta {
segment: "RXC",
seq: 8,
spec: None,
},
FieldDelta {
segment: "RXC",
seq: 9,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 10,
spec: Some(fld!(10, "Dispensing Provider", "XCN", O)),
},
FieldDelta {
segment: "RXD",
seq: 12,
spec: Some(fld!(12, "Total Daily Dose", "NM", O)),
},
FieldDelta {
segment: "RXD",
seq: 13,
spec: Some(fld!(13, "Dispense-to Location", "CM", O)),
},
FieldDelta {
segment: "RXD",
seq: 20,
spec: Some(fld!(20, "Substance Manufacturer Name", "CE", O, rep)),
},
FieldDelta {
segment: "RXD",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 27,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 28,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 29,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 30,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 31,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 32,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 33,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 1,
spec: Some(fld!(1, "Quantity/Timing", "TQ", R)),
},
FieldDelta {
segment: "RXE",
seq: 2,
spec: Some(fld!(2, "Give Code", "CE", R, t "0292")),
},
FieldDelta {
segment: "RXE",
seq: 8,
spec: Some(fld!(8, "Deliver-to Location", "CM", O)),
},
FieldDelta {
segment: "RXE",
seq: 13,
spec: Some(fld!(13, "Ordering Provider's DEA Number", "XCN", O)),
},
FieldDelta {
segment: "RXE",
seq: 14,
spec: Some(fld!(
14,
"Pharmacist/Treatment Supplier's Verifier ID",
"XCN",
O
)),
},
FieldDelta {
segment: "RXE",
seq: 31,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 32,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 33,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 34,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 35,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 36,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 37,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 38,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 39,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 40,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 41,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 42,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 43,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 44,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 3,
spec: Some(fld!(3, "Quantity/Timing", "TQ", R)),
},
FieldDelta {
segment: "RXG",
seq: 11,
spec: Some(fld!(11, "Dispense-To Location", "CM", O)),
},
FieldDelta {
segment: "RXG",
seq: 13,
spec: Some(fld!(
13,
"Pharmacy/Treatment Supplier Special Administration Instructions",
"CE",
O,
rep
)),
},
FieldDelta {
segment: "RXG",
seq: 21,
spec: Some(fld!(21, "Substance Manufacturer Name", "CE", O, rep)),
},
FieldDelta {
segment: "RXG",
seq: 23,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 24,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 1,
spec: Some(fld!(1, "Requested Give Code", "CE", R)),
},
FieldDelta {
segment: "RXO",
seq: 2,
spec: Some(fld!(2, "Requested Give Amount - Minimum", "NM", R)),
},
FieldDelta {
segment: "RXO",
seq: 4,
spec: Some(fld!(4, "Requested Give Units", "CE", R)),
},
FieldDelta {
segment: "RXO",
seq: 5,
spec: Some(fld!(5, "Requested Dosage Form", "CE", O)),
},
FieldDelta {
segment: "RXO",
seq: 8,
spec: Some(fld!(8, "Deliver-To Location", "CM", O)),
},
FieldDelta {
segment: "RXO",
seq: 14,
spec: Some(fld!(14, "Ordering Provider's DEA Number", "XCN", O)),
},
FieldDelta {
segment: "RXO",
seq: 15,
spec: Some(fld!(
15,
"Pharmacist/Treatment Supplier's Verifier ID",
"XCN",
O
)),
},
FieldDelta {
segment: "RXO",
seq: 23,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 24,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 27,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 28,
spec: None,
},
FieldDelta {
segment: "RXR",
seq: 2,
spec: Some(fld!(2, "Site", "CE", O, t "0163")),
},
FieldDelta {
segment: "RXR",
seq: 4,
spec: Some(fld!(4, "Administration Method", "CE", O, t "0165")),
},
FieldDelta {
segment: "RXR",
seq: 5,
spec: None,
},
FieldDelta {
segment: "RXR",
seq: 6,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 1,
spec: Some(fld!(1, "Primary Key Value", "CE", R)),
},
FieldDelta {
segment: "STF",
seq: 2,
spec: Some(fld!(2, "Staff ID Code", "CX", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 3,
spec: Some(fld!(3, "Staff Name", "XPN", O)),
},
FieldDelta {
segment: "STF",
seq: 5,
spec: Some(fld!(5, "Sex", "IS", O, t "0001")),
},
FieldDelta {
segment: "STF",
seq: 7,
spec: Some(fld!(7, "Active/Inactive", "ID", O, t "0183")),
},
FieldDelta {
segment: "STF",
seq: 9,
spec: Some(fld!(9, "Service", "CE", O, t "0069", rep)),
},
FieldDelta {
segment: "STF",
seq: 11,
spec: Some(fld!(11, "Office/Home Address", "XAD", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 12,
spec: Some(fld!(12, "Activation Date", "CM", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 13,
spec: Some(fld!(13, "Inactivation Date - STF", "CM", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 16,
spec: Some(fld!(16, "Preferred Method of Contact", "ID", O, t "0185")),
},
FieldDelta {
segment: "STF",
seq: 17,
spec: Some(fld!(17, "Marital Status", "IS", O, t "0002")),
},
FieldDelta {
segment: "STF",
seq: 20,
spec: Some(fld!(20, "Employment Status", "IS", O, t "0066")),
},
FieldDelta {
segment: "STF",
seq: 27,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 28,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 29,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 30,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 31,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 32,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 33,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 34,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 35,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 36,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 37,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 38,
spec: None,
},
FieldDelta {
segment: "TXA",
seq: 5,
spec: Some(fld!(5, "Primary Activity Provider", "XCN", O)),
},
FieldDelta {
segment: "TXA",
seq: 9,
spec: Some(fld!(9, "Originator Code/Name", "XCN", O)),
},
FieldDelta {
segment: "TXA",
seq: 11,
spec: Some(fld!(11, "Transcriptionist Code/Name", "XCN", O)),
},
FieldDelta {
segment: "TXA",
seq: 22,
spec: Some(fld!(22, "Authentication Person, Time Stamp", "PTS", O, rep)),
},
FieldDelta {
segment: "UB1",
seq: 10,
spec: Some(fld!(10, "Value Amount & Code (46-49)", "CM", O, t "0153", rep)),
},
FieldDelta {
segment: "UB1",
seq: 12,
spec: Some(fld!(12, "Spec Program Indicator (44)", "CE", O)),
},
FieldDelta {
segment: "UB1",
seq: 13,
spec: Some(fld!(13, "PSRO/UR Approval Indicator (87)", "CE", O)),
},
FieldDelta {
segment: "UB1",
seq: 16,
spec: Some(fld!(16, "Occurrence (28-32)", "CM", O, rep)),
},
FieldDelta {
segment: "UB1",
seq: 17,
spec: Some(fld!(17, "Occurrence Span (33)", "CE", O)),
},
FieldDelta {
segment: "UB1",
seq: 20,
spec: Some(fld!(20, "UB-82 Locator 2", "ST", O)),
},
FieldDelta {
segment: "UB1",
seq: 21,
spec: Some(fld!(21, "UB-82 Locator 9", "ST", O)),
},
FieldDelta {
segment: "UB1",
seq: 22,
spec: Some(fld!(22, "UB-82 Locator 27", "ST", O)),
},
FieldDelta {
segment: "UB1",
seq: 23,
spec: Some(fld!(23, "UB-82 Locator 45", "ST", O)),
},
FieldDelta {
segment: "UB2",
seq: 6,
spec: Some(fld!(6, "Value Amount & Code", "CM", O, t "0153", rep)),
},
FieldDelta {
segment: "UB2",
seq: 7,
spec: Some(fld!(7, "Occurrence Code & Date (32-35)", "CM", O, rep)),
},
FieldDelta {
segment: "UB2",
seq: 8,
spec: Some(fld!(8, "Occurrence Span Code/Dates (36)", "CM", O, rep)),
},
FieldDelta {
segment: "VAR",
seq: 4,
spec: Some(fld!(4, "Variance Originator", "XCN", O)),
},
];
const DELTA_2_3_1: &[FieldDelta] = &[
FieldDelta {
segment: "ACC",
seq: 4,
spec: Some(fld!(4, "Auto Accident State", "CE", O, t "0347")),
},
FieldDelta {
segment: "ACC",
seq: 7,
spec: None,
},
FieldDelta {
segment: "ACC",
seq: 8,
spec: None,
},
FieldDelta {
segment: "ACC",
seq: 9,
spec: None,
},
FieldDelta {
segment: "ACC",
seq: 10,
spec: None,
},
FieldDelta {
segment: "ACC",
seq: 11,
spec: None,
},
FieldDelta {
segment: "AIL",
seq: 3,
spec: Some(fld!(3, "Location Resource ID", "PL", RE)),
},
FieldDelta {
segment: "AIL",
seq: 4,
spec: Some(fld!(4, "Location Type", "CE", R)),
},
FieldDelta {
segment: "AIP",
seq: 4,
spec: Some(fld!(4, "Resource Role", "CE", R)),
},
FieldDelta {
segment: "AIS",
seq: 3,
spec: Some(fld!(3, "Universal Service ID", "CE", R)),
},
FieldDelta {
segment: "AIS",
seq: 11,
spec: None,
},
FieldDelta {
segment: "AIS",
seq: 12,
spec: None,
},
FieldDelta {
segment: "AL1",
seq: 2,
spec: Some(fld!(2, "Allergy Type", "IS", O, t "0127")),
},
FieldDelta {
segment: "AL1",
seq: 3,
spec: Some(fld!(3, "Allergy Code/Mnemonic/Description", "CE", R)),
},
FieldDelta {
segment: "AL1",
seq: 4,
spec: Some(fld!(4, "Allergy Severity", "IS", O, t "0128")),
},
FieldDelta {
segment: "AL1",
seq: 5,
spec: Some(fld!(5, "Allergy Reaction", "ST", O, rep)),
},
FieldDelta {
segment: "AL1",
seq: 6,
spec: Some(fld!(6, "Identification Date", "DT", O)),
},
FieldDelta {
segment: "ARQ",
seq: 24,
spec: None,
},
FieldDelta {
segment: "ARQ",
seq: 25,
spec: None,
},
FieldDelta {
segment: "BHS",
seq: 3,
spec: Some(fld!(3, "Batch Sending Application", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 4,
spec: Some(fld!(4, "Batch Sending Facility", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 5,
spec: Some(fld!(5, "Batch Receiving Application", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 6,
spec: Some(fld!(6, "Batch Receiving Facility", "ST", O)),
},
FieldDelta {
segment: "BLG",
seq: 1,
spec: Some(fld!(1, "When to Charge", "CM", O, t "0100")),
},
FieldDelta {
segment: "BLG",
seq: 4,
spec: None,
},
FieldDelta {
segment: "CDM",
seq: 9,
spec: Some(fld!(9, "Inventory Number", "CE", O, rep)),
},
FieldDelta {
segment: "CDM",
seq: 11,
spec: Some(fld!(11, "Contract Number", "CK", O, rep)),
},
FieldDelta {
segment: "CM0",
seq: 10,
spec: Some(fld!(10, "Contact's Tel. Number", "XTN", O)),
},
FieldDelta {
segment: "CTD",
seq: 7,
spec: Some(fld!(7, "Contact Identifiers", "CM", O, rep)),
},
FieldDelta {
segment: "DG1",
seq: 20,
spec: None,
},
FieldDelta {
segment: "DG1",
seq: 21,
spec: None,
},
FieldDelta {
segment: "DRG",
seq: 11,
spec: None,
},
FieldDelta {
segment: "DSC",
seq: 2,
spec: None,
},
FieldDelta {
segment: "EVN",
seq: 7,
spec: None,
},
FieldDelta {
segment: "FHS",
seq: 3,
spec: Some(fld!(3, "File Sending Application", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 4,
spec: Some(fld!(4, "File Sending Facility", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 5,
spec: Some(fld!(5, "File Receiving Application", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 6,
spec: Some(fld!(6, "File Receiving Facility", "ST", O)),
},
FieldDelta {
segment: "FT1",
seq: 4,
spec: Some(fld!(4, "Transaction Date", "TS", R)),
},
FieldDelta {
segment: "FT1",
seq: 27,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 28,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 29,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 30,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 31,
spec: None,
},
FieldDelta {
segment: "GT1",
seq: 9,
spec: Some(fld!(9, "Guarantor Sex", "IS", O, t "0001")),
},
FieldDelta {
segment: "GT1",
seq: 54,
spec: Some(fld!(54, "Guarantor Financial Class", "FC", O, t "0064")),
},
FieldDelta {
segment: "GT1",
seq: 56,
spec: None,
},
FieldDelta {
segment: "GT1",
seq: 57,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 14,
spec: Some(fld!(14, "Authorization Information", "CM", O)),
},
FieldDelta {
segment: "IN1",
seq: 43,
spec: Some(fld!(43, "Insured's Sex", "IS", O, t "0001")),
},
FieldDelta {
segment: "IN1",
seq: 50,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 51,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 52,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 53,
spec: None,
},
FieldDelta {
segment: "IN2",
seq: 28,
spec: Some(fld!(28, "Room Coverage Type/Amount", "CM", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 29,
spec: Some(fld!(29, "Policy Type/Amount", "CM", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 30,
spec: Some(fld!(30, "Daily Deductible", "CM", O)),
},
FieldDelta {
segment: "IN2",
seq: 72,
spec: Some(fld!(72, "HCFA Patient's Relationship to Insured", "CE", O, t "0344")),
},
FieldDelta {
segment: "IN3",
seq: 5,
spec: Some(fld!(5, "Penalty", "CM", O, t "0148")),
},
FieldDelta {
segment: "IN3",
seq: 11,
spec: Some(fld!(11, "Days", "CM", O, t "0149")),
},
FieldDelta {
segment: "IN3",
seq: 20,
spec: Some(fld!(20, "Pre-Certification Req/Window", "CM", O, rep)),
},
FieldDelta {
segment: "LCC",
seq: 2,
spec: Some(fld!(2, "Location Department", "IS", R, t "0264")),
},
FieldDelta {
segment: "LDP",
seq: 2,
spec: Some(fld!(2, "Location Department", "IS", R, t "0264")),
},
FieldDelta {
segment: "LDP",
seq: 12,
spec: None,
},
FieldDelta {
segment: "LOC",
seq: 7,
spec: Some(fld!(7, "License Number", "CE", O, rep)),
},
FieldDelta {
segment: "LOC",
seq: 9,
spec: None,
},
FieldDelta {
segment: "MFA",
seq: 5,
spec: Some(fld!(5, "Primary Key Value", "CE", R, rep)),
},
FieldDelta {
segment: "MFI",
seq: 2,
spec: Some(fld!(2, "Master File Application Identifier", "HD", O)),
},
FieldDelta {
segment: "MRG",
seq: 2,
spec: Some(fld!(2, "Prior Alternate Patient ID", "CX", O, rep)),
},
FieldDelta {
segment: "MRG",
seq: 4,
spec: Some(fld!(4, "Prior Patient ID", "CX", O)),
},
FieldDelta {
segment: "MSA",
seq: 3,
spec: Some(fld!(3, "Text Message", "ST", O)),
},
FieldDelta {
segment: "MSA",
seq: 5,
spec: Some(fld!(5, "Delayed Ack Type", "ID", B, t "0102")),
},
FieldDelta {
segment: "MSA",
seq: 6,
spec: Some(fld!(6, "Error Condition", "CE", O)),
},
FieldDelta {
segment: "MSH",
seq: 7,
spec: Some(fld!(7, "Date/Time of Message", "TS", O)),
},
FieldDelta {
segment: "MSH",
seq: 9,
spec: Some(fld!(9, "Message Type", "CM", R)),
},
FieldDelta {
segment: "MSH",
seq: 12,
spec: Some(fld!(12, "Version ID", "VID", R, t "0104")),
},
FieldDelta {
segment: "MSH",
seq: 17,
spec: Some(fld!(17, "Country Code", "ID", O)),
},
FieldDelta {
segment: "MSH",
seq: 21,
spec: None,
},
FieldDelta {
segment: "NK1",
seq: 15,
spec: Some(fld!(15, "Sex", "IS", O, t "0001")),
},
FieldDelta {
segment: "NK1",
seq: 38,
spec: None,
},
FieldDelta {
segment: "NK1",
seq: 39,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 4,
spec: Some(fld!(4, "Universal Service ID", "CE", R)),
},
FieldDelta {
segment: "OBR",
seq: 13,
spec: Some(fld!(13, "Relevant Clinical Info.", "ST", O)),
},
FieldDelta {
segment: "OBR",
seq: 14,
spec: Some(fld!(14, "Specimen Received Date/Time", "TS", O)),
},
FieldDelta {
segment: "OBR",
seq: 15,
spec: Some(fld!(15, "Specimen Source", "CM", O, t "0070")),
},
FieldDelta {
segment: "OBR",
seq: 23,
spec: Some(fld!(23, "Charge to Practice +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 26,
spec: Some(fld!(26, "Parent Result +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 27,
spec: Some(fld!(27, "Quantity/Timing", "TQ", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 29,
spec: Some(fld!(29, "Parent", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 32,
spec: Some(fld!(32, "Principal Result Interpreter +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 33,
spec: Some(fld!(33, "Assistant Result Interpreter +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 34,
spec: Some(fld!(34, "Technician +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 35,
spec: Some(fld!(35, "Transcriptionist +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 46,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 47,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 48,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 49,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 50,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 5,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 6,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 7,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 8,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 9,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 10,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 11,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 12,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 13,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 14,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 15,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 16,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 17,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 18,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 19,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 20,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 21,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 22,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 23,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 24,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 25,
spec: None,
},
FieldDelta {
segment: "OM1",
seq: 2,
spec: Some(fld!(2, "Producer's Test/Observation ID", "CE", R)),
},
FieldDelta {
segment: "OM1",
seq: 7,
spec: Some(fld!(
7,
"Other Test/Observation IDs for the Observation",
"CE",
O
)),
},
FieldDelta {
segment: "OM1",
seq: 15,
spec: Some(fld!(15, "Portable", "ID", O, t "0136")),
},
FieldDelta {
segment: "OM1",
seq: 18,
spec: Some(fld!(18, "Nature of Test/Observation", "IS", R, t "0174")),
},
FieldDelta {
segment: "OM1",
seq: 30,
spec: Some(fld!(30, "Confidentiality Code", "IS", O, t "0177")),
},
FieldDelta {
segment: "OM1",
seq: 31,
spec: Some(fld!(
31,
"Observations Required to Interpret the Obs",
"CE",
O
)),
},
FieldDelta {
segment: "OM1",
seq: 39,
spec: Some(fld!(39, "Factors that may Effect the Observation", "TX", O)),
},
FieldDelta {
segment: "OM1",
seq: 40,
spec: Some(fld!(
40,
"Test/Observation Performance Schedule",
"ST",
O,
rep
)),
},
FieldDelta {
segment: "OM2",
seq: 6,
spec: Some(fld!(
6,
"Reference (Normal) Range - Ordinal & Continuous Obs",
"CM",
O
)),
},
FieldDelta {
segment: "OM2",
seq: 7,
spec: Some(fld!(
7,
"Critical Range for Ordinal & Continuous Obs",
"CM",
O
)),
},
FieldDelta {
segment: "OM2",
seq: 8,
spec: Some(fld!(
8,
"Absolute Range for Ordinal & Continuous Obs",
"CM",
O
)),
},
FieldDelta {
segment: "OM2",
seq: 9,
spec: Some(fld!(9, "Delta Check Criteria", "CM", O, rep)),
},
FieldDelta {
segment: "OM3",
seq: 5,
spec: Some(fld!(
5,
"Abnormal Text/Codes for Categorical Observations",
"CE",
O
)),
},
FieldDelta {
segment: "OM3",
seq: 6,
spec: Some(fld!(
6,
"Critical Text/Codes for Categorical Observations",
"CE",
O
)),
},
FieldDelta {
segment: "OM4",
seq: 7,
spec: Some(fld!(7, "Additive", "CE", O)),
},
FieldDelta {
segment: "ORC",
seq: 7,
spec: Some(fld!(7, "Quantity/Timing", "TQ", O)),
},
FieldDelta {
segment: "ORC",
seq: 8,
spec: Some(fld!(8, "Parent", "CM", O)),
},
FieldDelta {
segment: "ORC",
seq: 25,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 26,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 27,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 28,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 29,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 30,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 31,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 4,
spec: Some(fld!(4, "Patient Primary Care Provider", "XCN", O, rep)),
},
FieldDelta {
segment: "PD1",
seq: 7,
spec: Some(fld!(7, "Living Will", "IS", O, t "0315")),
},
FieldDelta {
segment: "PD1",
seq: 8,
spec: Some(fld!(8, "Organ Donor", "IS", O, t "0316")),
},
FieldDelta {
segment: "PD1",
seq: 13,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 14,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 15,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 16,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 17,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 18,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 19,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 20,
spec: None,
},
FieldDelta {
segment: "PD1",
seq: 21,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 8,
spec: Some(fld!(8, "Sex", "IS", RE, t "0001")),
},
FieldDelta {
segment: "PID",
seq: 9,
spec: Some(fld!(9, "Patient Alias", "XPN", O, rep)),
},
FieldDelta {
segment: "PID",
seq: 20,
spec: Some(fld!(20, "Driver's License Number", "DLN", O)),
},
FieldDelta {
segment: "PID",
seq: 28,
spec: Some(fld!(28, "Nationality", "CE", O, t "0212")),
},
FieldDelta {
segment: "PID",
seq: 31,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 32,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 33,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 34,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 35,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 36,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 37,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 38,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 39,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 6,
spec: Some(fld!(6, "Procedure Functional Type", "IS", R, t "0230")),
},
FieldDelta {
segment: "PR1",
seq: 14,
spec: Some(fld!(14, "Procedure Priority", "NM", O)),
},
FieldDelta {
segment: "PR1",
seq: 17,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 18,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 19,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 20,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 1,
spec: Some(fld!(1, "Primary Key Value", "CE", R)),
},
FieldDelta {
segment: "PRA",
seq: 5,
spec: Some(fld!(5, "Specialty", "CM", O, t "0337", rep)),
},
FieldDelta {
segment: "PRA",
seq: 6,
spec: Some(fld!(6, "Practitioner ID Numbers", "CM", O, t "0338", rep)),
},
FieldDelta {
segment: "PRA",
seq: 7,
spec: Some(fld!(7, "Privileges", "CM", O, rep)),
},
FieldDelta {
segment: "PRA",
seq: 9,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 10,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 11,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 12,
spec: None,
},
FieldDelta {
segment: "PRC",
seq: 2,
spec: Some(fld!(2, "Facility ID", "CE", O, rep)),
},
FieldDelta {
segment: "PRD",
seq: 7,
spec: Some(fld!(7, "Provider Identifiers", "CM", O, rep)),
},
FieldDelta {
segment: "PV1",
seq: 9,
spec: Some(fld!(9, "Consulting Doctor", "XCN", O, t "0010", rep)),
},
FieldDelta {
segment: "PV1",
seq: 37,
spec: Some(fld!(37, "Discharged to Location", "CM", O, t "0113")),
},
FieldDelta {
segment: "PV1",
seq: 45,
spec: Some(fld!(45, "Discharge Date/Time", "TS", O)),
},
FieldDelta {
segment: "PV1",
seq: 52,
spec: Some(fld!(52, "Other Healthcare Provider", "XCN", O, t "0010", rep)),
},
FieldDelta {
segment: "PV2",
seq: 7,
spec: Some(fld!(7, "Visit User Code", "IS", O, t "0130")),
},
FieldDelta {
segment: "PV2",
seq: 33,
spec: Some(fld!(33, "Expected Surgery Date & Time", "TS", O)),
},
FieldDelta {
segment: "PV2",
seq: 38,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 39,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 40,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 41,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 42,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 43,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 44,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 45,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 46,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 47,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 48,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 49,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 3,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 4,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 5,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 6,
spec: None,
},
FieldDelta {
segment: "QRD",
seq: 11,
spec: Some(fld!(11, "What Data Code Value Qual.", "CM", O, rep)),
},
FieldDelta {
segment: "QRF",
seq: 2,
spec: Some(fld!(2, "When Data Start Date/Time", "TS", O)),
},
FieldDelta {
segment: "QRF",
seq: 3,
spec: Some(fld!(3, "When Data End Date/Time", "TS", O)),
},
FieldDelta {
segment: "QRF",
seq: 10,
spec: None,
},
FieldDelta {
segment: "ROL",
seq: 1,
spec: Some(fld!(1, "Role Instance ID", "EI", R)),
},
FieldDelta {
segment: "ROL",
seq: 3,
spec: Some(fld!(3, "Role", "CE", R)),
},
FieldDelta {
segment: "ROL",
seq: 9,
spec: None,
},
FieldDelta {
segment: "ROL",
seq: 10,
spec: None,
},
FieldDelta {
segment: "ROL",
seq: 11,
spec: None,
},
FieldDelta {
segment: "ROL",
seq: 12,
spec: None,
},
FieldDelta {
segment: "RQ1",
seq: 2,
spec: Some(fld!(2, "Manufacturer ID", "CE", O)),
},
FieldDelta {
segment: "RXA",
seq: 11,
spec: Some(fld!(11, "Administered-at Location", "CM", O)),
},
FieldDelta {
segment: "RXA",
seq: 18,
spec: Some(fld!(18, "Substance Refusal Reason", "CE", O, rep)),
},
FieldDelta {
segment: "RXA",
seq: 23,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 24,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXC",
seq: 7,
spec: None,
},
FieldDelta {
segment: "RXC",
seq: 8,
spec: None,
},
FieldDelta {
segment: "RXC",
seq: 9,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 13,
spec: Some(fld!(13, "Dispense-to Location", "CM", O)),
},
FieldDelta {
segment: "RXD",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 27,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 28,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 29,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 30,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 31,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 32,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 33,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 1,
spec: Some(fld!(1, "Quantity/Timing", "TQ", R)),
},
FieldDelta {
segment: "RXE",
seq: 2,
spec: Some(fld!(2, "Give Code", "CE", R, t "0292")),
},
FieldDelta {
segment: "RXE",
seq: 8,
spec: Some(fld!(8, "Deliver-to Location", "CM", O)),
},
FieldDelta {
segment: "RXE",
seq: 31,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 32,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 33,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 34,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 35,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 36,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 37,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 38,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 39,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 40,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 41,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 42,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 43,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 44,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 3,
spec: Some(fld!(3, "Quantity/Timing", "TQ", R)),
},
FieldDelta {
segment: "RXG",
seq: 11,
spec: Some(fld!(11, "Dispense-To Location", "CM", O)),
},
FieldDelta {
segment: "RXG",
seq: 23,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 24,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 5,
spec: Some(fld!(5, "Requested Dosage Form", "CE", O)),
},
FieldDelta {
segment: "RXO",
seq: 8,
spec: Some(fld!(8, "Deliver-To Location", "CM", O)),
},
FieldDelta {
segment: "RXO",
seq: 24,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 27,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 28,
spec: None,
},
FieldDelta {
segment: "RXR",
seq: 2,
spec: Some(fld!(2, "Site", "CE", O, t "0163")),
},
FieldDelta {
segment: "RXR",
seq: 4,
spec: Some(fld!(4, "Administration Method", "CE", O, t "0165")),
},
FieldDelta {
segment: "RXR",
seq: 6,
spec: None,
},
FieldDelta {
segment: "SCH",
seq: 9,
spec: Some(fld!(9, "Appointment Duration", "NM", O)),
},
FieldDelta {
segment: "SCH",
seq: 10,
spec: Some(fld!(10, "Appointment Duration Units", "CE", O)),
},
FieldDelta {
segment: "SCH",
seq: 11,
spec: Some(fld!(11, "Appointment Timing Quantity", "TQ", R, rep)),
},
FieldDelta {
segment: "SCH",
seq: 26,
spec: None,
},
FieldDelta {
segment: "SCH",
seq: 27,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 1,
spec: Some(fld!(1, "Primary Key Value", "CE", R)),
},
FieldDelta {
segment: "STF",
seq: 2,
spec: Some(fld!(2, "Staff ID Code", "CX", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 5,
spec: Some(fld!(5, "Sex", "IS", O, t "0001")),
},
FieldDelta {
segment: "STF",
seq: 9,
spec: Some(fld!(9, "Hospital Service", "CE", O, t "0069", rep)),
},
FieldDelta {
segment: "STF",
seq: 11,
spec: Some(fld!(11, "Office/Home Address", "XAD", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 12,
spec: Some(fld!(12, "Institution Activation Date", "CM", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 13,
spec: Some(fld!(13, "Institution Inactivation Date", "CM", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 20,
spec: Some(fld!(20, "Employment Status", "IS", O, t "0066")),
},
FieldDelta {
segment: "STF",
seq: 27,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 28,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 29,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 30,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 31,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 32,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 33,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 34,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 35,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 36,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 37,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 38,
spec: None,
},
FieldDelta {
segment: "UB1",
seq: 10,
spec: Some(fld!(10, "Value Amount & Code (46-49)", "CM", O, t "0153", rep)),
},
FieldDelta {
segment: "UB1",
seq: 16,
spec: Some(fld!(16, "Occurrence (28-32)", "CM", O, t "0350", rep)),
},
FieldDelta {
segment: "UB1",
seq: 20,
spec: Some(fld!(20, "UB-82 Locator 2", "ST", O)),
},
FieldDelta {
segment: "UB1",
seq: 21,
spec: Some(fld!(21, "UB-82 Locator 9", "ST", O)),
},
FieldDelta {
segment: "UB1",
seq: 22,
spec: Some(fld!(22, "UB-82 Locator 27", "ST", O)),
},
FieldDelta {
segment: "UB1",
seq: 23,
spec: Some(fld!(23, "UB-82 Locator 45", "ST", O)),
},
FieldDelta {
segment: "UB2",
seq: 6,
spec: Some(fld!(6, "Value Amount & Code", "CM", O, t "0153", rep)),
},
FieldDelta {
segment: "UB2",
seq: 7,
spec: Some(fld!(7, "Occurrence Code & Date (32-35)", "CM", O, t "0350", rep)),
},
FieldDelta {
segment: "UB2",
seq: 8,
spec: Some(fld!(8, "Occurrence Span Code/Dates (36)", "CM", O, t "0351", rep)),
},
FieldDelta {
segment: "ZL7",
seq: 1,
spec: Some(fld!(1, "HL7 table entry for table xxxx", "CE", R)),
},
];
const DELTA_2_4: &[FieldDelta] = &[
FieldDelta {
segment: "ACC",
seq: 4,
spec: Some(fld!(4, "Auto Accident State", "CE", O, t "0347")),
},
FieldDelta {
segment: "ACC",
seq: 11,
spec: None,
},
FieldDelta {
segment: "AIL",
seq: 3,
spec: Some(fld!(3, "Location Resource ID", "PL", RE)),
},
FieldDelta {
segment: "AIL",
seq: 4,
spec: Some(fld!(4, "Location Type", "CE", R)),
},
FieldDelta {
segment: "AIP",
seq: 4,
spec: Some(fld!(4, "Resource Role", "CE", R)),
},
FieldDelta {
segment: "BHS",
seq: 3,
spec: Some(fld!(3, "Batch Sending Application", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 4,
spec: Some(fld!(4, "Batch Sending Facility", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 5,
spec: Some(fld!(5, "Batch Receiving Application", "ST", O)),
},
FieldDelta {
segment: "BHS",
seq: 6,
spec: Some(fld!(6, "Batch Receiving Facility", "ST", O)),
},
FieldDelta {
segment: "BLG",
seq: 1,
spec: Some(fld!(1, "When to Charge", "CM", O, t "0100")),
},
FieldDelta {
segment: "BLG",
seq: 4,
spec: None,
},
FieldDelta {
segment: "CDM",
seq: 11,
spec: Some(fld!(11, "Contract Number", "CK", O, rep)),
},
FieldDelta {
segment: "CTD",
seq: 6,
spec: Some(fld!(6, "Preferred Method of Contact - Provider", "CE", O, t "0185")),
},
FieldDelta {
segment: "CTD",
seq: 7,
spec: Some(fld!(7, "Contact Identifiers", "CM", O, rep)),
},
FieldDelta {
segment: "DB1",
seq: 4,
spec: Some(fld!(4, "Disability Indicator", "ID", O, t "0136")),
},
FieldDelta {
segment: "DG1",
seq: 20,
spec: None,
},
FieldDelta {
segment: "DG1",
seq: 21,
spec: None,
},
FieldDelta {
segment: "EDU",
seq: 2,
spec: Some(fld!(2, "Academic Degree", "IS", O, t "0360")),
},
FieldDelta {
segment: "EDU",
seq: 9,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 1,
spec: Some(fld!(1, "Error Code and Location", "CM", R, rep)),
},
FieldDelta {
segment: "ERR",
seq: 2,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 3,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 4,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 5,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 6,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 7,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 8,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 9,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 10,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 11,
spec: None,
},
FieldDelta {
segment: "ERR",
seq: 12,
spec: None,
},
FieldDelta {
segment: "FHS",
seq: 3,
spec: Some(fld!(3, "File Sending Application", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 4,
spec: Some(fld!(4, "File Sending Facility", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 5,
spec: Some(fld!(5, "File Receiving Application", "ST", O)),
},
FieldDelta {
segment: "FHS",
seq: 6,
spec: Some(fld!(6, "File Receiving Facility", "ST", O)),
},
FieldDelta {
segment: "FT1",
seq: 4,
spec: Some(fld!(4, "Transaction Date", "TS", R)),
},
FieldDelta {
segment: "FT1",
seq: 27,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 28,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 29,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 30,
spec: None,
},
FieldDelta {
segment: "FT1",
seq: 31,
spec: None,
},
FieldDelta {
segment: "GP2",
seq: 11,
spec: Some(fld!(11, "Expected HCFA Payment Amount", "CP", O)),
},
FieldDelta {
segment: "GT1",
seq: 54,
spec: Some(fld!(54, "Guarantor Financial Class", "FC", O, t "0064")),
},
FieldDelta {
segment: "GT1",
seq: 56,
spec: None,
},
FieldDelta {
segment: "GT1",
seq: 57,
spec: None,
},
FieldDelta {
segment: "IAM",
seq: 7,
spec: Some(fld!(7, "Allergy Unique Identifier", "EI", R)),
},
FieldDelta {
segment: "IN1",
seq: 14,
spec: Some(fld!(14, "Authorization Information", "CM", O)),
},
FieldDelta {
segment: "IN1",
seq: 50,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 51,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 52,
spec: None,
},
FieldDelta {
segment: "IN1",
seq: 53,
spec: None,
},
FieldDelta {
segment: "IN2",
seq: 28,
spec: Some(fld!(28, "Room Coverage Type/Amount", "CM", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 29,
spec: Some(fld!(29, "Policy Type/Amount", "CM", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 30,
spec: Some(fld!(30, "Daily Deductible", "CM", O)),
},
FieldDelta {
segment: "IN2",
seq: 72,
spec: Some(fld!(72, "HCFA Patient's Relationship to Insured", "CE", O, t "0344")),
},
FieldDelta {
segment: "IN3",
seq: 5,
spec: Some(fld!(5, "Penalty", "CM", O, t "0148")),
},
FieldDelta {
segment: "IN3",
seq: 11,
spec: Some(fld!(11, "Days", "CM", O, t "0149")),
},
FieldDelta {
segment: "IN3",
seq: 20,
spec: Some(fld!(20, "Pre-Certification Req/Window", "CM", O, rep)),
},
FieldDelta {
segment: "MFA",
seq: 5,
spec: Some(fld!(5, "Primary Key Value", "CE", R, rep)),
},
FieldDelta {
segment: "MFI",
seq: 2,
spec: Some(fld!(2, "Master File Application Identifier", "HD", O)),
},
FieldDelta {
segment: "MSA",
seq: 3,
spec: Some(fld!(3, "Text Message", "ST", O)),
},
FieldDelta {
segment: "MSA",
seq: 5,
spec: Some(fld!(5, "Delayed Ack Type", "ID", B, t "0102")),
},
FieldDelta {
segment: "MSA",
seq: 6,
spec: Some(fld!(6, "Error Condition", "CE", O, t "0357")),
},
FieldDelta {
segment: "MSH",
seq: 9,
spec: Some(fld!(9, "Message Type", "CM", R)),
},
FieldDelta {
segment: "MSH",
seq: 12,
spec: Some(fld!(12, "Version ID", "VID", R, t "0104")),
},
FieldDelta {
segment: "MSH",
seq: 21,
spec: Some(fld!(21, "Conformance Statement ID", "ID", O, t "0449", rep)),
},
FieldDelta {
segment: "NK1",
seq: 38,
spec: None,
},
FieldDelta {
segment: "NK1",
seq: 39,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 14,
spec: Some(fld!(14, "Specimen Received Date/Time", "TS", O)),
},
FieldDelta {
segment: "OBR",
seq: 15,
spec: Some(fld!(15, "Specimen Source", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 23,
spec: Some(fld!(23, "Charge to Practice +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 26,
spec: Some(fld!(26, "Parent Result +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 27,
spec: Some(fld!(27, "Quantity/Timing", "TQ", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 29,
spec: Some(fld!(29, "Parent", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 32,
spec: Some(fld!(32, "Principal Result Interpreter +", "CM", O)),
},
FieldDelta {
segment: "OBR",
seq: 33,
spec: Some(fld!(33, "Assistant Result Interpreter +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 34,
spec: Some(fld!(34, "Technician +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 35,
spec: Some(fld!(35, "Transcriptionist +", "CM", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 48,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 49,
spec: None,
},
FieldDelta {
segment: "OBR",
seq: 50,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 2,
spec: Some(fld!(2, "Value Type", "ID", R, t "0125")),
},
FieldDelta {
segment: "OBX",
seq: 4,
spec: Some(fld!(4, "Observation Sub-ID", "ST", R)),
},
FieldDelta {
segment: "OBX",
seq: 5,
spec: Some(fld!(5, "Observation Value", "TS", R)),
},
FieldDelta {
segment: "OBX",
seq: 6,
spec: Some(fld!(6, "Units", "CE", B)),
},
FieldDelta {
segment: "OBX",
seq: 7,
spec: Some(fld!(7, "References Range", "ST", B)),
},
FieldDelta {
segment: "OBX",
seq: 8,
spec: Some(fld!(8, "Abnormal Flags", "ID", B, t "0078")),
},
FieldDelta {
segment: "OBX",
seq: 9,
spec: Some(fld!(9, "Probability", "NM", B, rep)),
},
FieldDelta {
segment: "OBX",
seq: 10,
spec: Some(fld!(10, "Nature of Abnormal Test", "ID", B, t "0080")),
},
FieldDelta {
segment: "OBX",
seq: 12,
spec: Some(fld!(12, "Date Last Observation Normal Values", "TS", B)),
},
FieldDelta {
segment: "OBX",
seq: 13,
spec: Some(fld!(13, "User Defined Access Checks", "ST", B)),
},
FieldDelta {
segment: "OBX",
seq: 14,
spec: Some(fld!(14, "Date/Time of the Observation", "TS", B)),
},
FieldDelta {
segment: "OBX",
seq: 15,
spec: Some(fld!(15, "Producer's ID", "CE", B)),
},
FieldDelta {
segment: "OBX",
seq: 16,
spec: Some(fld!(16, "Responsible Observer", "CN", B)),
},
FieldDelta {
segment: "OBX",
seq: 17,
spec: Some(fld!(17, "Observation Method", "CE", B, rep)),
},
FieldDelta {
segment: "OBX",
seq: 20,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 21,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 22,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 23,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 24,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 25,
spec: None,
},
FieldDelta {
segment: "OM1",
seq: 30,
spec: Some(fld!(30, "Confidentiality Code", "IS", O, t "0177")),
},
FieldDelta {
segment: "OM1",
seq: 39,
spec: Some(fld!(
39,
"Factors that may Affect Affect the Observation",
"TX",
O
)),
},
FieldDelta {
segment: "OM2",
seq: 6,
spec: Some(fld!(
6,
"Reference (Normal) Range - Ordinal and Continuous Observations",
"CM",
O
)),
},
FieldDelta {
segment: "OM2",
seq: 7,
spec: Some(fld!(
7,
"Critical Range for Ordinal and Continuous Observations",
"CM",
O
)),
},
FieldDelta {
segment: "OM2",
seq: 8,
spec: Some(fld!(
8,
"Absolute Range for Ordinal and Continuous Observations",
"CM",
O
)),
},
FieldDelta {
segment: "OM2",
seq: 9,
spec: Some(fld!(9, "Delta Check Criteria", "CM", O, rep)),
},
FieldDelta {
segment: "OM3",
seq: 5,
spec: Some(fld!(
5,
"Abnormal Text/Codes for Categorical Observations",
"CE",
O
)),
},
FieldDelta {
segment: "OM3",
seq: 6,
spec: Some(fld!(
6,
"Critical Text/Codes for Categorical Observations",
"CE",
O
)),
},
FieldDelta {
segment: "OM4",
seq: 7,
spec: Some(fld!(7, "Additive", "CE", O, t "0371")),
},
FieldDelta {
segment: "ORC",
seq: 7,
spec: Some(fld!(7, "Quantity/Timing", "TQ", O, rep)),
},
FieldDelta {
segment: "ORC",
seq: 8,
spec: Some(fld!(8, "Parent", "CM", O)),
},
FieldDelta {
segment: "ORC",
seq: 26,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 27,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 28,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 29,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 30,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 31,
spec: None,
},
FieldDelta {
segment: "PID",
seq: 20,
spec: Some(fld!(20, "Driver's License Number", "DLN", O)),
},
FieldDelta {
segment: "PID",
seq: 39,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 19,
spec: None,
},
FieldDelta {
segment: "PR1",
seq: 20,
spec: None,
},
FieldDelta {
segment: "PRA",
seq: 5,
spec: Some(fld!(5, "Specialty", "CM", O, t "0337", rep)),
},
FieldDelta {
segment: "PRA",
seq: 6,
spec: Some(fld!(6, "Practitioner ID Numbers", "CM", O, t "0338", rep)),
},
FieldDelta {
segment: "PRA",
seq: 7,
spec: Some(fld!(7, "Privileges", "CM", O, rep)),
},
FieldDelta {
segment: "PRA",
seq: 9,
spec: Some(fld!(9, "Institution", "CE", O)),
},
FieldDelta {
segment: "PRD",
seq: 6,
spec: Some(fld!(6, "Preferred Method of Contact - Provider", "CE", O, t "0185")),
},
FieldDelta {
segment: "PRD",
seq: 7,
spec: Some(fld!(7, "Provider Identifiers", "CM", O, rep)),
},
FieldDelta {
segment: "PV1",
seq: 37,
spec: Some(fld!(37, "Discharged to Location", "CM", O, t "0113")),
},
FieldDelta {
segment: "PV2",
seq: 48,
spec: None,
},
FieldDelta {
segment: "PV2",
seq: 49,
spec: None,
},
FieldDelta {
segment: "QAK",
seq: 3,
spec: Some(fld!(3, "Message Query Name", "CE", O)),
},
FieldDelta {
segment: "QRD",
seq: 11,
spec: Some(fld!(11, "What Data Code Value Qual.", "CM", O, rep)),
},
FieldDelta {
segment: "ROL",
seq: 11,
spec: Some(fld!(11, "Office/Home Address", "XAD", O, rep)),
},
FieldDelta {
segment: "RQ1",
seq: 2,
spec: Some(fld!(2, "Manufacturer Identifier", "CE", O)),
},
FieldDelta {
segment: "RXA",
seq: 11,
spec: Some(fld!(11, "Administered-at Location", "CM", O)),
},
FieldDelta {
segment: "RXA",
seq: 23,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 24,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXA",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXC",
seq: 8,
spec: None,
},
FieldDelta {
segment: "RXC",
seq: 9,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 13,
spec: Some(fld!(13, "Dispense-to Location", "CM", O)),
},
FieldDelta {
segment: "RXD",
seq: 28,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 29,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 30,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 31,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 32,
spec: None,
},
FieldDelta {
segment: "RXD",
seq: 33,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 1,
spec: Some(fld!(1, "Quantity/Timing", "TQ", R)),
},
FieldDelta {
segment: "RXE",
seq: 2,
spec: Some(fld!(2, "Give Code", "CE", R, t "0292")),
},
FieldDelta {
segment: "RXE",
seq: 8,
spec: Some(fld!(8, "Deliver-to Location", "CM", O)),
},
FieldDelta {
segment: "RXE",
seq: 32,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 33,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 34,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 35,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 36,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 37,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 38,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 39,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 40,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 41,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 42,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 43,
spec: None,
},
FieldDelta {
segment: "RXE",
seq: 44,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 3,
spec: Some(fld!(3, "Quantity/Timing", "TQ", R)),
},
FieldDelta {
segment: "RXG",
seq: 11,
spec: Some(fld!(11, "Dispense-To Location", "CM", O)),
},
FieldDelta {
segment: "RXG",
seq: 23,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 24,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXG",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 8,
spec: Some(fld!(8, "Deliver-To Location", "CM", O)),
},
FieldDelta {
segment: "RXO",
seq: 25,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 26,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 27,
spec: None,
},
FieldDelta {
segment: "RXO",
seq: 28,
spec: None,
},
FieldDelta {
segment: "RXR",
seq: 2,
spec: Some(fld!(2, "Administration Site", "CE", O, t "0163")),
},
FieldDelta {
segment: "RXR",
seq: 4,
spec: Some(fld!(4, "Administration Method", "CE", O, t "0165")),
},
FieldDelta {
segment: "RXR",
seq: 6,
spec: None,
},
FieldDelta {
segment: "SCH",
seq: 9,
spec: Some(fld!(9, "Appointment Duration", "NM", O)),
},
FieldDelta {
segment: "SCH",
seq: 10,
spec: Some(fld!(10, "Appointment Duration Units", "CE", O)),
},
FieldDelta {
segment: "SCH",
seq: 11,
spec: Some(fld!(11, "Appointment Timing Quantity", "TQ", R, rep)),
},
FieldDelta {
segment: "STF",
seq: 2,
spec: Some(fld!(2, "Staff ID Code", "CX", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 11,
spec: Some(fld!(11, "Office/Home Address", "XAD", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 12,
spec: Some(fld!(12, "Institution Activation Date", "CM", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 13,
spec: Some(fld!(13, "Institution Inactivation Date", "CM", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 30,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 31,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 32,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 33,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 34,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 35,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 36,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 37,
spec: None,
},
FieldDelta {
segment: "STF",
seq: 38,
spec: None,
},
FieldDelta {
segment: "UB1",
seq: 10,
spec: Some(fld!(10, "Value Amount & Code (46-49)", "CM", O, t "0153", rep)),
},
FieldDelta {
segment: "UB1",
seq: 16,
spec: Some(fld!(16, "Occurrence (28-32)", "CM", O, t "0350", rep)),
},
FieldDelta {
segment: "UB2",
seq: 6,
spec: Some(fld!(6, "Value Amount & Code", "CM", O, t "0153", rep)),
},
FieldDelta {
segment: "UB2",
seq: 7,
spec: Some(fld!(7, "Occurrence Code & Date (32-35)", "CM", O, t "0350", rep)),
},
FieldDelta {
segment: "UB2",
seq: 8,
spec: Some(fld!(8, "Occurrence Span Code/Dates (36)", "CM", O, t "0351", rep)),
},
FieldDelta {
segment: "ZL7",
seq: 1,
spec: Some(fld!(1, "HL7 table entry for table xxxx", "CE", R)),
},
];
const DELTA_2_5: &[FieldDelta] = &[
FieldDelta {
segment: "OBR",
seq: 50,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 12,
spec: Some(fld!(12, "Effective Date of Reference Range", "TS", O)),
},
FieldDelta {
segment: "OBX",
seq: 15,
spec: Some(fld!(15, "Producer's ID", "CE", O)),
},
FieldDelta {
segment: "OBX",
seq: 20,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 21,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 22,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 23,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 24,
spec: None,
},
FieldDelta {
segment: "OBX",
seq: 25,
spec: None,
},
FieldDelta {
segment: "ORC",
seq: 31,
spec: None,
},
];
const DELTA_2_6: &[FieldDelta] = &[
FieldDelta {
segment: "ABS",
seq: 2,
spec: Some(fld!(2, "Transfer Medical Service Code", "CWE", O, t "0069")),
},
FieldDelta {
segment: "ABS",
seq: 3,
spec: Some(fld!(3, "Severity of Illness Code", "CWE", O, t "0421")),
},
FieldDelta {
segment: "ABS",
seq: 4,
spec: Some(fld!(4, "Date/Time of Attestation", "DTM", O)),
},
FieldDelta {
segment: "ABS",
seq: 6,
spec: Some(fld!(6, "Triage Code", "CWE", O, t "0422")),
},
FieldDelta {
segment: "ABS",
seq: 7,
spec: Some(fld!(7, "Abstract Completion Date/Time", "DTM", O)),
},
FieldDelta {
segment: "ABS",
seq: 9,
spec: Some(fld!(9, "Case Category Code", "CWE", O, t "0423")),
},
FieldDelta {
segment: "ABS",
seq: 11,
spec: Some(fld!(11, "Gestation Category Code", "CWE", O, t "0424")),
},
FieldDelta {
segment: "ABS",
seq: 13,
spec: Some(fld!(13, "Newborn Code", "CWE", O, t "0425")),
},
FieldDelta {
segment: "ACC",
seq: 1,
spec: Some(fld!(1, "Accident Date/Time", "DTM", O)),
},
FieldDelta {
segment: "ACC",
seq: 2,
spec: Some(fld!(2, "Accident Code", "CWE", O, t "0050")),
},
FieldDelta {
segment: "ACC",
seq: 4,
spec: Some(fld!(4, "Auto Accident State", "CWE", B, t "0347")),
},
FieldDelta {
segment: "AIG",
seq: 3,
spec: Some(fld!(3, "Resource ID", "CWE", O)),
},
FieldDelta {
segment: "AIG",
seq: 4,
spec: Some(fld!(4, "Resource Type", "CWE", R)),
},
FieldDelta {
segment: "AIG",
seq: 5,
spec: Some(fld!(5, "Resource Group", "CWE", O, rep)),
},
FieldDelta {
segment: "AIG",
seq: 7,
spec: Some(fld!(7, "Resource Quantity Units", "CNE", O)),
},
FieldDelta {
segment: "AIG",
seq: 8,
spec: Some(fld!(8, "Start Date/Time", "DTM", O)),
},
FieldDelta {
segment: "AIG",
seq: 10,
spec: Some(fld!(10, "Start Date/Time Offset Units", "CNE", O)),
},
FieldDelta {
segment: "AIG",
seq: 12,
spec: Some(fld!(12, "Duration Units", "CNE", O)),
},
FieldDelta {
segment: "AIG",
seq: 14,
spec: Some(fld!(14, "Filler Status Code", "CWE", O, t "0278")),
},
FieldDelta {
segment: "AIL",
seq: 4,
spec: Some(fld!(4, "Location Type", "CWE", RE, t "0305")),
},
FieldDelta {
segment: "AIL",
seq: 5,
spec: Some(fld!(5, "Location Group", "CWE", O)),
},
FieldDelta {
segment: "AIL",
seq: 6,
spec: Some(fld!(6, "Start Date/Time", "DTM", O)),
},
FieldDelta {
segment: "AIL",
seq: 8,
spec: Some(fld!(8, "Start Date/Time Offset Units", "CNE", O)),
},
FieldDelta {
segment: "AIL",
seq: 10,
spec: Some(fld!(10, "Duration Units", "CNE", O)),
},
FieldDelta {
segment: "AIL",
seq: 12,
spec: Some(fld!(12, "Filler Status Code", "CWE", O, t "0278")),
},
FieldDelta {
segment: "AIP",
seq: 4,
spec: Some(fld!(4, "Resource Role", "CWE", RE, t "0182")),
},
FieldDelta {
segment: "AIP",
seq: 5,
spec: Some(fld!(5, "Resource Group", "CWE", O)),
},
FieldDelta {
segment: "AIP",
seq: 6,
spec: Some(fld!(6, "Start Date/Time", "DTM", O)),
},
FieldDelta {
segment: "AIP",
seq: 8,
spec: Some(fld!(8, "Start Date/Time Offset Units", "CNE", O)),
},
FieldDelta {
segment: "AIP",
seq: 10,
spec: Some(fld!(10, "Duration Units", "CNE", O)),
},
FieldDelta {
segment: "AIP",
seq: 12,
spec: Some(fld!(12, "Filler Status Code", "CWE", O, t "0278")),
},
FieldDelta {
segment: "AIS",
seq: 3,
spec: Some(fld!(3, "Universal Service Identifier", "CWE", R)),
},
FieldDelta {
segment: "AIS",
seq: 4,
spec: Some(fld!(4, "Start Date/Time", "DTM", O)),
},
FieldDelta {
segment: "AIS",
seq: 6,
spec: Some(fld!(6, "Start Date/Time Offset Units", "CNE", O)),
},
FieldDelta {
segment: "AIS",
seq: 8,
spec: Some(fld!(8, "Duration Units", "CNE", O)),
},
FieldDelta {
segment: "AIS",
seq: 10,
spec: Some(fld!(10, "Filler Status Code", "CWE", O, t "0278")),
},
FieldDelta {
segment: "AIS",
seq: 11,
spec: Some(fld!(11, "Placer Supplemental Service Information", "CWE", O, t "0411", rep)),
},
FieldDelta {
segment: "AIS",
seq: 12,
spec: Some(fld!(12, "Filler Supplemental Service Information", "CWE", O, t "0411", rep)),
},
FieldDelta {
segment: "AL1",
seq: 2,
spec: Some(fld!(2, "Allergen Type Code", "CWE", O, t "0127")),
},
FieldDelta {
segment: "AL1",
seq: 3,
spec: Some(fld!(3, "Allergen Code/Mnemonic", "CWE", R)),
},
FieldDelta {
segment: "AL1",
seq: 4,
spec: Some(fld!(4, "Allergy Severity Code", "CWE", O, t "0128")),
},
FieldDelta {
segment: "ARQ",
seq: 5,
spec: Some(fld!(5, "Schedule ID", "CWE", O)),
},
FieldDelta {
segment: "ARQ",
seq: 6,
spec: Some(fld!(6, "Request Event Reason", "CWE", O)),
},
FieldDelta {
segment: "ARQ",
seq: 7,
spec: Some(fld!(7, "Appointment Reason", "CWE", O, t "0276")),
},
FieldDelta {
segment: "ARQ",
seq: 8,
spec: Some(fld!(8, "Appointment Type", "CWE", O, t "0277")),
},
FieldDelta {
segment: "ARQ",
seq: 10,
spec: Some(fld!(10, "Appointment Duration Units", "CNE", O)),
},
FieldDelta {
segment: "AUT",
seq: 1,
spec: Some(fld!(1, "Authorizing Payor, Plan ID", "CWE", O, t "0072")),
},
FieldDelta {
segment: "AUT",
seq: 2,
spec: Some(fld!(2, "Authorizing Payor, Company ID", "CWE", R, t "0285")),
},
FieldDelta {
segment: "AUT",
seq: 4,
spec: Some(fld!(4, "Authorization Effective Date", "DTM", O)),
},
FieldDelta {
segment: "AUT",
seq: 5,
spec: Some(fld!(5, "Authorization Expiration Date", "DTM", O)),
},
FieldDelta {
segment: "AUT",
seq: 10,
spec: Some(fld!(10, "Process Date", "DTM", O)),
},
FieldDelta {
segment: "BHS",
seq: 7,
spec: Some(fld!(7, "Batch Creation Date/Time", "DTM", O)),
},
FieldDelta {
segment: "BHS",
seq: 13,
spec: Some(fld!(13, "Batch Sending Network Address", "HD", O)),
},
FieldDelta {
segment: "BHS",
seq: 14,
spec: Some(fld!(14, "Batch Receiving Network Address", "HD", O)),
},
FieldDelta {
segment: "BLC",
seq: 1,
spec: Some(fld!(1, "Blood Product Code", "CWE", O, t "0426")),
},
FieldDelta {
segment: "BPO",
seq: 2,
spec: Some(fld!(2, "BP Universal Service Identifier", "CWE", R)),
},
FieldDelta {
segment: "BPO",
seq: 6,
spec: Some(fld!(6, "BP Units", "CWE", O)),
},
FieldDelta {
segment: "BPO",
seq: 7,
spec: Some(fld!(7, "BP Intended Use Date/Time", "DTM", O)),
},
FieldDelta {
segment: "BPO",
seq: 10,
spec: Some(fld!(10, "BP Requested Dispense Date/Time", "DTM", O)),
},
FieldDelta {
segment: "BPX",
seq: 4,
spec: Some(fld!(4, "BP Date/Time of Status", "DTM", R)),
},
FieldDelta {
segment: "BPX",
seq: 13,
spec: Some(fld!(13, "BP Expiration Date/Time", "DTM", O)),
},
FieldDelta {
segment: "BPX",
seq: 16,
spec: Some(fld!(16, "BP Units", "CWE", O)),
},
FieldDelta {
segment: "BTX",
seq: 10,
spec: Some(fld!(10, "BP Units", "CWE", O)),
},
FieldDelta {
segment: "BTX",
seq: 13,
spec: Some(fld!(13, "BP Date/Time of Status", "DTM", R)),
},
FieldDelta {
segment: "BTX",
seq: 14,
spec: Some(fld!(14, "BP Transfusion Administrator", "XCN", O)),
},
FieldDelta {
segment: "BTX",
seq: 15,
spec: Some(fld!(15, "BP Transfusion Verifier", "XCN", O)),
},
FieldDelta {
segment: "BTX",
seq: 16,
spec: Some(fld!(
16,
"BP Transfusion Start Date/Time of Status",
"DTM",
O
)),
},
FieldDelta {
segment: "BTX",
seq: 17,
spec: Some(fld!(17, "BP Transfusion End Date/Time of Status", "DTM", O)),
},
FieldDelta {
segment: "CDM",
seq: 1,
spec: Some(fld!(1, "Primary Key Value", "CWE", R, t "0132")),
},
FieldDelta {
segment: "CDM",
seq: 2,
spec: Some(fld!(2, "Charge Code Alias", "CWE", O, rep)),
},
FieldDelta {
segment: "CDM",
seq: 6,
spec: Some(fld!(6, "Exploding Charges", "CWE", O, t "0132", rep)),
},
FieldDelta {
segment: "CDM",
seq: 7,
spec: Some(fld!(7, "Procedure Code", "CNE", O, t "0088", rep)),
},
FieldDelta {
segment: "CDM",
seq: 9,
spec: Some(fld!(9, "Inventory Number", "CWE", O, t "0463", rep)),
},
FieldDelta {
segment: "CER",
seq: 14,
spec: Some(fld!(
14,
"Subject Directory Attribute Extension",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "CER",
seq: 23,
spec: Some(fld!(23, "Granting Date", "DTM", O)),
},
FieldDelta {
segment: "CER",
seq: 24,
spec: Some(fld!(24, "Issuing Date", "DTM", O)),
},
FieldDelta {
segment: "CER",
seq: 25,
spec: Some(fld!(25, "Activation Date", "DTM", O)),
},
FieldDelta {
segment: "CER",
seq: 26,
spec: Some(fld!(26, "Inactivation Date", "DTM", O)),
},
FieldDelta {
segment: "CER",
seq: 27,
spec: Some(fld!(27, "Expiration Date", "DTM", O)),
},
FieldDelta {
segment: "CER",
seq: 28,
spec: Some(fld!(28, "Renewal Date", "DTM", O)),
},
FieldDelta {
segment: "CER",
seq: 29,
spec: Some(fld!(29, "Revocation Date", "DTM", O)),
},
FieldDelta {
segment: "CER",
seq: 30,
spec: Some(fld!(30, "Revocation Reason Code", "CWE", O)),
},
FieldDelta {
segment: "CER",
seq: 31,
spec: Some(fld!(31, "Certificate Status Code", "CWE", O, t "0536")),
},
FieldDelta {
segment: "CM1",
seq: 2,
spec: Some(fld!(2, "Study Phase Identifier", "CWE", R)),
},
FieldDelta {
segment: "CM2",
seq: 2,
spec: Some(fld!(2, "Scheduled Time Point", "CWE", R)),
},
FieldDelta {
segment: "CM2",
seq: 4,
spec: Some(fld!(4, "Events Scheduled This Time Point", "CWE", R, rep)),
},
FieldDelta {
segment: "CON",
seq: 3,
spec: Some(fld!(3, "Consent Form ID and Version", "ST", O)),
},
FieldDelta {
segment: "CON",
seq: 7,
spec: Some(fld!(7, "Consent Background Information", "FT", O, rep)),
},
FieldDelta {
segment: "CON",
seq: 8,
spec: Some(fld!(
8,
"Subject-specific Consent Background Text",
"FT",
O,
rep
)),
},
FieldDelta {
segment: "CON",
seq: 12,
spec: Some(fld!(12, "Consent Discussion Date/Time", "DTM", O)),
},
FieldDelta {
segment: "CON",
seq: 13,
spec: Some(fld!(13, "Consent Decision Date/Time", "DTM", O)),
},
FieldDelta {
segment: "CON",
seq: 14,
spec: Some(fld!(14, "Consent Effective Date/Time", "DTM", O)),
},
FieldDelta {
segment: "CON",
seq: 15,
spec: Some(fld!(15, "Consent End Date/Time", "DTM", O)),
},
FieldDelta {
segment: "CON",
seq: 18,
spec: Some(fld!(18, "Language Translated To", "CWE", O, t "0296")),
},
FieldDelta {
segment: "CON",
seq: 25,
spec: Some(fld!(25, "Relationship to Subject", "IS", R, t "0548", rep)),
},
FieldDelta {
segment: "CSP",
seq: 1,
spec: Some(fld!(1, "Study Phase Identifier", "CWE", R)),
},
FieldDelta {
segment: "CSP",
seq: 2,
spec: Some(fld!(2, "Date/time Study Phase Began", "DTM", R)),
},
FieldDelta {
segment: "CSP",
seq: 3,
spec: Some(fld!(3, "Date/time Study Phase Ended", "DTM", O)),
},
FieldDelta {
segment: "CSP",
seq: 4,
spec: Some(fld!(4, "Study Phase Evaluability", "CWE", O)),
},
FieldDelta {
segment: "CSR",
seq: 3,
spec: Some(fld!(3, "Institution Registering the Patient", "CWE", O)),
},
FieldDelta {
segment: "CSR",
seq: 6,
spec: Some(fld!(6, "Date/Time Of Patient Study Registration", "DTM", R)),
},
FieldDelta {
segment: "CSR",
seq: 9,
spec: Some(fld!(9, "Date/time Patient Study Consent Signed", "DTM", O)),
},
FieldDelta {
segment: "CSR",
seq: 10,
spec: Some(fld!(10, "Patient Study Eligibility Status", "CWE", O)),
},
FieldDelta {
segment: "CSR",
seq: 11,
spec: Some(fld!(11, "Study Randomization Date/time", "DTM", O, rep)),
},
FieldDelta {
segment: "CSR",
seq: 12,
spec: Some(fld!(12, "Randomized Study Arm", "CWE", O, rep)),
},
FieldDelta {
segment: "CSR",
seq: 13,
spec: Some(fld!(13, "Stratum for Study Randomization", "CWE", O, rep)),
},
FieldDelta {
segment: "CSR",
seq: 14,
spec: Some(fld!(14, "Patient Evaluability Status", "CWE", O)),
},
FieldDelta {
segment: "CSR",
seq: 15,
spec: Some(fld!(15, "Date/time Ended Study", "DTM", O)),
},
FieldDelta {
segment: "CSR",
seq: 16,
spec: Some(fld!(16, "Reason Ended Study", "CWE", O)),
},
FieldDelta {
segment: "CSS",
seq: 1,
spec: Some(fld!(1, "Study Scheduled Time Point", "CWE", R)),
},
FieldDelta {
segment: "CSS",
seq: 2,
spec: Some(fld!(2, "Study Scheduled Patient Time Point", "DTM", O)),
},
FieldDelta {
segment: "CSS",
seq: 3,
spec: Some(fld!(3, "Study Quality Control Codes", "CWE", O, rep)),
},
FieldDelta {
segment: "CTD",
seq: 1,
spec: Some(fld!(1, "Contact Role", "CWE", R, t "0131", rep)),
},
FieldDelta {
segment: "CTD",
seq: 6,
spec: Some(fld!(6, "Preferred Method of Contact", "CWE", O, t "0185")),
},
FieldDelta {
segment: "CTD",
seq: 7,
spec: Some(fld!(7, "Contact Identifiers", "PLN", O, t "0338", rep)),
},
FieldDelta {
segment: "CTI",
seq: 2,
spec: Some(fld!(2, "Study Phase Identifier", "CWE", O)),
},
FieldDelta {
segment: "CTI",
seq: 3,
spec: Some(fld!(3, "Study Scheduled Time Point", "CWE", O)),
},
FieldDelta {
segment: "DB1",
seq: 4,
spec: Some(fld!(4, "Disability Indicator", "ID", O, t "0136")),
},
FieldDelta {
segment: "DG1",
seq: 2,
spec: Some(fld!(2, "Diagnosis Coding Method", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 3,
spec: Some(fld!(3, "Diagnosis Code", "CWE", R, t "0051")),
},
FieldDelta {
segment: "DG1",
seq: 4,
spec: Some(fld!(4, "Diagnosis Description", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 5,
spec: Some(fld!(5, "Diagnosis Date/Time", "DTM", O)),
},
FieldDelta {
segment: "DG1",
seq: 7,
spec: Some(fld!(7, "Major Diagnostic Category", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 8,
spec: Some(fld!(8, "Diagnostic Related Group", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 9,
spec: Some(fld!(9, "DRG Approval Indicator", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 10,
spec: Some(fld!(10, "DRG Grouper Review Code", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 11,
spec: Some(fld!(11, "Outlier Type", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 12,
spec: Some(fld!(12, "Outlier Days", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 13,
spec: Some(fld!(13, "Outlier Cost", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 14,
spec: Some(fld!(14, "Grouper Version And Type", "", B)),
},
FieldDelta {
segment: "DG1",
seq: 19,
spec: Some(fld!(19, "Attestation Date/Time", "DTM", O)),
},
FieldDelta {
segment: "DG1",
seq: 22,
spec: Some(fld!(22, "Parent Diagnosis", "EI", O)),
},
FieldDelta {
segment: "DG1",
seq: 23,
spec: Some(fld!(23, "DRG CCL Value Code", "CWE", O, t "0728")),
},
FieldDelta {
segment: "DG1",
seq: 24,
spec: Some(fld!(24, "DRG Grouping Usage", "ID", O, t "0136")),
},
FieldDelta {
segment: "DG1",
seq: 25,
spec: Some(fld!(25, "DRG Diagnosis Determination Status", "IS", O, t "0731")),
},
FieldDelta {
segment: "DG1",
seq: 26,
spec: Some(fld!(26, "Present On Admission (POA) Indicator", "IS", O, t "0895")),
},
FieldDelta {
segment: "DRG",
seq: 1,
spec: Some(fld!(1, "Diagnostic Related Group", "CNE", O, t "0055")),
},
FieldDelta {
segment: "DRG",
seq: 2,
spec: Some(fld!(2, "DRG Assigned Date/Time", "DTM", O)),
},
FieldDelta {
segment: "DRG",
seq: 5,
spec: Some(fld!(5, "Outlier Type", "CWE", O, t "0083")),
},
FieldDelta {
segment: "DRG",
seq: 12,
spec: Some(fld!(12, "Name of Coder", "XPN", O)),
},
FieldDelta {
segment: "DRG",
seq: 13,
spec: Some(fld!(13, "Grouper Status", "CWE", O, t "0734")),
},
FieldDelta {
segment: "DRG",
seq: 14,
spec: Some(fld!(14, "PCCL Value Code", "CWE", O, t "0728")),
},
FieldDelta {
segment: "DRG",
seq: 15,
spec: Some(fld!(15, "Effective Weight", "NM", O)),
},
FieldDelta {
segment: "DRG",
seq: 16,
spec: Some(fld!(16, "Monetary Amount", "MO", O)),
},
FieldDelta {
segment: "DRG",
seq: 17,
spec: Some(fld!(17, "Status Patient", "IS", O, t "0739")),
},
FieldDelta {
segment: "DRG",
seq: 18,
spec: Some(fld!(18, "Grouper Software Name", "ST", O)),
},
FieldDelta {
segment: "DRG",
seq: 19,
spec: Some(fld!(19, "Grouper Software Version", "ST", O)),
},
FieldDelta {
segment: "DRG",
seq: 20,
spec: Some(fld!(20, "Status Financial Calculation", "IS", O, t "0742")),
},
FieldDelta {
segment: "DRG",
seq: 21,
spec: Some(fld!(21, "Relative Discount/Surcharge", "MO", O)),
},
FieldDelta {
segment: "DRG",
seq: 22,
spec: Some(fld!(22, "Basic Charge", "MO", O)),
},
FieldDelta {
segment: "DRG",
seq: 23,
spec: Some(fld!(23, "Total Charge", "MO", O)),
},
FieldDelta {
segment: "DRG",
seq: 24,
spec: Some(fld!(24, "Discount/Surcharge", "MO", O)),
},
FieldDelta {
segment: "DRG",
seq: 25,
spec: Some(fld!(25, "Calculated Days", "NM", O)),
},
FieldDelta {
segment: "DRG",
seq: 26,
spec: Some(fld!(26, "Status Gender", "IS", O, t "0749")),
},
FieldDelta {
segment: "DRG",
seq: 27,
spec: Some(fld!(27, "Status Age", "IS", O, t "0749")),
},
FieldDelta {
segment: "DRG",
seq: 28,
spec: Some(fld!(28, "Status Length of Stay", "IS", O, t "0749")),
},
FieldDelta {
segment: "DRG",
seq: 29,
spec: Some(fld!(29, "Status Same Day Flag", "IS", O, t "0749")),
},
FieldDelta {
segment: "DRG",
seq: 30,
spec: Some(fld!(30, "Status Separation Mode", "IS", O, t "0749")),
},
FieldDelta {
segment: "DRG",
seq: 31,
spec: Some(fld!(31, "Status Weight at Birth", "IS", O, t "0755")),
},
FieldDelta {
segment: "DRG",
seq: 32,
spec: Some(fld!(32, "Status Respiration Minutes", "IS", O, t "0757")),
},
FieldDelta {
segment: "DRG",
seq: 33,
spec: Some(fld!(33, "Status Admission", "IS", O, t "0759")),
},
FieldDelta {
segment: "EDU",
seq: 7,
spec: Some(fld!(7, "School Type Code", "CWE", O, t "0402")),
},
FieldDelta {
segment: "EVN",
seq: 2,
spec: Some(fld!(2, "Recorded Date/Time", "DTM", R)),
},
FieldDelta {
segment: "EVN",
seq: 3,
spec: Some(fld!(3, "Date/Time Planned Event", "DTM", O)),
},
FieldDelta {
segment: "EVN",
seq: 6,
spec: Some(fld!(6, "Event Occurred", "DTM", RE)),
},
FieldDelta {
segment: "FHS",
seq: 7,
spec: Some(fld!(7, "File Creation Date/Time", "DTM", O)),
},
FieldDelta {
segment: "FHS",
seq: 13,
spec: Some(fld!(13, "File Sending Network Address", "HD", O)),
},
FieldDelta {
segment: "FHS",
seq: 14,
spec: Some(fld!(14, "File Receiving Network Address", "HD", O)),
},
FieldDelta {
segment: "FT1",
seq: 5,
spec: Some(fld!(5, "Transaction Posting Date", "DTM", O)),
},
FieldDelta {
segment: "FT1",
seq: 7,
spec: Some(fld!(7, "Transaction Code", "CWE", R, t "0132")),
},
FieldDelta {
segment: "FT1",
seq: 8,
spec: Some(fld!(8, "Transaction Description", "", B)),
},
FieldDelta {
segment: "FT1",
seq: 9,
spec: Some(fld!(9, "Transaction Description - Alt", "", B)),
},
FieldDelta {
segment: "FT1",
seq: 13,
spec: Some(fld!(13, "Department Code", "CWE", O, t "0049")),
},
FieldDelta {
segment: "FT1",
seq: 14,
spec: Some(fld!(14, "Insurance Plan ID", "CWE", O, t "0072")),
},
FieldDelta {
segment: "FT1",
seq: 19,
spec: Some(fld!(19, "Diagnosis Code - FT1", "CWE", O, t "0051", rep)),
},
FieldDelta {
segment: "FT1",
seq: 25,
spec: Some(fld!(25, "Procedure Code", "CNE", O, t "0088")),
},
FieldDelta {
segment: "FT1",
seq: 26,
spec: Some(fld!(26, "Procedure Code Modifier", "CNE", O, t "0340", rep)),
},
FieldDelta {
segment: "FT1",
seq: 27,
spec: Some(fld!(27, "Advanced Beneficiary Notice Code", "CWE", O, t "0339")),
},
FieldDelta {
segment: "FT1",
seq: 29,
spec: Some(fld!(29, "NDC Code", "CWE", O, t "0549")),
},
FieldDelta {
segment: "GOL",
seq: 2,
spec: Some(fld!(2, "Action Date/Time", "DTM", R)),
},
FieldDelta {
segment: "GOL",
seq: 3,
spec: Some(fld!(3, "Goal ID", "CWE", R)),
},
FieldDelta {
segment: "GOL",
seq: 7,
spec: Some(fld!(7, "Goal Established Date/Time", "DTM", O)),
},
FieldDelta {
segment: "GOL",
seq: 8,
spec: Some(fld!(8, "Expected Goal Achieve Date/Time", "DTM", O)),
},
FieldDelta {
segment: "GOL",
seq: 9,
spec: Some(fld!(9, "Goal Classification", "CWE", O)),
},
FieldDelta {
segment: "GOL",
seq: 10,
spec: Some(fld!(10, "Goal Management Discipline", "CWE", O)),
},
FieldDelta {
segment: "GOL",
seq: 11,
spec: Some(fld!(11, "Current Goal Review Status", "CWE", O)),
},
FieldDelta {
segment: "GOL",
seq: 12,
spec: Some(fld!(12, "Current Goal Review Date/Time", "DTM", O)),
},
FieldDelta {
segment: "GOL",
seq: 13,
spec: Some(fld!(13, "Next Goal Review Date/Time", "DTM", O)),
},
FieldDelta {
segment: "GOL",
seq: 14,
spec: Some(fld!(14, "Previous Goal Review Date/Time", "DTM", O)),
},
FieldDelta {
segment: "GOL",
seq: 16,
spec: Some(fld!(16, "Goal Evaluation", "CWE", O)),
},
FieldDelta {
segment: "GOL",
seq: 18,
spec: Some(fld!(18, "Goal Life Cycle Status", "CWE", O)),
},
FieldDelta {
segment: "GOL",
seq: 19,
spec: Some(fld!(19, "Goal Life Cycle Status Date/Time", "DTM", O)),
},
FieldDelta {
segment: "GOL",
seq: 20,
spec: Some(fld!(20, "Goal Target Type", "CWE", O, rep)),
},
FieldDelta {
segment: "GOL",
seq: 22,
spec: Some(fld!(22, "Mood Code", "CNE", O, t "0725")),
},
FieldDelta {
segment: "GP2",
seq: 7,
spec: Some(fld!(7, "Ambulatory Payment Classification Code", "CWE", O, t "0466")),
},
FieldDelta {
segment: "GT1",
seq: 8,
spec: Some(fld!(8, "Guarantor Date/Time Of Birth", "DTM", O)),
},
FieldDelta {
segment: "GT1",
seq: 11,
spec: Some(fld!(11, "Guarantor Relationship", "CWE", O, t "0063")),
},
FieldDelta {
segment: "GT1",
seq: 23,
spec: Some(fld!(23, "Guarantor Credit Rating Code", "CWE", O, t "0341")),
},
FieldDelta {
segment: "GT1",
seq: 24,
spec: Some(fld!(24, "Guarantor Death Date And Time", "DTM", O)),
},
FieldDelta {
segment: "GT1",
seq: 26,
spec: Some(fld!(26, "Guarantor Charge Adjustment Code", "CWE", O, t "0218")),
},
FieldDelta {
segment: "GT1",
seq: 30,
spec: Some(fld!(30, "Guarantor Marital Status Code", "CWE", O, t "0002")),
},
FieldDelta {
segment: "GT1",
seq: 35,
spec: Some(fld!(35, "Citizenship", "CWE", O, t "0171", rep)),
},
FieldDelta {
segment: "GT1",
seq: 36,
spec: Some(fld!(36, "Primary Language", "CWE", O, t "0296")),
},
FieldDelta {
segment: "GT1",
seq: 38,
spec: Some(fld!(38, "Publicity Code", "CWE", O, t "0215")),
},
FieldDelta {
segment: "GT1",
seq: 41,
spec: Some(fld!(41, "Religion", "CWE", O, t "0006")),
},
FieldDelta {
segment: "GT1",
seq: 43,
spec: Some(fld!(43, "Nationality", "CWE", O, t "0212")),
},
FieldDelta {
segment: "GT1",
seq: 44,
spec: Some(fld!(44, "Ethnic Group", "CWE", O, t "0189", rep)),
},
FieldDelta {
segment: "GT1",
seq: 47,
spec: Some(fld!(47, "Contact Reason", "CWE", O, t "0222")),
},
FieldDelta {
segment: "GT1",
seq: 55,
spec: Some(fld!(55, "Guarantor Race", "CWE", O, t "0005", rep)),
},
FieldDelta {
segment: "IAM",
seq: 2,
spec: Some(fld!(2, "Allergen Type Code", "CWE", O, t "0127")),
},
FieldDelta {
segment: "IAM",
seq: 3,
spec: Some(fld!(3, "Allergen Code/Mnemonic", "CWE", R)),
},
FieldDelta {
segment: "IAM",
seq: 4,
spec: Some(fld!(4, "Allergy Severity Code", "CWE", O, t "0128")),
},
FieldDelta {
segment: "IAM",
seq: 6,
spec: Some(fld!(6, "Allergy Action Code", "CNE", R, t "0206")),
},
FieldDelta {
segment: "IAM",
seq: 9,
spec: Some(fld!(9, "Sensitivity to Causative Agent Code", "CWE", O, t "0436")),
},
FieldDelta {
segment: "IAM",
seq: 10,
spec: Some(fld!(
10,
"Allergen Group Code/Mnemonic/Description",
"CWE",
O
)),
},
FieldDelta {
segment: "IAM",
seq: 13,
spec: Some(fld!(13, "Reported Date/Time", "DTM", O)),
},
FieldDelta {
segment: "IAM",
seq: 15,
spec: Some(fld!(15, "Relationship to Patient Code", "CWE", O, t "0063")),
},
FieldDelta {
segment: "IAM",
seq: 16,
spec: Some(fld!(16, "Alert Device Code", "CWE", O, t "0437")),
},
FieldDelta {
segment: "IAM",
seq: 17,
spec: Some(fld!(17, "Allergy Clinical Status Code", "CWE", O, t "0438")),
},
FieldDelta {
segment: "IAM",
seq: 20,
spec: Some(fld!(20, "Statused at Date/Time", "DTM", O)),
},
FieldDelta {
segment: "IN1",
seq: 2,
spec: Some(fld!(2, "Insurance Plan ID", "CWE", R, t "0072")),
},
FieldDelta {
segment: "IN1",
seq: 17,
spec: Some(fld!(17, "Insured's Relationship to Patient", "CWE", O, t "0063")),
},
FieldDelta {
segment: "IN1",
seq: 18,
spec: Some(fld!(18, "Insured's Date Of Birth", "DTM", O)),
},
FieldDelta {
segment: "IN1",
seq: 29,
spec: Some(fld!(29, "Verification Date/Time", "DTM", O)),
},
FieldDelta {
segment: "IN1",
seq: 38,
spec: Some(fld!(38, "Policy Limit - Amount", "", B)),
},
FieldDelta {
segment: "IN1",
seq: 40,
spec: Some(fld!(40, "Room Rate - Semi-Private", "", B)),
},
FieldDelta {
segment: "IN1",
seq: 41,
spec: Some(fld!(41, "Room Rate - Private", "", B)),
},
FieldDelta {
segment: "IN1",
seq: 42,
spec: Some(fld!(42, "Insured's Employment Status", "CWE", O, t "0066")),
},
FieldDelta {
segment: "IN2",
seq: 11,
spec: Some(fld!(11, "Dependent Of Military Recipient", "CWE", O, t "0342")),
},
FieldDelta {
segment: "IN2",
seq: 33,
spec: Some(fld!(33, "Citizenship", "CWE", O, t "0171", rep)),
},
FieldDelta {
segment: "IN2",
seq: 34,
spec: Some(fld!(34, "Primary Language", "CWE", O, t "0296")),
},
FieldDelta {
segment: "IN2",
seq: 36,
spec: Some(fld!(36, "Publicity Code", "CWE", O, t "0215")),
},
FieldDelta {
segment: "IN2",
seq: 39,
spec: Some(fld!(39, "Religion", "CWE", O, t "0006")),
},
FieldDelta {
segment: "IN2",
seq: 41,
spec: Some(fld!(41, "Nationality", "CWE", O, t "0212")),
},
FieldDelta {
segment: "IN2",
seq: 42,
spec: Some(fld!(42, "Ethnic Group", "CWE", O, t "0189", rep)),
},
FieldDelta {
segment: "IN2",
seq: 43,
spec: Some(fld!(43, "Marital Status", "CWE", O, t "0002", rep)),
},
FieldDelta {
segment: "IN2",
seq: 58,
spec: Some(fld!(58, "Insurance Co Contact Phone Number", "XTN", O, rep)),
},
FieldDelta {
segment: "IN2",
seq: 62,
spec: Some(fld!(62, "Guarantor's Relationship to Insured", "CWE", O, t "0063")),
},
FieldDelta {
segment: "IN2",
seq: 65,
spec: Some(fld!(65, "Military Handicapped Program", "CWE", O, t "0343")),
},
FieldDelta {
segment: "IN2",
seq: 71,
spec: Some(fld!(71, "Race", "CWE", O, t "0005", rep)),
},
FieldDelta {
segment: "IN2",
seq: 72,
spec: Some(fld!(72, "Patient's Relationship to Insured", "CWE", O, t "0344")),
},
FieldDelta {
segment: "IN3",
seq: 6,
spec: Some(fld!(6, "Certification Date/Time", "DTM", O)),
},
FieldDelta {
segment: "IN3",
seq: 7,
spec: Some(fld!(7, "Certification Modify Date/Time", "DTM", O)),
},
FieldDelta {
segment: "IN3",
seq: 12,
spec: Some(fld!(12, "Non-Concur Code/Description", "CWE", O, t "0233")),
},
FieldDelta {
segment: "IN3",
seq: 13,
spec: Some(fld!(13, "Non-Concur Effective Date/Time", "DTM", O)),
},
FieldDelta {
segment: "IN3",
seq: 17,
spec: Some(fld!(17, "Appeal Reason", "CWE", O, t "0345")),
},
FieldDelta {
segment: "IN3",
seq: 18,
spec: Some(fld!(18, "Certification Agency", "CWE", O, t "0346")),
},
FieldDelta {
segment: "IPC",
seq: 5,
spec: Some(fld!(5, "Modality", "CWE", O)),
},
FieldDelta {
segment: "IPC",
seq: 6,
spec: Some(fld!(6, "Protocol Code", "CWE", O, rep)),
},
FieldDelta {
segment: "IPC",
seq: 8,
spec: Some(fld!(8, "Scheduled Procedure Step Location", "CWE", O, rep)),
},
FieldDelta {
segment: "IPC",
seq: 9,
spec: Some(fld!(9, "Scheduled Station AE Title", "ST", O)),
},
FieldDelta {
segment: "LAN",
seq: 2,
spec: Some(fld!(2, "Language Code", "CWE", R, t "0296")),
},
FieldDelta {
segment: "LAN",
seq: 3,
spec: Some(fld!(3, "Language Ability Code", "CWE", O, t "0403", rep)),
},
FieldDelta {
segment: "LAN",
seq: 4,
spec: Some(fld!(4, "Language Proficiency Code", "CWE", O, t "0404")),
},
FieldDelta {
segment: "LCC",
seq: 2,
spec: Some(fld!(2, "Location Department", "CWE", R, t "0264")),
},
FieldDelta {
segment: "LCC",
seq: 3,
spec: Some(fld!(3, "Accommodation Type", "CWE", O, t "0129", rep)),
},
FieldDelta {
segment: "LCC",
seq: 4,
spec: Some(fld!(4, "Charge Code", "CWE", R, t "0132", rep)),
},
FieldDelta {
segment: "LCH",
seq: 4,
spec: Some(fld!(4, "Location Characteristic ID", "CWE", R, t "0324")),
},
FieldDelta {
segment: "LCH",
seq: 5,
spec: Some(fld!(5, "Location Characteristic Value", "CWE", R)),
},
FieldDelta {
segment: "LDP",
seq: 2,
spec: Some(fld!(2, "Location Department", "CWE", R, t "0264")),
},
FieldDelta {
segment: "LDP",
seq: 4,
spec: Some(fld!(4, "Specialty Type", "CWE", O, t "0265", rep)),
},
FieldDelta {
segment: "LDP",
seq: 7,
spec: Some(fld!(7, "Activation Date LDP", "DTM", O)),
},
FieldDelta {
segment: "LDP",
seq: 8,
spec: Some(fld!(8, "Inactivation Date", "DTM", O)),
},
FieldDelta {
segment: "LDP",
seq: 12,
spec: Some(fld!(12, "Location Cost Center", "CWE", O, t "0462")),
},
FieldDelta {
segment: "LOC",
seq: 7,
spec: Some(fld!(7, "License Number", "CWE", O, t "0461", rep)),
},
FieldDelta {
segment: "LRL",
seq: 4,
spec: Some(fld!(4, "Location Relationship ID", "CWE", R, t "0325")),
},
FieldDelta {
segment: "MFA",
seq: 3,
spec: Some(fld!(3, "Event Completion Date/Time", "DTM", O)),
},
FieldDelta {
segment: "MFA",
seq: 4,
spec: Some(fld!(4, "MFN Record Level Error Return", "CWE", R, t "0181")),
},
FieldDelta {
segment: "MFE",
seq: 3,
spec: Some(fld!(3, "Effective Date/Time", "DTM", O)),
},
FieldDelta {
segment: "MFE",
seq: 6,
spec: Some(fld!(6, "Entered Date/Time", "DTM", O)),
},
FieldDelta {
segment: "MFE",
seq: 7,
spec: Some(fld!(7, "Entered By", "XCN", O)),
},
FieldDelta {
segment: "MFI",
seq: 1,
spec: Some(fld!(1, "Master File Identifier", "CWE", R, t "0175")),
},
FieldDelta {
segment: "MFI",
seq: 2,
spec: Some(fld!(2, "Master File Application Identifier", "HD", O, t "0361", rep)),
},
FieldDelta {
segment: "MFI",
seq: 4,
spec: Some(fld!(4, "Entered Date/Time", "DTM", O)),
},
FieldDelta {
segment: "MFI",
seq: 5,
spec: Some(fld!(5, "Effective Date/Time", "DTM", O)),
},
FieldDelta {
segment: "MRG",
seq: 7,
spec: Some(fld!(7, "Prior Patient Name", "XPN", O, t "0200", rep)),
},
FieldDelta {
segment: "MSA",
seq: 7,
spec: Some(fld!(7, "Message Waiting Number", "NM", O)),
},
FieldDelta {
segment: "MSA",
seq: 8,
spec: Some(fld!(8, "Message Waiting Priority", "ID", O, t "0520")),
},
FieldDelta {
segment: "MSH",
seq: 7,
spec: Some(fld!(7, "Date/Time of Message", "DTM", R)),
},
FieldDelta {
segment: "MSH",
seq: 19,
spec: Some(fld!(19, "Principal Language", "CWE", O)),
},
FieldDelta {
segment: "MSH",
seq: 22,
spec: Some(fld!(22, "Sending Responsible Organization", "XON", O)),
},
FieldDelta {
segment: "MSH",
seq: 23,
spec: Some(fld!(23, "Receiving Responsible Organization", "XON", O)),
},
FieldDelta {
segment: "MSH",
seq: 24,
spec: Some(fld!(24, "Sending Network Address", "HD", O)),
},
FieldDelta {
segment: "MSH",
seq: 25,
spec: Some(fld!(25, "Receiving Network Address", "HD", O)),
},
FieldDelta {
segment: "NK1",
seq: 2,
spec: Some(fld!(2, "Name", "XPN", RE, t "0200", rep)),
},
FieldDelta {
segment: "NK1",
seq: 3,
spec: Some(fld!(3, "Relationship", "CWE", RE, t "0063")),
},
FieldDelta {
segment: "NK1",
seq: 7,
spec: Some(fld!(7, "Contact Role", "CWE", O, t "0131")),
},
FieldDelta {
segment: "NK1",
seq: 14,
spec: Some(fld!(14, "Marital Status", "CWE", O, t "0002")),
},
FieldDelta {
segment: "NK1",
seq: 16,
spec: Some(fld!(16, "Date/Time of Birth", "DTM", O)),
},
FieldDelta {
segment: "NK1",
seq: 19,
spec: Some(fld!(19, "Citizenship", "CWE", O, t "0171", rep)),
},
FieldDelta {
segment: "NK1",
seq: 20,
spec: Some(fld!(20, "Primary Language", "CWE", O, t "0296")),
},
FieldDelta {
segment: "NK1",
seq: 22,
spec: Some(fld!(22, "Publicity Code", "CWE", O, t "0215")),
},
FieldDelta {
segment: "NK1",
seq: 25,
spec: Some(fld!(25, "Religion", "CWE", O, t "0006")),
},
FieldDelta {
segment: "NK1",
seq: 27,
spec: Some(fld!(27, "Nationality", "CWE", O, t "0212")),
},
FieldDelta {
segment: "NK1",
seq: 28,
spec: Some(fld!(28, "Ethnic Group", "CWE", O, t "0189", rep)),
},
FieldDelta {
segment: "NK1",
seq: 29,
spec: Some(fld!(29, "Contact Reason", "CWE", O, t "0222", rep)),
},
FieldDelta {
segment: "NK1",
seq: 30,
spec: Some(fld!(30, "Contact Person's Name", "XPN", O, t "0200", rep)),
},
FieldDelta {
segment: "NK1",
seq: 35,
spec: Some(fld!(35, "Race", "CWE", O, t "0005", rep)),
},
FieldDelta {
segment: "NTE",
seq: 4,
spec: Some(fld!(4, "Comment Type", "CWE", O, t "0364")),
},
FieldDelta {
segment: "NTE",
seq: 5,
spec: Some(fld!(5, "Entered By", "XCN", O)),
},
FieldDelta {
segment: "NTE",
seq: 6,
spec: Some(fld!(6, "Entered Date/Time", "DTM", O)),
},
FieldDelta {
segment: "NTE",
seq: 7,
spec: Some(fld!(7, "Effective Start Date", "DTM", O)),
},
FieldDelta {
segment: "NTE",
seq: 8,
spec: Some(fld!(8, "Expiration Date", "DTM", O)),
},
FieldDelta {
segment: "OBR",
seq: 4,
spec: Some(fld!(4, "Universal Service Identifier", "CWE", R)),
},
FieldDelta {
segment: "OBR",
seq: 5,
spec: Some(fld!(5, "Priority", "ID", B)),
},
FieldDelta {
segment: "OBR",
seq: 6,
spec: Some(fld!(6, "Requested Date/Time", "DTM", B)),
},
FieldDelta {
segment: "OBR",
seq: 7,
spec: Some(fld!(7, "Observation Date/Time", "DTM", RE)),
},
FieldDelta {
segment: "OBR",
seq: 8,
spec: Some(fld!(8, "Observation End Date/Time", "DTM", O)),
},
FieldDelta {
segment: "OBR",
seq: 12,
spec: Some(fld!(12, "Danger Code", "CWE", O)),
},
FieldDelta {
segment: "OBR",
seq: 14,
spec: Some(fld!(14, "Specimen Received Date/Time", "DTM", O)),
},
FieldDelta {
segment: "OBR",
seq: 22,
spec: Some(fld!(22, "Results Rpt/Status Change Date/Time", "DTM", O)),
},
FieldDelta {
segment: "OBR",
seq: 31,
spec: Some(fld!(31, "Reason for Study", "CWE", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 32,
spec: Some(fld!(32, "Principal Result Interpreter +", "NDL", B)),
},
FieldDelta {
segment: "OBR",
seq: 33,
spec: Some(fld!(33, "Assistant Result Interpreter +", "NDL", B, rep)),
},
FieldDelta {
segment: "OBR",
seq: 34,
spec: Some(fld!(34, "Technician +", "NDL", B, rep)),
},
FieldDelta {
segment: "OBR",
seq: 35,
spec: Some(fld!(35, "Transcriptionist +", "NDL", B, rep)),
},
FieldDelta {
segment: "OBR",
seq: 36,
spec: Some(fld!(36, "Scheduled Date/Time +", "DTM", O)),
},
FieldDelta {
segment: "OBR",
seq: 38,
spec: Some(fld!(
38,
"Transport Logistics of Collected Sample *",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "OBR",
seq: 39,
spec: Some(fld!(39, "Collector's Comment *", "CWE", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 40,
spec: Some(fld!(40, "Transport Arrangement Responsibility", "CWE", O)),
},
FieldDelta {
segment: "OBR",
seq: 43,
spec: Some(fld!(43, "Planned Patient Transport Comment", "CWE", O, rep)),
},
FieldDelta {
segment: "OBR",
seq: 44,
spec: Some(fld!(44, "Procedure Code", "CNE", O, t "0088")),
},
FieldDelta {
segment: "OBR",
seq: 45,
spec: Some(fld!(45, "Procedure Code Modifier", "CNE", O, t "0340", rep)),
},
FieldDelta {
segment: "OBR",
seq: 46,
spec: Some(fld!(46, "Placer Supplemental Service Information", "CWE", O, t "0411", rep)),
},
FieldDelta {
segment: "OBR",
seq: 47,
spec: Some(fld!(47, "Filler Supplemental Service Information", "CWE", O, t "0411", rep)),
},
FieldDelta {
segment: "OBX",
seq: 3,
spec: Some(fld!(3, "Observation Identifier", "CWE", R)),
},
FieldDelta {
segment: "OBX",
seq: 6,
spec: Some(fld!(6, "Units", "CWE", O)),
},
FieldDelta {
segment: "OBX",
seq: 12,
spec: Some(fld!(12, "Effective Date of Reference Range", "DTM", O)),
},
FieldDelta {
segment: "OBX",
seq: 14,
spec: Some(fld!(14, "Date/Time of the Observation", "DTM", RE)),
},
FieldDelta {
segment: "OBX",
seq: 15,
spec: Some(fld!(15, "Producer's ID", "CWE", O)),
},
FieldDelta {
segment: "OBX",
seq: 17,
spec: Some(fld!(17, "Observation Method", "CWE", O, rep)),
},
FieldDelta {
segment: "OBX",
seq: 19,
spec: Some(fld!(19, "Date/Time of the Analysis", "DTM", O)),
},
FieldDelta {
segment: "OBX",
seq: 20,
spec: Some(fld!(20, "Observation Site", "CWE", O, t "0163", rep)),
},
FieldDelta {
segment: "OBX",
seq: 21,
spec: Some(fld!(21, "Observation Instance Identifier", "EI", O)),
},
FieldDelta {
segment: "OBX",
seq: 22,
spec: Some(fld!(22, "Mood Code", "CNE", O, t "0725")),
},
FieldDelta {
segment: "ODS",
seq: 2,
spec: Some(fld!(2, "Service Period", "CWE", O, rep)),
},
FieldDelta {
segment: "ODS",
seq: 3,
spec: Some(fld!(
3,
"Diet, Supplement, or Preference Code",
"CWE",
R,
rep
)),
},
FieldDelta {
segment: "ODT",
seq: 1,
spec: Some(fld!(1, "Tray Type", "CWE", R, t "0160")),
},
FieldDelta {
segment: "ODT",
seq: 2,
spec: Some(fld!(2, "Service Period", "CWE", O, rep)),
},
FieldDelta {
segment: "OM1",
seq: 2,
spec: Some(fld!(2, "Producer's Service/Test/Observation ID", "CWE", R)),
},
FieldDelta {
segment: "OM1",
seq: 5,
spec: Some(fld!(5, "Producer ID", "CWE", R)),
},
FieldDelta {
segment: "OM1",
seq: 7,
spec: Some(fld!(
7,
"Other Service/Test/Observation IDs for the Observation",
"CWE",
O
)),
},
FieldDelta {
segment: "OM1",
seq: 13,
spec: Some(fld!(
13,
"Identity of Instrument Used to Perform this Study",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "OM1",
seq: 14,
spec: Some(fld!(14, "Coded Representation of Method", "CWE", O, rep)),
},
FieldDelta {
segment: "OM1",
seq: 16,
spec: Some(fld!(
16,
"Observation Producing Department/Section",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "OM1",
seq: 19,
spec: Some(fld!(19, "Report Subheader", "CWE", O)),
},
FieldDelta {
segment: "OM1",
seq: 21,
spec: Some(fld!(
21,
"Date/Time Stamp for any change in Definition for the Observation",
"DTM",
O
)),
},
FieldDelta {
segment: "OM1",
seq: 22,
spec: Some(fld!(22, "Effective Date/Time of Change", "DTM", O)),
},
FieldDelta {
segment: "OM1",
seq: 27,
spec: Some(fld!(
27,
"Outside Site(s) Where Observation may be Performed",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "OM1",
seq: 31,
spec: Some(fld!(
31,
"Observations Required to Interpret the Observation",
"CWE",
O
)),
},
FieldDelta {
segment: "OM1",
seq: 33,
spec: Some(fld!(33, "Contraindications to Observations", "CWE", O)),
},
FieldDelta {
segment: "OM1",
seq: 34,
spec: Some(fld!(34, "Reflex Tests/Observations", "CWE", O, rep)),
},
FieldDelta {
segment: "OM1",
seq: 36,
spec: Some(fld!(36, "Fixed Canned Message", "CWE", O)),
},
FieldDelta {
segment: "OM1",
seq: 38,
spec: Some(fld!(38, "Procedure Medication", "CWE", O)),
},
FieldDelta {
segment: "OM1",
seq: 42,
spec: Some(fld!(42, "Kind of Quantity Observed", "CWE", O, t "0254")),
},
FieldDelta {
segment: "OM1",
seq: 43,
spec: Some(fld!(43, "Point Versus Interval", "CWE", O, t "0255")),
},
FieldDelta {
segment: "OM1",
seq: 45,
spec: Some(fld!(45, "Relationship Modifier", "CWE", O, t "0258")),
},
FieldDelta {
segment: "OM1",
seq: 46,
spec: Some(fld!(46, "Target Anatomic Site Of Test", "CWE", O)),
},
FieldDelta {
segment: "OM1",
seq: 47,
spec: Some(fld!(47, "Modality Of Imaging Measurement", "CWE", O, t "0259")),
},
FieldDelta {
segment: "OM2",
seq: 2,
spec: Some(fld!(2, "Units of Measure", "CWE", O)),
},
FieldDelta {
segment: "OM2",
seq: 4,
spec: Some(fld!(4, "Corresponding SI Units of Measure", "CWE", O)),
},
FieldDelta {
segment: "OM2",
seq: 6,
spec: Some(fld!(
6,
"Reference (Normal) Range for Ordinal and Continuous Observations",
"RFR",
O,
rep
)),
},
FieldDelta {
segment: "OM3",
seq: 2,
spec: Some(fld!(2, "Preferred Coding System", "CWE", O)),
},
FieldDelta {
segment: "OM3",
seq: 3,
spec: Some(fld!(3, "Valid Coded 'Answers'", "CWE", O, rep)),
},
FieldDelta {
segment: "OM3",
seq: 4,
spec: Some(fld!(
4,
"Normal Text/Codes for Categorical Observations",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "OM3",
seq: 5,
spec: Some(fld!(
5,
"Abnormal Text/Codes for Categorical Observations",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "OM3",
seq: 6,
spec: Some(fld!(
6,
"Critical Text/Codes for Categorical Observations",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "OM4",
seq: 5,
spec: Some(fld!(5, "Container Units", "CWE", O)),
},
FieldDelta {
segment: "OM4",
seq: 6,
spec: Some(fld!(6, "Specimen", "CWE", O)),
},
FieldDelta {
segment: "OM5",
seq: 2,
spec: Some(fld!(
2,
"Test/Observations Included within an Ordered Test Battery",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "OM7",
seq: 2,
spec: Some(fld!(2, "Universal Service Identifier", "CWE", R)),
},
FieldDelta {
segment: "OM7",
seq: 3,
spec: Some(fld!(3, "Category Identifier", "CWE", O, t "0412", rep)),
},
FieldDelta {
segment: "OM7",
seq: 6,
spec: Some(fld!(6, "Effective Test/Service Start Date/Time", "DTM", O)),
},
FieldDelta {
segment: "OM7",
seq: 7,
spec: Some(fld!(7, "Effective Test/Service End Date/Time", "DTM", O)),
},
FieldDelta {
segment: "OM7",
seq: 9,
spec: Some(fld!(9, "Test/Service Default Duration Units", "CWE", O)),
},
FieldDelta {
segment: "OM7",
seq: 10,
spec: Some(fld!(10, "Test/Service Default Frequency", "IS", O)),
},
FieldDelta {
segment: "OM7",
seq: 12,
spec: Some(fld!(12, "Consent Identifier", "CWE", O, t "0413")),
},
FieldDelta {
segment: "OM7",
seq: 13,
spec: Some(fld!(13, "Consent Effective Start Date/Time", "DTM", O)),
},
FieldDelta {
segment: "OM7",
seq: 14,
spec: Some(fld!(14, "Consent Effective End Date/Time", "DTM", O)),
},
FieldDelta {
segment: "OM7",
seq: 16,
spec: Some(fld!(16, "Consent Interval Units", "CWE", O, t "0414")),
},
FieldDelta {
segment: "OM7",
seq: 18,
spec: Some(fld!(18, "Consent Waiting Period Units", "CWE", O, t "0414")),
},
FieldDelta {
segment: "OM7",
seq: 19,
spec: Some(fld!(19, "Effective Date/Time of Change", "DTM", O)),
},
FieldDelta {
segment: "OM7",
seq: 24,
spec: Some(fld!(24, "Primary Key Value - CDM", "CWE", O, t "0132", rep)),
},
FieldDelta {
segment: "ORC",
seq: 9,
spec: Some(fld!(9, "Date/Time of Transaction", "DTM", O)),
},
FieldDelta {
segment: "ORC",
seq: 15,
spec: Some(fld!(15, "Order Effective Date/Time", "DTM", O)),
},
FieldDelta {
segment: "ORC",
seq: 16,
spec: Some(fld!(16, "Order Control Code Reason", "CWE", O)),
},
FieldDelta {
segment: "ORC",
seq: 17,
spec: Some(fld!(17, "Entering Organization", "CWE", O)),
},
FieldDelta {
segment: "ORC",
seq: 18,
spec: Some(fld!(18, "Entering Device", "CWE", O)),
},
FieldDelta {
segment: "ORC",
seq: 20,
spec: Some(fld!(20, "Advanced Beneficiary Notice Code", "CWE", O, t "0339")),
},
FieldDelta {
segment: "ORC",
seq: 27,
spec: Some(fld!(
27,
"Filler's Expected Availability Date/Time",
"DTM",
O
)),
},
FieldDelta {
segment: "ORG",
seq: 2,
spec: Some(fld!(2, "Organization Unit Code", "CWE", O, t "0405")),
},
FieldDelta {
segment: "ORG",
seq: 3,
spec: Some(fld!(3, "Organization Unit Type Code", "CWE", O, t "0474")),
},
FieldDelta {
segment: "ORG",
seq: 6,
spec: Some(fld!(6, "Health Care Provider Type Code", "CWE", O, t "0452")),
},
FieldDelta {
segment: "ORG",
seq: 7,
spec: Some(fld!(7, "Health Care Provider Classification Code", "CWE", O, t "0453")),
},
FieldDelta {
segment: "ORG",
seq: 8,
spec: Some(fld!(8, "Health Care Provider Area of Specialization Code", "CWE", O, t "0454")),
},
FieldDelta {
segment: "ORG",
seq: 10,
spec: Some(fld!(10, "Employment Status Code", "CWE", O, t "0066")),
},
FieldDelta {
segment: "PCR",
seq: 1,
spec: Some(fld!(1, "Implicated Product", "CWE", R)),
},
FieldDelta {
segment: "PCR",
seq: 3,
spec: Some(fld!(3, "Product Class", "CWE", O)),
},
FieldDelta {
segment: "PCR",
seq: 5,
spec: Some(fld!(5, "Product Manufacture Date", "DTM", O)),
},
FieldDelta {
segment: "PCR",
seq: 6,
spec: Some(fld!(6, "Product Expiration Date", "DTM", O)),
},
FieldDelta {
segment: "PCR",
seq: 7,
spec: Some(fld!(7, "Product Implantation Date", "DTM", O)),
},
FieldDelta {
segment: "PCR",
seq: 8,
spec: Some(fld!(8, "Product Explantation Date", "DTM", O)),
},
FieldDelta {
segment: "PCR",
seq: 10,
spec: Some(fld!(10, "Indication For Product Use", "CWE", O)),
},
FieldDelta {
segment: "PCR",
seq: 14,
spec: Some(fld!(14, "Product Evaluation Performed", "CWE", O)),
},
FieldDelta {
segment: "PCR",
seq: 15,
spec: Some(fld!(15, "Product Evaluation Status", "CWE", O, t "0247")),
},
FieldDelta {
segment: "PCR",
seq: 16,
spec: Some(fld!(16, "Product Evaluation Results", "CWE", O)),
},
FieldDelta {
segment: "PCR",
seq: 18,
spec: Some(fld!(18, "Date Product Returned To Manufacturer", "DTM", O)),
},
FieldDelta {
segment: "PD1",
seq: 3,
spec: Some(fld!(3, "Patient Primary Facility", "XON", O, t "0204", rep)),
},
FieldDelta {
segment: "PD1",
seq: 11,
spec: Some(fld!(11, "Publicity Code", "CWE", O, t "0215")),
},
FieldDelta {
segment: "PD1",
seq: 12,
spec: Some(fld!(12, "Protection Indicator", "ID", B, t "0136")),
},
FieldDelta {
segment: "PD1",
seq: 13,
spec: Some(fld!(13, "Protection Indicator Effective Date", "DT", B)),
},
FieldDelta {
segment: "PD1",
seq: 15,
spec: Some(fld!(15, "Advance Directive Code", "CWE", O, t "0435", rep)),
},
FieldDelta {
segment: "PD1",
seq: 22,
spec: Some(fld!(22, "Advance Directive Last Verified Date", "DT", O)),
},
FieldDelta {
segment: "PDA",
seq: 1,
spec: Some(fld!(1, "Death Cause Code", "CWE", O, rep)),
},
FieldDelta {
segment: "PDA",
seq: 4,
spec: Some(fld!(4, "Death Certificate Signed Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PDC",
seq: 2,
spec: Some(fld!(2, "Country", "CWE", R)),
},
FieldDelta {
segment: "PDC",
seq: 5,
spec: Some(fld!(5, "Generic Name", "CWE", O)),
},
FieldDelta {
segment: "PDC",
seq: 9,
spec: Some(fld!(9, "Product Code", "CWE", O)),
},
FieldDelta {
segment: "PDC",
seq: 14,
spec: Some(fld!(14, "Date First Marketed", "DTM", O)),
},
FieldDelta {
segment: "PDC",
seq: 15,
spec: Some(fld!(15, "Date Last Marketed", "DTM", O)),
},
FieldDelta {
segment: "PEO",
seq: 1,
spec: Some(fld!(1, "Event Identifiers Used", "CWE", O, rep)),
},
FieldDelta {
segment: "PEO",
seq: 2,
spec: Some(fld!(2, "Event Symptom/Diagnosis Code", "CWE", O, rep)),
},
FieldDelta {
segment: "PEO",
seq: 3,
spec: Some(fld!(3, "Event Onset Date/Time", "DTM", R)),
},
FieldDelta {
segment: "PEO",
seq: 4,
spec: Some(fld!(4, "Event Exacerbation Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PEO",
seq: 5,
spec: Some(fld!(5, "Event Improved Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PEO",
seq: 6,
spec: Some(fld!(6, "Event Ended Data/Time", "DTM", O)),
},
FieldDelta {
segment: "PEO",
seq: 14,
spec: Some(fld!(
14,
"Event Description from Original Reporter",
"FT",
O,
rep
)),
},
FieldDelta {
segment: "PEO",
seq: 18,
spec: Some(fld!(18, "Cause Of Death", "CWE", O, rep)),
},
FieldDelta {
segment: "PEO",
seq: 24,
spec: Some(fld!(24, "Primary Observer Aware Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PES",
seq: 9,
spec: Some(fld!(9, "Sender Aware Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PES",
seq: 10,
spec: Some(fld!(10, "Event Report Date", "DTM", R)),
},
FieldDelta {
segment: "PID",
seq: 5,
spec: Some(fld!(5, "Patient Name", "XPN", R, t "0200", rep)),
},
FieldDelta {
segment: "PID",
seq: 7,
spec: Some(fld!(7, "Date/Time of Birth", "DTM", RE)),
},
FieldDelta {
segment: "PID",
seq: 10,
spec: Some(fld!(10, "Race", "CWE", O, t "0005", rep)),
},
FieldDelta {
segment: "PID",
seq: 15,
spec: Some(fld!(15, "Primary Language", "CWE", O, t "0296")),
},
FieldDelta {
segment: "PID",
seq: 16,
spec: Some(fld!(16, "Marital Status", "CWE", O, t "0002")),
},
FieldDelta {
segment: "PID",
seq: 17,
spec: Some(fld!(17, "Religion", "CWE", O, t "0006")),
},
FieldDelta {
segment: "PID",
seq: 22,
spec: Some(fld!(22, "Ethnic Group", "CWE", O, t "0189", rep)),
},
FieldDelta {
segment: "PID",
seq: 26,
spec: Some(fld!(26, "Citizenship", "CWE", O, t "0171", rep)),
},
FieldDelta {
segment: "PID",
seq: 27,
spec: Some(fld!(27, "Veterans Military Status", "CWE", O, t "0172")),
},
FieldDelta {
segment: "PID",
seq: 28,
spec: Some(fld!(28, "Nationality", "CWE", B, t "0212")),
},
FieldDelta {
segment: "PID",
seq: 29,
spec: Some(fld!(29, "Patient Death Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PID",
seq: 33,
spec: Some(fld!(33, "Last Update Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PID",
seq: 35,
spec: Some(fld!(35, "Species Code", "CWE", O, t "0446")),
},
FieldDelta {
segment: "PID",
seq: 36,
spec: Some(fld!(36, "Breed Code", "CWE", O, t "0447")),
},
FieldDelta {
segment: "PID",
seq: 38,
spec: Some(fld!(38, "Production Class Code", "CWE", O, t "0429", rep)),
},
FieldDelta {
segment: "PR1",
seq: 2,
spec: Some(fld!(2, "Procedure Coding Method", "", B)),
},
FieldDelta {
segment: "PR1",
seq: 3,
spec: Some(fld!(3, "Procedure Code", "CNE", R, t "0088")),
},
FieldDelta {
segment: "PR1",
seq: 4,
spec: Some(fld!(4, "Procedure Description", "", B)),
},
FieldDelta {
segment: "PR1",
seq: 5,
spec: Some(fld!(5, "Procedure Date/Time", "DTM", R)),
},
FieldDelta {
segment: "PR1",
seq: 8,
spec: Some(fld!(8, "Anesthesiologist", "", B)),
},
FieldDelta {
segment: "PR1",
seq: 11,
spec: Some(fld!(11, "Surgeon", "", B)),
},
FieldDelta {
segment: "PR1",
seq: 12,
spec: Some(fld!(12, "Procedure Practitioner", "", B)),
},
FieldDelta {
segment: "PR1",
seq: 13,
spec: Some(fld!(13, "Consent Code", "CWE", O, t "0059")),
},
FieldDelta {
segment: "PR1",
seq: 15,
spec: Some(fld!(15, "Associated Diagnosis Code", "CWE", O, t "0051")),
},
FieldDelta {
segment: "PR1",
seq: 16,
spec: Some(fld!(16, "Procedure Code Modifier", "CNE", O, t "0340", rep)),
},
FieldDelta {
segment: "PR1",
seq: 18,
spec: Some(fld!(18, "Tissue Type Code", "CWE", O, t "0417", rep)),
},
FieldDelta {
segment: "PR1",
seq: 21,
spec: Some(fld!(21, "DRG Procedure Determination Status", "IS", O, t "0761")),
},
FieldDelta {
segment: "PR1",
seq: 22,
spec: Some(fld!(22, "DRG Procedure Relevance", "IS", O, t "0763")),
},
FieldDelta {
segment: "PRA",
seq: 1,
spec: Some(fld!(1, "Primary Key Value", "CWE", O)),
},
FieldDelta {
segment: "PRA",
seq: 2,
spec: Some(fld!(2, "Practitioner Group", "CWE", O, t "0358", rep)),
},
FieldDelta {
segment: "PRA",
seq: 9,
spec: Some(fld!(9, "Institution", "CWE", O, t "0537")),
},
FieldDelta {
segment: "PRA",
seq: 11,
spec: Some(
fld!(11, "Government Reimbursement Billing Eligibility", "CWE", O, t "0401", rep),
),
},
FieldDelta {
segment: "PRB",
seq: 2,
spec: Some(fld!(2, "Action Date/Time", "DTM", R)),
},
FieldDelta {
segment: "PRB",
seq: 3,
spec: Some(fld!(3, "Problem ID", "CWE", R)),
},
FieldDelta {
segment: "PRB",
seq: 7,
spec: Some(fld!(7, "Problem Established Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PRB",
seq: 8,
spec: Some(fld!(
8,
"Anticipated Problem Resolution Date/Time",
"DTM",
O
)),
},
FieldDelta {
segment: "PRB",
seq: 9,
spec: Some(fld!(9, "Actual Problem Resolution Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PRB",
seq: 10,
spec: Some(fld!(10, "Problem Classification", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 11,
spec: Some(fld!(11, "Problem Management Discipline", "CWE", O, rep)),
},
FieldDelta {
segment: "PRB",
seq: 12,
spec: Some(fld!(12, "Problem Persistence", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 13,
spec: Some(fld!(13, "Problem Confirmation Status", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 14,
spec: Some(fld!(14, "Problem Life Cycle Status", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 15,
spec: Some(fld!(15, "Problem Life Cycle Status Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PRB",
seq: 16,
spec: Some(fld!(16, "Problem Date of Onset", "DTM", O)),
},
FieldDelta {
segment: "PRB",
seq: 18,
spec: Some(fld!(18, "Problem Ranking", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 19,
spec: Some(fld!(19, "Certainty of Problem", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 21,
spec: Some(fld!(21, "Individual Awareness of Problem", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 22,
spec: Some(fld!(22, "Problem Prognosis", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 23,
spec: Some(fld!(23, "Individual Awareness of Prognosis", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 25,
spec: Some(fld!(25, "Security/Sensitivity", "CWE", O)),
},
FieldDelta {
segment: "PRB",
seq: 26,
spec: Some(fld!(26, "Problem Severity", "CWE", O, t "0836")),
},
FieldDelta {
segment: "PRB",
seq: 27,
spec: Some(fld!(27, "Problem Perspective", "CWE", O, t "0838")),
},
FieldDelta {
segment: "PRB",
seq: 28,
spec: Some(fld!(28, "Mood Code", "CNE", O, t "0725")),
},
FieldDelta {
segment: "PRC",
seq: 1,
spec: Some(fld!(1, "Primary Key Value", "CWE", R, t "0132")),
},
FieldDelta {
segment: "PRC",
seq: 2,
spec: Some(fld!(2, "Facility ID", "CWE", O, t "0464", rep)),
},
FieldDelta {
segment: "PRC",
seq: 3,
spec: Some(fld!(3, "Department", "CWE", O, t "0184", rep)),
},
FieldDelta {
segment: "PRC",
seq: 11,
spec: Some(fld!(11, "Effective Start Date", "DTM", O)),
},
FieldDelta {
segment: "PRC",
seq: 12,
spec: Some(fld!(12, "Effective End Date", "DTM", O)),
},
FieldDelta {
segment: "PRC",
seq: 14,
spec: Some(fld!(14, "Billing Category", "CWE", O, t "0293", rep)),
},
FieldDelta {
segment: "PRD",
seq: 1,
spec: Some(fld!(1, "Provider Role", "CWE", R, t "0286", rep)),
},
FieldDelta {
segment: "PRD",
seq: 6,
spec: Some(fld!(6, "Preferred Method of Contact", "CWE", O, t "0185")),
},
FieldDelta {
segment: "PRD",
seq: 7,
spec: Some(fld!(7, "Provider Identifiers", "PLN", O, t "0338", rep)),
},
FieldDelta {
segment: "PRD",
seq: 8,
spec: Some(fld!(8, "Effective Start Date of Provider Role", "DTM", O)),
},
FieldDelta {
segment: "PRD",
seq: 9,
spec: Some(fld!(
9,
"Effective End Date of Provider Role",
"DTM",
O,
rep
)),
},
FieldDelta {
segment: "PRD",
seq: 10,
spec: Some(fld!(
10,
"Provider Organization Name and Identifier",
"XON",
O
)),
},
FieldDelta {
segment: "PRD",
seq: 11,
spec: Some(fld!(11, "Provider Organization Address", "XAD", O, rep)),
},
FieldDelta {
segment: "PRD",
seq: 12,
spec: Some(fld!(
12,
"Provider Organization Location Information",
"PL",
O,
rep
)),
},
FieldDelta {
segment: "PRD",
seq: 13,
spec: Some(fld!(
13,
"Provider Organization Communication Information",
"XTN",
O,
rep
)),
},
FieldDelta {
segment: "PRD",
seq: 14,
spec: Some(fld!(14, "Provider Organization Method of Contact", "CWE", O, t "0185")),
},
FieldDelta {
segment: "PSH",
seq: 3,
spec: Some(fld!(3, "Report Date", "DTM", R)),
},
FieldDelta {
segment: "PSH",
seq: 4,
spec: Some(fld!(4, "Report Interval Start Date", "DTM", O)),
},
FieldDelta {
segment: "PSH",
seq: 5,
spec: Some(fld!(5, "Report Interval End Date", "DTM", O)),
},
FieldDelta {
segment: "PTH",
seq: 2,
spec: Some(fld!(2, "Pathway ID", "CWE", R)),
},
FieldDelta {
segment: "PTH",
seq: 4,
spec: Some(fld!(4, "Pathway Established Date/Time", "DTM", R)),
},
FieldDelta {
segment: "PTH",
seq: 5,
spec: Some(fld!(5, "Pathway Life Cycle Status", "CWE", O)),
},
FieldDelta {
segment: "PTH",
seq: 6,
spec: Some(fld!(
6,
"Change Pathway Life Cycle Status Date/Time",
"DTM",
O
)),
},
FieldDelta {
segment: "PTH",
seq: 7,
spec: Some(fld!(7, "Mood Code", "CNE", O, t "0725")),
},
FieldDelta {
segment: "PV1",
seq: 38,
spec: Some(fld!(38, "Diet Type", "CWE", O, t "0114")),
},
FieldDelta {
segment: "PV1",
seq: 44,
spec: Some(fld!(44, "Admit Date/Time", "DTM", RE)),
},
FieldDelta {
segment: "PV1",
seq: 45,
spec: Some(fld!(45, "Discharge Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PV2",
seq: 2,
spec: Some(fld!(2, "Accommodation Code", "CWE", O, t "0129")),
},
FieldDelta {
segment: "PV2",
seq: 3,
spec: Some(fld!(3, "Admit Reason", "CWE", O)),
},
FieldDelta {
segment: "PV2",
seq: 4,
spec: Some(fld!(4, "Transfer Reason", "CWE", O)),
},
FieldDelta {
segment: "PV2",
seq: 8,
spec: Some(fld!(8, "Expected Admit Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PV2",
seq: 9,
spec: Some(fld!(9, "Expected Discharge Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PV2",
seq: 22,
spec: Some(fld!(22, "Visit Protection Indicator", "ID", B, t "0136")),
},
FieldDelta {
segment: "PV2",
seq: 30,
spec: Some(fld!(30, "Patient Charge Adjustment Code", "CWE", O, t "0218")),
},
FieldDelta {
segment: "PV2",
seq: 33,
spec: Some(fld!(33, "Expected Surgery Date and Time", "DTM", O)),
},
FieldDelta {
segment: "PV2",
seq: 38,
spec: Some(fld!(38, "Mode of Arrival Code", "CWE", O, t "0430")),
},
FieldDelta {
segment: "PV2",
seq: 39,
spec: Some(fld!(39, "Recreational Drug Use Code", "CWE", O, t "0431", rep)),
},
FieldDelta {
segment: "PV2",
seq: 40,
spec: Some(fld!(40, "Admission Level of Care Code", "CWE", O, t "0432")),
},
FieldDelta {
segment: "PV2",
seq: 41,
spec: Some(fld!(41, "Precaution Code", "CWE", O, t "0433", rep)),
},
FieldDelta {
segment: "PV2",
seq: 42,
spec: Some(fld!(42, "Patient Condition Code", "CWE", O, t "0434")),
},
FieldDelta {
segment: "PV2",
seq: 45,
spec: Some(fld!(45, "Advance Directive Code", "CWE", O, t "0435", rep)),
},
FieldDelta {
segment: "PV2",
seq: 47,
spec: Some(fld!(47, "Expected LOA Return Date/Time", "DTM", O)),
},
FieldDelta {
segment: "PV2",
seq: 48,
spec: Some(fld!(
48,
"Expected Pre-admission Testing Date/Time",
"DTM",
O
)),
},
FieldDelta {
segment: "PV2",
seq: 50,
spec: Some(fld!(50, "Advance Directive Last Verified Date", "DT", O)),
},
FieldDelta {
segment: "QAK",
seq: 3,
spec: Some(fld!(3, "Message Query Name", "CWE", O, t "0471")),
},
FieldDelta {
segment: "QAK",
seq: 4,
spec: Some(fld!(4, "Hit Count Total", "NM", O)),
},
FieldDelta {
segment: "QPD",
seq: 1,
spec: Some(fld!(1, "Message Query Name", "CWE", R, t "0471")),
},
FieldDelta {
segment: "QRD",
seq: 1,
spec: Some(fld!(1, "Query Date/Time", "DTM", R)),
},
FieldDelta {
segment: "QRD",
seq: 6,
spec: Some(fld!(6, "Deferred Response Date/Time", "DTM", O)),
},
FieldDelta {
segment: "QRD",
seq: 9,
spec: Some(fld!(9, "What Subject Filter", "CWE", R, t "0048", rep)),
},
FieldDelta {
segment: "QRD",
seq: 10,
spec: Some(fld!(10, "What Department Data Code", "CWE", R, rep)),
},
FieldDelta {
segment: "QRF",
seq: 2,
spec: Some(fld!(2, "When Data Start Date/Time", "DTM", B)),
},
FieldDelta {
segment: "QRF",
seq: 3,
spec: Some(fld!(3, "When Data End Date/Time", "DTM", B)),
},
FieldDelta {
segment: "QRF",
seq: 9,
spec: Some(fld!(9, "When Quantity/Timing Qualifier", "TQ", B)),
},
FieldDelta {
segment: "RCP",
seq: 3,
spec: Some(fld!(3, "Response Modality", "CNE", O, t "0394")),
},
FieldDelta {
segment: "RCP",
seq: 4,
spec: Some(fld!(4, "Execution and Delivery Time", "DTM", O)),
},
FieldDelta {
segment: "RCP",
seq: 7,
spec: Some(fld!(7, "Segment group inclusion", "ID", O, t "0391", rep)),
},
FieldDelta {
segment: "RF1",
seq: 1,
spec: Some(fld!(1, "Referral Status", "CWE", O, t "0283")),
},
FieldDelta {
segment: "RF1",
seq: 2,
spec: Some(fld!(2, "Referral Priority", "CWE", O, t "0280")),
},
FieldDelta {
segment: "RF1",
seq: 3,
spec: Some(fld!(3, "Referral Type", "CWE", O, t "0281")),
},
FieldDelta {
segment: "RF1",
seq: 4,
spec: Some(fld!(4, "Referral Disposition", "CWE", O, t "0282", rep)),
},
FieldDelta {
segment: "RF1",
seq: 5,
spec: Some(fld!(5, "Referral Category", "CWE", O, t "0284")),
},
FieldDelta {
segment: "RF1",
seq: 7,
spec: Some(fld!(7, "Effective Date", "DTM", O)),
},
FieldDelta {
segment: "RF1",
seq: 8,
spec: Some(fld!(8, "Expiration Date", "DTM", O)),
},
FieldDelta {
segment: "RF1",
seq: 9,
spec: Some(fld!(9, "Process Date", "DTM", O)),
},
FieldDelta {
segment: "RF1",
seq: 10,
spec: Some(fld!(10, "Referral Reason", "CWE", O, t "0336", rep)),
},
FieldDelta {
segment: "RF1",
seq: 12,
spec: Some(fld!(12, "Referral Documentation Completion Status", "CWE", O, t "0865")),
},
FieldDelta {
segment: "RGS",
seq: 3,
spec: Some(fld!(3, "Resource Group ID", "CWE", O)),
},
FieldDelta {
segment: "RMI",
seq: 1,
spec: Some(fld!(1, "Risk Management Incident Code", "CWE", O, t "0427")),
},
FieldDelta {
segment: "RMI",
seq: 2,
spec: Some(fld!(2, "Date/Time Incident", "DTM", O)),
},
FieldDelta {
segment: "RMI",
seq: 3,
spec: Some(fld!(3, "Incident Type Code", "CWE", O, t "0428")),
},
FieldDelta {
segment: "ROL",
seq: 3,
spec: Some(fld!(3, "Role", "CWE", R, t "0443")),
},
FieldDelta {
segment: "ROL",
seq: 5,
spec: Some(fld!(5, "Role Begin Date/Time", "DTM", O)),
},
FieldDelta {
segment: "ROL",
seq: 6,
spec: Some(fld!(6, "Role End Date/Time", "DTM", O)),
},
FieldDelta {
segment: "ROL",
seq: 7,
spec: Some(fld!(7, "Role Duration", "CWE", O)),
},
FieldDelta {
segment: "ROL",
seq: 8,
spec: Some(fld!(8, "Role Action Reason", "CWE", O)),
},
FieldDelta {
segment: "ROL",
seq: 9,
spec: Some(fld!(9, "Provider Type", "CWE", O, rep)),
},
FieldDelta {
segment: "ROL",
seq: 10,
spec: Some(fld!(10, "Organization Unit Type", "CWE", O, t "0406")),
},
FieldDelta {
segment: "ROL",
seq: 13,
spec: Some(fld!(13, "Person's Location", "PL", O)),
},
FieldDelta {
segment: "RQ1",
seq: 2,
spec: Some(fld!(2, "Manufacturer Identifier", "CWE", O, t "0385")),
},
FieldDelta {
segment: "RQ1",
seq: 4,
spec: Some(fld!(4, "Vendor ID", "CWE", O)),
},
FieldDelta {
segment: "RQD",
seq: 2,
spec: Some(fld!(2, "Item Code - Internal", "CWE", O)),
},
FieldDelta {
segment: "RQD",
seq: 3,
spec: Some(fld!(3, "Item Code - External", "CWE", O)),
},
FieldDelta {
segment: "RQD",
seq: 4,
spec: Some(fld!(4, "Hospital Item Code", "CWE", O)),
},
FieldDelta {
segment: "RQD",
seq: 6,
spec: Some(fld!(6, "Requisition Unit of Measure", "CWE", O)),
},
FieldDelta {
segment: "RQD",
seq: 7,
spec: Some(fld!(7, "Cost Center Account Number", "IS", O, t "0319")),
},
FieldDelta {
segment: "RQD",
seq: 9,
spec: Some(fld!(9, "Deliver To ID", "CWE", O)),
},
FieldDelta {
segment: "RXA",
seq: 3,
spec: Some(fld!(3, "Date/Time Start of Administration", "DTM", R)),
},
FieldDelta {
segment: "RXA",
seq: 4,
spec: Some(fld!(4, "Date/Time End of Administration", "DTM", R)),
},
FieldDelta {
segment: "RXA",
seq: 5,
spec: Some(fld!(5, "Administered Code", "CWE", R, t "0292")),
},
FieldDelta {
segment: "RXA",
seq: 7,
spec: Some(fld!(7, "Administered Units", "CWE", O)),
},
FieldDelta {
segment: "RXA",
seq: 8,
spec: Some(fld!(8, "Administered Dosage Form", "CWE", O)),
},
FieldDelta {
segment: "RXA",
seq: 9,
spec: Some(fld!(9, "Administration Notes", "CWE", O, rep)),
},
FieldDelta {
segment: "RXA",
seq: 11,
spec: Some(fld!(11, "Administered-at Location", "LA2", B)),
},
FieldDelta {
segment: "RXA",
seq: 14,
spec: Some(fld!(14, "Administered Strength Units", "CWE", O)),
},
FieldDelta {
segment: "RXA",
seq: 16,
spec: Some(fld!(16, "Substance Expiration Date", "DTM", O, rep)),
},
FieldDelta {
segment: "RXA",
seq: 17,
spec: Some(fld!(17, "Substance Manufacturer Name", "CWE", O, t "0227", rep)),
},
FieldDelta {
segment: "RXA",
seq: 18,
spec: Some(fld!(
18,
"Substance/Treatment Refusal Reason",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "RXA",
seq: 19,
spec: Some(fld!(19, "Indication", "CWE", O, rep)),
},
FieldDelta {
segment: "RXA",
seq: 21,
spec: Some(fld!(21, "Action Code", "ID", O, t "0206")),
},
FieldDelta {
segment: "RXA",
seq: 22,
spec: Some(fld!(22, "System Entry Date/Time", "DTM", O)),
},
FieldDelta {
segment: "RXA",
seq: 27,
spec: Some(fld!(27, "Administer-at", "PL", O)),
},
FieldDelta {
segment: "RXA",
seq: 28,
spec: Some(fld!(28, "Administered-at Address", "XAD", O)),
},
FieldDelta {
segment: "RXC",
seq: 2,
spec: Some(fld!(2, "Component Code", "CWE", R)),
},
FieldDelta {
segment: "RXC",
seq: 4,
spec: Some(fld!(4, "Component Units", "CWE", R)),
},
FieldDelta {
segment: "RXC",
seq: 6,
spec: Some(fld!(6, "Component Strength Units", "CWE", O)),
},
FieldDelta {
segment: "RXC",
seq: 7,
spec: Some(fld!(7, "Supplementary Code", "CWE", O, rep)),
},
FieldDelta {
segment: "RXD",
seq: 2,
spec: Some(fld!(2, "Dispense/Give Code", "CWE", R, t "0292")),
},
FieldDelta {
segment: "RXD",
seq: 3,
spec: Some(fld!(3, "Date/Time Dispensed", "DTM", R)),
},
FieldDelta {
segment: "RXD",
seq: 5,
spec: Some(fld!(5, "Actual Dispense Units", "CWE", O)),
},
FieldDelta {
segment: "RXD",
seq: 6,
spec: Some(fld!(6, "Actual Dosage Form", "CWE", O)),
},
FieldDelta {
segment: "RXD",
seq: 13,
spec: Some(fld!(13, "Dispense-to Location", "LA2", B)),
},
FieldDelta {
segment: "RXD",
seq: 15,
spec: Some(fld!(
15,
"Pharmacy/Treatment Supplier's Special Dispensing Instructions",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "RXD",
seq: 17,
spec: Some(fld!(17, "Actual Strength Unit", "CWE", O)),
},
FieldDelta {
segment: "RXD",
seq: 19,
spec: Some(fld!(19, "Substance Expiration Date", "DTM", O, rep)),
},
FieldDelta {
segment: "RXD",
seq: 20,
spec: Some(fld!(20, "Substance Manufacturer Name", "CWE", O, t "0227", rep)),
},
FieldDelta {
segment: "RXD",
seq: 21,
spec: Some(fld!(21, "Indication", "CWE", O, rep)),
},
FieldDelta {
segment: "RXD",
seq: 23,
spec: Some(fld!(23, "Dispense Package Size Unit", "CWE", O)),
},
FieldDelta {
segment: "RXD",
seq: 25,
spec: Some(fld!(25, "Supplementary Code", "CWE", O, rep)),
},
FieldDelta {
segment: "RXD",
seq: 26,
spec: Some(fld!(26, "Initiating Location", "CWE", O)),
},
FieldDelta {
segment: "RXD",
seq: 27,
spec: Some(fld!(27, "Packaging/Assembly Location", "CWE", O)),
},
FieldDelta {
segment: "RXE",
seq: 2,
spec: Some(fld!(2, "Give Code", "CWE", R)),
},
FieldDelta {
segment: "RXE",
seq: 5,
spec: Some(fld!(5, "Give Units", "CWE", R)),
},
FieldDelta {
segment: "RXE",
seq: 6,
spec: Some(fld!(6, "Give Dosage Form", "CWE", O)),
},
FieldDelta {
segment: "RXE",
seq: 7,
spec: Some(fld!(
7,
"Provider's Administration Instructions",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "RXE",
seq: 11,
spec: Some(fld!(11, "Dispense Units", "CWE", O)),
},
FieldDelta {
segment: "RXE",
seq: 18,
spec: Some(fld!(
18,
"D/T of Most Recent Refill or Dose Dispensed",
"DTM",
O
)),
},
FieldDelta {
segment: "RXE",
seq: 21,
spec: Some(fld!(
21,
"Pharmacy/Treatment Supplier's Special Dispensing Instructions",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "RXE",
seq: 24,
spec: Some(fld!(24, "Give Rate Units", "CWE", O)),
},
FieldDelta {
segment: "RXE",
seq: 26,
spec: Some(fld!(26, "Give Strength Units", "CWE", O)),
},
FieldDelta {
segment: "RXE",
seq: 27,
spec: Some(fld!(27, "Give Indication", "CWE", O, rep)),
},
FieldDelta {
segment: "RXE",
seq: 29,
spec: Some(fld!(29, "Dispense Package Size Unit", "CWE", O)),
},
FieldDelta {
segment: "RXE",
seq: 31,
spec: Some(fld!(31, "Supplementary Code", "CWE", O, rep)),
},
FieldDelta {
segment: "RXE",
seq: 32,
spec: Some(fld!(32, "Original Order Date/Time", "DTM", O)),
},
FieldDelta {
segment: "RXG",
seq: 4,
spec: Some(fld!(4, "Give Code", "CWE", R, t "0292")),
},
FieldDelta {
segment: "RXG",
seq: 7,
spec: Some(fld!(7, "Give Units", "CWE", R)),
},
FieldDelta {
segment: "RXG",
seq: 8,
spec: Some(fld!(8, "Give Dosage Form", "CWE", O)),
},
FieldDelta {
segment: "RXG",
seq: 9,
spec: Some(fld!(9, "Administration Notes", "CWE", O, rep)),
},
FieldDelta {
segment: "RXG",
seq: 11,
spec: Some(fld!(11, "Dispense-To Location", "LA2", B)),
},
FieldDelta {
segment: "RXG",
seq: 13,
spec: Some(fld!(
13,
"Pharmacy/Treatment Supplier's Special Administration Instructions",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "RXG",
seq: 16,
spec: Some(fld!(16, "Give Rate Units", "CWE", O)),
},
FieldDelta {
segment: "RXG",
seq: 18,
spec: Some(fld!(18, "Give Strength Units", "CWE", O)),
},
FieldDelta {
segment: "RXG",
seq: 20,
spec: Some(fld!(20, "Substance Expiration Date", "DTM", O, rep)),
},
FieldDelta {
segment: "RXG",
seq: 21,
spec: Some(fld!(21, "Substance Manufacturer Name", "CWE", O, t "0227", rep)),
},
FieldDelta {
segment: "RXG",
seq: 22,
spec: Some(fld!(22, "Indication", "CWE", O, rep)),
},
FieldDelta {
segment: "RXG",
seq: 27,
spec: Some(fld!(27, "Dispense to Pharmacy", "CWE", O)),
},
FieldDelta {
segment: "RXG",
seq: 28,
spec: Some(fld!(28, "Dispense to Pharmacy Address", "XAD", O)),
},
FieldDelta {
segment: "RXG",
seq: 29,
spec: Some(fld!(29, "Deliver-to Patient Location", "PL", O)),
},
FieldDelta {
segment: "RXG",
seq: 30,
spec: Some(fld!(30, "Deliver-to Address", "XAD", O)),
},
FieldDelta {
segment: "RXO",
seq: 1,
spec: Some(fld!(1, "Requested Give Code", "CWE", O)),
},
FieldDelta {
segment: "RXO",
seq: 4,
spec: Some(fld!(4, "Requested Give Units", "CWE", O)),
},
FieldDelta {
segment: "RXO",
seq: 5,
spec: Some(fld!(5, "Requested Dosage Form", "CWE", O)),
},
FieldDelta {
segment: "RXO",
seq: 6,
spec: Some(fld!(
6,
"Provider's Pharmacy/Treatment Instructions",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "RXO",
seq: 7,
spec: Some(fld!(
7,
"Provider's Administration Instructions",
"CWE",
O,
rep
)),
},
FieldDelta {
segment: "RXO",
seq: 8,
spec: Some(fld!(8, "Deliver-To Location", "LA1", B)),
},
FieldDelta {
segment: "RXO",
seq: 10,
spec: Some(fld!(10, "Requested Dispense Code", "CWE", O)),
},
FieldDelta {
segment: "RXO",
seq: 12,
spec: Some(fld!(12, "Requested Dispense Units", "CWE", O)),
},
FieldDelta {
segment: "RXO",
seq: 19,
spec: Some(fld!(19, "Requested Give Strength Units", "CWE", O)),
},
FieldDelta {
segment: "RXO",
seq: 20,
spec: Some(fld!(20, "Indication", "CWE", O, rep)),
},
FieldDelta {
segment: "RXO",
seq: 22,
spec: Some(fld!(22, "Requested Give Rate Units", "CWE", O)),
},
FieldDelta {
segment: "RXO",
seq: 24,
spec: Some(fld!(24, "Supplementary Code", "CWE", O, rep)),
},
FieldDelta {
segment: "RXO",
seq: 29,
spec: Some(fld!(29, "Medication Instance Identifier", "EI", O)),
},
FieldDelta {
segment: "RXO",
seq: 30,
spec: Some(fld!(30, "Segment Instance Identifier", "EI", O)),
},
FieldDelta {
segment: "RXO",
seq: 31,
spec: Some(fld!(31, "Mood Code", "CNE", O, t "0725")),
},
FieldDelta {
segment: "RXO",
seq: 32,
spec: Some(fld!(32, "Dispensing Pharmacy", "CWE", O)),
},
FieldDelta {
segment: "RXO",
seq: 33,
spec: Some(fld!(33, "Dispensing Pharmacy Address", "XAD", O)),
},
FieldDelta {
segment: "RXO",
seq: 34,
spec: Some(fld!(34, "Deliver-to Patient Location", "PL", O)),
},
FieldDelta {
segment: "RXO",
seq: 35,
spec: Some(fld!(35, "Deliver-to Address", "XAD", O)),
},
FieldDelta {
segment: "RXR",
seq: 1,
spec: Some(fld!(1, "Route", "CWE", R, t "0162")),
},
FieldDelta {
segment: "RXR",
seq: 2,
spec: Some(fld!(2, "Administration Site", "CWE", O, t "0550")),
},
FieldDelta {
segment: "RXR",
seq: 3,
spec: Some(fld!(3, "Administration Device", "CWE", O, t "0164")),
},
FieldDelta {
segment: "RXR",
seq: 5,
spec: Some(fld!(5, "Routing Instruction", "CWE", O)),
},
FieldDelta {
segment: "SCH",
seq: 5,
spec: Some(fld!(5, "Schedule ID", "CWE", O)),
},
FieldDelta {
segment: "SCH",
seq: 6,
spec: Some(fld!(6, "Event Reason", "CWE", R)),
},
FieldDelta {
segment: "SCH",
seq: 7,
spec: Some(fld!(7, "Appointment Reason", "CWE", O, t "0276")),
},
FieldDelta {
segment: "SCH",
seq: 8,
spec: Some(fld!(8, "Appointment Type", "CWE", O, t "0277")),
},
FieldDelta {
segment: "SCH",
seq: 10,
spec: Some(fld!(10, "Appointment Duration Units", "CNE", O)),
},
FieldDelta {
segment: "SCH",
seq: 25,
spec: Some(fld!(25, "Filler Status Code", "CWE", RE, t "0278")),
},
FieldDelta {
segment: "SFT",
seq: 6,
spec: Some(fld!(6, "Software Install Date", "DTM", O)),
},
FieldDelta {
segment: "SPM",
seq: 18,
spec: Some(fld!(18, "Specimen Received Date/Time", "DTM", O)),
},
FieldDelta {
segment: "SPM",
seq: 19,
spec: Some(fld!(19, "Specimen Expiration Date/Time", "DTM", O)),
},
FieldDelta {
segment: "STF",
seq: 1,
spec: Some(fld!(1, "Primary Key Value", "CWE", O)),
},
FieldDelta {
segment: "STF",
seq: 6,
spec: Some(fld!(6, "Date/Time of Birth", "DTM", O)),
},
FieldDelta {
segment: "STF",
seq: 8,
spec: Some(fld!(8, "Department", "CWE", O, t "0184", rep)),
},
FieldDelta {
segment: "STF",
seq: 9,
spec: Some(fld!(9, "Hospital Service", "CWE", O, t "0069", rep)),
},
FieldDelta {
segment: "STF",
seq: 14,
spec: Some(fld!(14, "Backup Person ID", "CWE", O, rep)),
},
FieldDelta {
segment: "STF",
seq: 16,
spec: Some(fld!(16, "Preferred Method of Contact", "CWE", O, t "0185")),
},
FieldDelta {
segment: "STF",
seq: 17,
spec: Some(fld!(17, "Marital Status", "CWE", O, t "0002")),
},
FieldDelta {
segment: "STF",
seq: 20,
spec: Some(fld!(20, "Employment Status Code", "CWE", O, t "0066")),
},
FieldDelta {
segment: "STF",
seq: 27,
spec: Some(fld!(27, "Race", "CWE", O, t "0005")),
},
FieldDelta {
segment: "STF",
seq: 28,
spec: Some(fld!(28, "Ethnic Group", "CWE", O, t "0189")),
},
FieldDelta {
segment: "STF",
seq: 31,
spec: Some(fld!(31, "Date/Time of Death", "DTM", O)),
},
FieldDelta {
segment: "STF",
seq: 39,
spec: Some(fld!(39, "Generic resource type or category", "CWE", O, t "0771", rep)),
},
FieldDelta {
segment: "TQ1",
seq: 3,
spec: Some(fld!(3, "Repeat Pattern", "RPT", O, rep)),
},
FieldDelta {
segment: "TQ1",
seq: 7,
spec: Some(fld!(7, "Start date/time", "DTM", O)),
},
FieldDelta {
segment: "TQ1",
seq: 8,
spec: Some(fld!(8, "End date/time", "DTM", O)),
},
FieldDelta {
segment: "TQ1",
seq: 12,
spec: Some(fld!(12, "Conjunction", "ID", O, t "0472")),
},
FieldDelta {
segment: "TXA",
seq: 4,
spec: Some(fld!(4, "Activity Date/Time", "DTM", O)),
},
FieldDelta {
segment: "TXA",
seq: 6,
spec: Some(fld!(6, "Origination Date/Time", "DTM", O)),
},
FieldDelta {
segment: "TXA",
seq: 7,
spec: Some(fld!(7, "Transcription Date/Time", "DTM", O)),
},
FieldDelta {
segment: "TXA",
seq: 8,
spec: Some(fld!(8, "Edit Date/Time", "DTM", O, rep)),
},
FieldDelta {
segment: "TXA",
seq: 22,
spec: Some(fld!(
22,
"Authentication Person, Time Stamp (set)",
"PPN",
O,
rep
)),
},
FieldDelta {
segment: "UB1",
seq: 2,
spec: Some(fld!(2, "Blood Deductible", "", B)),
},
FieldDelta {
segment: "UB1",
seq: 3,
spec: Some(fld!(3, "Blood Furnished-Pints", "NM", O)),
},
FieldDelta {
segment: "UB1",
seq: 4,
spec: Some(fld!(4, "Blood Replaced-Pints", "NM", O)),
},
FieldDelta {
segment: "UB1",
seq: 5,
spec: Some(fld!(5, "Blood Not Replaced-Pints", "NM", O)),
},
FieldDelta {
segment: "UB1",
seq: 6,
spec: Some(fld!(6, "Co-Insurance Days", "NM", B)),
},
FieldDelta {
segment: "UB1",
seq: 7,
spec: Some(fld!(7, "Condition Code", "IS", B, t "0043", rep)),
},
FieldDelta {
segment: "UB1",
seq: 8,
spec: Some(fld!(8, "Covered Days", "NM", B)),
},
FieldDelta {
segment: "UB1",
seq: 9,
spec: Some(fld!(9, "Non Covered Days", "NM", B)),
},
FieldDelta {
segment: "UB1",
seq: 10,
spec: Some(fld!(10, "Value Amount & Code", "UVC", B, rep)),
},
FieldDelta {
segment: "UB1",
seq: 11,
spec: Some(fld!(11, "Number Of Grace Days", "NM", O)),
},
FieldDelta {
segment: "UB1",
seq: 12,
spec: Some(fld!(12, "Special Program Indicator", "CWE", O, t "0348")),
},
FieldDelta {
segment: "UB1",
seq: 13,
spec: Some(fld!(13, "PSRO/UR Approval Indicator", "CWE", O, t "0349")),
},
FieldDelta {
segment: "UB1",
seq: 14,
spec: Some(fld!(14, "PSRO/UR Approved Stay-Fm", "DT", O)),
},
FieldDelta {
segment: "UB1",
seq: 15,
spec: Some(fld!(15, "PSRO/UR Approved Stay-To", "DT", O)),
},
FieldDelta {
segment: "UB1",
seq: 16,
spec: Some(fld!(16, "Occurrence", "OCD", B, rep)),
},
FieldDelta {
segment: "UB1",
seq: 17,
spec: Some(fld!(17, "Occurrence Span", "CWE", B, t "0351")),
},
FieldDelta {
segment: "UB1",
seq: 18,
spec: Some(fld!(18, "Occur Span Start Date", "DT", B)),
},
FieldDelta {
segment: "UB1",
seq: 19,
spec: Some(fld!(19, "Occur Span End Date", "DT", B)),
},
FieldDelta {
segment: "URD",
seq: 1,
spec: Some(fld!(1, "R/U Date/Time", "DTM", O)),
},
FieldDelta {
segment: "URD",
seq: 4,
spec: Some(fld!(4, "R/U What Subject Definition", "CWE", O, t "0048", rep)),
},
FieldDelta {
segment: "URD",
seq: 5,
spec: Some(fld!(5, "R/U What Department Code", "CWE", O, rep)),
},
FieldDelta {
segment: "URS",
seq: 2,
spec: Some(fld!(2, "R/U When Data Start Date/Time", "DTM", O)),
},
FieldDelta {
segment: "URS",
seq: 3,
spec: Some(fld!(3, "R/U When Data End Date/Time", "DTM", O)),
},
FieldDelta {
segment: "URS",
seq: 9,
spec: Some(fld!(9, "R/U Quantity/Timing Qualifier", "TQ", B)),
},
FieldDelta {
segment: "VAR",
seq: 2,
spec: Some(fld!(2, "Documented Date/Time", "DTM", R)),
},
FieldDelta {
segment: "VAR",
seq: 3,
spec: Some(fld!(3, "Stated Variance Date/Time", "DTM", O)),
},
FieldDelta {
segment: "VAR",
seq: 5,
spec: Some(fld!(5, "Variance Classification", "CWE", O)),
},
FieldDelta {
segment: "ZL7",
seq: 1,
spec: Some(fld!(1, "Primary key value", "CWE", R)),
},
];
const VERSION_DELTAS: &[(&str, &[FieldDelta])] = &[
("2.3", DELTA_2_3),
("2.3.1", DELTA_2_3_1),
("2.4", DELTA_2_4),
("2.5", DELTA_2_5),
("2.6", DELTA_2_6),
];
#[derive(Debug, Clone, Copy)]
pub struct Dictionary {
version: &'static str,
deltas: &'static [FieldDelta],
}
impl Dictionary {
#[must_use]
pub fn for_version(version: &str) -> Self {
for (v, deltas) in VERSION_DELTAS {
if *v == version {
return Self { version: v, deltas };
}
}
Self {
version: DICTIONARY_VERSION,
deltas: &[],
}
}
#[must_use]
pub const fn version(&self) -> &'static str {
self.version
}
#[must_use]
pub fn is_exact(&self, declared: &str) -> bool {
self.version == declared
}
fn segment_deltas(&self, segment: &str) -> &'static [FieldDelta] {
let start = self.deltas.partition_point(|d| d.segment < segment);
let end = start + self.deltas[start..].partition_point(|d| d.segment == segment);
&self.deltas[start..end]
}
#[must_use]
pub fn field(&self, segment: &str, seq: usize) -> Option<FieldSpec> {
let deltas = self.segment_deltas(segment);
if let Ok(at) = deltas.binary_search_by(|d| d.seq.cmp(&seq)) {
return deltas[at].spec;
}
field_spec(segment, seq).copied()
}
pub fn fields(&self, segment: &str) -> impl Iterator<Item = FieldSpec> {
let baseline: &'static [FieldSpec] = segment_spec(segment).map_or(&[], |s| s.fields);
self.fields_of(segment, baseline)
}
pub fn fields_of(
&self,
segment: &str,
baseline: &'static [FieldSpec],
) -> impl Iterator<Item = FieldSpec> {
let deltas = self.segment_deltas(segment);
let highest = baseline.last().map_or(0, |f| f.seq);
let carried = baseline.iter().filter_map(move |f| {
if deltas.is_empty() {
return Some(*f);
}
match deltas.binary_search_by(|d| d.seq.cmp(&f.seq)) {
Ok(at) => deltas[at].spec,
Err(_) => Some(*f),
}
});
let added = deltas
.iter()
.filter(move |d| d.seq > highest)
.filter_map(|d| d.spec);
carried.chain(added)
}
}
#[must_use]
pub fn is_known_version(v: &str) -> bool {
table("0104").is_some_and(|t| t.meaning(v).is_some())
}
#[cfg(test)]
mod tests {
use super::{is_unvalidated_table, table, SEGMENTS, TABLES, UNVALIDATED_TABLES};
fn every_known_field() -> Vec<(&'static str, super::FieldSpec)> {
let mut all: Vec<(&'static str, super::FieldSpec)> = SEGMENTS
.iter()
.flat_map(|s| s.fields.iter().map(move |f| (s.name, *f)))
.collect();
all.extend(
super::VERSION_DELTAS
.iter()
.flat_map(|(_, deltas)| deltas.iter())
.filter_map(|d| d.spec.map(|f| (d.segment, f))),
);
all
}
#[test]
fn no_segment_skips_a_field_the_standard_defines() {
for segment in SEGMENTS {
for (index, field) in segment.fields.iter().enumerate() {
assert_eq!(
field.seq,
index + 1,
"{} jumps to {} at position {}",
segment.name,
field.seq,
index + 1
);
}
}
}
#[test]
fn a_field_carries_its_name_and_its_table() {
let field = super::field_spec("PD1", 8).expect("PD1-8 is defined");
assert_eq!(field.name, "Organ Donor Code");
assert_eq!(field.table, Some("0316"));
assert_eq!(
table("0316").expect("0316 is defined").meaning("Y"),
Some("Yes, patient is a documented donor and documentation is on file")
);
assert_eq!(
super::segment_spec("GT1")
.expect("GT1 is defined")
.fields
.len(),
57
);
assert_eq!(
super::segment_spec("PV2")
.expect("PV2 is defined")
.fields
.len(),
49
);
}
#[test]
fn every_referenced_table_is_accounted_for() {
let mut dangling = Vec::new();
for (segment, field) in every_known_field() {
let Some(id) = field.table else { continue };
if table(id).is_none() && !is_unvalidated_table(id) {
dangling.push(format!("{segment}-{} names table {id}", field.seq));
}
}
assert!(
dangling.is_empty(),
"these fields validate against nothing:\n {}",
dangling.join("\n ")
);
}
#[test]
fn unvalidated_tables_are_named_by_a_field_and_carry_a_reason() {
for (id, reason) in UNVALIDATED_TABLES {
assert!(!reason.is_empty(), "table {id} has no reason recorded");
assert!(
table(id).is_none(),
"table {id} is defined, so it should not be listed as unvalidated"
);
let named = every_known_field()
.iter()
.any(|(_, f)| f.table == Some(*id));
assert!(
named,
"table {id} is listed as unvalidated but no field names it"
);
}
}
#[test]
fn defined_tables_have_unique_ids_and_codes() {
for (i, t) in TABLES.iter().enumerate() {
assert!(
!TABLES[..i].iter().any(|o| o.id == t.id),
"table {} is defined twice",
t.id
);
for (j, (code, _)) in t.codes.iter().enumerate() {
assert!(
!t.codes[..j].iter().any(|(c, _)| c == code),
"table {} lists code {code:?} twice",
t.id
);
}
}
}
#[test]
fn a_segment_with_no_field_definitions_is_still_named() {
use super::segment_desc;
assert!(segment_desc("MSH").is_some());
assert!(segment_desc("ZZZ").is_none());
let name_only = super::KNOWN_SEGMENT_NAMES
.iter()
.map(|(n, _)| *n)
.find(|n| super::segment_spec(n).is_none())
.expect("some segments are known by name only");
assert!(
segment_desc(name_only).is_some(),
"{name_only} should still have a description"
);
}
#[test]
fn trigger_events_are_described_from_table_0003() {
use super::trigger_desc;
assert_eq!(trigger_desc("A01"), Some("Admit/visit notification"));
assert_eq!(trigger_desc("ZZ9"), None);
}
#[test]
fn versions_are_recognised_and_ordered() {
use super::{is_known_version, version_rank, DICTIONARY_VERSION};
assert!(is_known_version(DICTIONARY_VERSION));
assert!(is_known_version("2.3"));
assert!(!is_known_version("9.9"));
let older = version_rank("2.3").expect("2.3 is known");
let dictionary = version_rank(DICTIONARY_VERSION).expect("the dictionary's own version");
let newer = version_rank("2.8").expect("2.8 is known");
assert!(older < dictionary && dictionary < newer);
assert_eq!(version_rank("9.9"), None);
}
#[test]
fn a_code_is_looked_up_in_the_table_that_defines_it() {
use super::{code_meaning, table};
assert_eq!(code_meaning("0001", "F"), Some("Female"));
assert_eq!(code_meaning("0001", "Z"), None);
assert_eq!(code_meaning("9999", "F"), None);
assert!(table("0001").is_some());
assert!(table("9999").is_none());
}
#[test]
fn message_structures_fall_back_to_the_code_when_the_trigger_is_unknown() {
use super::message_spec;
assert!(message_spec("ADT", "A01").is_some());
assert!(message_spec("ADT", "A99").is_none() || message_spec("ADT", "A99").is_some());
assert!(message_spec("ZQQ", "A01").is_none());
}
#[test]
fn field_specs_are_looked_up_by_segment_and_sequence() {
use super::field_spec;
assert_eq!(field_spec("MSH", 9).map(|f| f.name), Some("Message Type"));
assert!(field_spec("MSH", 999).is_none());
assert!(field_spec("ZZZ", 1).is_none());
}
#[test]
fn every_segment_a_structure_names_is_at_least_described() {
use super::{segment_desc, MESSAGES};
let mut nameless: Vec<String> = Vec::new();
for message in MESSAGES {
for segment in message.segments {
if segment_desc(segment.name).is_none() {
nameless.push(format!("{} requires {}", message.id, segment.name));
}
}
}
nameless.sort();
nameless.dedup();
assert!(
nameless.is_empty(),
"structures name segments the dictionary cannot describe:\n {}",
nameless.join("\n ")
);
}
#[test]
fn the_arrays_lookups_search_are_sorted() {
use super::{segment_spec, table, SEGMENTS, TABLES};
let names: Vec<&str> = SEGMENTS.iter().map(|s| s.name).collect();
let mut wanted = names.clone();
wanted.sort_unstable();
assert_eq!(names, wanted, "SEGMENTS is not in name order");
let ids: Vec<&str> = TABLES.iter().map(|t| t.id).collect();
let mut wanted = ids.clone();
wanted.sort_unstable();
assert_eq!(ids, wanted, "TABLES is not in id order");
for s in SEGMENTS {
assert!(segment_spec(s.name).is_some(), "{} is unreachable", s.name);
}
for t in TABLES {
assert!(table(t.id).is_some(), "table {} is unreachable", t.id);
}
}
#[test]
fn version_deltas_are_ordered() {
for (version, deltas) in super::VERSION_DELTAS {
let keys: Vec<(&str, usize)> = deltas.iter().map(|d| (d.segment, d.seq)).collect();
let mut wanted = keys.clone();
wanted.sort_unstable();
assert_eq!(keys, wanted, "{version} deltas are out of order");
wanted.dedup();
assert_eq!(keys.len(), wanted.len(), "{version} names a field twice");
}
}
#[test]
fn an_unknown_version_falls_back_to_the_baseline() {
use super::{Dictionary, DICTIONARY_VERSION};
let d = Dictionary::for_version("2.1");
assert_eq!(d.version(), DICTIONARY_VERSION);
assert!(!d.is_exact("2.1"));
let d = Dictionary::for_version("2.4");
assert_eq!(d.version(), "2.4");
assert!(d.is_exact("2.4"));
}
#[test]
fn a_field_a_version_lacks_is_absent_from_it() {
use super::Dictionary;
let older = Dictionary::for_version("2.4");
let base = Dictionary::for_version("2.5.1");
let newer = Dictionary::for_version("2.6");
assert!(base.field("PID", 39).is_some(), "2.5.1 has PID-39");
assert!(older.field("PID", 39).is_none(), "2.4 does not");
assert!(!older.fields("PID").any(|f| f.seq == 39));
assert!(base.fields("PID").any(|f| f.seq == 39));
assert!(base.field("MSH", 22).is_none(), "2.5.1 stops at MSH-21");
assert!(newer.field("MSH", 22).is_some(), "2.6 added MSH-22");
assert_eq!(newer.fields("MSH").filter(|f| f.seq > 21).count(), 4);
}
#[test]
fn the_older_versions_are_read_as_they_were_written() {
use super::Dictionary;
let older = Dictionary::for_version("2.3");
assert_eq!(
older
.field("PID", 3)
.expect("the version defines this field")
.name,
"Patient ID (Internal ID)"
);
assert_eq!(
Dictionary::for_version("2.5.1")
.field("PID", 3)
.expect("the version defines this field")
.name,
"Patient Identifier List"
);
assert_eq!(
older
.field("MSH", 9)
.expect("the version defines this field")
.dt,
"CM"
);
assert_eq!(
Dictionary::for_version("2.4")
.field("MSH", 9)
.expect("the version defines this field")
.dt,
"CM"
);
assert_eq!(
Dictionary::for_version("2.5")
.field("MSH", 9)
.expect("the version defines this field")
.dt,
"MSG"
);
for version in ["2.3", "2.3.1"] {
let d = Dictionary::for_version(version);
assert!(d.field("MSH", 21).is_none(), "{version} has no MSH-21");
assert!(!d.fields("MSH").any(|f| f.seq == 21));
}
assert_eq!(
Dictionary::for_version("2.4")
.field("MSH", 21)
.expect("the version defines this field")
.name,
"Conformance Statement ID"
);
assert_eq!(
Dictionary::for_version("2.5")
.field("MSH", 21)
.expect("the version defines this field")
.name,
"Message Profile Identifier"
);
}
#[test]
fn a_version_keeps_the_fields_we_ask_senders_to_populate() {
use super::{Dictionary, Use};
for version in ["2.3", "2.3.1", "2.4", "2.5", "2.5.1", "2.6"] {
let field = Dictionary::for_version(version)
.field("PV1", 3)
.expect("the version defines this field");
assert_eq!(field.usage, Use::Recommended, "PV1-3 in {version}");
}
}
#[test]
fn every_version_still_describes_the_fields_it_shares() {
use super::{Dictionary, VERSION_DELTAS};
let base = Dictionary::for_version("2.5.1");
for (version, _) in VERSION_DELTAS {
let d = Dictionary::for_version(version);
for seq in [9, 12] {
assert!(d.field("MSH", seq).is_some(), "{version} lost MSH-{seq}");
}
assert_eq!(d.version(), *version);
assert!(d.fields("PID").count() > 0, "{version} has no PID fields");
assert!(base.fields("PID").count() > 0);
}
}
}