SlideShare a Scribd company logo
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.

More Related Content

What's hot

Authoring Profiles in FHIR
Authoring Profiles in FHIRAuthoring Profiles in FHIR
Authoring Profiles in FHIR
Ewout Kramer
 
Authoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended versionAuthoring FHIR Profiles - extended version
Authoring FHIR Profiles - extended version
Ewout 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 Introduction
Ewout Kramer
 
FHIR tutorial - Afternoon
FHIR tutorial - AfternoonFHIR tutorial - Afternoon
FHIR tutorial - Afternoon
Ewout 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 salford
Ewout Kramer
 
FHIR - more than the basics
FHIR - more than the basicsFHIR - more than the basics
FHIR - more than the basics
Ewout Kramer
 
Patient matching in FHIR
Patient matching in FHIRPatient matching in FHIR
Patient matching in FHIR
Grahame 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é Spronk
Furore_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 Grieve
FHIR 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 Baltus
FHIR Developer Days
 
IHE France on FHIR
IHE France on FHIRIHE France on FHIR
IHE France on FHIR
Ewout Kramer
 
FHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, OsloFHIR overview at EHiN 2014, Oslo
FHIR overview at EHiN 2014, Oslo
Ewout Kramer
 
FHIR Tutorial - Morning
FHIR Tutorial - MorningFHIR Tutorial - Morning
FHIR Tutorial - Morning
Ewout 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 Burg
Furore_com
 
FHIR Profiles
FHIR ProfilesFHIR Profiles
FHIR Profiles
David 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 2014
Ewout Kramer
 
Vitalis 2016 FHIR App Development
Vitalis 2016 FHIR App DevelopmentVitalis 2016 FHIR App Development
Vitalis 2016 FHIR App Development
Ewout 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 Grieve
Furore_com
 

What's hot (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
 

Similar to 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é Spronk
FHIR 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 Burg
FHIR 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 Developers
Ewout 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 McKenzie
Furore_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 FHIR
Ewout 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 Grieve
FHIR Developer Days
 
FHIR.pptx
FHIR.pptxFHIR.pptx
FHIR.pptx
VITNetflix
 
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
 
FHIR: What's it All About?
FHIR: What's it All About?FHIR: What's it All About?
FHIR: What's it All About?
Health Informatics New Zealand
 
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
VITNetflix
 
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
FHIR Developer Days
 

Similar to 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
 

Recently uploaded

NKTI Annual Report - Annual Report FY 2022
NKTI Annual Report - Annual Report FY 2022NKTI Annual Report - Annual Report FY 2022
NKTI Annual Report - Annual Report FY 2022
nktiacc3
 
Dr. David Greene R3 stem cell Breakthroughs: Stem Cell Therapy in Cardiology
Dr. David Greene R3 stem cell Breakthroughs: Stem Cell Therapy in CardiologyDr. David Greene R3 stem cell Breakthroughs: Stem Cell Therapy in Cardiology
Dr. David Greene R3 stem cell Breakthroughs: Stem Cell Therapy in Cardiology
R3 Stem Cell
 
PrudentRx's Function in the Management of Chronic Illnesses
PrudentRx's Function in the Management of Chronic IllnessesPrudentRx's Function in the Management of Chronic Illnesses
PrudentRx's Function in the Management of Chronic Illnesses
PrudentRx Program
 
INFECTION OF THE BRAIN -ENCEPHALITIS ( PPT)
INFECTION OF THE BRAIN -ENCEPHALITIS ( PPT)INFECTION OF THE BRAIN -ENCEPHALITIS ( PPT)
INFECTION OF THE BRAIN -ENCEPHALITIS ( PPT)
blessyjannu21
 
定制(wsu毕业证书)美国华盛顿州立大学毕业证学位证书实拍图原版一模一样
定制(wsu毕业证书)美国华盛顿州立大学毕业证学位证书实拍图原版一模一样定制(wsu毕业证书)美国华盛顿州立大学毕业证学位证书实拍图原版一模一样
定制(wsu毕业证书)美国华盛顿州立大学毕业证学位证书实拍图原版一模一样
khvdq584
 
How Effective is Homeopathic Medicine for Anxiety and Stress Relief.pdf
How Effective is Homeopathic Medicine for Anxiety and Stress Relief.pdfHow Effective is Homeopathic Medicine for Anxiety and Stress Relief.pdf
How Effective is Homeopathic Medicine for Anxiety and Stress Relief.pdf
Dharma Homoeopathy
 
Tips for Pet Care in winters How to take care of pets.
Tips for Pet Care in winters How to take care of pets.Tips for Pet Care in winters How to take care of pets.
Tips for Pet Care in winters How to take care of pets.
Dinesh Chauhan
 
Bringing AI into a Mid-Sized Company: A structured Approach
Bringing AI into a Mid-Sized Company: A structured ApproachBringing AI into a Mid-Sized Company: A structured Approach
Bringing AI into a Mid-Sized Company: A structured Approach
Brian Frerichs
 
HUMAN BRAIN.pptx.PRIYA BHOJWANI@GAMIL.COM
HUMAN BRAIN.pptx.PRIYA BHOJWANI@GAMIL.COMHUMAN BRAIN.pptx.PRIYA BHOJWANI@GAMIL.COM
HUMAN BRAIN.pptx.PRIYA BHOJWANI@GAMIL.COM
priyabhojwani1200
 
Luxurious Spa In Ajman Chandrima Massage Center
Luxurious Spa In Ajman Chandrima Massage CenterLuxurious Spa In Ajman Chandrima Massage Center
Luxurious Spa In Ajman Chandrima Massage Center
Chandrima Spa Ajman
 
The positive impact of SGRT – The Berkshire Cancer Centre experience
The positive impact of SGRT – The Berkshire Cancer Centre experienceThe positive impact of SGRT – The Berkshire Cancer Centre experience
The positive impact of SGRT – The Berkshire Cancer Centre experience
SGRT Community
 
Feeding plate for a newborn with Cleft Palate.pptx
Feeding plate for a newborn with Cleft Palate.pptxFeeding plate for a newborn with Cleft Palate.pptx
Feeding plate for a newborn with Cleft Palate.pptx
SatvikaPrasad
 
TEST BANK For Accounting Information Systems, 3rd Edition by Vernon Richardso...
TEST BANK For Accounting Information Systems, 3rd Edition by Vernon Richardso...TEST BANK For Accounting Information Systems, 3rd Edition by Vernon Richardso...
TEST BANK For Accounting Information Systems, 3rd Edition by Vernon Richardso...
rightmanforbloodline
 
Stem Cell Solutions: Dr. David Greene's Path to Non-Surgical Cardiac Care
Stem Cell Solutions: Dr. David Greene's Path to Non-Surgical Cardiac CareStem Cell Solutions: Dr. David Greene's Path to Non-Surgical Cardiac Care
Stem Cell Solutions: Dr. David Greene's Path to Non-Surgical Cardiac Care
Dr. David Greene Arizona
 
Professional Secrecy: Forensic Medicine Lecture
Professional Secrecy: Forensic Medicine LectureProfessional Secrecy: Forensic Medicine Lecture
Professional Secrecy: Forensic Medicine Lecture
DIVYANSHU740006
 
Under Pressure : Kenneth Kruk's Strategy
Under Pressure : Kenneth Kruk's StrategyUnder Pressure : Kenneth Kruk's Strategy
Under Pressure : Kenneth Kruk's Strategy
Kenneth Kruk
 
Gemma Wean- Nutritional solution for Artemia
Gemma Wean- Nutritional solution for ArtemiaGemma Wean- Nutritional solution for Artemia
Gemma Wean- Nutritional solution for Artemia
smuskaan0008
 
Time line.ppQAWSDRFTGYUIOPÑLKIUYTREWASDFTGY
Time line.ppQAWSDRFTGYUIOPÑLKIUYTREWASDFTGYTime line.ppQAWSDRFTGYUIOPÑLKIUYTREWASDFTGY
Time line.ppQAWSDRFTGYUIOPÑLKIUYTREWASDFTGY
DianaRodriguez639773
 
RECENT ADVANCES IN BREAST CANCER RADIOTHERAPY
RECENT ADVANCES IN BREAST CANCER RADIOTHERAPYRECENT ADVANCES IN BREAST CANCER RADIOTHERAPY
RECENT ADVANCES IN BREAST CANCER RADIOTHERAPY
Isha Jaiswal
 
CCSN_June_06 2024_jones. Cancer Rehabpptx
CCSN_June_06 2024_jones. Cancer RehabpptxCCSN_June_06 2024_jones. Cancer Rehabpptx
CCSN_June_06 2024_jones. Cancer Rehabpptx
Canadian Cancer Survivor Network
 

Recently uploaded (20)

NKTI Annual Report - Annual Report FY 2022
NKTI Annual Report - Annual Report FY 2022NKTI Annual Report - Annual Report FY 2022
NKTI Annual Report - Annual Report FY 2022
 
Dr. David Greene R3 stem cell Breakthroughs: Stem Cell Therapy in Cardiology
Dr. David Greene R3 stem cell Breakthroughs: Stem Cell Therapy in CardiologyDr. David Greene R3 stem cell Breakthroughs: Stem Cell Therapy in Cardiology
Dr. David Greene R3 stem cell Breakthroughs: Stem Cell Therapy in Cardiology
 
PrudentRx's Function in the Management of Chronic Illnesses
PrudentRx's Function in the Management of Chronic IllnessesPrudentRx's Function in the Management of Chronic Illnesses
PrudentRx's Function in the Management of Chronic Illnesses
 
INFECTION OF THE BRAIN -ENCEPHALITIS ( PPT)
INFECTION OF THE BRAIN -ENCEPHALITIS ( PPT)INFECTION OF THE BRAIN -ENCEPHALITIS ( PPT)
INFECTION OF THE BRAIN -ENCEPHALITIS ( PPT)
 
定制(wsu毕业证书)美国华盛顿州立大学毕业证学位证书实拍图原版一模一样
定制(wsu毕业证书)美国华盛顿州立大学毕业证学位证书实拍图原版一模一样定制(wsu毕业证书)美国华盛顿州立大学毕业证学位证书实拍图原版一模一样
定制(wsu毕业证书)美国华盛顿州立大学毕业证学位证书实拍图原版一模一样
 
How Effective is Homeopathic Medicine for Anxiety and Stress Relief.pdf
How Effective is Homeopathic Medicine for Anxiety and Stress Relief.pdfHow Effective is Homeopathic Medicine for Anxiety and Stress Relief.pdf
How Effective is Homeopathic Medicine for Anxiety and Stress Relief.pdf
 
Tips for Pet Care in winters How to take care of pets.
Tips for Pet Care in winters How to take care of pets.Tips for Pet Care in winters How to take care of pets.
Tips for Pet Care in winters How to take care of pets.
 
Bringing AI into a Mid-Sized Company: A structured Approach
Bringing AI into a Mid-Sized Company: A structured ApproachBringing AI into a Mid-Sized Company: A structured Approach
Bringing AI into a Mid-Sized Company: A structured Approach
 
HUMAN BRAIN.pptx.PRIYA BHOJWANI@GAMIL.COM
HUMAN BRAIN.pptx.PRIYA BHOJWANI@GAMIL.COMHUMAN BRAIN.pptx.PRIYA BHOJWANI@GAMIL.COM
HUMAN BRAIN.pptx.PRIYA BHOJWANI@GAMIL.COM
 
Luxurious Spa In Ajman Chandrima Massage Center
Luxurious Spa In Ajman Chandrima Massage CenterLuxurious Spa In Ajman Chandrima Massage Center
Luxurious Spa In Ajman Chandrima Massage Center
 
The positive impact of SGRT – The Berkshire Cancer Centre experience
The positive impact of SGRT – The Berkshire Cancer Centre experienceThe positive impact of SGRT – The Berkshire Cancer Centre experience
The positive impact of SGRT – The Berkshire Cancer Centre experience
 
Feeding plate for a newborn with Cleft Palate.pptx
Feeding plate for a newborn with Cleft Palate.pptxFeeding plate for a newborn with Cleft Palate.pptx
Feeding plate for a newborn with Cleft Palate.pptx
 
TEST BANK For Accounting Information Systems, 3rd Edition by Vernon Richardso...
TEST BANK For Accounting Information Systems, 3rd Edition by Vernon Richardso...TEST BANK For Accounting Information Systems, 3rd Edition by Vernon Richardso...
TEST BANK For Accounting Information Systems, 3rd Edition by Vernon Richardso...
 
Stem Cell Solutions: Dr. David Greene's Path to Non-Surgical Cardiac Care
Stem Cell Solutions: Dr. David Greene's Path to Non-Surgical Cardiac CareStem Cell Solutions: Dr. David Greene's Path to Non-Surgical Cardiac Care
Stem Cell Solutions: Dr. David Greene's Path to Non-Surgical Cardiac Care
 
Professional Secrecy: Forensic Medicine Lecture
Professional Secrecy: Forensic Medicine LectureProfessional Secrecy: Forensic Medicine Lecture
Professional Secrecy: Forensic Medicine Lecture
 
Under Pressure : Kenneth Kruk's Strategy
Under Pressure : Kenneth Kruk's StrategyUnder Pressure : Kenneth Kruk's Strategy
Under Pressure : Kenneth Kruk's Strategy
 
Gemma Wean- Nutritional solution for Artemia
Gemma Wean- Nutritional solution for ArtemiaGemma Wean- Nutritional solution for Artemia
Gemma Wean- Nutritional solution for Artemia
 
Time line.ppQAWSDRFTGYUIOPÑLKIUYTREWASDFTGY
Time line.ppQAWSDRFTGYUIOPÑLKIUYTREWASDFTGYTime line.ppQAWSDRFTGYUIOPÑLKIUYTREWASDFTGY
Time line.ppQAWSDRFTGYUIOPÑLKIUYTREWASDFTGY
 
RECENT ADVANCES IN BREAST CANCER RADIOTHERAPY
RECENT ADVANCES IN BREAST CANCER RADIOTHERAPYRECENT ADVANCES IN BREAST CANCER RADIOTHERAPY
RECENT ADVANCES IN BREAST CANCER RADIOTHERAPY
 
CCSN_June_06 2024_jones. Cancer Rehabpptx
CCSN_June_06 2024_jones. Cancer RehabpptxCCSN_June_06 2024_jones. Cancer Rehabpptx
CCSN_June_06 2024_jones. Cancer Rehabpptx
 

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.

Editor's Notes

  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