Universal API Implementation Guide
0.1.0 - ci-build
Universal API Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions
A validation API has been implemented on the Access Solutions/Genentech Patient Foundation (AS/GPF) side to ensure that enrollments have the minimum required information to process enrollments.
If an enrollment is missing any of the listed resources and/or data elements, the enrollment is rejected, meaning the bundle is not processed by AS/GPF. Our external partner will receive a message indicating that an error has occurred and a transaction ID and info on what data is missing will also be provided. If multiple resources/data elements are missing, error message will list all missing resources/fields. The external partner will be responsible for resubmitting enrollment with the missing information in order for enrollment to be processed.
| Resource | Access Solutions (AS) Enrollment |
Genentech Patient Foundation (GPF) Enrollment |
|
|---|---|---|---|
| Patient | Required | Required | |
| MedicationRequest | Required | Required | |
| Condition | Required | Required | |
| ServiceRequest | Required | Required | |
| Practitioner | Required | Required |
| Resource | Data Element | Access Solutions (AS) Enrollment |
Genentech Patient Foundation (GPF) Enrollment |
|---|---|---|---|
| Patient | Patient First Name | Required | Required |
| Patient | Patient Last Name | Required | Required |
| Patient | Date of Birth | Required | Required |
| Patient | Street Address | Required | Required |
| Patient | City | Required | Required |
| Patient | State | Required | Required |
| Patient | Zip | Required | Required |
| Patient | Phone | Required | Required |
| Patient | Phone Type | Required | Required |
| Patient | Preferred Language | Required | Required |
| MedicationRequest | Product | Required | Required |
| Condition | Diagnosis Code | Required | Required |
| ServiceRequest | ServiceRequest Type | Required | Required |
| Practioner | Prescriber First Name | Required | Required |
| Practioner | Prescriber Last Name | Required | Required |
| Practioner | Prescriber NPI# | Required | Required |
| Organization | Prescriber Street Address | Required | Required |
| Organization | Prescriber City | Required | Required |
| Organization | Prescriber State | Required | Required |
| Organization | Prescriber Zip | Required | Required |
| Organization | Practice Name | Required | Reqiured |
| Organization | Practice Contact First Name | Required | Required |
| Organization | Practice Contact Last Name | Required | Required |
| Organization | Practice Contact Phone# | Required | Required |
| Organization | Payer Name | Required | Optional |
| Coverage | Subscriber ID | Required | Optional |
| Coverage | First Name | Required | Optional |
| Coverage | Last Name | Required | Optional |
| Provenance | Prescriber signature | Conditional, based on product & Service Request Type |
Required if Shipment Option = UPFRONT |
| Provenance | Prescriber signature date | Required if signature provided | Required if signature provided |
| Provenance | Patient signature | Required if Patient Consent is included in bundle |
Required if Patient Consent is included in bundle |
| Provenance | Patient consent date | Required if Patient Consent is included in bundle |
Required if Patient Consent is included in bundle |
| Consent | Patient consent (type) | Required if Patient Consent is included in bundle |
Required if Patient Consent is included in bundle |
| Provenance | Signature type | Required if prescriber or patient signature is included in bundle |
Required if prescriber or patient signature is included in bundle |
| Error Message Description | Expression |
|---|---|
| Missing required resource: Condition | Condition |
| Too many Condition resources found in the bundle, should be just one | Condition |
| Missing ICD10 code in Condition resource | Condition.code.coding.code |
| Missing Patient Authorization Signature Consent | Consent |
| Missing required resource: Coverage | Coverage |
| Missing payor references | Coverage.payor |
| Missing subscriber reference | Coverage.subscriber |
| Missing reference for Patient | Coverage.subscriber.reference |
| Missing Patient reference for | Coverage.subscriber.reference |
| Missing reference for RelatedPerson | Coverage.subscriber.reference |
| Missing Related Person reference for + reference | Coverage.subscriber.reference |
| Wrong subscriber type | Coverage.subscriber.type |
| Missing required field: subscriberId for Coverage: + coverageId | Coverage.subscriberId |
| Missing required resource: MedicationRequest | MedicationRequest |
| Missing Prescription information on MedicationRequest | MedicationRequest.note |
| Missing required resource: Organization | Organization |
| Organization referenced under Coverage.payor is not provided in the bundle | Organization |
| Missing required resource: Organization | Organization |
| Missing Organization address | Organization.address |
| Missing Organization city | Organization.address.city |
| Missing Organization country | Organization.address.country |
| Missing Organization address line | Organization.address.line |
| Missing Organization address line, only Organization Address.Apt/Unit found | Organization.address.line |
| Missing Organization postal code | Organization.address.postalCode |
| Missing Organization state | Organization.address.state |
| Wrong Organization state | Organization.address.state |
| Missing required field: contact | Organization.contact |
| Wrong amount of contact fields in Organization resource, should be 1 | Organization.contact |
| Missing Organization.contact’s LastName | Organization.contact.name.family |
| Missing Organization.contact’s FirstName | Organization.contact.name.given |
| Patient.managingOrganization.reference doesn’t match Organization FullURL | Organization.FullURL |
| Missing required field: Payer name | Organization.Name |
| Missing Organization fax number | Organization.telecom.value |
| Wrong fax number format | Organization.telecom.value |
| Missing Organization phone number | Organization.telecom.value |
| Wrong Organization phone number format | Organization.telecom.value |
| Missing Patients | Patient |
| Missing required resource: Patient | Patient |
| Too many Patient resources found in Bundle: + numberOfPatients + , required only 1 | Patient |
| Missing Patient address | Patient.address |
| Missing Patient city | Patient.address.city |
| Missing Patient country | Patient.address.country |
| Missing Patient address line | Patient.address.line |
| Missing Patient address line, only Patient Address.Apt/Unit found | Patient.address.line |
| Missing Patient postal code | Patient.address.postalCode |
| Missing Patient state | Patient.address.state |
| Wrong Patient state | Patient.address.state |
| Missing required field: birthDate | Patient.birthDate |
| Patient’s date of birth should be in the past | Patient.birthDate |
| Missing required reference to Practitioner | Patient.generalPractitioner.reference |
| Missing required reference to Organization | Patient.managingOrganization.reference |
| Missing required fields: FirstName, LastName | Patient.name |
| Missing required fields: FirstName, LastName | Patient.name |
| Missing Patient’s LastName | Patient.name.family |
| Missing Patient’s FirstName | Patient.name.given |
| Missing Patient phone number | Patient.telecom.value |
| Wrong Patient phone number format | Patient.telecom.value |
| Missing required resource: Practitioner | Practitioner |
| Too many Practitioner resources found in Bundle: ‘ + bundle.practitioners.size() + ‘, required only 1 | Practitioner |
| Patient.generalPractitioner.reference doesn’t match Practitioner FullURL | Practitioner.FullURL |
| Missing required field: Identifier | Practitioner.identifier |
| Missing appropriate Practitioner’s identifier type, required: ‘National Provider Identifier’ | Practitioner.identifier.type |
| Practitioner’s NPI number doesn’t have correct number of digits: ‘ + singleIdentifier.value.length() + ‘, required 10 | Practitioner.identifier.value |
| Practitioner’s NPI number requires only digits, letters are forbidden | Practitioner.identifier.value |
| Missing Practitioner’s NPI number | Practitioner.identifier.value |
| Missing required fields: FirstName, LastName | Practitioner.name |
| Missing Practitioner’s LastName | Practitioner.name.family |
| Missing Practitioner’s FirstName | Practitioner.name.given |
| Missing required resource: Provenance | Provenance |
| Missing Prescriber signature | Provenance.signature |
| Missing required values: + One or two missing links | Questionnaire/QuestionnaireResponse |
| Missing Related person | RelatedPerson |
| Missing required fields: FirstName, LastName | RelatedPerson.name |
| Missing Related Person’s FirstName | RelatedPerson.name.given |
| Missing Related Person’s LastName | RelatedPerson.name.family |