diff --git a/domain-specific-terms.txt b/domain-specific-terms.txt index 75cfd45..013d88b 100644 --- a/domain-specific-terms.txt +++ b/domain-specific-terms.txt @@ -9,3 +9,5 @@ paket beginn referenz alle +ende +tages diff --git a/json_schemas/Anwendungshandbuch.schema.json b/json_schemas/Anwendungshandbuch.schema.json index 107954c..5afe7c7 100644 --- a/json_schemas/Anwendungshandbuch.schema.json +++ b/json_schemas/Anwendungshandbuch.schema.json @@ -1,12 +1,26 @@ { "$defs": { "Anwendungsfall": { - "description": "One Anwendungsfall \"AWF\" corresponds to one Prüfidentifikator or Type of Message", + "description": "One 'Anwendungsfall', indicated by `` tag, corresponds to one Prüfidentifikator or type of Message", "properties": { "beschreibung": { "title": "Beschreibung", "type": "string" }, + "elements": { + "items": { + "anyOf": [ + { + "$ref": "#/$defs/Segment" + }, + { + "$ref": "#/$defs/SegmentGroup" + } + ] + }, + "title": "Elements", + "type": "array" + }, "format": { "title": "Format", "type": "string" @@ -18,20 +32,6 @@ "pruefidentifikator": { "title": "Pruefidentifikator", "type": "string" - }, - "segment_groups": { - "items": { - "$ref": "#/$defs/SegmentGroup" - }, - "title": "Segment Groups", - "type": "array" - }, - "segments": { - "items": { - "$ref": "#/$defs/Segment" - }, - "title": "Segments", - "type": "array" } }, "required": [ @@ -39,8 +39,7 @@ "beschreibung", "kommunikation_von", "format", - "segments", - "segment_groups" + "elements" ], "title": "Anwendungsfall", "type": "object" @@ -65,7 +64,7 @@ "type": "object" }, "Code": { - "description": "a single code element inside an AHB DataElement", + "description": "A single code element inside an AHB DataElement, indicated by the `` tag.", "properties": { "ahb_status": { "title": "Ahb Status", @@ -108,8 +107,19 @@ "type": "object" }, "DataElement": { - "description": "A single data element inside a AHB Segment.\nThis models both the 'Datenelement' and the 'Gruppendatenelement'", + "description": "A single data element, German 'Datenelement' inside an AHB Segment, indicated by the `` tag.\nThis element can contain a single or multiple Code elements.", "properties": { + "ahb_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Ahb Status" + }, "codes": { "items": { "$ref": "#/$defs/Code" @@ -129,13 +139,14 @@ "required": [ "id", "name", + "ahb_status", "codes" ], "title": "DataElement", "type": "object" }, "DataElementGroup": { - "description": "a group of data elements, German 'Datenelementgruppe' inside the AHB", + "description": "A group of data elements, German 'Datenelementgruppe' inside the AHB, indicated by the `` tag.\nThis model can contain both the 'Datenelement' and the 'Gruppendatenelement'", "properties": { "data_elements": { "items": { @@ -181,7 +192,7 @@ "type": "object" }, "Segment": { - "description": "a segment inside an AHB", + "description": "A segment inside an AHB, indicated by the `` tag.\nThis model can contain both data elements and data element groups.", "properties": { "ahb_status": { "anyOf": [ @@ -232,7 +243,7 @@ "type": "object" }, "SegmentGroup": { - "description": "a \"Segmentgruppe\" inside an AHB", + "description": "A 'Segmentgruppe' inside an AHB, indicated by the `` tag.\nThis model can contain both Segments and segment groups.", "properties": { "ahb_status": { "anyOf": [ @@ -245,6 +256,20 @@ ], "title": "Ahb Status" }, + "elements": { + "items": { + "anyOf": [ + { + "$ref": "#/$defs/Segment" + }, + { + "$ref": "#/$defs/SegmentGroup" + } + ] + }, + "title": "Elements", + "type": "array" + }, "id": { "title": "Id", "type": "string" @@ -252,28 +277,13 @@ "name": { "title": "Name", "type": "string" - }, - "segment_groups": { - "items": { - "$ref": "#/$defs/SegmentGroup" - }, - "title": "Segment Groups", - "type": "array" - }, - "segments": { - "items": { - "$ref": "#/$defs/Segment" - }, - "title": "Segments", - "type": "array" } }, "required": [ "id", "name", "ahb_status", - "segments", - "segment_groups" + "elements" ], "title": "SegmentGroup", "type": "object" @@ -298,7 +308,7 @@ "type": "object" } }, - "description": "Ein Anwendungshandbuch bündelt verschiedene Nachrichtentypen/Anwendungsfälle im selben Format oder mit der selben\nregulatorischen Grundlage und stellt gemeinsame Pakete & Bedingungen bereit.", + "description": "Ein Anwendungshandbuch, indicated by the `` tag.", "properties": { "description": { "anyOf": [ @@ -39,7 +39,7 @@ "type": "object" }, "DataElement": { - "description": "A single data element inside a MIG Segment.\nThis models both the 'Datenelement' and the 'Gruppendatenelement'", + "description": "A single data element inside a MIG Segment.\nThis models both the 'Datenelement' and the 'Gruppendatenelement', indicated by the `` tag.\nAre able to contain a single or multiple data elements.", "properties": { "data_elements": { "items": { @@ -149,13 +149,14 @@ "C", "R", "N", - "D" + "D", + "O" ], "title": "MigStatus", "type": "string" }, "Segment": { - "description": "a segment inside a MIG", + "description": "A segment inside a MIG, indicated by the `` tag. A segment contains data elements and data element groups.", "properties": { "counter": { "title": "Counter", @@ -246,12 +247,26 @@ "type": "object" }, "SegmentGroup": { - "description": "a \"Segtmentgruppe\"", + "description": "A 'Segmentgruppe' inside a MIG, indicated by the `` tag. A segment contains segments and segments groups.", "properties": { "counter": { "title": "Counter", "type": "string" }, + "elements": { + "items": { + "anyOf": [ + { + "$ref": "#/$defs/Segment" + }, + { + "$ref": "#/$defs/SegmentGroup" + } + ] + }, + "title": "Elements", + "type": "array" + }, "id": { "title": "Id", "type": "string" @@ -272,20 +287,6 @@ "title": "Name", "type": "string" }, - "segment_groups": { - "items": { - "$ref": "#/$defs/SegmentGroup" - }, - "title": "Segment Groups", - "type": "array" - }, - "segments": { - "items": { - "$ref": "#/$defs/Segment" - }, - "title": "Segments", - "type": "array" - }, "status_specification": { "$ref": "#/$defs/MigStatus" }, @@ -302,8 +303,7 @@ "max_rep_specification", "status_std", "status_specification", - "segments", - "segment_groups" + "elements" ], "title": "SegmentGroup", "type": "object" @@ -315,23 +315,23 @@ "title": "Autor", "type": "string" }, - "format": { - "title": "Format", - "type": "string" - }, - "segment_groups": { + "elements": { "items": { - "$ref": "#/$defs/SegmentGroup" + "anyOf": [ + { + "$ref": "#/$defs/Segment" + }, + { + "$ref": "#/$defs/SegmentGroup" + } + ] }, - "title": "Segment Groups", + "title": "Elements", "type": "array" }, - "segments": { - "items": { - "$ref": "#/$defs/Segment" - }, - "title": "Segments", - "type": "array" + "format": { + "title": "Format", + "type": "string" }, "veroeffentlichungsdatum": { "format": "date", @@ -348,9 +348,8 @@ "autor", "versionsnummer", "format", - "segments", - "segment_groups" + "elements" ], "title": "MessageImplementationGuide", "type": "object" -} \ No newline at end of file +}