Hakusanomat

Hakusanoma lähetetään Kanta-palveluihin HTTP POST-pyyntönä (request). Merkinnän toimintakyvystä tai toimintakykyarvion uusin versio haetaan search-interaktiolla: POST [base]/[observation]/_search. Merkinnän toimintakyvystä tai toimintakykyarvion kaikki versiot haetaan history-interaktiolla: POST [base]/[observation]/_history.

Potilastietovarannon hauissa käytetään search- ja history-interaktioita. History-interaktiota on sallittua käyttää vain haettaessa toimintakykytietoja rekisterinpitäjän omasta rekisteristä. Sosiaalihuollon asiakastietovarannon hauissa käytetään vain search-interaktiota, sillä asiakastietojärjestelmästä on mahdollista hakea vain resurssin viimeisin, voimassa oleva versio. Sosiaalihuollon asiakastietovaranto ei palauta haussa asiakastietojärjestelmälle resurssin aiempia versioita tai mitätöityjä resursseja. Sosiaalihuollossa asiakastietojen rekisterinpitäjä voi hakea omassa rekisterissään olevat resurssin aiemmat versiot tai mitätöidyn resurssin Sosiaalihuollon asiakastietovarannon arkistonhoitajan käyttöliittymästä.

Pyynnön URL:in muoto noudattaa FHIR määrittelyjä (Style Guide). Eri ympäristöjen käytettävät juuret ilmoitetaan palveluun liittyville tietojärjestelmätoimittajille erikseen eikä niitä julkisteta tässä soveltamisoppaassa.

Haussa käytettäviä hakuparametreja ei saa lisätä pyynnön URLiin, koska URLin osana hakuparametrien arvot, kuten asiakkaan yksilöivä tunnus, voivat jäädä esimerkiksi verkkolaitteiden lokitietoihin.

HTTP-pyynnön header

Haun HTTP-pyynnön header-osuus noudattaa Kanta-palveluiden yhteisiä Kanta FHIR HTTP header -dokumentin mukaisen HTTP-headerin ja JSON Web Tokenin määrittelyitä. Potilastietovarantoon lähetettävän HTTP-pyynnön (request) tiedot ja niiden pakollisuudet on määritelty dokumentin Kanta FHIR HTTP-header taulukon 2.1 Kanta-palveluiden HTTP pyynnön header kentät sarakkeessa PTA ja Sosiaalihuollon asiakastietovarantoon lähetettävän HTTP-pyynnön sarakkeessa SHA. JSON Web Tokenin tiedot ja niiden pakollisuudet on määritelty dokumentin Kanta JSON Web Token taulukossa 4.1 Kanta-palveluiden JWT Claimit. Potilastietovarantoon lähetettävän JWT:n tiedot ja tietojen pakollisuudet on määritelty sarakkeessa PTA ja Sosiaalihuollon asiakastietovarantoon lähetettävän JWT:n sarakkeessa SHA.

HTTP-pyynnön body

Toimintakykytiedon haussa käytettävät hakuparametrit lähetetään HTTP-pyynnön body-osuudessa. Sosiaalihuollon asiakastietovarannon tukemat hakuparametrit on kuvattu taulukossa 4. Asiakastietovaranto tukee hakuparametreina sekä toimintakykytiedon tietosisällössä olevia tietoja että Provenance-resurssissa olevia toimintakykytiedon metatietoja. Hakuparametrit ovat pakollisia (P), ehdollisesti pakollisia (eP) tai vapaaehtoisia (O).

Potilastietovarannon tukemat hakuparametrit tarkennetaan vuonna 2026.

Taulukko 4 Sosiaalihuollon asiakastietovarannossa käytettävät hakuparametrit

FHIR-hakuparametri Hakuparametrin tyyppi Pakollisuus FHIR-resurssi ja elementti Huomioita
patient:identifier reference P (1..1) patient.identifier - asiakkaan henkilötunnus tai tilapäinen yksilöintitunnus Haussa toisen rekisterinpitäjän rekisteristä on annettava henkilötunnus.
identifier token O (0..1) Observation.identifier - merkinnän toimintakyvystä tai toimintakykyarvion yksilöivä tunnus Hakuparametri on pakollinen, kun haetaan yksi (1) merkintä toimintakyvystä tai toimintakykyarvio.
date date O (0..2) Observation.effective - toimintakyvyn havainnointipäivämäärä, Observation.effective.Effectiveperiod.start - toimintakykyarvion alkamispäivämäärä, Observation.effective.Effectiveperiod.end - toimintakykyarvion päättymispäivämäärä Päivämäärän voi antaa aikavälinä.
code token O Observation.code - toimintakykyhavainnon ICF-aihekoodi
method token O Observation.method - toimintakykyhavainnon havainnointimenetelmä
functional-limitation-stability token O Observation.extension.functionalLimitation.LimitationStability- havaittu toimintakykyrajoite on pysyvä Käytetään hakuparametrina merkinnän toimintakyvystä haussa.
issued date O (0..2) Observation.issued - toimintakykymerkinnän tai toimintakykyarvion laatimispäivämäärä Päivämäärän voi antaa aikavälinä.
practitioner-qualification token O (0..1) Observation.Practitioner.qualification - merkinnän toimintakyvystä tai toimintakykyarvion laatijan ammattioikeus
practitioner-service-center token O (0..1) organization.identifier - merkinnän toimintakyvystä tai toimintakykyarvion laatijan palveluyksikkö
custodian-organization token eP (0..*) Provenance.agent.who.organization - asiakastietojen rekisterinpitäjän yksilöintitunnus Hakuparametri on pakollinen palveluntuottajan rekisterinkäyttöoikeuteen perustuvassa haussa, jossa on sallittua antaa yhden rekisterinpitäjän yksilöintitunnuksen. Hakuparametri on optionaalinen sosiaalihuollon toisen rekisterinpitäjän tietojen haussa, jossa on sallittua antaa 0 - n rekisterinpitäjän yksilöintitunnusta.
service-producer token O (0..1) Provenance.agent.who.organization.ServiceProducer - toimintakykytiedon tallentaneen palveluntuottajan yksilöintitunnus
service-center token O (0..1) Provenance.agent.who.organization.ServiceCenter - toimintakykytiedon tallentaneen palveluyksikön yksilöintitunnus
service-event token O (0..1) Provenance.extension.serviceEvent - sosiaalihuollon asian asiatunnus
service-process token O Provenance.extension.serviceProcess - sosiaalihuollon palveluprosessi
function-code token O Provenance.extension.functionCode - sosiaalihuollon palvelutehtävä
social-service token O Provenance.extension.socialService - sosiaalipalvelu
document-type token O (0..2) Provenance.extension.DocumentType - yleinen asiakirjatyyppi
specific-document-type token O (0..2) Provenance.extension.specificDocumentType - asiakirjan tarkennettu asiakirjatyyppi

Date-tyyppisissä hakuparametreissa sallitut ajan muodot ovat:

  • Päivätarkkuus: yyyy-mm-dd
  • Sekuntitarkkuus: yyyy-mm-ddThh:mm:ss tai yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm].

Jos hakeva järjestelmä ei ilmoita sekunnin tarkkuudella ilmoitettavassa hakuparametrissa aikavyöhykettä, Kanta-palvelut käsittelee hakuparametrissa annetua arvoa Helsingin aikavyöhykkeenä. Kanta-palvelut ei rajoita käytettäviä aikavyöhykkeitä. Kanta-palvelujen palauttamassa vastauksessa käytetään Helsingin aikavyöhykettä (+02:00 tai +03:00).

Hakua ohjaavat parametrit

Parametri Tyyppi Pakollisuus Kuvaus
_count Number Vapaaehtoinen 0..1 Parametri kertoo kuinka monta merkintää toimintakyvystä ja/tai toimintakykyarviota hakeva järjestelmä haluaa palautettavaksi yhdellä sivulla. Jos parametria ei ole annettu, Kanta-palvelut käyttää Kanta-palveluissa asetettua oletussivukokoa.

Esimerkkejä hakuparametrien käytöstä

Yhteen hakuun voidaan liittää useita hakuparametreja, alla on esimerkkejä hakulauseista.

Asiakkaan kaikkien merkintöjen toimintakyvystä ja toimintakykyarvioiden haku asiakkaan yksilöivän tunnisteen perusteella

POST [base]/Observation/_search

Content-Type: application/x-www-form-urlencoded

patient:identifier={system|value}

Esim. patient:identifier=urn:oid:1.2.246.21|300111A9001

Yksittäisen merkinnän toimintakyvystä tai toimintakykyarvion haku asiakkaan yksilöivän tunnisteen ja resurssin tunnisteen perusteella

POST [base]/Observation/_search

Content-Type: application/x-www-form-urlencoded

patient:identifier={system|value}&identifier={system|value}

Asiakkaan kaikkien merkintöjen toimintakyvystä ja toimintakykyarvioiden haku asiakkaan yksilöivän tunnisteen perusteella ja rekisterinpitäjän perusteella

POST [base]/Observation/_search

Content-Type: application/x-www-form-urlencoded

patient:identifier={system|value}&custodian-organization={system|value}

Asiakkaan kaikkien merkintöjen toimintakyvystä ja toimintakykyarvioiden haku asiakkaan yksilöivän tunnisteen perusteella ja palveluntuottajan perusteella

POST [base]/Observation/_search

Content-Type: application/x-www-form-urlencoded

patient:identifier={system|value}&service-producer={system|value}

Asiakkaan kaikkien merkintöjen toimintakyvystä ja toimintakykyarvioiden haku asiakkaan yksilöivän tunnisteen perusteella ja sosiaalihuollon asiatunnuksen perusteella

POST [base]/Observation/_search

Content-Type: application/x-www-form-urlencoded

patient:identifier={system|value}&service-event={system|value}

Jos halutaan kerralla palautettavaksi oletussivukokoa vähemmän toimintakykytietoja, käytetään hakua ohjavaa parametria _count

POST [base]/Observation/_search

Content-Type: application/x-www-form-urlencoded

patient:identifier={system|value}&_count=10

Asiakkaan toimintakykytietojen jatkohaku

Kanta-palvelujen palauttamassa vastaussanomassa sivutetun hakuvastauksen jatkohaussa käytettävissä olevat linkit (esimerkissä palautettu hakutuloksen ensimmäisen sivun tiedot):


"resourceType": "Bundle",
"type": "searchset",
"link": [
	{	
		"relation": "self",
		"url": "http://example.org/baseR4/Observation/_search?patient:identifier=urn:oid:1.2.246.21|300111A9001&_offset=10&_count=10"
	},
 	{	
		"relation": "next",
		"url": "http://example.org/baseR4/Observation/_search?patient:identifier=urn:oid:1.2.246.21|300111A9001&_offset=20&_count=10"
	},
 	{	
		"relation": "previous",
		"url": "http://example.org/baseR4/Observation/_search?patient:identifier=urn:oid:1.2.246.21|300111A9001&_offset=0&_count=10"
	} 
]

Jatkohaussa käytetään Kanta-palvelujen vastaussanomassa palauttamia hakuparametreja, jotka hakeva järjestelmä poimii halutun sivun url-arvosta. Esimerkki, kun halutaan hakea edellä esitetyn hakutuloksen seuraavan sivun tiedot:

POST [base]/Observation/_search

Content-Type: application/x-www-form-urlencoded

patient:identifier=urn:oid:1.2.246.21|300111A9001&_offset=20&_count=10

Tuetut aikarajaukset

Sosiaalihuollon asiakastietovaranto tukee toimintakykytietojen haussa seuraavia prefixejä:

Prefix Selite
eq Resurssissa oleva arvo on samansuuruinen kuin hakuparametrina annettu arvo tai sisältyy kokonaan hakuparametrina annettuun arvoon. Resurssi palautetaan, jos aikaleima on hakuparametrina annetun aikavälin sisällä.
gt Resurssissa oleva arvo on suurempi kuin hakuparametrina annettu. Resurssi palautetaan, jos aikaleima on hakuparametrina annettua aikaleimaa myöhempi.
lt Resurssissa oleva arvo on pienempi kuin hakuparametrina annettu arvo. Resurssi palautetaan, jos aikaleima on annettua hakuparametria aikaisempi.
ge Resurssissa oleva arvo on suurempi tai yhtä suuri kuin hakuparametrina annettu arvo. Resurssi palautetaan, jos hakuparametrina annettu aika on suurempi tai yhtä suuri kuin resurssissa oleva aika.
le Resurssissa oleva arvo on pienempi tai yhtä suuri kuin hakuparametrina annettu arvo. Resurssi palautetaan, jos hakuparametrina annettu aika on pienempi tai yhtä suuri kuin resurssissa oleva aika.

Potilastietovarannon tukemat prefixit vuonna 2026.

Esimerkki hakuehdosta, jossa asiakkaan palautettavat merkinnät toimintakyvystä rajataan toimintakyvyn havainnointipäivämäärän alkuajan perusteella:

patient:identifier=urn:oid:1.2.246.21|300111A9001&date=ge2023-10-30&date=lt2023-11-02

Päivämäärä täyttää hakuehdon Päivämäärä ei täytä hakuehtoa
2023-10-31T01:00:12.000 2023-10-29T01:00:00.00
2023-10-30T00:00:00.000 2023-11-02T00:00:00.00 (Ei sisälly tulosjoukkoon, koska lt-prefix haussa)

patient:identifier=urn:oid:1.2.246.21|300111A9001&date=eq2023-10-30

Päivämäärä täyttää hakuehdon Päivämäärä ei täytä hakuehtoa
2023-10-30T10:30:00.000 2023-10-29T20:00:00.00
2023-10-30T15:00:00.000 2023-10-31T07:00:00.00