-
Notifications
You must be signed in to change notification settings - Fork 348
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
feat(client): add fhircast{Publish, Subscribe, Connect}
#3024
Conversation
Apply Sweep Rules to your PR?
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, lgtm 👍
A couple small things if you want to:
- I think you can replace
satisfies PendingSubscriptionRequest as PendingSubscriptionRequest
with justas PendingSubscriptionRequest
- See the Sonar issue on removing
ISOTimestamp
: https://sonarcloud.io/project/issues?pullRequest=3024&open=AYshku8gkpT7zR4ZNmCP&id=medplum_medplum
I know it's a little weird to use string
for date/times, but we do it all over the place for FHIR compliance. We're not getting much (any?) additional type safety from ISOTimestamp
, so I would recommend removing it.
Kudos, SonarCloud Quality Gate passed! |
Fixed version mismatch in package-lock.json feat(client): add `fhircast{Publish, Subscribe, Connect}` (#3024) More details in slack message on deploy (#3035) Client Chart Example (#2999) Fixes #3032 - send slack message on deploy and publish (#3034) Fix primitive extensions on choice types (#3033) Add documentation for representing prescriptions and medication orders (#2807) Test against multiple Postgres versions (#3026) Handle search on numeric array columns (#3022) Health Gorilla order form update (#3023) Updated compliance logos (#3021) Merge schema/validation systems (#2859) feat(server/bullmq): remove all finalized jobs by default (#3014) Remove barrel files (#3016) Fixes #2955 - aws lambda client retry policy (#2986) Filter ClientApplication resources in Apps tab (#3013) feat(fhircast-demo): add auth story to demo (#2997) Fixes #2987 Fixes #2988 - use HumanName.text (#2989) Fixes #2984 - handle invalid UUID in _id search param (#2985) Update Health Gorilla demo to order multiple tests (#2980) Fixes #1307 Fixes #2963 Fixes #2969 - binary data docs (#2982) Gracefully error on invalid JWT in client assertion flow (#2983) Refresh session profile if not present in client (#2978) replacing bookmark name string #2979 (#2981) Limit SQL subqueries for existence checking (#2976) QuestionnaireForm style tweaks (#2975) DiagnosticReportDisplay - only show specimen data if present (#2974) Add `FHIRcast` client example (#2965) Fixes #2971 - update Questionnaire reference inputs (#2973)
* Fixed version mismatch in package-lock.json * Release Version 2.1.5 Fixed version mismatch in package-lock.json feat(client): add `fhircast{Publish, Subscribe, Connect}` (#3024) More details in slack message on deploy (#3035) Client Chart Example (#2999) Fixes #3032 - send slack message on deploy and publish (#3034) Fix primitive extensions on choice types (#3033) Add documentation for representing prescriptions and medication orders (#2807) Test against multiple Postgres versions (#3026) Handle search on numeric array columns (#3022) Health Gorilla order form update (#3023) Updated compliance logos (#3021) Merge schema/validation systems (#2859) feat(server/bullmq): remove all finalized jobs by default (#3014) Remove barrel files (#3016) Fixes #2955 - aws lambda client retry policy (#2986) Filter ClientApplication resources in Apps tab (#3013) feat(fhircast-demo): add auth story to demo (#2997) Fixes #2987 Fixes #2988 - use HumanName.text (#2989) Fixes #2984 - handle invalid UUID in _id search param (#2985) Update Health Gorilla demo to order multiple tests (#2980) Fixes #1307 Fixes #2963 Fixes #2969 - binary data docs (#2982) Gracefully error on invalid JWT in client assertion flow (#2983) Refresh session profile if not present in client (#2978) replacing bookmark name string #2979 (#2981) Limit SQL subqueries for existence checking (#2976) QuestionnaireForm style tweaks (#2975) DiagnosticReportDisplay - only show specimen data if present (#2974) Add `FHIRcast` client example (#2965) Fixes #2971 - update Questionnaire reference inputs (#2973) * Fixed cyclonedx dep * Fixed merge conflict
What this PR does
fhircastSubscribe()
toMedplumClient
to subscribe to a topicfhircastUnsubscribe()
toMedplumClient
to unsubscribe from a topicfhircastConnect()
toMedplumClient
to connect to a topic's WebSocket endpointfhircastPublish()
toMedplumClient
for publishers to publish events to a topicFhircastConnection
class for managing aFHIRcast
WebSocket connectioncore/src/fhircast
useState<T | undefined>
, which for complex types can lead to a@typescript-eslint
error (https://typescript-eslint.io/rules/no-redundant-type-constituents/)fhircastPublish
andfhircastSubscribe
toMedplumClient
#2998TODO:
createFhircastMessagePayload()
fhircastSubscribe()
fhircastConnect()
fhircastPublish()
fhircastUnsubscribe()
crypto.randomUUID()
to work injest-jsdom-environment