Elexis API documentation
Version 2.1.6 as of December 11 2011

ch.elexis.data
Class Patient

java.lang.Object
  extended by ch.elexis.data.PersistentObject
      extended by ch.elexis.data.Kontakt
          extended by ch.elexis.data.Person
              extended by ch.elexis.data.Patient
All Implemented Interfaces:
ICustomer, IPartner, IPersistentObject, IPerson, ISelectable
Direct Known Subclasses:
TransienterPatient

public class Patient
extends Person
implements ICustomer

Ein Patient ist eine Person (und damit auch ein Kontakt), mit folgenden zusätzlichen Eigenschaften

Author:
gerry

Nested Class Summary
 
Nested classes/interfaces inherited from class ch.elexis.data.Person
Person.PersonDataException
 
Nested classes/interfaces inherited from class ch.elexis.data.Kontakt
Kontakt.statL
 
Nested classes/interfaces inherited from class ch.elexis.data.PersistentObject
PersistentObject.FieldType
 
Field Summary
static java.lang.String[] DEFAULT_SORT
           
static java.lang.String FLD_ALLERGIES
           
static java.lang.String FLD_BALANCE
           
static java.lang.String FLD_DIAGNOSES
           
static java.lang.String FLD_FAX
           
static java.lang.String FLD_GROUP
           
static java.lang.String FLD_PATID
           
static java.lang.String FLD_PHONE1
           
static java.lang.String FLD_PLACE
           
static java.lang.String FLD_RISKS
           
static java.lang.String FLD_STREET
           
static java.lang.String FLD_ZIP
           
 
Fields inherited from class ch.elexis.data.Person
FEMALE, MALE, MOBILE, TITLE
 
Fields inherited from class ch.elexis.data.Kontakt
FLD_ANSCHRIFT, FLD_COUNTRY, FLD_E_MAIL, FLD_IS_LAB, FLD_IS_MANDATOR, FLD_IS_ORGANIZATION, FLD_IS_PATIENT, FLD_IS_PERSON, FLD_IS_USER, FLD_MOBILEPHONE, FLD_PHONE2, FLD_REMARK, FLD_SHORT_LABEL, FLD_WEBSITE
 
Fields inherited from class ch.elexis.data.PersistentObject
CACHE_DEFAULT_LIFETIME, CACHE_MIN_LIFETIME, CFG_CONNECTSTRING, CFG_DRIVER, CFG_PWD, CFG_TYPE, CFG_USER, DELETED, EXISTS, INEXISTENT, INVALID_ID, MATCH_AUTO, MATCH_CONTAINS, MATCH_EXACT, MATCH_REGEXP, MATCH_START
 
Fields inherited from interface ch.elexis.core.data.ICustomer
TYPID
 
Fields inherited from interface ch.elexis.core.data.IPartner
FLD_NAME1, FLD_NAME2, FLD_NAME3, TYPE_ADMIN, TYPE_CLIENT, TYPE_MANAGER, TYPE_MANDATOR, TYPE_ORGANIZATION, TYPE_PERSON, TYPE_USER
 
Fields inherited from interface ch.elexis.core.data.IPersistentObject
DELETED, FLD_DATE, FLD_DELETED, FLD_EXTINFO, FLD_ID, FLD_LASTUPDATE, MATCH_AUTO, MATCH_CONTAINS, MATCH_EXACT, MATCH_REGEXP, MATCH_START, STATE_EXISTING, STATE_INEXISTENT, STATE_INVALID_ID
 
Fields inherited from interface ch.elexis.core.data.IPerson
FLD_BIRTHDATE, FLD_FIRSTNAME, FLD_LASTNAME, FLD_SEX, FLD_TITLE, FLD_TITLE_SUFFIX
 
Constructor Summary
Patient(java.lang.String Name, java.lang.String Vorname, java.lang.String Geburtsdatum, java.lang.String s)
          Dieser oder der folgende Konstruktor sollte normalerweise verwendet werden, um einen neuen, bisher noch nicht in der Datenbank vorhandenen Patienten anzulegen.
Patient(java.lang.String name, java.lang.String vorname, TimeTool gebDat, java.lang.String s)
          This constructor is more critical than the previous one
 
Method Summary
 Konsultation createFallUndKons()
           
 boolean delete()
          We do not allow direct deletion -> use remove instead
 boolean delete(boolean force)
          Einen Patienten aus der Datenbank entfernen.
 Money getAccountExcess()
          Calculates a possibly available account excess.
 java.lang.String getAlter()
          Das Alter des Patienten in Jahren errechnen
 java.lang.String getAuftragsnummer()
          Eine Auftragsnummer erstellen.
 ICustomerRelation[] getCustomerRelations()
           
 java.lang.String getDiagnosen()
           
 Fall[] getFaelle()
          Deprecated. use getCustomerRelations()
 Prescription[] getFixmedikation()
          Fixmedikation dieses Patienten einlesen
 Money getKontostand()
           
 java.lang.String getLabel(boolean shortLabel)
          Return a short or long label for this Person
 Konsultation getLetzteKons(boolean create)
          Die neueste Konsultation dieses Patienten holen, soweit eruierbar
 java.lang.String getMedikation()
          Fixmedikation als Text
 java.lang.String getPatCode()
          Einen Kurzcode, der diesen Patienten identifiziert, zurückliefern.
 java.lang.String getPersAnamnese()
           
 java.util.List<Rechnung> getRechnungen()
          Return all bills of this patient
 java.lang.String getSystemAnamnese()
           
 boolean isDragOK()
          Darf dieses Objekt mit Drag&Drop verschoben werden?
 boolean isValid()
          Angeben, ob dieses Objekt gültig ist.
static Patient load(java.lang.String id)
          Einen Patienten mit gegebener ID aus der Datenbank einlesen
static Patient loadByPatientID(java.lang.String patientNr)
          Einen Patienten aufgrund seiner PatientenNr laden
 Fall neuerFall(java.lang.String Bezeichnung, java.lang.String grund, java.lang.String Abrechnungsmethode)
          Einen neuen Fall erstellen und an den Patienten binden
 
Methods inherited from class ch.elexis.data.Person
countItem, getGeburtsdatum, getGeschlecht, getInitials, getName, getNatel, getPersonalia, getVorname
 
Methods inherited from class ch.elexis.data.Kontakt
addBezugsKontakt, createStdAnschrift, findKontaktfromInfoStore, flushInfoStore, getAnschrift, getBemerkung, getBezugsKontakte, getContactInfo, getContactInfos, getContactSalutation, getInfoElement, getInfoStore, getInfoString, getKuerzel, getLabel, getMailAddress, getMFU, getPartnerRoles, getPostAnschrift, getRelatedReminders, getStatForItem, getStatForString, hasRole, istOrganisation, istPatient, istPerson, setAnschrift, setBemerkung, setInfoElement, setMFU, setPartnerRoles, statForItem, statForString
 
Methods inherited from class ch.elexis.data.PersistentObject
addChangeListener, addSticker, addToList, addXid, begin, checkNull, checkZero, checkZeroDouble, clearCache, connect, connect, deleteList, disconnect, equals, executeSQLScript, exists, exportData, fireChangeEvent, flatten, fold, get, get, getCacheTime, getConnection, getDefaultCacheLifetime, getFieldType, getId, getInt, getLastUpdate, getList, getList, getMap, getSticker, getStickers, getWrappedId, getXid, getXid, getXids, hashCode, isAvailable, isDeleted, isMatching, isMatching, isMatching, isMatching, isShowDeleted, lock, map, relock, removeChangeListener, removeFromList, removeFromList, removeSticker, resetCache, set, set, setDefaultCacheLifetime, setInt, setMap, setShowDeleted, setTrace, state, storeToString, tableExists, ts, undelete, unlock
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ch.elexis.core.data.IPartner
getContactInfo, getContactInfos, getContactSalutation, getPartnerRoles, hasRole, setPartnerRoles
 
Methods inherited from interface ch.elexis.core.data.IPersistentObject
addChangeListener, addSticker, addXid, exists, get, get, getId, getInt, getLabel, getLastUpdate, getMap, getSticker, getStickers, getXid, getXid, getXids, isAvailable, isDeleted, isMatching, isMatching, isMatching, isMatching, removeChangeListener, removeSticker, set, set, setInt, setMap, state, storeToString
 

Field Detail

FLD_ALLERGIES

public static final java.lang.String FLD_ALLERGIES
See Also:
Constant Field Values

FLD_RISKS

public static final java.lang.String FLD_RISKS
See Also:
Constant Field Values

FLD_GROUP

public static final java.lang.String FLD_GROUP
See Also:
Constant Field Values

FLD_DIAGNOSES

public static final java.lang.String FLD_DIAGNOSES
See Also:
Constant Field Values

FLD_PATID

public static final java.lang.String FLD_PATID
See Also:
Constant Field Values

FLD_STREET

public static final java.lang.String FLD_STREET
See Also:
Constant Field Values

FLD_ZIP

public static final java.lang.String FLD_ZIP
See Also:
Constant Field Values

FLD_PLACE

public static final java.lang.String FLD_PLACE
See Also:
Constant Field Values

FLD_PHONE1

public static final java.lang.String FLD_PHONE1
See Also:
Constant Field Values

FLD_FAX

public static final java.lang.String FLD_FAX
See Also:
Constant Field Values

FLD_BALANCE

public static final java.lang.String FLD_BALANCE
See Also:
Constant Field Values

DEFAULT_SORT

public static final java.lang.String[] DEFAULT_SORT
Constructor Detail

Patient

public Patient(java.lang.String Name,
               java.lang.String Vorname,
               java.lang.String Geburtsdatum,
               java.lang.String s)
Dieser oder der folgende Konstruktor sollte normalerweise verwendet werden, um einen neuen, bisher noch nicht in der Datenbank vorhandenen Patienten anzulegen.

Parameters:
Name -
Vorname -
Geburtsdatum - Als String in Notation dd.mm.jj
s - Geschlecht m oder w

Patient

public Patient(java.lang.String name,
               java.lang.String vorname,
               TimeTool gebDat,
               java.lang.String s)
        throws Person.PersonDataException
This constructor is more critical than the previous one

Parameters:
name - will be checked for non-alphabetic characters
vorname - will be checked for non alphabetiic characters
gebDat - will be checked for unplausible values
s - will be checked for undefined values
Throws:
TimeTool.TimeFormatException
Person.PersonDataException
Method Detail

getDiagnosen

public java.lang.String getDiagnosen()

getPersAnamnese

public java.lang.String getPersAnamnese()

getSystemAnamnese

public java.lang.String getSystemAnamnese()

isValid

public boolean isValid()
Description copied from class: PersistentObject
Angeben, ob dieses Objekt gültig ist.

Specified by:
isValid in interface IPersistentObject
Overrides:
isValid in class Person
Returns:
true wenn die Daten gültig (nicht notwendigerweise korrekt) sind

getFaelle

@Deprecated
public Fall[] getFaelle()
Deprecated. use getCustomerRelations()

Eine Liste aller zu diesem Patient gehörenden Fälle liefern

Returns:
Array mit allen Fällen (das die Länge null haben kann)

getCustomerRelations

public ICustomerRelation[] getCustomerRelations()
Specified by:
getCustomerRelations in interface ICustomer

getFixmedikation

public Prescription[] getFixmedikation()
Fixmedikation dieses Patienten einlesen

Returns:
ein Array aus Prescription.javaPrescriptions

getMedikation

public java.lang.String getMedikation()
Fixmedikation als Text

Returns:

getLetzteKons

public Konsultation getLetzteKons(boolean create)
Die neueste Konsultation dieses Patienten holen, soweit eruierbar

Parameters:
create - : eine Kons erstellen, falls keine existiert
Returns:
die letzte Konsultation oder null

createFallUndKons

public Konsultation createFallUndKons()

neuerFall

public Fall neuerFall(java.lang.String Bezeichnung,
                      java.lang.String grund,
                      java.lang.String Abrechnungsmethode)
Einen neuen Fall erstellen und an den Patienten binden

Returns:
der eben erstellte Fall oder null bei Fehler

getPatCode

public java.lang.String getPatCode()
Einen Kurzcode, der diesen Patienten identifiziert, zurückliefern. Der Kurzcode kann je nach Voreinstellung eine eindeutige, jeweils nur einmal vergebene Nummer sein, oder ein aus den Personalien gebildetes Kürzel. Dieser Code kann beispielsweise als Index für die Archivierung der KG's in Papierform verwendet werden.

Returns:
einen String, (der eine Zahl sein kann), und der innerhalb dieser Installation eindeutig ist.

getKontostand

public Money getKontostand()

getAccountExcess

public Money getAccountExcess()
Calculates a possibly available account excess. (This value may be added to a bill as prepayment.)

Considers all overpaid bills and account transactions not bound to a bill. The garant of the bill must be the patient itself. (Bills not yet paid or partly paid are not considered.)

This value is not the same as the current account balance, since we ignore outstanding debts of not yet paid bills.

Returns:
the account excess (may be zero or positive)

load

public static Patient load(java.lang.String id)
Einen Patienten mit gegebener ID aus der Datenbank einlesen


loadByPatientID

public static Patient loadByPatientID(java.lang.String patientNr)
Einen Patienten aufgrund seiner PatientenNr laden

Parameters:
patientNr -
Returns:
Patient falls gefunden, null wenn nicht gefunden

getLabel

public java.lang.String getLabel(boolean shortLabel)
Description copied from class: Person
Return a short or long label for this Person

Overrides:
getLabel in class Person
Parameters:
shortLabel - return a short label for true, and a long label otherwise
Returns:
a label describing this Person

delete

public boolean delete()
We do not allow direct deletion -> use remove instead

Overrides:
delete in class Kontakt
Returns:
true on success

delete

public boolean delete(boolean force)
Einen Patienten aus der Datenbank entfernen. Dabei werden auch alle verknüpften Daten gelöscht (Labor, Rezepte, AUF, Rechnungen etc.) Plugins, welche patientenspezifische Daten speichern, sollten diese ebenfalls löschen (sie erhalten einen ObjectEvent)

Parameters:
force - bei true wird der Patient auf jeden Faöll gelöscht, bei false nur, wenn keine Fälle von ihm existieren.
Returns:
false wenn der Patient nicht gelöscht werden konnte.

isDragOK

public boolean isDragOK()
Description copied from class: PersistentObject
Darf dieses Objekt mit Drag&Drop verschoben werden?

Specified by:
isDragOK in interface IPersistentObject
Overrides:
isDragOK in class PersistentObject
Returns:
true wenn ja.

getAuftragsnummer

public java.lang.String getAuftragsnummer()
Eine Auftragsnummer erstellen. Diese enthält die Patientennummer ergänzt mit der Modulo10-Prüfsumme über diese Nummer, plus die aktuelle Uhrzeit als -hhmm

Returns:
eine verifizierbare Auftragsnummer.

getAlter

public java.lang.String getAlter()
Das Alter des Patienten in Jahren errechnen

Returns:
Das Alter in ganzen Jahren als String

getRechnungen

public java.util.List<Rechnung> getRechnungen()
Return all bills of this patient

Returns:
a list of bills of this patient

Elexis API documentation
Version 2.1.6 as of December 11 2011

Copyright 2005-2011 by Gerry Weirich, Elexis