https://github.com/philips-software/go-hsdp-api
Client library to interact with various APIs used within Philips in a simple and uniform way
https://github.com/philips-software/go-hsdp-api
ai-inference ai-training ai-workspace auditing cartel cdl cdr fhir fhir-client hsdp hsdp-api iam iot ironio logging pki tdr
Last synced: 2 months ago
JSON representation
Client library to interact with various APIs used within Philips in a simple and uniform way
- Host: GitHub
- URL: https://github.com/philips-software/go-hsdp-api
- Owner: philips-software
- License: mit
- Created: 2018-08-03T15:32:41.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2025-02-24T22:13:26.000Z (2 months ago)
- Last Synced: 2025-02-26T17:09:30.905Z (2 months ago)
- Topics: ai-inference, ai-training, ai-workspace, auditing, cartel, cdl, cdr, fhir, fhir-client, hsdp, hsdp-api, iam, iot, ironio, logging, pki, tdr
- Language: Go
- Homepage:
- Size: 2.96 MB
- Stars: 32
- Watchers: 9
- Forks: 11
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Audit: audit/README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
[](https://codeclimate.com/github/philips-software/go-hsdp-api/maintainability)
[](https://pkg.go.dev/github.com/philips-software/go-hsdp-api)# go-hsdp-api
A HSDP API client library enabling Go programs to interact with various HSDP APIs in a simple and uniform way
> [!Important]
> This library is not endorsed, supported or approved by HSDP. It is a Philips Open Source community managed project. Please do not raise
> SNOW tickets, instead open a issue on the [Github project](https://github.com/philips-software/go-hsdp-api/issues).## Supported APIs
The current implement covers only a subset of HSDP APIs. Basically, we implement functionality as needed.
- [x] Cartel c.q. Container Host management ([examples](cartel/README.md))
- [x] Clinical Data Repository (CDR)
- [x] Tenant Onboarding
- [x] Subscription management
- [x] FHIR CRUD
- [x] FHIR Patch
- [x] STU3
- [x] R4
- [x] Connect IoT
- [x] Master Data Management (MDM)
- [x] Propositions
- [x] Applications
- [x] Data Adapter
- [x] Data Subscribers
- [x] OAuth2 clients
- [x] Standard Services
- [x] Service Actions
- [x] Service References
- [x] Storage Classes
- [x] Device Groups
- [x] Device Types
- [x] Regions
- [x] Buckets
- [x] Data Types
- [x] Blob Data Contracts
- [x] Blob Subscriptions
- [x] Data Broker Subscriptions
- [x] Firmware Components
- [x] Firmware Component Versions
- [x] OAuth Client Scopes
- [x] Subscriber Types
- [x] Resources Limits
- [x] Authentication Methods
- [x] Data Broker
- [ ] Data Items
- [x] Subscribers
- [x] SQS
- [ ] Kinesis
- [x] Subscriptions
- [ ] Access Details
- [x] Blob Repository
- [x] Blob Metadata
- [x] Access Policy
- [x] Access URL
- [x] Multipart Upload
- [x] BlobStore Policy management
- [ ] Topic management
- [ ] Store Access
- [ ] Bucket management
- [ ] Contract management
- [ ] Subscription management
- [x] Secure Transport Layer (STL) / Edge
- [x] Device queries
- [x] Application Resources management
- [x] Device configuration management (firewall, logging)
- [x] Public Key Infrastructure (PKI) management
- [x] Identity and Access Management (IAM)
- [x] Groups
- [x] Organizations
- [x] Permissions
- [x] Roles
- [x] Role Sharing Policies
- [x] Users
- [x] Passwords
- [x] Propositions
- [x] Applications
- [x] Services
- [x] Devices
- [x] MFA Policies
- [x] Password Policies
- [x] Email Templates
- [x] SMS Gateways
- [x] SMS Templates
- [x] Logging ([examples](logging/README.md))
- [x] Auditing ([examples](audit/README.md))
- [x] Telemetry Data Repository (TDR)
- [x] Contract management
- [x] Data Item management
- [x] S3Creds Policy management
- [x] DICOM Store
- [x] Config management
- [x] Notification service
- [x] Service Discovery
- [x] Console settings
- [ ] Metrics Alerts
- [x] Metrics Autoscalers
- [x] Docker Registry
- [x] Service Keys management
- [x] Namespace management
- [x] Repository management
- [x] IronIO tasks, codes and schedules management ([examples](iron/README.md))
- [x] Clinical Data Lake (CDL) management
- [x] Research Studies
- [x] Data Type Definitions
- [x] Label Definitions
- [x] Export Routes
- [x] AI Inference
- [x] Compute Environment management
- [x] Compute Target managements
- [x] Model management
- [x] Inference Job management
- [x] AI Training
- [x] Compute Environment management
- [x] Model management
- [x] AI Workspace
- [x] Compute Target management
- [x] Workspace management## Example usage
```go
package mainimport (
"fmt""github.com/philips-software/go-hsdp-api/iam"
)func main() {
client, _ := iam.NewClient(nil, &iam.Config{
Region: "us-east",
Environment: "client-test",
OAuth2ClientID: "ClientID",
OAuth2Secret: "ClientPWD",
})
err := client.Login("[email protected]", "Password!@#")
if err != nil {
fmt.Printf("Error logging in: %v\n", err)
return
}
introspect, _, _ := client.Introspect()
if introspect != nil {
fmt.Printf("Introspect response: %v\n", introspect)
}
}
```## TODO
- Increase API coverage
## Issues
- If you discover an issue: report it on the [issue tracker](https://github.com/philips-software/go-hsdp-api/issues)
## Contact / Getting help
Andy Lo-A-Foe ()
## License
License is MIT. See [LICENSE file](LICENSE.md)