pipehat 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rubocop.yml +18 -0
  4. data/.travis.yml +10 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +8 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +184 -0
  9. data/Rakefile +10 -0
  10. data/bin/console +10 -0
  11. data/bin/setup +8 -0
  12. data/lib/pipehat.rb +22 -0
  13. data/lib/pipehat/component/base.rb +30 -0
  14. data/lib/pipehat/define_type.rb +68 -0
  15. data/lib/pipehat/field/base.rb +59 -0
  16. data/lib/pipehat/message.rb +32 -0
  17. data/lib/pipehat/node.rb +53 -0
  18. data/lib/pipehat/parser.rb +149 -0
  19. data/lib/pipehat/repeat/base.rb +31 -0
  20. data/lib/pipehat/segment/aip.rb +21 -0
  21. data/lib/pipehat/segment/ais.rb +21 -0
  22. data/lib/pipehat/segment/al1.rb +15 -0
  23. data/lib/pipehat/segment/base.rb +124 -0
  24. data/lib/pipehat/segment/dg1.rb +30 -0
  25. data/lib/pipehat/segment/err.rb +21 -0
  26. data/lib/pipehat/segment/evn.rb +16 -0
  27. data/lib/pipehat/segment/in1.rb +64 -0
  28. data/lib/pipehat/segment/msa.rb +17 -0
  29. data/lib/pipehat/segment/msh.rb +52 -0
  30. data/lib/pipehat/segment/obr.rb +63 -0
  31. data/lib/pipehat/segment/obx.rb +37 -0
  32. data/lib/pipehat/segment/orc.rb +43 -0
  33. data/lib/pipehat/segment/pid.rb +49 -0
  34. data/lib/pipehat/segment/prd.rb +23 -0
  35. data/lib/pipehat/segment/pv1.rb +63 -0
  36. data/lib/pipehat/segment/rf1.rb +34 -0
  37. data/lib/pipehat/segment/rgs.rb +12 -0
  38. data/lib/pipehat/segment/sch.rb +36 -0
  39. data/lib/pipehat/subcomponent/base.rb +27 -0
  40. data/lib/pipehat/types/aui.rb +8 -0
  41. data/lib/pipehat/types/ce.rb +11 -0
  42. data/lib/pipehat/types/cne.rb +27 -0
  43. data/lib/pipehat/types/cnn.rb +16 -0
  44. data/lib/pipehat/types/cp.rb +11 -0
  45. data/lib/pipehat/types/cq.rb +7 -0
  46. data/lib/pipehat/types/cwe.rb +27 -0
  47. data/lib/pipehat/types/cx.rb +17 -0
  48. data/lib/pipehat/types/dld.rb +7 -0
  49. data/lib/pipehat/types/dt.rb +4 -0
  50. data/lib/pipehat/types/dtm.rb +4 -0
  51. data/lib/pipehat/types/ei.rb +9 -0
  52. data/lib/pipehat/types/eip.rb +7 -0
  53. data/lib/pipehat/types/erl.rb +11 -0
  54. data/lib/pipehat/types/fn.rb +10 -0
  55. data/lib/pipehat/types/hd.rb +8 -0
  56. data/lib/pipehat/types/id.rb +4 -0
  57. data/lib/pipehat/types/is.rb +4 -0
  58. data/lib/pipehat/types/mo.rb +7 -0
  59. data/lib/pipehat/types/moc.rb +7 -0
  60. data/lib/pipehat/types/msg.rb +8 -0
  61. data/lib/pipehat/types/ndl.rb +16 -0
  62. data/lib/pipehat/types/nm.rb +4 -0
  63. data/lib/pipehat/types/pl.rb +16 -0
  64. data/lib/pipehat/types/pln.rb +9 -0
  65. data/lib/pipehat/types/prl.rb +8 -0
  66. data/lib/pipehat/types/pt.rb +7 -0
  67. data/lib/pipehat/types/rc.rb +7 -0
  68. data/lib/pipehat/types/sad.rb +8 -0
  69. data/lib/pipehat/types/si.rb +4 -0
  70. data/lib/pipehat/types/snm.rb +4 -0
  71. data/lib/pipehat/types/st.rb +4 -0
  72. data/lib/pipehat/types/ts.rb +7 -0
  73. data/lib/pipehat/types/tx.rb +4 -0
  74. data/lib/pipehat/types/varies.rb +28 -0
  75. data/lib/pipehat/types/vid.rb +8 -0
  76. data/lib/pipehat/types/xad.rb +28 -0
  77. data/lib/pipehat/types/xcn.rb +30 -0
  78. data/lib/pipehat/types/xon.rb +15 -0
  79. data/lib/pipehat/types/xpn.rb +20 -0
  80. data/lib/pipehat/types/xtn.rb +22 -0
  81. data/lib/pipehat/version.rb +3 -0
  82. data/pipehat.gemspec +27 -0
  83. 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