Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added intermediate tasks #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 25 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,43 @@
# HAPI FHIR Playground: Basic
# HAPI FHIR Playground

This project is a skeleton project for using [HAPI FHIR](https://hapifhir.io) to access a public [FHIR](http://hl7.org/fhir/) server hosted at [http://hapi.fhir.org/baseR4](http://hapi.fhir.org/baseR4).

### Getting Started:

* [ ] Take a few minutes to familiarize yourself with the [FHIR Standard](http://hl7.org/fhir/) for health data exchange. In particular you might want to read the [Executive Summary](http://hl7.org/fhir/summary.html) and the [Developer Introduction](http://hl7.org/fhir/overview-dev.html)

* [ ] Try clicking on the link below. It is a FHIR *Search* operation used to look for patients with the name "Smith". (This is a publically accessible test server used by people all over the world, so we don't control what data is on it. Sometimes you may find unexpected or weird data there.)
* [ ] Try clicking on the link below. It is a FHIR *Search* operation used to look for patients with the name "Smith". (This is a publically accessible test server used by people all over the world, so we don't control what data is on it. Sometimes you may find unexpected or weird data there.)

http://hapi.fhir.org/baseR4/Patient?family=SMITH

* [ ] Create your own GitHub project and copy the contents of this repository into your own project (please don't fork this repository)

* [ ] Locate the class `SampleClient` and run it. This class runs the same search shown above.

### Tasks:
### Basic Tasks:

* [ ] Modify `SampleClient` so that it prints the first and last name, and birth date of each Patient to the screen

* [ ] Sort the output so that the results are ordered by the patient's first name

* [ ] Commit your work
* [ ] Commit your work

### Intermediate Tasks:

* [ ] Create a text file containing 20 different last names

* [ ] Modify 'SampleClient' so that instead of searching for patients with last name 'SMITH',
it reads in the contents of this file and for each last name queries for patients with that last name

* [ ] Print the average response time for these 20 searches by implementing an IClientInterceptor that uses
the requestStopWatch to determine the response time of each request.

* [ ] Run this loop three times, printing the average response time for each loop. The first two times the loop should
run as described above. The third time the loop of 20 searches is run, the searches should be performed with
caching disabled.

* [ ] If there is enough time between runs, you should expect to see loop 2 with a shorter average response time than loop 1 and 3.

* [ ] Please include unit tests for your work

* [ ] Commit your work