-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into collections-docs-tweak
- Loading branch information
Showing
26 changed files
with
939 additions
and
132 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
title: Asana Adaptor | ||
--- | ||
|
||
## About Asana | ||
|
||
[Asana](https://app.asana.com/) is a web-based project management tool that helps teams organize, plan, collaborate, and execute tasks. | ||
|
||
## Integration Options | ||
|
||
Asana supports 2 primary integration options: | ||
|
||
1. Rest API: Asana has an available REST API that enable external services like OpenFn to pull data from Asana, or push data from external apps to Asana. This option is suited for scheduled, bulk syncs or workflows that must update data in Asana with external information. See [functions](/adaptors/packages/asana-docs) for more on how to use this adaptor to work with the API. | ||
|
||
2. Webhook: Asana also has a [Webhook or Data Forwarding](https://developers.asana.com/docs/webhooks-guide) to push data from Asana to external systems. This option is suited for real-time, event-based data integration. Check out the Asana [devloper documentation](/adaptors/packages/asana-docs) to learn how to set up a webhook to push data to OpenFn. | ||
|
||
## Authentication | ||
|
||
See [Asana docs](https://developers.asana.com/docs/authentication) for the latest on supported authentication methods. | ||
|
||
When integrating with Asana via OpenFn, there is one primary authentication method supported: **Personal Access Token (PAT)**. You can generate a personal access token from the Asana [developer console](https://developers.asana.com/docs/personal-access-token). | ||
|
||
See this adaptor's [Configuration docs](/adaptors/packages/asana-configuration-schema) for more on the required authentication parameters. | ||
|
||
See platform docs on [managing credentials](/documentation/manage-projects/manage-credentials) for how to configure a credential in OpenFn. If working locally or if using a Raw JSON credential type, then your configuration will look something like this: | ||
|
||
``` | ||
{ | ||
"apiVersion": "1.0", | ||
"token": "sample-tokenyWSJdXBACMLLWMNGgADFA" | ||
} | ||
``` | ||
|
||
### Helpful Links | ||
|
||
1. [API documentation](https://developers.asana.com/docs/overview) | ||
|
||
### Implementation Examples | ||
|
||
1. The Wildlife Conservation Society (WCS) - KoboToolBox -> GoogleSheets -> Asana sync: [https://openfn.github.io/ConSoSci/asana/](https://openfn.github.io/ConSoSci/asana/) | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
title: FHIR-FR IG Adaptor | ||
--- | ||
|
||
## Custom FHIR Adaptor: fhir-fr | ||
Note❗: This is a custom adaptor generated from this France FHIR Implementation Guide: https://hl7.fr/ig/fhir/core/2.0.0/index.html | ||
|
||
Custom FHIR adaptors generate a suite of helper functions specific to their source Implementation Guides. | ||
|
||
See the generic [fhir adaptor](/adaptors/fhir) and our [docs on standards](/documentation/get-started/standards) for more general guidance on OpenFn + FHIR. | ||
|
||
## Build your own FHIR Adaptor | ||
See the [Adaptors Wiki](https://github.com/OpenFn/adaptors/wiki/Generating-Fhir-Adaptors) to build your own adaptor for _your_ implementation guide by trying out our fhir-adaptor-generator (which is a new tool still in testing). | ||
|
||
Please share any questions or feedback on [community.openfn.org](https://community.openfn.org). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
title: FHIR-NDR-ET IG Adaptor | ||
--- | ||
|
||
## Custom FHIR Adaptor: fhir-ndr-et | ||
Note❗: This is a custom adaptor generated from this Implementation Guide `Ethiopia FHIR Implementation Guide - HIV Treatment & Care Services` authored by Jembi Health Systems: https://build.fhir.org/ig/jembi/ethiopia-hiv/branches/master/index.html | ||
|
||
Custom FHIR adaptors generate a suite of helper functions specific to their source Implementation Guides. | ||
|
||
See the generic [fhir adaptor](/adaptors/fhir) and our [docs on standards](/documentation/get-started/standards) for more general guidance on OpenFn + FHIR. | ||
|
||
## Build your own FHIR Adaptor | ||
See the [Adaptors Wiki](https://github.com/OpenFn/adaptors/wiki/Generating-Fhir-Adaptors) to build your own adaptor for _your_ implementation guide by trying out our fhir-adaptor-generator (which is a new tool still in testing). | ||
|
||
Please share any questions or feedback on [community.openfn.org](https://community.openfn.org). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- | ||
title: FHIR Adaptor | ||
--- | ||
|
||
## About FHIR | ||
|
||
[FHIR](https://www.hl7.org/fhir/overview.html) stands for Fast Healthcare Interoperability Resources. It is a standard for representing and exchanging healthcare data electronically. | ||
|
||
|
||
:::tip About this adaptor and features coming soon! | ||
|
||
This adaptor is very basic and generic, used mostly to integrate demo FHIR servers. It's a work-in-progress, so share questions and feedback on [community.openfn.org](https://community.openfn.org). | ||
|
||
**FHIR version-specific adaptors (e.g., `fhir-r4`) with enhanced functionality are coming soon** to fast-track integration setup with more helper functions, templates, and docs than this simple adaptor. See the [Adaptors Wiki](https://github.com/OpenFn/adaptors/wiki/Generating-Fhir-Adaptors) for how to build an adaptor specific to your FHIR Implementation Guide. | ||
|
||
::: | ||
|
||
## Integration Options | ||
|
||
**1. Rest API:** The FHIR specification includes a REST API that enables external services like OpenFn to pull data from the FHIR server, or push data from external apps to FHIR servers. This option is suited for scheduled, bulk syncs or workflows that must update data with external information. See [functions](/adaptors/packages/fhir-docs) for more on how to use this adaptor to work with the API. | ||
|
||
**2. Webhook:** The FHIR specification does not inherently define a webhook or data-forwarding mechanism. However, many FHIR implementations and platforms offer extensions or configurations that support similar functionality. This option is suited for real-time, event-based data integration. Check out the FHIR `Subscription` resource [documentation](https://build.fhir.org/subscription-definitions.html) to learn more about one way this might be implemented. | ||
|
||
## Authentication | ||
|
||
The FHIR standard does not directly prescribe authentication and authorization methods. Instead, it provides security guidelines and leaves the choice of implementation to the developers of FHIR servers and clients. See the FHIR [docs](https://www.hl7.org/fhir/security.html) for the latest security-related recommendations. Depending on the FHIR systems being integrated via OpenFn, you might employ a Basic Auth, API key, or OAuth authentication scheme. | ||
|
||
See this adaptor's [Configuration docs](/adaptors/packages/fhir-configuration-schema) for more on the required authentication parameters. | ||
|
||
See platform docs on [managing credentials](/documentation/manage-projects/manage-credentials) for how to configure a credential in OpenFn. If working locally or if using a Raw JSON credential type, then your configuration will look something like this to define your target endpoint and FHIR version: | ||
|
||
``` | ||
{ | ||
"baseUrl": "https://hapi.fhir.org", //fhir endpoint | ||
"apiPath": "baseR4" //fhir version | ||
} | ||
``` | ||
|
||
### Helpful Links | ||
|
||
1. [API documentation](https://www.hl7.org/fhir/http.html) | ||
2. [Digital Square on FHIR](https://digitalsquare.org/resourcesrepository/digital-square-on-fhir-4c78p) | ||
3. [Basic guide to interacting with FHIR Server](https://smilecdr.com/docs/fhir_standard/fhir_introduction.html) | ||
4. [Creating your first FHIR resource](https://medblocks.com/blog/fhir-101-creating-your-first-patient-resource-like-a-pro) | ||
5. Google's [Open Health Stack](https://developers.google.com/open-health-stack) tooling for working with FHIR | ||
|
||
Have resources or links to share? Submit a PR to edit this page or post on [community.openfn.org](https://community.openfn.org). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
title: HTTP Adaptor | ||
--- | ||
|
||
## About the HTTP "universal" adaptor | ||
|
||
Communicate with web apps using [HTTP (HyperText Transfer Protocol)](https://www.cloudflare.com/learning/ddos/glossary/hypertext-transfer-protocol-http/). | ||
This adaptor enables out-of-box integration with any REST API! | ||
|
||
## Integration Options | ||
|
||
Use this adaptor to communicate with **any REST API** or any other app that can communicate via HTTP. | ||
|
||
**Note that OpenFn also supports Webhooks, but that is a workflow trigger type ([see docs](/documentation/build/triggers#webhook-event-triggers)), not an adaptor.** | ||
|
||
## Authentication | ||
|
||
HTTP itself does not enforce authentication, but many applications that use HTTP implement security mechanisms to control access. Common methods that can be used when integrating with OpenFn include Basic Authentication, API Keys and OAuth. See this adaptor's [Configuration docs](/adaptors/packages/http-configuration-schema) for more on the required authentication parameters. | ||
|
||
See platform docs on [managing credentials](/documentation/manage-projects/manage-credentials) for how to configure a credential in OpenFn. If working locally or if using a Raw JSON credential type, then your configuration will look something like this: | ||
|
||
``` | ||
{ | ||
"username": "[email protected]", | ||
"password": "@some(!)Password", | ||
"access_token": "00QCjAl4MlV-WPX", | ||
"baseUrl": "https://instance_name.surveycto.com" | ||
} | ||
``` | ||
|
||
|
||
### Implementation Examples | ||
|
||
1. UNICEF Primero - UNHCR Progres Interoperability: [https://github.com/OpenFn/primero-progres](https://github.com/OpenFn/primero-progres) | ||
2. UNICEF Thailand Primero Interoperability: [https://openfn.github.io/primero-thailand/](https://openfn.github.io/primero-thailand/) | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,25 @@ | ||
// ---- | ||
// Add data to data value sets in DHIS2 using a generic JSON message, submitted | ||
// by Taylor Downs @ OpenFn. | ||
// by Taylor Downs @ OpenFn. Co-authored by @mtuchi | ||
// --- | ||
|
||
dataValueSet( | ||
fields( | ||
field('dataSet', 'pBOMPrpg1QX'), | ||
field('orgUnit', 'DiszpKrYNg8'), | ||
field('period', '201401'), | ||
field('completeData', dataValue('form.date')), | ||
field('dataValues', function (state) { | ||
return [ | ||
dataElement('qrur9Dvnyt5', dataValue('form.prop_a')(state)), | ||
dataElement('oZg33kd9taw', dataValue('form.prop_b')(state)), | ||
dataElement('msodh3rEMJa', dataValue('form.prop_c')(state)), | ||
]; | ||
}) | ||
) | ||
); | ||
create('dataValueSets', { | ||
dataSet: 'pBOMPrpg1QX', | ||
completeDate: $.form.date, | ||
period: '201401', | ||
orgUnit: 'DiszpKrYNg8', | ||
dataValues: [ | ||
{ | ||
dataElement: 'f7n9E0hX8qk', | ||
value: $.form.prop_a, | ||
}, | ||
{ | ||
dataElement: 'Ix2HsbDMLea', | ||
value: $.form.prop_b, | ||
}, | ||
{ | ||
dataElement: 'eY5ehpbEsB7', | ||
value: $.form.prop_c, | ||
}, | ||
], | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,30 @@ | ||
// ---- | ||
// Create new events in DHIS2 using a generic JSON message, submitted by | ||
// Taylor Downs @ OpenFn for demonstration porpoises. | ||
// Taylor Downs @ OpenFn, Co-authored by @mtuchi | ||
// --- | ||
|
||
event( | ||
fields( | ||
field('program', 'eBAyeGv0exc'), | ||
field('orgUnit', 'DiszpKrYNg8'), | ||
field('eventDate', dataValue('meta.date')), | ||
field('status', 'COMPLETED'), | ||
field('storedBy', 'admin'), | ||
field('coordinate', { | ||
latitude: '59.8', | ||
longitude: '10.9', | ||
}), | ||
field('dataValues', function (state) { | ||
return [ | ||
dataElement('qrur9Dvnyt5', dataValue('form.prop_a')(state)), | ||
dataElement('oZg33kd9taw', dataValue('form.prop_b')(state)), | ||
dataElement('msodh3rEMJa', dataValue('form.prop_c')(state)), | ||
]; | ||
}) | ||
) | ||
); | ||
create('events', { | ||
program: 'eBAyeGv0exc', | ||
orgUnit: 'DiszpKrYNg8', | ||
occurredAt: $.meta.date, | ||
status: 'COMPLETED', | ||
storedBy: 'admin', | ||
geometry: { | ||
type: 'POINT', | ||
coordinates: [59.8, 10.9], | ||
}, | ||
dataValues: [ | ||
{ | ||
dataElement: 'qrur9Dvnyt5', | ||
value: $.form.prop_a, | ||
}, | ||
{ | ||
dataElement: 'oZg33kd9taw', | ||
value: $.form.prop_b, | ||
}, | ||
{ | ||
dataElement: 'msodh3rEMJa', | ||
value: $.form.prop_c, | ||
}, | ||
], | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.