Skip to content
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

Openemr inferno fixes for #5827 #5828 #5829 #5830 #5831 #5833 #5834 #5836

Merged

Conversation

adunsulag
Copy link
Member

Fixes #5831 - capabilities statement add passthrough statement
Fixes #5830 - add document title to DocumentReference endpoint
Fixes #5829 - enable patients to download their own documents.
Fixes #5828 - OperationDefinition endpoint, $bulkdata-status updates
Fixes #5827 - Migrate FHIR doc binary download to root Binary endpoint
Fixes #5833 - Patient portal scopes independent of fhir scopes
Fixes #5834 - Add delete interaction in capability statement to handle
write scopes correctly.

Fixes openemr#5831 - capabilities statement add passthrough statement
Fixes openemr#5830 - add document title to DocumentReference endpoint
Fixes openemr#5829 - enable patients to download their own documents.
Fixes openemr#5828 - OperationDefinition endpoint, $bulkdata-status updates
Fixes openemr#5827 - Migrate FHIR doc binary download to root Binary endpoint
Fixes openemr#5833 - Patient portal scopes independent of fhir scopes
Fixes openemr#5834 - Add delete interaction in capability statement to handle
write scopes correctly.

We were using the wrong interaction name for the capability statement
and I renamed it in the prior commit.  However, I wasn't handling it in
our ScopeRepository correctly.  Changed the interaction reference to be
'create' instead of 'insert' and put in a documentation url of where to
go to get the reference.
@@ -283,6 +283,16 @@ public function has_expired()
return false;
}

public function can_patient_access($pid)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bradymiller If you can look at this from a security point of view and let me know if you see any problems. Its called in the FhirDocumentRestController.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would just make sure $pid is also not empty in the if (overkill but might as well). otherwise looks good.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bradymiller Maybe I'm tired but I believe the first check for empty on the foreignID makes sure the $pid is also never empty since foreignID has to equal the $pid.

Copy link
Member

@bradymiller bradymiller Oct 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that is true. is overkill, on security related stuff, I overuse !empty() and am explicit so i don't need to think :)
can leave as is.

$scopes_api = array_merge($scopes_api, $scopes_api_portal);

$scopesSupported = $this->apiScopes();
$scopes_dict = array_combine($scopesSupported, $scopesSupported);
$scopesSupported = null;
$scopesSupported = null; // this is odd, why do we have this?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe some sort of loop is happening here where scopesSupported is used to build the $scopes_dict

@bradymiller
Copy link
Member

2DV-2

Found the definition url was missing for the operation.  Not sure how I
ended up removing it.
@adunsulag adunsulag merged commit 42651b9 into openemr:master Oct 18, 2022
adunsulag added a commit to DiscoverAndChange/openemr that referenced this pull request Oct 21, 2022
…emr#5830 openemr#5831 openemr#5833 openemr#5834 (openemr#5836)

* OpenEMR FHIR Api bug/feature fixes

Fixes openemr#5831 - capabilities statement add passthrough statement
Fixes openemr#5830 - add document title to DocumentReference endpoint
Fixes openemr#5829 - enable patients to download their own documents.
Fixes openemr#5828 - OperationDefinition endpoint, $bulkdata-status updates
Fixes openemr#5827 - Migrate FHIR doc binary download to root Binary endpoint
Fixes openemr#5833 - Patient portal scopes independent of fhir scopes

* Fix scope permission on insert/create/delete

Fixes openemr#5834 - Add delete interaction in capability statement to handle
write scopes correctly.

We were using the wrong interaction name for the capability statement
and I renamed it in the prior commit.  However, I wasn't handling it in
our ScopeRepository correctly.  Changed the interaction reference to be
'create' instead of 'insert' and put in a documentation url of where to
go to get the reference.

* Fix styles and unit tests

* Fix missing definition URL

Found the definition url was missing for the operation.  Not sure how I
ended up removing it.
adunsulag added a commit that referenced this pull request Oct 25, 2022
)

* Openemr inferno fixes for #5827 #5828 #5829 #5830 #5831 #5833 #5834 (#5836)

* OpenEMR FHIR Api bug/feature fixes

Fixes #5831 - capabilities statement add passthrough statement
Fixes #5830 - add document title to DocumentReference endpoint
Fixes #5829 - enable patients to download their own documents.
Fixes #5828 - OperationDefinition endpoint, $bulkdata-status updates
Fixes #5827 - Migrate FHIR doc binary download to root Binary endpoint
Fixes #5833 - Patient portal scopes independent of fhir scopes

* Fix scope permission on insert/create/delete

Fixes #5834 - Add delete interaction in capability statement to handle
write scopes correctly.

We were using the wrong interaction name for the capability statement
and I renamed it in the prior commit.  However, I wasn't handling it in
our ScopeRepository correctly.  Changed the interaction reference to be
'create' instead of 'insert' and put in a documentation url of where to
go to get the reference.

* Fix styles and unit tests

* Fix missing definition URL

Found the definition url was missing for the operation.  Not sure how I
ended up removing it.

* Fixes #5854 encounter identifier change uuid (#5854)

Change the UUID and remove the RFC reference

* Fixes #5832 - add document reference category (#5859)

Categories were not being populated in the document service piece so I
expose that in the DocumentService class.

I add the text name of the category/folder the document is assigned to
into the fhir patient document reference.

* Fixes #5838 DocumentReference date search (#5860)

Make the date search work for document reference with onc inferno.
@adunsulag adunsulag deleted the openemr-inferno-5827-5828-5829-5830 branch April 5, 2024 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment