Response to FHIR ServiceRequest - hl7-fhir

I'm new to FHIR and need to support a scenario where a provider broadcasts a required need for services to other providers. We'll be using R4 so sending a ServiceRequest to each potential performer seems reasonable, but it's not clear how the potential performers should accept or revoke the service request.
Any insight appreciated!
Scott C.

The ServiceRequest represents an authorization. By itself, it doesn't ask anyone to act on it. To solicit fulfillment of the ServiceRequest, you need to use one of the mechanisms defined in the FHIR workflow section. Most of these approaches make use of 'Task', which allows for explicit acceptance or refusal of the request to fulfill (as well as updates on progress and eventual attachment of the results).
Note also that the refusal of one provider to fulfill the order doesn't change the status of the ServiceRequest - it still remains an active authorization. It's possible to send a second Task seeking fulfillment, or even a third until someone agrees to perform it - and actually delivers as promised.

Related

Is there an FHIR Extension to indicate a Practitioner or Patient Resource has been validated against a registry

When I construct a Patient or Provider resource from incoming data I query a registry to confirm the incoming data is correct.
What I'd like to do is put a field in the resource to notify the receiving system that the data is either correct or is out of sync with the registry. I cold create my own extension, however wondering if an extension currently or will soon exit?
I've reviewed the HL FHIR site and cannot find reference to an extension like this
The VerificationResult resource is intended for that purpose, as if you're interested in verification information it's typically more than just a simple boolean - at least when the data is being shared outside a tight context where the verifying entity, verification mechanism, etc. might be able to be implicit.

Is it possible to Fetch Real-time data using Riot Valorant Api?

I am making an application that shows real-time status for a Valorant game. like players alive, the type of weapons each play has, time remaining, etc.
Is it possible to use Riot Valorant API to do this for live matches or for previously played matches?
As per my knowledge you couldn't. But I think you should try with Riot Games' official production API, not development API.
Let me know if you find something relatable.
(This is adding onto Sanskar's answer, which I cannot comment on as I lack the required 'reputation')
I'm aware that this is an old question, but for anyone who happens to have stumbled upon this question, there is no way to obtain real-time in-game events however, there is a way to retrieve certain data from a match-- only except, not in an official way that does go against Riot Game's TOS of using third party software. Though, I wouldn't worry about this too much as long as you do not ruin the competitive integrity of the game by providing yourself with an in-game advantage over others in the game. I personally have been using this for over a year now and have not received any form of punishment for doing so.
Anyhow, back to the actual question of this thread, check out this document of API endpoints that have been scraped through monitoring HTTP traffic of the Riot Client. https://github.com/techchrism/valorant-api-docs/tree/trunk/docs/ You'll need to obtain certain authorization tokens of the Valorant account through whatever methods are available to you (I pray that it is through lawful means :) ), which highly depends on the type of endpoint. There are certain wrappers for these endpoints already made by other users somewhere on GitHub, and you can always ask for help in the small community of developers that are using these endpoints in the README of the GitHub page I sent in this post.
REMEMBER TO NOT DO ANYTHING THAT WOULD CREATE AN UNFAIR ADVANTAGE, OR ANYTHING ELSE THAT A RIOT EMPLOYEE WOULD NOT APPROVE OF USING THIS :)

FHIR OperationOutcome to handle Consent

Refer to FHIR R4 and potentially R5.
We have the following scenario:
Our client invokes our FHIR server, which returns a Bundle of the requested resources.
Optionally, we can return an OperationOutcome in the Bundle in case of any issue.
Some resources may be unauthorized or partially hidden because of a consent rule.
The issues are:
There is no element inside issue that allows specifying issues for specific returned resources rather than an element expression (resource reference).
No element allows referring to a hint (i.e., the Consent ID) that blocks a specific resource and probably allows unlocking it.
Question: Is there any alternative response that enables the requested requirement?
If you ask why the client would like to know that level of detail, there are several alternatives:
The client is indeed another system that may complete the consent acceptance workflow or notify another module about the authorization requirement in an automated way.
The client is a UI with the capability to lead the user to a resource authorization or authorization request page.
The client may have a "break the glass" capability for certain Consent types
If a resource was completely suppressed, there'd be no path for the OperationOutcome to point to. All that can be done is display a generic warning indicating "Your search results may have been filtered to exclude certain results. If you wish to access all records, please follow "break the glass process X". If a resource was but redacted to show less than full information, that would be conveyed by the meta.security tag on the impacted issue, though you could also include a generic warning along the lines of "Some of the returned resources have been redacted for security/consent reasons. If you need to see the complete content, please follow break-the-glass process X".
There is no standard break-the-glass process, so there is no standard set of elements conveyed in the OperationOutcome that allow more computably defining the interface for invoking it. However, you could define extensions for your particular implementation space if that was useful.

Articulate storyline 360 launch xapi course with adlnet/xAPIWrapper

One of my clients sent me a xAPI course which is created using Articulate Storyline 360 and published as Tin Can API for LMS. I am able to launch the course using method mentioned in below link:
Incorporating a Tin Can LRS into an LMS
So using the above method the launch URL looks like:
http://my.lms.com/TCActivityProvider/story.html
?endpoint=http://my.lms.com/lrs/endpoint/
&auth=Basic OjFjMGY4NTYxNzUwOGI4YWY0NjFkNzU5MWUxMzE1ZGQ1
&actor={"name": ["First Last"], "mbox": ["mailto:firstlast#mycompany.com"]}
&activity_id=61XkSYC1ht2_course_id
&registration=760e3480-ba55-4991-94b0-01820dbd23a2
Using the above URL which has an endpoint and credentials information, the course gets launched successfully and sents xAPI statements to LRS automatically.
But I don't want to send the parameters like auth, actor or endpoint in the URL for security reasons.
I googled for an alternative method and found the adlnet/xapi-launch and adlnet/xAPIWrapper library.
I explored the above two libraries but am confused about how it can be integrated into the LMS?
Does Articulate Storyline 360 support adlnet/xAPIWrapper?
The adlnet/xAPIWrapper is just a library that makes it easier to communicate with the LRS and requires you to determine how the endpoint and authentication credentials will be passed to the library. In other words it isn't necessarily intended to be used via LMS launch (it will work there, but doesn't have special handling for it). The xapi-launch specification you found as far as I know (at this time) has effectively zero adoption.
The other alternative would be to use cmi5 which is another specification that includes the concepts of packaging, import and launch for content that communicates via xAPI. It uses a different credential handshake process that is similar to both the launch guidelines you linked and the xapi-launch method. It uses query string parameters for the endpoint, but the LRS credentials are accessed via a separate, single use request. It has better adoption (though still early at this time), has been peer reviewed, is under the ADL umbrella, and is on more of a standards path. See https://xapi.com/cmi5/ for more about cmi5. I don't believe Articulate has yet implemented cmi5 in their products (at this time) as they are waiting for more indication for market desire, you should contact them about your interest in it if you feel it is a suitable option.

Extract the exact value used in a PACT (when the match is done via a regexp as value not initially known))

I have a ruby pact mock service provider that captures my request. I would like to extract the exact value provided in the request (which was matched by a Pact.term / Pact.like), to do further processing with that value once the request has been answered by the pact service provider.
An example: a password reset functionality. Code makes an API call to a mailing service, providing the password reset link as parameter. Pact captures the request and mocks it successfully, validating the data. I pass the reset_link as one of the parameters (a Json body). This gets match in a Pact.term. All good. But I also want to recover the exact value that was used in the request (say reset_link: 'http://sample.com/reset-password?key=12345'), so I can make a subsequent request and check that exact link does indeed allow a successful password reset.
Now, if I was sending email directly, it is easy to do, I can just parse Mail::TestMailer.deliveries.last
How can I do this?
I've gone through the code, even creating a Pact::SomethingLike subclass wouldn't work, as the comparison method is a lovely functional programming module, not a method in the class.
Is there a before / after hook, or a way to grab the whole web request?
PS: I'm aware this is typically tested by the underlying library I use. The library sanctioned way of adjusting functionality is to override certain methods, I need to re-test the whole functionality.
PPS: this is not rails but roda.
Thanks
André
I'm not sure if Pact Ruby supports this exact requirement, however digging into why you're doing this, I'd suggest it's a bad idea.
This is a functional test, something that Pact consciously makes difficult to support. See https://docs.pact.io/best_practices/contract_tests_not_functional_tests.html for more details as to why. There are better tools for the job for these sorts of tests, and they don't belong in the consumer code base (they absolutely do belong in the Providers' test suite).
Pact is a contract testing tool, and as such is only interested in isolated request/response contracts, not chained ones as per functional tests.

Resources