Universal API Implementation Guide
1.1.20 - ci-build
Universal API Implementation Guide - Local Development build (v1.1.20) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Below is the list of Resources used for Access Solutions, Patient Foundation and Copay Patient enrollments. The payload is a FHIR R4 Bundle resource, which contains:
Applicable to Access Solutions & Patient Foundation Enrollment? |
Applicable to Copay Enrollment? | FHIR Resource Name | Profile Link | Description |
---|---|---|---|---|
Yes | Yes | Bundle | UAPI Bundle - Access Solutions Enrollment | A container for a collection of resources and contains the Transaction ID. |
Yes | Yes | MessageHeader | UAPI MessageHeader | The resource that identifies the type of request and high-level information for the request, such as sender information and endpoints. |
Yes | Yes | List | List | The resource containing reference to all the resources in an incoming bundle request (except bundle and MessageHeader). |
Yes | Yes | Patient | UAPI Patient | The resource containing patient information. |
Yes | Yes | Practitioner | UAPI Practitioner | The resource containing prescriber details. |
Yes | Yes | Organization | UAPI Organization | The resource used to capture details like practice information, payer address and site of treatment information. |
Yes | No | MedicationRequest | UAPI MedicationRequest | The resource containing the order for both supply of the medication and the instructions for administration of the medicine to a patient. |
Yes | Yes | QuestionnaireResponse | QuestionnaireResponse | The resource that captures the questions related to medication, patient or services being applied during an enrollment. |
Yes | No | Condition | UAPI Condition | The resource containing clinical condition, problem, diagnosis. |
Yes | Yes | Coverage | UAPI Coverage | The resource containing insurance information of the patient. |
Yes | No | Consent | UAPI Consent | The resource containing different patient consents. |
Yes | No | Provenance | UAPI Provenance | The resource that captures the patient's or practitioner signature. |
Yes | No | ServiceRequest | UAPI ServiceRequest | The resource that contains the services requested during enrollment such. |
Yes | Yes | RelatedPerson | UAPI RelatedPerson | The resource that contains the person(s) related to the patient. |
No | Yes | Task | The resource used to define copay identifiers required by CRX. | |
No | Yes | ExplanationOfBenefit | UAPI ExplanationOfBenefit | The resource that provides copay enrollment results on patient eligibility. |
The details of submitting enrollment bundle into UAPI endpoints.
Note: In examples in this IG there is always auto-generated field "text" which should be ignored by the implementers in the actual JSON payloads which are send to Genentech. In Technical Hints section there is example regex that can be used to remove those elements.
1) GET Questionnaire - client system is responsible for selecting specific questionnaire which needs to be included in the Enrollment Bundle - questionnaires can be retrieved by Product Name, SR Type and Version Number - details. The Questionnaire endpoint should be queried with specific Product and Version.
GET {UAPI_AS_URL}/questionnaire?name=Lucentis&version=1.0
2) Submit AS Enrollment bundle
For each Access Solutions & Patient Foundation Enrollment bundle the included ServiceRequest resource defines which specific services are being requested - see details
POST {UAPI_AS_URL}/enrollment
Each enrollment must include following identifiers:
Additional identifier (bundle-enrollment-id) on the Bundle level is used to identify enrollment transaction. Bundle-enrollment-id is an important identifier (transaction identifier) which can be used in status update queries. Bundle identifier is auto generated by Genentech, and the value submitted in the Enrollment transaction by the sender is ignored.
Note: Other identifiers in enrollment bundle, like on the Practitioner resource level are currently not used for matching by Genentech. The resource identifiers in the fields "fullUrl" and "id" are GUIDs which should be generated by the implementer and should be matching to each other for validation purposes, but the values of those identifiers are also not used by Genentech.
Vendor System is identified based on the API key which is issued to the vendor/client integrating with UAPI.
Example Organization Identifier:
Identifier in the Organization resource submitted by the sender - MUST submit with "use": "usual":
"identifier": [{
"assigner": {
"display": "Vendor One Name"
},
"system": "http://nema.org/examples/organizations",
"use": "usual",
"value": "HOSP-12345"
}
Example Patient Identifier:
Identifier in the Patient resource submitted by the sender - MUST submit with "use": "official":
"identifier" : [
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
"code" : "PI",
"display" : "Patient internal identifier"
}
]
},
"system" : "http://vendor.com/ab",
"value" : "6bcd8467-0473-4836-9128-2e7972f23177",
"assigner" : {
"display" : "AB Vendor"
}
}
],
Example Bundle Identifier:
Identifier in the Bundle resource - auto generated UUID by Genentech:
"identifier" : {
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
"code" : "RI",
"display" : "Resource identifier"
}
]
},
"system" : "http://dev.gene.com/fhir/uapi/enrollment/bundle-enrollment-id",
"value" : "30eec1b3-d067-40ee-8af5-9e7c37130b14",
"assigner" : {
"display" : "Genentech Mulesoft"
}
},
3) Receive OperationOutcome resource as confirmation of successful enrollment.
Auto generated Bundle Identifier (transaction ID) is shared with the sender via the ID field in OperationOutcome resource returned as part of 200 response after successful enrollment (example)
1) GET Questionnaire:
Client system is responsible for selecting specific questionnaire which needs to be included in the Enrollment Bundle - questionnaires can be retrieved by Product Name and Version Number - details. The Questionnaire endpoint should be queried with specific Product and Version.
GET {UAPI_Copay_URL}/questionnaire?name=Lucentis&version=1.0
Example Response TBD
2) Submit Copay Enrollment bundle
POST {UAPI_Copay_URL}/enroll
Task resource in the Copay enrollment bundle MUST include copay specific parameters:
3) Receive Copay enrollment results with response details.
Receive BundleQueryResponse for copay request resource with copay enrollment results. If enrollment was not successful then search-result will include OperationOutcome indicating specific error details.
To check if a patient has already been enrolled in a program, and if so, receive current enrollment dates and enrolled programs list
POST {UAPI_Copay_URL}/search
Example request: TBD
Example response: TBD
To add an existing Oncology patient to the Financial Assistance Platform Vendor network, so that patient's membership and claim info will be available for the given organization.
PATCH {UAPI_Copay_URL}/enroll/update
Example request: BundleCopayUpdate to initiate copay update
Example response: bundleQueryResponse to return all details of update - example with status "rejected" for original copay enrollment request.