Standard codes to identify email types (work, personal, etc.) - hl7

I work for a health technology company and we use the HL7 and snomed standard codes to identify phone numbers, home addresses, races, ethnicities, etc. I have been looking to no avail for HL7 or snomed standardized codes to define user email types. Is there another standard with codes that identifies types of email?

In PID/13 and PID/14 you can set the second component (Telecommunication Use Code ) to NET meaning Network (email) Address and then add the home eMail adress in PID/13/4 respective business adress in PID/14/4

In the end we used the above Hl7v2 Conmunication standards to generate our own codes. Bellow are the tables we referenced.
XTN: Extended Telecommunication Number
SEQ | LENGTH | DT | OPT | TBL # | NAME
XTN.1 | 199 | ST | B | PhoneNumber Telephone Number
XTN.2 | 3 | ID | O | 0201 | Telecommunication Use Code
XTN.3 | 8 | ID | O | 0202 | Telecommunication Equipment Type
XTN.4 | 199 | ST | O | Email Address
XTN.5 | 3 | NM | O | Country Code
XTN.6 | 5 | NM | O | Area/City Code
XTN.7 | 9 | NM | O | Local Number
XTN.8 | 5 | NM | O | Extension
XTN.9 | 199 | ST | O | Any Text
XTN.10 | 4 | ST O | Extension Prefix
XTN.11 | 6 | ST O | Speed Dial Code
XTN.12 | 199 ST C | Unformatted Telephone Number
0201: Telecommunication use code
VALUE | LABEL
PRN | Primary Residence Number
ORN | Other Residence Number
WPN | Work Number
VHN | Vacation Home Number
ASN | Answering Service Number
EMR | Emergency Number
NET | Network (email) Address
BPN | Beeper Number
0202: Telecommunication equipment type
VALUE | LABEL
PH | Telephone
FX | Fax
MD | Modem
CP | Cellular Phone
BP | Beeper
Internet | Internet Address: Use Only If Telecommunication Use Code Is NET
X.400 | X.400 email address: Use Only If Telecommunication Use Code Is NET
TDD | Telecommunications Device for the Deaf
TTY | Teletypewriter

Related

Union Vertical Blending in Data Studio

I want to blend several tables into 1 table. All of the tables have the same column so I'm thinking to UNION vertical all of the tables.
My data source is Google Sheets/ Spreadsheets.
The data will look like this:
Table1
| Type | Object | Amount |
|:---- |:---------:| ------:|
| Tech | PC | $100 |
| Tech | Keyboard | $50 |
| Tech | Mouse | $60 |
Table2
| Type | Object | Amount |
|:----- |:-----------------------:| ------:|
| Sales | Sales Incentives | $1000 |
| Sales | Meeting with Client | $400 |
| Sales | Visiting stores | $80 |
While the desired output would be:
| Type | Object | Amount |
|:----- |:-----------------------:| ------:|
| Sales | Sales Incentives | $1000 |
| Sales | Meeting with Client | $400 |
| Sales | Visiting stores | $80 |
| Tech | PC | $100 |
| Tech | Keyboard | $50 |
| Tech | Mouse | $60 |
If you can't see the table you can see the picture here
enter image description here
Anyone can help me with this? Thank you
I just got the the answer:
You can use the blending FULL OUTER JOIN and use the formula:
COALESCE(Name (Source #1),Name (Source #2),Name (Source #3))
You can see full information here
Thank you for Mehdi Oidjida for the help.

How to prevent rows from shifting when syncing with main data source?

I am creating a directory of people in a group. In the first sheet are the names, address, phone, and email info. The basics.
Then in Sheet 2 I am keeping a record of attendance.
In the third sheet I am keeping a record of some goals that are accomplished.
I used =ARRAYFORMULA(BASE!A:A) to get the first column and put that in the second and third sheets.
This worked great for a while. Then we got a new member. I added their info to the base sheet. His name was brought over to the second and third sheet. That's good. But it didn't keep the rows connected on the second and third sheet. They were off by one row since adding the new member shifted the cells that he was added on.
SO...
Base Sheet
|--------------|------------|------------|------------------|
|First Name | Last Name | Address | and so on...... |
|--------------|------------|------------|------------------|
|John | Doe | 123 Main | |
|--------------|------------|------------|------------------|
|Jim | Smith | 123 Elm | |
|--------------|------------|------------|------------------|
|Jill | Summers | 123 Aspen | |
|--------------|------------|------------|------------------|
Then I have another sheet for tracking attendance taking the first name and last name from the base sheet.
The top row and first two columns are frozen on both sheets.
|--------------|------------|------------|---------|---------------|
| First Name | Last Name | 10/1/19 | 10/7/19 | and so on.....|
|--------------|------------|------------|---------|---------------|
| John | Doe | x | x | |
|--------------|------------|------------|---------|---------------|
| Jim | Smith | | x | |
|--------------|------------|------------|---------|---------------|
| Jill | Summers | x | | |
|--------------|------------|------------|---------|---------------|
What I would like to do is be able to add a new row for a new name and it create a new row in the secondary sheets as well. For example...
|--------------|------------|------------|------------------|
|First Name | Last Name | Address | and so on...... |
|--------------|------------|------------|------------------|
|John | Doe | 123 Main | |
|--------------|------------|------------|------------------|
|Julie | Fry | 123 Oak | |
|--------------|------------|------------|------------------|
|Jim | Smith | 123 Elm | |
|--------------|------------|------------|------------------|
|Jill | Summers | 123 Aspen | |
|--------------|------------|------------|------------------|
which would result in ...
|--------------|------------|------------|---------|---------------|
| First Name | Last Name | 10/1/19 | 10/7/19 | and so on.....|
|--------------|------------|------------|---------|---------------|
| John | Doe | x | x | |
|--------------|------------|------------|---------|---------------|
| Julie | Fry | | | |
|--------------|------------|------------|---------|---------------|
| Jim | Smith | | x | |
|--------------|------------|------------|---------|---------------|
| Jill | Summers | x | | |
|--------------|------------|------------|---------|---------------|
Is there a way to fix this situation? Or perhaps just a better way to do this?
I know I could add the name to the bottom of the list and that would "kinda" work, but then I wouldn't be able to sort by first of last name. The sort would work on the base page, but it would also sort the name on the attendance page, but the data in the rows would be unaffected.
you can try to lock it down with INDIRECT like:
=ARRAYFORMULA(INDIRECT("BASE!B:B"))

Time span accumulating fact tables design

I need to design a star schema to process order processing. The progress of an order look like this:
Customer C place an order on item I with quantity 100
Factory F1 take the order partially with quantity 30
Factory F2 take the order partially with quantity 20
Buy from market 50 items
F1 delivery 20 items
F1 delivery 7 items
F1 cancel the contract (we need to buy 3 more item from market)
F2 delivery 20 items
Buy from market 3 items
Complete the order
How can I design a fact table in this case, since the number of step is not fixed, the data types of event is not the same.
I'm sorry for my bad English.
The definition of an Accumulating Snapshot Fact table according to Kimball is:
summarizes the measurement events occurring at predictable steps between the beginning and the end of a process.
For this particular use case I would go with a Transaction Fact Table as the events (steps) are unpredictable, it is more like an event fact table, something similar to logs or audits.
| order_key | date_key | full_datetime | entity_key (customer, factory, etc. varchar) | entity_type | state | quantity |
|-----------|----------|---------------------|----------------------------------------------|-------------|----------|----------|
| 1 | 20190602 | 2019-06-02 04:30:00 | C1 | customer | request | 100 |
| 1 | 20190602 | 2019-06-02 05:30:00 | F1 | factory | receive | 30 |
| 1 | 20190602 | 2019-06-02 05:30:00 | F2 | factory | receive | 20 |
| 1 | 20190602 | 2019-06-02 05:40:00 | Company? | company | buy | 50 |
| 1 | 20190603 | 2019-06-03 06:40:00 | F1 | factory | deliver | 20 |
| 1 | 20190603 | 2019-06-03 02:40:00 | F1 | factory | deliver | 7 |
| 1 | 20190603 | 2019-06-03 04:40:00 | F1 | factory | deliver | 3 |
| 1 | 20190603 | 2019-06-03 06:40:00 | F1 | factory | cancel | |
| 1 | 20190604 | 2019-06-04 07:40:00 | F2 | factory | deliver | 20 |
| 1 | 20190604 | 2019-06-04 07:40:00 | Company? | company | buy | 3 |
| 1 | 20190604 | 2019-06-04 09:40:00 | Company? | company | complete | 100 |
I'm not sure about your reporting needs as they were not specified, but assuming you need to measure lag/durations of unpredictable steps, you could PIVOT and use dynamic SQL to create the required view
SQL Server dynamic PIVOT query?
Let me know if you came up with something different as I'm interested on this particular use case. Good luck

Need to do complex lookups and referencing of data across differently sized samples in Google Sheets

So, some background: I have a Google Sheets document with several sheets of information.
Two sheets hold data that needs to be checked against one another.
Sheet A is a list of contact data (and many other columns of classifying data that is irrelevant to this process, but makes it difficult to do all of this with a single sheet).
Sheet B is a shorter list of names (all of whom are on Sheet A), a date and a dollar amount for each.
When data is entered into B, we enter either the street address or email they provide us at the time as a way of ensuring that two people with the same name do not get mis-matched. If an email is provided, we try to use that.
I need to create a third sheet (C) for easily displaying the data from B with the contact information of the corresponding names stored in A.
While this may not seem complex, I have been running into a lot of issues making this work.
example:
Sheet A: Contact data
Name | Street Address | City | Prov | Postal | Email |
John Smith | 123 Smith Lane | Smithtown | ON | x0x 0x0 | [blank] |
Jane Doe | [blank] | [blank] | [blank] | [blank] | Doe#doecorp.co |
Tim Philips | 111 Philips Crt | Phillipston | ON | z2z 2z2 | [blank] |
Joe Test | [blank] | [blank] | [blank] | [blank] | Joe#testorg.ca |
Sheet B: Donations
Name | Street Address | Email | Date received | Amount (2018)
John Smith | [blank] | smith#smithorg.org | 20/NOV/2018 | $175 |
Joe Test | [blank] | joe#testorg.ca | 15/OCT/2018 | $200 |
Sheet C: output for mail merging (Filter-sorted by email addresses)
Name | Address | Email | Date received | Amount (2018) |
Joe Test | [blank] | joe#testorg.ca | 15/OCT/2018 | $200 |
John Smith | 23 Smith Lane Smithtown, ON x0x 0x0 | [blank] | 20/NOV/2018 | $175 |
Ideally, the individual mailing address fields from A would be pulled and combined into a single cell in the end result. (we use the others to sort and filter our data
This should put you on the right track, click on the link for the whole spreadsheet.

COUNTA with FILTER using multiple conditions

I want to count the number of companies (Col B) that have a status of 'Our System' in Col A, grouped by their postcode area (e.g., SW10, SW11 etc)
As an example, the figures in the 'On System' column reflect what the formula should result in.
A | B | C | D | E | F | G |
----------|---------|----------|---|---|----------|-----------|
Status | Name | Postcode | | | Area | On System |
----------|---------|----------|---|---|----------|-----------|
On System | ABC Ltd | SW10 4ED | | | SW10 | 1 |
----------|---------|----------|---|---|----------|-----------|
On System | XYZ Ltd | SW11 5RF | | | SW11 | 2 |
----------|---------|----------|---|---|----------|-----------|
On System | GBH Ltd | SW11 5GR | | | SW12 | 0 |
----------|---------|----------|---|---|----------|-----------|
Fresh | DEF Ltd | SW11 7GG | | | SW13 | 0 |
----------|---------|----------|---|---|----------|-----------|
Fresh | GHI Ltd | SW12 5F5 | | | SW14 | 0 |
----------|---------|----------|---|---|----------|-----------|
I've used the following formula (the below example counts companies in SW10 that are 'On System'), but with no success.
=COUNTA(IFERROR(FILTER(C:C, C:C=F3&" *", A:A="On System" )))
I'm under the impression that IFERROR removes empty results or something similar. Without it, I just get a value of 1, even if there are no SW10 rows with an On System status.
Any ideas?
To count the 'on system' with postal code SW10 try:
=sumproduct(A:A="On System", regexmatch(C:C, "SW10"))
Of course you can replace the strings with cell references.
Or -shorter- use COUNTIFS() with a wildcard (*)
=countifs(A:A, "On System", C:C, "SW10*")

Resources