Created
December 20, 2014 01:09
-
-
Save molsches/503221fa0d2bf5889ba5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var in1 = []; | |
var dg1 = []; | |
var pr1 = []; | |
msh = { | |
"sendingFacility" : msg['MSH']['MSH.4']['MSH.4.1'].toString(), | |
"dateTime" : msg['MSH']['MSH.7']['MSH.7.1'].toString(), | |
"messageType" : msg['MSH']['MSH.9']['MSH.9.1'].toString(), | |
"messageEvent" : msg['MSH']['MSH.9']['MSH.9.2'].toString() | |
}; | |
evn = { | |
"eventType": msg['EVN']['EVN.1']['EVN.1.1'].toString(), | |
}; | |
pid = { | |
"externalId" : msg['PID']['PID.2']['PID.2.1'].toString(), | |
"internalId" : { | |
"id" : msg['PID']['PID.3']['PID.3.1'].toString(), | |
"type" : msg['PID']['PID.3']['PID.3.5'].toString() | |
}, | |
"alternateId" : msg['PID']['PID.4']['PID.4.1'].toString(), | |
"patientName" : { | |
"lastName": msg['PID']['PID.5']['PID.5.1'].toString(), | |
"firstName": msg['PID']['PID.5']['PID.5.2'].toString(), | |
"middleInitOrName" : msg['PID']['PID.5']['PID.5.3'].toString() | |
}, | |
"mothersMaidenName" : msg['PID']['PID.6']['PID.6.1'].toString(), | |
"dateTimeBirth" : msg['PID']['PID.7']['PID.7.1'].toString(), | |
"sex": msg['PID']['PID.8']['PID.8.1'].toString(), | |
"alias" : { | |
"lastName" : msg['PID']['PID.9']['PID.9.1'].toString() | |
}, | |
"race" : msg['PID']['PID.10']['PID.10.1'].toString(), | |
"address" : { | |
"streetAddress": msg['PID']['PID.11']['PID.11.1'].toString(), | |
"otherDesignation": msg['PID']['PID.11']['PID.11.2'].toString(), | |
"city" : msg['PID']['PID.11']['PID.11.3'].toString(), | |
"state" : msg['PID']['PID.11']['PID.11.4'].toString(), | |
"postalCode": msg['PID']['PID.11']['PID.11.5'].toString(), | |
"country" : msg['PID']['PID.11']['PID.11.6'].toString(), | |
"addressType" : msg['PID']['PID.11']['PID.11.7'].toString() | |
}, | |
"countyCode": msg['PID']['PID.12']['PID.12.1'].toString(), | |
"phoneNumbers": { | |
"home": msg['PID']['PID.13']['PID.13.1'].toString(), | |
"business": msg['PID']['PID.14']['PID.14.1'].toString() | |
}, | |
"primaryLanguage": msg['PID']['PID.15']['PID.15.1'].toString(), | |
"maritalStatus": msg['PID']['PID.16']['PID.16.1'].toString(), | |
"religion": msg['PID']['PID.17']['PID.17.1'].toString(), | |
"patientAccountNumber": { | |
"id": msg['PID']['PID.18']['PID.18.1'].toString(), | |
"checkDigit": msg['PID']['PID.18']['PID.18.2'].toString(), | |
"codeIdCheck": msg['PID']['PID.18']['PID.18.3'].toString(), | |
"assigningAuth": msg['PID']['PID.18']['PID.18.4'].toString(), | |
"idTypeCode" : msg['PID']['PID.18']['PID.18.5'].toString(), | |
"assigningFacility": msg['PID']['PID.18']['PID.18.6'].toString() | |
}, | |
"ssn": msg['PID']['PID.19']['PID.19.1'].toString(), | |
"driversLicenseNumber": msg['PID']['PID.20']['PID.20.1'].toString(), | |
"mothersId": msg['PID']['PID.21']['PID.21.1'].toString(), | |
"ethnicGroup": msg['PID']['PID.22']['PID.22.1'].toString(), | |
"birthPlace": msg['PID']['PID.23']['PID.23.1'].toString(), | |
"multipleBirthIndicator": msg['PID']['PID.24']['PID.24.1'].toString(), | |
"birthOrder": msg['PID']['PID.25']['PID.25.1'].toString(), | |
"citizenship": msg['PID']['PID.26']['PID.26.1'].toString(), | |
"veteranStatus": msg['PID']['PID.27']['PID.27.1'].toString(), | |
"nationality": msg['PID']['PID.28']['PID.28.1'].toString(), | |
"deathDateTime": msg['PID']['PID.29']['PID.29.1'].toString(), | |
"deathIndicator": msg['PID']['PID.30']['PID.30.1'].toString() | |
} | |
pv1 = { | |
"id": msg['PV1']['PV1.1']['PV1.1.1'].toString(), | |
"patientClass": msg['PV1']['PV1.2']['PV1.2.1'].toString(), | |
"patientLocation": { | |
"pointOfCare": msg['PV1']['PV1.3']['PV1.3.1'].toString(), | |
"room": msg['PV1']['PV1.3']['PV1.3.2'].toString(), | |
"bed": msg['PV1']['PV1.3']['PV1.3.3'].toString(), | |
"facility": msg['PV1']['PV1.3']['PV1.3.4'].toString(), | |
"locationStatus": msg['PV1']['PV1.3']['PV1.3.5'].toString(), | |
"personLocationType": msg['PV1']['PV1.3']['PV1.3.6'].toString(), | |
"building" : msg['PV1']['PV1.3']['PV1.3.7'].toString() | |
}, | |
"admissionType": msg['PV1']['PV1.4']['PV1.4.1'].toString(), | |
"priorPatientLocation" : msg['PV1']['PV1.6']['PV1.6.1'].toString(), | |
"attendingProvider": { | |
"id": msg['PV1']['PV1.7']['PV1.7.1'].toString(), | |
"lastName": msg['PV1']['PV1.7']['PV1.7.2'].toString(), | |
"firstName": msg['PV1']['PV1.7']['PV1.7.3'].toString(), | |
"middleInitOrName": msg['PV1']['PV1.7']['PV1.7.4'].toString(), | |
"suffix": msg['PV1']['PV1.7']['PV1.7.5'].toString(), | |
"prefix": msg['PV1']['PV1.7']['PV1.7.6'].toString(), | |
"degree": msg['PV1']['PV1.7']['PV1.7.7'].toString(), | |
"sourceTable" : msg['PV1']['PV1.7']['PV1.7.8'].toString(), | |
"assigningAuthority": msg['PV1']['PV1.7']['PV1.7.9'].toString(), | |
"nameTypeCode": msg['PV1']['PV1.7']['PV1.7.10'].toString(), | |
"identifierCheckDigit": msg['PV1']['PV1.7']['PV1.7.11'].toString(), | |
"codeIdCheck" : msg['PV1']['PV1.7']['PV1.7.12'].toString(), | |
"identifierTypeCode": msg['PV1']['PV1.7']['PV1.7.13'].toString(), | |
"assigningFacility": msg['PV1']['PV1.7']['PV1.7.14'].toString() | |
}, | |
"referringProvider" : msg['PV1']['PV1.8']['PV1.8.1'].toString(), | |
"consultingDoctor" : msg['PV1']['PV1.9']['PV1.9.1'].toString(), | |
"hospitalService" : msg['PV1']['PV1.10']['PV1.10.1'].toString(), | |
"pointOfCare": msg['PV1']['PV1.11']['PV1.11.1'].toString(), | |
"preadmitTestIndicator": msg['PV1']['PV1.12']['PV1.12.1'].toString(), | |
"readmissionIndicator": msg['PV1']['PV1.13']['PV1.13.1'].toString(), | |
"admitSource": msg['PV1']['PV1.14']['PV1.14.1'].toString(), | |
"ambulatoryStatus": msg['PV1']['PV1.15']['PV1.15.1'].toString(), | |
"vipIndicator": msg['PV1']['PV1.16']['PV1.16.1'].toString(), | |
"admittingProvider": { | |
"id": msg['PV1']['PV1.7']['PV1.7.1'].toString(), | |
"lastName": msg['PV1']['PV1.17']['PV1.17.2'].toString(), | |
"firstName": msg['PV1']['PV1.17']['PV1.17.3'].toString(), | |
"middleInitOrName": msg['PV1']['PV1.17']['PV1.17.4'].toString(), | |
"suffix": msg['PV1']['PV1.17']['PV1.17.5'].toString(), | |
"prefix": msg['PV1']['PV1.17']['PV1.17.6'].toString(), | |
"degree": msg['PV1']['PV1.17']['PV1.17.7'].toString(), | |
"sourceTable" : msg['PV1']['PV1.17']['PV1.17.8'].toString(), | |
"assigningAuthority": msg['PV1']['PV1.17']['PV1.17.9'].toString(), | |
"nameTypeCode": msg['PV1']['PV1.17']['PV1.17.10'].toString(), | |
"identifierCheckDigit": msg['PV1']['PV1.17']['PV1.17.11'].toString(), | |
"codeIdCheck" : msg['PV1']['PV1.17']['PV1.17.12'].toString(), | |
"identifierTypeCode": msg['PV1']['PV1.17']['PV1.17.13'].toString(), | |
"assigningFacility": msg['PV1']['PV1.17']['PV1.17.14'].toString() | |
}, | |
"patientType": msg['PV1']['PV1.18']['PV1.18.1'].toString(), | |
"visitNumber": { | |
"id" : msg['PV1']['PV1.19']['PV1.19.1'].toString(), | |
"checkDigit": msg['PV1']['PV1.19']['PV1.19.2'].toString(), | |
"codeIdCheck": msg['PV1']['PV1.19']['PV1.19.3'].toString(), | |
"assigningAuthority": msg['PV1']['PV1.19']['PV1.19.4'].toString(), | |
"idTypeCode" : msg['PV1']['PV1.19']['PV1.19.5'].toString() | |
}, | |
"financialClass": msg['PV1']['PV1.20']['PV1.20.1'].toString(), | |
"chargePriceIndicator": msg['PV1']['PV1.21']['PV1.21.1'].toString(), | |
"courtesyCode": msg['PV1']['PV1.22']['PV1.22.1'].toString(), | |
"creditRating": msg['PV1']['PV1.23']['PV1.23.1'].toString(), | |
"contractCode": msg['PV1']['PV1.24']['PV1.24.1'].toString(), | |
"contractEffectiveDate": msg['PV1']['PV1.25']['PV1.25.1'].toString(), | |
"contractAmmount": msg['PV1']['PV1.26']['PV1.26.1'].toString(), | |
"contractPeriod": msg['PV1']['PV1.27']['PV1.27.1'].toString(), | |
"interestCode": msg['PV1']['PV1.28']['PV1.28.1'].toString(), | |
"transferToBadDebtCode": msg['PV1']['PV1.29']['PV1.29.1'].toString(), | |
"transferToBadDebtDate": msg['PV1']['PV1.30']['PV1.30.1'].toString(), | |
"badDebtAgencyCode": msg['PV1']['PV1.31']['PV1.31.1'].toString(), | |
"badDebtRecoveryAmount": msg['PV1']['PV1.33']['PV1.33.1'].toString(), | |
"deleteAccountIndicator": msg['PV1']['PV1.34']['PV1.34.1'].toString(), | |
"deleteAccountDate": msg['PV1']['PV1.35']['PV1.35.1'].toString(), | |
"dischargeDisposition": msg['PV1']['PV1.36']['PV1.36.1'].toString(), | |
"dischargedToLocation": msg['PV1']['PV1.37']['PV1.37.1'].toString(), | |
"dietType": msg['PV1']['PV1.38']['PV1.38.1'].toString(), | |
"servicingFacility": msg['PV1']['PV1.39']['PV1.39.1'].toString(), | |
"bedStatus": msg['PV1']['PV1.40']['PV1.40.1'].toString(), | |
"accountStatus": msg['PV1']['PV1.41']['PV1.41.1'].toString(), | |
"pendingLocation": msg['PV1']['PV1.42']['PV1.42.1'].toString(), | |
"priorTemporaryLocation": msg['PV1']['PV1.43']['PV1.43.1'].toString(), | |
"admitDateTime": msg['PV1']['PV1.44']['PV1.44.1'].toString(), | |
"dischargeDateTime": msg['PV1']['PV1.45']['PV1.45.1'].toString(), | |
"currentPatientBalance": msg['PV1']['PV1.46']['PV1.46.1'].toString(), | |
"totalCharges": msg['PV1']['PV1.47']['PV1.47.1'].toString(), | |
"totalAdjustments": msg['PV1']['PV1.48']['PV1.48.1'].toString(), | |
"totalPayments": msg['PV1']['PV1.49']['PV1.49.1'].toString(), | |
"alternateVisitId": msg['PV1']['PV1.50']['PV1.50.1'].toString() | |
}; | |
//Swing back around and write this so it iterates over in1's vs. assuming 1. | |
for each (seg in msg.IN1) { | |
var segment = { | |
"id": seg['IN1.1']['IN1.1.1'].toString(), | |
"planId": seg['IN1.2']['IN1.2.1'].toString(), | |
"companyId" : seg['IN1.3']['IN1.3.1'].toString(), | |
"companyName": seg['IN1.4']['IN1.4.1'].toString(), | |
"companyAddress": seg['IN1.5']['IN1.5.1'].toString(), | |
"companyContactPerson": seg['IN1.6']['IN1.6.1'].toString(), | |
"companyContactNumber" : seg['IN1.7']['IN1.7.1'].toString(), | |
"groupNumber" : seg['IN1.8']['IN1.8.1'].toString(), | |
"groupName": seg['IN1.9']['IN1.9.1'].toString(), | |
"groupEmpId": seg['IN1.10']['IN1.10.1'].toString(), | |
"groupEmpName" : seg['IN1.11']['IN1.11.1'].toString(), | |
"planEffectiveDate" : seg['IN1.12']['IN1.12.1'].toString(), | |
"planExpirationDate" : seg['IN1.13']['IN1.13.1'].toString(), | |
"authorizationInformation" : seg['IN1.14']['IN1.14.1'].toString(), | |
"planType" : seg['IN1.15']['IN1.15.1'].toString(), | |
"insuredName" : { | |
"lastName" : seg['IN1.16']['IN1.16.1'].toString(), | |
"firstName" : seg['IN1.16']['IN1.16.2'].toString(), | |
"middleInitOrName" : seg['IN1.16']['IN1.16.3'].toString() | |
}, | |
"insuredRelationshipToPatient" : seg['IN1.17']['IN1.17.1'].toString(), | |
"insuredDob" : seg['IN1.18']['IN1.18.1'].toString(), | |
"insuredAddress" : { | |
"streetAddress" : seg['IN1.19']['IN1.19.1'].toString(), | |
"otherDesignation" : seg['IN1.19']['IN1.19.2'].toString(), | |
"city" : seg['IN1.19']['IN1.19.3'].toString(), | |
"state" : seg['IN1.19']['IN1.19.4'].toString(), | |
"postalCode" : seg['IN1.19']['IN1.19.5'].toString(), | |
"country" : seg['IN1.19']['IN1.19.6'].toString() | |
}, | |
"assignmentOfBenefits" : seg['IN1.21']['IN1.21.1'].toString(), | |
"coodinationOfBenefits" : seg['IN1.22']['IN1.22.1'].toString(), | |
"noticeOfAdmissionFlag" : seg['IN1.23']['IN1.23.1'].toString(), | |
"noticeOfAdmissionDate" : seg['IN1.24']['IN1.24.1'].toString(), | |
"reportofEligibility": seg['IN1.25']['IN1.25.1'].toString(), | |
"reportofEligibilityDate" : seg['IN1.26']['IN1.26.1'].toString(), | |
"releaseInformationCode" : seg['IN1.27']['IN1.27.1'].toString(), | |
"preAdmitCert" : seg['IN1.28']['IN1.28.1'].toString(), | |
"verificationDateTime": seg['IN1.29']['IN1.29.1'].toString(), | |
"verificationBy" : seg['IN1.30']['IN1.30.1'].toString(), | |
"typeOfAgreementCode" : seg['IN1.31']['IN1.31.1'].toString(), | |
"billingStatus" : seg['IN1.32']['IN1.32.1'].toString(), | |
"lifetimeReserveDays" : seg['IN1.33']['IN1.33.1'].toString(), | |
"delayBeforeLrDay" : seg['IN1.34']['IN1.34.1'].toString(), | |
"companyPlanCode" : seg['IN1.35']['IN1.35.1'].toString(), | |
"policyNumber" : seg['IN1.36']['IN1.36.1'].toString(), | |
"policyDeductible" : seg['IN1.37']['IN1.37.1'].toString(), | |
"policyLimitAmount" : seg['IN1.38']['IN1.38.1'].toString(), | |
"policyLimitDays" : seg['IN1.38']['IN1.38.1'].toString(), | |
"roomRateSemiPrivate": seg['IN1.40']['IN1.40.1'].toString(), | |
"roomRatePrivate" : seg['IN1.41']['IN1.41.1'].toString(), | |
"insuredEmploymentStatus" : seg['IN1.42']['IN1.42.1'].toString(), | |
"insuredSex" : seg['IN1.43']['IN1.43.1'].toString(), | |
"insuredEmployerAddress" : { | |
"streetAddress" : seg['IN1.44']['IN1.44.1'].toString(), | |
"otherDesignation" : seg['IN1.44']['IN1.44.2'].toString(), | |
"city" : seg['IN1.44']['IN1.44.3'].toString(), | |
"state" : seg['IN1.44']['IN1.19.44'].toString(), | |
"postalCode" : seg['IN1.44']['IN1.44.5'].toString() | |
}, | |
"verificationStatus" : seg['IN1.45']['IN1.45.1'].toString(), | |
"priorInsurancePlanId" : seg['IN1.46']['IN1.46.1'].toString(), | |
"coverageType" : seg['IN1.47']['IN1.47.1'].toString(), | |
"handicap" : seg['IN1.48']['IN1.48.1'].toString(), | |
"insuredIdNumber" : seg['IN1.49']['IN1.49.1'].toString() | |
}; | |
in1.push(segment); | |
} | |
for each (seg in msg.DG1) { | |
var segment = { | |
"id" : seg['DG1.1']['DG1.1.1'].toString(), | |
"codingMethod": seg['DG1.2']['DG1.2.1'].toString(), | |
"code" : { | |
"identifier" : seg['DG1.3']['DG1.3.1'].toString(), | |
"text" : seg['DG1.3']['DG1.3.2'].toString(), | |
"codingSystem": seg['DG1.3']['DG1.3.3'].toString() | |
}, | |
"description" : seg['DG1.4']['DG1.4.1'].toString(), | |
"dateTime" : seg['DG1.5']['DG1.5.1'].toString(), | |
"type" : seg['DG1.6']['DG1.6.1'].toString(), | |
"diagnosticCategory" : seg['DG1.7']['DG1.7.1'].toString() | |
}; | |
dg1.push(segment); | |
} | |
for each (seg in msg.PR1) { | |
var segment = { | |
"id" : seg['PR1.1']['PR1.1.1'].toString(), | |
"codingMethod" : seg['PR1.2']['PR1.2.1'].toString(), | |
"procedureCode" : seg['PR1.3']['PR1.3.1'].toString(), | |
"procedureDescription" : seg['PR1.4']['PR1.4.1'].toString(), | |
"procedureTimestamp" : seg['PR1.5']['PR1.5.1'].toString() | |
}; | |
pr1.push(segment); | |
} | |
var obj = {"content" : { | |
"MSH" : msh, | |
"EVN" : evn, | |
"PID" : pid, | |
"PV1" : pv1, | |
"DG1" : {"array" : dg1}, | |
"IN1" : {"array" : in1}, | |
"PR1" : {"array" : pr1}, | |
} | |
}; | |
var jObj = JSON.stringify(obj); | |
channelMap.put("jObj",jObj); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment