| ||||
| ||||
|
The Original Monk Code After running through Monk2J |
|
;; source-event-path: monk_scripts/common/etds_star_adt_master.ssc ;; destination-event-path: monk_scripts/common/etd_lab_adt2.ssc (define usercomment "") (define version "3.1") (define xlate-name "crs_star_lab_adt") (define input-message-format-file-name "etds_star_adt_master.ssc") (define output-message-format-file-name "etd_lab_adt2.ssc") (load "etds_star_adt_master.ssc") (load "etd_lab_adt2.ssc") (define src-collapsed-nodes '( "star_adt.MSH" "star_adt.EVN" "star_adt.PID" "star_adt.PID.PID_2_patient_ID_external.CK" "star_adt.PID.PID_3_patient_ID_internal.CK" "star_adt.PID.PID_5_patient_name.PN" "star_adt.PID.PID_9_patient_alias.PN" "star_adt.PID.PID_11_patient_address.AD" "star_adt.PID.PID_18_account_number.CK" "star_adt.PID.PID_20_driver_lic_num.LI" "star_adt.PID.PID_21_mothers_ID.CK" "star_adt.PID.PID_27_veterans_military_status.CE" "star_adt.PV1" "star_adt.PV1.PV1_3_assigned_patient_location.PL" "star_adt.PV1.PV1_6_prior_patient_location.PL" "star_adt.PV1.PV1_7_attending_doctor.CN" "star_adt.PV1.PV1_8_referring_doctor.CN" "star_adt.PV1.PV1_9_consulting_doctor.CN" "star_adt.PV1.PV1_11_temporary_location.PL" "star_adt.PV1.PV1_17_admitting_doctor.CN" "star_adt.PV1.PV1_42_pending_location.PL" "star_adt.PV1.PV1_43_prior_temporary_location.PL" "star_adt.PV1.PV1_50_alternate_visit_ID.CK" "star_adt.PV2" "star_adt.PV2.PV2_1_prior_pending_location.PL" "star_adt.PV2.PV2_2_accommodation_code.CE" "star_adt.PV2.PV2_3_admit_reason.CE" "star_adt.PV2.PV2_4_transfer_reason.CE" "star_adt.DG1" "star_adt.DG1.DG1_7_major_diagnostic_category.CE" "star_adt.DG1.DG1_11_outlier_type.CE" "star_adt.DG1.DG1_16_diagnosing_clinician.CN" "star_adt.PR1" "star_adt.PR1.PR1_8_anesthesiologist.CN" "star_adt.PR1.PR1_11_surgeon.CN" "star_adt.PR2" "star_adt.GT1" "star_adt.GT1.GT1_1_set_ID" "star_adt.GT1.GT1_2_guarantor_number.CK" "star_adt.GT1.GT1_3_guarantor_name.PN" "star_adt.GT1.GT1_4_guarantor_spouse_name.PN" "star_adt.GT1.GT1_5_guarantor_address.AD" "star_adt.GT1.GT1_17_guarantor_employer_address.AD" "star_adt.plans" "star_adt.plans.IN1" "star_adt.plans.IN1.IN1_5_insurance_co_address.AD" "star_adt.plans.IN1.IN1_6_insurance_co_contact_person.PN" "star_adt.plans.IN1.IN1_16_name_of_insured.PN" "star_adt.plans.IN1.IN1_19_insured_address.AD" "star_adt.plans.IN1.IN1_30_verification_by.CN" "star_adt.plans.IN1.IN1_42_insured_employment_status.CE" "star_adt.plans.IN1.IN1_44_insured_employer_address.AD" "star_adt.plans.IN2" "star_adt.plans.IN2.IN2_3_insureds_employer_name.CN" "star_adt.plans.ZMI" "star_adt.NK1" "star_adt.NK1.NK1_2_next_of_kin_name.PN" "star_adt.NK1.NK1_3_next_of_kin_relationship.CE" "star_adt.NK1.NK1_4_next_of_kin_address.AD" "star_adt.MRG" "star_adt.MRG.MRG_1_prior_patient_ID_internal.CK" "star_adt.MRG.MRG_2_prior_alternate_patient_ID.CK" "star_adt.MRG.MRG_3_prior_patient_account_number.CK" "star_adt.PD1" "star_adt.PRD" "star_adt.ACC" "star_adt.UB2" "star_adt.ZM1" "star_adt.ZM2" "star_adt.ZM2.ZM2_27.AD" "star_adt.ZED" )) (define dest-collapsed-nodes '( "lab_adt.MSH" "lab_adt.EVN" "lab_adt.PID" "lab_adt.PID.PID_2_patient_ID_external.CK" "lab_adt.PID.PID_3_patient_ID_internal.CK" "lab_adt.PID.PID_5_patient_name.PN" "lab_adt.PID.PID_9_patient_alias.PN" "lab_adt.PID.PID_11_patient_address.AD" "lab_adt.PID.PID_18_account_number.CK" "lab_adt.PID.PID_20_driver_lic_num.LI" "lab_adt.PID.PID_21_mothers_ID.CK" "lab_adt.PID.PID_27_veterans_military_status.CE" "lab_adt.PV1" "lab_adt.PV1.PV1_3_assigned_patient_location.PL" "lab_adt.PV1.PV1_6_prior_patient_location.PL" "lab_adt.PV1.PV1_7_attending_doctor.CN" "lab_adt.PV1.PV1_8_referring_doctor.CN" "lab_adt.PV1.PV1_9_consulting_doctor.CN" "lab_adt.PV1.PV1_11_temporary_location.PL" "lab_adt.PV1.PV1_17_admitting_doctor.CN" "lab_adt.PV1.PV1_42_pending_location.PL" "lab_adt.PV1.PV1_43_prior_temporary_location.PL" "lab_adt.PV1.PV1_50_alternate_visit_ID.CK" "lab_adt.DG1" "lab_adt.DG1.DG1_7_major_diagnostic_category.CE" "lab_adt.DG1.DG1_11_outlier_type.CE" "lab_adt.DG1.DG1_16_diagnosing_clinician.CN" "lab_adt.PR1" "lab_adt.PR1.PR1_8_anesthesiologist.CN" "lab_adt.PR1.PR1_11_surgeon.CN" "lab_adt.PR2" "lab_adt.GT1" "lab_adt.GT1.GT1_1_set_ID" "lab_adt.GT1.GT1_2_guarantor_number.CK" "lab_adt.GT1.GT1_3_guarantor_name.PN" "lab_adt.GT1.GT1_4_guarantor_spouse_name.PN" "lab_adt.GT1.GT1_5_guarantor_address.AD" "lab_adt.GT1.GT1_17_guarantor_employer_address.AD" "lab_adt.plans.IN1" "lab_adt.plans.IN1.IN1_5_insurance_co_address.AD" "lab_adt.plans.IN1.IN1_6_insurance_co_contact_person.PN" "lab_adt.plans.IN1.IN1_16_name_of_insured.PN" "lab_adt.plans.IN1.IN1_19_insured_address.AD" "lab_adt.plans.IN1.IN1_30_verification_by.CN" "lab_adt.plans.IN1.IN1_42_insured_employment_status.CE" "lab_adt.plans.IN1.IN1_44_insured_employer_address.AD" "lab_adt.plans.IN2" "lab_adt.plans.IN2.IN2_3_insureds_employer_name.CN" "lab_adt.plans.ZMI" "lab_adt.NK1" "lab_adt.NK1.NK1_2_next_of_kin_name.PN" "lab_adt.NK1.NK1_3_next_of_kin_relationship.CE" "lab_adt.NK1.NK1_4_next_of_kin_address.AD" )) (define collapsed-rules '( "3" "13" "16" "25" "41" "43" "45" )) (define crs_star_lab_adt (let ((input ($make-event-map star_adt-delm star_adt-struct)) (output ($make-event-map lab_adt-delm lab_adt-struct)) ) (lambda (message-string) ($event-parse input message-string) ($event-clear output) (begin (comment "Change Log" "01-23-1999 - Created 03-28-1999 - Integrated and stress test - complete 04-30-1999 - Moved into production") (display (string-append "=== Inside collaboration.")) (newline) (comment "Map MSH" "") (copy-strip "STC" ~output%lab_adt.MSH.MSH_3_sending_application "") (copy-strip ~input%star_adt.MSH.MSH_4_sending_facility ~output%lab_adt.MSH.MSH_4_sending_facility "") (copy-strip "LAB" ~output%lab_adt.MSH.MSH_5_receiving_application "") (copy-strip ~input%star_adt.MSH.MSH_6_receiving_facility ~output%lab_adt.MSH.MSH_6_receiving_facility "") (copy-strip ~input%star_adt.MSH.MSH_7_message_date/time ~output%lab_adt.MSH.MSH_7_message_date/time "") (copy-strip ~input%star_adt.MSH.MSH_9_message_type ~output%lab_adt.MSH.MSH_9_message_type "") (copy-strip ~input%star_adt.MSH.MSH_10_message_control_ID ~output%lab_adt.MSH.MSH_10_message_control_ID "") (copy-strip ~input%star_adt.MSH.MSH_11_processing_ID ~output%lab_adt.MSH.MSH_11_processing_ID "") (copy-strip "2.3" ~output%lab_adt.MSH.MSH_12_version_ID "") (comment "Map EVN" "") (copy-strip ~input%star_adt.EVN ~output%lab_adt.EVN "") (display (string-append " - Event type is [" ~input%star_adt.MSH.MSH_9_message_type.MSH_9_2_trigger_event "]")) (newline) (comment "Map PID" "") (copy-strip ~input%star_adt.PID ~output%lab_adt.PID "") (copy-strip ~input%star_adt.ZM1.ZM1_26PATIENT_EMPLOYER_BUSINESS_PHONE_NUMBER ~output%lab_adt.PID.PID_14_business_phone[0]:0-END "") (list-lookup ~input%star_adt.MSH.MSH_3_sending_application ~output%lab_adt.PID.PID_2_patient_ID_external.CK.assigning_fac '(("KEANE" "KNE")("HBOC" "STR") (else "")) "" "") (copy-strip ~input%star_adt.ZM1.ZM1_25PATIENT_EMPLOYER_ADDRESS.set.ZM1_25_0_Patient_Employer_Address ~output%lab_adt.PID.PID_11_patient_address[1].AD.street_1:0-END "") (copy-strip ~input%star_adt.ZM1.ZM1_25PATIENT_EMPLOYER_ADDRESS.set.ZM1_25_1_Patient_Employer_Address_Cont ~output%lab_adt.PID.PID_11_patient_address[1].AD.street_2:0-END "") (copy-strip ~input%star_adt.ZM1.ZM1_25PATIENT_EMPLOYER_ADDRESS.set.ZM1_25_2_Patient_Employer_City ~output%lab_adt.PID.PID_11_patient_address[1].AD.city:0-END "") (copy-strip ~input%star_adt.ZM1.ZM1_25PATIENT_EMPLOYER_ADDRESS.set.ZM1_25_3_Patient_Employer_State ~output%lab_adt.PID.PID_11_patient_address[1].AD.state_or_province:0-END "") (copy-strip ~input%star_adt.ZM1.ZM1_25PATIENT_EMPLOYER_ADDRESS.set.ZM1_25_4_Patient_Employer_Zip_Code ~output%lab_adt.PID.PID_11_patient_address[1].AD.zip:0-END "") (comment "Map PV1" "") (copy-strip ~input%star_adt.PV1.PV1_1_set_ID ~output%lab_adt.PV1.PV1_1_set_ID "") (copy-strip ~input%star_adt.PV1.PV1_2_patient_class ~output%lab_adt.PV1.PV1_2_patient_class "") (copy-strip ~input%star_adt.PV1.PV1_3_assigned_patient_location ~output%lab_adt.PV1.PV1_3_assigned_patient_location "") (copy-strip ~input%star_adt.PV1.PV1_4_admission_type ~output%lab_adt.PV1.PV1_4_admission_type "") (copy-strip ~input%star_adt.PV1.PV1_6_prior_patient_location ~output%lab_adt.PV1.PV1_6_prior_patient_location "") (copy-strip ~input%star_adt.PV1.PV1_7_attending_doctor ~output%lab_adt.PV1.PV1_7_attending_doctor "") (copy-strip ~input%star_adt.PV1.PV1_8_referring_doctor ~output%lab_adt.PV1.PV1_8_referring_doctor "") (copy-strip ~input%star_adt.PV1.PV1_16_VIP_indicator ~output%lab_adt.PV1.PV1_16_VIP_indicator "") (copy-strip ~input%star_adt.PV1.PV1_17_admitting_doctor ~output%lab_adt.PV1.PV1_17_admitting_doctor "") (copy-strip ~input%star_adt.PV1.PV1_18_patient_type ~output%lab_adt.PV1.PV1_18_patient_type "") (copy-strip ~input%star_adt.PV1.PV1_19_visit_number ~output%lab_adt.PV1.PV1_19_visit_number "") (copy-strip ~input%star_adt.PV1.PV1_40_bed_status ~output%lab_adt.PV1.PV1_40_bed_status "") (if (regex "\^BSO" ~input%star_adt.plans[0].ZMI.ZMI_2INSURANCE_COMPANY_ID) (begin (copy-strip ~input%star_adt.PV1.PV1_41_account_status ~output%lab_adt.PV1.PV1_41_account_status "") ) (begin (display " - Insurance is non-BSO, do not copy account status.") (newline) ) ) (copy-strip ~input%star_adt.PV1.PV1_44_admit_date/time ~output%lab_adt.PV1.PV1_44_admit_date/time "") (copy-strip ~input%star_adt.PV1.PV1_45_discharge_date/time ~output%lab_adt.PV1.PV1_45_discharge_date/time "") (comment "Map DG1" "") (copy-strip ~input%star_adt.DG1[0] ~output%lab_adt.DG1 "") (comment "Map NK1" "") (copy-strip ~input%star_adt.NK1[0].NK1_2_next_of_kin_name ~output%lab_adt.NK1[0].NK1_2_next_of_kin_name "") (copy-strip ~input%star_adt.NK1[0].NK1_4_next_of_kin_address ~output%lab_adt.NK1[0].NK1_4_next_of_kin_address "") (copy-strip ~input%star_adt.NK1[0].NK15next_of_kin_phone ~output%lab_adt.NK1[0].NK15next_of_kin_phone "") (copy-strip ~input%star_adt.NK1[0].NK1_6_business_phone_num ~output%lab_adt.NK1[0].NK1_6_business_phone_num "") (display "=== Leaving collaboration.") (newline) ) (let ((result ($event->string output))) ($event-clear input) ($event-clear output) result) ))) |