This page is part of the FHIR Specification (v5.0.0-draft-final: Final QA Preview for R5 - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
These patterns provide general guidelines around the design of the resources
that follow them. The resources that follow these patterns indicate how they
follow the pattern by mapping elements in the resource to the pattern. In
general, resources may:
These patterns are intended to provide abstractions for the resources that follow them,
for use by implementers. The resources that follow these patterns indicate how they
follow the pattern by mapping elements in the resource to the pattern. These patterns are
followed more closely, and resources may:
Patterns are a work in progress. This analysis helps identify candidate patterns:
Resources | Pattern (or candidates) | Locations |
ActivityDefinition, BiologicallyDerivedProduct, DeviceDefinition, Ingredient, Location, ManufacturedItemDefinition, MedicinalProductDefinition, NutritionProduct, ObservationDefinition, Organization, PackagedProductDefinition, PlanDefinition, Practitioner, ResearchStudy, SubstanceDefinition | | RegulatedAuthorization.subject |
BiologicallyDerivedProduct, Device, Group, Location, Medication, NutritionProduct, Organization, Patient, Practitioner, Procedure, Substance | | DetectedIssue.subject Observation.subject |
BiologicallyDerivedProduct, Device, Group, Location, Medication, Organization, Patient, Practitioner, Substance | | DiagnosticReport.subject |
BiologicallyDerivedProduct, Device, Group, Location, Patient, Substance | | Specimen.subject |
BiologicallyDerivedProduct, Device, Group, Medication, Patient, Specimen, Substance | | ResearchSubject.subject |
BiologicallyDerivedProduct, Group, NutritionProduct, Patient, Substance | | GenomicStudy.subject MolecularSequence.subject |
CareTeam, Device, DeviceDefinition, Endpoint, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant + [Endpoint, DeviceDefinition] | ActivityDefinition.participant.typeReference PlanDefinition.actor.option.typeReference PlanDefinition.action.participant.typeReference RequestOrchestration.action.participant.typeReference |
CareTeam, Device, Endpoint, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant + [Endpoint] | Communication.recipient |
CareTeam, Device, Endpoint, Group, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant + [Endpoint] - [Location] | CommunicationRequest.recipient |
CareTeam, Device, Endpoint, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant + [Endpoint] - [Group, Location] | Communication.sender |
CareTeam, Device, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant | MeasureReport.subject MeasureReport.group.subject RequestOrchestration.subject |
CareTeam, Device, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, Specimen | Participant + [Specimen] | Group.member.entity |
CareTeam, Device, Group, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Organization] | Appointment.participant.actor |
CareTeam, Device, Group, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Location] | Requirements.statement.source |
CareTeam, Device, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [HealthcareService, Location] | Consent.provision.actor.reference Permission.rule.activity.actor |
CareTeam, Device, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Organization] | Schedule.actor |
CareTeam, Device, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Location] | ChargeItem.performer.actor ImagingSelection.performer.actor ImagingStudy.series.performer.actor Procedure.performer.actor ServiceRequest.performer Transport.owner |
CareTeam, Device, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, Substance | Participant + [Substance] - [Group, HealthcareService] | Contract.term.action.performer |
CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, HealthcareService, Location] | AllergyIntolerance.participant.actor AuditEvent.agent.who AuditEvent.source.observer Basic.author CarePlan.custodian CarePlan.contributor Condition.participant.actor DeviceDispense.performer.actor DocumentReference.author FamilyMemberHistory.participant.actor List.source MedicationDispense.performer.actor NutritionIntake.performer.actor Provenance.agent.who SupplyRequest.requester |
CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, ResearchSubject | | AdverseEvent.participant.actor |
CareTeam, DeviceDefinition, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | | MedicationRequest.performer |
CareTeam, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, Specimen | | Procedure.focus |
CareTeam, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Group, Device, Location] | Consent.grantor Consent.grantee Permission.asserter Subscription.managingEntity |
CareTeam, Organization, Patient, Practitioner, PractitionerRole | | Provenance.agent.onBehalfOf |
CareTeam, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [CareTeam, PractitionerRole] - [Location] ParticipantLiving + [Organization, CareTeam, PractitionerRole] | CareTeam.participant.member Observation.performer Task.owner Task.performer.actor |
CareTeam, Organization, Practitioner, PractitionerRole | | DiagnosticReport.performer DiagnosticReport.resultsInterpreter |
CareTeam, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantLiving + [CareTeam, PractitionerRole] | Goal.source |
Device, Endpoint, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | | CommunicationRequest.informationProvider |
Device, Group, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Organization, CareTeam] | AppointmentResponse.actor |
Device, Group, HealthcareService, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [Organization, CareTeam, Location] | Encounter.participant.actor |
Device, Group, Location, Medication, Organization, Patient, Practitioner, Procedure, Specimen, Substance | | ImagingSelection.subject |
Device, Group, Location, Organization, Patient, Practitioner | ParticipantContactable + [Group, Device] - [RelatedPerson] | Procedure.subject |
Device, Group, Location, Patient | | DeviceRequest.subject ServiceRequest.subject |
Device, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | Participant - [CareTeam, HealthcareService, Location] | Contract.term.offer.party.reference Contract.term.action.subject.reference Contract.term.action.requester |
Device, Group, Organization, Person | | EvidenceReport.section.author |
Device, Group, Patient | | ImagingStudy.subject |
Device, Group, Patient, Practitioner, RelatedPerson | ParticipantLiving + [Group, Device] | DeviceAssociation.subject |
Device, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole | Participant - [Group, CareTeam, RelatedPerson] | Account.subject |
Device, Organization, Patient, Practitioner, PractitionerRole | | ArtifactAssessment.content.author |
Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [Device, PractitionerRole] - [Location] ParticipantLiving + [Organization, Device, PractitionerRole] | Signature.who Signature.onBehalfOf ChargeItem.enterer CommunicationRequest.requester Composition.author Composition.section.author Flag.author Invoice.participant.actor MedicationRequest.requester QuestionnaireResponse.author QuestionnaireResponse.source ServiceRequest.requester Task.requester Transport.requester |
Device, Organization, Practitioner, PractitionerRole | | DeviceRequest.requester GenomicStudy.analysis.performer.actor MessageHeader.sender MessageHeader.author |
Device, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantLiving + [Device, PractitionerRole] | DetectedIssue.author RiskAssessment.performer |
Device, Patient, Practitioner, RelatedPerson | ParticipantContactable + [Device] - [Organization, Location] ParticipantLiving + [Device] | InventoryReport.reporter |
Device, Practitioner, PractitionerRole | | RequestOrchestration.author |
Group, Location, Medication, Organization, Patient, PlanDefinition, Practitioner, PractitionerRole, Procedure, RelatedPerson | | Flag.subject |
Group, Organization, Patient | | Goal.subject |
Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [Group, PractitionerRole] - [Location] ParticipantLiving + [Group, Organization, PractitionerRole] | Task.restriction.recipient Transport.restriction.recipient |
Group, Organization, Practitioner, PractitionerRole | | MeasureReport.reporter |
Group, Patient | ParticipantLiving + [Group] - [Practitioner, RelatedPerson] | Appointment.subject CarePlan.subject CareTeam.subject ChargeItem.subject ClinicalImpression.subject Communication.subject CommunicationRequest.subject Condition.subject Encounter.subject EncounterHistory.subject GuidanceResponse.subject Invoice.subject MedicationAdministration.subject MedicationDispense.subject MedicationRequest.subject MedicationStatement.subject NutritionIntake.subject NutritionOrder.subject RiskAssessment.subject |
Group, Patient, Practitioner | ParticipantLiving + [Group] - [RelatedPerson] | Consent.subject |
Group, Patient, Practitioner, RelatedPerson, ResearchSubject | ParticipantLiving + [Group, ResearchSubject] | AdverseEvent.subject |
HealthcareService, Organization | | SupplyRequest.supplier |
HealthcareService, Organization, Patient, Practitioner | ParticipantContactable + [HealthcareService] - [RelatedPerson, Location] ParticipantLiving + [Organization, HealthcareService] - [RelatedPerson] | Consent.manager Consent.controller |
Location, Organization | ParticipantContactable - [Practitioner, Patient, RelatedPerson] | Claim.facility CoverageEligibilityRequest.item.facility Encounter.admission.origin Encounter.admission.destination ExplanationOfBenefit.facility SupplyRequest.deliverFrom |
Location, Organization, Patient, RelatedPerson | ParticipantContactable - [Practitioner] ParticipantLiving + [Organization, Location] - [Practitioner] | SupplyRequest.deliverTo |
Location, Organization, ResearchStudy | | ResearchStudy.site |
Location, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [PractitionerRole] - [Organization] ParticipantLiving + [PractitionerRole, Location] | DeviceDispense.receiver MedicationDispense.receiver |
Organization, Patient | ParticipantContactable - [Practitioner, RelatedPerson, Location] ParticipantLiving + [Organization] - [Practitioner, RelatedPerson] | BiologicallyDerivedProduct.collection.source InventoryItem.instance.subject |
Organization, Patient, Person, RelatedPerson | ParticipantContactable + [Person] - [Practitioner, Location] ParticipantLiving + [Organization, Person] - [Practitioner] | PaymentReconciliation.paymentIssuer |
Organization, Patient, Practitioner, PractitionerRole | ParticipantContactable + [PractitionerRole] - [RelatedPerson, Location] ParticipantLiving + [Organization, PractitionerRole] - [RelatedPerson] | Contract.author |
Organization, Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [PractitionerRole] - [Location] ParticipantLiving + [Organization, PractitionerRole] | Annotation.author[x] Claim.payee.party Composition.attester.party Contract.term.asset.valuedItem.responsible Contract.term.asset.valuedItem.recipient Contract.signer.party DeviceUsage.informationSource DocumentReference.attester.party ExplanationOfBenefit.payee.party Immunization.performer.actor MedicationRequest.informationSource MedicationStatement.informationSource |
Organization, Patient, RelatedPerson | ParticipantContactable - [Practitioner, Location] ParticipantLiving + [Organization] - [Practitioner] | Account.guarantor.party Coverage.paymentBy.party Coverage.policyHolder Invoice.recipient |
Organization, Practitioner | ParticipantContactable - [Patient, RelatedPerson, Location] ParticipantLiving + [Organization] - [Patient, RelatedPerson] | Citation.citedArtifact.contributorship.entry.contributor |
Organization, Practitioner, PractitionerRole | | Claim.provider Claim.careTeam.provider ClaimResponse.requestor ClaimResponse.addItem.provider Consent.verification.verifiedBy Contract.contentDefinition.publisher CoverageEligibilityRequest.provider CoverageEligibilityResponse.requestor EnrollmentRequest.provider EnrollmentResponse.requestProvider ExplanationOfBenefit.provider ExplanationOfBenefit.careTeam.provider ExplanationOfBenefit.addItem.provider Linkage.author MedicationDispense.substitution.responsibleParty MessageHeader.destination.receiver MessageHeader.responsible Patient.generalPractitioner PaymentNotice.reporter PaymentNotice.payee PaymentReconciliation.enterer PaymentReconciliation.requestor PaymentReconciliation.allocation.submitter PaymentReconciliation.allocation.payee ResearchStudy.associatedParty.party SupplyDelivery.supplier SupplyDelivery.receiver VerificationResult.primarySource.who VerificationResult.attestation.who VerificationResult.attestation.onBehalfOf |
Organization, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [PractitionerRole] - [Patient, Location] ParticipantLiving + [Organization, PractitionerRole] - [Patient] | Group.managingEntity |
Organization, PractitionerRole | | Citation.citedArtifact.contributorship.entry.affiliation MedicinalProductDefinition.contact.contact |
Patient, Person, Practitioner, RelatedPerson | ParticipantContactable + [Person] - [Organization, Location] ParticipantLiving + [Person] | Person.link.target |
Patient, Practitioner | ParticipantContactable - [Organization, RelatedPerson, Location] ParticipantLiving - [RelatedPerson] | DeviceDispense.subject |
Patient, Practitioner, PractitionerRole, RelatedPerson | ParticipantContactable + [PractitionerRole] - [Organization, Location] ParticipantLiving + [PractitionerRole] | Claim.enterer ExplanationOfBenefit.enterer Procedure.recorder Specimen.collection.collector |
Patient, Practitioner, PractitionerRole, RelatedPerson, ResearchSubject | ParticipantLiving + [PractitionerRole, ResearchSubject] | AdverseEvent.recorder AdverseEvent.suspectEntity.causality.author |
Patient, Practitioner, RelatedPerson | ParticipantLiving | DeviceAssociation.operation.operator |
Patient, RelatedPerson | ParticipantContactable - [Practitioner, Organization, Location] ParticipantLiving - [Practitioner] | Consent.verification.verifiedWith Coverage.subscriber Patient.link.other |
Practitioner, PractitionerRole | ParticipantLiving + [PractitionerRole] - [Patient, RelatedPerson] | BiologicallyDerivedProduct.collection.collector ClinicalImpression.performer CoverageEligibilityRequest.enterer CoverageEligibilityRequest.item.provider CoverageEligibilityResponse.insurance.item.provider DetectedIssue.mitigation.author EpisodeOfCare.careManager GenomicStudy.referrer GenomicStudy.interpreter ImagingStudy.referrer MedicationRequest.recorder NutritionOrder.orderer VisionPrescription.prescriber |
Resources | Pattern (or candidates) | Locations |
Account, ChargeItem, Claim, Contract, Encounter, Invoice | | PaymentReconciliation.allocation.target |
ActivityDefinition, BiologicallyDerivedProduct, Device, DeviceDefinition, Medication, MedicinalProductDefinition, NutritionProduct, PlanDefinition, Substance | | ClinicalUseDefinition.subject |
ActivityDefinition, Device, DeviceDefinition, HealthcareService, Medication, PlanDefinition, Substance | | ChargeItemDefinition.instance |
AdministrableProductDefinition, ManufacturedItemDefinition, MedicinalProductDefinition | | Ingredient.for |
AllergyIntolerance, Condition | | ClinicalImpression.problem |
AllergyIntolerance, Condition, Device, DeviceUsage, DocumentReference, FamilyMemberHistory, Immunization, MedicationAdministration, MedicationStatement, Observation, Procedure | | AdverseEvent.contributingFactor.item[x] |
AllergyIntolerance, Condition, DocumentReference, FamilyMemberHistory, Immunization, MedicationAdministration, MedicationStatement, Observation, Procedure, QuestionnaireResponse | | AdverseEvent.supportingInfo.item[x] |
Appointment, AppointmentResponse, CarePlan, Claim, CommunicationRequest, Contract, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, Task, VisionPrescription | Request + [Contract] - [Transport] | GuidanceResponse.result |
Appointment, AppointmentResponse, CarePlan, Claim, CommunicationRequest, Contract, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, VisionPrescription | Request + [Contract] - [Task, Transport] | DocumentReference.basedOn |
Appointment, AppointmentResponse, CarePlan, ServiceRequest, Task | | ImagingSelection.basedOn ImagingStudy.basedOn |
Appointment, CommunicationRequest, DeviceRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, Task, VisionPrescription | | CarePlan.activity.plannedActivityReference |
Appointment, Encounter, EpisodeOfCare | | DocumentReference.context |
BiologicallyDerivedProduct, Device, DeviceDefinition, InventoryItem, Medication, MedicationKnowledge, NutritionProduct | | InventoryItem.association.relatedItem |
BiologicallyDerivedProduct, Device, Medication, NutritionProduct | | InventoryItem.productReference |
BiologicallyDerivedProduct, Medication, MedicinalProductDefinition, NutritionProduct, ObservationDefinition, Substance | | ClinicalUseDefinition.interaction.interactant.item[x] |
CarePlan, DeviceRequest | | DeviceDispense.basedOn |
CarePlan, DeviceRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, ServiceRequest | | Observation.basedOn |
CarePlan, DeviceRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, ServiceRequest, Task | | AuditEvent.basedOn Provenance.basedOn |
CarePlan, DeviceRequest, MedicationRequest, ServiceRequest | | Appointment.basedOn Encounter.basedOn |
CarePlan, ImmunizationRecommendation, MedicationRequest, NutritionOrder, ServiceRequest | | DiagnosticReport.basedOn |
CarePlan, ImmunizationRecommendation, MedicationRequest, ServiceRequest | | Immunization.basedOn MedicationRequest.basedOn |
CarePlan, MedicationRequest, ServiceRequest | | ServiceRequest.basedOn |
CarePlan, NutritionOrder, RequestOrchestration, ServiceRequest | | CarePlan.basedOn |
CarePlan, NutritionOrder, ServiceRequest | | NutritionIntake.basedOn NutritionOrder.basedOn |
CarePlan, ServiceRequest | | Procedure.basedOn QuestionnaireResponse.basedOn |
Citation, DiagnosticReport, EvidenceReport | | ResearchStudy.result |
Citation, DiagnosticReport, Observation, Procedure | | DiagnosticReport.supportingInfo.reference |
Claim, DocumentReference, Observation, Procedure, QuestionnaireResponse, ServiceRequest | | DeviceUsage.derivedFrom |
ClaimResponse, Coverage | | DeviceRequest.insurance MedicationRequest.insurance ServiceRequest.insurance Task.insurance Transport.insurance |
ClinicalImpression, DiagnosticReport, Observation | | Condition.stage.assessment |
Composition, DiagnosticReport, DocumentReference | | Procedure.report |
Condition, MedicationRequest, MedicationStatement, NutritionOrder, Observation, Procedure, RiskAssessment, ServiceRequest | | Goal.addresses |
Condition, Observation | | AdverseEvent.resultingEffect MedicationStatement.relatedClinicalInformation |
Consent, Contract, DocumentReference, QuestionnaireResponse | | Consent.sourceReference |
Contract, SupplyDelivery | | SupplyDelivery.partOf |
Device, DeviceDefinition | | ObservationDefinition.device |
Device, DeviceMetric | | EvidenceVariable.characteristic.definitionByTypeAndValue.device Observation.device |
DeviceDefinition, ManufacturedItemDefinition | | MedicinalProductDefinition.comprisedOf |
DeviceRequest, MedicationRequest, NutritionOrder, ServiceRequest, SupplyRequest, VisionPrescription | | Claim.item.request ClaimResponse.addItem.request ExplanationOfBenefit.item.request ExplanationOfBenefit.addItem.request |
DeviceRequest, MedicationRequest, VisionPrescription | | Claim.prescription Claim.originalPrescription |
DocumentReference, GenomicStudy, ImagingSelection, ImagingStudy, MolecularSequence, Observation, QuestionnaireResponse | | Observation.derivedFrom |
DocumentReference, ImagingStudy | | ImagingSelection.derivedFrom |
DocumentReference, Immunization, MedicationAdministration, MedicationRequest, Procedure | | AdverseEvent.preventiveAction.item[x] |
DocumentReference, MedicationAdministration, MedicationRequest, Procedure | | AdverseEvent.mitigatingAction.item[x] |
DocumentReference, Observation | | GenomicStudy.analysis.regionsStudied GenomicStudy.analysis.regionsCalled |
Encounter, EpisodeOfCare | | Contract.term.action.context DeviceUsage.context |
Evidence, EvidenceVariable, Group | | EvidenceVariable.characteristic.definitionReference |
EvidenceVariable, Group | | Evidence.variableDefinition.observed Evidence.variableDefinition.intended Evidence.statistic.modelCharacteristic.variable.variableDefinition ResearchStudy.recruitment.eligibility |
GenomicStudy, ImagingStudy | | DiagnosticReport.study |
GenomicStudy, ImagingStudy, Immunization, MedicationAdministration, MedicationDispense, MedicationStatement, Procedure | | Observation.partOf |
Group, Specimen | | Observation.specimen |
Immunization, ImmunizationEvaluation | | ImmunizationRecommendation.recommendation.supportingImmunization |
Ingredient, Medication, Substance, SubstanceDefinition | | ActivityDefinition.product[x] |
MedicationAdministration, MedicationDispense, Procedure | | MedicationAdministration.partOf |
MedicationAdministration, Observation, Procedure | | Procedure.partOf |
MedicationAdministration, Procedure | | MedicationDispense.partOf |
MedicationRequest, VisionPrescription | | ExplanationOfBenefit.prescription |
MedicationStatement, Procedure | | MedicationStatement.partOf |
MolecularSequence, Observation, QuestionnaireResponse | | Observation.hasMember |
NutritionIntake, Observation, Procedure | | NutritionIntake.partOf |
Observation, Procedure | | QuestionnaireResponse.partOf |
ObservationDefinition, Questionnaire | | ObservationDefinition.hasMember |
Procedure, Task | | GenomicStudy.analysis.protocolPerformed |
ServiceRequest, Task | | GenomicStudy.basedOn |