The Medical Office Force Standardized API is an HL7® FHIR® Release 4 API secured with the HL7 SMART App Launch Framework v2. Registered patient- and provider-facing applications authenticate and retrieve electronic health information consistent with USCDI and the US Core Implementation Guide. Population-level access is provided via FHIR Bulk Data.
RESTful syntax: https://mofapi.medicalofficeforce.co/fhir/[ResourceType]?[parameter=value]&...
Supported interactions:
Content negotiation: default application/fhir+json; use the Accept header for application/fhir+xml.
Common search parameters and their data types (the complete list per resource is in the Capability Statement):
Return variables / structures:
OAuth 2.0 via SMART App Launch v2. Endpoints (also in the smart-configuration document, §2):
Supported: response_type=code; grant_type=authorization_code; PKCE (code_challenge_method S256); launch contexts launch-standalone and launch-ehr; OpenID Connect (sso-openid-connect).
Client types: public; confidential-symmetric (client_secret_basic / client_secret_post); confidential-asymmetric (private_key_jwt via jwks_uri).
Standalone-launch flow: the application calls /fhir/auth/authorize with response_type=code, client_id, redirect_uri, scope, state, aud=https://mofapi.medicalofficeforce.co/fhir, code_challenge, and code_challenge_method=S256; the user authenticates and authorizes; the server redirects back with an authorization code; the application POSTs to /fhir/auth/token with grant_type=authorization_code, code, redirect_uri, code_verifier, and client authentication; and receives an access_token, id_token, and (if offline_access was granted) a refresh_token.
Applications must be registered before production use. The API does not support dynamic client registration; to request registration, contact Medical Office Force at info@medicalofficeforce.com and provide: application name and description; application type (public or confidential); redirect URI(s); requested scopes; and a technical contact. Medical Office Force issues a client_id (and, for confidential-symmetric clients, a client_secret; confidential-asymmetric clients register a public JWKS reachable by the server).
openid, profile, fhirUser, launch, patient/*.read, user/*.read, offline_access. Both SMART v1 and SMART v2 (granular, resource-level) scopes are supported. patient/*.read and user/*.read grant read access to the authorized patient's or user's data; offline_access requests a refresh token.
Refresh tokens are issued to applications granted the offline_access scope. Public and native applications obtain the initial refresh token through the PKCE-protected (S256) authorization_code flow — no client secret is required, and the code_verifier binds the token request to the original authorization request. The refresh token is returned in the token response alongside the access token.
The API exposes USCDI v3 data via the US Core Implementation Guide STU 6.1.0 over FHIR R4 (4.0.1). Data is available through US Core resource types including: Patient, AllergyIntolerance, CarePlan, CareTeam, Condition, Coverage, Device, DiagnosticReport, DocumentReference, Encounter, Goal, Immunization, Location, Medication, MedicationRequest, Observation (vital signs, laboratory, smoking status, and clinical results), Organization, Practitioner, PractitionerRole, Procedure, Provenance, RelatedPerson, ServiceRequest, and Specimen. The US Core Choices and References supported by the API are those defined by the US Core Implementation Guide STU 6.1.0. The machine-readable list of supported resources and search parameters is the Capability Statement at https://mofapi.medicalofficeforce.co/fhir/metadata.
Population-level access uses FHIR Bulk Data Access v1.0.0 via the $export operations in §4. The published list of service base URLs is at https://mofapi.medicalofficeforce.co/service-base-url-bundle.
Errors return a standard HTTP status code with a FHIR OperationOutcome in the body:
Inspect OperationOutcome.issue (severity, code, diagnostics) for handling.
A consuming application must support: TLS 1.2 or higher; OAuth 2.0 / SMART App Launch v2 with PKCE (S256); FHIR R4 JSON parsing (XML optional); and OpenID Connect for identity. Public and native applications must implement PKCE; confidential-asymmetric applications must publish a reachable JWKS. Required request configuration: Authorization: Bearer <access_token>; Accept: application/fhir+json; and aud set to the FHIR base URL during authorization.
All API and authorization traffic is served exclusively over HTTPS and requires TLS 1.2 or higher. The server negotiates only TLS 1.2 and TLS 1.3; TLS 1.1, TLS 1.0, SSL 3.0, and SSL 2.0 are disabled and are not accepted. Connections use ECDHE key exchange with forward secrecy (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 for TLS 1.2; TLS_AES_128_GCM_SHA256 for TLS 1.3).
Access for API Users is limited to the USCDI v3 / US Core data authorized by the granted SMART scopes; no data classes beyond US Core are exposed to API Users.
info@medicalofficeforce.com · +1 (877) 581-8810