{
"description": "Requirements for the Provider FHIR Server participating in USCDI+ CTM. This CapabilityStatement primarily applies to Sponsor-initiated Trial Matching, where the Provider FHIR Server acts as the FHIR RESTful server and responds to requests initiated by the CTM Matching Service. In Provider-initiated Trial Matching, the Provider System acts as the CDS Hooks client and may use the Provider FHIR Server internally to prepare CTM-relevant input data; that CDS Hooks-based behavior is described elsewhere in this guide and is not fully represented by this CapabilityStatement.",
"_filename": "CapabilityStatement-CTMProviderFHIRServer.json",
"package_name": "test.fhir.onc.ctm",
"format": [ "json", "xml" ],
"date": "2026-04-15",
"publisher": null,
"fhirVersion": "4.0.1",
"name": "CTMProviderFHIRServer",
"type": null,
"experimental": null,
"resourceType": "CapabilityStatement",
"title": "CTM Provider FHIR Server CapabilityStatement",
"package_version": "0.1.0",
"status": "active",
"id": "cf6f1573-6c6a-4cbe-a3fe-67c14f5a5058",
"kind": "requirements",
"url": "http://fhir.org/guides/onc/ctm/CapabilityStatement/CTMProviderFHIRServer",
"version": "0.1.0",
"rest": [ {
"mode": "server",
"resource": [ {
"type": "Patient",
"interaction": [ {
"code": "read"
}, {
"code": "search-type"
} ],
"searchParam": [ {
"name": "_id",
"type": "token",
"documentation": "Retrieve a known patient by logical id."
}, {
"name": "identifier",
"type": "token",
"documentation": "Retrieve a patient by business identifier when needed."
} ],
"documentation": "Baseline USCDI+ CTM patient identity and demographic context for Sponsor-initiated retrieval. In the Provider-initiated scenario, equivalent patient context is commonly supplied through prefetch.",
"supportedProfile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|6.1.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-cancer-patient|4.0.0" ]
}, {
"type": "Condition",
"interaction": [ {
"code": "read"
}, {
"code": "search-type"
} ],
"searchParam": [ {
"name": "patient",
"type": "reference",
"documentation": "Primary patient-level retrieval parameter."
}, {
"name": "category",
"type": "token",
"documentation": "Used for problem-list condition context when supported."
}, {
"name": "code",
"type": "token",
"documentation": "Used when implementations support more specific condition filtering."
} ],
"documentation": "Baseline CTM condition context including diagnosis, disease-site, and histology context. The Provider-initiated prefetch often separates condition content into problem-list and site-oriented groupings.",
"supportedProfile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition-problems-health-concerns|6.1.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-primary-cancer-condition|4.0.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-secondary-cancer-condition|4.0.0" ]
}, {
"type": "Observation",
"interaction": [ {
"code": "read"
}, {
"code": "search-type"
} ],
"searchParam": [ {
"name": "patient",
"type": "reference",
"documentation": "Primary patient-level retrieval parameter."
}, {
"name": "code",
"type": "token",
"documentation": "Used to retrieve specific CTM observation types."
}, {
"name": "category",
"type": "token",
"documentation": "Used to distinguish laboratory observations when supported."
}, {
"name": "date",
"type": "date",
"documentation": "May be used to refine timing or recency."
} ],
"documentation": "Baseline CTM observation content including performance status, smoking status, laboratory data, pregnancy status, comorbidities, general and TNM staging. The Provider-initiated prefetch uses observation-specific templates aligned to the USCDI+ CTM data model.",
"supportedProfile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|6.1.0", "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-pregnancystatus|6.1.0", "http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus|6.1.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-ecog-performance-status|4.0.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-karnofsky-performance-status|4.0.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-lansky-play-performance-status|4.0.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-comorbidities|4.0.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-cancer-stage|4.0.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-tnm-primary-tumor-category|4.0.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-tnm-regional-nodes-category|4.0.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-tnm-distant-metastases-category|4.0.0" ]
}, {
"type": "MedicationAdministration",
"interaction": [ {
"code": "read"
}, {
"code": "search-type"
} ],
"searchParam": [ {
"name": "patient",
"type": "reference",
"documentation": "Primary patient-level retrieval parameter."
}, {
"name": "status",
"type": "token",
"documentation": "May be used to refine administrations when supported."
}, {
"name": "code",
"type": "token",
"documentation": "May be used when implementations support medication-specific filtering."
}, {
"name": "medication.code",
"type": "token",
"documentation": "Chained search across the medication reference into the Medication resource, e.g. MedicationAdministration?medication.code=..., to retrieve administrations by medication identity."
} ],
"documentation": "Baseline CTM medication administration content. Medication identity is resolved through the referenced Medication resource, either by chaining on the medication reference or by a separate Medication read.",
"supportedProfile": [ "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-cancer-related-medication-administration|4.0.0" ]
}, {
"type": "Medication",
"interaction": [ {
"code": "read"
} ],
"documentation": "Referenced Medication identity supporting MedicationAdministration. Retrieved by read only; there is no direct Medication search. Medication-based filtering of administrations is expressed through chained search on MedicationAdministration.",
"supportedProfile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication|6.1.0" ]
}, {
"type": "Procedure",
"interaction": [ {
"code": "read"
}, {
"code": "search-type"
} ],
"searchParam": [ {
"name": "patient",
"type": "reference",
"documentation": "Primary patient-level retrieval parameter."
}, {
"name": "code",
"type": "token",
"documentation": "May be used when implementations support more specific procedure filtering."
}, {
"name": "date",
"type": "date",
"documentation": "May be used to refine timing."
} ],
"documentation": "Baseline CTM procedure content including general procedures and radiotherapy-related details. The Provider-initiated may represent these through procedures and procedures-radiotherapy prefetch groupings.",
"supportedProfile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure|6.1.0", "http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-radiotherapy-course-summary|4.0.0" ]
} ],
"security": {
"description": "For Sponsor-initiated Trial Matching, the Provider FHIR Server is responsible for enforcing the deployment's approved authorization and access-control requirements for FHIR read and search interactions. For Provider-initiated Trial Matching, any internal use of the Provider FHIR Server to prepare CTM-relevant input data is governed by the provider organization's local security architecture. Optional external follow-up retrieval by the CTM service requires explicit authorization support from the Provider System and is not required for all deployments."
},
"documentation": "Sponsor-initiated Trial Matching: the Provider FHIR Server acts as the FHIR RESTful server. It responds to authorized patient-level read and search requests from the CTM Matching Service and returns the baseline USCDI+ CTM resource types needed for matching. Provider-initiated Trial Matching: the Provider System acts as the CDS Hooks client, initiates the CDS Hooks interaction, and may use the Provider FHIR Server internally to assemble CTM-relevant input data before calling the CTM service. That workflow is referenced here for context but is specified elsewhere in the guide."
} ]
}