openapi: 3.2.0 info: title: ModMed Certified Care Plan API contact: {} version: 4.1-SNAPSHOT description: '**FHIR endpoints are customer-specific.** Each practice has its own Certified FHIR endpoint — browse the directory at https://mm-fhir-endpoint-display.prod.fhir.ema-api.com/. The server below (`https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4`) is a production **demonstration endpoint** for testing your integration; it behaves exactly like any practice''s endpoint. See the **Authentication** documentation for the OAuth 2.0 / SMART App Launch flow.' servers: - url: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4 description: EMA Certified FHIR API variables: firm: default: fhirmp description: Your firm subdomain (e.g. fhirmp, auraderm). Find yours at https://mm-fhir-endpoint-display.prod.fhir.ema-api.com/ security: - smartOnFhir: - openid - fhirUser - profile - launch/patient - offline_access - patient/AllergyIntolerance.rs - patient/CarePlan.rs - patient/CareTeam.rs - patient/Condition.rs - patient/Coverage.rs - patient/Device.rs - patient/DiagnosticReport.rs - patient/DocumentReference.rs - patient/Encounter.rs - patient/Goal.rs - patient/Immunization.rs - patient/Location.rs - patient/Medication.rs - patient/MedicationRequest.rs - patient/Observation.rs - patient/Organization.rs - patient/Patient.rs - patient/Practitioner.rs - patient/PractitionerRole.rs - patient/Procedure.rs - patient/Provenance.rs - patient/RelatedPerson.rs - patient/ServiceRequest.rs - user/AllergyIntolerance.rs - user/CarePlan.rs - user/CareTeam.rs - user/Condition.rs - user/Coverage.rs - user/Device.rs - user/DiagnosticReport.rs - user/DocumentReference.rs - user/Encounter.rs - user/Goal.rs - user/Immunization.rs - user/Location.rs - user/Medication.rs - user/MedicationRequest.rs - user/Observation.rs - user/Organization.rs - user/Patient.rs - user/Practitioner.rs - user/PractitionerRole.rs - user/Procedure.rs - user/Provenance.rs - user/RelatedPerson.rs - user/ServiceRequest.rs - system/AllergyIntolerance.rs - system/CarePlan.rs - system/CareTeam.rs - system/Condition.rs - system/Coverage.rs - system/Device.rs - system/DiagnosticReport.rs - system/DocumentReference.rs - system/Encounter.rs - system/Goal.rs - system/Immunization.rs - system/Location.rs - system/Medication.rs - system/MedicationRequest.rs - system/Observation.rs - system/Organization.rs - system/Patient.rs - system/Practitioner.rs - system/PractitionerRole.rs - system/Procedure.rs - system/Provenance.rs - system/RelatedPerson.rs - system/ServiceRequest.rs tags: - name: Care plan description: 'The CarePlan FHIR resource type Base profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan' paths: /CarePlan/{id}: get: tags: - Care plan summary: 'read-instance: Read CarePlan instance' parameters: - name: id in: path description: The resource ID required: true style: simple schema: minimum: 1 type: string example: '123' responses: '200': description: Success content: application/fhir+json: schema: $ref: '#/components/schemas/FHIR-JSON-RESOURCE' examples: methotrexate-careplan: summary: Medication care plan — methotrexate dosage instructions, text.status=additional, intent=proposal value: resourceType: CarePlan id: 1.120182.5.1.13819514 meta: source: Organization/1.120182 profile: - http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan text: status: additional div: "
<table>\n <thead>\n <tr>\n <td>Code</td>\n <td>Detail</td>\n <td>Instructions</td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>105585</td>\n <td>methotrexate sodium 2.5 mg tablet</td>\n <td>Take six pills (15mg) once weekly.</td>\n </tr>\n </tbody>\n</table>
" status: active intent: proposal category: - coding: - system: http://hl7.org/fhir/us/core/CodeSystem/careplan-category code: assess-plan subject: reference: Patient/1.120182.1.17082675 type: Patient application/fhir+xml: schema: $ref: '#/components/schemas/FHIR-XML-RESOURCE' operationId: getCarePlanById x-operation-id-source: derived /CarePlan: get: tags: - Care plan summary: 'search-type: Search for CarePlan instances' description: This is a search type parameters: - name: _id in: query description: The ID of the resource required: false schema: type: string - name: category in: query description: Type of plan required: false schema: type: string - name: intent in: query description: proposal | plan | order | option required: false schema: type: string - name: patient in: query description: Who the care plan is for required: false schema: type: string - name: status in: query description: draft | active | on-hold | revoked | completed | entered-in-error | unknown required: false schema: type: string responses: '200': description: Success content: application/fhir+json: schema: $ref: '#/components/schemas/FHIR-JSON-RESOURCE' examples: careplan-bundle: summary: 'Patient care plans — 3 of 16 shown: lab order (CBC), follow-up visit proposal, and medication proposal (methotrexate)' value: resourceType: Bundle type: searchset total: 16 link: - relation: self url: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4/CarePlan?patient=1.120182.1.17082675 entry: - fullUrl: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4/CarePlan/1.120182.5.1.13818759 resource: resourceType: CarePlan id: 1.120182.5.1.13818759 meta: source: Organization/1.120182 profile: - http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan text: status: generated div:
<table><thead><tr><th>Code</th><th>Detail</th><th>Instructions</th></tr></thead><tbody><tr><td>57021-8</td><td>CBC W Auto Diff Bld</td><td>March 02, 2026</td></tr></tbody></table>
status: active intent: order category: - coding: - system: http://hl7.org/fhir/us/core/CodeSystem/careplan-category code: assess-plan subject: reference: Patient/1.120182.1.17082675 type: Patient - fullUrl: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4/CarePlan/1.120182.5.1.13819513 resource: resourceType: CarePlan id: 1.120182.5.1.13819513 meta: source: Organization/1.120182 profile: - http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan text: status: generated div: "
<div>\n <p>Future visit for 03/02/2027 - Follow up in 1 year</p>\n</div>
" status: active intent: proposal category: - coding: - system: http://hl7.org/fhir/us/core/CodeSystem/careplan-category code: assess-plan subject: reference: Patient/1.120182.1.17082675 type: Patient - fullUrl: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4/CarePlan/1.120182.5.1.13819514 resource: resourceType: CarePlan id: 1.120182.5.1.13819514 meta: source: Organization/1.120182 profile: - http://hl7.org/fhir/us/core/StructureDefinition/us-core-careplan text: status: additional div: "
<table>\n <thead>\n <tr>\n <td>Code</td>\n <td>Detail</td>\n <td>Instructions</td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>105585</td>\n <td>methotrexate sodium 2.5 mg tablet</td>\n <td>Take six pills (15mg) once weekly.</td>\n </tr>\n </tbody>\n</table>
" status: active intent: proposal category: - coding: - system: http://hl7.org/fhir/us/core/CodeSystem/careplan-category code: assess-plan subject: reference: Patient/1.120182.1.17082675 type: Patient application/fhir+xml: schema: $ref: '#/components/schemas/FHIR-XML-RESOURCE' operationId: getCarePlan x-operation-id-source: derived components: schemas: FHIR-JSON-RESOURCE: type: object description: A FHIR resource FHIR-XML-RESOURCE: type: object description: A FHIR resource securitySchemes: smartOnFhir: type: oauth2 flows: authorizationCode: authorizationUrl: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4/auth/realms/fhir/protocol/openid-connect/auth tokenUrl: https://fhirmp.mmi.prod.fhir.ema-api.com/fhir/r4/auth/realms/fhir/protocol/openid-connect/token scopes: openid: OpenID Connect (auto-granted) fhirUser: FHIR reference to the authenticated practitioner profile: Standard OIDC profile claims launch/patient: Request patient context in the token offline_access: Request a long-lived refresh token patient/AllergyIntolerance.rs: Read/search AllergyIntolerance (patient context) patient/CarePlan.rs: Read/search CarePlan (patient context) patient/CareTeam.rs: Read/search CareTeam (patient context) patient/Condition.rs: Read/search Condition (patient context) patient/Coverage.rs: Read/search Coverage (patient context) patient/Device.rs: Read/search Device (patient context) patient/DiagnosticReport.rs: Read/search DiagnosticReport (patient context) patient/DocumentReference.rs: Read/search DocumentReference (patient context) patient/Encounter.rs: Read/search Encounter (patient context) patient/Goal.rs: Read/search Goal (patient context) patient/Immunization.rs: Read/search Immunization (patient context) patient/Location.rs: Read/search Location (patient context) patient/Medication.rs: Read/search Medication (patient context) patient/MedicationRequest.rs: Read/search MedicationRequest (patient context) patient/Observation.rs: Read/search Observation (patient context) patient/Organization.rs: Read/search Organization (patient context) patient/Patient.rs: Read/search Patient (patient context) patient/Practitioner.rs: Read/search Practitioner (patient context) patient/PractitionerRole.rs: Read/search PractitionerRole (patient context) patient/Procedure.rs: Read/search Procedure (patient context) patient/Provenance.rs: Read/search Provenance (patient context) patient/RelatedPerson.rs: Read/search RelatedPerson (patient context) patient/ServiceRequest.rs: Read/search ServiceRequest (patient context) user/AllergyIntolerance.rs: Read/search AllergyIntolerance (user context) user/CarePlan.rs: Read/search CarePlan (user context) user/CareTeam.rs: Read/search CareTeam (user context) user/Condition.rs: Read/search Condition (user context) user/Coverage.rs: Read/search Coverage (user context) user/Device.rs: Read/search Device (user context) user/DiagnosticReport.rs: Read/search DiagnosticReport (user context) user/DocumentReference.rs: Read/search DocumentReference (user context) user/Encounter.rs: Read/search Encounter (user context) user/Goal.rs: Read/search Goal (user context) user/Immunization.rs: Read/search Immunization (user context) user/Location.rs: Read/search Location (user context) user/Medication.rs: Read/search Medication (user context) user/MedicationRequest.rs: Read/search MedicationRequest (user context) user/Observation.rs: Read/search Observation (user context) user/Organization.rs: Read/search Organization (user context) user/Patient.rs: Read/search Patient (user context) user/Practitioner.rs: Read/search Practitioner (user context) user/PractitionerRole.rs: Read/search PractitionerRole (user context) user/Procedure.rs: Read/search Procedure (user context) user/Provenance.rs: Read/search Provenance (user context) user/RelatedPerson.rs: Read/search RelatedPerson (user context) user/ServiceRequest.rs: Read/search ServiceRequest (user context) system/AllergyIntolerance.rs: Read/search AllergyIntolerance (system/bulk context) system/CarePlan.rs: Read/search CarePlan (system/bulk context) system/CareTeam.rs: Read/search CareTeam (system/bulk context) system/Condition.rs: Read/search Condition (system/bulk context) system/Coverage.rs: Read/search Coverage (system/bulk context) system/Device.rs: Read/search Device (system/bulk context) system/DiagnosticReport.rs: Read/search DiagnosticReport (system/bulk context) system/DocumentReference.rs: Read/search DocumentReference (system/bulk context) system/Encounter.rs: Read/search Encounter (system/bulk context) system/Goal.rs: Read/search Goal (system/bulk context) system/Immunization.rs: Read/search Immunization (system/bulk context) system/Location.rs: Read/search Location (system/bulk context) system/Medication.rs: Read/search Medication (system/bulk context) system/MedicationRequest.rs: Read/search MedicationRequest (system/bulk context) system/Observation.rs: Read/search Observation (system/bulk context) system/Organization.rs: Read/search Organization (system/bulk context) system/Patient.rs: Read/search Patient (system/bulk context) system/Practitioner.rs: Read/search Practitioner (system/bulk context) system/PractitionerRole.rs: Read/search PractitionerRole (system/bulk context) system/Procedure.rs: Read/search Procedure (system/bulk context) system/Provenance.rs: Read/search Provenance (system/bulk context) system/RelatedPerson.rs: Read/search RelatedPerson (system/bulk context) system/ServiceRequest.rs: Read/search ServiceRequest (system/bulk context)