This page contains step by step exercises that are part of the Let's Build! Building a FHIR data model with Forge at DevDays 2022 June.
Following these exercises will learn you how to start profiling, the art of defining your FHIR data model, with Forge.
After completing this tutorial, you will be able to:
Hospital X wants to receive patient data from general practitioners. The hospital has decided to build an interface conform the FHIR standard, starting with administrative data of patients. The following requirements are specified by Hosptial X:
http://ardon.nl/fhir/StructureDefinition/HospitalXPatient
.Patient | I | Patient | There are no (further) constraints on this element Element IdPatient Information about an individual or animal receiving health care services Alternate namesSubjectOfCare Client Resident DefinitionDemographics and other administrative information about an individual or animal receiving care or other health-related services.
| |
identifier | Σ | 0..* | Identifier | There are no (further) constraints on this element Element IdPatient.identifier An identifier for this patient DefinitionAn identifier for this patient. Patients are almost always assigned specific numerical identifiers.
|
active | Σ ?! | 0..1 | boolean | There are no (further) constraints on this element Element IdPatient.active Whether this patient's record is in active use DefinitionWhether this patient record is in active use. Many systems use this property to mark as non-current patients, such as those that have not been seen for a period of time based on an organization's business rules. It is often used to filter patient lists to exclude inactive patients Deceased patients may also be marked as inactive for the same reasons, but may be active for some time after death. Need to be able to mark a patient record as not to be used because it was created in error. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient.
|
name | Σ | 1..* | HumanName | There are no (further) constraints on this element Element IdPatient.name A name associated with the patient DefinitionA name associated with the individual. Need to be able to track the patient by multiple names. Examples are your official name and a partner name. A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns.
|
use | Σ ?! | 0..1 | codeBinding | There are no (further) constraints on this element Element IdPatient.name.use usual | official | temp | nickname | anonymous | old | maiden DefinitionIdentifies the purpose for this name. Allows the appropriate name for a particular context of use to be selected from among a set of names. Applications can assume that a name is current unless it explicitly says that it is temporary or old. The use of a human name. NameUse (required)Constraints
|
text | Σ | 0..1 | string | There are no (further) constraints on this element Element IdPatient.name.text Text representation of the full name DefinitionSpecifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts. A renderable, unencoded form. Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.
|
family | Σ | 1..1 | string | There are no (further) constraints on this element Element IdPatient.name.family Family name (often called 'Surname') Alternate namessurname DefinitionThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father. Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).
|
given | Σ | 1..* | string | There are no (further) constraints on this element Element IdPatient.name.given Given names (not always 'first'). Includes middle names Alternate namesfirst name, middle name DefinitionGiven name. If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first.
|
prefix | Σ | 0..* | string | There are no (further) constraints on this element Element IdPatient.name.prefix Parts that come before the name DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name. Note that FHIR strings SHALL NOT exceed 1MB in size
|
suffix | Σ | 0..* | string | There are no (further) constraints on this element Element IdPatient.name.suffix Parts that come after the name DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name. Note that FHIR strings SHALL NOT exceed 1MB in size
|
period | Σ I | 0..1 | Period | There are no (further) constraints on this element Element IdPatient.name.period Time period when name was/is in use DefinitionIndicates the period of time when this name was valid for the named person. Allows names to be placed in historical context. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration.
|
telecom | Σ I | 0..* | ContactPoint | There are no (further) constraints on this element Element IdPatient.telecom A contact detail for the individual DefinitionA contact detail (e.g. a telephone number or an email address) by which the individual may be contacted. People have (primary) ways to contact them in some way such as phone, email. A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).
|
gender | Σ | 1..1 | codeBinding | There are no (further) constraints on this element Element IdPatient.gender male | female | other | unknown DefinitionAdministrative Gender - the gender that the patient is considered to have for administration and record keeping purposes. Needed for identification of the individual, in combination with (at least) name and birth date. The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a "hard" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex. The gender of a person used for administrative purposes. AdministrativeGender (required)Constraints
|
birthDate | Σ | 1..1 | date | There are no (further) constraints on this element Element IdPatient.birthDate The date of birth for the individual DefinitionThe date of birth for the individual. Age of the individual drives many clinical processes. At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternity/infant care systems).
|
deceased[x] | Σ ?! | 0..1 | There are no (further) constraints on this element Element IdPatient.deceased[x] Indicates if the individual is deceased or not DefinitionIndicates if the individual is deceased or not. The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive. If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive.
| |
deceasedBoolean | boolean | Data Type | ||
address | Σ | 0..* | Address | There are no (further) constraints on this element Element IdPatient.address An address for the individual DefinitionAn address for the individual. May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification. Patient may have multiple addresses with different uses or applicable periods.
|
maritalStatus | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdPatient.maritalStatus Marital (civil) status of a patient DefinitionThis field contains a patient's most recent marital (civil) status. Most, if not all systems capture it. 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 domestic partnership status of a person. Marital Status Codes (extensible)Constraints
| |
multipleBirth[x] | 0..1 | There are no (further) constraints on this element Element IdPatient.multipleBirth[x] Whether patient is part of a multiple birth DefinitionIndicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer). For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs. Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated).
| ||
multipleBirthBoolean | boolean | There are no (further) constraints on this element Data Type | ||
multipleBirthInteger | integer | There are no (further) constraints on this element Data Type | ||
photo | I | 0..0 | Attachment | There are no (further) constraints on this element Element IdPatient.photo Image of the patient DefinitionImage of the patient. Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too. Guidelines:
|
contact | I | 0..* | BackboneElement | There are no (further) constraints on this element Element IdPatient.contact A contact party (e.g. guardian, partner, friend) for the patient DefinitionA contact party (e.g. guardian, partner, friend) for the patient. Need to track people you can contact about the patient. Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.
|
relationship | 0..* | CodeableConceptBinding | There are no (further) constraints on this element Element IdPatient.contact.relationship The kind of relationship DefinitionThe nature of the relationship between the patient and the contact person. Used to determine which contact person is the most relevant to approach, depending on circumstances. 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 nature of the relationship between a patient and a contact person for that patient. PatientContactRelationship (extensible)Constraints
| |
name | 0..1 | HumanName | There are no (further) constraints on this element Element IdPatient.contact.name A name associated with the contact person DefinitionA name associated with the contact person. Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person. Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts might or might not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.
| |
telecom | I | 0..* | ContactPoint | There are no (further) constraints on this element Element IdPatient.contact.telecom A contact detail for the person DefinitionA contact detail for the person, e.g. a telephone number or an email address. People have (primary) ways to contact them in some way such as phone, email. Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification.
|
address | 0..1 | Address | There are no (further) constraints on this element Element IdPatient.contact.address Address for the contact person DefinitionAddress for the contact person. Need to keep track where the contact person can be contacted per postal mail or visited. Note: address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource).
| |
gender | 0..1 | codeBinding | There are no (further) constraints on this element Element IdPatient.contact.gender male | female | other | unknown DefinitionAdministrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. Needed to address the person correctly. Note that FHIR strings SHALL NOT exceed 1MB in size The gender of a person used for administrative purposes. AdministrativeGender (required)Constraints
| |
organization | I | 0..1 | Reference(Organization) | There are no (further) constraints on this element Element IdPatient.contact.organization Organization that is associated with the contact DefinitionOrganization on behalf of which the contact is acting or for which the contact is working. For guardians or business related contacts, the organization is relevant. 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.
|
period | I | 0..1 | Period | There are no (further) constraints on this element Element IdPatient.contact.period The period during which this contact person or organization is valid to be contacted relating to this patient DefinitionThe period during which this contact person or organization is valid to be contacted relating to this patient. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration.
|
communication | 0..* | BackboneElement | There are no (further) constraints on this element Element IdPatient.communication A language which may be used to communicate with the patient about his or her health DefinitionA language which may be used to communicate with the patient about his or her health. If a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency are important things to keep track of both for patient and other persons of interest. If no language is specified, this implies that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.
| |
language | 1..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdPatient.communication.language The language which can be used to communicate with the patient about his or her health DefinitionThe ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English. Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect. The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. A human language. CommonLanguages (preferred)Constraints
| |
preferred | 0..1 | boolean | There are no (further) constraints on this element Element IdPatient.communication.preferred Language preference indicator DefinitionIndicates whether or not the patient prefers this language (over other languages he masters up a certain level). People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method. This language is specifically identified for communicating healthcare information.
| |
generalPractitioner | I | 0..* | Reference(Organization | Practitioner | PractitionerRole) | There are no (further) constraints on this element Element IdPatient.generalPractitioner Patient's nominated primary care provider Alternate namescareProvider DefinitionPatient's nominated care provider. This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues. Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type. Reference(Organization | Practitioner | PractitionerRole) Constraints
|
managingOrganization | Σ I | 0..1 | Reference(Organization) | There are no (further) constraints on this element Element IdPatient.managingOrganization Organization that is the custodian of the patient record DefinitionOrganization that is the custodian of the patient record. Need to know who recognizes this patient record, manages and updates it. There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).
|
link | Σ ?! | 0..* | BackboneElement | There are no (further) constraints on this element Element IdPatient.link Link to another patient resource that concerns the same actual person DefinitionLink to another patient resource that concerns the same actual patient. There are multiple use cases:
There is no assumption that linked patient records have mutual links.
|
other | Σ I | 1..1 | Reference(Patient | RelatedPerson) | There are no (further) constraints on this element Element IdPatient.link.other The other patient or related person resource that the link refers to DefinitionThe other patient resource that the link refers to. Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual. Reference(Patient | RelatedPerson) Constraints
|
type | Σ | 1..1 | codeBinding | There are no (further) constraints on this element Element IdPatient.link.type replaced-by | replaces | refer | seealso DefinitionThe type of link between this patient resource and another patient resource. Note that FHIR strings SHALL NOT exceed 1MB in size The type of link between this patient resource and another patient resource. LinkType (required)Constraints
|
Hospital X wants to capture additional data on the patient, which is not represented in the base resource. The following (additional) requirements are specified:
Find a relevant extension for place of birth. You can, for example, search in the FHIR Registry, Simplifier.net or the list of extensions in the core FHIR specification.
Found one?
hl7.fhir.r4.core
Add the extension to the patient profile, provide an appropriate extension slice name and make it mandatory.
Note: This does not concern a real-world example (instead of an extension, the ResearchSubject
resource could be used). Creating this extension solely demonstrates how a (complex) extension can be created.
Patient | Patient | There are no (further) constraints on this element Data Type | ||
extension | There are no (further) constraints on this element Element IdPatient.extension Unordered, Open, by url(Value) | |||
birthPlace | 1.. | Extension(Address) | There are no (further) constraints on this element Element IdPatient.extension:birthPlace | |
inclusionStatus | Extension(Complex) | There are no (further) constraints on this element Element IdPatient.extension:inclusionStatus Extension(Complex) Extension URL | ||
name | 1.. | There are no (further) constraints on this element Element IdPatient.name | ||
family | 1.. | There are no (further) constraints on this element Element IdPatient.name.family | ||
given | 1.. | There are no (further) constraints on this element Element IdPatient.name.given | ||
gender | 1.. | There are no (further) constraints on this element Element IdPatient.gender | ||
birthDate | 1.. | There are no (further) constraints on this element Element IdPatient.birthDate | ||
deceased[x] | There are no (further) constraints on this element Element IdPatient.deceased[x] | |||
deceasedBoolean | boolean | There are no (further) constraints on this element Data Type | ||
photo | ..0 | There are no (further) constraints on this element Element IdPatient.photo |
Extension | Extension | There are no (further) constraints on this element Data Type | ||
extension | There are no (further) constraints on this element Element IdExtension.extension Unordered, Open, by url(Value) | |||
clinicalTrialNumber | ..1 | There are no (further) constraints on this element Element IdExtension.extension:clinicalTrialNumber | ||
url | Fixed Value | There are no (further) constraints on this element Element IdExtension.extension:clinicalTrialNumber.url clinicalTrialNumber | ||
value[x] | There are no (further) constraints on this element Element IdExtension.extension:clinicalTrialNumber.value[x] | |||
valueIdentifier | Identifier | There are no (further) constraints on this element Data Type | ||
system | 1.. | There are no (further) constraints on this element Element IdExtension.extension:clinicalTrialNumber.value[x].system | ||
value | 1.. | There are no (further) constraints on this element Element IdExtension.extension:clinicalTrialNumber.value[x].value | ||
periodOfInvolvement | ..1 | There are no (further) constraints on this element Element IdExtension.extension:periodOfInvolvement | ||
url | Fixed Value | There are no (further) constraints on this element Element IdExtension.extension:periodOfInvolvement.url periodOfInvolvement | ||
value[x] | There are no (further) constraints on this element Element IdExtension.extension:periodOfInvolvement.value[x] | |||
valuePeriod | Period | There are no (further) constraints on this element Data Type | ||
inclusionStatus | ..1 | There are no (further) constraints on this element Element IdExtension.extension:inclusionStatus | ||
url | Fixed Value | There are no (further) constraints on this element Element IdExtension.extension:inclusionStatus.url inclusionStatus | ||
value[x] | There are no (further) constraints on this element Element IdExtension.extension:inclusionStatus.value[x] | |||
valueCodeableConcept | CodeableConcept | There are no (further) constraints on this element Data Type | ||
url | Fixed Value | There are no (further) constraints on this element Element IdExtension.url http://ardon.nl/fhir/StructureDefinition/InclusionStatus-step2 | ||
value[x] | ..0 | There are no (further) constraints on this element Element IdExtension.value[x] |
Hospital X wants to capture data on the conditions that the patients have and model this in FHIR. The following requirements are specified:
Differential view of 'Hospital X Condition step 3'
Condition | I | Condition | There are no (further) constraints on this element Element IdCondition Detailed information about conditions, problems or diagnoses DefinitionA clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
| |
identifier | Σ | 0..* | Identifier | There are no (further) constraints on this element Element IdCondition.identifier External Ids for this condition DefinitionBusiness identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server. Allows identification of the condition 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.
|
clinicalStatus | Σ ?! I | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdCondition.clinicalStatus active | recurrence | relapse | inactive | remission | resolved DefinitionThe clinical status of the condition. The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. The clinical status of the condition or diagnosis. ConditionClinicalStatusCodes (required)Constraints
|
verificationStatus | Σ ?! I | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdCondition.verificationStatus unconfirmed | provisional | differential | confirmed | refuted | entered-in-error DefinitionThe verification status to support the clinical status of the condition. verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status. The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. The verification status to support or decline the clinical status of the condition or diagnosis. ConditionVerificationStatus (required)Constraints
|
category | 0..* | CodeableConceptBinding | There are no (further) constraints on this element Element IdCondition.category problem-list-item | encounter-diagnosis DefinitionA category assigned to the condition. The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. A category assigned to the condition. ConditionCategoryCodes (extensible)Constraints
| |
severity | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdCondition.severity Subjective severity of condition DefinitionA subjective assessment of the severity of the condition as evaluated by the clinician. Coding of the severity with a terminology is preferred, where possible. A subjective assessment of the severity of the condition as evaluated by the clinician. Condition/DiagnosisSeverity (preferred)Constraints
| |
code | Σ | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdCondition.code Identification of the condition, problem or diagnosis Alternate namestype DefinitionIdentification of the condition, problem or diagnosis. 0..1 to account for primarily narrative only resources. 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. Identification of the condition or diagnosis. Condition/Problem/DiagnosisCodes (example)Constraints
|
bodySite | Σ | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdCondition.bodySite Anatomical location, if relevant DefinitionThe anatomical location where this condition manifests itself. Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension bodySite. May be a summary code, or a reference to a very precise definition of the location, or both. Codes describing anatomical locations. May include laterality. SNOMEDCTBodyStructures (example)Constraints
|
subject | Σ I | 1..1 | Reference(Hospital X Patient) | Element IdCondition.subject Who has the condition? Alternate namespatient DefinitionIndicates the patient or group who the condition record is associated with. Group is typically used for veterinary or public health use cases. 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.
|
encounter | Σ I | 0..1 | Reference(Encounter) | There are no (further) constraints on this element Element IdCondition.encounter Encounter created as part of DefinitionThe Encounter during which this Condition was created or to which the creation of this record is tightly associated. This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known".
|
onset[x] | Σ | 0..1 | There are no (further) constraints on this element Element IdCondition.onset[x] Estimated or actual date, date-time, or age DefinitionEstimated or actual date or date-time the condition began, in the opinion of the clinician. Age is generally used when the patient reports an age at which the Condition began to occur.
| |
onsetDateTime | dateTime | There are no (further) constraints on this element Data Type | ||
onsetAge | Age | There are no (further) constraints on this element Data Type | ||
onsetPeriod | Period | There are no (further) constraints on this element Data Type | ||
onsetRange | Range | There are no (further) constraints on this element Data Type | ||
onsetString | string | There are no (further) constraints on this element Data Type | ||
abatement[x] | I | 0..1 | There are no (further) constraints on this element Element IdCondition.abatement[x] When in resolution/remission DefinitionThe date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated.
| |
abatementDateTime | dateTime | There are no (further) constraints on this element Data Type | ||
abatementAge | Age | There are no (further) constraints on this element Data Type | ||
abatementPeriod | Period | There are no (further) constraints on this element Data Type | ||
abatementRange | Range | There are no (further) constraints on this element Data Type | ||
abatementString | string | There are no (further) constraints on this element Data Type | ||
recordedDate | Σ | 0..1 | dateTime | There are no (further) constraints on this element Element IdCondition.recordedDate Date record was first recorded DefinitionThe recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.
|
recorder | Σ I | 1..1 | Reference(Hospital X Practitioner) | Element IdCondition.recorder Who recorded the condition DefinitionIndividual who recorded the record and takes responsibility for its content. 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(Hospital X Practitioner) Constraints
|
asserter | Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | There are no (further) constraints on this element Element IdCondition.asserter Person who asserts this condition DefinitionIndividual who is making the condition statement. 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(Practitioner | PractitionerRole | Patient | RelatedPerson) Constraints
|
stage | I | 0..* | BackboneElement | There are no (further) constraints on this element Element IdCondition.stage Stage/grade, usually assessed formally DefinitionClinical stage or grade of a condition. May include formal severity assessments.
|
summary | I | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdCondition.stage.summary Simple summary (disease specific) DefinitionA simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. 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 condition stages (e.g. Cancer stages). ConditionStage (example)Constraints
|
assessment | I | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) | There are no (further) constraints on this element Element IdCondition.stage.assessment Formal record of assessment DefinitionReference to a formal record of the evidence on which the staging assessment is based. 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(ClinicalImpression | DiagnosticReport | Observation) Constraints
|
type | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdCondition.stage.type Kind of staging DefinitionThe kind of staging, such as pathological or clinical staging. 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 kind of condition staging (e.g. clinical or pathological). ConditionStageType (example)Constraints
| |
evidence | I | 0..* | BackboneElement | There are no (further) constraints on this element Element IdCondition.evidence Supporting evidence DefinitionSupporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition. The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both.
|
code | Σ I | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdCondition.evidence.code Manifestation/symptom DefinitionA manifestation or symptom that led to the recording of this condition. 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 that describe the manifestation or symptoms of a condition. ManifestationAndSymptomCodes (example)Constraints
|
detail | Σ I | 0..* | Reference(Resource) | There are no (further) constraints on this element Element IdCondition.evidence.detail Supporting information found elsewhere DefinitionLinks to other relevant information, including pathology reports. 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.
|
note | 0..* | Annotation | There are no (further) constraints on this element Element IdCondition.note Additional information about the Condition DefinitionAdditional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. 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).
|
Differential view of 'Hospital X Practitioner step 3'
Practitioner | I | Practitioner | There are no (further) constraints on this element Element IdPractitioner A person with a formal responsibility in the provisioning of healthcare or related services DefinitionA person who is directly or indirectly involved in the provisioning of healthcare.
| |
identifier | Σ | 1..* | Identifier | There are no (further) constraints on this element Element IdPractitioner.identifier An identifier for the person as this agent DefinitionAn identifier that applies to this person in this role. Often, specific identities are assigned for the agent.
|
active | Σ | 0..1 | boolean | There are no (further) constraints on this element Element IdPractitioner.active Whether this practitioner's record is in active use DefinitionWhether this practitioner's record is in active use. Need to be able to mark a practitioner record as not to be used because it was created in error. If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.
|
name | Σ | 1..* | HumanName | There are no (further) constraints on this element Element IdPractitioner.name The name(s) associated with the practitioner DefinitionThe name(s) associated with the practitioner. The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display. The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. In general, select the value to be used in the ResourceReference.display based on this:
|
use | Σ ?! | 0..1 | codeBinding | There are no (further) constraints on this element Element IdPractitioner.name.use usual | official | temp | nickname | anonymous | old | maiden DefinitionIdentifies the purpose for this name. Allows the appropriate name for a particular context of use to be selected from among a set of names. Applications can assume that a name is current unless it explicitly says that it is temporary or old. The use of a human name. NameUse (required)Constraints
|
text | Σ | 0..1 | string | There are no (further) constraints on this element Element IdPractitioner.name.text Text representation of the full name DefinitionSpecifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts. A renderable, unencoded form. Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.
|
family | Σ | 1..1 | string | There are no (further) constraints on this element Element IdPractitioner.name.family Family name (often called 'Surname') Alternate namessurname DefinitionThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father. Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).
|
given | Σ | 1..* | string | There are no (further) constraints on this element Element IdPractitioner.name.given Given names (not always 'first'). Includes middle names Alternate namesfirst name, middle name DefinitionGiven name. If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first.
|
prefix | Σ | 0..* | string | There are no (further) constraints on this element Element IdPractitioner.name.prefix Parts that come before the name DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name. Note that FHIR strings SHALL NOT exceed 1MB in size
|
suffix | Σ | 0..* | string | There are no (further) constraints on this element Element IdPractitioner.name.suffix Parts that come after the name DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name. Note that FHIR strings SHALL NOT exceed 1MB in size
|
period | Σ I | 0..1 | Period | There are no (further) constraints on this element Element IdPractitioner.name.period Time period when name was/is in use DefinitionIndicates the period of time when this name was valid for the named person. Allows names to be placed in historical context. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration.
|
telecom | Σ I | 0..* | ContactPoint | There are no (further) constraints on this element Element IdPractitioner.telecom A contact detail for the practitioner (that apply to all roles) DefinitionA contact detail for the practitioner, e.g. a telephone number or an email address. Need to know how to reach a practitioner independent to any roles the practitioner may have. Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific.
|
address | Σ | 0..* | Address | There are no (further) constraints on this element Element IdPractitioner.address Address(es) of the practitioner that are not role specific (typically home address) DefinitionAddress(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent. The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations. The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).
|
gender | Σ | 0..1 | codeBinding | There are no (further) constraints on this element Element IdPractitioner.gender male | female | other | unknown DefinitionAdministrative Gender - the gender that the person is considered to have for administration and record keeping purposes. Needed to address the person correctly. Note that FHIR strings SHALL NOT exceed 1MB in size The gender of a person used for administrative purposes. AdministrativeGender (required)Constraints
|
birthDate | Σ | 0..1 | date | There are no (further) constraints on this element Element IdPractitioner.birthDate The date on which the practitioner was born DefinitionThe date of birth for the practitioner. Needed for identification.
|
photo | I | 0..* | Attachment | There are no (further) constraints on this element Element IdPractitioner.photo Image of the person DefinitionImage of the person. Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too. When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent".
|
qualification | 0..* | BackboneElement | There are no (further) constraints on this element Element IdPractitioner.qualification Certification, licenses, or training pertaining to the provision of care DefinitionThe official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.
| |
identifier | 0..* | Identifier | There are no (further) constraints on this element Element IdPractitioner.qualification.identifier An identifier for this qualification for the practitioner DefinitionAn identifier that applies to this person's qualification in this role. Often, specific identities are assigned for the qualification.
| |
code | 1..1 | CodeableConcept | There are no (further) constraints on this element Element IdPractitioner.qualification.code Coded representation of the qualification DefinitionCoded representation of the qualification. 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. Specific qualification the practitioner has to provide a service. v2.0360.2.7 (example)Constraints
| |
period | I | 0..1 | Period | There are no (further) constraints on this element Element IdPractitioner.qualification.period Period during which the qualification is valid DefinitionPeriod during which the qualification is valid. Qualifications are often for a limited period of time, and can be revoked. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration.
|
issuer | I | 0..1 | Reference(Organization) | There are no (further) constraints on this element Element IdPractitioner.qualification.issuer Organization that regulates and issues the qualification DefinitionOrganization that regulates and issues the qualification. 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.
|
communication | 0..* | CodeableConceptBinding | There are no (further) constraints on this element Element IdPractitioner.communication A language the practitioner can use in patient communication DefinitionA language the practitioner can use in patient communication. Knowing which language a practitioner speaks can help in facilitating communication with patients. The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. A human language. CommonLanguages (preferred)Constraints
|
Hospital X can only handle certain terminology and wants to capture specific data on the conditions that the patients have. The following requirements are specified:
Differential view of 'Hospital X Condition step 4'
Condition | I | Condition | There are no (further) constraints on this element Element IdCondition Detailed information about conditions, problems or diagnoses DefinitionA clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
| |
identifier | Σ | 0..* | Identifier | There are no (further) constraints on this element Element IdCondition.identifier External Ids for this condition DefinitionBusiness identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server. Allows identification of the condition 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.
|
clinicalStatus | Σ ?! I | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdCondition.clinicalStatus active | recurrence | relapse | inactive | remission | resolved DefinitionThe clinical status of the condition. The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. The clinical status of the condition or diagnosis. ConditionClinicalStatusCodes (required)Constraints
|
verificationStatus | Σ ?! I | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdCondition.verificationStatus unconfirmed | provisional | differential | confirmed | refuted | entered-in-error DefinitionThe verification status to support the clinical status of the condition. verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status. The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. The verification status to support or decline the clinical status of the condition or diagnosis. ConditionVerificationStatus (required)Constraints
|
category | 0..* | CodeableConceptBinding | There are no (further) constraints on this element Element IdCondition.category problem-list-item | encounter-diagnosis DefinitionA category assigned to the condition. The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. A category assigned to the condition. ConditionCategoryCodes (extensible)Constraints
| |
severity | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdCondition.severity Subjective severity of condition DefinitionA subjective assessment of the severity of the condition as evaluated by the clinician. Coding of the severity with a terminology is preferred, where possible. A subjective assessment of the severity of the condition as evaluated by the clinician. Condition/DiagnosisSeverity (preferred)Constraints
| |
code | Σ | 1..1 | CodeableConceptBinding | Element IdCondition.code Identification of the condition, problem or diagnosis Alternate namestype DefinitionIdentification of the condition, problem or diagnosis. 0..1 to account for primarily narrative only resources. 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. Identification of the condition or diagnosis. SNOMEDCTClinicalFindings (required)Constraints
|
bodySite | Σ | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdCondition.bodySite Anatomical location, if relevant DefinitionThe anatomical location where this condition manifests itself. Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension bodySite. May be a summary code, or a reference to a very precise definition of the location, or both. Codes describing anatomical locations. May include laterality. SNOMEDCTBodyStructures (example)Constraints
|
subject | Σ I | 1..1 | Reference(Hospital X Patient) | Element IdCondition.subject Who has the condition? Alternate namespatient DefinitionIndicates the patient or group who the condition record is associated with. Group is typically used for veterinary or public health use cases. 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.
|
encounter | Σ I | 0..1 | Reference(Encounter) | There are no (further) constraints on this element Element IdCondition.encounter Encounter created as part of DefinitionThe Encounter during which this Condition was created or to which the creation of this record is tightly associated. This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known".
|
onset[x] | Σ | 0..1 | There are no (further) constraints on this element Element IdCondition.onset[x] Estimated or actual date, date-time, or age DefinitionEstimated or actual date or date-time the condition began, in the opinion of the clinician. Age is generally used when the patient reports an age at which the Condition began to occur.
| |
onsetDateTime | dateTime | There are no (further) constraints on this element Data Type | ||
onsetAge | Age | There are no (further) constraints on this element Data Type | ||
onsetPeriod | Period | There are no (further) constraints on this element Data Type | ||
onsetRange | Range | There are no (further) constraints on this element Data Type | ||
onsetString | string | There are no (further) constraints on this element Data Type | ||
abatement[x] | I | 0..1 | There are no (further) constraints on this element Element IdCondition.abatement[x] When in resolution/remission DefinitionThe date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated.
| |
abatementDateTime | dateTime | There are no (further) constraints on this element Data Type | ||
abatementAge | Age | There are no (further) constraints on this element Data Type | ||
abatementPeriod | Period | There are no (further) constraints on this element Data Type | ||
abatementRange | Range | There are no (further) constraints on this element Data Type | ||
abatementString | string | There are no (further) constraints on this element Data Type | ||
recordedDate | Σ | 0..1 | dateTime | There are no (further) constraints on this element Element IdCondition.recordedDate Date record was first recorded DefinitionThe recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.
|
recorder | Σ I | 1..1 | Reference(Hospital X Practitioner) | Element IdCondition.recorder Who recorded the condition DefinitionIndividual who recorded the record and takes responsibility for its content. 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(Hospital X Practitioner) Constraints
|
asserter | Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | There are no (further) constraints on this element Element IdCondition.asserter Person who asserts this condition DefinitionIndividual who is making the condition statement. 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(Practitioner | PractitionerRole | Patient | RelatedPerson) Constraints
|
stage | I | 0..* | BackboneElement | There are no (further) constraints on this element Element IdCondition.stage Stage/grade, usually assessed formally DefinitionClinical stage or grade of a condition. May include formal severity assessments.
|
summary | I | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdCondition.stage.summary Simple summary (disease specific) DefinitionA simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. 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 condition stages (e.g. Cancer stages). ConditionStage (example)Constraints
|
assessment | I | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) | There are no (further) constraints on this element Element IdCondition.stage.assessment Formal record of assessment DefinitionReference to a formal record of the evidence on which the staging assessment is based. 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(ClinicalImpression | DiagnosticReport | Observation) Constraints
|
type | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdCondition.stage.type Kind of staging DefinitionThe kind of staging, such as pathological or clinical staging. 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 kind of condition staging (e.g. clinical or pathological). ConditionStageType (example)Constraints
| |
evidence | I | 0..* | BackboneElement | There are no (further) constraints on this element Element IdCondition.evidence Supporting evidence DefinitionSupporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition. The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both.
|
code | Σ I | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdCondition.evidence.code Manifestation/symptom DefinitionA manifestation or symptom that led to the recording of this condition. 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 that describe the manifestation or symptoms of a condition. ManifestationAndSymptomCodes (example)Constraints
|
detail | Σ I | 0..* | Reference(Resource) | There are no (further) constraints on this element Element IdCondition.evidence.detail Supporting information found elsewhere DefinitionLinks to other relevant information, including pathology reports. 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.
|
note | 0..* | Annotation | There are no (further) constraints on this element Element IdCondition.note Additional information about the Condition DefinitionAdditional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. 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).
|
Hospital X operates in the United States of America. Their API must be compatible with the US-Core profiles. On top of the US-Core profile for Immunization, it has additional requirements.
We will create a derived profile of the applicable profile as defined in the US Core implementation guide to ensure compatibility. Creating a derived profile can either by downloading and saving the base profile or by installing the US Core FHIR package. Let's install US Core.
US
or hl7.fhir.us.core
and install the '4.1.0' version by selecting it and clicking on 'Add'.Differential view of 'Hospital X Immunization step 5'
Immunization | I | Immunization | There are no (further) constraints on this element Element IdImmunization Immunization event information DefinitionThe US Core Immunization Profile is based upon the core FHIR Immunization Resource and created to meet the 2015 Edition Common Clinical Data Set 'Immunizations' requirements.
| |
identifier | 0..* | Identifier | There are no (further) constraints on this element Element IdImmunization.identifier Business identifier DefinitionA unique identifier assigned to this immunization record.
| |
status | S Σ ?! | 1..1 | codeBinding | There are no (further) constraints on this element Element IdImmunization.status completed | entered-in-error | not-done DefinitionIndicates the current status of the immunization event. Will generally be set to show that the immunization has been completed or not done. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. A set of codes indicating the current status of an Immunization. ImmunizationStatusCodes (required)Constraints
|
statusReason | S | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.statusReason Reason not done DefinitionIndicates the reason the immunization event was not performed. This is generally only used for the status of "not-done". The reason for performing the immunization event is captured in reasonCode, not here. The reason why a vaccine was not administered. ImmunizationStatusReasonCodes (example)Constraints
|
vaccineCode | S Σ I | 1..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdImmunization.vaccineCode Vaccine Product Type (bind to CVX) DefinitionVaccine that was administered or was to be administered. 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 code for vaccine product administered. http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.6 (extensible)Constraints
|
patient | S Σ I | 1..1 | Reference(US Core Patient Profile) | There are no (further) constraints on this element Element IdImmunization.patient Who was immunized Alternate namesPatient DefinitionThe patient who either received or did not receive the immunization. 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(US Core Patient Profile) Constraints
|
encounter | I | 0..1 | Reference(Encounter) | There are no (further) constraints on this element Element IdImmunization.encounter Encounter immunization was part of DefinitionThe visit or admission or other contact between patient and health care provider the immunization was performed as part of. 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.
|
occurrence[x] | S Σ | 1..1 | There are no (further) constraints on this element Element IdImmunization.occurrence[x] Vaccine administration date DefinitionDate vaccine administered or was to be administered. When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose.
| |
occurrenceDateTime | dateTime | There are no (further) constraints on this element Data Type | ||
occurrenceString | string | There are no (further) constraints on this element Data Type | ||
recorded | 0..1 | dateTime | There are no (further) constraints on this element Element IdImmunization.recorded When the immunization was first captured in the subject's record DefinitionThe date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the event.
| |
primarySource | S Σ | 1..1 | boolean | There are no (further) constraints on this element Element IdImmunization.primarySource Indicates context the data was recorded in DefinitionAn indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded. Reflects the “reliability” of the content.
|
reportOrigin | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.reportOrigin Indicates the source of a secondarily reported record DefinitionThe source of the data when the report of the immunization event is not based on information from the person who administered the vaccine. Should not be populated if primarySource = True, not required even if primarySource = False. The source of the data for a record which is not from a primary source. ImmunizationOriginCodes (example)Constraints
| |
location | I | 0..1 | Reference(Location) | There are no (further) constraints on this element Element IdImmunization.location Where immunization occurred DefinitionThe service delivery location where the vaccine administration occurred. 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.
|
manufacturer | I | 0..1 | Reference(Organization) | There are no (further) constraints on this element Element IdImmunization.manufacturer Vaccine manufacturer DefinitionName of vaccine manufacturer. 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.
|
lotNumber | 0..1 | string | There are no (further) constraints on this element Element IdImmunization.lotNumber Vaccine lot number DefinitionLot number of the vaccine product. Note that FHIR strings SHALL NOT exceed 1MB in size
| |
expirationDate | 0..1 | date | There are no (further) constraints on this element Element IdImmunization.expirationDate Vaccine expiration date DefinitionDate vaccine batch expires.
| |
site | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.site Body site vaccine was administered DefinitionBody site where vaccine was administered. 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 site at which the vaccine was administered. CodesForImmunizationSiteOfAdministration (example)Constraints
| |
route | 1..1 | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.route How vaccine entered body DefinitionThe path by which the vaccine product is taken into the body. 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 route by which the vaccine was administered. ImmunizationRouteCodes (example)Constraints
| |
doseQuantity | I | 1..1 | SimpleQuantity | There are no (further) constraints on this element Element IdImmunization.doseQuantity Amount of vaccine administered DefinitionThe quantity of vaccine product that was administered. The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.
|
performer | Σ | 0..* | BackboneElement | There are no (further) constraints on this element Element IdImmunization.performer Who performed event DefinitionIndicates who performed the immunization event.
|
function | Σ | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdImmunization.performer.function What type of performance was done DefinitionDescribes the type of performance (e.g. ordering provider, administering provider, etc.). 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 role a practitioner or organization plays in the immunization event. ImmunizationFunctionCodes (extensible)Constraints
|
actor | Σ I | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | There are no (further) constraints on this element Element IdImmunization.performer.actor Individual or organization who was performing DefinitionThe practitioner or organization who performed the action. When the individual practitioner who performed the action is known, it is best to send. Reference(Practitioner | PractitionerRole | Organization) Constraints
|
note | Σ | 0..* | Annotation | There are no (further) constraints on this element Element IdImmunization.note Additional immunization notes DefinitionExtra information about the immunization that is not conveyed by the other attributes. 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).
|
reasonCode | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.reasonCode Why immunization occurred DefinitionReasons why the vaccine was administered. 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 reason why a vaccine was administered. ImmunizationReasonCodes (example)Constraints
| |
reasonReference | I | 0..* | Reference(Condition | Observation | DiagnosticReport) | There are no (further) constraints on this element Element IdImmunization.reasonReference Why immunization occurred DefinitionCondition, Observation or DiagnosticReport that supports why the immunization was administered. 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 | DiagnosticReport) Constraints
|
isSubpotent | Σ ?! | 0..1 | boolean | There are no (further) constraints on this element Element IdImmunization.isSubpotent Dose potency DefinitionIndication if a dose is considered to be subpotent. By default, a dose should be considered to be potent. Typically, the recognition of the dose being sub-potent is retrospective, after the administration (ex. notification of a manufacturer recall after administration). However, in the case of a partial administration (the patient moves unexpectedly and only some of the dose is actually administered), subpotency may be recognized immediately, but it is still important to record the event.
|
subpotentReason | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.subpotentReason Reason for being subpotent DefinitionReason why a dose is considered to be subpotent. 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 reason why a dose is considered to be subpotent. ImmunizationSubpotentReason (example)Constraints
| |
education | I | 0..* | BackboneElement | There are no (further) constraints on this element Element IdImmunization.education Educational material presented to patient DefinitionEducational material presented to the patient (or guardian) at the time of vaccine administration.
|
documentType | 0..1 | string | There are no (further) constraints on this element Element IdImmunization.education.documentType Educational material document identifier DefinitionIdentifier of the material presented to the patient. Note that FHIR strings SHALL NOT exceed 1MB in size
| |
reference | 0..1 | uri | There are no (further) constraints on this element Element IdImmunization.education.reference Educational material reference pointer DefinitionReference pointer to the educational material given to the patient if the information was on line. see http://en.wikipedia.org/wiki/Uniform_resource_identifier
| |
publicationDate | 0..1 | dateTime | There are no (further) constraints on this element Element IdImmunization.education.publicationDate Educational material publication date DefinitionDate the educational material was published.
| |
presentationDate | 0..1 | dateTime | There are no (further) constraints on this element Element IdImmunization.education.presentationDate Educational material presentation date DefinitionDate the educational material was given to the patient.
| |
programEligibility | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.programEligibility Patient eligibility for a vaccination program DefinitionIndicates a patient's eligibility for a funding program. 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 patient's eligibility for a vaccation program. ImmunizationProgramEligibility (example)Constraints
| |
fundingSource | 0..1 | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.fundingSource Funding source for the vaccine DefinitionIndicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered). 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 source of funding used to purchase the vaccine administered. ImmunizationFundingSource (example)Constraints
| |
reaction | 0..* | BackboneElement | There are no (further) constraints on this element Element IdImmunization.reaction Details of a reaction that follows immunization DefinitionCategorical data indicating that an adverse event is associated in time to an immunization. A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new AllergyIntolerance resource instance as most systems will not query against past Immunization.reaction elements.
| |
date | 0..1 | dateTime | There are no (further) constraints on this element Element IdImmunization.reaction.date When reaction started DefinitionDate of reaction to the immunization.
| |
detail | I | 0..1 | Reference(Observation) | There are no (further) constraints on this element Element IdImmunization.reaction.detail Additional information on reaction DefinitionDetails of the reaction. 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.
|
reported | 0..1 | boolean | There are no (further) constraints on this element Element IdImmunization.reaction.reported Indicates self-reported reaction DefinitionSelf-reported indicator.
| |
protocolApplied | 0..* | BackboneElement | There are no (further) constraints on this element Element IdImmunization.protocolApplied Protocol followed by the provider DefinitionThe protocol (set of recommendations) being followed by the provider who administered the dose.
| |
series | 0..1 | string | There are no (further) constraints on this element Element IdImmunization.protocolApplied.series Name of vaccine series DefinitionOne possible path to achieve presumed immunity against a disease - within the context of an authority. Note that FHIR strings SHALL NOT exceed 1MB in size
| |
authority | I | 0..1 | Reference(Organization) | There are no (further) constraints on this element Element IdImmunization.protocolApplied.authority Who is responsible for publishing the recommendations DefinitionIndicates the authority who published the protocol (e.g. ACIP) that is being followed. 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.
|
targetDisease | 0..* | CodeableConcept | There are no (further) constraints on this element Element IdImmunization.protocolApplied.targetDisease Vaccine preventatable disease being targetted DefinitionThe vaccine preventable disease the dose is being administered against. 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 vaccine preventable disease the dose is being administered for. ImmunizationTargetDiseaseCodes (example)Constraints
| |
doseNumber[x] | 1..1 | There are no (further) constraints on this element Element IdImmunization.protocolApplied.doseNumber[x] Dose number within series DefinitionNominal position in a series. The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose).
| ||
doseNumberPositiveInt | positiveInt | There are no (further) constraints on this element Data Type | ||
doseNumberString | string | There are no (further) constraints on this element Data Type | ||
seriesDoses[x] | 0..1 | There are no (further) constraints on this element Element IdImmunization.protocolApplied.seriesDoses[x] Recommended number of doses for immunity DefinitionThe recommended number of doses to achieve immunity. The use of an integer is preferred if known. A string should only be used in cases where an integer is not available (such as when documenting a recurring booster dose).
| ||
seriesDosesPositiveInt | positiveInt | There are no (further) constraints on this element Data Type | ||
seriesDosesString | string | There are no (further) constraints on this element Data Type |
Hospital X has additional for the general practitioner data:
identifier
element and add two slices.identifier.use
.Differential view of 'Hospital X Practitioner step 6'
Practitioner | I | Practitioner | There are no (further) constraints on this element Element IdPractitioner A person with a formal responsibility in the provisioning of healthcare or related services DefinitionA person who is directly or indirectly involved in the provisioning of healthcare.
| |
identifier | Σ | 1..* | Identifier | Element IdPractitioner.identifier An identifier for the person as this agent DefinitionAn identifier that applies to this person in this role. Often, specific identities are assigned for the agent. Unordered, Open, by use(Value) Constraints
|
NPI | Σ | 1..1 | Identifier | There are no (further) constraints on this element Element IdPractitioner.identifier:NPI An identifier for the person as this agent DefinitionAn identifier that applies to this person in this role. Often, specific identities are assigned for the agent.
|
use | Σ ?! | 1..1 | codeBindingFixed Value | Element IdPractitioner.identifier:NPI.use usual | official | temp | secondary | old (If known) DefinitionThe purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . IdentifierUse (required)Constraints
official
|
type | Σ | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdPractitioner.identifier:NPI.type Description of identifier DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. Identifier Type Codes (extensible)Constraints
|
system | Σ | 1..1 | uriFixed Value | Element IdPractitioner.identifier:NPI.system The namespace for the identifier value DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique. There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers. Identifier.system is always case sensitive.
http://hl7.org/fhir/sid/us-npi
|
value | Σ | 1..1 | string | There are no (further) constraints on this element Element IdPractitioner.identifier:NPI.value The value that is unique DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system. If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
General 123456 Mappings
|
period | Σ I | 0..1 | Period | There are no (further) constraints on this element Element IdPractitioner.identifier:NPI.period Time period when id is/was valid for use DefinitionTime period during which identifier is/was valid for use. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration.
|
assigner | Σ I | 0..1 | Reference(Organization) | There are no (further) constraints on this element Element IdPractitioner.identifier:NPI.assigner Organization that issued id (may be just text) DefinitionOrganization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
|
oldNPI | Σ | 0..* | Identifier | There are no (further) constraints on this element Element IdPractitioner.identifier:oldNPI An identifier for the person as this agent DefinitionAn identifier that applies to this person in this role. Often, specific identities are assigned for the agent.
|
use | Σ ?! | 1..1 | codeBindingFixed Value | Element IdPractitioner.identifier:oldNPI.use usual | official | temp | secondary | old (If known) DefinitionThe purpose of this identifier. Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. Identifies the purpose for this identifier, if known . IdentifierUse (required)Constraints
old
|
type | Σ | 0..1 | CodeableConceptBinding | There are no (further) constraints on this element Element IdPractitioner.identifier:oldNPI.type Description of identifier DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose. Allows users to make use of identifiers when the identifier system is not known. This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. Identifier Type Codes (extensible)Constraints
|
system | Σ | 1..1 | uriFixed Value | Element IdPractitioner.identifier:oldNPI.system The namespace for the identifier value DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique. There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers. Identifier.system is always case sensitive.
http://hl7.org/fhir/sid/us-npi
|
value | Σ | 1..1 | string | There are no (further) constraints on this element Element IdPractitioner.identifier:oldNPI.value The value that is unique DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system. If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
General 123456 Mappings
|
period | Σ I | 0..1 | Period | There are no (further) constraints on this element Element IdPractitioner.identifier:oldNPI.period Time period when id is/was valid for use DefinitionTime period during which identifier is/was valid for use. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration.
|
assigner | Σ I | 0..1 | Reference(Organization) | There are no (further) constraints on this element Element IdPractitioner.identifier:oldNPI.assigner Organization that issued id (may be just text) DefinitionOrganization that issued/manages the identifier. The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
|
active | Σ | 0..1 | boolean | There are no (further) constraints on this element Element IdPractitioner.active Whether this practitioner's record is in active use DefinitionWhether this practitioner's record is in active use. Need to be able to mark a practitioner record as not to be used because it was created in error. If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.
|
name | Σ | 1..* | HumanName | There are no (further) constraints on this element Element IdPractitioner.name The name(s) associated with the practitioner DefinitionThe name(s) associated with the practitioner. The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display. The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. In general, select the value to be used in the ResourceReference.display based on this:
|
use | Σ ?! | 0..1 | codeBinding | There are no (further) constraints on this element Element IdPractitioner.name.use usual | official | temp | nickname | anonymous | old | maiden DefinitionIdentifies the purpose for this name. Allows the appropriate name for a particular context of use to be selected from among a set of names. Applications can assume that a name is current unless it explicitly says that it is temporary or old. The use of a human name. NameUse (required)Constraints
|
text | Σ | 0..1 | string | There are no (further) constraints on this element Element IdPractitioner.name.text Text representation of the full name DefinitionSpecifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts. A renderable, unencoded form. Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.
|
family | Σ | 1..1 | string | There are no (further) constraints on this element Element IdPractitioner.name.family Family name (often called 'Surname') Alternate namessurname DefinitionThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father. Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).
|
given | Σ | 1..* | string | There are no (further) constraints on this element Element IdPractitioner.name.given Given names (not always 'first'). Includes middle names Alternate namesfirst name, middle name DefinitionGiven name. If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first.
|
prefix | Σ | 0..* | string | There are no (further) constraints on this element Element IdPractitioner.name.prefix Parts that come before the name DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name. Note that FHIR strings SHALL NOT exceed 1MB in size
|
suffix | Σ | 0..* | string | There are no (further) constraints on this element Element IdPractitioner.name.suffix Parts that come after the name DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name. Note that FHIR strings SHALL NOT exceed 1MB in size
|
period | Σ I | 0..1 | Period | There are no (further) constraints on this element Element IdPractitioner.name.period Time period when name was/is in use DefinitionIndicates the period of time when this name was valid for the named person. Allows names to be placed in historical context. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration.
|
telecom | Σ I | 0..* | ContactPoint | There are no (further) constraints on this element Element IdPractitioner.telecom A contact detail for the practitioner (that apply to all roles) DefinitionA contact detail for the practitioner, e.g. a telephone number or an email address. Need to know how to reach a practitioner independent to any roles the practitioner may have. Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific.
|
address | Σ | 0..* | Address | There are no (further) constraints on this element Element IdPractitioner.address Address(es) of the practitioner that are not role specific (typically home address) DefinitionAddress(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent. The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations. The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).
|
gender | Σ | 0..1 | codeBinding | There are no (further) constraints on this element Element IdPractitioner.gender male | female | other | unknown DefinitionAdministrative Gender - the gender that the person is considered to have for administration and record keeping purposes. Needed to address the person correctly. Note that FHIR strings SHALL NOT exceed 1MB in size The gender of a person used for administrative purposes. AdministrativeGender (required)Constraints
|
birthDate | Σ | 0..1 | date | There are no (further) constraints on this element Element IdPractitioner.birthDate The date on which the practitioner was born DefinitionThe date of birth for the practitioner. Needed for identification.
|
photo | I | 0..* | Attachment | There are no (further) constraints on this element Element IdPractitioner.photo Image of the person DefinitionImage of the person. Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too. When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent".
|
qualification | 0..* | BackboneElement | There are no (further) constraints on this element Element IdPractitioner.qualification Certification, licenses, or training pertaining to the provision of care DefinitionThe official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.
| |
identifier | 0..* | Identifier | There are no (further) constraints on this element Element IdPractitioner.qualification.identifier An identifier for this qualification for the practitioner DefinitionAn identifier that applies to this person's qualification in this role. Often, specific identities are assigned for the qualification.
| |
code | 1..1 | CodeableConcept | There are no (further) constraints on this element Element IdPractitioner.qualification.code Coded representation of the qualification DefinitionCoded representation of the qualification. 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. Specific qualification the practitioner has to provide a service. v2.0360.2.7 (example)Constraints
| |
period | I | 0..1 | Period | There are no (further) constraints on this element Element IdPractitioner.qualification.period Period during which the qualification is valid DefinitionPeriod during which the qualification is valid. Qualifications are often for a limited period of time, and can be revoked. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration.
|
issuer | I | 0..1 | Reference(Organization) | There are no (further) constraints on this element Element IdPractitioner.qualification.issuer Organization that regulates and issues the qualification DefinitionOrganization that regulates and issues the qualification. 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.
|
communication | 0..* | CodeableConceptBinding | There are no (further) constraints on this element Element IdPractitioner.communication A language the practitioner can use in patient communication DefinitionA language the practitioner can use in patient communication. Knowing which language a practitioner speaks can help in facilitating communication with patients. The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. A human language. CommonLanguages (preferred)Constraints
|
Let's upload all the profiles to Simplifier.net and check if everything works as expected.
Create a Simplifier project (based on R4) if you haven't created one already: create one here
In Forge, click on your profile folder and hit the link button, and select your Simplifier project. Then, use the synchronize button to upload all your profiles.
Alternatively, you could zip your profile folder and upload the zib through the user interface on Simplifier.
If all went well, you should see the profiles in your project. You can check your profile constraints in the rendering as shown in the Overview tab of your profile. Selecting diff mode helps to pin down the made changes.
The developers of the general practitioners that will send patient data to Hospital X are starting to implement the use case based on your profiles. They are missing examples of resources that conform to the FHIR profiles of Hospital X.
It is good practice to create an instance of your profile while creating that profile. It will improve your modeling, provide documentation for the implementers and allow you to validate and test your profile. Therefore, the bonus exercise is to create instances that conform to the built profiles. Ensure that the instance has a .meta.profile
element that includes the canonical URL of your profile.
Example of a 'Hospital X Patient': Belle Ulijn
{ "resourceType": "Patient", "id": "HospitalXPatient-01", "meta": { "profile": [ "http://ardon.nl/fhir/StructureDefinition/HospitalXPatient" ] }, "identifier": [ { "system": "https://www.acme.org/fhir/NamingSystem/ssin", "value": "41072100284" } ], "name": [ { "use": "official", "text": "Belle Ulijn", "family": "Ulijn", "given": [ "Belle" ] } ], "telecom": [ { "system": "phone", "value": "+3247458497" }, { "system": "email", "value": "belleulijn@mail.be", "use": "home" } ], "gender": "female", "birthDate": "1941-07-21", "deceasedBoolean": false, "address": [ { "use": "home", "type": "both", "line": [ "Rue de Boneffe 422" ], "city": "Opont", "postalCode": "6852", "country": "Belgium" } ], "multipleBirthBoolean": false, "generalPractitioner": [ { "reference": "Practitioner/HospitalXPractitioner-01", "display": "E. Penninx" } ] }
Example of a 'Hospital X Practitioner': Enrico Penninx
{ "resourceType": "Practitioner", "id": "HospitalXPractitioner-01", "meta": { "profile": [ "http://ardon.nl/fhir/StructureDefinition/HospitalXPractitioner" ] }, "identifier": [ { "use": "official", "system": "http://hl7.org/fhir/sid/us-npi", "value": "10079938" } ], "name": [ { "use": "official", "text": "Enrico Penninx", "family": "Penninx", "_family": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", "valueString": "Penninx" } ] }, "given": [ "Enrico" ], "_given": [ { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", "valueCode": "BR" } ] } ] } ] }
Example of a 'Hospital X Condition': Chronic pharyngitis
{ "resourceType": "Condition", "id": "HospitalXCondition-01", "meta": { "profile": [ "http://ardon.nl/fhir/StructureDefinition/HospitalXCondition" ] }, "code": { "coding": [ { "system": "http://snomed.info/sct", "code": "140004", "display": "Chronic pharyngitis" } ] }, "subject": { "reference": "Patient/HospitalXPatient-01", "display": "Belle Ulijn" }, "recorder": { "reference": "Practitioner/HospitalXPractitioner-01", "display": "E. Penninx" } }
Upload your instances to your project and validate them by going to the resource and hitting the validation icon on the top right. Note: if you are on a paid plan, you can run the Quality Control feature validating the entire project in one go!
Or instead of uploading the instance, you can also copy and paste it in simplifier/validate. Make sure R4 is selected and you scope the validation to your project/package.
Lastly, the bonus bonus exercirse is to make these three invalid examples valid!
If you want to know all the benefits of publishing and validating your profiles with packages, the following exercises are highly recommended: ACME R4 Package Tutorial.
Powered by SIMPLIFIER.NET | IG: ACME profiling exercises | IG version: 2.0.0 | FHIR version: R4 |