H-Net Software

Siehe auch

H-Net SecureClient (eFaktura)

Gefahr

  • SecureClients dürfen nur einmal pro Kunde laufen. Setzt man einen neuen auf (z.B. Test), MUSS ZWINGEND VORHER der bisherige abgeschaltet werden.

Wichtig

  • Die 32-bit-Variante des Client v5 mit der i686-Bibliothek funktioniert auf Partitionen > 2 TB aufgrund der 32 Bit-Beschränkung nicht.

  • Es gibt keinen Unterschied zwischen Test- und Prod-instanzen - man muss nur die Einstellung hnet.modus in /home/hnet/HnetSecureService/HnetCAP/properties/customer.properties passend auf test oder prod setzen.

Installation

yum -y install tar

# if running the older 32-bit Client:
yum -y install glibc.i686

# H-Net-User erstellen:
useradd hnet
usermod --comment="User for H-Net Secure Client" hnet

# Datenverzeichnisse erstellen (prüfen, ob Pfade stimmen):
mkdir -p /data/xml/{inbox,inbox-test,outbox,outbox-test,archive,archive-test}/
chown -R hnet:hnet /data/xml

mkdir -p /var/hnet
chown hnet:hnet /var/hnet

# Ablage des SecureClients z.B. mit scp in /home/hnet, dann
chmod +x /home/hnet/HnetInstaller.exe
chown hnet:hnet /home/hnet/*

su - hnet
./HnetInstaller.exe
# Zugangsdaten eingeben

Bei Umzug von einem System auf ein neues:

  • /data/xml, /home/hnet und /var/hnet kopieren

Port 6443 freigeben (siehe Abschnitt „URLs“).

Test der Connectivity zum H-Net Center:

su - hnet
HnetSecureService/bin/hnet-connectivity

Pfade in Properties-Datei anpassen:

/home/hnet/HnetSecureService/HnetCAP/properties/customer.properties
...
send.root.prod=/data/xml/outbox
send.root.test=/data/xml/outbox-test
...

SELinux:

setsebool -P domain_can_mmap_files on
# if not on NFS:
semanage fcontext --add --type user_home_t "/data/xml(/.*)?"
restorecon -Fvr /data/xml
cat > /tmp/HnetSecureService.te << 'EOF'
# Made with Love by Linuxfabrik for our friends from H-Net :-)
module HnetSecureService 1.3;

require {
    type default_t;
    type init_t;
    type tmp_t;
    type unreserved_port_t;
    type user_home_t;
    type user_tmp_t;
    type var_t;
    class file { append create execute execute_no_trans map open read rename unlink write };
    class process execmem;
    class sock_file { create setattr unlink };
    class tcp_socket name_connect;
}

#============= init_t ==============

allow init_t default_t:file create;
allow init_t self:process execmem;
allow init_t tmp_t:sock_file create;
allow init_t tmp_t:sock_file { setattr unlink };
allow init_t unreserved_port_t:tcp_socket name_connect;
allow init_t user_home_t:file { execute execute_no_trans };
allow init_t user_home_t:file { open read };
allow init_t var_t:file read;
EOF
cd /tmp
checkmodule --mls -m --output HnetSecureService.mod HnetSecureService.te
semodule_package --outfile HnetSecureService.pp --module HnetSecureService.mod
semodule --install HnetSecureService.pp

HnetSecureService/bin/hnet-start
HnetSecureService/bin/hnet-status

Systemd-Service:

/etc/systemd/system/hnet-securesvc.service
[Unit]
Description=H-Net SecureService
After=local-fs.target network.target

[Service]
Type=forking
User=hnet
WorkingDirectory=/home/hnet
ExecStart=/home/hnet/HnetSecureService/HnetCAP/bin/HnetSecureService.exe start
ExecStop=/home/hnet/HnetSecureService/HnetCAP/bin/HnetSecureService.exe stop
SyslogIdentifier=hnet

[Install]
WantedBy=multi-user.target
# modus prüfen
grep modus /home/hnet/HnetSecureService/HnetCAP/properties/*.properties

systemctl daemon-reload
systemctl enable --now hnet-securesvc.service

Logs prüfen:

tail -f /home/hnet/HnetSecureService/HnetCAP/logs/*

Ein Client kann auf einer Maschine gleichzeitig Test- und Prod-Daten verarbeiten - dann müssen die jeweiligen Daten aber strikt in getrennte Verzeichnisse wandern. Wenn beispielsweise Daten mit modus=prod in den Test-Kanal geschoben werden, erhält man den Fehler Error in UserData, FID=953998: UserDataException: Productive Data in TestMode: Not allowed..

H-Net MC (MedicalConnector)

  • Läuft nur auf Windows. Installation wird durch H-Net/Swisscom (Abteilung Health) per Teamviewer gemacht.

  • Port 6444 freigeben (siehe Abschnitt „URLs“).

  • Log-Files finden sich in H-Net\RadioService\HnetCAP\logs\RadioGetClient.log.

  • Der MedicalConnector nimmt Aufträge per nicht mehr zeitgemässer SOAP-Schnittstelle entgegen. Die WSDL-Definition unter http://mdicalconnector/MedicalConnectorService/MedicalConnectorService?wsdl hilft bei der Verwendung der SOAP-Schnittstelle.

URLs

Die URLs werden beim SecureClient in der /home/hnet/HnetSecureService/HnetCAP/properties/HnetSecureConnector.properties und beim MedicalConnector in der H-Net\RadioService\HnetCAP\properties\RadioService.properties angegeben. Konfiguration seit 2020-11-30:

  • SecureClient (eFaktura): tdna.ehealthnet.ch:6443/tcp

  • Produktivsystem MedicalConnector: tdna.medicalconnector.ch:6444

  • Testsystem MedicalConnector: tdna-test.medicalconnector.ch:6444

Built on 2024-11-18