Replies: 3 comments
-
Currently, I have a good idea of how SMART apps work and what they can do. The main difficulties I've identified so far are:
Some useful resources I've found:
Currently I am working on:
I could do (4) right now by basically gluing together the different examples I've seen so far, but I think doing it from scratch would be instructional and I'd like to see what a more-modern example looks like. On the topic of more-modern examples, there are also Typescript+React examples. This one in particular is of interest because it also demonstrates use of |
Beta Was this translation helpful? Give feedback.
-
I've familiarized myself with HAPI server and set up a local HAPI JPA server following this starter project. I chose a JPA server over a Plain Server (aka Facade) because the JPA server provides its own relational database and storage/retrieval logic out of the box, which seems well-suited for app development. If I were looking to integrate with existing data sources, I would choose the Plain Server. For more on the different servers see REST Server Types. The HAPI FHIR docs are very good, enough that I didn't need to consult any other sources to understand what I was doing. I like that they adequately explain many of the concepts without requiring the reader to have more than basic familiarity with FHIR. I only ran into two difficulties. Neither were significant but are worth documenting:
Next I'll bulk load Synthea data into the server and connect a simple SMART app. (Bonus: The server comes with an admin GUI where you can search, query, perform CRUD operations on, and validate FHIR resources.) |
Beta Was this translation helpful? Give feedback.
-
I can run a very simple browser-based SMART app and request FHIR resources from my server! It returns the searchsets I expect. Feels satisfying. One file <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Simple Browser-Based SMART App</title>
<script src="https://cdn.jsdelivr.net/npm/fhirclient/build/fhir-client.js"></script>
<script type="text/javascript">
const client = FHIR.client("http://localhost:8080/fhir");
client.request("Patient").then(console.log).catch(console.error);
client.request("Encounter").then(console.log).catch(console.error);
</script>
</head>
</html> I'll try something more complex now and see if/where things break. |
Beta Was this translation helpful? Give feedback.
-
Big Picture: Can we build a SMART app + are there tools Sero can offer?
@jamais-vu documenting our previous discussion here, let's use this discussion thread for now. We might create specific issues, but as of right now this is research.
Beta Was this translation helpful? Give feedback.
All reactions