Here are 26 things I wish I knew about FHIR at the beginning.
1. That an OperationOutcome resource could signify success as well as failure.
2. That conditional updates would allow me to create or update a resource with one request.
3. That all SearchParameters are clearly defined at the bottom of each resource’s page.
4. The necessary steps to using and creating an extension.
5. How to build a transaction bundle.
6. That transactions exist in FHIR and in FHIR SDKs.
7. That free Docker images are available for mainstream FHIR servers.
8. How valuable the “_elements” parameter is in reducing response size.
9. The significance of an element’s cardinality.
10. That different FHIR servers handle pagination in different ways.
11. That not all FHIR servers fully implement the “_total” parameter.
12. That ResourceReferences can use an Identifier in place of a reference.
13. That Terminology is always misunderstood, by the business as well as the devs.
14. That extensions can be attached to any FHIR attribute, even primitives.
15. To always look at the value of “Is Modifier” elements before using a resource.
16. That resources can change and even disappear between FHIR versions.
17. That _revIncludes coupled with other search parameters can cause speed issues on some FHIR servers.
18. That FHIR security labels exist and should not be ignored.
19. That Modifier extensions can alter the meaning of an element or resource.
20. That FHIR version ids are not always sequential integers.
21. That resources can contain other resources.
22. That nested extensions exist and are common.
23. That just because R5 is the most recent FHIR version doesn’t mean you should use it.
24. How to get a record count using “_summary=count” or “_count=0”
25. The _history parameter, and all the value that lies behind it.
26. That failing to deal with Terminology will put your project at risk of failure.
---
Sign up to “The Tuesday FHIR Sessions” and receive an email every Tuesday where I go deep on a single FHIR topic.