v3dtr1:GTS

Aus Hl7wiki
Version vom 13. Mai 2009, 18:23 Uhr von Tim (Diskussion) (Die Seite wurde neu angelegt: = GTS – Der generische Zeit Datentyp = Nachstehend wird der GTS Datentyp (General Timing Specification oder generische Zeitangabe) beschrieben, wobei ausschließlich ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

GTS – Der generische Zeit Datentyp

Nachstehend wird der GTS Datentyp (General Timing Specification oder generische Zeitangabe) beschrieben, wobei ausschließlich die Aspekte beschrieben werden, die auf die deutsche Situation zutreffen. Falls es spezifische Anweisungen gibt, wie etwas in Deutschland implementiert werden muss, wird dies im Text angegeben.

Der Datentyp GTS bietet eine sehr umfangreiche (aber auch komplexe) Struktur für die Angabe von Zeitpunkten, Zeitintervallen und Zeitschemas mit einem praktisch unbegrenzt komplexen Aufbau an. Die Analyse von GTS ist ein Thema für sich, aber zum Glück lassen sich die meisten Anwendungen mit einem limitierten Set an GTS Funktionen, wie TS und IVL_TS beschreiben.

Simpel gesagt ist ein GTS ein SET<TS>. Diese können zu periodischen Sets zusammengefügt werden und durch Set-Operationen ist es möglich, auch komplexe Zeitangaben zu spezifizieren. Das folgende Schema zeigt zur Illustration eine Zeitangabe am Beispiel einer Instruktion zur Arzneiverabreichung “an geraden Tagen (Beginn am Tag 0, dem ersten Tag, an dem die Arznei verabreicht wird), wochentags von Mo. bis Fr.” als ein Set von Tagen. Das Set der Wochentage (erste Reihe) wird mit einem zweiten Set, das als Zeitintervall der Tage von Mo. bis Fr. definiert ist, geschnitten. Daraus ergibt sich die dritte Reihe. Diese wird mit einem Set von geraden Tagen geschnitten, wodurch schließlich Reihe fünf mit dem gewünschten Ergebnis entsteht.


Datei:GTS IMG1.jpg


Es sind verschiedene XML Repräsentationen eines Elements mit dem Typen GTS denkbar, aber in Deutschland hat ein vollständiges Element des Typen GTS immer folgendes Format:

Datei:GTS IMG2.jpg

Das XML Element effectiveTime wird als SXPR_TS (parenthetic set expression des Typen TS) definiert und die Set-Komponenten <comp> werden als Kindelemente zugefügt.


Das bedeutet, dass im XML Element die Set- Komponente Elemente benutzt wird. Bei XML hat ein GTS Datentyp also immer das folgende Muster:

<effectiveTime xsi:type="SXPR_TS">
  <comp xsi:type="…">
      </comp>
  <comp xsi:type="…" operator="A">
      </comp> 
<effectiveTime/>


Als Set-Komponenten sind die Datentypen PIVL (periodic interval of time oder periodisches Zeitintervall) und EIVL (event related interval of time oder ereignisbezogenes Intervall) zugelassen. In Deutschland wird zurzeit nur PIVL benutzt. Eine Set-Komponente wird über die Angabe xsi:type als Datentyp PIVL_TS, IVL_TS oder TS definiert. Für die Set-Komponenten sind Operatoren verfügbar (siehe auch vorstehendes Beispiel für die Set-Operationen), welche die verschiedenen Komponenten zusammen-setzen können: die Vereinigung mit dem vorigen Zeitschema, die Differenz mit dem vorigen Zeitschema oder den Durchschnitt mit dem vorigen Zeitschema (siehe nachstehend unter PIVL für eine nähere Erläuterung).

<effectiveTime xsi:type="SXPR_TS">
  <comp xsi:type="IVL_TS">
    &lt;!-- eine normale Intervallangabe --&gt;
  </comp>
  <comp xsi:type="PIVL_TS" operator="A">
    &lt;!-- periodische Intervallangaben (hier mit einem Operator zwischen zwei Sets) --&gt;
  </comp> 
<effectiveTime/>


Weil GTS eine Superklasse für alle Zeitangaben in HL7 ist, kann von einem Element des Datentyps GTS in einer XML Instanz beispielsweise auch ein Intervall erstellt werden, indem man das xsi:type XML Attribut anwendet. Gesetzt den Fall, dass effectiveTime als GTS in einem Modell definiert ist, dann enthalten die folgenden XML Instanzen ausnahmslos gültige Zeitangaben.

<effectiveTime xsi:type="IVL_TS">
  <low value="20050924"/>
  <high value="20050925"/>
</effectiveTime >


<effectiveTime xsi:type="SXPR_TS">
	<comp xsi:type="IVL_TS">
		<low value="20050901"/>
		<width value="90" unit="d"/>
	</comp>
	<comp xsi:type="PIVL_TS" operator="A">
		<period value="2" unit="d"/>
	</comp> 
<effectiveTime/>