Auf dieser Seite wird erläutert, wie Sie ein benutzerdefiniertes Schema zum Parsen von HL7v2-Nachrichten konfigurieren, die nicht dem HL7v2-Standard entsprechen.
Wenn Sie HL7v2-Nachrichten in ein anderes Format wie FHIR oder OMOP konvertieren, müssen Sie zuerst parsen können. und nehmen Sie Ihre HL7v2-Nachrichten in einen HL7v2-Speicher auf. In diesem Leitfaden erfahren Sie, damit Sie HL7v2-Nachrichten erfolgreich parsen und aufnehmen können.
Überblick
Manchmal entsprechen Ihre HL7v2-Nachrichten nicht den HL7v2-Standards. Beispiel: Ihre HL7v2-Nachrichten können Segmente enthalten, die nicht im im HL7v2-Standard oder die Segmente könnten falsch angeordnet sein. Wenn Sie versuchen, nicht konforme Nachrichten aufnehmen, Fehler.
Zum Aufnehmen der nicht konformen HL7v2-Nachrichten müssen Sie
ParserConfig
ändern
, wenn Sie einen HL7v2-Speicher erstellen oder bearbeiten. In ParserConfig
können Sie unter anderem das schematisierte Parsen basierend auf benutzerdefinierten Typen und Segmenten konfigurieren und festlegen, wie abgelehnte HL7v2-Nachrichten verarbeitet werden.
Bevor Sie ParserConfig
konfigurieren, sollten Sie die folgenden Abschnitte lesen, um die Funktionsweise
HL7v2-Nachrichten, Typdefinitionen und Gruppendefinitionen.
HL7v2-Nachrichten
Dieser Abschnitt gibt einen kurzen Überblick über die Struktur von HL7v2-Nachrichten, bei der Konfiguration des Parsers für benutzerdefinierte Schemas nützlich.
HL7v2-Nachrichten sind ereignisbasiert und beschreiben Statusübergänge und teilweise Aktualisierungen von Patientenakten. Jede HL7v2-Nachricht hat einen Nachrichtentyp, definiert den Zweck der Nachricht. Für Nachrichtentypen wird ein dreistelliger Code verwendet und werden im obligatorischen MSH-Header (Main Segment Header) der Nachricht angegeben. Es gibt Dutzende von Nachrichtentypen, darunter:
ADT
: wird verwendet, um Teile der Patientenverabreichungsdaten eines Patienten zu übertragenORU
: zur Übermittlung von BeobachtungsergebnissenORM
: zum Übertragen von Informationen zu einer Bestellung
Schauen wir uns die Struktur von HL7v2-Nachrichten an, die aus Segmenten, Feldern, Komponenten und Unterkomponenten:
In Abbildung 1 sind die folgenden Teile der HL7v2-Nachricht gekennzeichnet: das Segment, der Segmentheader, die Felder und die Komponenten.
In HL7v2-Nachrichten werden standardmäßig die folgenden Zeichen verwendet, um Informationen voneinander zu trennen. Sie können die Trennzeichen und Abschlusszeichen einer HL7v2-Nachricht pro Nachricht im Segment MSH
überschreiben.
Segmentabschlusszeichen:
\r
Wenn Ihre HL7v2-Nachrichten ein anderes Segmenttrennzeichen verwenden, sehen Sie sich das Beispiel für benutzerdefinierte Segmentabschlusszeichen und benutzerdefinierte Felder an.
Trennzeichen für Felder:
|
Komponententrennzeichen:
^
Trennzeichen für Unterkomponenten:
&
Wiederholungstrennzeichen:
~
Escape-Zeichen:
\
Typ- und Gruppendefinitionen
Um den Schemaparser zu verstehen, müssen Typdefinitionen und Gruppendefinitionen verwendet werden.
Typdefinition
Der Begriff „Typen” umfasst Folgendes:
HL7v2-Segmenttypen wie
MSH
(Nachrichtensegment-Header),DG1
(Diagnose) undPID
(Patientenidentifikation)Eine Liste aller HL7v2-Segmenttypen finden Sie unter Segmentdefinitionen.
HL7v2-Datentypen, z. B.
ST
(Stringdaten),TS
(Zeitstempel) undSI
(Sequenz-ID)Eine Liste aller HL7v2-Standarddatentypen finden Sie unter Datentypen.
Sie geben die Typen im Feld name
innerhalb des Objekts Type
an.
Für Typen wird ein modulares Format verwendet, das aus einem Segment und den Feldern, Komponenten und
Unterkomponenten. Die Informationen in einem Type
-Objekt geben an, wie ein Segment zu parsen oder zu interpretieren ist, und beantworten Fragen wie die folgenden:
- Welche Felder enthält das Segment?
- Welche Datentypen haben die Felder?
Das folgende Beispiel zeigt die Typdefinition für ein benutzerdefiniertes ZCD
-Segment:
{ "type": { "name": "ZCD", // Segment type "fields": [ { "name": "1", "type": "ST", // Primitive string data type "minOccurs": 1, // Must occur at least once "maxOccurs": 1 // Not repeated, because it can only occur once }, { "name": "2", "type": "A", // Custom data type "minOccurs": 1 // Repeated, because maxOccurs is not defined } ] } }
In diesem Beispiel enthält das Segment ZCD
zwei Felder, 1
und 2
.
Der Datentyp für 1
ist ST
, was ein primitiver String-Datentyp ist. Datentyp für 2
ist A
, was ein benutzerdefinierter Datentyp ist.
Die folgende Typdefinition für den benutzerdefinierten Datentyp A
zeigt, dass er auch Folgendes enthält:
einen weiteren benutzerdefinierten Datentyp namens B
.
{ "type": { "name": "A", // Custom data type "fields": [ { "name": "1", "type": "ST", // Primitive string data type "minOccurs": 1, // Must occur at least once "maxOccurs": 1 // Not repeated, because it can only occur once }, { "name": "2", "type": "B", // Custom data type "minOccurs": 1, "maxOccurs": 1 } ] } }
Das folgende Beispiel zeigt die Typdefinition für den benutzerdefinierten Datentyp B
, der ein Feld namens 1
mit dem Datentyp ST
und ein Feld namens 2
mit einem Datentyp von ST
hat, das sich wiederholt:
{ "type": { "name": "B", // Custom data type "fields": [ { "name": "1", "type": "ST", // Primitive string data type "minOccurs": 1, // Must occur at least once "maxOccurs": 1 // Not repeated, because it can only occur once }, { "name": "2", "type": "ST" "minOccurs": 1, "maxOccurs": 1 } ] } }
Anhand der Informationen über das Segment und die Datentypen können Sie abschätzen,
ZCD
-Segment in der ursprünglichen HL7v2-Nachricht sieht aus. Dieses Beispiel zeigt die HL7v2-Nachricht mit dem Feld A
, das einmal wiederholt wird, was zulässig ist, da maxOccurs
nicht im Feld A
festgelegt ist:
ZCD|ZCD_field_1|A_field_1^B_component_1&B_component_2_repetition_1~A_field_1^B_component_1&B_component_2_repetition_2
In Abbildung 2 sind die folgenden Teile der Typdefinition beschriftet: das Segment, der Segmentheader, die Felder, die Komponenten, die Unterkomponenten und die Wiederholungen.
Gruppendefinition
Gruppen werden auf Segmentebene definiert und geben Aufschluss darüber, Segmenttypen können in jeder HL7v2-Nachricht aufgenommen sein.
Sie geben Gruppen in der groups
an
Array innerhalb von GroupOrSegment
-Objekt enthält.
Betrachten Sie das folgende Snippet einer Gruppenstruktur für eine ADT_A01
-HL7v2-Nachricht:
- Die erste
segment
immembers
-Array istMSH
(Nachrichtensegment-Header), daMSH
in jeder HL7v2-Nachricht erforderlich ist. Ein
group
mit dem NamenGroup 1
.Diese Gruppe kann maximal
2
Mal vorkommen und enthält das benutzerdefinierte SegmentZCD
.In der Regel enthält eine
group
mehrere logisch gruppierte verschachtelte Segmente und andere Gruppen, aber in diesem Beispiel enthältGroup 1
nur ein einzelnes Segment:ZCD
.
{ "ADT_A01": { "members": [ { "segment": { "type": "MSH" } }, { "group": { "name": "Group 1", "minOccurs": 1, "maxOccurs": "2", "members": [ { "segment": { "type": "ZCD" } } ] } } ] } }
Anhand der Informationen zu den Gruppen können Sie schätzen, wie die ursprüngliche HL7v2-Nachricht aussieht, wenn ZCD
zweimal in der HL7v2-Nachricht auftritt, was zulässig ist, weil maxOccurs
in Group 1
auf 2
festgelegt ist.
Der Rest des ZCD
-Segments ist unbekannt, ohne die Typdefinition zu kennen.
MSH|^~\&|||||20100308000000||ADT^A01|23701|1|2.3|| ZCD|ZCD_CONTENT ZCD|ZCD_CONTENT
In Abbildung 3 sind die folgenden Teile der Gruppendefinition beschriftet: das Segment und die Segmentüberschrift.
Benutzerdefiniertes Schema in einem HL7v2-Speicher konfigurieren
In den folgenden Abschnitten werden die Komponenten eines benutzerdefinierten Schemas erläutert und es wird erklärt, wie Sie das Schema in einem HL7v2-Speicher konfigurieren.
Konfiguration des HL7v2-Speichertyps
Sobald Sie die Typdefinition einer HL7v2-Nachricht verstanden haben, können Sie eine
in einem HL7v2-Speicher. Fügen Sie zum Angeben der Konfiguration
Ein Array von types
und ein version
-Array.
Das folgende Beispiel zeigt, wie die Konfiguration für die Typen angegeben wird. wie in Typdefinition dargestellt in einem HL7v2-Speicher.
Beachten Sie, dass bei der Konfiguration das Array version
verwendet wird, um
Legen Sie die Felder mshField
und value
fest. Diese Felder entsprechen den Feldern und Komponenten im MSH-Segment.
Das von Ihnen angegebene Array types
gilt nur für Nachrichten mit einem
MSH-Segment, das den Werten für mshField
und value
im
version
-Array. Damit können Sie HL7v2-Nachrichten mit verschiedenen Versionen aufnehmen
in denselben HL7v2-Speicher.
{ "types": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "type": [ { "name": "ZCD", // Segment type "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "A", "minOccurs": 1 } ] }, { "name": "A", // Data type "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "B", "minOccurs": 1, "maxOccurs": 1 } ] }, { "name": "B", // Data type "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "ST" } ] } ] } ] }
HL7v2-Speichergruppenkonfiguration
Sie können mit Gruppen eine verschachtelte Struktur auf der Ebene einer „Mitgliedschaft” konfigurieren.
Gruppen werden in einem
members
auf Segmentebene. Die Struktur eines Segments ist vorhersehbar
Felder, Komponenten und Unterkomponenten enthält, das Segment selbst kann jedoch
Ebene der HL7v2-Nachricht.
Wie bei einer Typkonfiguration verwendet auch eine Gruppenkonfiguration
version
-Filter
um HL7v2-Nachrichten mit unterschiedlichen Versionen in denselben HL7v2-Speicher aufzunehmen.
Das folgende Beispiel zeigt, wie die Konfiguration für die Gruppe angegeben wird wie in der Gruppendefinition dargestellt. in einem HL7v2-Speicher:
{ "version": [ { "mshField": "12", "value": "2.3" } ], "messageSchemaConfigs": { "ADT_A01": { "members": [ { "segment": { "type": "MSH" } }, { "group": { "name": "Group 1", "maxOccurs": "2", "members": [ "segment": { "type": "ZCD" } ] } } ] } } }
Vollständige HL7v2-Speicherkonfiguration
Wenn Sie die type-Konfiguration und die group Konfiguration können Sie festlegen, wie die vollständige Konfiguration des benutzerdefinierten Schemas im HL7v2-Speicher aussieht. Sie können auch feststellen, dass das benutzerdefinierte Schema mit einer HL7v2-Nachricht übereinstimmt, was in etwa so aussieht:
MSH|^~\&|||||20100101000000||ADT^A01^A01|23701|1|2.3||
ZCD|ZCD_field_1|A_field_1^B_component_1&B_component_2_repetition_1~A_field_1^B_component_1&B_component_2_repetition_2
Maximieren Sie den folgenden Abschnitt, um das vollständige benutzerdefinierte Schema in der HL7v2-Speicher und fahren Sie dann mit der Erstellung eines HL7v2-Speichers fort, der das benutzerdefinierte Schema verwendet:
Maximieren
{ "parserConfig": { "schema": { "schemas": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "messageSchemaConfigs": { "ADT_A01": { "name": "ADT_A01", "members": [ { "segment": { "type": "MSH", "minOccurs": 1, "maxOccurs": 1 } }, { "group": { "name": "Group 1", "minOccurs": 1, "maxOccurs": "2", "members": [ { "segment": { "type": "ZCD" } } ] } } ] } } } ], "types": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "type": [ { "name": "ZCD", // Segment type "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "A" "minOccurs": 1, "maxOccurs": 1 } ] }, { "name": "A", // Data type "fields": [ { "name": "1", "type": "ST" "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "B" "minOccurs": 1, "maxOccurs": 1 } ] }, { "name": "B", // Data type "fields": [ { "name": "1", "type": "ST" "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "ST" "minOccurs": 1 } ] } ] } ] }, "version": "V3" } }
HL7v2-Speicher mit dem benutzerdefinierten Schema erstellen
Um einen HL7v2-Speicher zu erstellen, der die vollständige benutzerdefinierten Schemas erstellen, füllen Sie diesen Abschnitt aus.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist das übergeordnete Dataset des HL7v2-Speichers
- HL7V2_STORE_ID ist die HL7v2-Speicher-ID
JSON-Text der Anfrage:
{ "parserConfig": { "schema": { "schemas": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "messageSchemaConfigs": { "ADT_A01": { "name": "ADT_A01", "members": [ { "segment": { "type": "MSH", "minOccurs": 1 } }, { "group": { "name": "Group 1", "minOccurs": 1, "members": [ { "segment": { "type": "ZCD" } } ] } } ] } } } ], "types": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "type": [ { "name": "ZCD", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "A", "minOccurs": 1 } ] }, { "name": "A", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "B", "minOccurs": 1, "maxOccurs": 1 } ] }, { "name": "B", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "ST", "minOccurs": 1, "maxOccurs": 1 } ] } ] } ] }, "version": "V3" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "parserConfig": { "schema": { "schemas": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "messageSchemaConfigs": { "ADT_A01": { "name": "ADT_A01", "members": [ { "segment": { "type": "MSH", "minOccurs": 1 } }, { "group": { "name": "Group 1", "minOccurs": 1, "members": [ { "segment": { "type": "ZCD" } } ] } } ] } } } ], "types": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "type": [ { "name": "ZCD", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "A", "minOccurs": 1 } ] }, { "name": "A", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "B", "minOccurs": 1, "maxOccurs": 1 } ] }, { "name": "B", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "ST", "minOccurs": 1, "maxOccurs": 1 } ] } ] } ] }, "version": "V3" } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "parserConfig": { "schema": { "schemas": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "messageSchemaConfigs": { "ADT_A01": { "name": "ADT_A01", "members": [ { "segment": { "type": "MSH", "minOccurs": 1 } }, { "group": { "name": "Group 1", "minOccurs": 1, "members": [ { "segment": { "type": "ZCD" } } ] } } ] } } } ], "types": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "type": [ { "name": "ZCD", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "A", "minOccurs": 1 } ] }, { "name": "A", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "B", "minOccurs": 1, "maxOccurs": 1 } ] }, { "name": "B", "fields": [ { "name": "1", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "ST", "minOccurs": 1, "maxOccurs": 1 } ] } ] } ] }, "version": "V3" } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
HL7v2-Nachricht mit dem benutzerdefinierten Schema aufnehmen und parsen
Führen Sie den folgenden Befehl aus, um eine base64-codierte Version der HL7v2-Nachricht aufzunehmen: diesem Abschnitt.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID
- LOCATION: der Speicherort des übergeordneten Datasets
- DATASET_ID: das übergeordnete Dataset des HL7v2-Speichers
- HL7V2_STORE_ID: die HL7v2-Speicher-ID
JSON-Text der Anfrage:
{ "message": { "data": "TVNIfF5+XCZ8fHx8fDIwMTAwMTAxMDAwMDAwfHxBRFReQTAxXkEwMXwyMzcwMXwxfDIuM3x8DVpDRHxaQ0RfZmllbGRfMXxBX2ZpZWxkXzJeQl9jb21wb25lbnRfMSZCX2NvbXBvbmVudF8yX3JlcGV0aXRpb25fMX5BX2ZpZWxkXzJeQl9jb21wb25lbnRfMSZCX2NvbXBvbmVudF8yX3JlcGV0aXRpb25fMQ==" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "message": { "data": "TVNIfF5+XCZ8fHx8fDIwMTAwMTAxMDAwMDAwfHxBRFReQTAxXkEwMXwyMzcwMXwxfDIuM3x8DVpDRHxaQ0RfZmllbGRfMXxBX2ZpZWxkXzJeQl9jb21wb25lbnRfMSZCX2NvbXBvbmVudF8yX3JlcGV0aXRpb25fMX5BX2ZpZWxkXzJeQl9jb21wb25lbnRfMSZCX2NvbXBvbmVudF8yX3JlcGV0aXRpb25fMQ==" } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages:ingest"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "message": { "data": "TVNIfF5+XCZ8fHx8fDIwMTAwMTAxMDAwMDAwfHxBRFReQTAxXkEwMXwyMzcwMXwxfDIuM3x8DVpDRHxaQ0RfZmllbGRfMXxBX2ZpZWxkXzJeQl9jb21wb25lbnRfMSZCX2NvbXBvbmVudF8yX3JlcGV0aXRpb25fMX5BX2ZpZWxkXzJeQl9jb21wb25lbnRfMSZCX2NvbXBvbmVudF8yX3JlcGV0aXRpb25fMQ==" } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages:ingest" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Kardinalität des Felds bestimmen
Sie können die Kardinalität eines Felds in einer HL7v2-Nachricht bestimmen, indem Sie Folgendes festlegen: im HL7v2-Speicher:
minOccurs
: gibt an, wie oft eine Gruppe, ein Segment, ein Feld Komponente oder Unterkomponente muss in eingehenden HL7v2-Nachrichten vorhanden oder wiederholt seinmaxOccurs
: Legt fest, wie oft eine Gruppe, ein Segment, ein Feld, eine Komponente oder eine Unterkomponente in eingehenden HL7v2-Nachrichten vorhanden sein oder wiederholt werden darf.
Fehlende Elemente ignorieren
Festlegen ignoreMinOccurs
auf true
, wenn die HL7v2 API unabhängig davon alle eingehenden HL7v2-Nachrichten akzeptieren soll
fehlende Elemente. Das bedeutet, dass eine Nachricht nicht abgelehnt wird.
wenn erforderliche Gruppen, Segmente, Felder, Komponenten oder Unterkomponenten fehlen.
Wenn Sie keine HL7v2-Nachrichten aufnehmen können, weil die Nachrichten erforderliche Felder vermissen, empfehlen wir, ignoreMinOccurs
auf true
festzulegen.
Platzhalterfeldtyp
Das Platzhalterzeichen *
ist ein spezieller Typ für Felder. Mit *
wird angegeben,
HL7v2-Parser, bei dem das Feld basierend auf der Struktur im
HL7v2-Nachricht. Die Verwendung von *
anstelle eines Werts für ein Feld ist nützlich, wenn Sie keinen strikten Felddatentyp erzwingen möchten. Solange das Feld
Feldinhalt dem HL7v2-Standard entspricht, kann die Cloud Healthcare API
HL7v2-Nachricht parsen.
Betrachten Sie beispielsweise die folgende Typdefinition. Im Feld 2
wird ein
ein Platzhalterzeichen anstelle eines Felddatentyps. Die Definition lautet
der ersten Definition in der Typdefinition entspricht und
müssen Sie die Typen A
und B
angeben:
"type": { "name": "ZCD" "fields": [ { "name": "1", "type": "ST" }, { "name": "2", "type": "*" } ] }
Nächste Schritte
Beispiele für benutzerdefinierte Schemaparser