rimiti/object-hl7-parser

View on GitHub
src/config/default-hl7/siu/s26-config.json

Summary

Maintainability
Test Coverage
{
  "format": "hl7-2.4",
  "adapter": "default",
  "delimiters": {
    "fieldSeperator": "|",
    "componentSeperator": "^",
    "subcomponentSeperator": "&",
    "escapeCharacter": "\\",
    "repititionCharacter": "~",
    "segmentSeperator": "\r"
  },
  "mappings": {
    "msh": {
      "configuration": {
        "components": {
          "count": 17,
          "seperators": [
            {"position": 5 , "numberOfSeparator": 1}
          ]
        }
      },
      "values": [
        { "field": "encoding_character", "component": [0,1], "default": "mllp_http_proxy" },
        { "field": "sending_application", "component": [1,1], "default": "proxy00-prodaz" },
        { "field": "sending_facility", "component": [2,1], "default": "mllp_http_proxypartenaire" },
        { "field": "receiving_application", "component": [3,1], "default": "proxy00-prodpartenaire" },
        { "field": "message_datetime", "component": [4,1], "default": "proxy00-prodpartenaire" },
        { "field": "security", "component": [5,1] },
        { "field": "message_type", "component": [6,1], "default": "SIU" },
        { "field": "message_type_ref", "component": [6,2], "default": "S26" },
        { "field": "message_control_id", "component": [7,1], "default": "256660" },
        { "field": "processing_id", "component": [8,1], "default": "P" },
        { "field": "version_id", "component": [9,1], "default": "2.5.1" },
        { "field": "sequence_number", "component": [10,1] },
        { "field": "continuation_pointer", "component": [11,1] },
        { "field": "accept_acknowledgment_type", "component": [12,1] },
        { "field": "application_acknowledgment_type", "component": [13,1] },
        { "field": "country_code", "component": [14,1], "default": "FRA" },
        { "field": "character_set", "component": [15,1], "default": "UTF-8" },
        { "field": "principal_language_of_message", "component": [16,1] },
        { "field": "alternate_character_set", "component": [17,1] }
      ]
    },
    "sch": {
      "configuration": {
        "components": {
          "count": 26,
          "seperators": []
        }
      },
      "values": [
        { "field": "appointment.placer_id", "component": [0,1] },
        { "field": "appointment.filler_id", "component": [1,1] },
        { "field": "appointment.occurence_number", "component": [2,1] },
        { "field": "appointment.placer_group_number", "component": [3,1] },
        { "field": "appointment.schedule_id", "component": [4,1] },
        { "field": "appointment.event_reason", "component": [5,1] },
        { "field": "appointment.appointment_reason", "component": [6,1] },
        { "field": "appointment.appointment_type", "component": [7,1] },
        { "field": "appointment.appointment_duration", "component": [8,1] },
        { "field": "appointment.appointment_duration_unit", "component": [9,1] },
        { "field": "appointment.timing", "children": [
            { "field": "date", "component": [10,4] },
            { "field": "duration", "component": [10,3] }
          ]
        },
        { "field": "appointment.placer.contacts", "children": [
            { "field": "id", "component": [11,1] },
            { "field": "firstname", "component": [11,2] },
            { "field": "lastname", "component": [11,3] }
          ]
        },
        { "field": "appointment.placer_contact_phone", "component": [12,1] },
        { "field": "appointment.placer_contact_address", "component": [13,1] },
        { "field": "appointment.placer_contact_location", "component": [14,1] },
        { "field": "appointment.filler.contacts", "children": [
            { "field": "id", "component": [15,1] },
            { "field": "firstname", "component": [15,2] },
            { "field": "lastname", "component": [15,3] }
          ]
        },
        { "field": "appointment.filler_contact_phone", "component": [16,1] },
        { "field": "appointment.filler_contact_address", "component": [17,1] },
        { "field": "appointment.filler_contact_location", "component": [18,1] },
        { "field": "appointment.entred_by.name", "component": [19,1] },
        { "field": "appointment.entred_by_contact_phone", "component": [20,1] },
        { "field": "appointment.entred_by_contact_location", "component": [21,1] },
        { "field": "appointment.parent_placer_appointment_id", "component": [22,1] },
        { "field": "appointment.parent_filler_appointment_id", "component": [23,1] },
        { "field": "appointment.filler_status_code", "component": [24,1], "default": "Booked" }
      ]
    },
    "pid": {
      "configuration": {
        "components": {
          "count": 14,
          "seperators": [
          ]
        }
      },
      "values": [
        { "field": "fiche.set_id", "component": [0,1] },
        { "field": "fiche.patient_id", "component": [1,1] },
        { "field": "fiche.id", "component": [2,1] },
        { "field": "fiche.check_digit", "component": [2,2] },
        { "field": "fiche.code_check_digit", "component": [2,3] },
        { "field": "fiche.assigning_authority", "component": [2,4], "default": "ODS" },
        { "field": "fiche.identifier_type_code", "component": [2,5] },
        { "field": "fiche.unique_identifier_patient", "component": [2,6], "default": "PI" },
        { "field": "fiche.alternate_patient_id" , "component": [3,1] },
        { "field": "fiche.lastname" , "component": [4,2] },
        { "field": "fiche.firstname" , "component": [4,1] },
        { "field": "fiche.middlename" , "component": [4,3] },
        { "field": "fiche.suffix" , "component": [4,4] },
        { "field": "fiche.prefix" , "component": [4,5] },
        { "field": "fiche.degree" , "component": [4,6] },
        { "field": "fiche.name_type_code", "component": [4,7], "default": "L" },
        { "field": "fiche.mother_maiden_name", "component": [5,1] },
        { "field": "fiche.date_of_birth", "component": [6,1] },
        { "field": "fiche.sex", "component": [7,1] },
        { "field": "fiche.patient_alias", "component": [8,1] },
        { "field": "fiche.race", "component": [9,1] },
        { "field": "fiche.address",
          "children": [
            {"field": "street", "component": [10,1] },
            {"field": "street_2", "component": [10,2] },
            {"field": "city", "component": [10,3] },
            {"field": "state", "component": [10,4] },
            {"field": "zipcode", "component": [10,5] },
            {"field": "country", "component": [10,6] },
            {"field": "address_type", "component": [10,7] },
            {"field": "other_geographic_designation", "component": [10,8] },
            {"field": "country_code", "component": [10,9] },
            {"field": "census_tract", "component": [10,10] }
          ]
        },
        { "field": "fiche.country_code", "component": [11,1] },
        { "field": "fiche.contacts", "type":"array",
          "children": [
            {"field": "number", "component": [12,1] },
            {"field": "telecommunication_use_code", "component": [12,2] },
            {"field": "telecommunication_equipment_code", "component": [12,3] },
            {"field": "email", "component": [12,4] },
            {"field": "country_code", "component": [12,5] },
            {"field": "area_code", "component": [12,6] },
            {"field": "phone_number", "component": [12,7] },
            {"field": "extension", "component": [12,8] }
          ]
        }
      ]
    },
    "rgs": {
      "configuration": {
        "components": {
          "count": 1,
          "seperators": []
        }
      },
      "values": [
        { "field": "ressource_group.set_id", "component": [0,1] },
        { "field": "ressource_group.action_code", "component": [1,1] },
        { "field": "ressource_group.group_id", "component": [2,1] }
      ]
    },
    "aig": {
      "configuration": {
        "components": {
          "count": 4,
          "seperators": []
        }
      },
      "values": [
        { "field": "general_ressource.set_id", "component": [0,1] },
        { "field": "general_ressource.segment_action_code", "component": [1,1] },
        { "field": "general_ressource.ressource_id", "component": [2,1] },
        { "field": "general_ressource.ressource_type", "component": [3,1] },
        { "field": "general_ressource.ressource_group", "component": [4,1] },
        { "field": "general_ressource.ressource_quantity", "component": [5,1] },
        { "field": "general_ressource.ressource_quantity_unit", "component": [6,1] },
        { "field": "general_ressource.start_date_time", "component": [7,1] },
        { "field": "general_ressource.start_time_offset", "component": [8,1] },
        { "field": "general_ressource.start_time_offset_unit", "component": [9,1] },
        { "field": "general_ressource.duration", "component": [10,1] },
        { "field": "general_ressource.duration_unit", "component": [11,1] },
        { "field": "general_ressource.allow_substitution_code", "component": [12,1] },
        { "field": "general_ressource.filler_status_code", "component": [13,1] }
      ]
    },
    "nte": {
      "configuration": {
        "components": {
          "count": 3,
          "seperators": []
        }
      },
      "values": [
        { "field": "comments.set_id", "component": [0,1] },
        { "field": "comments.source", "component": [1,1] },
        { "field": "comments.comment", "component": [2,1] },
        { "field": "comments.comment_type", "component": [3,1] }
      ]
    }
  }
}