SlideShare uma empresa Scribd logo
1 de 59
SEARCH 
for 
server developers 
Martijn Harthoorn 
FHIR Developer Days 
November 24, 2014 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Who am I? 
 Name: Martijn Harthoorn 
 Company: Furore 
 Background: 
 Programmer in C# (mainly) 
 Team leader Furore FHIR team 
 Programmer of 
 Spark Search Engine 
 Spark custom-profile resource validator 
2 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
3 
Let’s talk about… 
Understanding what’s behind the question mark. 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
4 
Let’s talk about… 
FHIR Paradigm 
FHIR client should be easy. 
FHIR server needs to solve the complex issues. 
Search has some… 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
5 
Overview 
1. Why we need search? 
2. How does FHIR solve that? 
3. What does the spec say? 
4. How do we implement that technically? 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
6 
Fhir without search 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
7 
Fhir without search 
1. CRUD 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
8 
Fhir without search 
GET [base]/Patient/[id] 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
9 
Use cases 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
10 
UC1: The registrar 
"patient forgot hospital card (with id)" 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
11 
UC2: The doctor 
“give me all data on patient x” 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
12 
UC3: The researcher 
“give me all data on 
a specific allergy 
that conforms to a set of conditions” 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
13 
UC4: The manager 
“how many patients did we treat last month” 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
14 
UC5: The lab 
“Give me the list of tests to process” 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
15 
UC6: The nurse 
“Alert me on any patient with 
a measurement in the danger zone.” 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
16 
UC Summary 
- the registrar 
- the doctor 
- the researcher 
- the manager 
- the lab worker 
- the nurse 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
17 
Solutions in FHIR 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
18 
Search Solutions in FHIR 
URL/[resource]?<parameters> 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
19 
Search solution 2 of FHIR 
Query 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
20 
Parameter types 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
21 
Parameters types 
number 
date 
string 
token 
reference 
quantity 
composite 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
22 
FHIR Data types 
Primitive data types 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
23 
FHIR Data types 
Complex data types 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
24 
Mapping of number 
Parameter data type Content data type 
number integer 
~/Procedure?date=>2010-01-01&date=<2011-12-31 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
25 
Mapping of date 
Parameter data type Content data type 
date 
Date 
DateTime 
Period 
Instant 
~/Procedure?date=>2010-01-01&date=<2011-12-31 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
26 
Mapping of string 
Parameter data type Content data type 
string 
String 
HumanName 
~/Patient?name=eve 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
27 
Mapping of token 
Parameter data type Content data type 
token 
Coding 
Codeable concept 
~/Patient?name=eve 
Identifier 
(Code) 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
28 
Mapping of quantity 
Parameter data type Content data type 
quantity Quantity 
~/Patient?name=eve 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
29 
Mapping of reference 
Parameter data type Content data type 
reference Uri 
~/condition?subject:Patient=23 
(Local id) 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
30 
F. Mapping of Value[x] 
Parameter data type Content data type 
value-concept value[x] 
value-date 
value-quantity 
value-string 
~/condition?subject:Patient=23 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
31 
Returned parameters 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
32 
History 
Version 1. 
 Patient only 
 Per parameter 
 No meta data 
 No index 
Limited 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
33 
History 
Version 2. 
 All resources 
 Self generated meta data 
 Indexing in Lucene 
 Client side joins 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
34 
History 
Version 3. 
 All resources 
 Model meta data 
 Indexing in Mongo 
Even faster! 
changes in the standard 
are now applied automatically 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
35 
Indexing 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
36 
Indexing 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
37 
Indexing 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
38 
Indexing 
REST Service 
Storage 
Index 
& 
Search 
DB 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
39 
How to index? 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
40 
How to index? 
<family value=“Chalmers”> 
chalmers 
Patient?name=chal 
chal* 
match 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
41 
How to index? 
<valueQuantity=“10g”> 
0.1 
value-quantity=>0.1||kg 
> 0.05 
kg = kg 
http://unitsofmeasure.org = 
http://unitsofmeasure.org 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
42 
Indexing in Mongo: 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
43 
K. Debugging 
To test a client – you must have a tested server 
To test a server – you must have a tested client 
“One fool can ask more questions than seven wise men can answer” 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
44 
Debugging 
Sprinkler 
(testtool) 
Spark MongoDB 
Fiddler 
Visual Studio Visual Studio MongoVue 
“One fool can ask more questions than seven wise men can answer” 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
45 
Logic and filtering 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
46 
Logic and filtering 
a=x & c=y & e=z 
a=x & a=y 
a=b,d 
a-b=c$d 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
47 
Logic and filtering 
URL?a=A&a=A2&c=C1,C2&d-e-=D&E 
AND 
EQ a=A2 OR 
c=C1 c=C2 
ELEM 
AND 
d=D e=E 
a A 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
48 
_include 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
49 
Chained parameters 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
50 
Paging 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
51 
Canonical search 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
52 
Canonical search 
UCUM 
http://unitsofmeasure.org/ 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
53 
Fuzzy search 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
54 
Fuzzy search 
1. STARTS WITH 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
55 
Fuzzy search 
2. LIKE 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
56 
Fuzzy search 
3. SOUNDEX 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
57 
Fuzzy search 
4. Damerau-Lehvenstein 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
58 
Fuzzy search 
5. More advanced searching 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
59 
Full text search 
© 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.

Mais conteúdo relacionado

Mais procurados

Authoring Profiles in FHIR
Authoring Profiles in FHIRAuthoring Profiles in FHIR
Authoring Profiles in FHIREwout Kramer
 
Authoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionAuthoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionEwout Kramer
 
The FHIR burns brighter (what's new in DSTU2)
The FHIR burns brighter (what's new in DSTU2)The FHIR burns brighter (what's new in DSTU2)
The FHIR burns brighter (what's new in DSTU2)Ewout Kramer
 
Vitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionVitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionEwout Kramer
 
FHIR tutorial - Afternoon
FHIR tutorial - AfternoonFHIR tutorial - Afternoon
FHIR tutorial - AfternoonEwout Kramer
 
Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Ewout Kramer
 
Nhs trusts meeting at salford
Nhs trusts meeting at salfordNhs trusts meeting at salford
Nhs trusts meeting at salfordEwout Kramer
 
FHIR - more than the basics
FHIR - more than the basicsFHIR - more than the basics
FHIR - more than the basicsEwout Kramer
 
Patient matching in FHIR
Patient matching in FHIRPatient matching in FHIR
Patient matching in FHIRGrahame Grieve
 
FHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFurore_com
 
Security in FHIR with OAuth by Grahame Grieve
Security in FHIR with OAuth by Grahame GrieveSecurity in FHIR with OAuth by Grahame Grieve
Security in FHIR with OAuth by Grahame GrieveFHIR Developer Days
 
FHIR API for .Net programmers by Mirjam Baltus
FHIR API for .Net programmers by Mirjam BaltusFHIR API for .Net programmers by Mirjam Baltus
FHIR API for .Net programmers by Mirjam BaltusFHIR Developer Days
 
IHE France on FHIR
IHE France on FHIRIHE France on FHIR
IHE France on FHIREwout Kramer
 
FHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, OsloFHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, OsloEwout Kramer
 
FHIR Tutorial - Morning
FHIR Tutorial - MorningFHIR Tutorial - Morning
FHIR Tutorial - MorningEwout Kramer
 
SMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgSMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgFurore_com
 
FHIR Profiles
FHIR ProfilesFHIR Profiles
FHIR ProfilesDavid Hay
 
FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014Ewout Kramer
 
Vitalis 2016 FHIR App Development
Vitalis 2016 FHIR App DevelopmentVitalis 2016 FHIR App Development
Vitalis 2016 FHIR App DevelopmentEwout Kramer
 
Route from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveRoute from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveFurore_com
 

Mais procurados (20)

Authoring Profiles in FHIR
Authoring Profiles in FHIRAuthoring Profiles in FHIR
Authoring Profiles in FHIR
 
Authoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionAuthoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended version
 
The FHIR burns brighter (what's new in DSTU2)
The FHIR burns brighter (what's new in DSTU2)The FHIR burns brighter (what's new in DSTU2)
The FHIR burns brighter (what's new in DSTU2)
 
Vitalis 2016 FHIR Introduction
Vitalis 2016 FHIR IntroductionVitalis 2016 FHIR Introduction
Vitalis 2016 FHIR Introduction
 
FHIR tutorial - Afternoon
FHIR tutorial - AfternoonFHIR tutorial - Afternoon
FHIR tutorial - Afternoon
 
Advanced .NET API (Ewout)
Advanced .NET API (Ewout)Advanced .NET API (Ewout)
Advanced .NET API (Ewout)
 
Nhs trusts meeting at salford
Nhs trusts meeting at salfordNhs trusts meeting at salford
Nhs trusts meeting at salford
 
FHIR - more than the basics
FHIR - more than the basicsFHIR - more than the basics
FHIR - more than the basics
 
Patient matching in FHIR
Patient matching in FHIRPatient matching in FHIR
Patient matching in FHIR
 
FHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René Spronk
 
Security in FHIR with OAuth by Grahame Grieve
Security in FHIR with OAuth by Grahame GrieveSecurity in FHIR with OAuth by Grahame Grieve
Security in FHIR with OAuth by Grahame Grieve
 
FHIR API for .Net programmers by Mirjam Baltus
FHIR API for .Net programmers by Mirjam BaltusFHIR API for .Net programmers by Mirjam Baltus
FHIR API for .Net programmers by Mirjam Baltus
 
IHE France on FHIR
IHE France on FHIRIHE France on FHIR
IHE France on FHIR
 
FHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, OsloFHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, Oslo
 
FHIR Tutorial - Morning
FHIR Tutorial - MorningFHIR Tutorial - Morning
FHIR Tutorial - Morning
 
SMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgSMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der Burg
 
FHIR Profiles
FHIR ProfilesFHIR Profiles
FHIR Profiles
 
FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014
 
Vitalis 2016 FHIR App Development
Vitalis 2016 FHIR App DevelopmentVitalis 2016 FHIR App Development
Vitalis 2016 FHIR App Development
 
Route from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveRoute from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame Grieve
 

Semelhante a FHIR Search for server developers by Martijn Harthoorn

FHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFHIR Developer Days
 
SMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgSMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgFHIR Developer Days
 
Validation in net and java (ewout james)
Validation in net and java (ewout james)Validation in net and java (ewout james)
Validation in net and java (ewout james)DevDays
 
HL7 Fhir for Developers
HL7 Fhir for DevelopersHL7 Fhir for Developers
HL7 Fhir for DevelopersEwout Kramer
 
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...FHIR Developer Days
 
Terminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieTerminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieFurore_com
 
Introduction to FHIR™
Introduction to FHIR™Introduction to FHIR™
Introduction to FHIR™Grahame Grieve
 
FHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIRFHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIREwout Kramer
 
Advanced .net api (ewout)
Advanced .net api (ewout)Advanced .net api (ewout)
Advanced .net api (ewout)DevDays
 
Route from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveRoute from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveFHIR Developer Days
 
Fhir path (ewout)
Fhir path (ewout)Fhir path (ewout)
Fhir path (ewout)DevDays
 
Fhir meetup at the scale la (abdul malik.shakir)
Fhir meetup at the scale la (abdul malik.shakir)Fhir meetup at the scale la (abdul malik.shakir)
Fhir meetup at the scale la (abdul malik.shakir)Abdul-Malik Shakir
 
03 FHIR Deep dive - 20191116 v2.pptx
03 FHIR Deep dive - 20191116 v2.pptx03 FHIR Deep dive - 20191116 v2.pptx
03 FHIR Deep dive - 20191116 v2.pptxVITNetflix
 
FHIR API for Java programmers by James Agnew
FHIR API for Java programmers by James AgnewFHIR API for Java programmers by James Agnew
FHIR API for Java programmers by James AgnewFHIR Developer Days
 

Semelhante a FHIR Search for server developers by Martijn Harthoorn (16)

FHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René SpronkFHIR architecture overview for non-programmers by René Spronk
FHIR architecture overview for non-programmers by René Spronk
 
SMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der BurgSMART on FHIR by Scot Post van der Burg
SMART on FHIR by Scot Post van der Burg
 
Validation in net and java (ewout james)
Validation in net and java (ewout james)Validation in net and java (ewout james)
Validation in net and java (ewout james)
 
HL7 Fhir for Developers
HL7 Fhir for DevelopersHL7 Fhir for Developers
HL7 Fhir for Developers
 
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
Rolling out FHIR - architecture and implementation considerations by Lloyd Mc...
 
Terminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzieTerminology, value-sets, codesystems by Lloyd McKenzie
Terminology, value-sets, codesystems by Lloyd McKenzie
 
Introduction to FHIR™
Introduction to FHIR™Introduction to FHIR™
Introduction to FHIR™
 
FHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIRFHIR DevDays 2015 - introduction to FHIR
FHIR DevDays 2015 - introduction to FHIR
 
Advanced .net api (ewout)
Advanced .net api (ewout)Advanced .net api (ewout)
Advanced .net api (ewout)
 
Route from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame GrieveRoute from CCDA to FHIR by Grahame Grieve
Route from CCDA to FHIR by Grahame Grieve
 
FHIR.pptx
FHIR.pptxFHIR.pptx
FHIR.pptx
 
Fhir path (ewout)
Fhir path (ewout)Fhir path (ewout)
Fhir path (ewout)
 
Fhir meetup at the scale la (abdul malik.shakir)
Fhir meetup at the scale la (abdul malik.shakir)Fhir meetup at the scale la (abdul malik.shakir)
Fhir meetup at the scale la (abdul malik.shakir)
 
FHIR: What's it All About?
FHIR: What's it All About?FHIR: What's it All About?
FHIR: What's it All About?
 
03 FHIR Deep dive - 20191116 v2.pptx
03 FHIR Deep dive - 20191116 v2.pptx03 FHIR Deep dive - 20191116 v2.pptx
03 FHIR Deep dive - 20191116 v2.pptx
 
FHIR API for Java programmers by James Agnew
FHIR API for Java programmers by James AgnewFHIR API for Java programmers by James Agnew
FHIR API for Java programmers by James Agnew
 

Último

Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetSambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★indiancallgirl4rent
 
VIP Call Girls Noida Sia 9711199171 High Class Call Girl Near Me
VIP Call Girls Noida Sia 9711199171 High Class Call Girl Near MeVIP Call Girls Noida Sia 9711199171 High Class Call Girl Near Me
VIP Call Girls Noida Sia 9711199171 High Class Call Girl Near Memriyagarg453
 
raisen Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
raisen Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meetraisen Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
raisen Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
(Ajay) Call Girls in Dehradun- 8854095900 Escorts Service 50% Off with Cash O...
(Ajay) Call Girls in Dehradun- 8854095900 Escorts Service 50% Off with Cash O...(Ajay) Call Girls in Dehradun- 8854095900 Escorts Service 50% Off with Cash O...
(Ajay) Call Girls in Dehradun- 8854095900 Escorts Service 50% Off with Cash O...indiancallgirl4rent
 
💚😋Kolkata Escort Service Call Girls, ₹5000 To 25K With AC💚😋
💚😋Kolkata Escort Service Call Girls, ₹5000 To 25K With AC💚😋💚😋Kolkata Escort Service Call Girls, ₹5000 To 25K With AC💚😋
💚😋Kolkata Escort Service Call Girls, ₹5000 To 25K With AC💚😋Sheetaleventcompany
 
Bangalore call girl 👯‍♀️@ Simran Independent Call Girls in Bangalore GIUXUZ...
Bangalore call girl  👯‍♀️@ Simran Independent Call Girls in Bangalore  GIUXUZ...Bangalore call girl  👯‍♀️@ Simran Independent Call Girls in Bangalore  GIUXUZ...
Bangalore call girl 👯‍♀️@ Simran Independent Call Girls in Bangalore GIUXUZ...Gfnyt
 
Call Girl Raipur 📲 9999965857 whatsapp live cam sex service available
Call Girl Raipur 📲 9999965857 whatsapp live cam sex service availableCall Girl Raipur 📲 9999965857 whatsapp live cam sex service available
Call Girl Raipur 📲 9999965857 whatsapp live cam sex service availablegragmanisha42
 
❤️♀️@ Jaipur Call Girls ❤️♀️@ Meghna Jaipur Call Girls Number CRTHNR Call G...
❤️♀️@ Jaipur Call Girls ❤️♀️@ Meghna Jaipur Call Girls Number CRTHNR   Call G...❤️♀️@ Jaipur Call Girls ❤️♀️@ Meghna Jaipur Call Girls Number CRTHNR   Call G...
❤️♀️@ Jaipur Call Girls ❤️♀️@ Meghna Jaipur Call Girls Number CRTHNR Call G...Gfnyt.com
 
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591adityaroy0215
 
Call Girls Service In Goa 💋 9316020077💋 Goa Call Girls By Russian Call Girl...
Call Girls Service In Goa  💋 9316020077💋 Goa Call Girls  By Russian Call Girl...Call Girls Service In Goa  💋 9316020077💋 Goa Call Girls  By Russian Call Girl...
Call Girls Service In Goa 💋 9316020077💋 Goa Call Girls By Russian Call Girl...russian goa call girl and escorts service
 
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In RaipurCall Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipurgragmanisha42
 
Punjab❤️Call girls in Mohali ☎️7435815124☎️ Call Girl service in Mohali☎️ Moh...
Punjab❤️Call girls in Mohali ☎️7435815124☎️ Call Girl service in Mohali☎️ Moh...Punjab❤️Call girls in Mohali ☎️7435815124☎️ Call Girl service in Mohali☎️ Moh...
Punjab❤️Call girls in Mohali ☎️7435815124☎️ Call Girl service in Mohali☎️ Moh...Sheetaleventcompany
 
Russian Call Girls Lucknow ₹7.5k Pick Up & Drop With Cash Payment 8923113531 ...
Russian Call Girls Lucknow ₹7.5k Pick Up & Drop With Cash Payment 8923113531 ...Russian Call Girls Lucknow ₹7.5k Pick Up & Drop With Cash Payment 8923113531 ...
Russian Call Girls Lucknow ₹7.5k Pick Up & Drop With Cash Payment 8923113531 ...gurkirankumar98700
 
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Russian Call Girls Amritsar
 
Hubli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Hubli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetHubli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Hubli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Jodhpur Call Girls 📲 9999965857 Jodhpur best beutiful hot girls full satisfie...
Jodhpur Call Girls 📲 9999965857 Jodhpur best beutiful hot girls full satisfie...Jodhpur Call Girls 📲 9999965857 Jodhpur best beutiful hot girls full satisfie...
Jodhpur Call Girls 📲 9999965857 Jodhpur best beutiful hot girls full satisfie...seemahedar019
 
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetNanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetCall Girls Service
 
Jaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
Jaipur Call Girls 9257276172 Call Girl in Jaipur RajasthanJaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
Jaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthanindiancallgirl4rent
 
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real MeetChandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meetpriyashah722354
 

Último (20)

Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetSambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Sambalpur Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
Enjoyment ★ 8854095900 Indian Call Girls In Dehradun 🍆🍌 By Dehradun Call Girl ★
 
VIP Call Girls Noida Sia 9711199171 High Class Call Girl Near Me
VIP Call Girls Noida Sia 9711199171 High Class Call Girl Near MeVIP Call Girls Noida Sia 9711199171 High Class Call Girl Near Me
VIP Call Girls Noida Sia 9711199171 High Class Call Girl Near Me
 
raisen Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
raisen Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meetraisen Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
raisen Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
(Ajay) Call Girls in Dehradun- 8854095900 Escorts Service 50% Off with Cash O...
(Ajay) Call Girls in Dehradun- 8854095900 Escorts Service 50% Off with Cash O...(Ajay) Call Girls in Dehradun- 8854095900 Escorts Service 50% Off with Cash O...
(Ajay) Call Girls in Dehradun- 8854095900 Escorts Service 50% Off with Cash O...
 
💚😋Kolkata Escort Service Call Girls, ₹5000 To 25K With AC💚😋
💚😋Kolkata Escort Service Call Girls, ₹5000 To 25K With AC💚😋💚😋Kolkata Escort Service Call Girls, ₹5000 To 25K With AC💚😋
💚😋Kolkata Escort Service Call Girls, ₹5000 To 25K With AC💚😋
 
Bangalore call girl 👯‍♀️@ Simran Independent Call Girls in Bangalore GIUXUZ...
Bangalore call girl  👯‍♀️@ Simran Independent Call Girls in Bangalore  GIUXUZ...Bangalore call girl  👯‍♀️@ Simran Independent Call Girls in Bangalore  GIUXUZ...
Bangalore call girl 👯‍♀️@ Simran Independent Call Girls in Bangalore GIUXUZ...
 
Call Girl Raipur 📲 9999965857 whatsapp live cam sex service available
Call Girl Raipur 📲 9999965857 whatsapp live cam sex service availableCall Girl Raipur 📲 9999965857 whatsapp live cam sex service available
Call Girl Raipur 📲 9999965857 whatsapp live cam sex service available
 
❤️♀️@ Jaipur Call Girls ❤️♀️@ Meghna Jaipur Call Girls Number CRTHNR Call G...
❤️♀️@ Jaipur Call Girls ❤️♀️@ Meghna Jaipur Call Girls Number CRTHNR   Call G...❤️♀️@ Jaipur Call Girls ❤️♀️@ Meghna Jaipur Call Girls Number CRTHNR   Call G...
❤️♀️@ Jaipur Call Girls ❤️♀️@ Meghna Jaipur Call Girls Number CRTHNR Call G...
 
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
VIP Call Girl Sector 88 Gurgaon Delhi Just Call Me 9899900591
 
Call Girls Service In Goa 💋 9316020077💋 Goa Call Girls By Russian Call Girl...
Call Girls Service In Goa  💋 9316020077💋 Goa Call Girls  By Russian Call Girl...Call Girls Service In Goa  💋 9316020077💋 Goa Call Girls  By Russian Call Girl...
Call Girls Service In Goa 💋 9316020077💋 Goa Call Girls By Russian Call Girl...
 
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In RaipurCall Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
Call Girl Raipur 📲 9999965857 ヅ10k NiGhT Call Girls In Raipur
 
Punjab❤️Call girls in Mohali ☎️7435815124☎️ Call Girl service in Mohali☎️ Moh...
Punjab❤️Call girls in Mohali ☎️7435815124☎️ Call Girl service in Mohali☎️ Moh...Punjab❤️Call girls in Mohali ☎️7435815124☎️ Call Girl service in Mohali☎️ Moh...
Punjab❤️Call girls in Mohali ☎️7435815124☎️ Call Girl service in Mohali☎️ Moh...
 
Russian Call Girls Lucknow ₹7.5k Pick Up & Drop With Cash Payment 8923113531 ...
Russian Call Girls Lucknow ₹7.5k Pick Up & Drop With Cash Payment 8923113531 ...Russian Call Girls Lucknow ₹7.5k Pick Up & Drop With Cash Payment 8923113531 ...
Russian Call Girls Lucknow ₹7.5k Pick Up & Drop With Cash Payment 8923113531 ...
 
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
Local Housewife and effective ☎️ 8250192130 🍉🍓 Sexy Girls VIP Call Girls Chan...
 
Hubli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Hubli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetHubli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Hubli Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Jodhpur Call Girls 📲 9999965857 Jodhpur best beutiful hot girls full satisfie...
Jodhpur Call Girls 📲 9999965857 Jodhpur best beutiful hot girls full satisfie...Jodhpur Call Girls 📲 9999965857 Jodhpur best beutiful hot girls full satisfie...
Jodhpur Call Girls 📲 9999965857 Jodhpur best beutiful hot girls full satisfie...
 
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real MeetNanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
Nanded Call Girls 👙 6297143586 👙 Genuine WhatsApp Number for Real Meet
 
Jaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
Jaipur Call Girls 9257276172 Call Girl in Jaipur RajasthanJaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
Jaipur Call Girls 9257276172 Call Girl in Jaipur Rajasthan
 
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real MeetChandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls 👙 7001035870 👙 Genuine WhatsApp Number for Real Meet
 

FHIR Search for server developers by Martijn Harthoorn

  • 1. SEARCH for server developers Martijn Harthoorn FHIR Developer Days November 24, 2014 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 2. Who am I?  Name: Martijn Harthoorn  Company: Furore  Background:  Programmer in C# (mainly)  Team leader Furore FHIR team  Programmer of  Spark Search Engine  Spark custom-profile resource validator 2 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 3. 3 Let’s talk about… Understanding what’s behind the question mark. © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 4. 4 Let’s talk about… FHIR Paradigm FHIR client should be easy. FHIR server needs to solve the complex issues. Search has some… © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 5. 5 Overview 1. Why we need search? 2. How does FHIR solve that? 3. What does the spec say? 4. How do we implement that technically? © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 6. 6 Fhir without search © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 7. 7 Fhir without search 1. CRUD © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 8. 8 Fhir without search GET [base]/Patient/[id] © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 9. 9 Use cases © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 10. 10 UC1: The registrar "patient forgot hospital card (with id)" © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 11. 11 UC2: The doctor “give me all data on patient x” © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 12. 12 UC3: The researcher “give me all data on a specific allergy that conforms to a set of conditions” © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 13. 13 UC4: The manager “how many patients did we treat last month” © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 14. 14 UC5: The lab “Give me the list of tests to process” © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 15. 15 UC6: The nurse “Alert me on any patient with a measurement in the danger zone.” © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 16. 16 UC Summary - the registrar - the doctor - the researcher - the manager - the lab worker - the nurse © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 17. 17 Solutions in FHIR © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 18. 18 Search Solutions in FHIR URL/[resource]?<parameters> © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 19. 19 Search solution 2 of FHIR Query © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 20. 20 Parameter types © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 21. 21 Parameters types number date string token reference quantity composite © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 22. 22 FHIR Data types Primitive data types © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 23. 23 FHIR Data types Complex data types © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 24. 24 Mapping of number Parameter data type Content data type number integer ~/Procedure?date=>2010-01-01&date=<2011-12-31 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 25. 25 Mapping of date Parameter data type Content data type date Date DateTime Period Instant ~/Procedure?date=>2010-01-01&date=<2011-12-31 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 26. 26 Mapping of string Parameter data type Content data type string String HumanName ~/Patient?name=eve © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 27. 27 Mapping of token Parameter data type Content data type token Coding Codeable concept ~/Patient?name=eve Identifier (Code) © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 28. 28 Mapping of quantity Parameter data type Content data type quantity Quantity ~/Patient?name=eve © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 29. 29 Mapping of reference Parameter data type Content data type reference Uri ~/condition?subject:Patient=23 (Local id) © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 30. 30 F. Mapping of Value[x] Parameter data type Content data type value-concept value[x] value-date value-quantity value-string ~/condition?subject:Patient=23 © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 31. 31 Returned parameters © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 32. 32 History Version 1.  Patient only  Per parameter  No meta data  No index Limited © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 33. 33 History Version 2.  All resources  Self generated meta data  Indexing in Lucene  Client side joins © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 34. 34 History Version 3.  All resources  Model meta data  Indexing in Mongo Even faster! changes in the standard are now applied automatically © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 35. 35 Indexing © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 36. 36 Indexing © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 37. 37 Indexing © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 38. 38 Indexing REST Service Storage Index & Search DB © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 39. 39 How to index? © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 40. 40 How to index? <family value=“Chalmers”> chalmers Patient?name=chal chal* match © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 41. 41 How to index? <valueQuantity=“10g”> 0.1 value-quantity=>0.1||kg > 0.05 kg = kg http://unitsofmeasure.org = http://unitsofmeasure.org © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 42. 42 Indexing in Mongo: © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 43. 43 K. Debugging To test a client – you must have a tested server To test a server – you must have a tested client “One fool can ask more questions than seven wise men can answer” © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 44. 44 Debugging Sprinkler (testtool) Spark MongoDB Fiddler Visual Studio Visual Studio MongoVue “One fool can ask more questions than seven wise men can answer” © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 45. 45 Logic and filtering © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 46. 46 Logic and filtering a=x & c=y & e=z a=x & a=y a=b,d a-b=c$d © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 47. 47 Logic and filtering URL?a=A&a=A2&c=C1,C2&d-e-=D&E AND EQ a=A2 OR c=C1 c=C2 ELEM AND d=D e=E a A © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 48. 48 _include © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 49. 49 Chained parameters © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 50. 50 Paging © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 51. 51 Canonical search © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 52. 52 Canonical search UCUM http://unitsofmeasure.org/ © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 53. 53 Fuzzy search © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 54. 54 Fuzzy search 1. STARTS WITH © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 55. 55 Fuzzy search 2. LIKE © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 56. 56 Fuzzy search 3. SOUNDEX © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 57. 57 Fuzzy search 4. Damerau-Lehvenstein © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 58. 58 Fuzzy search 5. More advanced searching © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
  • 59. 59 Full text search © 2014 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.

Notas do Editor

  1. Talk about SERVER PART OF SEARCH   - I will tell you all the problems i encountered and the hurdles I took. - I will discuss other ways to approach the subject. Next: Paradigm
  2. I will talk to you about the technical implications. But first we will look at:
  3. To know why fhir has search, ask: what would fhir be without it Having to access the database directly. Not possible for other systems. No standard. Again
  4. To know why fhir has search, ask: what would fhir be without it Having to access the database directly. Not possible for other systems. No standard. Again
  5. Specifically GET Aggregation: Having to access the database directly. Not possible for other systems. No standard. Again
  6. To know why fhir has search, ask: what would fhir be without it Having to access the database directly. Not possible for other systems. No standard. Again
  7. Summary each UC. is it: search, query, aggregation?
  8. To know why fhir has search, ask: what would fhir be without it Having to access the database directly. Not possible for other systems. No standard. Again
  9. Here we go into the spec.
  10. And…. query
  11. I will give you the options we have.
  12. Here we go into the spec.
  13. There are many kinds of references, But the basic reference is an uri = pointing to another spec.
  14. - Upper case / lower case
  15. Search within the structure…. Real time is slow takes a lot of analysis
  16. ANALYSIS on SEARCH OR on POST Structure complicated Speed and complexity Next: server architecture
  17. So what we did: Index. Could be lucene. We chose mongo.
  18. ANALYSIS on SEARCH OR on POST Structure complicated Speed and complexity
  19. ANALYSIS on SEARCH OR on POST Structure complicated Speed and complexity
  20. Compare with SQL
  21. EQ is shorthanded
  22. - Upper case / lower case
  23. - Upper case / lower case
  24. - Upper case / lower case
  25. Handmatig uitwerken
  26. Handmatig uitwerken
  27. - Upper case / lower case
  28. - Upper case / lower case
  29. Handmatig uitwerken
  30. Handmatig uitwerken
  31. Handmatig uitwerken
  32. Handmatig uitwerken
  33. - Upper case / lower case