Try a free lesson Lessons linked to demo questions are free, with no account needed. The complete course requires active paid QBank access. Sign in or view your access .
Enable JavaScript and sign in to read the lessons. Course outline Choose a module, expand a topic, and open a lesson.
1 FHIR foundations (supplementary) 3 topics · 9 lessons
1.1 FHIR purpose and scope 3 lessons 1.1.1 Explain why FHIR was developed and what problems it addresses 1.1.2 List the main categories of healthcare data FHIR can represent 1.1.3 Describe how FHIR differs from earlier standards in approach and design 1.2 FHIR systems and exchange 3 lessons 1.2.1 Identify the roles of clients, servers, and APIs in FHIR-based systems 1.2.2 Describe the main data exchange models supported by FHIR 1.2.3 Recognize that FHIR resources follow a consistent internal structure 1.3 Specification maturity and tools 3 lessons 1.3.1 Distinguish between normative and trial-use content in the FHIR spec 1.3.2 Explain the purpose of the FHIR Maturity Model (FMM) 1.3.3 Locate official FHIR tools, examples, and documentation sources 2 Understanding implementation guides 2 topics · 6 lessons
2.1 Choose profiles for a use case 3 lessons 2.1.1 Locate the list of available resources / profiles in the standard or implementation guide. 2.1.2 Interpret the resource scope and usage, description, boundaries, and relationships sections and compare it to the use case. 2.1.3 Infer any other related resource/profile needed to complete information requirements for the use case. · Free demo lesson 2.2 Choose an implementation guide 3 lessons 2.2.1 Locate the registries of Implementation Guides (global, local, those recommended in the domain etc.). 2.2.2 Search by keywords to find ones that may be appropriate e.g., “laboratory,” “genomics,” “UK”. 2.2.3 Examine each implementation guide, read the scope, use cases, and interactions to determine appropriateness. 3–4 FHIR API behavior 7 topics · 21 lessons
3.1 Choose an exchange paradigm 3 lessons 3.1.1 Recall the available exchange paradigms (include new paradigms like bulk-transfer and subscription). 3.1.2 Compare the key features of the paradigm and the use case. 3.1.3 Estimate suitability of each paradigm and make a selection. 3.2 Choose RESTful interactions 3 lessons 3.2.1 Locate the category of API method for an interaction (creating, updating, deleting, read, searching, executing an operation). 3.2.2 Interpret the use of conditional updates. 3.2.3 Compare the use of direct get vs search. · Free demo lesson 3.3 Choose operations 3 lessons 3.3.1 Locate the resource/system operation list. 3.3.2 Determine candidate operations in the list. 3.3.3 Compare the operation parameters with provided requirements to identify gaps. 3.4 Read a CapabilityStatement 3 lessons 3.4.1 Distinguish the sections of the capability statement. 3.4.2 Locate which resources are supported in REST mode. 3.4.3 Locate which methods are supported for each resource in REST mode. · Free demo lesson 3.5 Choose Bundle features 2 lessons 3.5.1 Determine the bundle type within the paradigm. · Free demo lesson 3.5.2 Determine key components and parts of the bundle. 4.1 Apply the safety checklist 4 lessons 4.1.1 Locate the checklist. 4.1.2 Interpret the checklist. 4.1.3 Apply items from the checklist to specific problems. 4.1.4 Give an undesired consequence and ask what could have been done to prevent it. 4.2 Apply the security checklist 3 lessons 4.2.1 Locate the authentication method used either by the client or server depending on the context. 4.2.2 Compare the AuditEvent resource entries to Basic Audit Log Patterns Implementation Guide to determine conformance with recommendations. 4.2.3 Consider methods for secure communications with the FHIR API. 5 Resource model and structure 5 topics · 17 lessons
5.1 Choose resource types 3 lessons 5.1.1 Select the right resource given a scenario. 5.1.2 Select the right “workflow” resource for a scenario. 5.1.3 Identify when Provenance is used. 5.2 Assess element suitability 4 lessons 5.2.1 Define the component data elements, constraints, and relationships for use case. · Free demo lesson 5.2.2 Determine element cardinality and flags. 5.2.3 Determine the terminology for a coded element. 5.2.4 Determine correct reference mechanism to link various resource. 5.3 Find available search parameters 4 lessons 5.3.1 Interpret which search parameters are available for a specific resource. 5.3.2 Estimate how to combine search parameters to retrieve that resource. 5.3.3 Determine which search parameters are applicable for a particular scenario. 5.3.4 Find out if there is an operation that fits your use case. 5.4 Choose existing extensions 3 lessons 5.4.1 Decide if data requirement is not met by the resource(s) and existing properties. 5.4.2 Search FHIR standard extensions, and those of relevant IGs and other extensions from registries, to find a suitable extension. 5.4.3 Compare the data type of the extension with the existing data. 5.5 Identify terminology requirements 3 lessons 5.5.1 Distinguish the correct data type to represent an element of a use case. 5.5.2 Determine the binding strength. 5.5.3 Determine the value set. 6 Implementation 5 topics · 24 lessons
6.1 Implement extensions 5 lessons 6.1.1 Format the extension instance in FHIR data. 6.1.2 Put the extension in the correct place - extend the resource or the element (or data type) within it. 6.1.3 Identify the correct placement sequence of an extension in a resource for XML or JSON 6.1.4 Identify the correct URL for the extension. 6.1.5 Use the correct data type for the value. · Free demo lesson 6.2 Populate and serialize elements 9 lessons 6.2.1 Use simple and complex data types. 6.2.2 Use the name of the element correctly. 6.2.3 Confirm elements must be in the correct order, and so must elements in data types, for XML. 6.2.4 Put the data in the right place (XML). 6.2.5 Use the value attribute (not between elements as text). · Free demo lesson 6.2.6 Use the choice data types correctly. 6.2.7 Use repeating element correctly (JSON needs arrays even for repeatable things that have only repetition). · Free demo lesson 6.2.8 Use a backbone element correctly. 6.2.9 Use quotes correctly for strings but not for 6.3 Write search queries 3 lessons 6.3.1 Given the parameters, write a simple search using parameter name and search criteria data types. 6.3.2 Use AND/OR to combine search criteria. 6.3.3 Use special syntax for dates and quantities to include this type of parameters. 6.4 Invoke operations 3 lessons 6.4.1 Use the in/out parameter data types correctly. 6.4.2 Determine if it is a simple operation (URL based) or POST operation (complex). 6.4.3 Write the operation call based on the parameters. 6.5 Represent terminology 4 lessons 6.5.1 Use structure correctly for a basic code data type e.g., Patient.gender. 6.5.2 Use structure correctly for a more complex CodeableConcept data type. 6.5.3 Use the different attributes: system, code, display, and text. 6.5.4 Manage more than one code in a CodeableConcept 7 Troubleshooting and validation 3 topics · 10 lessons
7.1 Resolve validation errors 3 lessons 7.1.1 Determine location of validation error in the evaluated resource. · Free demo lesson 7.1.2 Determine suitable corrective action(s) based on the validation error(s). 7.1.3 Determine if corrective action(s) are needed based on message severity. 7.2 Diagnose REST API errors 4 lessons 7.2.1 Interpret the different HTTP code errors. 7.2.2 Interpret the OperationOutcome response. 7.2.3 Triage based on the kind of problem (lack of connectivity/server down, permissions failure, incorrect use of API / Wrong URL/wrong HTTP verb, missing data, incorrect data, etc. 7.2.4 Fetch and read the CapabilityStatement of the API to check that it supports your intent. 7.3 Validate resource instances against profiles 3 lessons 7.3.1 Choose the method to validate the instance. 7.3.2 Execute the validation (for example, server to validate). 7.3.3 Interpret the validation output. · Free demo lesson