Datatyper
För att informationsmodellerna i NI ska tillhandahålla en struktur som i detalj beskriver vad som ska dokumenteras behöver attributens format anges. Med format avses hur information i ett attribut representeras, till exempel i form av ett datum, en text eller ett kodat värde. Det format som informationen i ett attribut antar benämns som datatyp. För att beskriva strukturen hos format som ska användas för respektive attribut i informationsmodellen används datatyperna från den internationella standarden ISO 21090 Hälso- och sjukvårdsinformatik – Harmoniserade datatyper för informationsutbyte. ISO 21090 har delar som kan hålla den typ av information som NI avser att beskriva, vilket är anledningen till att den standarden valts.
Dock ställer inte NI kravet att det är just dessa datatyper som ska användas, utan endast den struktur som de tillhandahåller enligt beskrivningen nedan. Det kan även finnas andra standarder som kan användas för att uttrycka de krav på format som attributen beskriver.
Följande komplexa datatyper från ISO 21090 används för att beskriva de format som krävs för attributen i informationsmodellerna i NI. Vilka ingående delar hos respektive datatyp som är nödvändiga att använda för att fylla behoven enligt angelägenheterna beskrivs i detalj i efterföljande avsnitt.
Komplexa datatyper i informationsmodellen
Förkortning |
Benämning |
Beskrivning |
AD |
Address |
Datatyp som används för att beskriva adressinformation. |
ANY |
ANY |
Abstrakt datatyp som i praktiken instansieras av någon av datatyperna i detta avsnitt. |
ADXP |
Address part |
Datatyp som används för att beskriva en adress ingående delar (exempelvis postnummer). |
BL.NONNULL |
BL that cannot be null |
Datatyp som används för att ange värdena sant eller falskt, |
CD.CV |
Coded value |
Datatyp som används för att beskriva kodade värden |
II |
Instance identifier |
Datatyp som används för att beskriva unika identifierare av en instans. |
IVL(TS) |
Interval (Point in time) |
Datatyp som används för att beskriva tidsintervall. |
MO |
Monetary amount |
Datatyp som används för att beskriva monetära värden. |
PQ |
Physical quantity |
Datatyp som används för att beskriva mätvärden. |
QSET(TS) |
Continuous set (Point in time) |
Datatyp som används för att beskriva olika typer av tidsangivelser som t.ex. frekvens. |
ST |
Character string |
Datatyp som används för att beskriva textsträngar. |
TEL |
Telecommunication address |
Datatyp som används för att beskriva elektroniska adresser såsom e‑post och telefonnummer. |
TS |
Point in time |
Datatyp som används för att beskriva tidpunkter. |
TS.DATE.FULL |
TS that reference a complete day |
Datatyp som används för att ange ett exakt datum. |
Följande enkla datatyper från i ISO 21090 används för att bygga upp de komplexa datatyperna ovan. De enkla datatyperna specificerar formatet för ett specifikt värde som ska anges i ett attribut i en komplex datatyp.
Enkla datatyper som ingår i de komplexa datatyperna
Benämning |
Beskrivning |
String |
Textsträng. |
Boolean |
Angivelse av sant eller falskt. |
URI |
Textsträng för identifiering av abstrakta eller fysiska resurser. Uniform Resource Identifer. |
Uid |
Universellt unik identifierare. |
Decimal |
Reellt tal. |
Sequence |
En samling värden med en inbördes ordning. |
Set |
En samling värden utan en inbördes ordning. |
AD (Address)
Information om en fysisk adress. I NI finns behovet att kunna identifiera adresser och dess ingående delar. I tabellerna nedan anges vilka olika delar av en adress som är relevant att hålla information om utifrån gällande angelägenheter.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
part
|
Sequence
(ADXP)
|
En specifik del av en adress (t.ex. gata, postnummer eller postort).
|
1
|
ADXP (Address Part)
Information om en specifik del av en adress såsom exempelvis gata, postnummer eller postort.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
value
|
String
|
En faktisk del av en specifik adress
|
1
|
type
|
Set (Address
PartType)
|
Typ av adressdel (t.ex. gata, postnummer eller postort). Då det är ett specifikt behov som styr vilka delar av en adress som är relevanta att använda specificeras inte dessa i detalj. Det lämnas till den faktiska
tillämpningen att avgöra vilka delar som behövs. Standarden tillhandahåller koder för olika adressdelar som kan användas eller ses som en vägledning i
hur man kan strukturera information om adresser (AddressPartType).
|
0..1
|
ANY
Datatypen ANY används då datatypen för ett attribut i någon av NI:s informationsmodeller kan variera beroende på vad en klass håller för typ av information vid en viss tillämpning. ANY används därmed inte i en faktisk instans av ett attribut utan tillämpar istället någon av de datatyper som beskrivs i detta avsnitt och ersätts därmed av den datatyp som behövs för den aktuella tillämpningen.
BL.NONNULL
En angivelse av sant eller falskt. I NI finns exempelvis behovet att ange om en aktivitet har utförts eller inte i exempelvis attributet ”Observation.negation”
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
value
|
Boolean
|
Värde som anger sant eller falskt.
Möjliga värden:
true = sant eller false = falskt
|
1
|
CD.CV (Coded Value)
Ett kodat värde som hör till ett specifikt kodverk. I NI finns behovet att representera t.ex. en viss aktivitet eller en persons kön med en kod. För att koden ska vara möjlig att tolka behövs även information om vilket kodverk den hör till (ICF, Snomed CT, ICD-10 exempelvis). Vid den faktiska tillämpningen kan flera delar av datatypen, som exempelvis kodtext, också behövas specificeras.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
code
|
String
|
Aktuell kod.
|
1
|
codeSystem
|
String
|
Identifierare för det kodverk som koden tillhör.
|
1
|
displayName
|
String
|
Det kodade värdets klartext som den anges i kodverket.
|
0..1
|
validTimeLow
|
String
|
Tidpunkten då det kodade värdet blev giltigt.
|
0..1
|
validTimeHigh
|
String
|
Tidpunkten då det kodade värdet upphörde att vara
giltigt.
|
0..1
|
II (Instance Identifier)
En identifierare som unikt identifierar en specifik instans av ett objekt. I NI finns exempelvis behovet att kunna ange en globalt unik identifierare för personer, organisationer och processer. Detta görs genom att använda datatypens attribut root och extension. Då värdet i root ska vara en universellt unik identifierare (UID) är det möjligt att endast ange detta och inte ange något i extension.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
root
|
Uid
|
En universellt unik identifierare. I de fall ett värde
anges i extension pekar värdet i root ut det sammanhang inom vilket värdet i
extension är unikt. I ISO 21090 kan denna antingen utgöras av en DCE UID
eller en OID (Object identifier).
|
1
|
extension
|
String
|
En textsträng som tillsammans med värdet för root
bildar en unik identifierare.
|
0..1
|
IVL (TS) (Interval (Point in time))
Tidsangivelse i form av ett intervall mellan två tidpunkter. I NI finns exempelvis behovet att ange under vilket tidsintervall ett visst hälsotillstånd förelåg. Tidsangivelsens precision ska kunna variera från att ange årtal till att ange den precision som aktuell tillämpning kräver.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
low
|
TS
|
Intervallets starttid. Ett värde måste anges i något av
attributen low eller high. För en pågående händelse anges endast en starttid.
|
0..1
|
high
|
TS
|
Intervallets sluttid. Ett värde måste anges i något av
attributen low eller high.
|
0..1
|
MO (Monetary amount)
Information om monetära summor. Datatypen hanterar en summa pengar tillsammans med aktuell valuta (125 SEK). I NI finns behovet att hålla information om exempelvis den summa pengar som betalas ut i ekonomiskt bistånd till en brukare.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
value
|
Decimal
|
Värdet på den summa som beskrivs.
|
1
|
currency
|
String
|
Kod för aktuell valuta enligt ISO 4217.
|
1
|
PQ (Physical Quantity)
Information om resultatet från en mätning inklusive måttenhet. I NI finns behovet att hålla information om olika typer av mätvärden som exempelvis kroppslängd mätt i enheten centimeter (174 cm).
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
value
|
Decimal
|
Aktuellt värde.
|
1
|
unit
|
String
|
Värdets enhet enligt standarden Unified code for units
of measure (UCUM). UCUM är en standardiserad sammanställning av måttenheter
som används av ISO 21090. (
http://unitsofmeasure.org/ucum.html
)
|
1
|
QSET(TS) (Continuous (Point in time))
Datatypen QSET(TS) är en komplex datatyp som kan hantera olika typer av tidsangivelser genom att kombinera olika specialiseringar av datatypen QSET. I NI finns exempelvis behovet av att ange periodiskt återkommande tidpunkter eller intervall (t.ex. planerade hemtjänstinsatser måndagar och torsdagar mellan 14.00 och 15.00 och doseringsanvisningar för administrering av läkemedel).
Då det är ett specifikt behov som styr vilka delar av datatypen som är relevanta att använda specificeras inte dessa i detalj. Det lämnas till den faktiska tillämpningen att avgöra vilken struktur som är nödvändig. Standarden kan ses som en vägledning i hur man kan strukturera olika tidsangivelser.
ST (Character string)
Datatyp som håller textuell information. I NI finns exempelvis behovet att kunna hålla information om en patients namn uttryckt i fritext.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
value
|
String
|
Textuell information.
|
1
|
TEL (Telecommunication Address)
Information om en elektronisk adress. I NI finns behovet av att hålla information om olika typer av kontaktuppgifter till exempelvis patient och brukare.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
value
|
Uri
|
Elektronisk adress enligt standarden IETF RFC 2396.
|
1
|
TS (Point in time)
Tidsangivelse i form av en tidpunkt. I NI finns exempelvis behovet att hålla information om tidpunkt för en viss observation. Tidsangivelsens precision ska kunna variera från att ange årtal till att ange den precision som aktuell tillämpning kräver.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
value
|
String
|
Tidsstämpel med önskad precision.
|
1
|
TS.DATE.FULL (Point in time)
Tidsangivelse i form av ett specifikt datum. I NI finns exempelvis behovet att hålla information om en persons födelsedatum. Tidsangivelsens precision ska vara exakt ett specifikt datum.
Attribut
|
Datatyp
|
Beskrivning
|
Multiplicitet
|
value
|
String
|
Specifikt
datum.
|
1
|