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