Skip to content

Instantly share code, notes, and snippets.

@molsches
Created December 20, 2014 01:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save molsches/503221fa0d2bf5889ba5 to your computer and use it in GitHub Desktop.
Save molsches/503221fa0d2bf5889ba5 to your computer and use it in GitHub Desktop.
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