Family History

The Family History feature allows the user to record or update the patient's family history SNOMED-CT problems. The Family History Changed Subscription feature will allow the user to retrieve changes to the family history data (not including any deleted information). For more information about subscriptions, please refer Changed Data Subscriptions.

FAMILY
The beta practice setting 'Family History Reconciliation Update' must be turned on.  

Make sure you support multiple relations of the same type having the same issue (two brothers both having high blood pressure), and a single person having an issue more than once (the mother having two instances of cancer). The family history section is structured differently than other sections. Other sections have question fields that contain a list of single question/answer pairs with some metadata. For the family history section, each of those question/answer entries is itself an array of data, one sub-entry per relation or per occurence. The relations do not specify biological vs logical (step/adoptive/etc.) relations. Biological relations are assumed. In general, practices only track relations that have problems, although they can be configured to have an Alive and Well status. 

• 'snomedfamilyhistoryproblemid' ties it to the practice-specific family history element and can be used to tie the same question across multiple forms. 
• 'snomedcode' is the SNOMED code value for this particular problem. 
• 'text' is the patient-friendly name of the problem. 
• 'origtext' is the SNOMED term for this problem, which almost always matches text. We recommend you use text and not origtext. 
• 'fields' contains a list of problem instances, each of which contains: 
• 'default' is the Y/N checkbox that indicates whether this person has this problem. 
• 'relation' is the relation this person has with the patient (mother, sister, etc.). 
• 'relationkeyid' is the ID of the particular relation. Each relation type has its own keyspace. This means you can have a Brother 1, Brother 2, Sister 1, etc. 
• 'onsetage' is the age when the problem started. 
• 'diedofage' is the age when the relation died from this particular problem. 

'relationkeyid' is a REQUIRED field. 
If you add a new relation, specify the next available numerical value for relationkeyid. It’s possible to receive a missing/null relationkeyid. This is always from the portal. Until that is fixed, assign the next available relationkeyid to that empty value. We do not cross check between entries. This  means a particular relative could be specified to have died at two different ages from two different problems. We match on problem/relation/relationkeyid/onsetage. This means that a given person (e.g., Brother 2) can have two instances of the same problem (e.g., two instances of cancer).

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Get patient's family history
GET
/v1/{practiceid}/chart/{patientid}/familyhistory
Retrieves the family history for a specific patient
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
patientid integer patientid
departmentid integer The athenaNet department id.

Output Parameters

Expand all
historyunknown string Whether or not the family history is unknown. This API attribute is being rolled out and will be Generally Available on or before July 1, 2022.
historyunknownlastmodifiedby string Username of the user who last modified the unknown status. This API attribute is being rolled out and will be Generally Available on or before July 1, 2022.
historyunknownlastmodifieddatetime string Date and time when the unknown status was last modified. This API attribute is being rolled out and will be Generally Available on or before July 1, 2022.
relatives array List of relatives for this patient
sectionnote string Additional note for the entire family history section, if any
sectionnotelastmodifiedby string The username of the provider who last modified the note. This API attribute is being rolled out and will be Generally Available on or before July 1, 2022.
sectionnotelastmodifieddatetime string The date and time the note was last modified. This API attribute is being rolled out and will be Generally Available on or before July 1, 2022.
Example Code
Update patient's family history
PUT
/v1/{practiceid}/chart/{patientid}/familyhistory
Modifies the family history for a specific patient
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
patientid integer patientid
Content-Type string Content type of the payload

Output Parameters

Expand all
errormessage string If the operation failed, this will contain any error messages.
problemids array List of existing family member problem IDs that map back to this patient's family history.
success string Whether the operation was successful.
Example Code
Get list of family history change events to which you can subscribe
GET
/v1/{practiceid}/chart/healthhistory/familyhistory/changed/subscription/events
Retrieve the list of events that can be input for this subscription
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid

Output Parameters

Expand all
departmentids array List of Departmentids subscribed
status string Will return one of following statuses: ACTIVE, INACTIVE, or PARTIAL. The PARTIAL status means that not all events are subscribed to. In the event of a problem, UNKNOWN may be returned.
subscriptions array List of events you are subscribed to.
Example Code
Subscribe to all/specific change events for family history
POST
/v1/{practiceid}/chart/healthhistory/familyhistory/changed/subscription
Subscribes for changed familyhistory events
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
Content-Type string Content type of the payload

Output Parameters

Expand all
success string Returns if the call to manipulate subscriptions for familyhistory was successful.
Example Code
Get list of family history change subscription(s)
GET
/v1/{practiceid}/chart/healthhistory/familyhistory/changed/subscription
Retrieves list of events applicable for family history
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid

Output Parameters

Expand all
departmentids array List of Departmentids subscribed
status string Will return one of following statuses: ACTIVE, INACTIVE, or PARTIAL. The PARTIAL status means that not all events are subscribed to. In the event of a problem, UNKNOWN may be returned.
subscriptions array List of events you are subscribed to.
Example Code
Get list of changes in family history based on subscribed events
GET
/v1/{practiceid}/chart/healthhistory/familyhistory/changed
Retrieves list of records of modified family history data
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
leaveunprocessed boolean For testing purposes, do not mark records as processed
showprocessedenddatetime string See showprocessedstartdatetime
showprocessedstartdatetime string Show already processed changes. This will show changes that you previously retrieved at some point after this datetime mm/dd/yyyy hh24:mi:ss (Eastern). Can be used to refetch data if there was an error, such as a timeout, and records are marked as already retrieved. This is intended to be used with showprocessedenddatetime and for a short period of time only. Also note that all messages will eventually be deleted.
limit integer Number of entries to return (default 1500, max 5000)
offset integer Starting point of entries; 0-indexed

Output Parameters

Expand all
description string Brief description for this code/problem
diedofage integer Age when the patient died, if this problem was the cause
note string Additional note for this problem
onsetage integer Age when this problem first occured
patientid integer The athenanet patient ID associated with this family problem.
problemid integer Athena ID for this problem
relation string Relationship to the patient
relationkeyid integer ID of the relationship (for example, having 2 brothers, one would have ID of 1, another would have ID of 2)
resolvedage integer Age when the problem was resolved, if applicable
snomedcode integer SNOMED code for this diagnosis
Example Code
Unsubscribe to all/specific change events for family history
DELETE
/v1/{practiceid}/chart/healthhistory/familyhistory/changed/subscription
Delete an specific event which is no longer required
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
eventname string By default, you are unsubscribed from all possible events. If you only wish to unsubscribe from an individual event, pass the event name with this argument.

Output Parameters

Expand all
success string Returns if the call to manipulate subscriptions for familyhistory was successful.
Example Code