naftiko: 1.0.0-alpha2 info: label: CMS Data at the Point of Care (DPC) Bulk FHIR description: Manage Practitioner, Patient, and Group attribution rosters in the CMS Data at the Point of Care (DPC) API and initiate bulk FHIR exports for fee-for-service providers. tags: - CMS - Medicare - FHIR - BulkData - Provider - DPC created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: DPC_ACCESS_TOKEN: DPC_ACCESS_TOKEN capability: consumes: - type: http namespace: dpc-bulk-fhir baseUri: https://sandbox.dpc.cms.gov/api/v1 description: CMS DPC bulk FHIR surface — attribution + export. resources: - name: practitioner path: /Practitioner operations: - name: createpractitioner method: POST description: Register a Practitioner with the DPC organization. inputParameters: - { name: body, in: body, type: object, required: true } outputRawFormat: json outputParameters: - { name: result, type: object, value: $. } - name: searchpractitioner method: GET description: Search Practitioner resources. outputRawFormat: json outputParameters: - { name: result, type: object, value: $. } - name: patient path: /Patient operations: - name: createpatient method: POST description: Register a Patient with the DPC organization. inputParameters: - { name: body, in: body, type: object, required: true } outputRawFormat: json outputParameters: - { name: result, type: object, value: $. } - name: group path: /Group operations: - name: creategroup method: POST description: Create an attribution roster Group with Practitioner + Patient members. inputParameters: - { name: body, in: body, type: object, required: true } outputRawFormat: json outputParameters: - { name: result, type: object, value: $. } - name: group-export path: /Group/{groupId}/$export operations: - name: exportgroup method: GET description: Initiate a Group-scoped DPC bulk FHIR export. inputParameters: - { name: groupId, in: path, type: string, required: true } outputRawFormat: json outputParameters: - { name: result, type: object, value: $. } - name: jobs path: /Jobs/{jobId} operations: - name: getjob method: GET description: Poll a DPC bulk export job for status. inputParameters: - { name: jobId, in: path, type: string, required: true } outputRawFormat: json outputParameters: - { name: result, type: object, value: $. } authentication: type: bearer value: '{{env.DPC_ACCESS_TOKEN}}' placement: header exposes: - type: mcp namespace: dpc-mcp port: 9090 transport: http description: MCP adapter for DPC attribution and bulk export. tools: - name: cms-dpc-create-practitioner description: Register a Practitioner with the DPC organization. hints: { readOnly: false, destructive: false, idempotent: false } call: dpc-bulk-fhir.createpractitioner outputParameters: [ { type: object, mapping: $. } ] - name: cms-dpc-create-patient description: Register a Patient with the DPC organization. hints: { readOnly: false, destructive: false, idempotent: false } call: dpc-bulk-fhir.createpatient outputParameters: [ { type: object, mapping: $. } ] - name: cms-dpc-create-group description: Create an attribution roster Group. hints: { readOnly: false, destructive: false, idempotent: false } call: dpc-bulk-fhir.creategroup outputParameters: [ { type: object, mapping: $. } ] - name: cms-dpc-export-group description: Initiate a Group-scoped DPC bulk export. hints: { readOnly: false, destructive: false, idempotent: false } call: dpc-bulk-fhir.exportgroup outputParameters: [ { type: object, mapping: $. } ] - name: cms-dpc-get-job description: Poll a DPC bulk export job for status. hints: { readOnly: true, destructive: false, idempotent: true } call: dpc-bulk-fhir.getjob outputParameters: [ { type: object, mapping: $. } ]