package viewmodel import ( "encoding/xml" "time" ) type Eligibility struct { TrackingID string `json:"tracking_id,omitempty"` Payer Payer `json:"payer,omitempty"` Provider Provider `json:"provider,omitempty"` Subscriber Subscriber `json:"subscriber,omitempty"` ServiceInfo ServiceInfo `json:"service_info,omitempty"` User User `json:"user,omitempty"` } type Payer struct { PayerID string `json:"payer_id,omitempty"` PayerName string `json:"payer_name,omitempty"` } type Provider struct { ProviderID string `json:"provider_id,omitempty"` ProviderNPI string `json:"provider_npi,omitempty"` ProviderName string `json:"provider_name,omitempty"` Name Name `json:"name,omitempty"` } type Name struct { First string `json:"first,omitempty"` Last string `json:"last,omitempty"` Middle string `json:"middle,omitempty"` } type Subscriber struct { PatientType string `json:"patient_type,omitempty"` SubscriberID string `json:"subscriber_id,omitempty"` Name Name `json:"name,omitempty"` DemographicInfo DemographicInfo `json:"demographic_info,omitempty"` Dependents []Dependent `json:"dependents,omitempty"` } type DemographicInfo struct { DateOfBirth time.Time `json:"date_of_birth,omitempty"` Gender string `json:"gender,omitempty"` } type Dependent struct { PatientAccountNumber string `json:"patient_account_number,omitempty"` Name Name `json:"name,omitempty"` DemographicInfo DemographicInfo `json:"demographic_info,omitempty"` } type ServiceInfo struct { DateOfService time.Time `json:"date_of_service,omitempty"` ServiceTypeCodes []string `json:"service_type_codes,omitempty"` } type Interchange271 struct { XMLName xml.Name `json:"-" xml:"Interchange"` Isa ISA271 `json:"isa,omitempty" xml:"ISA"` Division Division271 `json:"division,omitempty" xml:"Division"` IEA IEA271 `json:"iea,omitempty" xml:"IEA"` } type IEA271 struct { IEA01 string `json:"iea01,omitempty" xml:"IEA01"` IEA02 string `json:"iea02,omitempty" xml:"IEA02"` } type ISA271 struct { Isa01 string `json:"isa01,omitempty" xml:"ISA01"` Isa02 string `json:"isa02,omitempty" xml:"ISA02"` Isa03 string `json:"isa03,omitempty" xml:"ISA03"` Isa04 string `json:"isa04,omitempty" xml:"ISA04"` Isa05 string `json:"isa05,omitempty" xml:"ISA05"` Isa06 string `json:"isa06,omitempty" xml:"ISA06"` Isa07 string `json:"isa07,omitempty" xml:"ISA07"` Isa08 string `json:"isa08,omitempty" xml:"ISA08"` Isa09 string `json:"isa09,omitempty" xml:"ISA09"` Isa10 string `json:"isa10,omitempty" xml:"ISA10"` Isa11 string `json:"isa11,omitempty" xml:"ISA11"` Isa12 string `json:"isa12,omitempty" xml:"ISA12"` Isa13 string `json:"isa13,omitempty" xml:"ISA13"` Isa14 string `json:"isa14,omitempty" xml:"ISA14"` Isa15 string `json:"isa15,omitempty" xml:"ISA15"` Isa16 string `json:"isa16,omitempty" xml:"ISA16"` } type Division271 struct { GS GS271 `json:"gs,omitempty" xml:"GS"` HealthCareEligibilityResponse HealthCareEligibilityBenefitResponse271 `json:"eligibility_response,omitempty" xml:"Health_Care_Eligibility_Benefit_Response"` GE GE271 `json:"ge,omitempty" xml:"GE"` } type GS271 struct { GS01 string `json:"gs01,omitempty" xml:"GS01"` GS02 string `json:"gs02,omitempty" xml:"GS02"` GS03 string `json:"gs03,omitempty" xml:"GS03"` GS04 string `json:"gs04,omitempty" xml:"GS04"` GS05 string `json:"gs05,omitempty" xml:"GS05"` GS06 string `json:"gs06,omitempty" xml:"GS06"` GS07 string `json:"gs07,omitempty" xml:"GS07"` GS08 string `json:"gs08,omitempty" xml:"GS08"` } type GE271 struct { GE01 string `json:"ge01,omitempty" xml:"GE01"` GE02 string `json:"ge02,omitempty" xml:"GE02"` } type HealthCareEligibilityBenefitResponse271 struct { ST0010 ST `json:"st0010,omitempty" xml:"ST_0010"` BHT0020 BHT `json:"bht0020,omitempty" xml:"BHT_0020"` LoopHL0030 []LoopHL0030271 `json:"hl0030,omitempty" xml:"Loop_HL_0030"` } type ST struct { ST01 string `json:"st01,omitempty" xml:"ST01"` ST02 string `json:"st02,omitempty" xml:"ST02"` ST03 string `json:"st03,omitempty" xml:"ST03"` ST04 string `json:"st04,omitempty" xml:"ST04"` ST05 string `json:"st05,omitempty" xml:"ST05"` ST06 string `json:"st06,omitempty" xml:"ST06"` ST07 string `json:"st07,omitempty" xml:"ST07"` ST08 string `json:"st08,omitempty" xml:"ST08"` ST09 string `json:"st09,omitempty" xml:"ST09"` ST10 string `json:"st10,omitempty" xml:"ST10"` ST11 string `json:"st11,omitempty" xml:"ST11"` ST12 string `json:"st12,omitempty" xml:"ST12"` ST13 string `json:"st13,omitempty" xml:"ST13"` ST14 string `json:"st14,omitempty" xml:"ST14"` ST15 string `json:"st15,omitempty" xml:"ST15"` ST16 string `json:"st16,omitempty" xml:"ST16"` } type BHT struct { BHT01 string `json:"bht01,omitempty" xml:"BHT01"` BHT02 string `json:"bht02,omitempty" xml:"BHT02"` BHT03 string `json:"bht03,omitempty" xml:"BHT03"` BHT04 string `json:"bht04,omitempty" xml:"BHT04"` BHT05 string `json:"bht05,omitempty" xml:"BHT05"` BHT06 string `json:"bht06,omitempty" xml:"BHT06"` BHT07 string `json:"bht07,omitempty" xml:"BHT07"` BHT08 string `json:"bht08,omitempty" xml:"BHT08"` BHT09 string `json:"bht09,omitempty" xml:"BHT09"` BHT10 string `json:"bht10,omitempty" xml:"BHT10"` BHT11 string `json:"bht11,omitempty" xml:"BHT11"` BHT12 string `json:"bht12,omitempty" xml:"BHT12"` BHT13 string `json:"bht13,omitempty" xml:"BHT13"` BHT14 string `json:"bht14,omitempty" xml:"BHT14"` BHT15 string `json:"bht15,omitempty" xml:"BHT15"` BHT16 string `json:"bht16,omitempty" xml:"BHT16"` } type LoopHL0030271 struct { HL_0030 HL `json:"hl_0030,omitempty" xml:"HL_0030"` NM1_0060 []LoopNM10060 `json:"nm1_0060,omitempty" xml:"Loop_NM1_0060"` HL_0460 []LoopHL0460 `json:"hl_0460,omitempty" xml:"Loop_HL_0460"` } type LoopHL0460 struct { HL_0460 HL `json:"hl_0460,omitempty" xml:"HL_0460"` NM1_0490 []LoopNM10490 `json:"nm1_0490,omitempty" xml:"Loop_NM1_0490"` HL_0890 []LoopHL0890 `json:"hl_0890,omitempty" xml:"Loop_HL_0890"` } type LoopNM10490 struct { NM1_0490 NM1 `json:"nm1_0490,omitempty" xml:"NM1_0490"` } type LoopHL0890 struct { HL_0890 HL `json:"hl_0890,omitempty" xml:"HL_0890"` TRN_0900 TRN `json:"trn_0900,omitempty" xml:"TRN_0900"` NM1_0920 []LoopNM10920 `json:"nm1_0920,omitempty" xml:"Loop_NM1_0920"` } type REF struct { REF01 string `json:"ref01,omitempty" xml:"REF01"` REF02 string `json:"ref02,omitempty" xml:"REF02"` REF03 string `json:"ref03,omitempty" xml:"REF03"` REF04 string `json:"ref04,omitempty" xml:"REF04"` REF05 string `json:"ref05,omitempty" xml:"REF05"` REF06 string `json:"ref06,omitempty" xml:"REF06"` REF07 string `json:"ref07,omitempty" xml:"REF07"` REF08 string `json:"ref08,omitempty" xml:"REF08"` REF09 string `json:"ref09,omitempty" xml:"REF09"` REF10 string `json:"ref10,omitempty" xml:"REF10"` REF11 string `json:"ref11,omitempty" xml:"REF11"` REF12 string `json:"ref12,omitempty" xml:"REF12"` REF13 string `json:"ref13,omitempty" xml:"REF13"` REF14 string `json:"ref14,omitempty" xml:"REF14"` REF15 string `json:"ref15,omitempty" xml:"REF15"` REF16 string `json:"ref16,omitempty" xml:"REF16"` } type N3 struct { N301 string `json:"n301,omitempty" xml:"N301"` N302 string `json:"n302,omitempty" xml:"N302"` N303 string `json:"n303,omitempty" xml:"N303"` N304 string `json:"n304,omitempty" xml:"N304"` N305 string `json:"n305,omitempty" xml:"N305"` N306 string `json:"n306,omitempty" xml:"N306"` N307 string `json:"n307,omitempty" xml:"N307"` N308 string `json:"n308,omitempty" xml:"N308"` N309 string `json:"n309,omitempty" xml:"N309"` N310 string `json:"n310,omitempty" xml:"N310"` N311 string `json:"n311,omitempty" xml:"N311"` N312 string `json:"n312,omitempty" xml:"N312"` N313 string `json:"n313,omitempty" xml:"N313"` N314 string `json:"n314,omitempty" xml:"N314"` N315 string `json:"n315,omitempty" xml:"N315"` N316 string `json:"n316,omitempty" xml:"N316"` } type N4 struct { N401 string `json:"n401,omitempty" xml:"N401"` N402 string `json:"n402,omitempty" xml:"N402"` N403 string `json:"n403,omitempty" xml:"N403"` N404 string `json:"n404,omitempty" xml:"N404"` N405 string `json:"n405,omitempty" xml:"N405"` N406 string `json:"n406,omitempty" xml:"N406"` N407 string `json:"n407,omitempty" xml:"N407"` N408 string `json:"n408,omitempty" xml:"N408"` N409 string `json:"n409,omitempty" xml:"N409"` N410 string `json:"n410,omitempty" xml:"N410"` N411 string `json:"n411,omitempty" xml:"N411"` N412 string `json:"n412,omitempty" xml:"N412"` N413 string `json:"n413,omitempty" xml:"N413"` N414 string `json:"n414,omitempty" xml:"N414"` N415 string `json:"n415,omitempty" xml:"N415"` N416 string `json:"n416,omitempty" xml:"N416"` } type LoopNM10920 struct { NM1_0920 NM1 `json:"nm1_0920,omitempty" xml:"NM1_0920"` REF_0930 []REF `json:"ref_0930,omitempty" xml:"REF_0930"` N3_0950 N3 `json:"n3_0950,omitempty" xml:"N3_0950"` N4_0960 N4 `json:"n4_0960,omitempty" xml:"N4_0960"` DMG_1000 DMG `json:"dmg_1000,omitempty" xml:"DMG_1000"` INS_1010 INS `json:"ins_1010,omitempty" xml:"INS_1010"` } type DMG struct { DMG01 string `json:"dmg01,omitempty" xml:"DMG01"` DMG02 string `json:"dmg02,omitempty" xml:"DMG02"` DMG03 string `json:"dmg03,omitempty" xml:"DMG03"` DMG04 string `json:"dmg04,omitempty" xml:"DMG04"` DMG05 string `json:"dmg05,omitempty" xml:"DMG05"` DMG06 string `json:"dmg06,omitempty" xml:"DMG06"` DMG07 string `json:"dmg07,omitempty" xml:"DMG07"` DMG08 string `json:"dmg08,omitempty" xml:"DMG08"` DMG09 string `json:"dmg09,omitempty" xml:"DMG09"` DMG10 string `json:"dmg10,omitempty" xml:"DMG10"` DMG11 string `json:"dmg11,omitempty" xml:"DMG11"` DMG12 string `json:"dmg12,omitempty" xml:"DMG12"` DMG13 string `json:"dmg13,omitempty" xml:"DMG13"` DMG14 string `json:"dmg14,omitempty" xml:"DMG14"` DMG15 string `json:"dmg15,omitempty" xml:"DMG15"` DMG16 string `json:"dmg16,omitempty" xml:"DMG16"` } type INS struct { INS01 string `json:"ins01,omitempty" xml:"INS01"` INS02 string `json:"ins02,omitempty" xml:"INS02"` INS03 string `json:"ins03,omitempty" xml:"INS03"` INS04 string `json:"ins04,omitempty" xml:"INS04"` INS05 string `json:"ins05,omitempty" xml:"INS05"` INS06 string `json:"ins06,omitempty" xml:"INS06"` INS07 string `json:"ins07,omitempty" xml:"INS07"` INS08 string `json:"ins08,omitempty" xml:"INS08"` INS09 string `json:"ins09,omitempty" xml:"INS09"` INS10 string `json:"ins10,omitempty" xml:"INS10"` INS11 string `json:"ins11,omitempty" xml:"INS11"` INS12 string `json:"ins12,omitempty" xml:"INS12"` INS13 string `json:"ins13,omitempty" xml:"INS13"` INS14 string `json:"ins14,omitempty" xml:"INS14"` INS15 string `json:"ins15,omitempty" xml:"INS15"` INS16 string `json:"ins16,omitempty" xml:"INS16"` } type TRN struct { TRN01 string `json:"trn01,omitempty" xml:"TRN01"` TRN02 string `json:"trn02,omitempty" xml:"TRN02"` TRN03 string `json:"trn03,omitempty" xml:"TRN03"` TRN04 string `json:"trn04,omitempty" xml:"TRN04"` TRN05 string `json:"trn05,omitempty" xml:"TRN05"` TRN06 string `json:"trn06,omitempty" xml:"TRN06"` TRN07 string `json:"trn07,omitempty" xml:"TRN07"` TRN08 string `json:"trn08,omitempty" xml:"TRN08"` TRN09 string `json:"trn09,omitempty" xml:"TRN09"` TRN10 string `json:"trn10,omitempty" xml:"TRN10"` TRN11 string `json:"trn11,omitempty" xml:"TRN11"` TRN12 string `json:"trn12,omitempty" xml:"TRN12"` TRN13 string `json:"trn13,omitempty" xml:"TRN13"` TRN14 string `json:"trn14,omitempty" xml:"TRN14"` TRN15 string `json:"trn15,omitempty" xml:"TRN15"` TRN16 string `json:"trn16,omitempty" xml:"TRN16"` } type HL struct { HL01 string `json:"hl01,omitempty" xml:"HL01"` HL02 string `json:"hl02,omitempty" xml:"HL02"` HL03 string `json:"hl03,omitempty" xml:"HL03"` HL04 string `json:"hl04,omitempty" xml:"HL04"` HL05 string `json:"hl05,omitempty" xml:"HL05"` HL06 string `json:"hl06,omitempty" xml:"HL06"` HL07 string `json:"hl07,omitempty" xml:"HL07"` HL08 string `json:"hl08,omitempty" xml:"HL08"` HL09 string `json:"hl09,omitempty" xml:"HL09"` HL10 string `json:"hl10,omitempty" xml:"HL10"` HL11 string `json:"hl11,omitempty" xml:"HL11"` HL12 string `json:"hl12,omitempty" xml:"HL12"` HL13 string `json:"hl13,omitempty" xml:"HL13"` HL14 string `json:"hl14,omitempty" xml:"HL14"` HL15 string `json:"hl15,omitempty" xml:"HL15"` HL16 string `json:"hl16,omitempty" xml:"HL16"` } type LoopNM10060 struct { NM10060 NM1 `json:"nm1_0060,omitempty" xml:"NM1_0060"` } type NM1 struct { NM101 string `json:"nm101,omitempty" xml:"NM101"` NM102 string `json:"nm102,omitempty" xml:"NM102"` NM103 string `json:"nm103,omitempty" xml:"NM103"` NM104 string `json:"nm104,omitempty" xml:"NM104"` NM105 string `json:"nm105,omitempty" xml:"NM105"` NM106 string `json:"nm106,omitempty" xml:"NM106"` NM107 string `json:"nm107,omitempty" xml:"NM107"` NM108 string `json:"nm108,omitempty" xml:"NM108"` NM109 string `json:"nm109,omitempty" xml:"NM109"` NM110 string `json:"nm110,omitempty" xml:"NM110"` NM111 string `json:"nm111,omitempty" xml:"NM111"` NM112 string `json:"nm112,omitempty" xml:"NM112"` NM113 string `json:"nm113,omitempty" xml:"NM113"` NM114 string `json:"nm114,omitempty" xml:"NM114"` NM115 string `json:"nm115,omitempty" xml:"NM115"` NM116 string `json:"nm116,omitempty" xml:"NM116"` }