Sam's FHIR journey
This exercise will help you practice your FHIR skills by having you create resources that follow our Sam Fhirman's small journey through the healthcare system.
Contents
Step 1: Exercise description Step 2: Create a ValueSet Step 3: Perform an $expand on your ValueSet Step 4: Create a ConceptMap mapping Step 5: Perform a $translate on your ConceptMapStep 1: Exercise description
Sam, our Patient with a known allergy (AllergyIntolerance) has an Appointment at a hospital (Organization) which results in a hospital Encounter. The doctor (Practitioner), who previously recorded Sams allergy, examines Sam and notices an allergy to fish, so he orders a test to be done (ProcedureRequest) at the pathology lab (Organization). The hospitals system tracks this request using a Task, so the doctor can check the task at any time to see if there's been any progress made. When the pathology lab performs its analysis, it records 'Hemoglobin' result as an Observation in its 'Complete blood count' DiagnosticReport which is send to the FHIR server of the hospital. The pathology lab system updates the Task with the DiagnosticReport and notifies the doctor that results are available.
Ok, so maybe this doctor and pathology lab have no idea about healthcare, a 'Complete blood count' with only a single 'Hemoglobin' result for a Fish allergy. Sounds very fishy to me!
We need you to model this scenario as FHIR resources. You will need to create a Patient, AllergyIntolerance, Appointment, Encounter, Practitioner, ProcedureRequest, Task, DiagnosticReport, Observation, and two Organization resources and have them reference each other appropriately. Try working as a group to split the load, or just work through the resources one by one together!
See diagram below for how the resources could be setup:
Exercise answer
The answer with all resources included is available here (right-click and use 'Save as'). As this example is a FHIR transaction bundle, you can also just POST it to a FHIR servers endpoint and have all of the resources created for you on the server. But that would be cheating!
Answer is also available for viewing below:
That's it for this exercise!