Elexis: Das führende OpenSource-Arztpraxisprogamm
im deutschsprachigen Raum
Java doc für Elexis version 2.1.7.dev vom 01.09.2013

Package ch.elexis.data

Dieses Package enthält diejenigen Klassen, die direkten Kontakt mit der Datenbank haben.

See:
          Description

Interface Summary
ICodeElement  
IDiagnose Diagnosen sind ebensop wie Leistungen "Pluggable" definiert, damit neue Codesysteme leicht eingebaut werden können.
ISelectable Empty marker interface to denote an object as selectable
IVerrechenbar Das Leistungskonzept ist "pluggable" definiert.
IVerrechnetAdjuster Implementations of IVerrechnetAdjuster can adjust a Verrechnet as it is created.
 

Class Summary
AccountTransaction  
Anschrift  
Anwender Ein Anwender ist eine Person (und damit auch ein Kontakt), die zusätzlich das Recht hat, diese Software zu benützen.
Artikel Ein Artikel ist ein Objekt, das im Lager vorhanden ist oder sein sollte oder einem Patienten verordnet werden kann
ArzttarifFactory  
AUF  
BBSEntry Ein Eintrag fürs Schwarze Brett.
Bestellung  
Bestellung.BestellungDateComparator  
Bestellung.Item  
BezugsKontakt  
Brief Ein Brief ist ein mit einem externen Programm erstelles Dokument.
DayMessage  
DBImage A DBImage is an Image stored in the database and retrievable by its name
DBImageDescriptor  
DBInfo Metainformtionen über die Datenbank beschaffen
DBLog  
DiagnoseCodeFactory  
Eigenleistung  
Fall Ein Fall ist eine Serie von zusammengehörigen Behandlungen.
FilterFactory  
FilterFactory.Filter  
ICD10  
ICDImporter Der ICDImporter importiert den ICD-Code, wie er beispielsweise von der WHO bereitgestellt wird.
IVerrechenbar.DefaultComparator  
IVerrechenbar.DefaultFilter  
IVerrechenbar.DefaultOptifier  
IVerrechenbar.NoObligationOptifier  
Konsultation Eine Konsultation ist ein einzelner Mandant/Patient-Kontakt.
Kontakt Ein Kontakt ist der kleinste gemeinsame Nenner anller Arten von Menschen und Institutionen und somit die Basisklasse für alle Kontakte.
Kontakt.statL  
KontaktOrderManagement Auftragsverwaltungstabelle: Derzeit können Auftragsnummern aus verschiedenen Domänen, welche Auftragsnummern vergeben verwaltet werden (z.B. die unterschiedlichen Laborauftragsnummern des Labors und des Arztes)
LabGroup A LabGroup is a named collection of LabItem elements.
LabItem Ein Laboritem, also ein anzeigbarer Laborwert.
Labor  
LaborLeistung  
LaborleistungImporter  
LabResult  
Leistungsblock  
Mandant Ein Mandant ist ein Anwender (und damit eine Person und damit ein Kontakt), der zusätzlich eigene Abrechnungen führt.
Messages  
NamedBlob A named Blob is just that: An arbitrarly named piece of arbitrary data.
NamedBlob2 Well, just a clone of NamedBlob, but using table HEAP2 - sort of a cheap load balancing
Organisation Eine Organisation ist eine Kontakt, die ein Kollektiv darstellt.
OutputLog An OutputLog instance carries the information when and where to a PersistentObject has been sent.
Patient Ein Patient ist eine Person (und damit auch ein Kontakt), mit folgenden zusätzlichen Eigenschaften Anamnesen : PA, SA, FA Fixe Diagnosen Fixe Medikation Risiken Einer Liste der Fälle, die zu diesem Patienten existieren Einer Liste der Garanten, die diesem Patienten zugeordnet wurden Einer Liste aller Forderungen und Zahlungen im Verkehr mit diesem Patienten
PersistentObject Base class for all objects to be stored in the database.
PersistentObjectFactory  
Person Eine Person ist ein Kontakt mit zusätzlich Namen, Geburtsdatum und Geschlecht.
PhysioComparator  
PhysioImporter  
PhysioLeistung Implementation of the swiss physiotherapy-tariff
Plz  
Prescription Eine Verordnung.
Query<T> Query manages all database queries of PersistentObjects and derived classes Die Query-Klasse erledigt alle Datenbankabfragen auf PersistentObjects und davon abgeleitete Klassen.
Rechnung  
Rechnungssteller This class is only needed to denote a person or organization that can make a bill.
Reminder Ein Reminder ist eine Erinnerung an etwas.
Rezept Ein Rezept besteht aus einem Mandanten, einem Patienten, einem Datum und einer Prescription-Liste Aus kompatibilitätsgründen wird in Moment noch der RpText mitgeschleppt
RFE  
RnStatus  
Script A script.
Sticker Eine Markierung für im Prinzip beliebige Objekte.
TarmedImporter Import des Tarmed-Tarifsystems aus der Datenbank der ZMT.
TarmedLeistung Implementation des Tarmed-Systems.
TarmedLeistung.MandantFilter Konfigurierbarer Filter für die Anzeige des Tarmed-Codebaums in Abhängigkeit vom gewählten Mandanten (Nur zur Dignität passende Einträge anzeigen)
TarmedOptifier Dies ist eine Beispielimplementation des IOptifier Interfaces, welches einige einfache Checks von Tarmed-Verrechnungen durchführt
TICode Die Tessinercodes werden nicht in der Datenbank vorgehalten, sondern sind aus Effizientgründen hier in dieser Klasse fest verdrahtet.
Transaction Deprecated. we don't need this really
TrustCenters  
VerrechenbarAdapter  
Verrechnet Ein Verrechnet ist ein realisiertes Verrechenbar.
Xid A XID is an external identifier, that is an ID from en external identifyer system.
Xid.XIDDomain  
XML2Database This class helps exporting/importing of database data.
Zahlung  
 

Enum Summary
Bestellung.ListenTyp  
DBLog.TYP  
FilterFactory.LINK  
FilterFactory.OPERATORS  
IVerrechenbar.VatInfo Definition von Informationen zu der Leistung welche für die MWSt relevant sind.
LabItem.typ  
PersistentObject.FieldType  
Reminder.Status  
Reminder.Typ  
RnStatus.REJECTCODE  
 

Exception Summary
Person.PersonDataException  
Xid.XIDException  
 

Package ch.elexis.data Description

Dieses Package enthält diejenigen Klassen, die direkten Kontakt mit der Datenbank haben.

Es ist wesentlich, dass von anderen Teilen des Programms aus nur über die hier definierten Klassen mit der Datenbank kommuniziert wird. Nur so kann die Konsistenz der Daten gewährleistet werden und kann sichergestellt werden, dass bei einem Wechsel der Datenbank-Engine keine unüberschaubaren Programmänderungen notwendig werden.

Prinzip

Basisklasse ist PersistentObject. Diese ist nicht zur direkten Verwendung gedacht. Alle anderen Klassen sind von PersistentObject abgeleitet. Jede Klasse steht für ein bestimmtes Datenobjekt und entscheidet selbst, welche Tabellen und Felder zur Speicherung ihrer einzelnen Daten verwendet wird.

Jede Datenklasse hat einen Konstruktor mit Parametern, um ein neues, bisher noch nicht in der Datenbank befindliches Objekt dieser Klasse zu erzeugen, und eine statische Funktion load(String id), mit der ein Objekt aus der Datenbank rekonstruiert werden kann.

Die Identifikation eines Objekts geschieht über die automatisch erzeugte eindeutige ID, ein String mit garantiert maximal 25 Zeichen, der garantiert innerhalb des Netzwerks nur ein einziges Mal vorkommt. Die ID eines DatenObjekts kann mit getID() erfragt werden.

Abfragen

Abfragen erfolgen über die Klasse Query. Eine Query-Abfrage liefert eine Liste mit allen zur Bedingung passenden Objekten zurück. Für eine Abfrage müssen folgende Schritte vorgenommen werden:

  1. Erstellung eines Query-Objekts: Query qbe=new Query(Person.class). Parameter der Funktion ist die Klasse, deren Objekte gesucht werden sollen.
  2. Eingeben der Bedingung: qbe.add("Feld","Op","Wert"). Wobei "Feld" der Name des Felds ist, "Op" der Suchoperator (z.B. = oder LIKE) und "Wert" die Filterbedingung. Zu beachten: Bei "Like" sollte die Filterbedingung mit % eingeschlossen sein, um auch unvollständige Wörter zu finden.
  3. (Eventuell) Eingeben einer Verknüpfung zu einer weiteren Bedingung: qbe.and() oder qbe.or()
  4. (Eventuell) Eingeben einer weiteren Bedingung mit qbe.add() wie oben beschrieben. Diese Schritte können beliebig oft wiederholt werden.
  5. Ausführen der Abfrage: List<PersistentObject> list=qbe.execute()


Elexis: Das führende OpenSource-Arztpraxisprogamm
im deutschsprachigen Raum
Java doc für Elexis version 2.1.7.dev vom 01.09.2013