naftiko: 1.0.0-alpha2 info: label: Independence Blue Cross Medications & Formulary FHIR description: >- Naftiko capability surfacing the Independence Blue Cross public Da Vinci US Drug Formulary (USDF) FHIR R4 API together with related medication reads from the Patient Access surface. The Drug Formulary API is public and unauthenticated; the patient-scoped MedicationRequest / Medication / MedicationDispense reads require a SMART on FHIR bearer token bound to a member context. tags: - Independence Blue Cross - Drug Formulary - USDF - Medications - Pharmacy Benefits - FHIR created: '2026-05-23' modified: '2026-05-23' binds: - namespace: env keys: IBX_PATIENT_BEARER_TOKEN: IBX_PATIENT_BEARER_TOKEN capability: consumes: - type: http namespace: ibx-formulary baseUri: https://eapics.ibx.com/formulary/v1/fhir description: >- Independence Blue Cross Da Vinci US Drug Formulary FHIR R4 endpoint. Publicly queryable; do NOT attach member bearer tokens. resources: - name: MedicationKnowledge path: /MedicationKnowledge operations: - name: searchMedicationKnowledge method: GET description: Search MedicationKnowledge entries in the IBX formulary outputRawFormat: json inputParameters: - name: code in: query type: string required: false - name: drug-name in: query type: string required: false outputParameters: - name: result type: object value: $. - name: readMedicationKnowledge method: GET path: /MedicationKnowledge/{id} description: Read a MedicationKnowledge entry by id outputRawFormat: json inputParameters: - name: id in: path type: string required: true outputParameters: - name: result type: object value: $. - name: List path: /List operations: - name: searchFormularyList method: GET description: Search the formulary List resources (covered drug lists, tier lists) outputRawFormat: json inputParameters: - name: code in: query type: string required: false outputParameters: - name: result type: object value: $. - type: http namespace: ibx-medications baseUri: https://eapics.ibx.com/patient/v1/fhir description: >- Patient-scoped medication reads from the IBX Patient Access API. Requires a SMART on FHIR bearer token. resources: - name: Medication path: /Medication/{id} operations: - name: readMedication method: GET description: Read a Medication resource by id outputRawFormat: json inputParameters: - name: id in: path type: string required: true outputParameters: - name: result type: object value: $. - name: MedicationDispense path: /MedicationDispense/{id} operations: - name: readMedicationDispense method: GET description: Read a MedicationDispense resource by id outputRawFormat: json inputParameters: - name: id in: path type: string required: true outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.IBX_PATIENT_BEARER_TOKEN}}' exposes: - type: rest namespace: ibx-medications-rest port: 8083 description: REST adapter merging public formulary lookups with patient-scoped medication reads. resources: - path: /v1/formulary/medication-knowledge name: formulary-medication-knowledge description: Search MedicationKnowledge in the IBX formulary operations: - method: GET name: searchFormularyMedicationKnowledge description: Search MedicationKnowledge call: ibx-formulary.searchMedicationKnowledge with: code: rest.code drug-name: rest.drug_name outputParameters: - type: object mapping: $. - path: /v1/formulary/lists name: formulary-lists description: Search formulary List resources operations: - method: GET name: searchFormularyLists description: Search formulary Lists call: ibx-formulary.searchFormularyList with: code: rest.code outputParameters: - type: object mapping: $. - path: /v1/medications/{id} name: medication description: Read a Medication by id (patient-scoped) operations: - method: GET name: readMedication description: Read Medication call: ibx-medications.readMedication with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/medication-dispenses/{id} name: medication-dispense description: Read a MedicationDispense by id (patient-scoped) operations: - method: GET name: readMedicationDispense description: Read MedicationDispense call: ibx-medications.readMedicationDispense with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: ibx-medications-mcp port: 9093 transport: http description: MCP adapter exposing formulary lookups (public) and patient-scoped medication reads. tools: - name: search-formulary-medication-knowledge description: Search the IBX MedicationKnowledge formulary (public) hints: readOnly: true destructive: false idempotent: true call: ibx-formulary.searchMedicationKnowledge with: code: tools.code drug-name: tools.drug_name - name: read-formulary-medication-knowledge description: Read a MedicationKnowledge entry by id (public) hints: readOnly: true destructive: false idempotent: true call: ibx-formulary.readMedicationKnowledge with: id: tools.id - name: search-formulary-lists description: Search formulary List resources (public) hints: readOnly: true destructive: false idempotent: true call: ibx-formulary.searchFormularyList with: code: tools.code - name: read-medication description: Read a Medication by id (patient-scoped) hints: readOnly: true destructive: false idempotent: true call: ibx-medications.readMedication with: id: tools.id - name: read-medication-dispense description: Read a MedicationDispense by id (patient-scoped) hints: readOnly: true destructive: false idempotent: true call: ibx-medications.readMedicationDispense with: id: tools.id