fhir-human-services-directory
1.0.0-ballot - STU Ballot US

This page is part of the FHIR IG Human Services Directory (v1.0.0-ballot: STU 1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: HSDSHealthcareService - Mappings

Active as of 2022-12-08

Mappings for the hsds-HealthcareService resource profile.

Mappings for RIM Mapping (http://hl7.org/v3)

HSDSHealthcareService
HealthcareServiceEntity. Role, or Act, act[classCode=ACT][moodCode=DEF]
   meta
      idn/a
      extensionn/a
   textAct.text?
   containedN/A
   modifierExtensionN/A
   identifier.id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   active.statusCode
   providedBy.scopingRole.Organization
   category.code
   type.actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].code
   specialty.actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].code
   location.location.role[classCode=SDLOC]
   name.name
   comment.location.role[classCode=SDLOC].desc
   extraDetails.actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].text
   photo.actrelationship[typeCode=SBJ].observation.value
   telecom.telecom
      idn/a
      extensionn/a
      system./scheme
      value./url
      useunique(./use)
      rankn/a
      period./usablePeriod[type="IVL<TS>"]
   coverageArea.location.role[classCode=SDLOC].subjectOf.A_SpatialCoordinate
   serviceProvisionCode.actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT]
   eligibility
      idn/a
      extensionn/a
      modifierExtensionN/A
      code.actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT]
      comment.actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT].text
   program.actrelationship[typeCode=PERT].observation
   characteristic.actrelationship[typeCode=PERT].observation
   referralMethod.actrelationship[typeCode=PERT].observation
   appointmentRequired.actrelationship[typeCode=PERT].observation
   availableTime.effectiveTime
      idn/a
      modifierExtensionN/A
      daysOfWeek.effectiveTime
      allDay.effectiveTime
      availableStartTime.effectiveTime
      availableEndTime.effectiveTime
   notAvailable.effectiveTime
      idn/a
      extensionn/a
      modifierExtensionN/A
      descriptionn/a
      during.effectiveTime
   availabilityExceptions.effectiveTime
   endpointn/a

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

HSDSHealthcareService
HealthcareService
   identifierFiveWs.identifier
   activeFiveWs.status
   categoryFiveWs.class
   locationFiveWs.where[x]

Mappings for HSDS (HSDS)

This section describes the way HSDS version 2.0.1 elements are mapped from HSDS tables to the FHIR HealthcareService profile. The left hand column represents the FHIR HealthcareService element name, while the right column contains the HSDS table.element name followed by the element name's description in parenthesis. Comments related to the mapping may follow the HSDS element description.

HSDSHealthcareService
HealthcareService
   idservice.id Note: Each service must have a unique identifier.
   metametadata Note: The HSDS metadata table contains a record of the changes that have been made to the data in order to maintain provenance information.
      lastUpdatedmetadata.last_action_date Note: The date when data was changed. Since there may be more than one metadata record for each location, the latest max(last_action_date) needs to be used from metadata where service.id = metadata.resource_id.
   extension (newpatients)No Source. Note: This is a GAP in HSDS. This extension indicates whether new patients are being accepted in general, or from a specific network.
   extension (deliverymethod)No Source. Note: This is a GAP in HSDS. While this is a Must Support element in the parent Plan-Net profile, it is optional and therefore, will be ignored.
   identifierNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. There are no business identifiers associated with services in HSDS.
      idNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. There are no business identifiers associated with services in HSDS.
      useNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. There are no business identifiers associated with locations in HSDS.
      typeNo Source. Note: This is a GAP in HSDS. There are no business identifiers associated with locations in HSDS.
      systemNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. There are no business identifiers associated with locations in HSDS.
      valueNo Source. Note: This is a GAP in HSDS. There are no business identifiers associated with locations in HSDS.
      periodNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. There are no business identifiers associated with locations in HSDS.
      assignerNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. There are no business identifiers associated with locations in HSDS.
   activeIf HSDS service.status = 'active' then FHIR HealthcareService.active = 'true', else HealthcareService.active = 'false'. Note: HSDS service.status values are 'active', 'inactive', 'defunct' and 'temporarily closed'. All types other than 'active' are considered 'inactive' as per FHIR status.
   providedByreference.reference = service.organization_id reference.type = 'Organization' reference.display = organization.name Note: This element is of data type Reference that refers to the organization resource that provides this service.
   categorycategory.coding.system = 'http://211hsis.org' category.coding.code = taxonomy_term.term cateory.coding.display = taxonomy_term.description category.text = taxonomy_term.description Note: This mapping is to the service category level taxonomy term that will be a parent to service type level taxonomy term. Linkage to category level term is from service.id = service_attribute_id, service_attribute.taxonomy_term_id = taxonomy_term.id, (child) taxonomy_term.parent.id = (parent) taxonomy_term.id. This assumes a two-level hierarchy of taxonomy terms. If there are more levels of hierarchy, then this will require traversing through the hierarchy until category level taxonomy_term parent is reached. Service Category binding will be to specific concepts from 211 Human Services Indexing System.
   typecategory.coding.system = 'http://211hsis.org' category.coding.code = taxonomy_term.term cateory.coding.display = taxonomy_term.description category.text = taxonomy_term.description Note: This mapping is to the service type level taxonomy term that will be directly linked to the service attribute. Linkage to service type term is from service.id = service_attribute_id, service_attribute.taxonomy_term_id = taxonomy_term.id/. Service Type binding will be to specific concepts from 211 Human Services Indexing System.
   specialtyNo Source. Note: This is a GAP in HSDS. specialty is defined as Must Support in the Plan-Net profile but optional element. The Plan-Net profile defines as required binding to valueset that refers to the standardized NUCC taxonomy https://taxonomy.nucc.org/. However, this taxonomy does not contain most of the human services specific provider types (except 332U00000X: Home Delivered Meals). This mapping will be ignored for the time being until NUCC is extended to include human service providers and HSDS is modified to include the specialty of providers who can provide this service.
   locationreference.reference = service_at_location.location_id reference.type = 'Location' reference.display = location.name Note: This element is of data type Reference that refers to the location resource where a given service can be provided. Linkage to location is service.id = service_at_location.service_id, service_at_location.location_id = location.id. There may be multiple locations for a given service. Since FHIR location is an array (list), each location will be populated in an individual position in the array.
   nameservice.name
   commentNo Source. Note: This is a GAP in HSDS. There is no comment or description for a service. There is a description in service_at_location but that will not be just specific to service but the combination of service and location.
   extraDetailsFixed value 'Funding Source:' appended with funding.source Note: Ths data element name extraDetails is not obvious about its content and this mapping to the funding source is not a direct mapping. Therefore it is advised to map this as a name-value pair, i.e., add a label before the value e.g., 'Funding Source '. Linkage to the funding source is service.organiztion_id = funding.organization_id and service.id = funding.service_id. If there are multiple funding sources for this combiation, they are concatenated.
   photoNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS.
   telecomNote: This FHIR structure contains contact details of the service using the ContactPoint datatype (Details for all kinds of technology-mediated contact points for a person or organization, including telephone, email, etc.).
      idNo Source. May be excluded from the mapping. Note: This data element may be ignored as having the id for the telecom record isn't essential and not always available in the HSDS (e.g. phone id is available but there is no separate id for email or website URL).
      extension (contactpoint-availabletime)No Source. Note: This is a GAP in HSDS. This FHIR extension is added by the Plan-Net profile and represents available hours for the telecom (e.g. customer service phone hours from 8AM-6PM M-F). There is no equivalent mapping to this data element in HSDS since the HSDS schedule table contains details of when a service or location is open and is not related to a phone line associated with a location.
      extension (via-intermediary)No Source. Note: This is a GAP in HSDS. This FHIR extension added by the Plan-Net profile represents a reference to an alternative point of contact. HSDS does not have the source data to represent an 'intermediary' as that implies some sort of location relationship.
      systemFor Phone: if phone.type = 'voice' then system = 'phone' if phone.type = 'cell' then system = 'phone' if phone.type = 'fax' then system = 'fax' if phone.type = 'pager' then system = 'pager' if phone.type = 'text' then system = 'sms' if phone.type = 'textphone' then system = 'sms' if phone.type = 'video' then system = 'other' For Email: Fixed value = 'email' For Website URL: Fixed value = 'url' Note: There are multiple sources in HSDS for the telecom in FHIR so the system will be populated based on phone.type mapping or fixed value of 'email' or 'url' depending on the data populated. Drawn from the ContactPointSystem value set [http://hl7.org/fhir/ValueSet/contact-point-system]
      valueFor Phone: value = phone.number For Email, value = service.email For Website URL: value = service.url Note: For phone, HSDS service linkage is to phone table using service.id = phone.service_id.
      useFixed value = 'work' Note: This is a GAP in HSDS but since it is for work-related information, it is possible to set this to 'work' drawn from the ContactPointUse value set http://hl7.org/fhir/R4/valueset-contact-point-use.html.
      rankNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. In FHIR, it is used to specify a preferred order in which to use a contact point. The parent Plan-Net profile indicates this is a Must Support element but is optional, So it can be excluded since there is no source.
      periodNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. In FHIR, this data element captures the time period when the contact point was/is in use. But it can be excluded since there is no source and it is optional.
   coverageAreareference.display = service_area.service_area Note: FHIR HealthcareService.coverageArea is a reference of location resource so service_area cannot be directly used. Although generally not recommended, this is mapped to Reference.display since there is no other corresponding data element in FHIR to HSDS service area. If there are multiple service_area records for a given service, they are concatenated to make a single string.
   serviceProvisionCodeNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. That element is the code describing healthcare service provision conditions such as 'free', 'disc' or 'cost'.
   eligibilityNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS. Eligibility is currently out of scope for this release of the IG as Eligibility is not addressed by the HSDS eligibility specification (insufficient details to capture eligibility details as only a primary key (eligibility.id) and eligibility.service_id are included in the table.)
      idNo Source. May be excluded from the mapping.
      codeNo Source. May be excluded from the mapping.
      commentNo Source. May be excluded from the mapping.
   programprogram[0].text = program.name Note: Since HSDS does not have any code for the program, only the text element of codeableConcept is mapped. Also, the program data element in FHIR is an array (list), so the program name from HSDS is populated in the first occurrence of the array.
   characteristiccharacteristic[0].text = service.interpretation_services Note: This is not an obvious mapping but interpretation services is one of the characteristics of the service provision. Also, this data element in FHIR is an array (list), so the interpretation services data from HSDS is populated in the first occurrence of the array.
   communicationcommunication[0].text = language.language. Note: This data element in FHIR is an array (list), so the language from HSDS is populated in the first occurrence of the array.
   referralMethodNo Source. May be excluded from the mapping. Note: This is a GAP in HSDS.
   appointmentRequiredNo Source. Note: This is a GAP in HSDS.
   availableTimeNote: This structure identifies the days/times during a week this service may be provided. Linkage to the schedule is from service.id = schedule.service_id.
      idschedule.id Note: This data element may be ignored as having the id for the schedule record isn't essential.
      extensionextension[0].valueSting = schedule.description Note: This is not an obvious mapping but the extension is available to provide additional details. Since the extension is an array (list), the description will be populated in the first occurrence of the extension.
      daysOfWeekschedule.byday Note: This is a comma-separated value of days of the week. e.g. SU,MO,TU,WE,TH,FR,SA. Where freq is MONTHLY each part can be preceded by a positive or negative integer to represent which occurrence in a month; e.g. 2MO is the second Monday in a month. -1FR is last Friday.
      allDayNo Source. Note: This is a GAP in HSDS. May be derived from other HSDS data elements but may not be an accurate representation.
      availableStartTimeschedule.opens_at Note: This should use HH:MM format and should include timezone information, either adding the suffix ā€˜Zā€™ when the date is in UTC, or including an offset from UTC (e.g. 09:00-05:00 for 9am EST.)
      availableEndTimeschedule.closes_at Note: This should use HH:MM format and should include timezone information, either adding the suffix ā€˜Zā€™ when the date is in UTC, or including an offset from UTC (e.g. 09:00-05:00 for 9am EST.)
   notAvailableNo Source. Note: This is a GAP in HSDS.
   availabilityExceptionsNo Source. Note: This is a GAP in HSDS. This is a Must Support but an optional element in the base Plan-Net profile.
   endpointNo Source. Note: This is for the technical implementation of web services for the healthcare service and it is not for source-specific business data. It is marked as Must Support though optional in the Plan-Net profile. At this point, no service- specific web services have been identified so it may be ignored.