Marathon of Appointments

On 11/4/2025, 64 Days, 2 Months, 5 Specialists, 20 Medical Appointments after my mom was discharged from the hospital; she received a formal diagnosis of Stage 3B Primary Peritoneal Carcinoma.

For more than 2 months, managing her healthcare was my full-time (part-time) job: countless calls to doctors, nurses, hospitals, labs, insurance, scheduling appointments, transporting her to and from all the appointments, and constant information sharing with all the various medical staff. I maintained an online calendar of all her medical appointments, carried around printouts of her medication, and kept a binder of all her medical records starting with her hospital discharge papers.

It would be unlikely that any patient going through all these health issues would be able to manage any of this on their own. Brain fog is often common. I am fortunate to have a strong network of family, friends, and coworkers to help support me and pick up my slack as my attention has been focused on my mom. I often think about others who are not as lucky and wonder what happens to those patients and families.

My advice for anyone going through health challenges:

  1. Do not accept poor service / care. If you have concerns or are unhappy, ask for a new doctor / nurse / etc.
    • The GI doctor assigned to my mom while she was in the hospital was disappointing. During our 9/18/25 follow up appointment with him, he spent the entire time looking at his phone and computer screen and did not make my mom feel like a person. We left that appointment with liver cirrhosis (my mom does not consume alcohol regularly so this was unbelievable) and no answers. I called her PCP that same day and requested a new GI referral. The PCP ended up referring my mom to the GI doctor who she had visited earlier in the year for all her digestive issues. The experience with this other GI PA was night and day difference. She was warm, listened to us, and said she did not believe my mom had liver cirrhosis. She began questioning the results of the hospital discharge and ordered another paracentesis with a more comprehensive biopsy of the fluid than what the hospital GI doctor had ordered. This second GI office called on 10/7/25 to notify us that cancer cells were found in the fluid biopsy and referred us to an Oncologist.
  2. Scheduling appointments is exhausting. Sometimes the only available dates are so far out in the future. I encourage you to ask for alternate locations or different staff with earlier availability. Also, I encourage you to call the insurance companies to question and push authorizations through. Take an aggressive and proactive approach.
    • During the 2 months, I drove my mom all over the Houston area. We had appointments in Kingwood, Tomball, Woodlands, Spring. I asked for anything within a 50 mile radius. I made multiple calls to the insurance companies and Medicare. I genuinely feel that it made a huge difference in how quickly she was able to complete all her tests / labs and receive her first chemotherapy infusion treatment.
  3. Keep thorough notes of any interaction you have with nurses, doctors, different specialists, insurance companies, lab technicians, scheduling.
  4. Do not feel bad for repeating the same information to EVERYONE. It is important to make sure everyone is aligned and every specialist, doctor, lab, knows everything you know.
  5. Advocate for yourself or your loved one with kindness and understanding. It is challenging not to take out our frustrations out on others, but important to keep in mind that everyone is just human and working in the confines of their jobs.
  6. Confide in trusted family / friends. Dealing with all of these health challenges can be overwhelming and isolating. Ask for help and take care of your own needs. It’s not selfish, it’s necessary!

The Ground Starts to Crack

Are blogs still a thing? A few months ago, while commuting to work, I starting thinking about keeping a journal to serve as a processing tool for myself. I decided to brush the cobwebs off this site and hijack it to use as an outlet. Maybe others will find my experiences helpful.

Here we go…

In March of 2024, while vacationing in New York for Spring Break, my mom started complaining about heartburn. The discomfort continued after we returned home, so she went to her doctor who suggested that she start taking Pepcid AC. After return visits with no improvement, my mom was eventually referred to a gastroenterologist (GI) who prescribed acid reflex medication, advised her to eat small meals, and avoid spicy or greasy foods. After numerous visits to her GI with no relief, she was informed that she had some gallstones. Her gallbladder was removed on July 26, 2024. She still continued to experience digestive challenges. She complained that her food felt like it would get stuck in her throat and she had to drink a lot of water to force it down. Her portions were so small and the variety of food she ate became so limited she was starting to lose weight. After a scan of her esophagus, she was told it was inflamed and was prescribed pantoprazole at the beginning of August 2025. After about 2 weeks of taking the pantoprazole, she started feeling tired and noticed her abdomen swelling. She did some research online and noticed that stomach swelling was a side effect of the medication so she decided to stop taking the medicine (RECOMMENDATION: speak with the prescribing doctor about any side effects you may be having prior to stopping said medication as some medications require the patient to wean off of it to prevent more adverse side effects)

After my mom discontinues the medicine, she continues to feel discomfort. After a visit with her primary care (PCP), the PA diagnoses her with a urinary tract infection (UTI) and prescribes antibiotics. At that time, she mentions that her abdomen felt swollen. The PA noted that she had gained 6 lbs. since the last time she had been seen and it was probably just weight gain. This was a dismissive response to her concern! When she told me his response, I decided I needed to get involved. I suggested going to the Emergency Room (ER) but she wanted to see if the antibiotics would help. She finished the antibiotics and could urinate without discomfort but still felt “off” so she scheduled a follow up appointment. I told her we should just go to the ER because she should not suffer over the weekend, but she insisted to wait for her scheduled doctor appointment on Monday.

On August 25th, 2025 I experienced first hand how challenging it is to navigate the US healthcare system. I took the day off work and went with my mom to her PCP appointment. I told him that her stomach swelling was abnormal. I questioned how the rest of her could look so gaunt and her stomach be so distended. Something was wrong. We brought up our concerns about the pantoprazole medication that she stopped taking. He recommended that she take magnesium citrate to relieve possible bloating and constipation and also submitted a referral for an abdominal CT scan. (RECOMMENDATION: ask for a printout of ALL the medications each doctor has on file). The PCP was naively hopeful that we would be able to get the CT scheduled that same day. After calls to the insurance company, the imaging center, and a request for an updated referral from the PCP, the earliest date we could schedule the CT scan was Thursday, August 28. (RECOMMENDATION: if you are planning to call the insurance company on behalf of a patient, request a HIPPA form to be mailed to the patient so they can fill it out and give you authorization to speak on their behalf. Their verbal authorization is only valid for 7 days).

On Thursday, 8/28/25, I take my mom to get a CT scan and the PCP gets the results and confirms that her abdomen is filled with fluid so asks her to come in and get some bloodwork done. She is told that they will call her with the results, probably on Monday. The PCP states that if she is not in any pain and does not have fever there is no need to go to the ER.

Fri. 8/29 -Before going to work, I check on my mom and she tells me she isn’t in pain but is feeling “weird” and had to take 2 Ibuprofen every couple of hours throughout the night. She was not in pain, just extremely uncomfortable. Also, my cousin got in touch with her and shared sad news that her sister had passed away earlier in the month. My brain cannot even process that news so we put a pin in that and I order her to get dressed so I can take her to the ER. The ER performs a CT scan and runs some bloodwork. The ER doctor notes her esophagus is incredibly inflamed and she has signs of liver and/or heart failure with dangerously low sodium levels (seizure inducing). She is admitted into the hospital. The hospital performs a paracentesis and extracts out 6.7 liters of fluid from my mother’s abdomen. When she was admitted into the hospital, she weighed 124, after the procedure, her weight was 109…what in the actual…?!? My mom received a voicemail from her PCP while we are in the ER. Apparently they received the bloodwork results and noticed the low sodium and recommended that my mom go to the ER immediately (ANNOYING).

It happened to be Labor Day weekend, so things moved slow at the hospital. During her hospital stay, she is seen by two specialists: a gastroenterologist and a nephrologist. The doctors will not release her, they continue bloodwork and monitoring and schedule an endoscopy procedure on Tuesday (9/2/25). Frustratingly enough, the endoscope showed nothing concerning so the doctor discharged my mom that same day. After 5 days in the hospital, they sent us on our merry way. The staff did not even offer her a wheelchair to the car. After days of being labeled a fall risk, they just expected her to walk herself all the way downstairs to the car…how bizarre!

Her hospital discharge paper was covered with scary words: Liver Cirrhosis, Congestive Heart Failure. My mom does not drink alcohol and aside from having diabetes and high blood pressure, her heart health has never been a concern. The hospital staff stabilized my mother and now we owned the responsibility to follow up with her PCP, gastroenterologist, & nephrologist. I had to request a cardiologist referral from the PCP, because for some reason even with the congestive heart failure note, the hospital had not assigned my mom a cardiologist during her hospital stay.

ODTUG Kscope18: Through a Newbie’s Eyes

(For my friends who requested a review of the Walt Disney World Dolphin Hotel, feel free to scroll to the end of this post.)

There is one word that I will use to describe my ODTUG Kscope18 experience:  WOW!  I am so grateful to have had the opportunity to participate in this year’s conference.

When I was 11 years old, I took a family trip from Texas to Taiwan.  (I was born in Taiwan, but have lived in the U.S. since the age of 3.)  I remember getting off the airplane, walking around the airport, and being in awe as I looked out on a crowd full of individuals who looked like me!  I immediately felt a sense of belonging amongst these strangers.  This is EXACTLY how I felt at the ODTUG Kscope18 Conference!  It was awesome to be surrounded by individuals who were so knowledgeable and passionate about the technology that is such a large part of my daily world.  It was surreal to meet the people behind the blogs / tweets and shake the hands of these “celebrities”!

I survived 5 FULL conference days (Sat. 6/9 – Wed. 6/13) and my fingers are crossed that I am able to attend Kscope19 in Seattle, Washington!

DAY 1 – Saturday 06/09/2018

Community Service Day

CommunityServiceDay

I debated whether or not I should arrive a day earlier to participate in this event, and I do not regret being able to give a few hours of my time to help a worthy organization (UP Orlando).  Community Service Day was a perfect introduction to Kscope18 and it served as a nice ice breaker to meet fellow ODTUG-ers.  After we returned to the hotel, I helped with “bag stuffing” (conference attendees received a bag of swag).  It was neat to be a little part of the magic behind the curtain of Kscope18.

Registration

Registration

This served as a preview of the AWESOME week ahead of me.  I was blown away by the magnitude of this conference.  Several people had come from all around the world!  There were so many interesting sessions, hands on labs, panels, & exciting social events.

In the evening, I enjoyed an impromptu dinner with a group of individuals who were intelligent, friendly, and full of interesting stories.  It was a great way to end my Day 1.

DAY 2 – Sunday 06/10/2018

Symposiums

After enjoying breakfast catching up with a friend, I attended two of the numerous Symposiums scheduled.  I highly recommend attending these to stay informed, especially if you are interested in what is on the horizon for your respective technologies.

Exhibit Booth Setup

Booth

I wonder how many conference attendees also get to experience the conference as an Exhibitor; I was happy to take advantage of this opportunity as a first-timer.  Helping my team setup the US-Analytics booth was a small price to pay to be allowed into the Exhibit Hall before the crowd during Breaks and Happy Hour!

Ambassador Meeting

ODTUG Kscope Ambassadors are in charge of handing out session evaluations, collecting them, and turning them into the registration desk.

Perks:

  • Chance to win a free conference pass for next year’s Kscope.
  • Chance to personally meet the presenter(s)
  • Collect Ambassador pins – I earned 3!
  • Be directly involved in the conference experience

Newcomers’ Orientation

ODTUG Board of Directors introduced themselves and provided a quick overview of Kscope18 and what participants could expect.  There were lots of friendly people, willing to answer questions.  Numerous people had attended 7 or more prior Kscope Conferences!

Welcome Reception – Be Our Guest!

WelcomeReception

Attendees were encouraged to dress up as their favorite character.  This was a fun way to explore the Exhibit Hall.  With some inspiration from the web and the help of my Silhouette CAMEO 3 craft cutter, my Lilo (Lilo & Stitch) costume was a snap to put together.

Costume

WelcomeReception2

DAY 3 – Monday 06/11/2018

General Session

So entertaining!  I really enjoyed learning about Dr. Heather Knight‘s (the keynote speaker) work with robotics.  And kudos to the ODTUG Board of Directors for the success of their hilarious introduction video, haha!

Sessions / Break / Sessions / Lunch / Sessions / Happy Hour

So many wonderful sessions, so little time.  There is no shortage of content at the conference.  The hardest part was deciding which sessions to attend.

Helpful Tips:

  • Download and leverage the ODTUG Kscope App
  • Some sessions are recorded (the app will let you know which ones are recorded)
  • Take the time to plan out your daily schedule and use the app to keep you on track.
  • Session Evaluations can be submitted from the app.
  • I believe paid ODTUG members have access to the Kscope18 presentations.

Community Night Events

Each of the 4 ODTUG Communities (APEX, BI, Database, and EPM) hosted their own Community Night.  It was a cool way to network with peers and make new friends.  I attended the EPM Speed Networking and LipSync Battle.  I was invited to join one of the LipSync Battle teams and initially chickened out.  But after I watched them practice the night before, I knew I had to be a part of this fun group.  These amazing people made this an epic event!

lipSync

Happy Birthday to Me!

The conference is a great place to be reunited with people you may not see often.  I enjoyed catching up with long-time friends, who treated me to dinner to celebrate my birthday.  After an action packed day, I returned to my hotel room to find this beautiful bouquet waiting for me.  Hugs to my thoughtful friend for making me feel so loved!

birthday

DAY 4 – Tuesday 06/12/2018

5K Fun Run

Several people thought that I was crazy for signing up for a 5K with a 6:30 AM start time, including me!  My 5K buddies and the breathtaking sunrise (no filter) made this early event completely worthwhile.

5k

Sessions / Break / Lunch & Learn / Sessions / Happy Hour

I mostly attended sessions with EPM content, but crossed over to the Oracle APEX Community for my Lunch & Learn.  It was refreshing to witness so many people excited and happy to share knowledge.

Tuesday evening was the night for vendor dinners / happy hours.  I enjoyed a quiet productive evening, and managed to get work done and even got a little rest 🙂

DAY 5 – Wednesday 06/13/2018

ODTUG 2018 Leadership Program Class – Video Interview

I was honored to be 1 of the 5 individuals selected to be in the 2018 ODTUG Leadership Program Class It was a memorable experience and I highly recommend it to anyone interested in getting more involved in the ODTUG Community.  After breakfast, the Leadership Class and Program Coordinator participated in a video interview to recap our experiences.  Talk about feeling special!

VideoInterview

Sessions /Break / Sessions

It was another full day of great sessions.  I was able to participate in a couple of AM sessions before heading to the 2018 Leadership Program Presentation & Graduation.

Women In Technology (WIT) Luncheon

It seemed counter-intuitive to polarize the community into men and women, but after attending this luncheon, I understand the importance of these type of events.  Men were invited, and I think there ended up being at least 1 male assigned to each table.  The welcome speech given by Opal was so moving that I found myself getting emotional.  The format of this was incredibly effective.  Each table had a moderator and print-outs with different workplace scenarios.  I LOVED the conversation and hearing different perspectives on each of the scenarios.  I encourage men and women alike to participate in WIT events.  I found it enlightening and inspiring!

ODTUG 2018 Leadership Program Class – Presentation & Graduation

Graduation

We enjoyed the commencement speech delivered by our special guest and then it was show time.  Every Leadership Program Class is assigned a special project.  We found ours to be challenging because there was no right or wrong answer.  I think all of us were a little bit nervous, but the ODTUG Board Members were engaged and everyone enjoyed the open dialog.  It was an empowering experience!

Special Event – Andretti Indoor Karting & Games

neon

We were instructed to get our neon on…and I DID!  This was a fun way to end my Kscope18 experience.  I had a 7am flight home the next day so opted out of the after party.  I heard it was a blast and many danced the night away.

Overall, it was an amazing week.  I learned so much and met so many wonderful people.  If you have never attended a ODTUG Kscope Conference, I highly recommend you look into checking out Kscope19 next June.

 

Walt Disney World Dolphin Hotel – Review

dolphin1

The Dolphin is an older hotel but it is nice and well maintained.   I mostly stayed in the conference area of the hotel, but did do a little bit of exploring the first day.  I did not visit any of the Disney Parks or Universal during my stay, so I do not have a lot of information to share on that topic.

Interesting fact:  While the WDW Dolphin & Swan is on Disney property, it is not a Disney owned hotel.  It is owned by Sheraton.

Dining:  Between the two hotels, there are plenty of variety in fine dining options.  There were not a lot of low-key (less expensive) dining options, but I think this is to be expected.  You can walk (less than 5 mins) between the Dolphin and the Swan, so it is convenient to get to restaurants in either hotel.

Room:  There was a fridge in the room and they provide 2 bottles of complimentary water a day.  The bed was comfortable and the rooms were clean.

Entertainment:  The hotel had a list of daily activities for families to enjoy.  The Boardwalk is right across the bridge and features more dining and entertainment.

Transportation:  There is a water bus that will take you across to Epcot.  And there is a shuttle that will take you to the Magic Kingdom and I assume the other Disney Parks (I do not know for sure).  I ended up Uber-ing to and from the airport, but the hotel has a shuttle service (Mears Transportation Orland) you can make reservations prior to arrival to handle your round-trip airport needs.  It does end up being a little cheaper than Uber.

Shopping:  There was a store in the Dolphin that sold Disney merchandise.

Pool:  Not very elaborate, but the kids there seemed to be enjoying themselves.

Disney Concierge:  The Dolphin had a concierge desk that you could go to for information and tickets to the parks. 

Below is a view overlooking The Swan and The Boardwalk from a suite in The Dolphin.  Notice the walkway between the two hotels.dolphin

When Logic and Structure Does Not Apply

Working with technology is mostly predictable.  There are clearly defined lines when it comes to what and how something will behave.  Sure, there are various ways to solution a problem.  But while the individual methodology chosen can vary, there are still rules that apply (syntax, functions, structure, logic).  Understanding these “rules” can make all the difference when it comes to problem solving.

Life, however, is not so easy to troubleshoot.  Yesterday was a tough day for my family.  We said goodbye to our dog Eli.  He had begun showing signs of renal failure a few weeks before.  Eli was disinterested in both food and water.  The doctors were able to control his dehydration through IV fluids and the vet and vet techs assist-fed him.  Unfortunately, even on three of the strongest anti-nausea medications Eli was unable to keep anything down.  He spent the weekend in the ER but with no improvement.  On Monday, his vet and I made the decision to end his suffering.

Eli was the sweetest dog.  He was loved by our family and many friends.  Even children who were frightened of dogs, quickly bonded with Eli.  He was gentle, loving, and happiest when cuddled up in a warm, welcoming lap.  Eli was my couch buddy as well as my work buddy.  Whether it was decompressing from the day or stressful nights working in front of the computer, Eli could be found by my side.  He welcomed the many additions to my life, first my husband when I got married and then my sons.  Admittedly, my sons diverted my attention from him, but what he lacked from me, he gained from the boys.  They loved him so much and would often fight over who got to take him outside or love on him.  He was the perfect dog for our family, both loving and patient.

Eli spent a couple of hours at home on Monday morning between the ER and his regular doctor.  I am so grateful for that time, both boys got to love on him before school.  He rested comfortably in our laps.  The boys knew he would be returning to the doctor, but did not fully comprehend that their goodbye that morning could be the last.  I was still holding out some hope as I drove him to the vet.  As I waited for his final lab results, he grew increasingly uncomfortable in my lap as his pain medication was wearing off.  We discussed possible options, but none seemed fair to Eli.  He deserved to be at peace.

Breaking the news to my sons was beyond difficult.  My three year old did not understand.  He processed the loss in his own way, he kept saying, “Eli is dead, he’s gone forever, we will never see him again.” all the while asking for confirmation and questioning, “Why?”  He knows the family is sad, and that he should feel sad too, but he is too young to grasp the concept of death.  My seven year old on the other hand is heartbroken.  He had bouts of sadness throughout the night and cried himself to sleep.  He even started to wonder about his own mortality.  These are the life moments that are so very gray, there is no right thing to say to console someone.  There are no formulas, scripts, rules to follow, the only thing I could do was be in the moment with him, be sad with him, and so we just cried together.

My son told me how much he missed him, how he wished that he could hold Eli in his lap.  I told him “The people and animals that move on, are at peace. There is no more suffering for them.  It’s the people who are left behind that feel the sadness and hurt.  So don’t feel bad for Eli.  Eli was very loved.  Eli was very lucky to be loved by him and he knew and felt it.”  And then my son, through heart wrenching sobs said this, “My…heart…is…broken…I…feel…so…sad…I…feel…like…I…am…the…luckiest…boy…to…have…Eli…as…my…dog.”  I could not have expressed this sentiment better.  I was lucky to be Eli’s person, to have his unconditional love and companionship.  Rest in peace Eli.  We love you!

eli

FDMEE Tutorial: Using a Source Adapter Parameter to Filter Data

Financial Data Quality Management Enterprise Edition (FDMEE) and Oracle Data Integrator (ODI) are useful products with lots of features. The various menus, options, and setup screens within FDMEE and ODI can be overwhelming.  Which is why I was intimidated when initially challenged with the task of leveraging FDMEE parameters to filter data sets, but the task turned out to be a great learning experience.  Going through the process really helped me gain a better understanding of the relationship between FDMEE and ODI objects.

NOTE: The steps below will not walk through installing or setting up FDMEE.  The assumption is that the environment is already setup and running with working source and targets.  

OBJECTIVE

Provide users with the option of filtering data based on account type. In this particular example, users can choose to include or exclude Income Statement accounts in their data load.

  • Accounts (Level 0) are 5 digit numbers
  • Non-Income Statement Accounts (Balance Sheet) begin with 1,2,3,4

Step 1: Add Parameter to a Source Adapter (FDMEE)

A. On the Setup tab, click on Source Adapter

B. Select the desired Source Adapter (SOURCEEX in this example)

C. On the Parameters tab, click on Add

D. Parameter Name: p_incl_inc_stmnt

E. Parameter Data Type: Char

F. Parameter Prompt: Include Income Statement

1sourceadapter

Step 2: Make Note of Source Adapter Details (FDMEE)

A. ODI Package Name: ODI_Package_Ex

B. ODI Project Code: OEX

2sourceadapter

Step 3: Input Value into Parameter (FDMEE)

A. On the Workflow tab, click on Data Load Rule

B. Select the desired POV (Location: LocationEX in this example)

– Location selected must be setup with the Source associated with the Source Adapter the Parameter was added to in Step 1.

 C. On the Source Options tab, notice the “Include Income Statement” property

– This will mirror the value entered in Step 1F > Parameter Prompt: Include Income Statement

D. Include Income Statement: Y

– Y = Yes, Include Income Statement Accounts

-N = No, exclude Income Statement Accounts

3dataloadrule

Step 4: Locate the Appropriate ODI Project (ODI)

 A. On the Designer tab, locate the ODI Project that correlates to the ODI Project Code associated with the Source Adapter from Step 2B > ODI Project Code: OEX

4projectcode

Step 5: Add ODI Project Variable (ODI)

A. On the Designer tab, expand the Project folder identified in Step 4

B. Add a new ODI Project Variable: p_incl_inc_stmnt

– Name: p_incl_inc_stmnt

* To keep things simple, set the variable name to mirror the value entered in Step 1D > Parameter Name: p_incl_inc_stmnt

– Datatype: Alphanumeric

– Keep History: Latest Value (Default, feel free to change)

– Default Value: 0 (Leave blank or set to Y or N)

5variable1

Step 6: Link ODI Project Variable to FDMEE Source Adapter Parameter (ODI)

A. On the Refreshing menu of the ODI Project Variable created in Step 5, select the appropriate Schema and enter the following code into the Select Query window:

f_get_param_value(‘p_incl_inc_stmnt’)

– This reference to ‘p_incl_inc_stmnt’ in the code above is a direct reference to the FDMEE Source Adapter Parameter created in Step 1 > Parameter Name: p_incl_inc_stmnt

6variable2

Step 7: Locate the Appropriate ODI Package (ODI)

A. On the Designer tab, locate the ODI Package that correlates to the ODI Package Name associated with the Source Adapter from Step 2A > ODI Package Name: ODI_Package_Ex

7packageoverview

Step 8: Add the ODI Project Variable to the Appropriate ODI Package (ODI)

A. Click on the Diagram tab of the ODI Package identified in Step 7.

B. Add the ODI Project Variable p_incl_inc_stmnt from Step 5 & 6

C. Variable Type: Refresh Variable

D. Order and link variable to other package objects as desired

8packagediagram

Step 9: Modify the ODI Interface to Include Filter (ODI)

A. Click on the Diagram tab of the ODI Package identified in Step 7.

B. Identify the appropriate ODI Interface that is responsible for the data load into FDMEE (ERPI Open Interface to ERPI Balances in this example)

C. Create the filter on the source column that houses Accounts (COL01 in this example)

– Input suitable code / logic to achieve the desired filter results, I leveraged the following code for the filter:

9filtercode

– Based on the above logic:

* If the Parameter Value in Step 3D was set to ‘Y’ then all accounts would be considered VALID (part of the data result set)

* If the Parameter Value in Step 3D was set to ‘N’ then only accounts beginning with a 1,2,3 or 4 would be considered VALID (part of the data result set)

9interface

Step 10: Regenerate ODI Scenario

To ensure the change is stored in the Scenario when FDMEE executes, be sure to regenerate the ODI Scenario corresponding to the modified package.

Once all the FDMEE and ODI objects have been successfully setup and saved, the user will then be able to filter the data set by updating the parameter value on the Data Load Rule menu in FDMEE and clicking on the Execute button.

This is just one example of how to leverage FDMEE Source Adapter Parameter, there are numerous ways to utilize this cool feature!

Toughest Interview This Year

As a Consultant, I often have to interview clients.  I have learned from experience to do the following:

  • Ask open-ended questions
  • Ask strategic follow-up questions
  • Build rapport
  • Participate in active listening
  • Be interested / friendly

Well…Yesterday was the first day of school for my first grader.  I was excited to hear all about his day but he had few words.  Ok…not a problem for a Consultant who has to obtain information from strangers frequently, right?  WRONG!  Turns out, these skills are useless when talking to my first grader.

Me:  How was your day?

Son:  Good.

Me:  Ok.  What did you do in class?

Son:  Um…I dunno…stuff.

Me:  Well, like what?

Son:  I can’t remember.

Me:  Do you like your first grade teacher?

Son:  I guess.

Much of the rest of the conversation continued at this pace…FAIL!  The only time I received more than a 3 word answer was when he told me how happy he was to find the note I packed for him in his lunch.  At least there’s that 🙂  My suggestion for anyone interested in improving their soft skills, practice by interviewing my son, ha!

The lunch note…WIN!

pikachu

 

DRM Tutorial: Bulk Inserting DRM Users

Disclaimer: Not recommended / endorsed by Oracle.  Follow these steps at your own risk.

Note: The below steps were used for an environment using MS SQL Server.

Recently, I was tasked with adding Users to DRM. The list contained almost TWO HUNDRED users!  Using the below three windows to input the users one by one was not a viable option in my opinion, instead I was able to bulk insert the users into DRM. Work smart whenever possible!

DRM_Users01

DRM_Users02

DRM_Users03

Bulk inserting DRM Users involves modifying / writing to back-end database tables. In addition to READ access to the DRM relational tables, you will also need WRITE access to the following 6 tables:

  • RM_User
  • RM_User_Role
  • RM_Category_User
  • RM_Object_Access_Group
  • RM_Object_Access_Group_User
  • DAL_Sequence

In the following example, users will be added to DRM and assigned the “Workflow User” role.

 

Step A: Backup DB Tables

As a general rule of thumb, it is always a good idea to backup database tables before modifying them.

 

Step B: Acquire Pertinent Pieces of Information

Because we will be inserting records into tables that contain primary keys and foreign keys, it will be important to do a little detective work.

  1. Determine the i_role_id key for the role you will be assigning to the users.
    • Execute the following query:
      SELECT * FROM RM_Role
    • Results:
      RM_Role
    • i_role_id for “Workflow User” –> 102
  2. Determine the beginning number to assign to the i_user_id key for input into the RM_User table
    • Execute the following query:
      SELECT MAX(i_user_id)+1 FROM RM_User
    •  Results:
      DRM_2B
    • MAX(i_user_id) + 1 –> 362
  3. Determine the beginning number to assign to the i_access_group_id key for input into the RM_Object_Access_Group table
    • Execute the following query:
      SELECT MAX(i_access_group_id)+1 FROM RM_Object_Access_Group
    •  Results:
      DRM_2C
    • MAX(i_access_group_id) + 1 –> 316

 

 Step C: Create data files for import into the following 5 tables

DRM_Users04I chose to create the data files for each table with specific fields in separate tabs within Excel, as shown below:

DRM_Users05

  1. Populating RM_User dataDRM_4A
    • Not ALL fields in the RM_User table are required for each user added. I got away with only inputting data into the above 9 fields.
    • The number sequence for the i_user_id field will begin with the value derived in Step B2 –> MAX(i_user_id) + 1 –> 362
  2. Populating RM_Category_User data
    DRM_4B

    • In the environment I was working with, i_category_id = -1 represents System and the access level required for the users is Read. If different categories and access levels are required for your purposes, adjust the data to suit your needs.
    • The number sequence for the i_user_id field will begin with the value derived in Step B2 –> MAX(i_user_id) + 1 –> 362
  3. Populating RM_Object_Access_Group data
    RM_Object_Access_Group

    • The number sequence for the i_access_group_id field will begin with the value derived in Step B3 –> MAX(i_access_group_id) + 1 –> 316.
  4. Populating RM_Object_Access_Group_User data
    RM_Object_Access_Group_User 

    • The number sequence for the i_access_group_id field will begin with the value derived in Step B3 –> MAX(i_access_group_id) + 1 –> 316
    • The number sequence for the i_user_id field will begin with the value derived in Step B2 –> MAX(i_user_id) + 1 –> 362
  5. Populating RM_User_Role data
    RM_User_Role

    • The number sequence for the i_user_id field will begin with the value derived in Step B2 –> MAX(i_user_id) + 1 –> 362
    • The i_role_id will be set for the value derived in Step B1 –> i_role_id for “Workflow User” –> 102

Step D: Import / Insert the prepared user data from prior Step into the DRM tables

I leveraged the Microsoft SQL Server Management Studio Import and Export Wizard.

  1. Import the data for the RM_User and RM_Object_Access_Group tables first.
  2. Import the data for the remaining 3 tables:
    • RM_User_Role
    • RM_Category_User
    • RM_Object_Access_Group_User

 

Step E: Reset Database Sequence Numbers  

  1. Determine the max i_user_id key in the RM_User table
    • Execute the following query:
      SELECT MAX(i_user_id) FROM RM_User
    • Results:
      371
    • MAX(i_user_id) –> 371
  2. Determine the max i_access_group_id key in the RM_Object_Access_Group table
    • Execute the following query:
      SELECT MAX(i_access_group_id) FROM RM_Object_Access_Group
    • Results:
      371 (2)
    • MAX(i_access_group_id) –> 325
  3. Execute the following update statements:
    • UPDATE DAL_SEQUENCE
      SET i_id = 371
      WHERE c_key = ‘i_user_id’
      and c_primary_table = ‘RM_User’
    • UPDATE DAL_SEQUENCE
      SET i_id = 325
      WHERE c_key = ‘i_access_group_id’
      and c_primary_table = ‘RM_Object_Access_Group’

 

Step F: Restart Oracle DRM Service
DRMService

 

Step G: Verify Users Were Added Successfully
UserRoleConfirmation


Step H: Confirm Users Roles Associated to Users Are Correct
 RoleConfir

 

Getting My Blog On

After over thirteen years in the tech industry and over six years of EPM experience, I am jumping on the “blog” bandwagon.  Expect to see tutorials on EPM topics that I have found useful as well as random anecdotes relating to my attempts at maintaining a sane work-life balance!  I welcome constructive feedback, and am always open to learning different / improved ways to tackle challenges.