Implementation Guide for Astacus project
0.0.1 - ci-build
Implementation Guide for Astacus project - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
This section outlines requirements and recommendations for Astacus participants. The conformance verbs - SHALL or MUST, SHOULD, and MAY - are defined in FHIR Conformance Rules.
Two roles for Astacus Participants are defined:
This IG currently only provides CapabilityStatements and documentation for “pull” (query-response) architectures, however, regardless how exchanges occur, all participants MUST follow the conformance requirements in this IG, except those specifically identified as applying only to pull architectures.
Astacus participants MUST meet the following requirements for conformance:
To facilitate conformance testing, testing software must be able to determine which patients are “in-scope” (meaning cancer patients whose data is presented or exchanged with the intention of conforming to Astacus). In general, all patients with confirmed cancer diagnoses SHOULD be covered by Astacus, but Astacus provides several ways to identify this group of in-scope patients. See the Identifying In-Scope Patients page for details.
The information produced and consumed by Astacus participants is defined by a set of profiles. Both Senders and Receivers must conform to the expectations set by these profiles. See the Profile Conformance page for details.
Astacus Senders MUST be able to populate data elements Must-Support (MS) obligations, for all profiles they support (as declared in their CapabilityStatement). Receivers MUST be able to meaningfully process elements with MS obligations for each profile they support (as declared in their CapabilityStatement). “Able to Populate” and “Meaningfully Process” have particular meanings, as discussed on the Profile Conformance page.
Astacus defines operations that Senders and Receivers use to exchange Astacus information. In a “pull” (query-response) architecture, Senders MUST support the requests below for retrieving all resources conforming to a given Astacus Profile, UNLESS they do not support the profile at all (see “Support All Astacus Profiles” below). For more details on the conformance requirements for Senders and Receivers, see Profile Conformance.
Note that the requests below may return resources associated with patients who are not [in-scope patients]. These resources MAY not conform to Astacus profiles.
GET [base]/Specimen?type=http://terminology.hl7.org/CodeSystem/v2-0487|TUMOR
(note that TUMOR
MUST be capitalized)GET [base]/Condition?category=http://snomed.info/sct|372087000
(preferred form)GET [base]/Condition?code:in=http://hl7.org/fhir/us/mcode/ValueSet/mcode-primary-or-uncertain-behavior-cancer-disorder-vs
(alternate form)GET [base]/Condition?category=http://snomed.info/sct|128462008
(preferred form)GET [base]/Condition?code:in=http://hl7.org/fhir/us/mcode/ValueSet/CancerStagingTypeVS
(alternate form)GET [base]/Observation?category=http://snomed.info/sct|250724005
(preferred form)GET [base]/Observation?code:in=http://hl7.org/fhir/us/mcode/ValueSet/mcode-tumor-marker-test-vs
(alternate form)GET [base]/Observation?category=vital-signs
GET [base]/DiagnosticReport?category=LAB
(note that LAB
MUST be capitalized)GET [base]/Observation?category=laboratory
Genomics
Each Astacus participant MUST publish a FHIR CapabilityStatement listing their supported profiles, by declaring the profile in CapabilityStatement.rest.resource.supportedProfile
. The CapabilityStatement SHALL be returned in response to a GET [base]/metadata
request.
ALL Astacus participants MUST at minimum support the AstacusCancerPatient and AstacusPrimaryCancerCondition profiles.
Additional conformance requirements from FR Core apply to RESTful interactions, searches, and resource formats in Astacus. Astacus “inherits” all FR Core conformance requirements. FR Core provides base profiles for many (but not all) Astacus profiles, outlines expectations for handling of missing or unknown data elements, and outlines how to associate provenance information associated with collection, transfer, and updating of clinical information.
Astacus participants SHOULD meet the following requirements for conformance:
In addition to supporting the core profiles as described above, Astacus participants SHOULD support all profiles defined in Astacus UNLESS the participant does not anticipate supplying or consuming a certain type of data, usually by virtue of playing a limited or specialized role in clinical or information workflows. For example, a genomics laboratory may support [GenomicsReport], but not vital signs or staging.
Participants SHOULD also support the non-Astacus-specific profiles that are considered part of an [Astacus Patient Bundle][AstacusPatientBundle], such as blood pressure.
The [Astacus Patient Bundle][AstacusPatientBundle] provides a mechanism to retrieve cancer-related resources for an in-scope Patient. Participants SHOULD support this CapabilityStatement ([sender][astacus-sender-patient-bundle]/[receiver][astacus-receiver-patient-bundle]) for the [astacus-patient-everything] operation, which retrieves an Astacus Patient Bundle for a given Patient ID.
GET [base]/Patient/[id]/$astacus-everything
This endpoint SHALL support start
and end
parameters and MAY support the _since
, _type
, and _count
parameters, which operate the same as in the Patient/[id]/$everything
operation. The _since parameter is provided to support periodic queries to get additional information that has changed about the patient since the last query.
For some types of resources, such as vital signs, a large number of resources may exist. Senders may use their discretion to select the resources that are most relevant, e.g., a subset of the vital signs that were recorded. Alternatively, servers may refuse to serve the request and indicate that the client asked for too much data (see OperationOutcome). To limit the number of included resources, callers MAY specify a _count
parameter that pages through the results.
Astacus Patient Bundles SHALL be identified by an id
value that matches the id
in the contained CancerPatient-conforming resource.
meta.profile
to Signal ConformanceParticipants SHOULD populate meta.profile
elements for all resources to indicate which profiles the resources claim to conform to. Servers SHOULD also implement profile search, which allows participants to query using the _profile
parameter to return resources conforming to the profiles declared in meta.profile
.
Profile search and population of meta.profile
originate as “SHALL” requirements in the base FHIR specification; they are not an additional requirements imposed by mCODE. However, in practice, few implementations have followed these requirements. Refer to the FHIR Documentation on supported profiles for details.