Skip to content

Commit

Permalink
Fix segment group populating issue
Browse files Browse the repository at this point in the history
  • Loading branch information
sameeragunarathne committed Aug 13, 2024
1 parent f5d1816 commit 1f12b1a
Show file tree
Hide file tree
Showing 121 changed files with 2,728 additions and 178 deletions.
1 change: 0 additions & 1 deletion hl7v23/Ballerina.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,3 @@ authors=["Ballerina"]
keywords=["Healthcare", "HL7", "HL7v2.3"]
distribution = "2201.8.5"
repository="https://github.com/ballerina-platform/module-ballerinax-health.hl7v2"

4 changes: 2 additions & 2 deletions hl7v23/Dependencies.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ dependencies = [
[[package]]
org = "ballerina"
name = "io"
version = "1.6.0"
version = "1.6.1"
dependencies = [
{org = "ballerina", name = "jballerina.java"},
{org = "ballerina", name = "lang.value"}
Expand Down Expand Up @@ -102,7 +102,7 @@ dependencies = [
[[package]]
org = "ballerinax"
name = "health.hl7v2"
version = "2.2.0"
version = "2.2.2"
dependencies = [
{org = "ballerina", name = "log"},
{org = "ballerina", name = "tcp"},
Expand Down
167 changes: 125 additions & 42 deletions hl7v23/hl7_parser.bal

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions hl7v23/message_ack.bal
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ public const ACK_MESSAGE_TYPE = "ACK";
# + msa - MSA Segment
# + err - ERR Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"MSA": [{name: "MSA", maxReps: 1, required: false}],
"ERR": [{name: "ERR", maxReps: 1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"MSA": {name: "MSA", maxReps: 1, required: true, segmentType: MSA},
Expand Down
27 changes: 25 additions & 2 deletions hl7v23/message_adt_a01.bal
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,29 @@ public const ADT_A01_MESSAGE_TYPE = "ADT_A01";
# + procedure - ADT_A01_PROCEDURE Segment Group
# + insurance - ADT_A01_INSURANCE Segment Group
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"NK1": [{name: "NK1", maxReps: -1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"OBX": [{name: "OBX", maxReps: -1, required: false}],
"AL1": [{name: "AL1", maxReps: -1, required: false}],
"DG1": [{name: "DG1", maxReps: -1, required: false}],
"DRG": [{name: "DRG", maxReps: 1, required: false}],
"PR1": [{name: "PR1", maxReps: 1, required: false, segmentComponentName: "ADT_A01_PROCEDURE"}],
"ROL": [{name: "ROL", maxReps: -1, required: false, segmentComponentName: "ADT_A01_PROCEDURE"}],
"GT1": [{name: "GT1", maxReps: -1, required: false}],
"IN2": [{name: "IN2", maxReps: 1, required: false, segmentComponentName: "ADT_A01_INSURANCE"}],
"IN1": [{name: "IN1", maxReps: 1, required: false, segmentComponentName: "ADT_A01_INSURANCE"}],
"IN3": [{name: "IN3", maxReps: 1, required: false, segmentComponentName: "ADT_A01_INSURANCE"}],
"ACC": [{name: "ACC", maxReps: 1, required: false}],
"UB1": [{name: "UB1", maxReps: 1, required: false}],
"UB2": [{name: "UB2", maxReps: 1, required: false}]
},
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down Expand Up @@ -91,10 +114,10 @@ public type ADT_A01 record {
AL1[] al1 = [];
DG1[] dg1 = [];
DRG drg?;
ADT_A01_PROCEDURE[] procedure = [{pr1:{}}];
GT1[] gt1 = [];
ADT_A01_INSURANCE[] insurance = [{in1:{}}];
ACC acc?;
UB1 ub1?;
UB2 ub2?;
ADT_A01_PROCEDURE[] procedure = [{pr1:{}}];
ADT_A01_INSURANCE[] insurance = [{in1:{}}];
};
11 changes: 11 additions & 0 deletions hl7v23/message_adt_a02.bal
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@ public const ADT_A02_MESSAGE_TYPE = "ADT_A02";
# + db1 - DB1 Segment
# + obx - OBX Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"OBX": [{name: "OBX", maxReps: -1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
17 changes: 16 additions & 1 deletion hl7v23/message_adt_a03.bal
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,21 @@ public const ADT_A03_MESSAGE_TYPE = "ADT_A03";
# + obx - OBX Segment
# + procedure - ADT_A03_PROCEDURE Segment Group
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"DG1": [{name: "DG1", maxReps: -1, required: false}],
"DRG": [{name: "DRG", maxReps: 1, required: false}],
"PR1": [{name: "PR1", maxReps: 1, required: false, segmentComponentName: "ADT_A03_PROCEDURE"}],
"ROL": [{name: "ROL", maxReps: -1, required: false, segmentComponentName: "ADT_A03_PROCEDURE"}],
"OBX": [{name: "OBX", maxReps: -1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down Expand Up @@ -66,6 +81,6 @@ public type ADT_A03 record {
DB1[] db1 = [];
DG1[] dg1 = [];
DRG drg?;
OBX[] obx = [];
ADT_A03_PROCEDURE[] procedure = [{pr1:{}}];
OBX[] obx = [];
};
71 changes: 49 additions & 22 deletions hl7v23/message_adt_a06.bal
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,55 @@
import ballerinax/health.hl7v2;
public const ADT_A06_MESSAGE_TYPE = "ADT_A06";

# HL7 Message Default Description
# HL7 Message Default Description
#
# + name - Message name
# + msh - MSH Segment
# + evn - EVN Segment
# + pid - PID Segment
# + pd1 - PD1 Segment
# + mrg - MRG Segment
# + nk1 - NK1 Segment
# + pv1 - PV1 Segment
# + pv2 - PV2 Segment
# + db1 - DB1 Segment
# + drg - DRG Segment
# + obx - OBX Segment
# + al1 - AL1 Segment
# + dg1 - DG1 Segment
# + gt1 - GT1 Segment
# + acc - ACC Segment
# + ub1 - UB1 Segment
# + name - Message name
# + msh - MSH Segment
# + evn - EVN Segment
# + pid - PID Segment
# + pd1 - PD1 Segment
# + mrg - MRG Segment
# + nk1 - NK1 Segment
# + pv1 - PV1 Segment
# + pv2 - PV2 Segment
# + db1 - DB1 Segment
# + drg - DRG Segment
# + obx - OBX Segment
# + al1 - AL1 Segment
# + dg1 - DG1 Segment
# + drg1 - DRG Segment
# + procedure - ADT_A06_PROCEDURE Segment Group
# + gt1 - GT1 Segment
# + insurance - ADT_A06_INSURANCE Segment Group
# + acc - ACC Segment
# + ub1 - UB1 Segment
# + ub2 - UB2 Segment
# + procedure - ADT_A06_PROCEDURE Segment Group
# + insurance - ADT_A06_INSURANCE Segment Group
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"MRG": [{name: "MRG", maxReps: 1, required: false}],
"NK1": [{name: "NK1", maxReps: -1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"DRG": [{name: "DRG", maxReps: 1, required: false}],
"OBX": [{name: "OBX", maxReps: -1, required: false}],
"AL1": [{name: "AL1", maxReps: -1, required: false}],
"DG1": [{name: "DG1", maxReps: -1, required: false}],
"PR1": [{name: "PR1", maxReps: 1, required: false, segmentComponentName: "ADT_A06_PROCEDURE"}],
"ROL": [{name: "ROL", maxReps: -1, required: false, segmentComponentName: "ADT_A06_PROCEDURE"}],
"GT1": [{name: "GT1", maxReps: -1, required: false}],
"IN2": [{name: "IN2", maxReps: 1, required: false, segmentComponentName: "ADT_A06_INSURANCE"}],
"IN1": [{name: "IN1", maxReps: 1, required: false, segmentComponentName: "ADT_A06_INSURANCE"}],
"IN3": [{name: "IN3", maxReps: 1, required: false, segmentComponentName: "ADT_A06_INSURANCE"}],
"ACC": [{name: "ACC", maxReps: 1, required: false}],
"UB1": [{name: "UB1", maxReps: 1, required: false}],
"UB2": [{name: "UB2", maxReps: 1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down Expand Up @@ -94,10 +120,11 @@ public type ADT_A06 record {
OBX[] obx = [];
AL1[] al1 = [];
DG1[] dg1 = [];
DRG drg1?;
ADT_A06_PROCEDURE[] procedure = [{pr1:{}}];
GT1[] gt1 = [];
ADT_A06_INSURANCE[] insurance = [{in1:{}}];
ACC acc?;
UB1 ub1?;
UB2 ub2?;
ADT_A06_PROCEDURE[] procedure = [{pr1:{}}];
ADT_A06_INSURANCE[] insurance = [{in1:{}}];
};
12 changes: 12 additions & 0 deletions hl7v23/message_adt_a09.bal
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,18 @@ public const ADT_A09_MESSAGE_TYPE = "ADT_A09";
# + obx - OBX Segment
# + dg1 - DG1 Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"OBX": [{name: "OBX", maxReps: -1, required: false}],
"DG1": [{name: "DG1", maxReps: -1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
12 changes: 12 additions & 0 deletions hl7v23/message_adt_a12.bal
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,18 @@ public const ADT_A12_MESSAGE_TYPE = "ADT_A12";
# + obx - OBX Segment
# + dg1 - DG1 Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"OBX": [{name: "OBX", maxReps: -1, required: false}],
"DG1": [{name: "DG1", maxReps: 1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
13 changes: 13 additions & 0 deletions hl7v23/message_adt_a16.bal
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,19 @@ public const ADT_A16_MESSAGE_TYPE = "ADT_A16";
# + dg1 - DG1 Segment
# + drg - DRG Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"OBX": [{name: "OBX", maxReps: -1, required: false}],
"DG1": [{name: "DG1", maxReps: 1, required: false}],
"DRG": [{name: "DRG", maxReps: 1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
11 changes: 11 additions & 0 deletions hl7v23/message_adt_a17.bal
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@ public const ADT_A17_MESSAGE_TYPE = "ADT_A17";
# + db1 - DB1 Segment
# + obx - OBX Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"OBX": [{name: "OBX", maxReps: -1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
9 changes: 9 additions & 0 deletions hl7v23/message_adt_a18.bal
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ public const ADT_A18_MESSAGE_TYPE = "ADT_A18";
# + mrg - MRG Segment
# + pv1 - PV1 Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"MRG": [{name: "MRG", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
6 changes: 6 additions & 0 deletions hl7v23/message_adt_a20.bal
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ public const ADT_A20_MESSAGE_TYPE = "ADT_A20";
# + evn - EVN Segment
# + npu - NPU Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"NPU": [{name: "NPU", maxReps: 1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
9 changes: 9 additions & 0 deletions hl7v23/message_adt_a24.bal
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ public const ADT_A24_MESSAGE_TYPE = "ADT_A24";
# + pv1 - PV1 Segment
# + db1 - DB1 Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
8 changes: 8 additions & 0 deletions hl7v23/message_adt_a30.bal
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ public const ADT_A30_MESSAGE_TYPE = "ADT_A30";
# + pd1 - PD1 Segment
# + mrg - MRG Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"MRG": [{name: "MRG", maxReps: 1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
13 changes: 13 additions & 0 deletions hl7v23/message_adt_a38.bal
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,19 @@ public const ADT_A38_MESSAGE_TYPE = "ADT_A38";
# + dg1 - DG1 Segment
# + drg - DRG Segment
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"PID": [{name: "PID", maxReps: 1, required: false}],
"PD1": [{name: "PD1", maxReps: 1, required: false}],
"PV1": [{name: "PV1", maxReps: 1, required: false}],
"PV2": [{name: "PV2", maxReps: 1, required: false}],
"DB1": [{name: "DB1", maxReps: -1, required: false}],
"OBX": [{name: "OBX", maxReps: -1, required: false}],
"DG1": [{name: "DG1", maxReps: -1, required: false}],
"DRG": [{name: "DRG", maxReps: 1, required: false}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN},
Expand Down
9 changes: 9 additions & 0 deletions hl7v23/message_adt_a39.bal
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,15 @@ public const ADT_A39_MESSAGE_TYPE = "ADT_A39";
# + evn - EVN Segment
# + patient - ADT_A39_PATIENT Segment Group
@hl7v2:MessageDefinition {
orderedSegments: {
"MSH": [{name: "MSH", maxReps: 1, required: false}],
"EVN": [{name: "EVN", maxReps: 1, required: false}],
"MRG": [{name: "MRG", maxReps: 1, required: false, segmentComponentName: "ADT_A39_PATIENT"}],
"PID": [{name: "PID", maxReps: 1, required: false, segmentComponentName: "ADT_A39_PATIENT"}],
"PV1": [{name: "PV1", maxReps: 1, required: false, segmentComponentName: "ADT_A39_PATIENT"}],
"PD1": [{name: "PD1", maxReps: 1, required: false, segmentComponentName: "ADT_A39_PATIENT"}]
}
,
segments: {
"MSH": {name: "MSH", maxReps: 1, required: true, segmentType: MSH},
"EVN": {name: "EVN", maxReps: 1, required: true, segmentType: EVN}
Expand Down
Loading

0 comments on commit 1f12b1a

Please sign in to comment.