CTI cOASIS (ISPOR) ➔ Engagefully
- Source System
- cOASIS
- Destination System
- Engagefully
- Version
- 1.5.2026.10200
Description
Imports sessions, speakers, research custom items, and resources (media/PDF handouts) from CTI cOASIS (ISPOR) into Engagefully for ISPOR.
Running manually: leave Omit State Info unticked on Run Immediately (it is ticked by default). With media found through the cAPI, the saved state holds the list of presentation files; omitting it makes the following runs rebuild that list from scratch (about 30-35 minutes of cAPI requests for a large meeting). Avoid Force Updates as a routine - it starts a full media check and re-processes every handout. Use it only to pick up a file change ahead of the next scheduled full update, and at most once an hour: cOASIS allows each URL 3 requests per hour.
Timing: file uploads, replacements and removals in cOASIS are not reliably reported by its incremental feed, so they are picked up by the scheduled full updates (configured Eastern times) and normally appear in the app within about an hour of the next one - by about 1:30 AM Eastern with the default nightly 23:30. Other presentation changes the feed reports appear on the next import.
Mapping Information
| cOASIS | Engagefully | Notes | |
|---|---|---|---|
| Session Report | ➔ | Session | |
| Session.ID | ➔ | ExternalKey | |
| Session.Number + Session.Title | ➔ | Name | Session number is prepended and space-separted when present. HTML entities are decoded. |
| Session.StartDateTime | ➔ | StartTime | |
| Session.EndDateTime | ➔ | EndTime | |
| Session.Location | ➔ | Location | |
| SessionExtraData.EducationalSymposiumDescription OR SessionExtraData.ExhibitHallTheaterDescription OR SessionExtraData.ForumsDescription OR SessionExtraData.IssuePanelDescription OR SessionExtraData.OtherBreakoutSessionDescription OR SessionExtraData.WorkshopDescription OR Session.Description | ➔ | Description | The first field that has content will be used, in the order shown here. |
| SessionExtraData.SponsorFileAttachment | ➔ | Image Url | |
| SessionExtraData.PrimaryTaxonomy, SessionExtraData.SecondaryTaxonomy, SessionExtraData.TertiaryCategory | ➔ | Taxonomy tag | The group name is configurable. The value "Not Applicable" is ignored. |
| Session.Type | ➔ | Session type tag | The group name is configurable |
| SessionExtraData.ToBeRecorded | ➔ | Session viewing format tag | The group name and tag name are configurable. If the value in the API is true, the tag name is the configured value and otherwise not tagged. |
| SessionExtraData.LevelOfDifficulty | ➔ | Level of difficulty tag | The group name is configurable. |
| Author Report | ➔ | Speaker | Special sessions (HEOR Impact Cases, Research Podium, Research Posters) will attach Moderators ActivityName only. All import speaker ActivityName. |
| Author.PersonKey | ➔ | ExternalKey | |
| Author.FirstName | ➔ | FirstName | |
| Author.LastName + Author.Degree | ➔ | LastName | If available, degree is separated by a comma and space. |
| Account.Biography | ➔ | Description | |
| Account.Photo | ➔ | PhotoUrl | |
| Session.ID | ➔ | Related Session | |
| [Author.FirstInstitutionCity], [Author.FirstInstitutionState] [Author.FirstInstitutionCountry] | ➔ | Custom1 | |
| [Session.ID]-[Abstract.ControlNumber] | ➔ | Related Research | ActivityName is Designation |
| Author.FirstInstitutionName | ➔ | Company | |
| Research Report | ➔ | Research | |
| [Session.ID]-[Abstract.ControlNumber] | ➔ | ExternalKey | |
| Abstract.PresentationNumber + Abstract.Title | ➔ | Name | Presentation number is prepended and space-separted when present. HTML entities are decoded. |
| Session.ID | ➔ | Related Session | |
| Author.PersonKey (derived) | ➔ | Related speaker | Author here is from the speaker report and matches Session.ID and Abstract.ControlNumber. |
| PrimaryAuthor.AuthorBlock + Abstract.Abstract1 | ➔ | Description | Content is separated by a line break. |
| Author.Session.StartDateTime | ➔ | StartTime | Author here is from the speaker report and matches Session.ID and Abstract.ControlNumber. |
| Author.Session.EndDateTime | ➔ | EndTime | Author here is from the speaker report and matches Session.ID and Abstract.ControlNumber. |
| Abstract.PosterBoardNumber | ➔ | Custom1 | |
| Topic.Topic1 | ➔ | Taxonomy tag | The group name is configurable. |
| Session.Type | ➔ | Research session type tag | The group name is configurable. |
| ControlExtraData.SpecificDiseasesSpecializedTreatment1 | ➔ | Primary area tag | The group name is configurable. |
| ControlExtraData.TopFivePercent | ➔ | Research finalist tag | The group name is configurable and will match the tag value when the API value is "yes" (case insensitive). |
| Author.Session.StartDateTime | ➔ | Days tag | The group name is hardcoded to "Days" and the value will be formatted as Wednesday, November 11st, Sunday, November 15th, Thursday, November 19th, etc. |
| Media Item Report | ➔ | Resource | Media items are checked for a MediaItem.Status value of "Complete". With "Find media items through the cAPI" on, this report is not used. Every run reads the cAPI's incremental presentations feed and asks the presentation media endpoint for the files of each presentation it reports as changed. A full update - at each configured Eastern time (nightly by default), on a forced update, or when there is no saved state - lists every imported session with Get All Presentations and checks every presentation found, spread over as many runs as it takes within a per-run time budget (the event's import frequency less the configured reserve). MediaSource is not used. Every uploaded file in an accepted format ("pdf" by default; a PDF version is preferred whenever a media item has one) becomes a handout named by the configured label. Research attachment is found by matching session id + PresentationNumber to the research report's Session.ID + Abstract.PresentationNumber; a presentation with no research row attaches to its session. |
| (derived from MediaItem.OriginalFilename) | ➔ | Name | Default is "Handout". For research attachments only, name becomes "Poster" when MediaItem.OriginalFilename contains "poster" (case insensitive). Session attachments remain "Handout". |
| MediaItem.Key | ➔ | ExternalKey | |
| MediaItem.OriginalFilename | ➔ | (behavior input) | Used only to determine whether Name should be "Poster" for research attachments. |
| (re-hosted copy of the presentation media file) | ➔ | HandoutUrl | cOASIS media files are served from authenticated storage, so they cannot be linked directly. The file is resolved through the cAPI presentation media endpoint using [Presentation.SessionId] and [Presentation.PresentationID], downloaded, and uploaded to the configured S3 bucket; the handout points at our copy. Files are taken as the cAPI presents them: a PDF version when the media item has one, otherwise the original upload in its own format (PowerPoint included). Thumbnails are never used. A file is only re-fetched when it changes; an update that leaves the file the same keeps its existing copy. |
| [Presentation.SessionId]-[Presentation.Control#] | ➔ | ItemRef.ExternalKey (Custom) | Used when Presentation.ActivityType is not Speaker/Moderator and related research exists. |
| [Presentation.SessionId] | ➔ | ItemRef.ExternalKey (Session) | Used when Presentation.ActivityType is Speaker/Moderator and related session exists. |
| Summit PDF Resources | ➔ | Resource | Similar to Media Items, these are attachments. |
| Session.Type | ➔ | Name | Default is "Handout". Name becomes "Poster" when Session.Type is "Research Posters" and related research exists. |
| SessionId + ControlNumber | ➔ | ExternalKey | With "-pdf" appended for research attachments. Control number is excluded for session attachments. |
| FileAttachment.FileAttachmentURI | ➔ | HandoutUrl | |
| Session.Type | ➔ | ItemRef.Type | "Research Posters" maps to Custom (research) attachment; configured session types map to Session attachment. |