OHI Value-Based Payments
 PreviousHomeNext 
4.2.2 DetailsBook Index4.2.4 Errors

4.2.3 Dynamic Fields and Records

This section describes the default behavior of integration points that accept dynamic field and record values. The configuration of the relevant dynamic field usages drive how the integration point processes a request with new dynamic field and record values. The driving aspects are the usage type (field, code or record), whether the field can have multiple values and whether the field value is time valid.

4.2.3.1 Dynamic Fields

Dynamic field values can be created and updated through integration points. How the values are supplied in the request messages depends on the way the dynamic fields are configured in the application. Dynamic fields can be configured as:

4.2.3.1.1 Single-Value Non-Time-Valid Fields

Message Definition

A single-value non-time-valid free field is represented as an attribute of the element it belongs to, with the name of the attribute being the same as the corresponding dynamic field usage name. The same applies to a single-value non-time-valid flex code field that is configured as a flex code definition.
A single-value non-time-valid flex code field that is configured as a flex code set is represented as a sub-element of the element it belongs to, with the name of the sub-element being the same as the corresponding dynamic field usage name. The sub-element has flexCodeDefinitionCode as attribute and the dynamic field value as text content.

Update Behavior

When the application updates a record, a single-value non-time-valid free field and a single-value non-time-valid flex code field that is configured as a flex code definition are handled as follows: if the attribute is not included in the request, then the existing value in the application remains untouched; if the attribute is included in the request, then the value is updated with the specified value. In order to send in an update that clears the value, the update request should include the attribute with an empty value.
A single-value non-time-valid flex code field that is configured as a flex code set is handled as follows when updating a record: if the element is not included in the request, then the existing value in the application remains untouched; if the element is included in the request, then the value is updated with the specified value. In order to send in an update that clears the value, the update request should include the sub-element without the flexCodeDefinitionCode attribute and the text content.

Examples

Consider the example below of an individual provider request message for the creation of a new individual provider, where the following dynamic field usages are configured on the providers table:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  name="Smith"
  nameFormatCode="NFDFLT"
  outputLanguageCode="EN"
  startDate="2010-01-01"
  dateOfBirth="1975-06-06"
  married="Y"
>
  <specializedProcedure
    flexCodeDefinitionCode="CPT_CODES"
  >
    33010
  </specializedProcedure>
</individualProvider>

In order to update the married value from Y to N and leave all other fixed field values and dynamic field values intact, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  married="N"
>
</individualProvider>

To clear the values of the dynamic fields that were created in the examples above, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  dateOfBirth=""
  married=""
>
  <specializedProcedure/>
</individualProvider>
4.2.3.1.2 Single-Value Time-Valid Fields

Message Definition

A single-value time-valid free field is represented as a sub-element of the element it belongs to, with the name of the sub-element being the same as the corresponding dynamic field usage name. The sub-element can have one or more <value> sub-elements of its own. The <value> sub-element has startDate and endDate as attributes and the dynamic field value as text content. The same applies to a single-value time-valid flex code field that is configured as a flex code definition.
A single-value time-valid flex code field that is configured as a flex code set is represented as a sub-element of the element it belongs to, with the name of the sub-element being the same as the corresponding dynamic field usage name. The sub-element can have one or more <value> sub-elements of its own. The <value> sub-element has startDate, endDate and flexCodeDefinitionCode as attributes and the dynamic field value as text content.

Update Behavior

When the application updates a record, a single-value time-valid field is handled as follows: if the sub-element is not included in the request, then the existing value(s) in the application remain(s) untouched; if the sub-element is included in the request, then the existing value(s) is/are replaced by the value(s) specified in the request. In order to send in an update that clears the existing value(s), the update request should include the sub-element without any <value> sub-elements.

Examples

Consider the example below of an individual provider request message for the creation of a new individual provider, where the following dynamic field usages are configured on the providers table:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  name="Smith"
  nameFormatCode="NFDFLT"
  outputLanguageCode="EN"
  startDate="2010-01-01"
>
  <contractReferences>
    <value 
      startDate="2010-01-01" 
      endDate="2012-06-31"
    >
      1111
    </value>
    <value 
      startDate="2012-07-01" 
    >
      1112
    </value>
  </contractReferences>
  <married>
    <value 
      startDate="2012-01-01" 
      endDate="2012-06-31"
    >
      Y
    </value>
  </married>
  <specializedProcedures>
    <value 
      flexCodeDefinitionCode="CPT_CODES"
      startDate="2010-01-01" 
      endDate="2011-12-31"
    >
      33010    
    </value>
    <value 
      flexCodeDefinitionCode="ICD10_PROCEDURES"
      startDate="2012-01-01"
    >
      C2161ZZ
    </value>  
  </specializedProcedures>
</individualProvider>

In order to replace the contract references 1111 and 1112 by contract reference1113 and leave all other fixed field values and dynamic field values intact, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <contractReferences>
    <value 
      startDate="2010-01-01" 
      endDate="2012-06-31"
    >
      1113
    </value>
  </contractReferences>
</individualProvider>

To clear the values of the dynamic fields that were created in the examples above, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <contractReferences/>
  <married/>
  <specializedProcedures/>
</individualProvider>
4.2.3.1.3 Multi-Value Non-Time-Valid Fields

Message Definition

A multi-value non-time-valid free field is represented as a sub-element of the element it belongs to, with the name of the sub-element being the same as the corresponding dynamic field usage name. The sub-element can have one or more <value> sub-elements of its own. The <value> sub-element has the dynamic field value as text content. The same applies to a multi-value non-time-valid flex code field that is configured as a flex code definition.
A multi-value non-time-valid flex code field that is configured as a flex code set is represented as a sub-element of the element it belongs to, with the name of the sub-element being the same as the corresponding dynamic field usage name. The sub-element can have one or more <value> sub-elements of its own. The <value> sub-element has flexCodeDefinitionCode as attribute and the dynamic field value as text content.

Update Behavior

When the application updates a record, a multi-value non-time-valid field is handled as follows: if the sub-element is not included in the request, then the existing value(s) in the application remain(s) untouched; if the sub-element is included in the request, then the existing value(s) is/are replaced by the value(s) specified in the request. In order to send in an update that clears the existing value(s), the update request should include the sub-element without any <value> sub-elements.

Examples

Consider the example below of an individual provider request message for the creation of a new individual provider, where the following dynamic field usages are configured on the providers table:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  name="Smith"
  nameFormatCode="NFDFLT"
  outputLanguageCode="EN"
  startDate="2010-01-01"
>
  <contractReferences>
    <value>
      1111
    </value>
    <value> 
      1112
    </value>
  </contractReferences>
  <hobbies>
    <value>
      Soccer
    </value>
    <value> 
      Baseball
    </value>
  </hobbies>
  <specializedProcedures>
    <value 
      flexCodeDefinitionCode="CPT_CODES"
    >
      33010    
    </value>
    <value 
      flexCodeDefinitionCode="ICD10_PROCEDURES"
    >
      C2161ZZ
    </value>  
  </specializedProcedures>
</individualProvider>

In order to replace the hobbies Soccer and Baseball by hobby Basketball and leave all other fixed field values and dynamic field values intact, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <hobbies>
    <value>
      Basketball
    </value>
  </hobbies>
</individualProvider>

To clear the values of the dynamic fields that were created in the examples above, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <contractReferences/>
  <hobbies/>
  <specializedProcedures/>
</individualProvider>
4.2.3.1.4 Multi-Value Time-Valid Fields

Multi-value time-valid fields are handled in the same manner as single-value time-valid fields.

4.2.3.2 Dynamic Records

Many of the entities that can be sent in through an integration point can be extended with dynamic records. The values for these records can be set through the integration points as well. How the values are supplied in the request messages depends on the way the dynamic records are configured in the application. Dynamic records can be configured as:

4.2.3.2.1 Single-Value Non-Time-Valid Records

Message Definition

A single-value non-time-valid dynamic record is represented as a sub-element of the element it belongs to, with the name of the sub-element being the same as the corresponding dynamic field usage name. The sub-element has the dynamic record flex code field usages (representing the columns of the dynamic record) that are configured as free fields, as attributes with the names of the attributes being the same as the corresponding flex code field usage names. The same applies to the dynamic record flex code field usages that are configured as flex code definitions.
Dynamic record flex code field usages that are configured as flex code sets are represented as sub-elements of the sub-element described above, with the names of the sub-elements being the same as the corresponding dynamic record flex code field usage names. The sub-elements have flexCodeDefinitionCode as attribute and the dynamic field value as text content.

Update Behavior

When the application updates a record, a single-value non-time-valid record is handled as follows: if the sub-element is not included in the request, then the existing value(s) in the application remain(s) untouched; if the sub-element is included in the request, then the existing value(s) is/are replaced by the value(s) specified in the request (attributes that are not in the request are set to null). In order to send in an update that clears the existing value(s), the update request should include the sub-element without any attributes and sub-elements.

Examples

Consider the example below of an individual provider request message for the creation of a new individual provider, where the following dynamic field usages are configured on the providers table:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  name="Smith"
  nameFormatCode="NFDFLT"
  outputLanguageCode="EN"
  startDate="2010-01-01"
>
  <accreditation
    accreditationName="Physical Therapy"
    status="Accredited"
    accreditationDate="2011-01-01"
  >
    <accreditedBy
      flexCodeDefinitionCode="US_PROVIDER"
    >
      1000000000
    </accreditedBy>
  </accreditation>
</individualProvider>

In order to replace the accreditation with accreditation name Physical Therapy by an accreditation with accreditation name Speech Therapy and leave all other values intact, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <accreditation
    accreditationName="Speech Therapy"
    status="Accredited"
    accreditationDate="2011-01-01"
  >
    <accreditedBy
      flexCodeDefinitionCode="US_PROVIDER"
    >
      1000000000
    </accreditedBy>
  </accreditation>
</individualProvider>

To clear the values of the dynamic record that was created in the examples above, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <accreditation/>
</individualProvider>
4.2.3.2.2 Single-Value Time-Valid Records

Message Definition

A single-value time-valid dynamic record is represented as a sub-element of the element it belongs to, with the name of the sub-element being the same as the corresponding dynamic field usage name. The sub-element can have one or more <record> sub-elements of its own (representing the rows of the dynamic record). The <record> sub-elements have startDate and endDate as attributes. The dynamic record flex code field usages (representing the columns of the dynamic record) that are configured as free fields, are represented as attributes on the <record> sub-elements with the names of the attributes being the same as the corresponding flex code field usage names. The same applies to the dynamic record flex code field usages that are configured as flex code definitions.
Dynamic record flex code field usages that are configured as flex code sets are represented as sub-elements of the <record> elements, with the names of the sub-elements being the same as the corresponding dynamic record flex code field usage names. The sub-elements have flexCodeDefinitionCode as attribute and the dynamic field value as text content.

Update Behavior

When the application updates a record, a single-value time-valid record is handled as follows: if the sub-element is not included in the request, then the existing value(s) in the application remain(s) untouched; if the sub-element is included in the request, then the existing value(s) is/are replaced by the value(s) specified in the request (attributes that are not in the request are set to null). In order to send in an update that clears the existing value(s), the update request should include the sub-element without any <record> sub-elements.

Examples

Consider the example below of an individual provider request message for the creation of a new individual provider, where the following dynamic field usages are configured on the providers table:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  name="Smith"
  nameFormatCode="NFDFLT"
  outputLanguageCode="EN"
  startDate="2010-01-01"
>
  <accreditations>
    <record
      accreditationName="Physical Therapy"
      status="Accredited"
      accreditationDate="2011-01-01"
      startDate="2011-01-01"
      endDate="2011-06-06"  
    >
      <accreditedBy
        flexCodeDefinitionCode="US_PROVIDER"
      >
        1000000000
      </accreditedBy>
    </record>  
    <record
      accreditationName="Occupational Therapy"
      status="Accredited"
      accreditationDate="2011-07-07"
      startDate="2012-01-01" 
    >
      <accreditedBy
        flexCodeDefinitionCode="HEALTH_ACCREDITOR"
      >
        Home Health Accreditation Commission      
      </accreditedBy>
    </record>  
  </accreditations>
</individualProvider>

In order to replace the accreditations with accreditation names Physical Therapy and Occupational Therapy by an accreditation with accreditation name Speech Therapy and leave all other values intact, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <accreditations>
    <record
      accreditationName="Speech Therapy"
      status="Accredited"
      accreditationDate="2011-01-01"
      startDate="2011-01-01"
      endDate="2011-06-06"  
    >
      <accreditedBy
        flexCodeDefinitionCode="US_PROVIDER"
      >
        1000000000
      </accreditedBy>
    </record>   
  </accreditations>
</individualProvider>

To clear the values of the dynamic record that was created in the examples above, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <accreditations/>
</individualProvider>
4.2.3.2.3 Multi-Value Non-Time-Valid Records

Message Definition

A multi-value non-time-valid dynamic record is represented as a sub-element of the element it belongs to, with the name of the sub-element being the same as the corresponding dynamic field usage name. The sub-element can have one or more <record> sub-elements of its own (representing the rows of the dynamic record). The <record> sub-elements have the dynamic record flex code field usages (representing the columns of the dynamic record) that are configured as free fields, as attributes with the names of the attributes being the same as the corresponding flex code field usage names. The same applies to the dynamic record flex code field usages that are configured as flex code definitions.
Dynamic record flex code field usages that are configured as flex code sets are represented a sub-elements of the <record> elements, with the names of the sub-elements being the same as the corresponding dynamic record flex code field usage names. The sub-elements have flexCodeDefinitionCode as attribute and the dynamic field value as text content.

Update Behavior

When the application updates a record, a single-value time-valid record is handled as follows: if the sub-element is not included in the request, then the existing value(s) in the application remain(s) untouched; if the sub-element is included in the request, then the existing value(s) is/are replaced by the value(s) specified in the request (attributes that are not in the request are set to null). In order to send in an update that clears the existing value(s), the update request should include the sub-element without any <record> sub-elements.

Examples

Consider the example below of an individual provider request message for the creation of a new individual provider, where the following dynamic field usages are configured on the providers table:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  name="Smith"
  nameFormatCode="NFDFLT"
  outputLanguageCode="EN"
  startDate="2010-01-01"
>
  <accreditations>
    <record
      accreditation="Physical Therapy"
      status="Accredited"
      accreditedBy="Home Health Accreditation Commission"
      accreditationDate="2011-01-01"   
    /> 
    <record
      accreditation="Occupational Therapy"
      status="Accredited"
      accreditedBy="Home Health Accreditation Commission"
      accreditationDate="2011-07-07"   
    /> 
  </accreditations>
</individualProvider>

In order to replace the accreditations with accreditation names Physical Therapy and Occupational Therapy by an accreditation with accreditation name Speech Therapy and leave all other values intact, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
  name="Smith"
  nameFormatCode="NFDFLT"
  outputLanguageCode="EN"
  startDate="2010-01-01"
>
  <accreditations>
    <record
      accreditation="Speech Therapy"
      status="Accredited"
      accreditedBy="Home Health Accreditation Commission"
      accreditationDate="2011-01-01"   
    />
  </accreditations>
</individualProvider>

To clear the values of the dynamic record that was created in the examples above, the following individual provider request message is used:

<individualProvider
  code="1234567890"
  flexCodeDefinitionCode="US_PROVIDER"
>
  <accreditations/>
</individualProvider>
4.2.3.2.4 Multi-Value Time-Valid Records

Multi-value time-valid records are handled in the same manner as single-value time-valid records.

 PreviousHomeNext 
4.2.2 Details4.2.4 Errors