pipehat 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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