This is the current version of the PS-CA Implementation Guide. Other releases of the PS-CA Implementation Guide may be found on a table on the Home Page of this Project.
Family Member History (PS-CA)
This profile represents the constraints applied to the FamilyMemberHistory resource by the PS-CA project. Currently, there is no equivalent IPS UV profile and no ISO CEN IPS 17269 requirements for a family history section. This profile is considered a draft version, and is informed and created as per the requirements of the first jurisdiction (i.e. Alberta) to pilot its use in patient summary within jurisdictional context. The constraints have been compared against other Family Member History FHIR profiles in Canada (OMD Core Data Set, Telus Patient Chart) and Internationally (Swiss Mednet, CareConnect UK, NDHM India) and share many constraints in common with those profiles but represent the minimum requirements as they are known in Canada today. This profile is expected to be refined further as more jurisdictional requirements are defined and as more is known about use in the international patient summary space.
Additional information on this profile (including the JSON & XML structure and detailed element descriptions) can be found at package/structuredefinition-profile-familymemberhistory-ca-ps.json
Profile
FamilyMemberHistory | I | FamilyMemberHistory | There are no (further) constraints on this element Element IdFamilyMemberHistory Information about patient's relatives, relevant for patient DefinitionSignificant health conditions for a person related to the patient relevant in the context of care for the patient.
| |
identifier | Σ | 0..* | Identifier | There are no (further) constraints on this element Element IdFamilyMemberHistory.identifier External Id(s) for this record DefinitionBusiness identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to server. Allows identification of the family member history as it is known by various participating systems and in a way that remains consistent across servers. This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.
|
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition) | There are no (further) constraints on this element Element IdFamilyMemberHistory.instantiatesCanonical Instantiates FHIR protocol or definition DefinitionThe URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition) Constraints
|
instantiatesUri | Σ | 0..* | uri | There are no (further) constraints on this element Element IdFamilyMemberHistory.instantiatesUri Instantiates external protocol or definition DefinitionThe URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier.
|
status | S Σ ?! | 1..1 | codeBinding | There are no (further) constraints on this element Element IdFamilyMemberHistory.status partial | completed | entered-in-error | health-unknown DefinitionA code specifying the status of the record of the family history of a specific family member. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. A code that identifies the status of the family history record. FamilyHistoryStatus (required)Constraints
|
dataAbsentReason | Σ | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdFamilyMemberHistory.dataAbsentReason subject-unknown | withheld | unable-to-obtain | deferred DefinitionDescribes why the family member's history is not available. This is a separate element to allow it to have a distinct binding from reasonCode. Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. Codes describing the reason why a family member's history is not available. FamilyHistoryAbsentReason (example)Constraints
|
patient | S Σ I | 1..1 | Reference(package/structuredefinition-profile-patient-ca-ps.json) | Element IdFamilyMemberHistory.patient Patient history is about Alternate namesProband DefinitionThe person who this history concerns. References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. Reference(package/structuredefinition-profile-patient-ca-ps.json) Constraints
|
reference | S Σ I | 1..1 | string | There are no (further) constraints on this element Element IdFamilyMemberHistory.patient.reference Literal reference, Relative, internal or absolute URL DefinitionA reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
|
type | Σ | 0..1 | uriBinding | There are no (further) constraints on this element Element IdFamilyMemberHistory.patient.type Type the reference refers to (e.g. "Patient") DefinitionThe expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent. The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources). This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified. Aa resource (or, for logical models, the URI of the logical model). ResourceType (extensible)Constraints
|
identifier | Σ | 0..1 | Identifier | There are no (further) constraints on this element Element IdFamilyMemberHistory.patient.identifier Logical reference, when literal reference is not known DefinitionAn identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).
|
display | Σ | 0..1 | string | There are no (further) constraints on this element Element IdFamilyMemberHistory.patient.display Text alternative for the resource DefinitionPlain text narrative that identifies the resource in addition to the resource reference. This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
|
date | Σ | 0..1 | dateTime | Element IdFamilyMemberHistory.date When history was recorded or last updated DefinitionThe date (and possibly time) when the family member history was recorded or last updated. Allows determination of how current the summary is. This element is not currently flagged as Must Support in PS-CA, as early implementers have indicated the element may not be supported by some piloting systems. Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received.
|
name | Σ | 0..1 | string | There are no (further) constraints on this element Element IdFamilyMemberHistory.name The family member described DefinitionThis will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". Allows greater ease in ensuring the same person is being talked about. Note that FHIR strings SHALL NOT exceed 1MB in size
|
relationship | S Σ | 1..1 | package/StructureDefinition-CodeableConcept-ca-ps.json | Element IdFamilyMemberHistory.relationship Concept - reference to a terminology or just text DefinitionA concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. For all CodeableConcepts, at least one of coding or text must be present. If coding contains only a display value (no code) then CodeableConcept must include text. package/StructureDefinition-CodeableConcept-ca-ps.json BindingThe nature of the relationship between the patient and the related person being described in the family member history. v3.FamilyMember (example)Constraints
|
sex | Σ | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdFamilyMemberHistory.sex male | female | other | unknown DefinitionThe birth sex of the family member. Not all relationship codes imply sex and the relative's sex can be relevant for risk assessments. This element should ideally reflect whether the individual is genetically male or female. However, as reported information based on the knowledge of the patient or reporting friend/relative, there may be situations where the reported sex might not be totally accurate. E.g. 'Aunt Sue' might be XY rather than XX. Questions soliciting this information should be phrased to encourage capture of genetic sex where known. However, systems performing analysis should also allow for the possibility of imprecision with this element. Codes describing the sex assigned at birth as documented on the birth registration. AdministrativeGender (extensible)Constraints
|
born[x] | I | 0..1 | There are no (further) constraints on this element Element IdFamilyMemberHistory.born[x] (approximate) date of birth DefinitionThe actual or approximate date of birth of the relative. Allows calculation of the relative's age.
| |
bornPeriod | Period | There are no (further) constraints on this element Data Type | ||
bornDate | date | There are no (further) constraints on this element Data Type | ||
bornString | string | There are no (further) constraints on this element Data Type | ||
age[x] | Σ I | 0..1 | There are no (further) constraints on this element Element IdFamilyMemberHistory.age[x] (approximate) age DefinitionThe age of the relative at the time the family member history is recorded. While age can be calculated from date of birth, sometimes recording age directly is more natural for clinicians. use estimatedAge to indicate whether the age is actual or not.
| |
ageAge | Age | There are no (further) constraints on this element Data Type | ||
ageRange | Range | There are no (further) constraints on this element Data Type | ||
ageString | string | There are no (further) constraints on this element Data Type | ||
estimatedAge | Σ I | 0..1 | boolean | There are no (further) constraints on this element Element IdFamilyMemberHistory.estimatedAge Age is estimated? DefinitionIf true, indicates that the age value specified is an estimated value. Clinicians often prefer to specify an estimaged age rather than an age range. This element is labeled as a modifier because the fact that age is estimated can/should change the results of any algorithm that calculates based on the specified age. It is unknown whether the age is an estimate or not
|
deceased[x] | Σ | 0..1 | There are no (further) constraints on this element Element IdFamilyMemberHistory.deceased[x] Dead? How old/when? DefinitionDeceased flag or the actual or approximate age of the relative at the time of death for the family member history record.
| |
deceasedBoolean | boolean | There are no (further) constraints on this element Data Type | ||
deceasedAge | Age | There are no (further) constraints on this element Data Type | ||
deceasedRange | Range | There are no (further) constraints on this element Data Type | ||
deceasedDate | date | There are no (further) constraints on this element Data Type | ||
deceasedString | string | There are no (further) constraints on this element Data Type | ||
reasonCode | Σ | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdFamilyMemberHistory.reasonCode Why was family member history performed? DefinitionDescribes why the family member history occurred in coded or textual form. Textual reasons can be captured using reasonCode.text. Codes indicating why the family member history was done. SNOMEDCTClinicalFindings (example)Constraints
|
reasonReference | Σ I | 0..* | Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference) | There are no (further) constraints on this element Element IdFamilyMemberHistory.reasonReference Why was family member history performed? DefinitionIndicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event. References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference) Constraints
|
note | S | 0..* | Annotation | There are no (further) constraints on this element Element IdFamilyMemberHistory.note General note about related person DefinitionThis property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).
|
author[x] | Σ | 0..1 | There are no (further) constraints on this element Element IdFamilyMemberHistory.note.author[x] Individual responsible for the annotation DefinitionThe individual responsible for making the annotation. Organization is used when there's no need for specific attribution as to who made the comment.
| |
authorString | string | There are no (further) constraints on this element Data Type | ||
authorReference | Reference(Practitioner | Patient | RelatedPerson | Organization) | There are no (further) constraints on this element Data Type Reference(Practitioner | Patient | RelatedPerson | Organization) | ||
time | Σ | 0..1 | dateTime | There are no (further) constraints on this element Element IdFamilyMemberHistory.note.time When the annotation was made DefinitionIndicates when this particular annotation was made.
|
text | S Σ | 1..1 | markdown | Element IdFamilyMemberHistory.note.text The annotation - text content (as markdown) DefinitionThe text of the annotation in markdown format. Family_History_Notes
|
condition | 0..* | BackboneElement | Element IdFamilyMemberHistory.condition Condition that the related person had DefinitionThe significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. This element is not currently flagged as Must Support in PS-CA, as early implementers have indicated the element may not be supported by some piloting systems. While the ability to use structured data is desireable, the practice of documenting family member history is still varied and some systems may not have the ability to differentiate individual condition details that are being noted for family members. For initial pilots, implementers should expect that some systems will populate this information as free text in the FamilyMemberHistory.note element. . Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received.
| |
code | 1..1 | package/StructureDefinition-CodeableConcept-ca-ps.json | Element IdFamilyMemberHistory.condition.code Concept - reference to a terminology or just text DefinitionA concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. For all CodeableConcepts, at least one of coding or text must be present. If coding contains only a display value (no code) then CodeableConcept must include text. package/StructureDefinition-CodeableConcept-ca-ps.json BindingIdentification of the Condition or diagnosis. Condition/Problem/DiagnosisCodes (example)Constraints
| |
outcome | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdFamilyMemberHistory.condition.outcome deceased | permanent disability | etc. DefinitionIndicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation. Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc. ConditionOutcomeCodes (example)Constraints
| |
contributedToDeath | 0..1 | boolean | There are no (further) constraints on this element Element IdFamilyMemberHistory.condition.contributedToDeath Whether the condition contributed to the cause of death DefinitionThis condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.
| |
onset[x] | 0..1 | Element IdFamilyMemberHistory.condition.onset[x] When condition first manifested DefinitionEither the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. Age of onset of a condition in relatives is predictive of risk for the patient. The data types for this element are not constrained to provide maximum ability for reuse/refinement during draft stage. However, initial implementers using this profile to communicate family history for patient summaries that support semi-structured data for each condition are likely to utilize onsetString.
| ||
onsetAge | Age | There are no (further) constraints on this element Data Type | ||
onsetRange | Range | There are no (further) constraints on this element Data Type | ||
onsetPeriod | Period | There are no (further) constraints on this element Data Type | ||
onsetString | string | There are no (further) constraints on this element Data Type | ||
note | 0..* | Annotation | There are no (further) constraints on this element Element IdFamilyMemberHistory.condition.note Extra information about condition DefinitionAn area where general notes can be placed about this specific condition. For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).
| |
author[x] | Σ | 0..1 | There are no (further) constraints on this element Element IdFamilyMemberHistory.condition.note.author[x] Individual responsible for the annotation DefinitionThe individual responsible for making the annotation. Organization is used when there's no need for specific attribution as to who made the comment.
| |
authorString | string | There are no (further) constraints on this element Data Type | ||
authorReference | Reference(Practitioner | Patient | RelatedPerson | Organization) | There are no (further) constraints on this element Data Type Reference(Practitioner | Patient | RelatedPerson | Organization) | ||
time | Σ | 0..1 | dateTime | There are no (further) constraints on this element Element IdFamilyMemberHistory.condition.note.time When the annotation was made DefinitionIndicates when this particular annotation was made.
|
text | S Σ | 1..1 | markdown | There are no (further) constraints on this element Element IdFamilyMemberHistory.condition.note.text The annotation - text content (as markdown) DefinitionThe text of the annotation in markdown format. Systems are not required to have markdown support, so the text should be readable without markdown processing. The markdown syntax is GFM - see https://github.github.com/gfm/
|
Key Differences between the IPS-UV and PS-CA
This is a draft profile that PS-CA has developed for a piloting jurisdiction. It will be surfaced for IPS inclusion following a successful pilot period.