Konfiguracja Wyjścia HL7v2

Wysyłanie wyników do EMR lub innego zewnętrznego systemu wymaga ważnej licencji EMR. Aby uzyskać pomoc w konfiguracji wyjścia HL7v2, należy skontaktować się z Wsparcie techniczne.

Otwórz ustawienia

Aby skonfigurować wyjście HL7v2, otwórz aplikację AGNES Connect i naciśnij ikonę Ustawienia w lewym dolnym rogu.

Wybierz sekcję Urządzenia

Znajdź i wybierz wpis oznaczony jako Urządzenia.

Wybierz HL7v2

Znajdź i wybierz wpis oznaczony HL7v2.

Edytuj konfigurację

Kliknij konfigurację, aby edytować.

Zastosuj lub anuluj

Kliknij Zastosuj, aby zapisać zmiany.

Naciśnij ESC, aby anulować bez zapisywania.

Ustawienia HL7

UstawienieOpis
enabledUstaw na true aby włączyć wyjście HL7. Ustaw na false aby wyłączyć wyjście HL7.
allowQueryUstaw na true aby włączyć zapytania pacjentów.
allowVitalsUstaw na true, aby zezwolić na wysyłanie migawek z filmami. Ustaw na false, aby zablokować wysyłanie migawek życiowych.
allowDocumentsUstaw na true aby zezwolić na wysyłanie dokumentów, takich jak raporty PDF i zrzuty wideo.
allowedExternalExtensionsLista rozszerzeń plików umożliwiających wyeksportowanie.
destinationPrzeznaczenie wiadomości w pliku HL7. Akceptuje adres URL mllp://, mllps://, http://, https://, lub file://.
fileDestinationPrzeznaczenie kluczowych przesłań HL7. Akceptuje adres URL mllp://, mllps://, http://, https://, lub file://.
queryDestinationPrzeznaczenie zapytań o informacje dla pacjenta HL7. Akceptuje URI mllp://, mllps://, http://, lub https://. Włącza zakładkę Szukaj pacjenta w AGNES , gdy jest zdefiniowany.
receivingApplicationWypełnia pole “Odbieranie aplikacji” wszystkich wychodzących wiadomości HL7.
receivingFacilityWypełnia pole “Obiekt odbiorczy” wszystkich wychodzących wiadomości HL7.
rawFileUploadUstaw na true aby przesłać pliki bez opakowania HL7.
requiredPatientFieldsLista pól, których AGNES powinno wymagać przed wysłaniem wiadomości HL7, takich jak patientId, firstName, lastName, middleInitial, birthDate, i/lub sex.
timestampFormatFormat znacznika czasu. Wartości domyślne do standardu HL7v2.
hl7_vitals_msgSkonfiguruj poszczególne istotne segmenty komunikatów. Może nadpisywać wartości w segmentach MSH, PID, OBR, i OBX.
hl7_document_msgSkonfiguruj poszczególne segmenty komunikatów dokumentów. Może nadpisywać wartości w segmentach MSH, PID, OBR, i OBX.
queryPatientMessageSkonfiguruj segmenty wychodzących zapytań HL7. Może zastępować wartości w segmentach MSH i QPD.

Zapytanie pacjenta

Użytkownicy mogą wysyłać zapytania o listę pacjentów z EMR przez HL7, jeśli system EMR to obsługuje. Użytkownik może podać częściowy ciąg wyszukiwania, aby zawęzić wyniki.

Punkt końcowy zapytania HL7

Po zdefiniowaniu queryEndpoint , zakładka Patient Search w AGNES zostanie włączona. Aby włączyć kartę wyszukiwania pacjenta, określ adres serwera do połączenia w konfiguracji HL7 jako queryEndpoint. Sekcja QPD będzie musiała zostać zdefiniowana w konfiguracji HL7 w oparciu o ustawienia w podłączonej EMR.

Zezwól na zapytanie pacjenta

Funkcjonalność wyszukiwania w AGNES jest włączana po zdefiniowaniu queryEndpoint. Można to wyłączyć, ustawiając allowQuery na false.


        allowQuery: false
      
Copy to clipboard

Dostosowywanie segmentów HL7

AGNES produkuje poprawne, kompleksowe sygnały HL7v2 domyślnie, ale niektórzy użytkownicy mogą zażądać dodatkowych danych lub zmian na wyjściu. Wartości każdego segmentu i każdego z nich pola mogą być nadpisane za pomocą ustawień hl7_vitals_msg (dla dyskretnych obserwacji życiowych), hl7_documents_msg (dla dokumentów) i queryPatientMessage (dla zapytań spisowych).

Aby dostosować segment, dodaj kod segmentu jako klucz w powiązanym ustawieniu wiadomości. Poszczególne pola mogą być dostosowywane przy użyciu ich numeru poprzedzonego podkreśleniem. Na przykład _1 zastąpi pierwsze pole segmentu. Pola zagnieżdżone są również modyfikowane według tego samego systemu. Pola zostaną nadpisane tylko, jeśli określono.

Na przykład, następujące ustawienia będą kapitalizować tylko na nazwisku pacjenta podczas zapisywania obserwacji:

Uwaga: YAML uwzględnia wielkość spacji
Copy to clipboard

          hl7_vitals_msg:
  PID:
    _5:
      _0:
        _1: {{ patient.lastName.value.toUpperCase() }}
        

W niektórych przypadkach pole w segmencie HL7 może mieć typ zmiennej, np. w trzecim polu segmentu QPD (“Parametry użytkownika”). W tych przypadkach AGNES pozwala na zdefiniowanie struktury wiadomości za pomocą klawiszy _def w celu zdefiniowania struktur niestandardowych, tak aby wiadomość mogła odpowiadać potrzebom otrzymującego aplikacji. Na przykład przejdź parametry wyszukiwania zapytania definiując pole “Parametry użytkownika” segmentu QPD:

Uwaga: YAML uwzględnia wielkość spacji
Copy to clipboard

          queryPatientMessage:
  QPD:
    _3:
      _0:
        _1:
          _def:
            dt: ST
            opt: R
            rep: 0
          _0: Status
        _2:
          _def:
            dt: ST
            opt: R
            rep: true
          _0: Active
        

Klucze _def muszą zawierać następujące właściwości:

WłasnośćOpis
dtTyp danych HL7v2. Należy zapoznać się z normą HL7 dotyczącą prawidłowych wartości.
descOpis pola. Nie przekazano.
optOpcjonalność. R dla wymaganych, O dla opcjonalnych.
repPowtarzalność. 0 lub false dla braku powtórzeń.

Dostępne zmienne szablonu

Podczas nadpisywania segmentów HL7 lub obliczania punktu końcowego dla żądania, dostępne są następujące zmienne szablonu.

ZmiennyZwroty
{{document.source}}Moduł AGNES który dodał dokument
{{document.data}}Dane z dokumentu
{{document.timestamp}}Znacznik czasu dokumentu z formatowaniem
{{document.key}}Unikalny klucz misanthropy do dokumentu
{{document.ext}}Rozszerzenie dokumentu
{{document.filename}}Nazwa pliku dokumentu
{{document.isValid}}Wartość logiczna
{{document.mime}}Typ pliku MIME
{{document.thumbnail}}Użyta ścieżka pliku miniatury
{{document.editable}}Wartość logiczna
{{patient.sex.value}}Płeć pacjenta
{{patient.patientId.value}}ID pacjenta (niewidoczne z portalu)
{{patient.middleInitial.value}}środkowy inicjał pacjenta
{{patient.extra.value}}Dodatkowe pole pacjenta (niewidoczne z portalu) używane do przekazywania dowolnych wartości
{{patient.birthDate.value}}Data urodzenia pacjenta
{{patient.patientExternalId.value}}Zewnętrzny identyfikator pacjenta (widoczny dla użytkownika)
{{patient.firstName.value}}Imię pacjenta
{{patient.lastName.value}}Nazwisko pacjenta
{{user.firstName}}Imię zgłaszającego
{{user.lastName}}Nazwisko zgłaszającego
{{user.username}}Nazwa użytkownika zgłaszającego
{{user.org}}Identyfikator organizacji zgłaszającego
{{user.sub}}Identyfikator użytkownika zgłaszającego
{{user.npi}}Identyfikator EMR podmiotu przekazującego dane
{{user.fullName}}Pełna nazwa zgłaszającego
{{timestamp}}Znacznik czasu operacji zapisu w formatowaniu HL7v2
{{docTimestamp}}Znacznik czasu tworzenia dokumentu w formatowaniu HL7v2

Przykładowe konfiguracje

Konfiguracja podstawowa

Uwaga: YAML uwzględnia wielkość spacji
Copy to clipboard

          enabled: true

keepOpen: true
destination: file:///hl7/message-{{document.timestamp}}.hl7
fileDestination: file:///hl7/message-{{document.timestamp}}.hl7

allowExternalDocuments: true
allowVideoSnapshots: true
allowPDFReport: true

# This option will disable the HL7 wrapper for file destinations
#rawFileUpload: true

allowVitals: true
combinedVitalsField: 'OBX'

# If you require certain patient fields to be present, specify them here
#requiredPatientFields:
#        - 'patientId'

allowedExternalExtensions:
    - jpg
    - txt
    - pdf
    - tif

timestampFormat: YYYYMMDDHHmmss

hl7_vitals_msg:
    MSH:
    PID:
    OBR:
    OBX:

hl7_document_msg:
    MSH:
    PID:
    OBR:
    OBX:
        

Przykład ze zmiennymi

Uwaga: YAML uwzględnia wielkość spacji
Copy to clipboard

          enabled: true

keepOpen: true
destination: file:///hl7/vitals-{{docTimestamp}}.hl7
fileDestination: file:///hl7/file-{{docTimestamp}}.hl7

allowExternalDocuments: true
allowVideoSnapshots: true
allowPDFReport: true

# This option will disable the HL7 wrapper for file destinations
#rawFileUpload: true

allowVitals: true
combinedVitalsField: 'OBX'

# If you require certain patient fields to be present, specify them here
#requiredPatientFields:
#        - 'patientId'

allowedExternalExtensions:
    - jpg
    - txt
    - pdf
    - tif

timestampFormat: YYYYMMDDHHmmss

hl7_vitals_msg:
    MSH:
        '_3': '3)Doc_Timestamp={{document.timestamp}}'
        '_4': '4)Timestamp={{timestamp}}'
        '_5': '5)Patient_Birthdate={{patient.birthDate.value}}'
    PID:
        '_1': '1)Patient_ID={{patient.patientId.value}}'
        '_8': '8)Patient_First_Name={{patient.firstName.value}}'
        '_9': '9)Patient_Middle_Initial={{patient.middleInitial.value}}'
        '_10': '10)Patient_Last_Name={{patient.lastName.value}}'
    OBR:
        '_2': '2)Document_Timestamp={{document.timestamp}}'
        '_3': '3)Document_Filename={{document.filename}}'
        '_4': '4)Patient_Sex={{patient.sex.value}}'
    OBX:
        '_1': '1)User_Full_Name={{user.fullname}}'
        '_4': '4)User_Username={{user.username}}'
        '_7': '7)User_First_Name={{user.firstname}}'
        '_8': '8)User_Last_Name={{user.lastname}}'
        '_10': '10)User_Org={{user.org}}'
        '_11': '11)User_Sub={{user.sub}}'
        '_13': '13)User_Meta={{user.meta}}'
        '_15': '15)User_NPI={{user.npi}}'

hl7_document_msg:
    MSH:
        '_3': '3)Doc_Timestamp={{document.timestamp}}'
        '_4': '4)Timestamp={{timestamp}}'
        '_5': '5)Patient_Birthdate={{patient.birthDate.value}}'
        '_6': '6)User_NPI={{user.npi}}'
    PID:
        '_1': '1)Patient_ID={{patient.patientId.value}}'
        '_8': '8)Patient_First_Name={{patient.firstName.value}}'
        '_9': '9)Patient_Middle_Initial={{patient.middleInitial.value}}'
        '_10': '10)Patient_Last_Name={{patient.lastName.value}}'
    OBR:
        '_2': '2)Document_Timestamp={{document.timestamp}}'
        '_3': '3)Document_Filename={{document.filename}}'
        '_4': '4)Patient_Sex={{patient.sex.value}}'
        '_14': '14)User_First_Name={{user.firstname}}'
        '_15': '15)User_Last_Name={{user.lastname}}'
        '_10': '10)User_Org={{user.org}}'
        '_11': '11)User_Sub={{user.sub}}'
        '_13': '13)User_Meta={{user.meta}}'
    OBX:
        '_1': '1)User_Full_Name={{user.fullname}}'
        '_4': '4)User_Username={{user.username}}'
        

Przykład zapytania pacjenta

Uwaga: YAML uwzględnia wielkość spacji
Copy to clipboard

          enabled: true

keepOpen: true
destination: mllps://192.168.1.238:6007
fileDestination: mllps://192.168.1.238:6007
queryEndpoint: mllps://192.168.1.238:6007

allowExternalDocuments: true
allowVideoSnapshots: true
allowPDFReport: true

# This option will disable the HL7 wrapper for file destinations
#rawFileUpload: true

allowVitals: true
combinedVitalsField: 'OBX'

# If you require certain patient fields to be present, specify them here
#requiredPatientFields:
#        - 'patientId'

allowedExternalExtensions:
    - jpg
    - txt
    - pdf
    - tif

timestampFormat: YYYYMMDDHHmmss

queryPatientMessage:
    MSH:
        '_2': 'TeleHealth'
        '_5': 'ApplicationName'
        '_6': 'Facility'
    QPD:
        '_3':
            '_0':
                '_1':
                    '_def':
                        'dt': 'ST'
                        'desc': 'Family Name Segment'
                        'opt': 'R'
                        'rep': 0
                    '_0': 'PID-5-0'
                '_2':
                    '_def':
                        'dt': 'ST'
                        'desc': 'Family Name'
                        'opt': 'O'
                        'rep': 0
                    '_0': '{{patient.lastName}}*'
            '_1':
                '_1':
                    '_def':
                        'dt': 'ST'
                        'desc': 'Given Name Segment'
                        'opt': 'R'
                        'rep': 0
                    '_0': 'PID-5-1'
                '_2':
                    '_def':
                        'dt': 'ST'
                        'desc': 'Given Name'
                        'opt': 'O'
                        'rep': 0
                    '_0': '{{patient.firstName}}*'
            '_2':
                '_1':
                    '_def':
                        'dt': 'ST'
                        'desc': 'Segment'
                        'opt': 'R'
                        'rep': 0
                    '_0': 'PID-2-1'
                '_2':
                    '_def':
                        'dt': 'ST'
                        'desc': 'Patient ID'
                        'opt': 'O'
                        'rep': 0
                    '_0': '{{patient.patientExternalId}}*'

hl7_vitals_msg:
    MSH:
        'ReceivingApplication': 'ApplicationName'
        'ReceivingFacility': 'Facility'
    PID:
    OBR:
    OBX:

hl7_document_msg:
    MSH:
        'ReceivingApplication': 'ApplicationName'
        'ReceivingFacility': 'Facility'
    PID:
    OBR:
    OBX: