pipehat 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rubocop.yml +18 -0
- data/.travis.yml +10 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +21 -0
- data/README.md +184 -0
- data/Rakefile +10 -0
- data/bin/console +10 -0
- data/bin/setup +8 -0
- data/lib/pipehat.rb +22 -0
- data/lib/pipehat/component/base.rb +30 -0
- data/lib/pipehat/define_type.rb +68 -0
- data/lib/pipehat/field/base.rb +59 -0
- data/lib/pipehat/message.rb +32 -0
- data/lib/pipehat/node.rb +53 -0
- data/lib/pipehat/parser.rb +149 -0
- data/lib/pipehat/repeat/base.rb +31 -0
- data/lib/pipehat/segment/aip.rb +21 -0
- data/lib/pipehat/segment/ais.rb +21 -0
- data/lib/pipehat/segment/al1.rb +15 -0
- data/lib/pipehat/segment/base.rb +124 -0
- data/lib/pipehat/segment/dg1.rb +30 -0
- data/lib/pipehat/segment/err.rb +21 -0
- data/lib/pipehat/segment/evn.rb +16 -0
- data/lib/pipehat/segment/in1.rb +64 -0
- data/lib/pipehat/segment/msa.rb +17 -0
- data/lib/pipehat/segment/msh.rb +52 -0
- data/lib/pipehat/segment/obr.rb +63 -0
- data/lib/pipehat/segment/obx.rb +37 -0
- data/lib/pipehat/segment/orc.rb +43 -0
- data/lib/pipehat/segment/pid.rb +49 -0
- data/lib/pipehat/segment/prd.rb +23 -0
- data/lib/pipehat/segment/pv1.rb +63 -0
- data/lib/pipehat/segment/rf1.rb +34 -0
- data/lib/pipehat/segment/rgs.rb +12 -0
- data/lib/pipehat/segment/sch.rb +36 -0
- data/lib/pipehat/subcomponent/base.rb +27 -0
- data/lib/pipehat/types/aui.rb +8 -0
- data/lib/pipehat/types/ce.rb +11 -0
- data/lib/pipehat/types/cne.rb +27 -0
- data/lib/pipehat/types/cnn.rb +16 -0
- data/lib/pipehat/types/cp.rb +11 -0
- data/lib/pipehat/types/cq.rb +7 -0
- data/lib/pipehat/types/cwe.rb +27 -0
- data/lib/pipehat/types/cx.rb +17 -0
- data/lib/pipehat/types/dld.rb +7 -0
- data/lib/pipehat/types/dt.rb +4 -0
- data/lib/pipehat/types/dtm.rb +4 -0
- data/lib/pipehat/types/ei.rb +9 -0
- data/lib/pipehat/types/eip.rb +7 -0
- data/lib/pipehat/types/erl.rb +11 -0
- data/lib/pipehat/types/fn.rb +10 -0
- data/lib/pipehat/types/hd.rb +8 -0
- data/lib/pipehat/types/id.rb +4 -0
- data/lib/pipehat/types/is.rb +4 -0
- data/lib/pipehat/types/mo.rb +7 -0
- data/lib/pipehat/types/moc.rb +7 -0
- data/lib/pipehat/types/msg.rb +8 -0
- data/lib/pipehat/types/ndl.rb +16 -0
- data/lib/pipehat/types/nm.rb +4 -0
- data/lib/pipehat/types/pl.rb +16 -0
- data/lib/pipehat/types/pln.rb +9 -0
- data/lib/pipehat/types/prl.rb +8 -0
- data/lib/pipehat/types/pt.rb +7 -0
- data/lib/pipehat/types/rc.rb +7 -0
- data/lib/pipehat/types/sad.rb +8 -0
- data/lib/pipehat/types/si.rb +4 -0
- data/lib/pipehat/types/snm.rb +4 -0
- data/lib/pipehat/types/st.rb +4 -0
- data/lib/pipehat/types/ts.rb +7 -0
- data/lib/pipehat/types/tx.rb +4 -0
- data/lib/pipehat/types/varies.rb +28 -0
- data/lib/pipehat/types/vid.rb +8 -0
- data/lib/pipehat/types/xad.rb +28 -0
- data/lib/pipehat/types/xcn.rb +30 -0
- data/lib/pipehat/types/xon.rb +15 -0
- data/lib/pipehat/types/xpn.rb +20 -0
- data/lib/pipehat/types/xtn.rb +22 -0
- data/lib/pipehat/version.rb +3 -0
- data/pipehat.gemspec +27 -0
- metadata +127 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Diagnosis
|
6
|
+
class DG1 < Base
|
7
|
+
add_field :set_id, :SI
|
8
|
+
add_field :diagnosis_coding_method, :ID
|
9
|
+
add_field :diagnosis_code, :CE
|
10
|
+
add_field :diagnosis_description, :ST
|
11
|
+
add_field :diagnosis_date_time, :TS
|
12
|
+
add_field :diagnosis_type, :IS
|
13
|
+
add_field :major_diagnostic_category, :CE
|
14
|
+
add_field :diagnostic_related_group, :CE
|
15
|
+
add_field :drg_approval_indicator, :ID
|
16
|
+
add_field :drg_grouper_review_code, :IS
|
17
|
+
add_field :outlier_type, :CE
|
18
|
+
add_field :outlier_days, :NM
|
19
|
+
add_field :outlier_cost, :CP
|
20
|
+
add_field :grouper_version_and_type, :ST
|
21
|
+
add_field :diagnosis_priority, :ID
|
22
|
+
add_field :diagnosing_clinician, :IS
|
23
|
+
add_field :diagnosis_classification, :IS
|
24
|
+
add_field :confidential_indicator, :ID
|
25
|
+
add_field :attestation_date_time, :EI
|
26
|
+
add_field :diagnosis_identifier, :EI
|
27
|
+
add_field :diagnosis_action_code, :ID
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Error
|
6
|
+
class ERR < Base
|
7
|
+
add_field :error_code_and_location, :ST
|
8
|
+
add_field :error_location, :ERL
|
9
|
+
add_field :hl7_error_code, :CWE
|
10
|
+
add_field :severity, :ID
|
11
|
+
add_field :application_error_code, :CWE
|
12
|
+
add_field :application_error_parameter, :ST
|
13
|
+
add_field :diagnostic_information, :TX
|
14
|
+
add_field :user_message, :TX
|
15
|
+
add_field :inform_person_indicator, :CWE
|
16
|
+
add_field :override_type, :CWE
|
17
|
+
add_field :override_reason_code, :CWE
|
18
|
+
add_field :help_desk_contact_point, :XTN
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Event Type
|
6
|
+
class EVN < Base
|
7
|
+
add_field :event_type_code, :ID
|
8
|
+
add_field :recorded_date_time, :TS
|
9
|
+
add_field :date_time_planned, :TS
|
10
|
+
add_field :event_reason_code, :IS
|
11
|
+
add_field :operator_id, :XCN
|
12
|
+
add_field :event_occurred, :TS
|
13
|
+
add_field :event_facility, :HD
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Insurance
|
6
|
+
class IN1 < Base
|
7
|
+
add_field :set_id, :SI
|
8
|
+
add_field :health_plan_id, :CWE
|
9
|
+
add_field :insurance_company_id, :CX
|
10
|
+
add_field :insurance_company_name, :XON
|
11
|
+
add_field :insurance_company_address, :XAD
|
12
|
+
add_field :insurance_co_contact_person, :XPN
|
13
|
+
add_field :insurance_co_phone_number, :XTN
|
14
|
+
add_field :group_number, :ST
|
15
|
+
add_field :group_name, :XON
|
16
|
+
add_field :insureds_group_emp_id, :CX
|
17
|
+
add_field :insureds_group_emp_name, :XON
|
18
|
+
add_field :plan_effective_date, :DT
|
19
|
+
add_field :plan_expiration_date, :DT
|
20
|
+
add_field :authorization_information, :AUI
|
21
|
+
add_field :plan_type, :CWE
|
22
|
+
add_field :name_of_insured, :XPN
|
23
|
+
add_field :insureds_relationship_to_patient, :CWE
|
24
|
+
add_field :insureds_date_of_birth, :DTM
|
25
|
+
add_field :insureds_address, :XAD
|
26
|
+
add_field :assignment_of_benefits, :CWE
|
27
|
+
add_field :coordination_of_benefits, :CWE
|
28
|
+
add_field :coord_of_ben_priority, :ST
|
29
|
+
add_field :notice_of_admission_flag, :ID
|
30
|
+
add_field :notice_of_admission_date, :DT
|
31
|
+
add_field :report_of_eligibility_flag, :ID
|
32
|
+
add_field :report_of_eligibility_date, :DT
|
33
|
+
add_field :release_information_code, :CWE
|
34
|
+
add_field :pre_admit_cert, :ST
|
35
|
+
add_field :verification_date_time, :DTM
|
36
|
+
add_field :verification_by, :XCN
|
37
|
+
add_field :type_of_agreement_code, :CWE
|
38
|
+
add_field :billing_status, :CWE
|
39
|
+
add_field :lifetime_reserve_days, :NM
|
40
|
+
add_field :delay_before_lr_day, :NM
|
41
|
+
add_field :company_plan_code, :CWE
|
42
|
+
add_field :policy_number, :ST
|
43
|
+
add_field :policy_deductible, :CP
|
44
|
+
add_field :policy_limit_amount, :ST
|
45
|
+
add_field :policy_limit_days, :NM
|
46
|
+
add_field :room_rate_semi_private, :ST
|
47
|
+
add_field :room_rate_private, :ST
|
48
|
+
add_field :insureds_employment_status, :CWE
|
49
|
+
add_field :insureds_administrative_sex, :CWE
|
50
|
+
add_field :insureds_employers_address, :XAD
|
51
|
+
add_field :verification_status, :ST
|
52
|
+
add_field :prior_insurance_plan_id, :CWE
|
53
|
+
add_field :coverage_type, :CWE
|
54
|
+
add_field :handicap, :CWE
|
55
|
+
add_field :insureds_id_number, :CX
|
56
|
+
add_field :signature_code, :CWE
|
57
|
+
add_field :signature_code_date, :DT
|
58
|
+
add_field :insureds_birth_place, :ST
|
59
|
+
add_field :vip_indicator, :CWE
|
60
|
+
add_field :external_health_plan_identifiers, :CX
|
61
|
+
add_field :insurance_action_code, :ID
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Message Acknowledgment
|
6
|
+
class MSA < Base
|
7
|
+
add_field :acknowledgment_code, :ID
|
8
|
+
add_field :message_control_id, :ST
|
9
|
+
add_field :text_message, :ST
|
10
|
+
add_field :expected_sequence_number, :NM
|
11
|
+
add_field :delayed_acknowledgment_type, :ST
|
12
|
+
add_field :error_condition, :ST
|
13
|
+
add_field :message_waiting_number, :NM
|
14
|
+
add_field :message_waiting_priority, :ID
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Message Header
|
6
|
+
class MSH < Base
|
7
|
+
add_field :field_separator, :ST, setter: false
|
8
|
+
add_field :encoding_characters, :ST, setter: false
|
9
|
+
add_field :sending_application, :HD
|
10
|
+
add_field :sending_facility, :HD
|
11
|
+
add_field :receiving_application, :HD
|
12
|
+
add_field :receiving_facility, :HD
|
13
|
+
add_field :date_time_of_message, :DTM
|
14
|
+
add_field :security, :ST
|
15
|
+
add_field :message_type, :MSG
|
16
|
+
add_field :message_control_id, :ST
|
17
|
+
add_field :processing_id, :PT
|
18
|
+
add_field :version_id, :VID
|
19
|
+
add_field :sequence_number, :NM
|
20
|
+
add_field :continuation_pointer, :ST
|
21
|
+
add_field :accept_acknowledgment_type, :ID
|
22
|
+
add_field :application_acknowledgment_type, :ID
|
23
|
+
add_field :country_code, :ID
|
24
|
+
add_field :character_set, :ID
|
25
|
+
add_field :principal_language_of_message, :CWE
|
26
|
+
add_field :alternate_character_set_handling_scheme, :ID
|
27
|
+
add_field :message_profile_identifier, :EI
|
28
|
+
add_field :sending_responsible_organization, :XON
|
29
|
+
add_field :receiving_responsible_organization, :XON
|
30
|
+
add_field :sending_network_address, :HD
|
31
|
+
add_field :receiving_network_address, :HD
|
32
|
+
|
33
|
+
def initialize(string = nil, parser: Pipehat::DEFAULT_PARSER)
|
34
|
+
super
|
35
|
+
@data.insert(1, [[[parser.field_sep]]])
|
36
|
+
@data[2] = [[[parser.msh2]]]
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_hl7
|
40
|
+
# Same as Base, but just drop the field separator since it will be
|
41
|
+
# added by the join
|
42
|
+
@data.each_with_index.reject { |_field, i| i == 1 }.map do |field, _i|
|
43
|
+
(field || []).map do |repeat|
|
44
|
+
(repeat || []).map do |component|
|
45
|
+
(component || []).join(parser.subcomponent_sep)
|
46
|
+
end.join(parser.component_sep)
|
47
|
+
end.join(parser.repetition_sep)
|
48
|
+
end.join(parser.field_sep)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Observation Request
|
6
|
+
class OBR < Base
|
7
|
+
add_field :set_id, :SI
|
8
|
+
add_field :placer_order_number, :EI
|
9
|
+
add_field :filler_order_number, :EI
|
10
|
+
add_field :universal_service_identifier, :CWE
|
11
|
+
add_field :priority, :ST
|
12
|
+
add_field :requested_date_time, :ST
|
13
|
+
add_field :observation_date_time, :DTM
|
14
|
+
add_field :observation_end_date_time, :DTM
|
15
|
+
add_field :collection_volume, :CQ
|
16
|
+
add_field :collector_identifier, :XCN
|
17
|
+
add_field :specimen_action_code, :ID
|
18
|
+
add_field :danger_code, :CWE
|
19
|
+
add_field :relevant_clinical_information, :ST
|
20
|
+
add_field :specimen_received_date_time, :ST
|
21
|
+
add_field :specimen_source, :ST
|
22
|
+
add_field :ordering_provider, :XCN
|
23
|
+
add_field :order_callback_phone_number, :XTN
|
24
|
+
add_field :placer_field_1, :ST
|
25
|
+
add_field :placer_field_2, :ST
|
26
|
+
add_field :filler_field_1, :ST
|
27
|
+
add_field :filler_field_2, :ST
|
28
|
+
add_field :results_rpt_status_chng_date_time, :DTM
|
29
|
+
add_field :charge_to_practice, :MOC
|
30
|
+
add_field :diagnostic_serv_sect_id, :ID
|
31
|
+
add_field :result_status, :ID
|
32
|
+
add_field :parent_result, :PRL
|
33
|
+
add_field :quantity_timing, :ST
|
34
|
+
add_field :result_copies_to, :XCN
|
35
|
+
add_field :parent, :EIP
|
36
|
+
add_field :transportation_mode, :ID
|
37
|
+
add_field :reason_for_study, :CWE
|
38
|
+
add_field :principal_result_interpreter, :NDL
|
39
|
+
add_field :assistant_result_interpreter, :NDL
|
40
|
+
add_field :technician, :NDL
|
41
|
+
add_field :transcriptionist, :NDL
|
42
|
+
add_field :scheduled_date_time, :DTM
|
43
|
+
add_field :number_of_sample_containers, :NM
|
44
|
+
add_field :transport_logistics_of_collected_sample, :CWE
|
45
|
+
add_field :collectors_comment, :CWE
|
46
|
+
add_field :transport_arrangement_responsibility, :CWE
|
47
|
+
add_field :transport_arranged, :ID
|
48
|
+
add_field :escort_required, :ID
|
49
|
+
add_field :planned_patient_transport_comment, :CWE
|
50
|
+
add_field :procedure_code, :CNE
|
51
|
+
add_field :procedure_code_modifier, :CNE
|
52
|
+
add_field :placer_supplemental_service_information, :CWE
|
53
|
+
add_field :filler_supplemental_service_information, :CWE
|
54
|
+
add_field :medically_necessary_duplicate_procedure_reason, :CWE
|
55
|
+
add_field :result_handling, :CWE
|
56
|
+
add_field :parent_universal_service_identifier, :CWE
|
57
|
+
add_field :observation_group_id, :EI
|
58
|
+
add_field :parent_observation_group_id, :EI
|
59
|
+
add_field :alternate_placer_order_number, :CX
|
60
|
+
add_field :parent_order, :EIP
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Observation / Result
|
6
|
+
class OBX < Base
|
7
|
+
add_field :set_id, :SI
|
8
|
+
add_field :value_type, :ID
|
9
|
+
add_field :observation_identifier, :CWE
|
10
|
+
add_field :observation_sub_id, :ST
|
11
|
+
add_field :observation_value, :Varies
|
12
|
+
add_field :units, :CWE
|
13
|
+
add_field :references_range, :ST
|
14
|
+
add_field :interpretation_codes, :CWE
|
15
|
+
add_field :probability, :NM
|
16
|
+
add_field :nature_of_abnormal_test, :ID
|
17
|
+
add_field :observation_result_status, :ID
|
18
|
+
add_field :effective_date_of_reference_range, :DTM
|
19
|
+
add_field :user_defined_access_checks, :ST
|
20
|
+
add_field :date_time_of_the_observation, :DTM
|
21
|
+
add_field :producers_id, :CWE
|
22
|
+
add_field :responsible_observer, :XCN
|
23
|
+
add_field :observation_method, :CWE
|
24
|
+
add_field :equipment_instance_identifier, :EI
|
25
|
+
add_field :date_time_of_the_analysis, :DTM
|
26
|
+
add_field :observation_site, :CWE
|
27
|
+
add_field :observation_instance_identifier, :EI
|
28
|
+
add_field :mood_code, :CNE
|
29
|
+
add_field :performing_organization_name, :XON
|
30
|
+
add_field :performing_organization_address, :XAD
|
31
|
+
add_field :performing_organization_medical_director, :XCN
|
32
|
+
add_field :patient_results_release_category, :ID
|
33
|
+
add_field :root_cause, :CWE
|
34
|
+
add_field :local_process_control, :CWE
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Common Order
|
6
|
+
class ORC < Base
|
7
|
+
add_field :order_control, :ID
|
8
|
+
add_field :placer_order_number, :EI
|
9
|
+
add_field :filler_order_number, :EI
|
10
|
+
add_field :placer_group_number, :EI
|
11
|
+
add_field :order_status, :ID
|
12
|
+
add_field :response_flag, :ID
|
13
|
+
add_field :quantity_timing, :ST
|
14
|
+
add_field :parent, :EIP
|
15
|
+
add_field :date_time_of_transaction, :DTM
|
16
|
+
add_field :entered_by, :XCN
|
17
|
+
add_field :verified_by, :XCN
|
18
|
+
add_field :ordering_provider, :XCN
|
19
|
+
add_field :enterers_location, :PL
|
20
|
+
add_field :call_back_phone_number, :XTN
|
21
|
+
add_field :order_effective_date_time, :DTM
|
22
|
+
add_field :order_control_code_reason, :CWE
|
23
|
+
add_field :entering_organization, :CWE
|
24
|
+
add_field :entering_device, :CWE
|
25
|
+
add_field :action_by, :XCN
|
26
|
+
add_field :advanced_beneficiary_notice_code, :CWE
|
27
|
+
add_field :ordering_facility_name, :XON
|
28
|
+
add_field :ordering_facility_address, :XAD
|
29
|
+
add_field :ordering_facility_phone_number, :XTN
|
30
|
+
add_field :ordering_provider_address, :XAD
|
31
|
+
add_field :order_status_modifier, :CWE
|
32
|
+
add_field :advanced_beneficiary_notice_override_reason, :CWE
|
33
|
+
add_field :fillers_expected_availability_date_time, :DTM
|
34
|
+
add_field :confidentiality_code, :CWE
|
35
|
+
add_field :order_type, :CWE
|
36
|
+
add_field :enterer_authorization_mode, :CNE
|
37
|
+
add_field :parent_universal_service_identifier, :CWE
|
38
|
+
add_field :advanced_beneficiary_notice_date, :DT
|
39
|
+
add_field :alternate_placer_order_number, :CX
|
40
|
+
add_field :order_workflow_profile, :EI
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Patient Identification
|
6
|
+
class PID < Base
|
7
|
+
add_field :set_id, :SI
|
8
|
+
add_field :patient_id, :ST
|
9
|
+
add_field :patient_identifier_list, :CX
|
10
|
+
add_field :alternate_patient_id, :ST
|
11
|
+
add_field :patient_name, :XPN
|
12
|
+
add_field :mother_s_maiden_name, :XPN
|
13
|
+
add_field :date_time_of_birth, :DTM
|
14
|
+
add_field :administrative_sex, :CWE
|
15
|
+
add_field :patient_alias, :ST
|
16
|
+
add_field :race, :CWE
|
17
|
+
add_field :patient_address, :XAD
|
18
|
+
add_field :county_code, :ST
|
19
|
+
add_field :phone_number_home, :XTN
|
20
|
+
add_field :phone_number_business, :XTN
|
21
|
+
add_field :primary_language, :CWE
|
22
|
+
add_field :marital_status, :CWE
|
23
|
+
add_field :religion, :CWE
|
24
|
+
add_field :patient_account_number, :CX
|
25
|
+
add_field :ssn_number, :ST
|
26
|
+
add_field :drivers_license_number, :ST
|
27
|
+
add_field :mothers_identifier, :CX
|
28
|
+
add_field :ethnic_group, :CWE
|
29
|
+
add_field :birth_place, :ST
|
30
|
+
add_field :multiple_birth_indicator, :ID
|
31
|
+
add_field :birth_order, :NM
|
32
|
+
add_field :citizenship, :CWE
|
33
|
+
add_field :veterans_military_status, :CWE
|
34
|
+
add_field :nationality, :ST
|
35
|
+
add_field :patient_death_date_and_time, :DTM
|
36
|
+
add_field :patient_death_indicator, :ID
|
37
|
+
add_field :identity_unknown_indicator, :ID
|
38
|
+
add_field :identity_reliability_code, :CWE
|
39
|
+
add_field :last_update_date_time, :DTM
|
40
|
+
add_field :last_update_facility, :HD
|
41
|
+
add_field :taxonomic_classification_code, :CWE
|
42
|
+
add_field :breed_code, :CWE
|
43
|
+
add_field :strain, :ST
|
44
|
+
add_field :production_class_code, :CWE
|
45
|
+
add_field :tribal_citizenship, :CWE
|
46
|
+
add_field :patient_telecommunication_information, :XTN
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Provider Data
|
6
|
+
class PRD < Base
|
7
|
+
add_field :provider_role, :CWE
|
8
|
+
add_field :provider_name, :XPN
|
9
|
+
add_field :provider_address, :XAD
|
10
|
+
add_field :provider_location, :PL
|
11
|
+
add_field :provider_communication_information, :XTN
|
12
|
+
add_field :preferred_method_of_contact, :CWE
|
13
|
+
add_field :provider_identifiers, :PLN
|
14
|
+
add_field :effective_start_date_of_provider_role, :DTM
|
15
|
+
add_field :effective_end_date_of_provider_role, :DTM
|
16
|
+
add_field :provider_organization_name_and_identifier, :XON
|
17
|
+
add_field :provider_organization_address, :XAD
|
18
|
+
add_field :provider_organization_location_information, :PL
|
19
|
+
add_field :provider_organization_communication_information, :XTN
|
20
|
+
add_field :provider_organization_method_of_contact, :CWE
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Pipehat
|
4
|
+
module Segment
|
5
|
+
# Patient Visit
|
6
|
+
class PV1 < Base
|
7
|
+
add_field :set_id, :SI
|
8
|
+
add_field :patient_class, :CWE
|
9
|
+
add_field :assigned_patient_location, :PL
|
10
|
+
add_field :admission_type, :CWE
|
11
|
+
add_field :preadmit_number, :CX
|
12
|
+
add_field :prior_patient_location, :PL
|
13
|
+
add_field :attending_doctor, :XCN
|
14
|
+
add_field :referring_doctor, :XCN
|
15
|
+
add_field :consulting_doctor, :XCN
|
16
|
+
add_field :hospital_service, :CWE
|
17
|
+
add_field :temporary_location, :PL
|
18
|
+
add_field :preadmit_test_indicator, :CWE
|
19
|
+
add_field :readmission_indicator, :CWE
|
20
|
+
add_field :admit_source, :CWE
|
21
|
+
add_field :ambulatory_status, :CWE
|
22
|
+
add_field :vip_indicator, :CWE
|
23
|
+
add_field :admitting_doctor, :XCN
|
24
|
+
add_field :patient_type, :CWE
|
25
|
+
add_field :visit_number, :CX
|
26
|
+
add_field :financial_class, :FC
|
27
|
+
add_field :charge_price_indicator, :CWE
|
28
|
+
add_field :courtesy_code, :CWE
|
29
|
+
add_field :credit_rating, :CWE
|
30
|
+
add_field :contract_code, :CWE
|
31
|
+
add_field :contract_effective_date, :DT
|
32
|
+
add_field :contract_amount, :NM
|
33
|
+
add_field :contract_period, :NM
|
34
|
+
add_field :interest_code, :CWE
|
35
|
+
add_field :transfer_to_bad_debt_code, :CWE
|
36
|
+
add_field :transfer_to_bad_debt_date, :DT
|
37
|
+
add_field :bad_debt_agency_code, :CWE
|
38
|
+
add_field :bad_debt_transfer_amount, :NM
|
39
|
+
add_field :bad_debt_recovery_amount, :NM
|
40
|
+
add_field :delete_account_indicator, :CWE
|
41
|
+
add_field :delete_account_date, :DT
|
42
|
+
add_field :discharge_disposition, :CWE
|
43
|
+
add_field :discharged_to_location, :DLD
|
44
|
+
add_field :diet_type, :CWE
|
45
|
+
add_field :servicing_facility, :CWE
|
46
|
+
add_field :bed_status, :ST
|
47
|
+
add_field :account_status, :CWE
|
48
|
+
add_field :pending_location, :PL
|
49
|
+
add_field :prior_temporary_location, :PL
|
50
|
+
add_field :admit_date_time, :DTM
|
51
|
+
add_field :discharge_date_time, :DTM
|
52
|
+
add_field :current_patient_balance, :NM
|
53
|
+
add_field :total_charges, :NM
|
54
|
+
add_field :total_adjustments, :NM
|
55
|
+
add_field :total_payments, :NM
|
56
|
+
add_field :alternate_visit_id, :CX
|
57
|
+
add_field :visit_indicator, :CWE
|
58
|
+
add_field :other_healthcare_provider, :ST
|
59
|
+
add_field :service_episode_description, :ST
|
60
|
+
add_field :service_episode_identifier, :CX
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|